diff --git a/.github/workflows/dev_cippckdtz.yml b/.github/workflows/dev_cipp4i6t3.yml similarity index 87% rename from .github/workflows/dev_cippckdtz.yml rename to .github/workflows/dev_cipp4i6t3.yml index c81980006ad4..88825a14b52c 100644 --- a/.github/workflows/dev_cippckdtz.yml +++ b/.github/workflows/dev_cipp4i6t3.yml @@ -1,7 +1,7 @@ # Docs for the Azure Web Apps Deploy action: https://github.com/azure/functions-action # More GitHub Actions for Azure: https://github.com/Azure/actions -name: Build and deploy Powershell project to Azure Function App - cippckdtz +name: Build and deploy Powershell project to Azure Function App - cipp4i6t3 on: push: @@ -24,7 +24,7 @@ jobs: uses: Azure/functions-action@v1 id: fa with: - app-name: 'cippckdtz' + app-name: 'cipp4i6t3' slot-name: 'Production' package: ${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }} - publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_726578DA8A7243BF9D82FE123C2F6E7F }} \ No newline at end of file + publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_9D257A31ACA24925A112AF5FFC2BEAFE }} \ No newline at end of file diff --git a/.github/workflows/dev_cippz6s4d.yml b/.github/workflows/dev_cippkkxvm.yml similarity index 87% rename from .github/workflows/dev_cippz6s4d.yml rename to .github/workflows/dev_cippkkxvm.yml index d58532dffc2f..665a3bcf8afa 100644 --- a/.github/workflows/dev_cippz6s4d.yml +++ b/.github/workflows/dev_cippkkxvm.yml @@ -1,7 +1,7 @@ # Docs for the Azure Web Apps Deploy action: https://github.com/azure/functions-action # More GitHub Actions for Azure: https://github.com/Azure/actions -name: Build and deploy Powershell project to Azure Function App - cippz6s4d +name: Build and deploy Powershell project to Azure Function App - cippkkxvm on: push: @@ -24,7 +24,7 @@ jobs: uses: Azure/functions-action@v1 id: fa with: - app-name: 'cippz6s4d' + app-name: 'cippkkxvm' slot-name: 'Production' package: ${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }} - publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_D27E7CF0887F4E4591F3957CCA96F0FD }} \ No newline at end of file + publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_171C3E2B1E2346AAA333905DFCA62F2D }} \ No newline at end of file diff --git a/.github/workflows/dev_cippkwn4s-auditlog.yml b/.github/workflows/dev_cippkwn4s-auditlog.yml new file mode 100644 index 000000000000..b27c1832c8c6 --- /dev/null +++ b/.github/workflows/dev_cippkwn4s-auditlog.yml @@ -0,0 +1,30 @@ +# Docs for the Azure Web Apps Deploy action: https://github.com/azure/functions-action +# More GitHub Actions for Azure: https://github.com/Azure/actions + +name: Build and deploy Powershell project to Azure Function App - cippkwn4s-auditlog + +on: + push: + branches: + - dev + workflow_dispatch: + +env: + AZURE_FUNCTIONAPP_PACKAGE_PATH: '.' # set this to the path to your web app project, defaults to the repository root + +jobs: + deploy: + runs-on: windows-latest + + steps: + - name: 'Checkout GitHub Action' + uses: actions/checkout@v4 + + - name: 'Run Azure Functions Action' + uses: Azure/functions-action@v1 + id: fa + with: + app-name: 'cippkwn4s-auditlog' + slot-name: 'Production' + package: ${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }} + publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_4CBFBE8BE62240D789C371767B49278E }} \ No newline at end of file diff --git a/.github/workflows/dev_cippacnqv.yml b/.github/workflows/dev_cippkwn4s.yml similarity index 73% rename from .github/workflows/dev_cippacnqv.yml rename to .github/workflows/dev_cippkwn4s.yml index 67a58b70c7ff..f45e9d0712fd 100644 --- a/.github/workflows/dev_cippacnqv.yml +++ b/.github/workflows/dev_cippkwn4s.yml @@ -1,7 +1,7 @@ # Docs for the Azure Web Apps Deploy action: https://github.com/azure/functions-action # More GitHub Actions for Azure: https://github.com/Azure/actions -name: Build and deploy Powershell project to Azure Function App - cippacnqv +name: Build and deploy Powershell project to Azure Function App - cippkwn4s on: push: @@ -23,17 +23,17 @@ jobs: uses: actions/checkout@v4 - name: Login to Azure - uses: azure/login@v1 + uses: azure/login@v2 with: - client-id: ${{ secrets.AZUREAPPSERVICE_CLIENTID_6085081ED1124B799258E9FF743FF4B9 }} - tenant-id: ${{ secrets.AZUREAPPSERVICE_TENANTID_9BDB2DDBFAFA4BC19C20A58B204BFAF3 }} - subscription-id: ${{ secrets.AZUREAPPSERVICE_SUBSCRIPTIONID_02B5224812794971B05EDD557AF2B867 }} + client-id: ${{ secrets.AZUREAPPSERVICE_CLIENTID_B6BCC8886F40482FB8B43907FCDA6596 }} + tenant-id: ${{ secrets.AZUREAPPSERVICE_TENANTID_0D1C65B9099F48FABDF7F7052EA6887F }} + subscription-id: ${{ secrets.AZUREAPPSERVICE_SUBSCRIPTIONID_76518AE5ECB34375A414DEEE1119C161 }} - name: 'Run Azure Functions Action' uses: Azure/functions-action@v1 id: fa with: - app-name: 'cippacnqv' + app-name: 'cippkwn4s' slot-name: 'Production' package: ${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }} \ No newline at end of file diff --git a/.github/workflows/ninjaone_cipp426ns.yml b/.github/workflows/dev_cipplwwww-proc.yml similarity index 79% rename from .github/workflows/ninjaone_cipp426ns.yml rename to .github/workflows/dev_cipplwwww-proc.yml index 6df7b1bab0e9..d5f9c210f7e0 100644 --- a/.github/workflows/ninjaone_cipp426ns.yml +++ b/.github/workflows/dev_cipplwwww-proc.yml @@ -1,29 +1,30 @@ # Docs for the Azure Web Apps Deploy action: https://github.com/azure/functions-action # More GitHub Actions for Azure: https://github.com/Azure/actions -name: Build and deploy Powershell project to Azure Function App - cipp426ns +name: Build and deploy Powershell project to Azure Function App - cipplwwww-proc on: push: branches: - - NinjaOne + - dev workflow_dispatch: env: AZURE_FUNCTIONAPP_PACKAGE_PATH: '.' # set this to the path to your web app project, defaults to the repository root jobs: - build-and-deploy: + deploy: runs-on: windows-latest + steps: - name: 'Checkout GitHub Action' - uses: actions/checkout@v2 - + uses: actions/checkout@v4 + - name: 'Run Azure Functions Action' uses: Azure/functions-action@v1 id: fa with: - app-name: 'cipp426ns' + app-name: 'cipplwwww-proc' slot-name: 'Production' package: ${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }} - publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_198DAF92160A4302B5AA0C145DE72796 }} + publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_B8CE64E970E74E6AB2D6655823D95B1A }} \ No newline at end of file diff --git a/.github/workflows/dev_cipppwrro.yml b/.github/workflows/dev_cipplwwww.yml similarity index 81% rename from .github/workflows/dev_cipppwrro.yml rename to .github/workflows/dev_cipplwwww.yml index ad786fd522fe..7fe7c6279bb1 100644 --- a/.github/workflows/dev_cipppwrro.yml +++ b/.github/workflows/dev_cipplwwww.yml @@ -1,7 +1,7 @@ # Docs for the Azure Web Apps Deploy action: https://github.com/azure/functions-action # More GitHub Actions for Azure: https://github.com/Azure/actions -name: Build and deploy Powershell project to Azure Function App - cipppwrro +name: Build and deploy Powershell project to Azure Function App - cipplwwww on: push: @@ -13,17 +13,18 @@ env: AZURE_FUNCTIONAPP_PACKAGE_PATH: '.' # set this to the path to your web app project, defaults to the repository root jobs: - build-and-deploy: + deploy: runs-on: windows-latest + steps: - name: 'Checkout GitHub Action' - uses: actions/checkout@v2 - + uses: actions/checkout@v4 + - name: 'Run Azure Functions Action' uses: Azure/functions-action@v1 id: fa with: - app-name: 'cipppwrro' + app-name: 'cipplwwww' slot-name: 'Production' package: ${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }} - publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_9E109464904540339CA94F283ACE1312 }} + publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_00A9A6DFE9244C2EA8952190FFF10F45 }} \ No newline at end of file diff --git a/Activity_AddOrUpdateTableRows/function.json b/Activity_AddOrUpdateTableRows/function.json deleted file mode 100644 index f87c62c534f8..000000000000 --- a/Activity_AddOrUpdateTableRows/function.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "bindings": [ - { - "name": "TableParams", - "type": "activityTrigger", - "direction": "in" - } - ] -} diff --git a/Activity_AddOrUpdateTableRows/run.ps1 b/Activity_AddOrUpdateTableRows/run.ps1 deleted file mode 100644 index adc07df73e23..000000000000 --- a/Activity_AddOrUpdateTableRows/run.ps1 +++ /dev/null @@ -1,12 +0,0 @@ -param($TableParams) -$TableName = ($TableParams.Context['TableName']) -$Table = Get-CippTable -tablename $TableName - -foreach ($param in $TableParams.Entity) { - try { - #Sending each item indivually, if it fails, log an error. - Add-CIPPAzDataTableEntity @Table -Entity $param -Force - } catch { - Write-LogMessage -API 'Activity_AddOrUpdateTableRows' -message "Unable to write to '$($TableParams.TableName)' Using RowKey $($param.RowKey)" -LogData (Get-CippException -Exception $_) -sev error - } -} diff --git a/Activity_GetAllTableRows/function.json b/Activity_GetAllTableRows/function.json deleted file mode 100644 index ce320a44c1a3..000000000000 --- a/Activity_GetAllTableRows/function.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "bindings": [ - { - "name": "name", - "type": "activityTrigger", - "direction": "in" - } - ] -} diff --git a/Activity_GetAllTableRows/run.ps1 b/Activity_GetAllTableRows/run.ps1 deleted file mode 100644 index db63ea61a8cb..000000000000 --- a/Activity_GetAllTableRows/run.ps1 +++ /dev/null @@ -1,6 +0,0 @@ -param($name) - -$Table = Get-CippTable -tablename $name -$Rows = Get-CIPPAzDataTableEntity @Table - -Write-Output $Rows \ No newline at end of file diff --git a/AddAlertSubscription_Queue/function.json b/AddAlertSubscription_Queue/function.json deleted file mode 100644 index 12e3dfc77c46..000000000000 --- a/AddAlertSubscription_Queue/function.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "scriptFile": "../Modules/CippEntryPoints/CippEntryPoints.psm1", - "entryPoint": "Receive-CippQueueTrigger", - "bindings": [ - { - "name": "QueueItem", - "type": "queueTrigger", - "direction": "in", - "queueName": "AlertSubscriptions" - } - ] -} diff --git a/AddChocoApp_OrchestrationStarter/function.json b/AddChocoApp_OrchestrationStarter/function.json deleted file mode 100644 index 14c44f4f0217..000000000000 --- a/AddChocoApp_OrchestrationStarter/function.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "bindings": [ - { - "authLevel": "anonymous", - "name": "Request", - "type": "httpTrigger", - "direction": "in", - "methods": [ - "post", - "get" - ] - }, - { - "type": "http", - "direction": "out", - "name": "Response" - }, - { - "name": "starter", - "type": "durableClient", - "direction": "in" - } - ] -} diff --git a/AddChocoApp_OrchestrationStarter/run.ps1 b/AddChocoApp_OrchestrationStarter/run.ps1 deleted file mode 100644 index 1053de0bd089..000000000000 --- a/AddChocoApp_OrchestrationStarter/run.ps1 +++ /dev/null @@ -1,21 +0,0 @@ -using namespace System.Net - -param($Request, $TriggerMetadata) -if ($CurrentlyRunning) { - $Results = [pscustomobject]@{"Results" = "Already running. Please wait for the current instance to finish" } - Write-LogMessage -API "ChocoApps" -message "Attempted to start upload but an instance was already running." -sev Info -} -else { - $InstanceId = Start-NewOrchestration -FunctionName 'Applications_Orchestrator' - Write-Host "Started orchestration with ID = '$InstanceId'" - $Orchestrator = New-OrchestrationCheckStatusResponse -Request $Request -InstanceId $InstanceId - Write-LogMessage -API "ChocoApps" -message "Started uploading applications to tenants" -sev Info - $Results = [pscustomobject]@{"Results" = "Started application queue" } -} -Write-Host ($Orchestrator | ConvertTo-Json) - - -Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ - StatusCode = [HttpStatusCode]::OK - Body = $results - }) \ No newline at end of file diff --git a/AddChocoApp_OrchestrationStarterTimer/function.json b/AddChocoApp_OrchestrationStarterTimer/function.json deleted file mode 100644 index d96b29b5a0ed..000000000000 --- a/AddChocoApp_OrchestrationStarterTimer/function.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "bindings": [ - { - "name": "Timer", - "type": "timerTrigger", - "direction": "in", - "schedule": "0 0 12 * * *" - }, - { - "name": "starter", - "type": "durableClient", - "direction": "in" - } - ] -} \ No newline at end of file diff --git a/AddChocoApp_OrchestrationStarterTimer/run.ps1 b/AddChocoApp_OrchestrationStarterTimer/run.ps1 deleted file mode 100644 index db6463ff1c29..000000000000 --- a/AddChocoApp_OrchestrationStarterTimer/run.ps1 +++ /dev/null @@ -1,19 +0,0 @@ -param($Timer) - -try { - if ($CurrentlyRunning) { - $Results = [pscustomobject]@{'Results' = 'Already running. Please wait for the current instance to finish' } - Write-LogMessage -API 'ChocoApps' -message 'Attempted to start upload but an instance was already running.' -sev Info - } - else { - $InstanceId = Start-NewOrchestration -FunctionName 'Applications_Orchestrator' - Write-Host "Started orchestration with ID = '$InstanceId'" - $Orchestrator = New-OrchestrationCheckStatusResponse -Request $Timer -InstanceId $InstanceId - Write-LogMessage -API 'ChocoApps' -message 'Started uploading applications to tenants' -sev Info - $Results = [pscustomobject]@{'Results' = 'Started running analysis' } - } - Write-Host ($Orchestrator | ConvertTo-Json) -} -catch { - Write-Host "AddChocoApp_OrchestratorStarterTimer Exception: $($_.Exception.Message)" -} diff --git a/AddMSPApp/Immybot.app.json b/AddMSPApp/Immybot.app.json index 8be12d944925..f7cd10d76101 100644 --- a/AddMSPApp/Immybot.app.json +++ b/AddMSPApp/Immybot.app.json @@ -7,7 +7,7 @@ "owner": " ", "informationUrl": " ", "privacyInformationUrl": " ", - "fileName": "ninjarmm.intunewin", + "fileName": "immybot.intunewin", "@odata.type": "#microsoft.graph.win32LobApp", "applicableArchitectures": "x86, x64", @@ -19,7 +19,7 @@ "detectionRules": [ { "@odata.type": "#microsoft.graph.win32LobAppFileSystemDetection", - "path": "%ProgramData%\\Immyboy\\Bin", + "path": "%ProgramData%\\Immybot\\Bin", "fileOrFolderName": "Immybot.exe", "check32BitOn64System": false, "detectionType": "exists" diff --git a/AddMSPApp/ninjarmm.app.json b/AddMSPApp/ninjarmm.app.json index 5cd567eaf210..e943331d8e3f 100644 --- a/AddMSPApp/ninjarmm.app.json +++ b/AddMSPApp/ninjarmm.app.json @@ -19,8 +19,8 @@ "detectionRules": [ { "@odata.type": "#microsoft.graph.win32LobAppFileSystemDetection", - "path": "%ProgramData%\\Syncro\\Bin", - "fileOrFolderName": "Syncro.Overmind.Service.exe", + "path": "%ProgramData%\\NinjaRMMAgent", + "fileOrFolderName": "ninjarmm-cli.exe", "check32BitOn64System": false, "detectionType": "exists" } diff --git a/Applications_GetQueue/function.json b/Applications_GetQueue/function.json deleted file mode 100644 index b31f1ad21352..000000000000 --- a/Applications_GetQueue/function.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "bindings": [ - { - "name": "name", - "type": "activityTrigger", - "direction": "in" - } - ] -} \ No newline at end of file diff --git a/Applications_GetQueue/run.ps1 b/Applications_GetQueue/run.ps1 deleted file mode 100644 index 44940eed384b..000000000000 --- a/Applications_GetQueue/run.ps1 +++ /dev/null @@ -1,6 +0,0 @@ -param($name) - -$Table = Get-CippTable -tablename 'apps' - -$Object = (Get-CIPPAzDataTableEntity @Table).RowKey -$object \ No newline at end of file diff --git a/Applications_Orchestrator/function.json b/Applications_Orchestrator/function.json deleted file mode 100644 index 7326b39c184d..000000000000 --- a/Applications_Orchestrator/function.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "bindings": [ - { - "name": "Context", - "type": "orchestrationTrigger", - "direction": "in" - } - ] -} \ No newline at end of file diff --git a/Applications_Orchestrator/run.ps1 b/Applications_Orchestrator/run.ps1 deleted file mode 100644 index ebf60eb55628..000000000000 --- a/Applications_Orchestrator/run.ps1 +++ /dev/null @@ -1,25 +0,0 @@ -param($Context) - -$DurableRetryOptions = @{ - FirstRetryInterval = (New-TimeSpan -Seconds 5) - MaxNumberOfAttempts = 3 - BackoffCoefficient = 2 -} -$RetryOptions = New-DurableRetryOptions @DurableRetryOptions - -try { - $Batch = (Invoke-ActivityFunction -FunctionName 'Applications_GetQueue' -Input 'LetsGo') - Write-Host $Batch - $ParallelTasks = foreach ($Item in $Batch) { - Invoke-DurableActivity -FunctionName 'Applications_Upload' -Input $item -NoWait -RetryOptions $RetryOptions - } - - $Outputs = Wait-ActivityFunction -Task $ParallelTasks - Write-Host $Outputs -} -catch { - Write-Host "Applications_Orchestrator exception: $($_.Exception.Message)" -} -finally { - Write-LogMessage -API 'ChocoApp' -Message 'Choco Application Queue: Deployment finished.' -sev Info -} \ No newline at end of file diff --git a/Applications_Upload/function.json b/Applications_Upload/function.json deleted file mode 100644 index b31f1ad21352..000000000000 --- a/Applications_Upload/function.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "bindings": [ - { - "name": "name", - "type": "activityTrigger", - "direction": "in" - } - ] -} \ No newline at end of file diff --git a/Applications_Upload/run.ps1 b/Applications_Upload/run.ps1 deleted file mode 100644 index b1aacdc41318..000000000000 --- a/Applications_Upload/run.ps1 +++ /dev/null @@ -1,115 +0,0 @@ -param($name) -$Table = Get-CippTable -tablename 'apps' -$Filter = "PartitionKey eq 'apps' and RowKey eq '$name'" -Set-Location (Get-Item $PSScriptRoot).Parent.FullName -$ChocoApp = (Get-CIPPAzDataTableEntity @Table -filter $Filter).JSON | ConvertFrom-Json -$intuneBody = $ChocoApp.IntuneBody -$tenants = if ($chocoapp.Tenant -eq 'AllTenants') { - (Get-tenants).defaultDomainName -} else { - $chocoapp.Tenant -} -if ($chocoApp.type -eq 'MSPApp') { - [xml]$Intunexml = Get-Content "AddMSPApp\$($ChocoApp.MSPAppName).app.xml" - $intunewinFilesize = (Get-Item "AddMSPApp\$($ChocoApp.MSPAppName).intunewin") - $Infile = "AddMSPApp\$($ChocoApp.MSPAppName).intunewin" -} else { - [xml]$Intunexml = Get-Content 'AddChocoApp\choco.app.xml' - $intunewinFilesize = (Get-Item 'AddChocoApp\IntunePackage.intunewin') - $Infile = "AddChocoApp\$($intunexml.ApplicationInfo.FileName)" -} -$assignTo = $ChocoApp.AssignTo -$AssignToIntent = $ChocoApp.InstallationIntent -$Baseuri = 'https://graph.microsoft.com/beta/deviceAppManagement/mobileApps' -$ContentBody = ConvertTo-Json @{ - name = $intunexml.ApplicationInfo.FileName - size = [int64]$intunexml.ApplicationInfo.UnencryptedContentSize - sizeEncrypted = [int64]($intunewinFilesize).length -} -$ClearRow = Get-CIPPAzDataTableEntity @Table -Filter $Filter -$RemoveCacheFile = if ($chocoapp.Tenant -ne 'AllTenants') { - Remove-AzDataTableEntity @Table -Entity $clearRow -} else { - $Table.Force = $true - Add-CIPPAzDataTableEntity @Table -Entity @{ - JSON = "$($ChocoApp | ConvertTo-Json)" - RowKey = "$($ClearRow.RowKey)" - PartitionKey = 'apps' - status = 'Deployed' - } -} -$EncBody = @{ - fileEncryptionInfo = @{ - encryptionKey = $intunexml.ApplicationInfo.EncryptionInfo.EncryptionKey - macKey = $intunexml.ApplicationInfo.EncryptionInfo.MacKey - initializationVector = $intunexml.ApplicationInfo.EncryptionInfo.InitializationVector - mac = $intunexml.ApplicationInfo.EncryptionInfo.Mac - profileIdentifier = $intunexml.ApplicationInfo.EncryptionInfo.ProfileIdentifier - fileDigest = $intunexml.ApplicationInfo.EncryptionInfo.FileDigest - fileDigestAlgorithm = $intunexml.ApplicationInfo.EncryptionInfo.FileDigestAlgorithm - } -} | ConvertTo-Json - -foreach ($tenant in $tenants) { - Try { - - $ApplicationList = (New-graphGetRequest -Uri $baseuri -tenantid $Tenant) | Where-Object { $_.DisplayName -eq $ChocoApp.ApplicationName } - if ($ApplicationList.displayname.count -ge 1) { - Write-LogMessage -api 'AppUpload' -tenant $($Tenant) -message "$($ChocoApp.ApplicationName) exists. Skipping this application" -Sev 'Info' - continue - } - if ($chocoApp.type -eq 'WinGet') { - Write-Host 'Winget!' - Write-Host ($intuneBody | ConvertTo-Json -Compress) - $NewApp = New-GraphPostRequest -Uri $baseuri -Body ($intuneBody | ConvertTo-Json -Compress) -Type POST -tenantid $tenant - Start-Sleep -Milliseconds 200 - Write-LogMessage -api 'AppUpload' -tenant $($Tenant) -message "$($ChocoApp.ApplicationName) uploaded as WinGet app." -Sev 'Info' - if ($AssignTo -ne 'On') { - $intent = if ($AssignToIntent) { 'Uninstall' } else { 'Required' } - Set-CIPPAssignedApplication -ApplicationId $NewApp.Id -Intent $intent -TenantFilter $tenant -groupName "$AssignTo" -AppType 'WinGet' - } - Write-LogMessage -api 'AppUpload' -tenant $($Tenant) -message "$($ChocoApp.ApplicationName) Successfully created" -Sev 'Info' - exit 0 - } else { - $NewApp = New-GraphPostRequest -Uri $baseuri -Body ($intuneBody | ConvertTo-Json) -Type POST -tenantid $tenant - - } - $ContentReq = New-GraphPostRequest -Uri "$($BaseURI)/$($NewApp.id)/microsoft.graph.win32lobapp/contentVersions/1/files/" -Body $ContentBody -Type POST -tenantid $tenant - do { - $AzFileUri = New-graphGetRequest -Uri "$($BaseURI)/$($NewApp.id)/microsoft.graph.win32lobapp/contentVersions/1/files/$($ContentReq.id)" -tenantid $tenant - if ($AZfileuri.uploadState -like '*fail*') { break } - Start-Sleep -Milliseconds 300 - } while ($AzFileUri.AzureStorageUri -eq $null) - - $chunkSizeInBytes = 4mb - [byte[]]$bytes = [System.IO.File]::ReadAllBytes($($intunewinFilesize.fullname)) - $chunks = [Math]::Ceiling($bytes.Length / $chunkSizeInBytes) - $id = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($chunks.ToString('0000'))) - #For anyone that reads this, The maximum chunk size is 100MB for blob storage, so we can upload it as one part and just give it the single ID. Easy :) - $Upload = Invoke-RestMethod -Uri "$($AzFileUri.azureStorageUri)&comp=block&blockid=$id" -Method Put -Headers @{'x-ms-blob-type' = 'BlockBlob' } -InFile $inFile -ContentType 'application/octet-stream' - $ConfirmUpload = Invoke-RestMethod -Uri "$($AzFileUri.azureStorageUri)&comp=blocklist" -Method Put -Body "$id" - $CommitReq = New-graphPostRequest -Uri "$($BaseURI)/$($NewApp.id)/microsoft.graph.win32lobapp/contentVersions/1/files/$($ContentReq.id)/commit" -Body $EncBody -Type POST -tenantid $tenant - - do { - $CommitStateReq = New-graphGetRequest -Uri "$($BaseURI)/$($NewApp.id)/microsoft.graph.win32lobapp/contentVersions/1/files/$($ContentReq.id)" -tenantid $tenant - if ($CommitStateReq.uploadState -like '*fail*') { - Write-LogMessage -api 'AppUpload' -tenant $($Tenant) -message "$($ChocoApp.ApplicationName) Commit failed. Please check if app uploaded succesful" -Sev 'Warning' - break - } - Start-Sleep -Milliseconds 300 - } while ($CommitStateReq.uploadState -eq 'commitFilePending') - $CommitFinalizeReq = New-graphPostRequest -Uri "$($BaseURI)/$($NewApp.id)" -tenantid $tenant -Body '{"@odata.type":"#microsoft.graph.win32lobapp","committedContentVersion":"1"}' -type PATCH - Write-LogMessage -api 'AppUpload' -tenant $($Tenant) -message "Added Application $($chocoApp.ApplicationName)" -Sev 'Info' - if ($AssignTo -ne 'On') { - $intent = if ($AssignToIntent) { 'Uninstall' } else { 'Required' } - Set-CIPPAssignedApplication -ApplicationId $NewApp.Id -Intent $intent -TenantFilter $tenant -groupName "$AssignTo" -AppType 'Win32Lob' - - } - Write-LogMessage -api 'AppUpload' -tenant $($Tenant) -message 'Successfully added Application' -Sev 'Info' - } catch { - "Failed to add Application for $($Tenant): $($_.Exception.Message)" - Write-LogMessage -api 'AppUpload' -tenant $($Tenant) -message "Failed adding Application $($ChocoApp.ApplicationName). Error: $($_.Exception.Message)" -LogData (Get-CippException -Exception $_) -Sev 'Error' - continue - } - -} \ No newline at end of file diff --git a/BestPracticeAnalyser_OrchestrationStarter/function.json b/BestPracticeAnalyser_OrchestrationStarter/function.json deleted file mode 100644 index 14c44f4f0217..000000000000 --- a/BestPracticeAnalyser_OrchestrationStarter/function.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "bindings": [ - { - "authLevel": "anonymous", - "name": "Request", - "type": "httpTrigger", - "direction": "in", - "methods": [ - "post", - "get" - ] - }, - { - "type": "http", - "direction": "out", - "name": "Response" - }, - { - "name": "starter", - "type": "durableClient", - "direction": "in" - } - ] -} diff --git a/BestPracticeAnalyser_OrchestrationStarter/run.ps1 b/BestPracticeAnalyser_OrchestrationStarter/run.ps1 deleted file mode 100644 index 3135509f9b3e..000000000000 --- a/BestPracticeAnalyser_OrchestrationStarter/run.ps1 +++ /dev/null @@ -1,40 +0,0 @@ -using namespace System.Net -param($Request, $TriggerMetadata) - -if ($Request.Query.TenantFilter) { - $TenantList = @($Request.Query.TenantFilter) - $Name = "Best Practice Analyser ($($Request.Query.TenantFilter))" -} else { - $TenantList = Get-Tenants - $Name = 'Best Practice Analyser (All Tenants)' -} - -$BPATemplateTable = Get-CippTable -tablename 'templates' -$Filter = "PartitionKey eq 'BPATemplate'" -$Templates = ((Get-CIPPAzDataTableEntity @BPATemplateTable -Filter $Filter).JSON | ConvertFrom-Json).Name - -$BPAReports = foreach ($Tenant in $TenantList) { - foreach ($Template in $Templates) { - [PSCustomObject]@{ - FunctionName = 'BPACollectData' - Tenant = $Tenant.defaultDomainName - Template = $Template - QueueName = '{0} - {1}' -f $Template, $Tenant.defaultDomainName - } - } -} - -$Queue = New-CippQueueEntry -Name $Name -TotalTasks ($BPAReports | Measure-Object).Count -$BPAReports = $BPAReports | Select-Object *, @{Name = 'QueueId'; Expression = { $Queue.RowKey } } -$InputObject = [PSCustomObject]@{ - Batch = @($BPAReports) - OrchestratorName = 'BPAOrchestrator' - SkipLog = $true -} -Start-NewOrchestration -FunctionName 'CIPPOrchestrator' -InputObject ($InputObject | ConvertTo-Json -Compress -Depth 5) - -$Results = [pscustomobject]@{'Results' = 'BPA started' } -Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ - StatusCode = [HttpStatusCode]::OK - Body = $Results - }) \ No newline at end of file diff --git a/BestPracticeAnalyser_OrchestrationStarterTimer/function.json b/BestPracticeAnalyser_OrchestrationStarterTimer/function.json deleted file mode 100644 index cbdf59ee8bba..000000000000 --- a/BestPracticeAnalyser_OrchestrationStarterTimer/function.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "bindings": [ - { - "name": "Timer", - "type": "timerTrigger", - "direction": "in", - "schedule": "0 0 3 * * *" - }, - { - "name": "starter", - "type": "durableClient", - "direction": "in" - } - ] -} \ No newline at end of file diff --git a/BestPracticeAnalyser_OrchestrationStarterTimer/run.ps1 b/BestPracticeAnalyser_OrchestrationStarterTimer/run.ps1 deleted file mode 100644 index 0b9faa0a7c8b..000000000000 --- a/BestPracticeAnalyser_OrchestrationStarterTimer/run.ps1 +++ /dev/null @@ -1,33 +0,0 @@ -param($Timer) - -if ($env:DEV_SKIP_BPA_TIMER) { - Write-Host 'Skipping BPA timer' - exit 0 -} - -$TenantList = Get-Tenants - -$BPATemplateTable = Get-CippTable -tablename 'templates' -$Filter = "PartitionKey eq 'BPATemplate'" -$Templates = ((Get-CIPPAzDataTableEntity @BPATemplateTable -Filter $Filter).JSON | ConvertFrom-Json).Name - - -$BPAReports = foreach ($Tenant in $TenantList) { - foreach ($Template in $Templates) { - [PSCustomObject]@{ - FunctionName = 'BPACollectData' - Tenant = $Tenant.defaultDomainName - Template = $Template - QueueName = '{0} - {1}' -f $Template, $Tenant.defaultDomainName - } - } -} - -$Queue = New-CippQueueEntry -Name 'Best Practice Analyser' -TotalTasks ($BPAReports | Measure-Object).Count -$BPAReports = $BPAReports | Select-Object *, @{Name = 'QueueId'; Expression = { $Queue.RowKey } } -$InputObject = [PSCustomObject]@{ - Batch = @($BPAReports) - OrchestratorName = 'BPAOrchestrator' - SkipLog = $true -} -Start-NewOrchestration -FunctionName 'CIPPOrchestrator' -InputObject ($InputObject | ConvertTo-Json -Compress -Depth 5) diff --git a/CIPPActivityFunction/function.json b/CIPPActivityFunction/function.json index e8a29dde00c3..5b4af75973bd 100644 --- a/CIPPActivityFunction/function.json +++ b/CIPPActivityFunction/function.json @@ -1,5 +1,5 @@ { - "scriptFile": "../Modules/CippEntryPoints/CippEntryPoints.psm1", + "scriptFile": "../Modules/CippEntrypoints/CippEntrypoints.psm1", "entryPoint": "Receive-CippActivityTrigger", "bindings": [ { diff --git a/Z_CIPPHttpTrigger/function.json b/CIPPHttpTrigger/function.json similarity index 83% rename from Z_CIPPHttpTrigger/function.json rename to CIPPHttpTrigger/function.json index 179d246817ff..5aa5c500a642 100644 --- a/Z_CIPPHttpTrigger/function.json +++ b/CIPPHttpTrigger/function.json @@ -27,12 +27,6 @@ "name": "Subscription", "queueName": "AlertSubscriptions" }, - { - "type": "queue", - "direction": "out", - "name": "mailboxstats", - "queueName": "generalAllTenantQueue" - }, { "type": "queue", "direction": "out", @@ -45,12 +39,6 @@ "name": "alertqueue", "queueName": "alertqueue" }, - { - "type": "queue", - "direction": "out", - "name": "gdapqueue", - "queueName": "gdapqueue" - }, { "type": "queue", "direction": "out", diff --git a/CIPPOrchestrator/function.json b/CIPPOrchestrator/function.json index 011113dbc618..e7403ca509ab 100644 --- a/CIPPOrchestrator/function.json +++ b/CIPPOrchestrator/function.json @@ -1,5 +1,5 @@ { - "scriptFile": "../Modules/CippEntryPoints/CippEntryPoints.psm1", + "scriptFile": "../Modules/CippEntrypoints/CippEntrypoints.psm1", "entryPoint": "Receive-CippOrchestrationTrigger", "bindings": [ { diff --git a/Scheduler_PollAuditLogs/function.json b/CIPPTimer/function.json similarity index 58% rename from Scheduler_PollAuditLogs/function.json rename to CIPPTimer/function.json index f30537d11b34..55e4edb35f11 100644 --- a/Scheduler_PollAuditLogs/function.json +++ b/CIPPTimer/function.json @@ -1,8 +1,10 @@ { + "scriptFile": "../Modules/CippEntrypoints/CippEntrypoints.psm1", + "entryPoint": "Receive-CippTimerTrigger", "bindings": [ { "name": "Timer", - "schedule": "0 */15 * * * *", + "schedule": "0 0/15 * * * *", "direction": "in", "type": "timerTrigger" }, diff --git a/CIPPTimers.json b/CIPPTimers.json new file mode 100644 index 000000000000..e527285dd78f --- /dev/null +++ b/CIPPTimers.json @@ -0,0 +1,129 @@ +[ + { + "Command": "Start-UserTasksOrchestrator", + "Description": "Orchestrator to process user scheduled tasks", + "Cron": "0 */15 * * * *", + "Priority": 1, + "RunOnProcessor": true, + "PreferredProcessor": "usertasks" + }, + { + "Command": "Start-CIPPProcessorQueue", + "Description": "Timer to handle user initiated tasks", + "Cron": "0 */15 * * * *", + "Priority": 1, + "RunOnProcessor": true + }, + { + "Command": "Start-AuditLogOrchestrator", + "Description": "Orchestrator to process audit logs", + "Cron": "0 */15 * * * *", + "Priority": 2, + "RunOnProcessor": true, + "PreferredProcessor": "auditlog", + "IsSystem": true + }, + { + "Command": "Start-ApplicationOrchestrator", + "Description": "Orchestrator to process application uploads", + "Cron": "0 0 */12 * * *", + "Priority": 2, + "RunOnProcessor": true + }, + { + "Command": "Start-WebhookOrchestrator", + "Description": "Orchestrator to process webhooks", + "Cron": "0 */15 * * * *", + "Priority": 3, + "RunOnProcessor": true + }, + { + "Command": "Start-StandardsOrchestrator", + "Description": "Orchestrator to process standards", + "Cron": "0 0 */4 * * *", + "Priority": 4, + "RunOnProcessor": true, + "PreferredProcessor": "standards" + }, + { + "Command": "Start-CIPPGraphSubscriptionCleanupTimer", + "Description": "Orchestrator to cleanup old Graph subscriptions", + "Cron": "0 0 0 * * *", + "Priority": 5, + "RunOnProcessor": true + }, + { + "Command": "Start-SchedulerOrchestrator", + "Description": "Orchestrator to process system scheduled tasks", + "Cron": "0 0 * * * *", + "Priority": 6, + "RunOnProcessor": true + }, + { + "Command": "Set-CIPPGDAPInviteGroups", + "Description": "Orchestrator to map the groups for GDAP invites", + "Cron": "0 0 */3 * * *", + "Priority": 5, + "RunOnProcessor": true + }, + { + "Command": "Start-UpdateTokensTimer", + "Description": "Orchestrator to update tokens", + "Cron": "0 0 0 * * 0", + "Priority": 7, + "RunOnProcessor": true, + "IsSystem": true + }, + { + "Command": "Start-CIPPGraphSubscriptionRenewalTimer", + "Description": "Orchestrator to renew Graph subscriptions", + "Cron": "0 15 * * * *", + "Priority": 8, + "RunOnProcessor": true, + "IsSystem": true + }, + { + "Command": "Start-DomainOrchestrator", + "Description": "Orchestrator to process domains", + "Cron": "0 0 0 * * *", + "Priority": 10, + "RunOnProcessor": true + }, + { + "Command": "Start-UpdatePermissionsOrchestrator", + "Description": "Orchestrator to update CPV permissions", + "Cron": "0 0 0 * * *", + "Priority": 10, + "RunOnProcessor": true, + "IsSystem": true + }, + { + "Command": "Start-BillingTimer", + "Description": "Timer to process billing", + "Cron": "0 0 0 * * *", + "Priority": 12, + "RunOnProcessor": true + }, + { + "Command": "Start-BPAOrchestrator", + "Description": "Orchestrator to process BPA reports", + "Cron": "0 0 3 * * *", + "Priority": 10, + "RunOnProcessor": true + }, + { + "Command": "Start-ExtensionOrchestrator", + "Description": "Orchestrator to process extensions", + "Cron": "0 0 */2 * * *", + "Priority": 12, + "RunOnProcessor": true + }, + { + "Command": "Start-CIPPStatsTimer", + "Description": "Timer to process CIPP stats", + "Cron": "0 0 0 * * *", + "Priority": 15, + "RunOnProcessor": true, + "IsSystem": true + } +] diff --git a/Cleanup_OldAuditLogs/function.json b/Cleanup_OldAuditLogs/function.json deleted file mode 100644 index 7e97fe568d29..000000000000 --- a/Cleanup_OldAuditLogs/function.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "bindings": [ - { - "name": "Timer", - "type": "timerTrigger", - "direction": "in", - "schedule": "0 0 0 * * *" - }, - { - "name": "starter", - "type": "durableClient", - "direction": "in" - } - ] -} diff --git a/Cleanup_OldAuditLogs/run.ps1 b/Cleanup_OldAuditLogs/run.ps1 deleted file mode 100644 index 738161989a1e..000000000000 --- a/Cleanup_OldAuditLogs/run.ps1 +++ /dev/null @@ -1,9 +0,0 @@ -# Input bindings are passed in via param block. -param($Timer) - -try { - $Tenants = Get-Tenants -IncludeAll | Where-Object { $_.customerId -ne $env:TenantId -and $_.Excluded -eq $false } - $Tenants | ForEach-Object { - Remove-CIPPGraphSubscription -cleanup $true -TenantFilter $_.defaultDomainName - } -} catch {} \ No newline at end of file diff --git a/Config/4ec40975-c530-44d1-be9e-12f90cac6e95.TransportRuleTemplate.json b/Config/4ec40975-c530-44d1-be9e-12f90cac6e95.TransportRuleTemplate.json new file mode 100644 index 000000000000..696cd66bd838 --- /dev/null +++ b/Config/4ec40975-c530-44d1-be9e-12f90cac6e95.TransportRuleTemplate.json @@ -0,0 +1,33 @@ +{ + "name": "Block sending read receipt responses", + "comments": "Deletes all read receipts being sent to internal or external users.", + "ApplyOME": false, + "AttachmentHasExecutableContent": false, + "AttachmentIsPasswordProtected": false, + "AttachmentIsUnsupported": false, + "AttachmentProcessingLimitExceeded": false, + "DeleteMessage": true, + "ExceptIfAttachmentHasExecutableContent": false, + "ExceptIfAttachmentIsPasswordProtected": false, + "ExceptIfAttachmentIsUnsupported": false, + "ExceptIfAttachmentProcessingLimitExceeded": false, + "ExceptIfHasNoClassification": false, + "ExceptIfHasSenderOverride": false, + "FromScope": "InOrganization", + "HasNoClassification": false, + "HasSenderOverride": false, + "MessageTypeMatches": "ReadReceipt", + "Mode": "Enforce", + "ModerateMessageByManager": false, + "Quarantine": false, + "RecipientAddressType": "Resolved", + "RemoveOME": false, + "RemoveOMEv2": false, + "RemoveRMSAttachmentEncryption": false, + "RouteMessageOutboundRequireTls": false, + "RuleErrorAction": "Ignore", + "RuleSubType": "None", + "SenderAddressLocation": "Header", + "StopRuleProcessing": false, + "UseLegacyRegex": false +} diff --git a/Config/5e4ce5db-1dcd-4423-8131-1379fa2e7621.TransportRuleTemplate.json b/Config/5e4ce5db-1dcd-4423-8131-1379fa2e7621.TransportRuleTemplate.json new file mode 100644 index 000000000000..c9d99d19befc --- /dev/null +++ b/Config/5e4ce5db-1dcd-4423-8131-1379fa2e7621.TransportRuleTemplate.json @@ -0,0 +1,32 @@ +{ + "name": "Disable read receipt responses", + "comments": "This rule strips out the header responsible for asking for a read receipt, from all messages.", + "ApplyOME": false, + "AttachmentHasExecutableContent": false, + "AttachmentIsPasswordProtected": false, + "AttachmentIsUnsupported": false, + "AttachmentProcessingLimitExceeded": false, + "DeleteMessage": false, + "ExceptIfAttachmentHasExecutableContent": false, + "ExceptIfAttachmentIsPasswordProtected": false, + "ExceptIfAttachmentIsUnsupported": false, + "ExceptIfAttachmentProcessingLimitExceeded": false, + "ExceptIfHasNoClassification": false, + "ExceptIfHasSenderOverride": false, + "HasNoClassification": false, + "HasSenderOverride": false, + "Mode": "Enforce", + "ModerateMessageByManager": false, + "Quarantine": false, + "RecipientAddressType": "Resolved", + "RemoveHeader": "Disposition-Notification-To", + "RemoveOME": false, + "RemoveOMEv2": false, + "RemoveRMSAttachmentEncryption": false, + "RouteMessageOutboundRequireTls": false, + "RuleErrorAction": "Ignore", + "RuleSubType": "None", + "SenderAddressLocation": "Header", + "StopRuleProcessing": false, + "UseLegacyRegex": false +} diff --git a/Config/SharePoint.BPATemplate.json b/Config/SharePoint.BPATemplate.json index da945a5d1f4f..fd279d368fda 100644 --- a/Config/SharePoint.BPATemplate.json +++ b/Config/SharePoint.BPATemplate.json @@ -31,18 +31,18 @@ }, { "name": "Resharing by external users", - "value": "isResharingByExternalUsersEnabled", - "formatter": "reverseBool" + "value": "SharepointSettings.isResharingByExternalUsersEnabled", + "formatter": "bool" }, { "name": "Allow users to sync from unmanaged devices", "value": "SharepointSettings.isUnmanagedSyncAppForTenantRestricted", - "formatter": "bool" + "formatter": "reverseBool" }, { - "name": "Site creation by standards users enabled", + "name": "Site creation by standard users enabled", "value": "SharepointSettings.isSiteCreationEnabled", - "formatter": "reverseBool" + "formatter": "bool" }, { "name": "Deleted user data rention(days)", diff --git a/Config/standards.json b/Config/standards.json index 4ef78d3553e4..4b12a7181b10 100644 --- a/Config/standards.json +++ b/Config/standards.json @@ -1,585 +1,2539 @@ [ { - "name": "standards.MailContacts.GeneralContact.Enabled", - "cat": "Global", - "helpText": "Receives emails about updates about subscriptions etc", - "addedComponent": { - "type": "input", - "name": "standards.MailContacts.GeneralContact.Mail", - "label": "General Contact" - }, - "label": "Set General Contact e-mail" - }, - { - "name": "standards.MailContacts.SecurityContact.Enabled", - "cat": "Global", - "helpText": "Receives emails about security alerts or advisories by Microsoft", - "addedComponent": { - "type": "input", - "name": "standards.MailContacts.SecurityContact.Mail", - "label": "Security Contact" - }, - "label": "Set Security Contact e-mail" - }, - { - "name": "standards.MailContacts.MarketingContact.Enabled", - "cat": "Global", - "helpText": "Receives the emails related to marketing; new features etc", - "addedComponent": { - "type": "input", - "name": "standards.MailContacts.MarketingContact.Mail", - "label": "Marketing Contact" - }, - "label": "Set Marketing Contact e-mail" - }, - { - "name": "standards.MailContacts.TechContact.Enabled", - "cat": "Global", - "helpText": "Receives emails related to possible technical issues, service disruptions, etc", - "addedComponent": { - "type": "input", - "name": "standards.MailContacts.TechContact.Mail", - "label": "Technical Contact" - }, - "label": "Set Technical Contact e-mail" + "name": "standards.MailContacts", + "cat": "Global Standards", + "tag": ["lowimpact"], + "helpText": "Defines the email address to receive general updates and information related to M365 subscriptions. Leave a contact field blank if you do not want to update the contact information.", + "docsDescription": "", + "addedComponent": [ + { + "type": "input", + "name": "standards.MailContacts.GeneralContact", + "label": "General Contact" + }, + { + "type": "input", + "name": "standards.MailContacts.SecurityContact", + "label": "Security Contact" + }, + { + "type": "input", + "name": "standards.MailContacts.MarketingContact", + "label": "Marketing Contact" + }, + { + "type": "input", + "name": "standards.MailContacts.TechContact", + "label": "Technical Contact" + } + ], + "label": "Set contact e-mails", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Set-MsolCompanyContactInformation", + "recommendedBy": [] }, { "name": "standards.AuditLog", - "cat": "Global", - "helpText": "Also runs Enable-OrganizationCustomization if needed", - "addedComponent": null, - "label": "Enable the Unified Audit Log" + "cat": "Global Standards", + "tag": ["lowimpact", "CIS", "mip_search_auditlog"], + "helpText": "Enables the Unified Audit Log for tracking and auditing activities. Also runs Enable-OrganizationCustomization if necessary.", + "addedComponent": [], + "label": "Enable the Unified Audit Log", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Enable-OrganizationCustomization", + "recommendedBy": ["CIS"] + }, + { + "name": "standards.PhishProtection", + "cat": "Global Standards", + "tag": ["lowimpact"], + "helpText": "Adds branding to the logon page that only appears if the url is not login.microsoftonline.com. This potentially prevents AITM attacks via EvilNginx. This will also automatically generate alerts if a clone of your login page has been found when set to Remediate.", + "addedComponent": [], + "label": "Enable Phishing Protection system via branding CSS", + "impact": "Low Impact", + "impactColour": "info", + "disabledFeatures": { + "report": true, + "warn": true, + "remediate": false + }, + "powershellEquivalent": "Portal only", + "recommendedBy": ["CIPP"] + }, + { + "name": "standards.Branding", + "cat": "Global Standards", + "tag": ["lowimpact"], + "helpText": "Sets the branding for the tenant. This includes the login page, and the Office 365 portal.", + "addedComponent": [ + { + "type": "input", + "name": "standards.Branding.signInPageText", + "label": "Sign-in page text" + }, + { + "type": "input", + "name": "standards.Branding.usernameHintText", + "label": "Username hint Text" + }, + { + "type": "boolean", + "name": "standards.Branding.hideAccountResetCredentials", + "label": "Hide self-service password reset" + }, + { + "type": "Select", + "label": "Visual Template", + "name": "standards.Branding.layoutTemplateType", + "values": [ + { + "label": "Full-screen background", + "value": "default" + }, + { + "label": "Partial-screen background", + "value": "verticalSplit" + } + ] + }, + { + "type": "boolean", + "name": "standards.Branding.isHeaderShown", + "label": "Show header" + }, + { + "type": "boolean", + "name": "standards.Branding.isFooterShown", + "label": "Show footer" + } + ], + "label": "Set branding for the tenant", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Portal only", + "recommendedBy": [] + }, + { + "name": "standards.EnableCustomerLockbox", + "cat": "Global Standards", + "tag": ["lowimpact", "CIS", "CustomerLockBoxEnabled"], + "helpText": "Enables Customer Lockbox that offers an approval process for Microsoft support to access organization data", + "docsDescription": "Customer Lockbox ensures that Microsoft can't access your content to do service operations without your explicit approval. Customer Lockbox ensures only authorized requests allow access to your organizations data.", + "addedComponent": [], + "label": "Enable Customer Lockbox", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Set-OrganizationConfig -CustomerLockBoxEnabled $true", + "recommendedBy": ["CIS"] + }, + { + "name": "standards.EnablePronouns", + "cat": "Global Standards", + "tag": ["lowimpact"], + "helpText": "Enables the Pronouns feature for the tenant. This allows users to set their pronouns in their profile.", + "addedComponent": [], + "label": "Enable Pronouns", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Update-MgBetaAdminPeoplePronoun -IsEnabledInOrganization:$true", + "recommendedBy": [] }, { "name": "standards.AnonReportDisable", - "cat": "Global", - "helpText": "", - "addedComponent": null, - "label": "Enable Usernames instead of pseudo anonymised names in reports" + "cat": "Global Standards", + "tag": ["lowimpact"], + "helpText": "Shows usernames instead of pseudo anonymised names in reports. This standard is required for reporting to work correctly.", + "docsDescription": "Microsoft announced some APIs and reports no longer return names, to comply with compliance and legal requirements in specific countries. This proves an issue for a lot of MSPs because those reports are often helpful for engineers. This standard applies a setting that shows usernames in those API calls / reports.", + "addedComponent": [], + "label": "Enable Usernames instead of pseudo anonymised names in reports", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Update-MgBetaAdminReportSetting -BodyParameter @{displayConcealedNames = $true}", + "recommendedBy": [] }, { "name": "standards.DisableGuestDirectory", - "cat": "Global", - "helpText": "See the standards documentation for more information about the implications of this standard", - "addedComponent": null, - "label": "Restrict guest user access to directory objects" + "cat": "Global Standards", + "tag": ["lowimpact"], + "helpText": "Disables Guest access to enumerate directory objects. This prevents guest users from seeing other users or guests in the directory.", + "docsDescription": "Sets it so guests can view only their own user profile. Permission to view other users isn't allowed. Also restricts guest users from seeing the membership of groups they're in. See exactly what get locked down in the [Microsoft documentation.](https://learn.microsoft.com/en-us/entra/fundamentals/users-default-permissions)", + "addedComponent": [], + "label": "Restrict guest user access to directory objects", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Set-AzureADMSAuthorizationPolicy -GuestUserRoleId '2af84b1e-32c8-42b7-82bc-daa82404023b'", + "recommendedBy": [] }, { "name": "standards.DisableBasicAuthSMTP", - "cat": "Global", - "helpText": "Disables SMTP AUTH for the organization. This is the default for new tenants. Can be overridden by enabling SMTP AUTH on specific users", - "addedComponent": null, - "label": "Disable SMTP Basic Authentication" + "cat": "Global Standards", + "tag": ["mediumimpact"], + "helpText": "Disables SMTP AUTH for the organization and all users. This is the default for new tenants. ", + "docsDescription": "Disables SMTP basic authentication for the tenant and all users with it explicitly enabled.", + "addedComponent": [], + "label": "Disable SMTP Basic Authentication", + "impact": "Medium Impact", + "impactColour": "warning", + "powershellEquivalent": "Set-TransportConfig -SmtpClientAuthenticationDisabled $true", + "recommendedBy": [] + }, + { + "name": "standards.ActivityBasedTimeout", + "cat": "Global Standards", + "tag": ["mediumimpact", "CIS", "spo_idle_session_timeout"], + "helpText": "Enables and sets Idle session timeout for Microsoft 365 to 1 hour. This policy affects most M365 web apps", + "addedComponent": [ + { + "type": "Select", + "label": "Select value", + "name": "standards.ActivityBasedTimeout.timeout", + "values": [ + { + "label": "1 Hour", + "value": "01:00:00" + }, + { + "label": "3 Hours", + "value": "03:00:00" + }, + { + "label": "6 Hours", + "value": "06:00:00" + }, + { + "label": "12 Hours", + "value": "12:00:00" + }, + { + "label": "24 Hours", + "value": "1.00:00:00" + } + ] + } + ], + "label": "Enable Activity based Timeout", + "impact": "Medium Impact", + "impactColour": "warning", + "powershellEquivalent": "Portal or Graph API", + "recommendedBy": ["CIS"] + }, + { + "name": "standards.AppDeploy", + "cat": "Entra (AAD) Standards", + "tag": ["lowimpact"], + "helpText": "Deploys selected applications to the tenant. Use a comma separated list of application IDs to deploy multiple applications. Permissions will be copied from the source application.", + "docsDescription": "Uses the CIPP functionality that deploys applications across an entire tenant base as a standard.", + "addedComponent": [ + { + "type": "input", + "name": "standards.AppDeploy.appids", + "label": "Application IDs, comma separated" + } + ], + "label": "Deploy Application", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Portal or Graph API", + "recommendedBy": [] }, { "name": "standards.laps", - "cat": "AAD", - "helpText": "Enables the tenant to use LAPS", - "addedComponent": null, - "label": "Enable LAPs on the tenant" + "cat": "Entra (AAD) Standards", + "tag": ["lowimpact"], + "helpText": "Enables the tenant to use LAPS. You must still create a policy for LAPS to be active on all devices. Use the template standards to deploy this by default.", + "docsDescription": "Enables the LAPS functionality on the tenant. Prerequisite for using Windows LAPS via Azure AD.", + "addedComponent": [], + "label": "Enable LAPS on the tenant", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Portal or Graph API", + "recommendedBy": [] }, { - "cat": "AAD", "name": "standards.PWdisplayAppInformationRequiredState", - "helpText": "Enables the MS authenticator app to display information about the app that is requesting authentication", - "addedComponent": null, - "label": "Enable Passwordless with Location information and Number Matching" + "cat": "Entra (AAD) Standards", + "tag": ["lowimpact", "CIS"], + "helpText": "Enables the MS authenticator app to display information about the app that is requesting authentication. This displays the application name.", + "docsDescription": "Allows users to use Passwordless with Number Matching and adds location information from the last request", + "addedComponent": [], + "label": "Enable Passwordless with Location information and Number Matching", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Update-MgBetaPolicyAuthenticationMethodPolicyAuthenticationMethodConfiguration", + "recommendedBy": ["CIS"] }, { - "cat": "AAD", "name": "standards.allowOTPTokens", - "helpText": "Allows you to use MS authenticator OTP tokens", - "addedComponent": null, - "label": "Enable OTP via Authenticator." + "cat": "Entra (AAD) Standards", + "tag": ["lowimpact"], + "helpText": "Allows you to use MS authenticator OTP token generator", + "docsDescription": "Allows you to use Microsoft Authenticator OTP token generator. Useful for using the NPS extension as MFA on VPN clients.", + "addedComponent": [], + "label": "Enable OTP via Authenticator", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Update-MgBetaPolicyAuthenticationMethodPolicyAuthenticationMethodConfiguration", + "recommendedBy": [] + }, + { + "name": "standards.PWcompanionAppAllowedState", + "cat": "Entra (AAD) Standards", + "tag": ["lowimpact"], + "helpText": "Sets the state of Authenticator Lite, Authenticator lite is a companion app for passwordless authentication.", + "docsDescription": "Sets the Authenticator Lite state to enabled. This allows users to use the Authenticator Lite built into the Outlook app instead of the full Authenticator app.", + "addedComponent": [ + { + "type": "Select", + "label": "Select value", + "name": "standards.PWcompanionAppAllowedState.state", + "values": [ + { + "label": "Enabled", + "value": "enabled" + }, + { + "label": "Disabled", + "value": "disabled" + } + ] + } + ], + "label": "Set Authenticator Lite state", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Update-MgBetaPolicyAuthenticationMethodPolicyAuthenticationMethodConfiguration", + "recommendedBy": [] }, { - "cat": "AAD", - "name": "standards.allowOAuthTokens", - "helpText": "Allows you to use any OTP token generator", - "addedComponent": null, - "label": "Enable OTP Software oAuth tokens." - }, - { - "cat": "AAD", - "name": "standards.PWcompanionAppAllowedState.Enabled", - "helpText": "Sets the state of Authenticator Lite, in Outlook for mobile", - "addedComponent": { - "type": "Select", - "label": "Select value", - "name": "standards.PWcompanionAppAllowedState.state", - "values": [ - { - "label": "Enabled", - "value": "enabled" - }, - { - "label": "Disabled", - "value": "disabled" - } - ] - }, - "label": "Set Authenticator Lite state" - }, - { - "cat": "AAD", - "name": "standards.TAP.Enabled", - "helpText": "Enables TAP and sets the default TAP lifetime to 1 hour and maximum lifetime to 8 hours.", - "addedComponent": { - "type": "Select", - "label": "Select TAP Lifetime", - "name": "standards.TAP.config", - "values": [ - { - "label": "Only Once", - "value": "true" - }, - { - "label": "Multiple Logons", - "value": "false" - } - ] - }, - "label": "Enable Temporary Access Passwords" + "name": "standards.EnableFIDO2", + "cat": "Entra (AAD) Standards", + "tag": ["lowimpact"], + "helpText": "Enables the FIDO2 authenticationMethod for the tenant", + "docsDescription": "Enables FIDO2 capabilities for the tenant. This allows users to use FIDO2 keys like a Yubikey for authentication.", + "addedComponent": [], + "label": "Enable FIDO2 capabilities", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Update-MgBetaPolicyAuthenticationMethodPolicyAuthenticationMethodConfiguration", + "recommendedBy": [] + }, + { + "name": "standards.EnableHardwareOAuth", + "cat": "Entra (AAD) Standards", + "tag": ["lowimpact"], + "helpText": "Enables the HardwareOath authenticationMethod for the tenant. This allows you to use hardware tokens for generating 6 digit MFA codes.", + "docsDescription": "Enables Hardware OAuth tokens for the tenant. This allows users to use hardware tokens like a Yubikey for authentication.", + "addedComponent": [], + "label": "Enable Hardware OAuth tokens", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Update-MgBetaPolicyAuthenticationMethodPolicyAuthenticationMethodConfiguration", + "recommendedBy": [] }, { - "cat": "AAD", - "name": "standards.SecurityDefaults", - "helpText": "Enables security defaults for the tenant. This has a lot of implications and should be carefully considered before enabling", - "addedComponent": null, - "label": "Enable Security Defaults" + "name": "standards.allowOAuthTokens", + "cat": "Entra (AAD) Standards", + "tag": ["lowimpact"], + "helpText": "Allows you to use any software OAuth token generator", + "docsDescription": "Enables OTP Software OAuth tokens for the tenant. This allows users to use OTP codes generated via software, like a password manager to be used as an authentication method.", + "addedComponent": [], + "label": "Enable OTP Software OAuth tokens", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Update-MgBetaPolicyAuthenticationMethodPolicyAuthenticationMethodConfiguration", + "recommendedBy": [] + }, + { + "name": "standards.TAP", + "cat": "Entra (AAD) Standards", + "tag": ["lowimpact"], + "helpText": "Enables TAP and sets the default TAP lifetime to 1 hour. This configuration also allows you to select if a TAP is single use or multi-logon.", + "docsDescription": "Enables Temporary Password generation for the tenant.", + "addedComponent": [ + { + "type": "Select", + "label": "Select TAP Lifetime", + "name": "standards.TAP.config", + "values": [ + { + "label": "Only Once", + "value": "true" + }, + { + "label": "Multiple Logons", + "value": "false" + } + ] + } + ], + "label": "Enable Temporary Access Passwords", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Update-MgBetaPolicyAuthenticationMethodPolicyAuthenticationMethodConfiguration", + "recommendedBy": [] }, { - "cat": "AAD", "name": "standards.PasswordExpireDisabled", - "helpText": "Disables the expiration of passwords for the tenant", - "addedComponent": null, - "label": "Do not expire passwords" + "cat": "Entra (AAD) Standards", + "tag": ["lowimpact", "CIS", "PWAgePolicyNew"], + "helpText": "Disables the expiration of passwords for the tenant by setting the password expiration policy to never expire for any user.", + "docsDescription": "Sets passwords to never expire for tenant, recommended to use in conjunction with secure password requirements.", + "addedComponent": [], + "label": "Do not expire passwords", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Update-MgDomain", + "recommendedBy": ["CIS"] + }, + { + "name": "standards.ExternalMFATrusted", + "cat": "Entra (AAD) Standards", + "tag": ["lowimpact"], + "helpText": "Sets the state of the Cross-tenant access setting to trust external MFA. This allows guest users to use their home tenant MFA to access your tenant.", + "addedComponent": [ + { + "type": "Select", + "label": "Select value", + "name": "standards.ExternalMFATrusted.state", + "values": [ + { + "label": "Enabled", + "value": "true" + }, + { + "label": "Disabled", + "value": "false" + } + ] + } + ], + "label": "Sets the Cross-tenant access setting to trust external MFA", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Update-MgBetaPolicyCrossTenantAccessPolicyDefault", + "recommendedBy": [] }, { - "cat": "AAD", - "name": "standards.DisableSecurityGroupUsers", - "helpText": "Completely disables the creation of security groups by users. This also breaks the ability to manage groups themselves, or create Teams", - "addedComponent": null, - "label": "Disable Security Group creation by users" - }, - { - "cat": "AAD", "name": "standards.DisableTenantCreation", - "helpText": "Restricts creation of M365 tenants to the Global Administrator or Tenant Creator roles", - "addedComponent": null, - "label": "Disable M365 Tenant creation by users" - }, - { - "cat": "AAD", - "name": "standards.OauthConsent.Enabled", - "helpText": "Disables users from being able to consent to applications, except for those specified in the field below", - "addedComponent": { - "type": "input", - "name": "standards.OauthConsent.AllowedApps", - "label": "Allowed application IDs, comma separated" - }, - "label": "Require admin consent for applications (Prevent OAuth phishing.)" - }, - { - "cat": "AAD", - "name": "standards.OauthConsentLowSec", - "helpText": "", - "label": "Allow users to consent to applications with low security risk (Prevent OAuth phishing. Lower impact, less secure.)" - }, - { - "cat": "AAD", - "name": "standards.EnableAppConsentRequests.Enabled", + "cat": "Entra (AAD) Standards", + "tag": ["lowimpact", "CIS"], + "helpText": "Restricts creation of M365 tenants to the Global Administrator or Tenant Creator roles. ", + "docsDescription": "Users by default are allowed to create M365 tenants. This disables that so only admins can create new M365 tenants.", + "addedComponent": [], + "label": "Disable M365 Tenant creation by users", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Update-MgPolicyAuthorizationPolicy", + "recommendedBy": ["CIS"] + }, + { + "name": "standards.EnableAppConsentRequests", + "cat": "Entra (AAD) Standards", + "tag": ["lowimpact", "CIS"], "helpText": "Enables App consent admin requests for the tenant via the GA role. Does not overwrite existing reviewer settings", - "addedComponent": { - "type": "AdminRolesMultiSelect", - "label": "App Consent Reviewer Roles", - "name": "standards.EnableAppConsentRequests.ReviewerRoles" - }, - "label": "Enable App consent admin requests" - }, - { - "cat": "AAD", - "name": "standards.LegacyMFACleanup", - "helpText": "Removes legacy Per-User MFA if the tenant has Security Defaults or an All Users Conditional Access rule enabled.", - "addedComponent": null, - "label": "Remove Legacy MFA if SD or CA is active" + "docsDescription": "Enables the ability for users to request admin consent for applications. Should be used in conjunction with the \"Require admin consent for applications\" standards", + "addedComponent": [ + { + "type": "AdminRolesMultiSelect", + "label": "App Consent Reviewer Roles", + "name": "standards.EnableAppConsentRequests.ReviewerRoles" + } + ], + "label": "Enable App consent admin requests", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Update-MgPolicyAdminConsentRequestPolicy", + "recommendedBy": ["CIS"] + }, + { + "name": "standards.NudgeMFA", + "cat": "Entra (AAD) Standards", + "tag": ["lowimpact"], + "helpText": "Sets the state of the registration campaign for the tenant", + "docsDescription": "Sets the state of the registration campaign for the tenant. If enabled nudges users to set up the Microsoft Authenticator during sign-in.", + "addedComponent": [ + { + "type": "Select", + "label": "Select value", + "name": "standards.NudgeMFA.state", + "values": [ + { + "label": "Enabled", + "value": "enabled" + }, + { + "label": "Disabled", + "value": "disabled" + } + ] + }, + { + "type": "number", + "name": "standards.NudgeMFA.snoozeDurationInDays", + "label": "Number of days to allow users to skip registering Authenticator (0-14, default is 1)", + "default": 1 + } + ], + "label": "Sets the state for the request to setup Authenticator", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Update-MgPolicyAuthenticationMethodPolicy", + "recommendedBy": [] }, { - "cat": "AAD", - "name": "standards.NudgeMFA.enable", - "helpText": "Enables registration campaign for the tenant", - "addedComponent": null, - "label": "Request to setup Authenticator if not setup yet." + "name": "standards.DisableM365GroupUsers", + "cat": "Entra (AAD) Standards", + "tag": ["lowimpact"], + "helpText": "Restricts M365 group creation to certain admin roles. This disables the ability to create Teams, Sharepoint sites, Planner, etc", + "docsDescription": "Users by default are allowed to create M365 groups. This restricts M365 group creation to certain admin roles. This disables the ability to create Teams, SharePoint sites, Planner, etc", + "addedComponent": [], + "label": "Disable M365 Group creation by users", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Update-MgBetaDirectorySetting", + "recommendedBy": [] + }, + { + "name": "standards.DisableAppCreation", + "cat": "Entra (AAD) Standards", + "tag": ["lowimpact", "CIS"], + "helpText": "Disables the ability for users to create App registrations in the tenant.", + "docsDescription": "Disables the ability for users to create applications in Entra. Done to prevent breached accounts from creating an app to maintain access to the tenant, even after the breached account has been secured.", + "addedComponent": [], + "label": "Disable App creation by users", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Update-MgPolicyAuthorizationPolicy", + "recommendedBy": ["CIS"] }, { - "cat": "AAD", - "name": "standards.NudgeMFA.disable", - "helpText": "Disables registration campaign for the tenant", - "addedComponent": null, - "label": "Disables the request to setup Authenticator if setup." + "name": "standards.DisableSecurityGroupUsers", + "cat": "Entra (AAD) Standards", + "tag": ["mediumimpact"], + "helpText": "Completely disables the creation of security groups by users. This also breaks the ability to manage groups themselves, or create Teams", + "addedComponent": [], + "label": "Disable Security Group creation by users", + "impact": "Medium Impact", + "impactColour": "warning", + "powershellEquivalent": "Update-MgBetaPolicyAuthorizationPolicy", + "recommendedBy": [] }, { - "cat": "AAD", - "name": "standards.DisableSelfServiceLicenses", + "name": "standards.LegacyMFACleanup", + "cat": "Entra (AAD) Standards", + "tag": ["mediumimpact"], "helpText": "This standard currently does not function and can be safely disabled", - "addedComponent": null, - "label": "Disable Self Service Licensing" - }, - { - "cat": "AAD", - "name": "standards.DisableM365GroupUsers", - "helpText": "Restricts M365 group creation to certain admin roles. This disables the ability to create Teams, Sharepoint sites, Planner, etc", - "addedComponent": null, - "label": "Disable M365 Group creation by users" + "addedComponent": [], + "label": "Remove Legacy MFA if SD or CA is active", + "impact": "Medium Impact", + "impactColour": "warning", + "powershellEquivalent": "Set-MsolUser -StrongAuthenticationRequirements $null", + "recommendedBy": [] }, { - "cat": "AAD", - "name": "standards.UndoOauth", - "helpText": "Disables App consent and set to Allow user consent for apps", - "addedComponent": null, - "label": "Undo App Consent Standard" + "name": "standards.DisableSelfServiceLicenses", + "cat": "Entra (AAD) Standards", + "tag": ["mediumimpact"], + "helpText": "This standard disables all self service licenses and enables all exclusions", + "addedComponent": [ + { + "type": "input", + "name": "standards.DisableSelfServiceLicenses.Exclusions", + "label": "License Ids to exclude from this standard" + } + ], + "label": "Disable Self Service Licensing", + "impact": "Medium Impact", + "impactColour": "warning", + "powershellEquivalent": "Set-MsolCompanySettings -AllowAdHocSubscriptions $false", + "recommendedBy": [] }, { - "cat": "AAD", "name": "standards.DisableGuests", + "cat": "Entra (AAD) Standards", + "tag": ["mediumimpact"], "helpText": "Blocks login for guest users that have not logged in for 90 days", - "addedComponent": null, - "label": "Disable Guest accounts that have not logged on for 90 days" + "addedComponent": [], + "label": "Disable Guest accounts that have not logged on for 90 days", + "impact": "Medium Impact", + "impactColour": "warning", + "powershellEquivalent": "Graph API", + "recommendedBy": [] }, { - "cat": "AAD", - "name": "standards.EnableFIDO2", - "helpText": "Enables the FIDO2 authenticationMethod for the tenant", - "addedComponent": null, - "label": "Enable FIDO2 capabilities" - }, - - { - "name": "standards.OutBoundSpamAlert.Enabled", - "cat": "Exchange", - "helpText": "Set the Outbound Spam Alert e-mail address.", - "addedComponent": { - "type": "input", - "name": "standards.OutBoundSpamAlert.OutboundSpamContact", - "label": "Outbound spam contact" - }, - "label": "Set Outbound Spam Alert e-mail" - }, - { - "name": "standards.SafeSendersDisable", - "cat": "Exchange", - "helpText": "", - "addedComponent": null, - "label": "Remove Safe Senders to prevent SPF bypass" + "name": "standards.OauthConsent", + "cat": "Entra (AAD) Standards", + "tag": ["mediumimpact", "CIS"], + "helpText": "Disables users from being able to consent to applications, except for those specified in the field below", + "docsDescription": "Requires users to get administrator consent before sharing data with applications. You can preapprove specific applications.", + "addedComponent": [ + { + "type": "input", + "name": "standards.OauthConsent.AllowedApps", + "label": "Allowed application IDs, comma separated" + } + ], + "label": "Require admin consent for applications (Prevent OAuth phishing)", + "impact": "Medium Impact", + "impactColour": "warning", + "powershellEquivalent": "Update-MgPolicyAuthorizationPolicy", + "recommendedBy": ["CIS"] }, { - "name": "standards.DisableSharedMailbox", - "cat": "Exchange", - "helpText": "Blocks login for all accounts that are marked as a shared mailbox", - "addedComponent": null, - "label": "Disable Shared Mailbox AAD accounts" + "name": "standards.OauthConsentLowSec", + "cat": "Entra (AAD) Standards", + "tag": ["mediumimpact", "IntegratedApps"], + "helpText": "Sets the default oauth consent level so users can consent to applications that have low risks.", + "docsDescription": "Allows users to consent to applications with low assigned risk.", + "label": "Allow users to consent to applications with low security risk (Prevent OAuth phishing. Lower impact, less secure)", + "impact": "Medium Impact", + "impactColour": "warning", + "powershellEquivalent": "Update-MgPolicyAuthorizationPolicy", + "recommendedBy": [] }, { - "name": "standards.DelegateSentItems", - "cat": "Exchange", - "helpText": "Sets emails sent as and on behalf of shared mailboxes to also be stored in the shared mailbox sent items folder", - "addedComponent": null, - "label": "Set mailbox Sent Items delegation (Sent items for shared mailboxes)" + "name": "standards.UndoOauth", + "cat": "Entra (AAD) Standards", + "tag": ["highimpact"], + "helpText": "Disables App consent and set to Allow user consent for apps", + "addedComponent": [], + "label": "Undo App Consent Standard", + "impact": "High Impact", + "impactColour": "danger", + "powershellEquivalent": "Update-MgPolicyAuthorizationPolicy", + "recommendedBy": [] }, { - "name": "standards.SendFromAlias", - "cat": "Exchange", - "helpText": "", - "addedComponent": null, - "label": "Allow users to send from their alias addresses" + "name": "standards.SecurityDefaults", + "cat": "Entra (AAD) Standards", + "tag": ["highimpact"], + "helpText": "Enables security defaults for the tenant, for newer tenants this is enabled by default. Do not enable this feature if you use Conditional Access.", + "docsDescription": "Enables SD for the tenant, which disables all forms of basic authentication and enforces users to configure MFA. Users are only prompted for MFA when a logon is considered 'suspect' by Microsoft.", + "addedComponent": [], + "label": "Enable Security Defaults", + "impact": "High Impact", + "impactColour": "danger", + "powershellEquivalent": "[Read more here](https://www.cyberdrain.com/automating-with-powershell-enabling-secure-defaults-and-sd-explained/)", + "recommendedBy": [] + }, + { + "name": "standards.DisableSMS", + "cat": "Entra (AAD) Standards", + "tag": ["highimpact"], + "helpText": "This blocks users from using SMS as an MFA method. If a user only has SMS as a MFA method, they will be unable to log in.", + "docsDescription": "Disables SMS as an MFA method for the tenant. If a user only has SMS as a MFA method, they will be unable to sign in.", + "addedComponent": [], + "label": "Disables SMS as an MFA method", + "impact": "High Impact", + "impactColour": "danger", + "powershellEquivalent": "Update-MgBetaPolicyAuthenticationMethodPolicyAuthenticationMethodConfiguration", + "recommendedBy": [] + }, + { + "name": "standards.DisableVoice", + "cat": "Entra (AAD) Standards", + "tag": ["highimpact"], + "helpText": "This blocks users from using Voice call as an MFA method. If a user only has Voice as a MFA method, they will be unable to log in.", + "docsDescription": "Disables Voice call as an MFA method for the tenant. If a user only has Voice call as a MFA method, they will be unable to sign in.", + "addedComponent": [], + "label": "Disables Voice call as an MFA method", + "impact": "High Impact", + "impactColour": "danger", + "powershellEquivalent": "Update-MgBetaPolicyAuthenticationMethodPolicyAuthenticationMethodConfiguration", + "recommendedBy": [] + }, + { + "name": "standards.DisableEmail", + "cat": "Entra (AAD) Standards", + "tag": ["highimpact"], + "helpText": "This blocks users from using email as an MFA method. This disables the email OTP option for guest users, and instead prompts them to create a Microsoft account.", + "addedComponent": [], + "label": "Disables Email as an MFA method", + "impact": "High Impact", + "impactColour": "danger", + "powershellEquivalent": "Update-MgBetaPolicyAuthenticationMethodPolicyAuthenticationMethodConfiguration", + "recommendedBy": [] + }, + { + "name": "standards.Disablex509Certificate", + "cat": "Entra (AAD) Standards", + "tag": ["highimpact"], + "helpText": "This blocks users from using Certificates as an MFA method.", + "docsDescription": "", + "addedComponent": [], + "label": "Disables Certificates as an MFA method", + "impact": "High Impact", + "impactColour": "danger", + "powershellEquivalent": "Update-MgBetaPolicyAuthenticationMethodPolicyAuthenticationMethodConfiguration", + "recommendedBy": [] + }, + { + "name": "standards.PerUserMFA", + "cat": "Entra (AAD) Standards", + "tag": ["highimpact"], + "helpText": "Enables per user MFA for all users.", + "addedComponent": [], + "label": "Enables per user MFA for all users.", + "impact": "High Impact", + "impactColour": "danger", + "powershellEquivalent": "Graph API", + "recommendedBy": [] + }, + { + "name": "standards.OutBoundSpamAlert", + "cat": "Exchange Standards", + "tag": ["lowimpact", "CIS"], + "helpText": "Set the Outbound Spam Alert e-mail address", + "docsDescription": "Sets the e-mail address to which outbound spam alerts are sent.", + "addedComponent": [ + { + "type": "input", + "name": "standards.OutBoundSpamAlert.OutboundSpamContact", + "label": "Outbound spam contact" + } + ], + "label": "Set Outbound Spam Alert e-mail", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Set-HostedOutboundSpamFilterPolicy", + "recommendedBy": ["CIS"] + }, + { + "name": "standards.MessageExpiration", + "cat": "Exchange Standards", + "tag": ["lowimpact"], + "helpText": "Sets the transport message configuration to timeout a message at 12 hours.", + "docsDescription": "Expires messages in the transport queue after 12 hours. Makes the NDR for failed messages show up faster for users. Default is 24 hours.", + "addedComponent": [], + "label": "Lower Transport Message Expiration to 12 hours", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Set-TransportConfig -MessageExpirationTimeout 12.00:00:00", + "recommendedBy": [] + }, + { + "name": "standards.GlobalQuarantineNotifications", + "cat": "Exchange Standards", + "tag": ["lowimpact"], + "helpText": "Sets the Global Quarantine Notification Interval to the selected value. Determines how often the quarantine notification is sent to users.", + "docsDescription": "Sets the global quarantine notification interval for the tenant. This is the time between the quarantine notification emails are sent out to users. Default is 24 hours.", + "addedComponent": [ + { + "type": "Select", + "label": "Select value", + "name": "standards.GlobalQuarantineNotifications.NotificationInterval", + "values": [ + { + "label": "4 hours", + "value": "04:00:00" + }, + { + "label": "1 day/Daily", + "value": "1.00:00:00" + }, + { + "label": "7 days/Weekly", + "value": "7.00:00:00" + } + ] + } + ], + "label": "Set Global Quarantine Notification Interval", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Set-QuarantinePolicy -EndUserSpamNotificationFrequency", + "recommendedBy": [] + }, + { + "name": "standards.DisableTNEF", + "cat": "Exchange Standards", + "tag": ["lowimpact"], + "helpText": "Disables Transport Neutral Encapsulation Format (TNEF)/winmail.dat for the tenant. TNEF can cause issues if the recipient is not using a client supporting TNEF.", + "docsDescription": "Disables Transport Neutral Encapsulation Format (TNEF)/winmail.dat for the tenant. TNEF can cause issues if the recipient is not using a client supporting TNEF. Cannot be overridden by the user. For more information, see [Microsoft's documentation.](https://learn.microsoft.com/en-us/exchange/mail-flow/content-conversion/tnef-conversion?view=exchserver-2019)", + "addedComponent": [], + "label": "Disable TNEF/winmail.dat", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Set-RemoteDomain -Identity 'Default' -TNEFEnabled $false", + "recommendedBy": [] + }, + { + "name": "standards.FocusedInbox", + "cat": "Exchange Standards", + "tag": ["lowimpact"], + "helpText": "Sets the default Focused Inbox state for the tenant. This can be overridden by the user.", + "docsDescription": "Sets the default Focused Inbox state for the tenant. This can be overridden by the user in their Outlook settings. For more information, see [Microsoft's documentation.](https://support.microsoft.com/en-us/office/focused-inbox-for-outlook-f445ad7f-02f4-4294-a82e-71d8964e3978)", + "addedComponent": [ + { + "type": "Select", + "label": "Select value", + "name": "standards.FocusedInbox.state", + "values": [ + { + "label": "Enabled", + "value": "enabled" + }, + { + "label": "Disabled", + "value": "disabled" + } + ] + } + ], + "label": "Set Focused Inbox state", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Set-OrganizationConfig -FocusedInboxOn $true or $false", + "recommendedBy": [] + }, + { + "name": "standards.CloudMessageRecall", + "cat": "Exchange Standards", + "tag": ["lowimpact"], + "helpText": "Sets the Cloud Message Recall state for the tenant. This allows users to recall messages from the cloud.", + "docsDescription": "Sets the default state for Cloud Message Recall for the tenant. By default this is enabled. You can read more about the feature [here.](https://techcommunity.microsoft.com/t5/exchange-team-blog/cloud-based-message-recall-in-exchange-online/ba-p/3744714)", + "addedComponent": [ + { + "type": "Select", + "label": "Select value", + "name": "standards.CloudMessageRecall.state", + "values": [ + { + "label": "Enabled", + "value": "true" + }, + { + "label": "Disabled", + "value": "false" + } + ] + } + ], + "label": "Set Cloud Message Recall state", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Set-OrganizationConfig -MessageRecallEnabled", + "recommendedBy": [] }, { "name": "standards.AutoExpandArchive", - "cat": "Exchange", + "cat": "Exchange Standards", + "tag": ["lowimpact"], "helpText": "Enables auto-expanding archives for the tenant", - "addedComponent": null, - "label": "Enable Auto-expanding archives" - }, - { - "name": "standards.SpoofWarn.enable", - "cat": "Exchange", - "helpText": "Adds indicators to e-mail messages received from external senders in Outlook. Works on all Outlook clients/OWA", - "addedComponent": null, - "label": "Enable Spoofing warnings for Outlook (This e-mail is external identifiers)" - }, - { - "name": "standards.SpoofWarn.disable", - "cat": "Exchange", - "helpText": "Disables spoof warnings from external senders in Outlook.", - "addedComponent": null, - "label": "Disable Spoofing warnings for Outlook (This e-mail is external identifiers)" + "docsDescription": "Enables auto-expanding archives for the tenant. Does not enable archives for users.", + "addedComponent": [], + "label": "Enable Auto-expanding archives", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Set-OrganizationConfig -AutoExpandingArchive", + "recommendedBy": [] + }, + { + "name": "standards.EnableOnlineArchiving", + "cat": "Exchange Standards", + "tag": ["lowimpact"], + "helpText": "Enables the In-Place Online Archive for all UserMailboxes with a valid license.", + "addedComponent": [], + "label": "Enable Online Archive for all users", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Enable-Mailbox -Archive $true", + "recommendedBy": [] + }, + { + "name": "standards.EnableLitigationHold", + "cat": "Exchange Standards", + "tag": ["lowimpact"], + "helpText": "Enables litigation hold for all UserMailboxes with a valid license.", + "addedComponent": [], + "label": "Enable Litigation Hold for all users", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Set-Mailbox -LitigationHoldEnabled $true", + "recommendedBy": [] + }, + { + "name": "standards.SpoofWarn", + "cat": "Exchange Standards", + "tag": ["lowimpact", "CIS"], + "helpText": "Adds or removes indicators to e-mail messages received from external senders in Outlook. Works on all Outlook clients/OWA", + "docsDescription": "Adds or removes indicators to e-mail messages received from external senders in Outlook. You can read more about this feature on [Microsoft's Exchange Team Blog.](https://techcommunity.microsoft.com/t5/exchange-team-blog/native-external-sender-callouts-on-email-in-outlook/ba-p/2250098)", + "addedComponent": [ + { + "type": "Select", + "label": "Select value", + "name": "standards.SpoofWarn.state", + "values": [ + { + "label": "Enabled", + "value": "enabled" + }, + { + "label": "Disabled", + "value": "disabled" + } + ] + } + ], + "label": "Enable or disable 'external' warning in Outlook", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "et-ExternalInOutlook –Enabled $true or $false", + "recommendedBy": ["CIS"] + }, + { + "name": "standards.EnableMailTips", + "cat": "Exchange Standards", + "tag": ["lowimpact", "CIS", "exo_mailtipsenabled"], + "helpText": "Enables all MailTips in Outlook. MailTips are the notifications Outlook and Outlook on the web shows when an email you create, meets some requirements", + "addedComponent": [ + { + "type": "number", + "name": "standards.EnableMailTips.MailTipsLargeAudienceThreshold", + "label": "Number of recipients to trigger the large audience MailTip (Default is 25)", + "placeholder": "Enter a profile name", + "default": 25 + } + ], + "label": "Enable all MailTips", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Set-OrganizationConfig", + "recommendedBy": ["CIS"] + }, + { + "name": "standards.TeamsMeetingsByDefault", + "cat": "Exchange Standards", + "tag": ["lowimpact"], + "helpText": "Sets the default state for automatically turning meetings into Teams meetings for the tenant. This can be overridden by the user in Outlook.", + "addedComponent": [ + { + "type": "Select", + "label": "Select value", + "name": "standards.TeamsMeetingsByDefault.state", + "values": [ + { + "label": "Enabled", + "value": "true" + }, + { + "label": "Disabled", + "value": "false" + } + ] + } + ], + "label": "Set Teams Meetings by default state", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Set-OrganizationConfig -OnlineMeetingsByDefaultEnabled", + "recommendedBy": [] }, { "name": "standards.DisableViva", - "cat": "Exchange", - "helpText": "", - "addedComponent": null, - "label": "Disable daily Insight/Viva reports" + "cat": "Exchange Standards", + "tag": ["lowimpact"], + "helpText": "Disables the daily viva reports for all users.", + "docsDescription": "", + "addedComponent": [], + "label": "Disable daily Insight/Viva reports", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Set-UserBriefingConfig", + "recommendedBy": [] }, { "name": "standards.RotateDKIM", - "cat": "Exchange", + "cat": "Exchange Standards", + "tag": ["lowimpact", "CIS"], "helpText": "Rotate DKIM keys that are 1024 bit to 2048 bit", - "addedComponent": null, - "label": "Rotate DKIM keys that are 1024 bit to 2048 bit" + "addedComponent": [], + "label": "Rotate DKIM keys that are 1024 bit to 2048 bit", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Rotate-DkimSigningConfig", + "recommendedBy": ["CIS"] }, { "name": "standards.AddDKIM", - "cat": "Exchange", + "cat": "Exchange Standards", + "tag": ["lowimpact", "CIS"], "helpText": "Enables DKIM for all domains that currently support it", - "addedComponent": null, - "label": "Enables DKIM for all domains that currently support it" - }, - { - "name": "standards.ActivityBasedTimeout", - "cat": "Global", - "helpText": "Enables and sets Idle session timeout for Microsoft 365 to 1 hour. This policy affects most M365 web apps", - "addedComponent": null, - "label": "Enable 1 hour Activity based Timeout" - }, - { - "name": "standards.SendReceiveLimitTenant.Enabled", - "cat": "Exchange", - "helpText": "Sets the Send and Receive limits for new users. Valid values are 1KB to 150MB. Invalid values will be set to EXO standard of 35MB,36MB", - "addedComponent": { - "type": "input", - "name": "standards.SendReceiveLimitTenant.SendReceiveLimit", - "label": "Send limit and Receive limit, comma separated" - }, - "label": "Set send/receive size limits" - }, - - { - "name": "standards.calDefault.Enabled", - "cat": "Exchange", + "addedComponent": [], + "label": "Enables DKIM for all domains that currently support it", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "New-DkimSigningConfig and Set-DkimSigningConfig", + "recommendedBy": ["CIS"] + }, + { + "name": "standards.EnableMailboxAuditing", + "cat": "Exchange Standards", + "tag": ["lowimpact", "CIS", "exo_mailboxaudit"], + "helpText": "Enables Mailbox auditing for all mailboxes and on tenant level. Disables audit bypass on all mailboxes. Unified Audit Log needs to be enabled for this standard to function.", + "docsDescription": "Enables mailbox auditing on tenant level and for all mailboxes. Disables audit bypass on all mailboxes. By default Microsoft does not enable mailbox auditing for Resource Mailboxes, Public Folder Mailboxes and DiscoverySearch Mailboxes. Unified Audit Log needs to be enabled for this standard to function.", + "addedComponent": [], + "label": "Enable Mailbox auditing", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Set-OrganizationConfig -AuditDisabled $false", + "recommendedBy": ["CIS"] + }, + { + "name": "standards.SendReceiveLimitTenant", + "cat": "Exchange Standards", + "tag": ["lowimpact"], + "helpText": "Sets the Send and Receive limits for new users. Valid values are 1MB to 150MB", + "addedComponent": [ + { + "type": "number", + "name": "standards.SendReceiveLimitTenant.SendLimit", + "label": "Send limit in MB (Default is 35)", + "default": 35 + }, + { + "type": "number", + "name": "standards.SendReceiveLimitTenant.ReceiveLimit", + "label": "Receive Limit in MB (Default is 36)", + "default": 36 + } + ], + "label": "Set send/receive size limits", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Set-MailboxPlan", + "recommendedBy": [] + }, + { + "name": "standards.calDefault", + "cat": "Exchange Standards", + "tag": ["lowimpact"], "helpText": "Sets the default sharing level for the default calendar, for all users", - "addedComponent": { - "type": "Select", - "label": "Select Sharing Level", - "name": "standards.calDefault.permissionlevel", - "values": [ - { - "label": "Owner - The user can create, read, edit, and delete all items in the folder, and create subfolders. The user is both folder owner and folder contact.", - "value": "Owner" - }, - { - "label": "Publishing Editor - The user can create, read, edit, and delete all items in the folder, and create subfolders.", - "value": "PublishingEditor" - }, - { - "label": "Reviewer - The user can read all items in the folder.", - "value": "Reviewer" - }, - { - "label": "Editor - The user can create items in the folder. The contents of the folder do not appear.", - "value": "Contributor" - }, - { - "label": "Limited Details - The user can view free/busy time within the calendar and the subject and location of appointments.", - "value": "LimitedDetails" - }, - { - "label": "Availability Only - Indicates that the user can view only free/busy time within the calendar.", - "value": "AvailabilityOnly" - }, - { - "label": "None - The user has no permissions on the folder.", - "value": "none" - } - ] + "docsDescription": "Sets the default sharing level for the default calendar for all users in the tenant. You can read about the different sharing levels [here.](https://learn.microsoft.com/en-us/powershell/module/exchange/set-mailboxfolderpermission?view=exchange-ps#-accessrights)", + "disabledFeatures": { + "report": true, + "warn": true, + "remediate": false }, - "label": "Set Sharing Level for Default calendar" + "addedComponent": [ + { + "type": "Select", + "label": "Select Sharing Level", + "name": "standards.calDefault.permissionlevel", + "values": [ + { + "label": "Owner - The user can create, read, edit, and delete all items in the folder, and create subfolders. The user is both folder owner and folder contact.", + "value": "Owner" + }, + { + "label": "Publishing Editor - The user can create, read, edit, and delete all items in the folder, and create subfolders.", + "value": "PublishingEditor" + }, + { + "label": "Editor - The user can create items in the folder. The contents of the folder do not appear.", + "value": "Editor" + }, + { + "label": "Publishing Author. The user can read, create all items/subfolders. Can modify and delete only items they create.", + "value": "PublishingAuthor" + }, + { + "label": "Author - The user can create and read items, and modify and delete items that they create.", + "value": "Author" + }, + { + "label": "Non Editing Author - The user has full read access and create items. Can can delete only own items.", + "value": "NonEditingAuthor" + }, + { + "label": "Reviewer - The user can read all items in the folder.", + "value": "Reviewer" + }, + { + "label": "Contributor - The user can create items and folders.", + "value": "Contributor" + }, + { + "label": "Availability Only - Indicates that the user can view only free/busy time within the calendar.", + "value": "AvailabilityOnly" + }, + { + "label": "Limited Details - The user can view free/busy time within the calendar and the subject and location of appointments.", + "value": "LimitedDetails" + }, + { + "label": "None - The user has no permissions on the folder.", + "value": "none" + } + ] + } + ], + "label": "Set Sharing Level for Default calendar", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Set-MailboxFolderPermission", + "recommendedBy": [] + }, + { + "name": "standards.DisableExternalCalendarSharing", + "cat": "Exchange Standards", + "tag": ["lowimpact", "CIS", "exo_individualsharing"], + "helpText": "Disables the ability for users to share their calendar with external users. Only for the default policy, so exclusions can be made if needed.", + "docsDescription": "Disables external calendar sharing for the entire tenant. This is not a widely used feature, and it's therefore unlikely that this will impact users. Only for the default policy, so exclusions can be made if needed by making a new policy and assigning it to users.", + "addedComponent": [], + "label": "Disable external calendar sharing", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Get-SharingPolicy | Set-SharingPolicy -Enabled $False", + "recommendedBy": ["CIS"] + }, + { + "name": "standards.DisableAdditionalStorageProviders", + "cat": "Exchange Standards", + "tag": ["lowimpact", "CIS", "exo_storageproviderrestricted"], + "helpText": "Disables the ability for users to open files in Outlook on the Web, from other providers such as Box, Dropbox, Facebook, Google Drive, OneDrive Personal, etc.", + "docsDescription": "Disables additional storage providers in OWA. This is to prevent users from using personal storage providers like Dropbox, Google Drive, etc. Usually this has little user impact.", + "addedComponent": [], + "label": "Disable additional storage providers in OWA", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Get-OwaMailboxPolicy | Set-OwaMailboxPolicy -AdditionalStorageProvidersEnabled $False", + "recommendedBy": ["CIS"] + }, + { + "name": "standards.ShortenMeetings", + "cat": "Exchange Standards", + "tag": ["mediumimpact"], + "helpText": "Sets the shorten meetings settings on a tenant level. This will shorten meetings by the selected amount of minutes. Valid values are 0 to 29. Short meetings are under 60 minutes, long meetings are over 60 minutes.", + "addedComponent": [ + { + "type": "Select", + "label": "Select value", + "name": "standards.ShortenMeetings.ShortenEventScopeDefault", + "values": [ + { + "label": "Disabled/None", + "value": "None" + }, + { + "label": "End early", + "value": "EndEarly" + }, + { + "label": "Start late", + "value": "StartLate" + } + ] + }, + { + "type": "number", + "name": "standards.ShortenMeetings.DefaultMinutesToReduceShortEventsBy", + "label": "Minutes to reduce short calendar events by (Default is 5)", + "default": 5 + }, + { + "type": "number", + "name": "standards.ShortenMeetings.DefaultMinutesToReduceLongEventsBy", + "label": "Minutes to reduce long calendar events by (Default is 10)", + "default": 10 + } + ], + "label": "Set shorten meetings state", + "impact": "Medium Impact", + "impactColour": "warning", + "powershellEquivalent": "Set-OrganizationConfig -ShortenEventScopeDefault -DefaultMinutesToReduceShortEventsBy -DefaultMinutesToReduceLongEventsBy", + "recommendedBy": [] + }, + { + "name": "standards.Bookings", + "cat": "Exchange Standards", + "tag": ["mediumimpact"], + "helpText": "Sets the state of Bookings on the tenant. Bookings is a scheduling tool that allows users to book appointments with others both internal and external.", + "docsDescription": "", + "addedComponent": [ + { + "type": "Select", + "label": "Select value", + "name": "standards.Bookings.state", + "values": [ + { + "label": "Enabled", + "value": "true" + }, + { + "label": "Disabled", + "value": "false" + } + ] + } + ], + "label": "Set Bookings state", + "impact": "Medium Impact", + "impactColour": "warning", + "powershellEquivalent": "Set-OrganizationConfig -BookingsEnabled", + "recommendedBy": [] + }, + { + "name": "standards.DisableOutlookAddins", + "cat": "Exchange Standards", + "tag": ["mediumimpact", "CIS", "exo_outlookaddins"], + "helpText": "Disables the ability for users to install add-ins in Outlook. This is to prevent users from installing malicious add-ins.", + "docsDescription": "Disables users from being able to install add-ins in Outlook. Only admins are able to approve add-ins for the users. This is done to reduce the threat surface for data exfiltration.", + "addedComponent": [], + "label": "Disable users from installing add-ins in Outlook", + "impact": "Medium Impact", + "impactColour": "warning", + "powershellEquivalent": "Get-ManagementRoleAssignment | Remove-ManagementRoleAssignment", + "recommendedBy": ["CIS"] }, { - "name": "standards.UserSubmissions.enable", - "cat": "Exchange", - "helpText": "", - "addedComponent": null, - "label": "Enable the built-in Report button in Outlook" + "name": "standards.SafeSendersDisable", + "cat": "Exchange Standards", + "tag": ["mediumimpact"], + "helpText": "Loops through all users and removes the Safe Senders list. This is to prevent SPF bypass attacks, as the Safe Senders list is not checked by SPF.", + "addedComponent": [], + "disabledFeatures": { + "report": true, + "warn": true, + "remediate": false + }, + "label": "Remove Safe Senders to prevent SPF bypass", + "impact": "Medium Impact", + "impactColour": "warning", + "powershellEquivalent": "Set-MailboxJunkEmailConfiguration", + "recommendedBy": [] }, { - "name": "standards.UserSubmissions.disable", - "cat": "Exchange", - "helpText": "", - "addedComponent": null, - "label": "Disable the built-in Report button in Outlook" + "name": "standards.DelegateSentItems", + "cat": "Exchange Standards", + "tag": ["mediumimpact"], + "helpText": "Sets emails sent as and on behalf of shared mailboxes to also be stored in the shared mailbox sent items folder", + "docsDescription": "This makes sure that e-mails sent from shared mailboxes or delegate mailboxes, end up in the mailbox of the shared/delegate mailbox instead of the sender, allowing you to keep replies in the same mailbox as the original e-mail.", + "addedComponent": [], + "label": "Set mailbox Sent Items delegation (Sent items for shared mailboxes)", + "impact": "Medium Impact", + "impactColour": "warning", + "powershellEquivalent": "Set-Mailbox", + "recommendedBy": [] }, { - "name": "standards.intuneDeviceReg.Enabled", - "cat": "Intune", - "helpText": "", - "addedComponent": { - "type": "input", - "name": "standards.intuneDeviceReg.max", - "label": "Maximum devices (Enter 2147483647 for unlimited.)" - }, - "label": "Set Maximum Number of Devices per user" + "name": "standards.SendFromAlias", + "cat": "Exchange Standards", + "tag": ["mediumimpact"], + "helpText": "Enables the ability for users to send from their alias addresses.", + "docsDescription": "Allows users to change the 'from' address to any set in their Azure AD Profile.", + "addedComponent": [], + "label": "Allow users to send from their alias addresses", + "impact": "Medium Impact", + "impactColour": "warning", + "powershellEquivalent": "Set-Mailbox", + "recommendedBy": [] + }, + { + "name": "standards.UserSubmissions", + "cat": "Exchange Standards", + "tag": ["mediumimpact"], + "helpText": "Set the state of the spam submission button in Outlook", + "docsDescription": "Set the state of the built-in Report button in Outlook. This gives the users the ability to report emails as spam or phish.", + "addedComponent": [ + { + "type": "Select", + "label": "Select value", + "name": "standards.UserSubmissions.state", + "values": [ + { + "label": "Enabled", + "value": "enable" + }, + { + "label": "Disabled", + "value": "disable" + } + ] + }, + { + "type": "input", + "name": "standards.UserSubmissions.email", + "label": "Destination email address" + } + ], + "label": "Set the state of the built-in Report button in Outlook", + "impact": "Medium Impact", + "impactColour": "warning", + "powershellEquivalent": "New-ReportSubmissionPolicy or Set-ReportSubmissionPolicy and New-ReportSubmissionRule or Set-ReportSubmissionRule", + "recommendedBy": [] }, { - "name": "standards.intuneDeviceRetirementDays.Enabled", - "cat": "Intune", - "helpText": "A value between 0 and 270 is supported. A value of 0 disables retirement.", - "addedComponent": { - "type": "input", - "name": "standards.intuneDeviceRetirementDays.days", - "label": "Maximum days (0 equals disabled)" - }, - "label": "Set inactive device retirement days" + "name": "standards.DisableSharedMailbox", + "cat": "Exchange Standards", + "tag": ["mediumimpact", "CIS"], + "helpText": "Blocks login for all accounts that are marked as a shared mailbox. This is Microsoft best practice to prevent direct logons to shared mailboxes.", + "docsDescription": "Shared mailboxes can be directly logged into if the password is reset, this presents a security risk as do all shared login credentials. Microsoft's recommendation is to disable the user account for shared mailboxes. It would be a good idea to review the sign-in reports to establish potential impact.", + "addedComponent": [], + "label": "Disable Shared Mailbox AAD accounts", + "impact": "Medium Impact", + "impactColour": "warning", + "powershellEquivalent": "Get-Mailbox & Update-MgUser", + "recommendedBy": ["CIS"] + }, + { + "name": "standards.EXODisableAutoForwarding", + "cat": "Exchange Standards", + "tag": ["highimpact", "CIS", "mdo_autoforwardingmode", "mdo_blockmailforward"], + "helpText": "Disables the ability for users to automatically forward e-mails to external recipients.", + "docsDescription": "Disables the ability for users to automatically forward e-mails to external recipients. This is to prevent data exfiltration. Please check if there are any legitimate use cases for this feature before implementing, like forwarding invoices and such.", + "addedComponent": [], + "label": "Disable automatic forwarding to external recipients", + "impact": "High Impact", + "impactColour": "danger", + "powershellEquivalent": "Set-HostedOutboundSpamFilterPolicy -AutoForwardingMode 'Off'", + "recommendedBy": ["CIS"] + }, + { + "name": "standards.QuarantineRequestAlert", + "cat": "Defender Standards", + "tag": ["lowimpact"], + "helpText": "Sets a e-mail address to alert when a User requests to release a quarantined message.", + "docsDescription": "Sets a e-mail address to alert when a User requests to release a quarantined message. This is useful for monitoring and ensuring that the correct messages are released.", + "addedComponent": [ + { + "type": "input", + "name": "standards.QuarantineRequestAlert.NotifyUser", + "label": "E-mail to receive the alert" + } + ], + "label": "Quarantine Release Request Alert", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "New-ProtectionAlert and Set-ProtectionAlert", + "recommendedBy": [] + }, + { + "name": "standards.SafeLinksPolicy", + "cat": "Defender Standards", + "tag": ["lowimpact", "CIS", "mdo_safelinksforemail", "mdo_safelinksforOfficeApps"], + "helpText": "This creates a safelink policy that automatically scans, tracks, and and enables safe links for Email, Office, and Teams for both external and internal senders", + "addedComponent": [ + { + "type": "boolean", + "label": "AllowClickThrough", + "name": "standards.SafeLinksPolicy.AllowClickThrough" + }, + { + "type": "boolean", + "label": "DisableUrlRewrite", + "name": "standards.SafeLinksPolicy.DisableUrlRewrite" + }, + { + "type": "boolean", + "label": "EnableOrganizationBranding", + "name": "standards.SafeLinksPolicy.EnableOrganizationBranding" + } + ], + "label": "Default SafeLinks Policy", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Set-SafeLinksPolicy or New-SafeLinksPolicy", + "recommendedBy": ["CIS"] + }, + { + "name": "standards.AntiPhishPolicy", + "cat": "Defender Standards", + "tag": [ + "lowimpact", + "CIS", + "mdo_safeattachments", + "mdo_highconfidencespamaction", + "mdo_highconfidencephishaction", + "mdo_phisspamacation", + "mdo_spam_notifications_only_for_admins", + "mdo_antiphishingpolicies", + "mdo_phishthresholdlevel" + ], + "helpText": "This creates a Anti-Phishing policy that automatically enables Mailbox Intelligence and spoofing, optional switches for Mailtips.", + "addedComponent": [ + { + "type": "number", + "label": "Phishing email threshold. (Default 1)", + "name": "standards.AntiPhishPolicy.PhishThresholdLevel", + "default": 1 + }, + { + "type": "boolean", + "label": "Show first contact safety tip", + "name": "standards.AntiPhishPolicy.EnableFirstContactSafetyTips", + "default": true + }, + { + "type": "boolean", + "label": "Show user impersonation safety tip", + "name": "standards.AntiPhishPolicy.EnableSimilarUsersSafetyTips", + "default": true + }, + { + "type": "boolean", + "label": "Show domain impersonation safety tip", + "name": "standards.AntiPhishPolicy.EnableSimilarDomainsSafetyTips", + "default": true + }, + { + "type": "boolean", + "label": "Show user impersonation unusual characters safety tip", + "name": "standards.AntiPhishPolicy.EnableUnusualCharactersSafetyTips", + "default": true + }, + { + "type": "Select", + "label": "If the message is detected as spoof by spoof intelligence", + "name": "standards.AntiPhishPolicy.AuthenticationFailAction", + "values": [ + { + "label": "Quarantine the message", + "value": "Quarantine" + }, + { + "label": "Move to Junk Folder", + "value": "MoveToJmf" + } + ] + }, + { + "type": "Select", + "label": "Quarantine policy for Spoof", + "name": "standards.AntiPhishPolicy.SpoofQuarantineTag", + "values": [ + { + "label": "AdminOnlyAccessPolicy", + "value": "AdminOnlyAccessPolicy" + }, + { + "label": "DefaultFullAccessPolicy", + "value": "DefaultFullAccessPolicy" + }, + { + "label": "DefaultFullAccessWithNotificationPolicy", + "value": "DefaultFullAccessWithNotificationPolicy" + } + ] + }, + { + "type": "Select", + "label": "If a message is detected as user impersonation", + "name": "standards.AntiPhishPolicy.TargetedUserProtectionAction", + "values": [ + { + "label": "Move to Junk Folder", + "value": "MoveToJmf" + }, + { + "label": "Delete the message before its delivered", + "value": "Delete" + }, + { + "label": "Quarantine the message", + "value": "Quarantine" + } + ] + }, + { + "type": "Select", + "label": "Quarantine policy for user impersonation", + "name": "standards.AntiPhishPolicy.TargetedUserQuarantineTag", + "values": [ + { + "label": "AdminOnlyAccessPolicy", + "value": "AdminOnlyAccessPolicy" + }, + { + "label": "DefaultFullAccessPolicy", + "value": "DefaultFullAccessPolicy" + }, + { + "label": "DefaultFullAccessWithNotificationPolicy", + "value": "DefaultFullAccessWithNotificationPolicy" + } + ] + }, + { + "type": "Select", + "label": "If a message is detected as domain impersonation", + "name": "standards.AntiPhishPolicy.TargetedDomainProtectionAction", + "values": [ + { + "label": "Move to Junk Folder", + "value": "MoveToJmf" + }, + { + "label": "Delete the message before its delivered", + "value": "Delete" + }, + { + "label": "Quarantine the message", + "value": "Quarantine" + } + ] + }, + { + "type": "Select", + "label": "Quarantine policy for domain impersonation", + "name": "standards.AntiPhishPolicy.TargetedDomainQuarantineTag", + "values": [ + { + "label": "DefaultFullAccessWithNotificationPolicy", + "value": "DefaultFullAccessWithNotificationPolicy" + }, + { + "label": "AdminOnlyAccessPolicy", + "value": "AdminOnlyAccessPolicy" + }, + { + "label": "DefaultFullAccessPolicy", + "value": "DefaultFullAccessPolicy" + } + ] + }, + { + "type": "Select", + "label": "If Mailbox Intelligence detects an impersonated user", + "name": "standards.AntiPhishPolicy.MailboxIntelligenceProtectionAction", + "values": [ + { + "label": "Move to Junk Folder", + "value": "MoveToJmf" + }, + { + "label": "Delete the message before its delivered", + "value": "Delete" + }, + { + "label": "Quarantine the message", + "value": "Quarantine" + } + ] + }, + { + "type": "Select", + "label": "Apply quarantine policy", + "name": "standards.AntiPhishPolicy.MailboxIntelligenceQuarantineTag", + "values": [ + { + "label": "AdminOnlyAccessPolicy", + "value": "AdminOnlyAccessPolicy" + }, + { + "label": "DefaultFullAccessPolicy", + "value": "DefaultFullAccessPolicy" + }, + { + "label": "DefaultFullAccessWithNotificationPolicy", + "value": "DefaultFullAccessWithNotificationPolicy" + } + ] + } + ], + "label": "Default Anti-Phishing Policy", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Set-AntiphishPolicy or New-AntiphishPolicy", + "recommendedBy": ["CIS"] + }, + { + "name": "standards.SafeAttachmentPolicy", + "cat": "Defender Standards", + "tag": [ + "lowimpact", + "CIS", + "mdo_safedocuments", + "mdo_commonattachmentsfilter", + "mdo_safeattachmentpolicy" + ], + "helpText": "This creates a Safe Attachment policy", + "addedComponent": [ + { + "type": "Select", + "label": "Action", + "name": "standards.SafeAttachmentPolicy.Action", + "values": [ + { + "label": "Allow", + "value": "Allow" + }, + { + "label": "Block", + "value": "Block" + }, + { + "label": "DynamicDelivery", + "value": "DynamicDelivery" + } + ] + }, + { + "type": "Select", + "label": "QuarantineTag", + "name": "standards.SafeAttachmentPolicy.QuarantineTag", + "values": [ + { + "label": "AdminOnlyAccessPolicy", + "value": "AdminOnlyAccessPolicy" + }, + { + "label": "DefaultFullAccessPolicy", + "value": "DefaultFullAccessPolicy" + }, + { + "label": "DefaultFullAccessWithNotificationPolicy", + "value": "DefaultFullAccessWithNotificationPolicy" + } + ] + }, + { + "type": "boolean", + "label": "Redirect", + "name": "standards.SafeAttachmentPolicy.Redirect" + }, + { + "type": "input", + "name": "standards.SafeAttachmentPolicy.RedirectAddress", + "label": "Redirect Address" + } + ], + "label": "Default Safe Attachment Policy", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Set-SafeAttachmentPolicy or New-SafeAttachmentPolicy", + "recommendedBy": ["CIS"] + }, + { + "name": "standards.AtpPolicyForO365", + "cat": "Defender Standards", + "tag": ["lowimpact", "CIS"], + "helpText": "This creates a Atp policy that enables Defender for Office 365 for Sharepoint, OneDrive and Microsoft Teams.", + "addedComponent": [ + { + "type": "boolean", + "label": "Allow people to click through Protected View even if Safe Documents identified the file as malicious", + "name": "standards.AtpPolicyForO365.AllowSafeDocsOpen", + "default": false + } + ], + "label": "Default Atp Policy For O365", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Set-AtpPolicyForO365", + "recommendedBy": ["CIS"] + }, + { + "name": "standards.MalwareFilterPolicy", + "cat": "Defender Standards", + "tag": ["lowimpact", "CIS", "mdo_zapspam", "mdo_zapphish", "mdo_zapmalware"], + "helpText": "This creates a Malware filter policy that enables the default File filter and Zero-hour auto purge for malware.", + "addedComponent": [ + { + "type": "Select", + "label": "FileTypeAction", + "name": "standards.MalwareFilterPolicy.FileTypeAction", + "values": [ + { + "label": "Reject", + "value": "Reject" + }, + { + "label": "Quarantine the message", + "value": "Quarantine" + } + ] + }, + { + "type": "input", + "name": "standards.MalwareFilterPolicy.OptionalFileTypes", + "label": "Optional File Types, Comma separated" + }, + { + "type": "Select", + "label": "QuarantineTag", + "name": "standards.MalwareFilterPolicy.QuarantineTag", + "values": [ + { + "label": "AdminOnlyAccessPolicy", + "value": "AdminOnlyAccessPolicy" + }, + { + "label": "DefaultFullAccessPolicy", + "value": "DefaultFullAccessPolicy" + }, + { + "label": "DefaultFullAccessWithNotificationPolicy", + "value": "DefaultFullAccessWithNotificationPolicy" + } + ] + }, + { + "type": "boolean", + "label": "Enable Internal Sender Admin Notifications", + "name": "standards.MalwareFilterPolicy.EnableInternalSenderAdminNotifications" + }, + { + "type": "input", + "name": "standards.MalwareFilterPolicy.InternalSenderAdminAddress", + "label": "Internal Sender Admin Address" + }, + { + "type": "boolean", + "label": "Enable External Sender Admin Notifications", + "name": "standards.MalwareFilterPolicy.EnableExternalSenderAdminNotifications" + }, + { + "type": "input", + "name": "standards.MalwareFilterPolicy.ExternalSenderAdminAddress", + "label": "External Sender Admin Address" + } + ], + "label": "Default Malware Filter Policy", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Set-MalwareFilterPolicy or New-MalwareFilterPolicy", + "recommendedBy": ["CIS"] + }, + { + "name": "standards.SpamFilterPolicy", + "cat": "Defender Standards", + "tag": ["mediumimpact"], + "helpText": "This standard creates a Spam filter policy similar to the default strict policy.", + "addedComponent": [ + { + "type": "number", + "label": "Bulk email threshold (Default 7)", + "name": "standards.SpamFilterPolicy.BulkThreshold", + "default": 7 + }, + { + "type": "Select", + "label": "Spam Action", + "name": "standards.SpamFilterPolicy.SpamAction", + "values": [ + { + "label": "Quarantine the message", + "value": "Quarantine" + }, + { + "label": "Move message to Junk Email folder", + "value": "MoveToJmf" + } + ] + }, + { + "type": "Select", + "label": "Spam Quarantine Tag", + "name": "standards.SpamFilterPolicy.SpamQuarantineTag", + "values": [ + { + "label": "AdminOnlyAccessPolicy", + "value": "AdminOnlyAccessPolicy" + }, + { + "label": "DefaultFullAccessPolicy", + "value": "DefaultFullAccessPolicy" + }, + { + "label": "DefaultFullAccessWithNotificationPolicy", + "value": "DefaultFullAccessWithNotificationPolicy" + } + ] + }, + { + "type": "Select", + "label": "High Confidence Spam Action", + "name": "standards.SpamFilterPolicy.HighConfidenceSpamAction", + "values": [ + { + "label": "Quarantine the message", + "value": "Quarantine" + }, + { + "label": "Move message to Junk Email folder", + "value": "MoveToJmf" + } + ] + }, + { + "type": "Select", + "label": "High Confidence Spam Quarantine Tag", + "name": "standards.SpamFilterPolicy.HighConfidenceSpamQuarantineTag", + "values": [ + { + "label": "AdminOnlyAccessPolicy", + "value": "AdminOnlyAccessPolicy" + }, + { + "label": "DefaultFullAccessPolicy", + "value": "DefaultFullAccessPolicy" + }, + { + "label": "DefaultFullAccessWithNotificationPolicy", + "value": "DefaultFullAccessWithNotificationPolicy" + } + ] + }, + { + "type": "Select", + "label": "Bulk Spam Action", + "name": "standards.SpamFilterPolicy.BulkSpamAction", + "values": [ + { + "label": "Quarantine the message", + "value": "Quarantine" + }, + { + "label": "Move message to Junk Email folder", + "value": "MoveToJmf" + } + ] + }, + { + "type": "Select", + "label": "Bulk Quarantine Tag", + "name": "standards.SpamFilterPolicy.BulkQuarantineTag", + "values": [ + { + "label": "AdminOnlyAccessPolicy", + "value": "AdminOnlyAccessPolicy" + }, + { + "label": "DefaultFullAccessPolicy", + "value": "DefaultFullAccessPolicy" + }, + { + "label": "DefaultFullAccessWithNotificationPolicy", + "value": "DefaultFullAccessWithNotificationPolicy" + } + ] + }, + { + "type": "Select", + "label": "Phish Spam Action", + "name": "standards.SpamFilterPolicy.PhishSpamAction", + "values": [ + { + "label": "Quarantine the message", + "value": "Quarantine" + }, + { + "label": "Move message to Junk Email folder", + "value": "MoveToJmf" + } + ] + }, + { + "type": "Select", + "label": "Phish Quarantine Tag", + "name": "standards.SpamFilterPolicy.PhishQuarantineTag", + "values": [ + { + "label": "AdminOnlyAccessPolicy", + "value": "AdminOnlyAccessPolicy" + }, + { + "label": "DefaultFullAccessPolicy", + "value": "DefaultFullAccessPolicy" + }, + { + "label": "DefaultFullAccessWithNotificationPolicy", + "value": "DefaultFullAccessWithNotificationPolicy" + } + ] + }, + { + "type": "Select", + "label": "High Confidence Phish Quarantine Tag", + "name": "standards.SpamFilterPolicy.HighConfidencePhishQuarantineTag", + "values": [ + { + "label": "AdminOnlyAccessPolicy", + "value": "AdminOnlyAccessPolicy" + }, + { + "label": "DefaultFullAccessPolicy", + "value": "DefaultFullAccessPolicy" + }, + { + "label": "DefaultFullAccessWithNotificationPolicy", + "value": "DefaultFullAccessWithNotificationPolicy" + } + ] + } + ], + "label": "Default Spam Filter Policy", + "impact": "Medium Impact", + "impactColour": "warning", + "powershellEquivalent": "New-HostedContentFilterPolicy or Set-HostedContentFilterPolicy", + "recommendedBy": [] + }, + { + "name": "standards.intuneDeviceRetirementDays", + "cat": "Intune Standards", + "tag": ["lowimpact"], + "helpText": "A value between 0 and 270 is supported. A value of 0 disables retirement, retired devices are removed from Intune after the specified number of days.", + "addedComponent": [ + { + "type": "number", + "name": "standards.intuneDeviceRetirementDays.days", + "label": "Maximum days (0 equals disabled)" + } + ], + "label": "Set inactive device retirement days", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Graph API", + "recommendedBy": [] + }, + { + "name": "standards.intuneBrandingProfile", + "cat": "Intune Standards", + "tag": ["lowimpact"], + "helpText": "Sets the branding profile for the Intune Company Portal app. This is a tenant wide setting and overrules any settings set on the app level.", + "addedComponent": [ + { + "type": "input", + "name": "standards.intuneBrandingProfile.displayName", + "label": "Organization name" + }, + { + "type": "boolean", + "name": "standards.intuneBrandingProfile.showLogo", + "label": "Show logo" + }, + { + "type": "boolean", + "name": "standards.intuneBrandingProfile.showDisplayNameNextToLogo", + "label": "Show organization name next to logo" + }, + { + "type": "input", + "name": "standards.intuneBrandingProfile.contactITName", + "label": "Contact IT name" + }, + { + "type": "input", + "name": "standards.intuneBrandingProfile.contactITPhoneNumber", + "label": "Contact IT phone number" + }, + { + "type": "input", + "name": "standards.intuneBrandingProfile.contactITEmailAddress", + "label": "Contact IT email address" + }, + { + "type": "input", + "name": "standards.intuneBrandingProfile.contactITNotes", + "label": "Contact IT notes" + }, + { + "type": "input", + "name": "standards.intuneBrandingProfile.onlineSupportSiteName", + "label": "Online support site name" + }, + { + "type": "input", + "name": "standards.intuneBrandingProfile.onlineSupportSiteUrl", + "label": "Online support site URL" + }, + { + "type": "input", + "name": "standards.intuneBrandingProfile.privacyUrl", + "label": "Privacy statement URL" + } + ], + "label": "Set Intune Company Portal branding profile", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Graph API", + "recommendedBy": [] + }, + { + "name": "standards.intuneDeviceReg", + "cat": "Intune Standards", + "tag": ["mediumimpact"], + "helpText": "sets the maximum number of devices that can be registered by a user. A value of 0 disables device registration by users", + "addedComponent": [ + { + "type": "number", + "name": "standards.intuneDeviceReg.max", + "label": "Maximum devices (Enter 2147483647 for unlimited.)" + } + ], + "label": "Set Maximum Number of Devices per user", + "impact": "Medium Impact", + "impactColour": "warning", + "powershellEquivalent": "Update-MgBetaPolicyDeviceRegistrationPolicy", + "recommendedBy": [] }, { "name": "standards.intuneRequireMFA", - "cat": "Intune", - "helpText": "", - "label": "Require Multifactor Authentication to register or join devices with Microsoft Entra" - }, - { - "name": "standards.sharingCapability.Enabled", - "cat": "SharePoint", - "helpText": "Sets the default sharing level for OneDrive and Sharepoint. This is a tenant wide setting and overrules any settings set on the site level", - "addedComponent": { - "type": "Select", - "label": "Select Sharing Level", - "name": "standards.sharingCapability.Level", - "values": [ - { - "label": "Users can share only with people in the organization. No external sharing is allowed.", - "value": "disabled" - }, - { - "label": "Users can share with new and existing guests. Guests must sign in or provide a verification code.", - "value": "externalUserSharingOnly" - }, - { - "label": "Users can share with anyone by using links that do not require sign-in.", - "value": "externalUserAndGuestSharing" - }, - { - "label": "Users can share with existing guests (those already in the directory of the organization).", - "value": "existingExternalUserSharingOnly" - } - ] - }, - "label": "Set Sharing Level for OneDrive and Sharepoint" + "cat": "Intune Standards", + "tag": ["mediumimpact"], + "helpText": "Requires MFA for all users to register devices with Intune. This is useful when not using Conditional Access.", + "label": "Require Multifactor Authentication to register or join devices with Microsoft Entra", + "impact": "Medium Impact", + "impactColour": "warning", + "powershellEquivalent": "Update-MgBetaPolicyDeviceRegistrationPolicy", + "recommendedBy": [] }, { - "name": "standards.ExcludedfileExt.Enabled", - "cat": "SharePoint", - "helpText": "", - "addedComponent": { - "type": "input", - "name": "standards.ExcludedfileExt.ext", - "label": "Extensions, Comma separated" - }, - "label": "Exclude File Extensions from Syncing" + "name": "standards.DeletedUserRentention", + "cat": "SharePoint Standards", + "tag": ["lowimpact"], + "helpText": "Sets the retention period for deleted users OneDrive to the specified period of time. The default is 30 days.", + "docsDescription": "When a OneDrive user gets deleted, the personal SharePoint site is saved for selected amount of time that data can be retrieved from it.", + "addedComponent": [ + { + "type": "Select", + "name": "standards.DeletedUserRentention.Days", + "label": "Retention time (Default 30 days)", + "values": [ + { + "label": "30 days", + "value": "30" + }, + { + "label": "90 days", + "value": "90" + }, + { + "label": "1 year", + "value": "365" + }, + { + "label": "2 years", + "value": "730" + }, + { + "label": "3 years", + "value": "1095" + }, + { + "label": "4 years", + "value": "1460" + }, + { + "label": "5 years", + "value": "1825" + }, + { + "label": "6 years", + "value": "2190" + }, + { + "label": "7 years", + "value": "2555" + }, + { + "label": "8 years", + "value": "2920" + }, + { + "label": "9 years", + "value": "3285" + }, + { + "label": "10 years", + "value": "3650" + } + ] + } + ], + "label": "Set deleted user retention time in OneDrive", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Update-MgBetaAdminSharepointSetting", + "recommendedBy": [] + }, + { + "name": "standards.TenantDefaultTimezone", + "cat": "SharePoint Standards", + "tag": ["lowimpact"], + "helpText": "Sets the default timezone for the tenant. This will be used for all new users and sites.", + "addedComponent": [ + { + "type": "TimezoneSelect", + "name": "standards.TenantDefaultTimezone.Timezone", + "label": "Timezone" + } + ], + "label": "Set Default Timezone for Tenant", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Update-MgBetaAdminSharepointSetting", + "recommendedBy": [] + }, + { + "name": "standards.SPAzureB2B", + "cat": "SharePoint Standards", + "tag": ["lowimpact", "CIS"], + "helpText": "Ensure SharePoint and OneDrive integration with Azure AD B2B is enabled", + "addedComponent": [], + "label": "Enable SharePoint and OneDrive integration with Azure AD B2B", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Set-SPOTenant -EnableAzureADB2BIntegration $true", + "recommendedBy": ["CIS 3.0"] + }, + { + "name": "standards.SPDisallowInfectedFiles", + "cat": "SharePoint Standards", + "tag": ["lowimpact", "CIS"], + "helpText": "Ensure Office 365 SharePoint infected files are disallowed for download", + "addedComponent": [], + "label": "Disallow downloading infected files from SharePoint", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Set-SPOTenant -DisallowInfectedFileDownload $true", + "recommendedBy": ["CIS 3.0"] + }, + { + "name": "standards.SPDisableLegacyWorkflows", + "cat": "SharePoint Standards", + "tag": ["lowimpact"], + "helpText": "Disables the creation of new SharePoint 2010 and 2013 classic workflows and removes the 'Return to classic SharePoint' link on modern SharePoint list and library pages.", + "addedComponent": [], + "label": "Disable Legacy Workflows", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Set-SPOTenant -DisableWorkflow2010 $true -DisableWorkflow2013 $true -DisableBackToClassic $true", + "recommendedBy": [] + }, + { + "name": "standards.SPDirectSharing", + "cat": "SharePoint Standards", + "tag": ["mediumimpact", "CIS"], + "helpText": "Ensure default link sharing is set to Direct in SharePoint and OneDrive", + "addedComponent": [], + "label": "Default sharing to Direct users", + "impact": "Medium Impact", + "impactColour": "warning", + "powershellEquivalent": "Set-SPOTenant -DefaultSharingLinkType Direct", + "recommendedBy": ["CIS 3.0"] + }, + { + "name": "standards.SPExternalUserExpiration", + "cat": "SharePoint Standards", + "tag": ["mediumimpact", "CIS"], + "helpText": "Ensure guest access to a site or OneDrive will expire automatically", + "addedComponent": [ + { + "type": "number", + "name": "standards.SPExternalUserExpiration.Days", + "label": "Days until expiration (Default 60)" + } + ], + "label": "Set guest access to expire automatically", + "impact": "Medium Impact", + "impactColour": "warning", + "powershellEquivalent": "Set-SPOTenant -ExternalUserExpireInDays 30 -ExternalUserExpirationRequired $True", + "recommendedBy": ["CIS 3.0"] + }, + { + "name": "standards.SPEmailAttestation", + "cat": "SharePoint Standards", + "tag": ["mediumimpact", "CIS"], + "helpText": "Ensure reauthentication with verification code is restricted", + "addedComponent": [ + { + "type": "number", + "name": "standards.SPEmailAttestation.Days", + "label": "Require reauth every X Days (Default 15)" + } + ], + "label": "Require reauthentication with verification code", + "impact": "Medium Impact", + "impactColour": "warning", + "powershellEquivalent": "Set-SPOTenant -EmailAttestationRequired $true -EmailAttestationReAuthDays 15", + "recommendedBy": ["CIS 3.0"] }, { - "name": "standards.disableMacSync", - "cat": "SharePoint", - "helpText": "", - "addedComponent": null, - "label": "Do not allow Mac devices to sync using OneDrive" + "name": "standards.DisableAddShortcutsToOneDrive", + "cat": "SharePoint Standards", + "tag": ["mediumimpact"], + "helpText": "If disabled, the button Add shortcut to OneDrive will be removed and users in the tenant will no longer be able to add new shortcuts to their OneDrive. Existing shortcuts will remain functional", + "addedComponent": [ + { + "type": "Select", + "label": "Add Shortcuts To OneDrive button state", + "name": "standards.DisableAddShortcutsToOneDrive.state", + "values": [ + { + "label": "Disabled", + "value": "true" + }, + { + "label": "Enabled", + "value": "false" + } + ] + } + ], + "label": "Set Add Shortcuts To OneDrive button state", + "impact": "Medium Impact", + "impactColour": "warning", + "powershellEquivalent": "Set-SPOTenant -DisableAddShortcutsToOneDrive $true or $false", + "recommendedBy": [] + }, + { + "name": "standards.SPSyncButtonState", + "cat": "SharePoint Standards", + "tag": ["mediumimpact"], + "helpText": "If disabled, users in the tenant will no longer be able to use the Sync button to sync SharePoint content on all sites. However, existing synced content will remain functional on the user's computer.", + "addedComponent": [ + { + "type": "Select", + "label": "SharePoint Sync Button state", + "name": "standards.SPSyncButtonState.state", + "values": [ + { + "label": "Disabled", + "value": "true" + }, + { + "label": "Enabled", + "value": "false" + } + ] + } + ], + "label": "Set SharePoint sync button state", + "impact": "Medium Impact", + "impactColour": "warning", + "powershellEquivalent": "Set-SPOTenant -HideSyncButtonOnTeamSite $true or $false", + "recommendedBy": [] + }, + { + "name": "standards.DisableSharePointLegacyAuth", + "cat": "SharePoint Standards", + "tag": ["mediumimpact", "CIS", "spo_legacy_auth"], + "helpText": "Disables the ability to authenticate with SharePoint using legacy authentication methods. Any applications that use legacy authentication will need to be updated to use modern authentication.", + "docsDescription": "Disables the ability for users and applications to access SharePoint via legacy basic authentication. This will likely not have any user impact, but will block systems/applications depending on basic auth or the SharePointOnlineCredentials class.", + "addedComponent": [], + "label": "Disable legacy basic authentication for SharePoint", + "impact": "Medium Impact", + "impactColour": "warning", + "powershellEquivalent": "Set-SPOTenant -LegacyAuthProtocolsEnabled $false", + "recommendedBy": ["CIS"] + }, + { + "name": "standards.sharingCapability", + "cat": "SharePoint Standards", + "tag": ["highimpact", "CIS"], + "helpText": "Sets the default sharing level for OneDrive and Sharepoint. This is a tenant wide setting and overrules any settings set on the site level", + "addedComponent": [ + { + "type": "Select", + "label": "Select Sharing Level", + "name": "standards.sharingCapability.Level", + "values": [ + { + "label": "Users can share only with people in the organization. No external sharing is allowed.", + "value": "disabled" + }, + { + "label": "Users can share with new and existing guests. Guests must sign in or provide a verification code.", + "value": "externalUserSharingOnly" + }, + { + "label": "Users can share with anyone by using links that do not require sign-in.", + "value": "externalUserAndGuestSharing" + }, + { + "label": "Users can share with existing guests (those already in the directory of the organization).", + "value": "existingExternalUserSharingOnly" + } + ] + } + ], + "label": "Set Sharing Level for OneDrive and Sharepoint", + "impact": "High Impact", + "impactColour": "danger", + "powershellEquivalent": "Update-MgBetaAdminSharepointSetting", + "recommendedBy": ["CIS"] }, { "name": "standards.DisableReshare", - "cat": "SharePoint", + "cat": "SharePoint Standards", + "tag": ["highimpact", "CIS"], "helpText": "Disables the ability for external users to share files they don't own. Sharing links can only be made for People with existing access", - "addedComponent": null, - "label": "Disable Resharing by External Users" - }, - { - "name": "standards.DeletedUserRentention", - "cat": "SharePoint", - "helpText": "Sets the retention period for deleted users OneDrive to 1 year/365 days", - "addedComponent": null, - "label": "Retain a deleted user OneDrive for 1 year" + "docsDescription": "Disables the ability for external users to share files they don't own. Sharing links can only be made for People with existing access. This is a tenant wide setting and overrules any settings set on the site level", + "addedComponent": [], + "label": "Disable Resharing by External Users", + "impact": "High Impact", + "impactColour": "danger", + "powershellEquivalent": "Update-MgBetaAdminSharepointSetting", + "recommendedBy": ["CIS"] }, { "name": "standards.DisableUserSiteCreate", - "cat": "SharePoint", + "cat": "SharePoint Standards", + "tag": ["highimpact"], "helpText": "Disables users from creating new SharePoint sites", - "addedComponent": null, - "label": "Disable site creation by standard users" - }, - { - "name": "standards.unmanagedSync", - "cat": "SharePoint", - "helpText": "", - "addedComponent": null, - "label": "Only allow users to sync OneDrive from AAD joined devices" - }, - { - "name": "standards.DisableAddShortcutsToOneDrive", - "cat": "SharePoint", - "helpText": "When the feature is disabled the option Add shortcut to My files will be removed; any folders that have already been added will remain on the user's computer.", - "addedComponent": null, - "label": "Disable Add Shortcuts To OneDrive" - }, - { - "name": "standards.IntuneTemplate.enabled", - "cat": "templates", - "helpText": "", - "addedComponent": null, - "label": "Intune Templates" - }, - { - "name": "standards.GroupTemplate.enabled", - "cat": "templates", - "helpText": "", - "addedComponent": null, - "label": "Group Templates" - }, - { - "name": "standards.ExConnector.enabled", - "cat": "templates", - "helpText": "", - "addedComponent": null, - "label": "Exchange Connector Templates" - }, - { - "name": "standards.ConditionalAccess.enabled", - "cat": "templates", - "helpText": "", - "addedComponent": null, - "label": "Conditional Access Templates" + "docsDescription": "Disables standard users from creating SharePoint sites, also disables the ability to fully create teams", + "addedComponent": [], + "label": "Disable site creation by standard users", + "impact": "High Impact", + "impactColour": "danger", + "powershellEquivalent": "Update-MgAdminSharepointSetting", + "recommendedBy": [] + }, + { + "name": "standards.ExcludedfileExt", + "cat": "SharePoint Standards", + "tag": ["highimpact"], + "helpText": "Sets the file extensions that are excluded from syncing with OneDrive. These files will be blocked from upload. '*.' is automatically added to the extension and can be omitted.", + "addedComponent": [ + { + "type": "input", + "name": "standards.ExcludedfileExt.ext", + "label": "Extensions, Comma separated" + } + ], + "label": "Exclude File Extensions from Syncing", + "impact": "High Impact", + "impactColour": "danger", + "powershellEquivalent": "Update-MgAdminSharepointSetting", + "recommendedBy": [] }, { - "name": "standards.TransportRuleTemplate.enabled", - "cat": "templates", - "helpText": "", - "addedComponent": null, - "label": "Transport Rule Templates" - }, - { - "name": "standards.ModernAuth", - "cat": "legacy", - "helpText": "Modern Authentication is enabled by default. This standard is no longer required and can be safely disabled", - "addedComponent": null, - "label": "Enable Modern Authentication" - }, - { - "name": "standards.DisableBasicAuth", - "cat": "legacy", - "helpText": "Basic Authentication is disabled by default. This standard is no longer required and can be safely disabled", - "addedComponent": null, - "label": "Disable Basic Authentication" - }, - { - "name": "standards.PWnumberMatchingRequiredState", - "cat": "legacy", - "helpText": "Passwordless with number matching is now enabled by default. This standard is no longer required and can be safely disabled", - "addedComponent": null, - "label": "Enable Passwordless with Number Matching" + "name": "standards.disableMacSync", + "cat": "SharePoint Standards", + "tag": ["highimpact"], + "helpText": "Disables the ability for Mac devices to sync with OneDrive.", + "addedComponent": [], + "label": "Do not allow Mac devices to sync using OneDrive", + "impact": "High Impact", + "impactColour": "danger", + "powershellEquivalent": "Update-MgAdminSharepointSetting", + "recommendedBy": [] }, { - "cat": "legacy", - "name": "standards.LegacyMFA", - "helpText": "This standard is no longer works and can be safely disabled", - "addedComponent": null, - "label": "Enable per-user MFA for all user (Legacy, Requires DAP.)" + "name": "standards.unmanagedSync", + "cat": "SharePoint Standards", + "tag": ["highimpact"], + "helpText": "The unmanaged Sync standard has been temporarily disabled and does nothing.", + "addedComponent": [], + "label": "Only allow users to sync OneDrive from AAD joined devices", + "impact": "High Impact", + "impactColour": "danger", + "powershellEquivalent": "Update-MgAdminSharepointSetting", + "recommendedBy": [] + }, + { + "name": "standards.sharingDomainRestriction", + "cat": "SharePoint Standards", + "tag": ["highimpact", "CIS"], + "helpText": "Restricts sharing to only users with the specified domain. This is useful for organizations that only want to share with their own domain.", + "addedComponent": [ + { + "type": "Select", + "name": "standards.sharingDomainRestriction.Mode", + "label": "Limit external sharing by domains", + "values": [ + { + "label": "Off", + "value": "none" + }, + { + "label": "Restrict sharing to specific domains", + "value": "allowList" + }, + { + "label": "Block sharing to specific domains", + "value": "blockList" + } + ] + }, + { + "type": "input", + "name": "standards.sharingDomainRestriction.Domains", + "label": "Domains to allow/block, comma separated" + } + ], + "label": "Restrict sharing to a specific domain", + "impact": "High Impact", + "impactColour": "danger", + "powershellEquivalent": "Update-MgAdminSharepointSetting", + "recommendedBy": [] + }, + { + "name": "standards.TeamsGlobalMeetingPolicy", + "cat": "Teams Standards", + "tag": ["lowimpact"], + "helpText": "Defines the CIS recommended global meeting policy for Teams. This includes AllowAnonymousUsersToJoinMeeting, AllowAnonymousUsersToStartMeeting, AutoAdmittedUsers, AllowPSTNUsersToBypassLobby, MeetingChatEnabledType, DesignatedPresenterRoleMode, AllowExternalParticipantGiveRequestControl", + "addedComponent": [ + { + "type": "Select", + "name": "standards.TeamsGlobalMeetingPolicy.DesignatedPresenterRoleMode", + "label": "Default value of the `Who can present?`", + "values": [ + { + "label": "EveryoneUserOverride", + "value": "EveryoneUserOverride" + }, + { + "label": "EveryoneInCompanyUserOverride", + "value": "EveryoneInCompanyUserOverride" + }, + { + "label": "EveryoneInSameAndFederatedCompanyUserOverride", + "value": "EveryoneInSameAndFederatedCompanyUserOverride" + }, + { + "label": "OrganizerOnlyUserOverride", + "value": "OrganizerOnlyUserOverride" + } + ] + } + ], + "label": "Define Global Meeting Policy for Teams", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Set-CsTeamsMeetingPolicy -AllowAnonymousUsersToJoinMeeting $false -AllowAnonymousUsersToStartMeeting $false -AutoAdmittedUsers EveryoneInCompanyExcludingGuests -AllowPSTNUsersToBypassLobby $false -MeetingChatEnabledType EnabledExceptAnonymous -DesignatedPresenterRoleMode $DesignatedPresenterRoleMode -AllowExternalParticipantGiveRequestControl $false", + "recommendedBy": ["CIS 3.0"] + }, + { + "name": "standards.TeamsEmailIntegration", + "cat": "Teams Standards", + "tag": ["lowimpact"], + "helpText": "Should users be allowed to send emails directly to a channel email addresses?", + "docsDescription": "Teams channel email addresses are an optional feature that allows users to email the Teams channel directly.", + "addedComponent": [ + { + "type": "boolean", + "name": "standards.TeamsEmailIntegration.AllowEmailIntoChannel", + "label": "Allow channel emails" + } + ], + "label": "Disallow emails to be sent to channel email addresses", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Set-CsTeamsClientConfiguration -AllowEmailIntoChannel $false", + "recommendedBy": ["CIS 3.0"] + }, + { + "name": "standards.TeamsExternalFileSharing", + "cat": "Teams Standards", + "tag": ["lowimpact"], + "helpText": "Ensure external file sharing in Teams is enabled for only approved cloud storage services.", + "addedComponent": [ + { + "type": "boolean", + "name": "standards.TeamsExternalFileSharing.AllowGoogleDrive", + "label": "Allow Google Drive" + }, + { + "type": "boolean", + "name": "standards.TeamsExternalFileSharing.AllowShareFile", + "label": "Allow ShareFile" + }, + { + "type": "boolean", + "name": "standards.TeamsExternalFileSharing.AllowBox", + "label": "Allow Box" + }, + { + "type": "boolean", + "name": "standards.TeamsExternalFileSharing.AllowDropBox", + "label": "Allow Dropbox" + }, + { + "type": "boolean", + "name": "standards.TeamsExternalFileSharing.AllowEgnyte", + "label": "Allow Egnyte" + } + ], + "label": "Define approved cloud storage services for external file sharing in Teams", + "impact": "Low Impact", + "impactColour": "info", + "powershellEquivalent": "Set-CsTeamsClientConfiguration -AllowGoogleDrive $false -AllowShareFile $false -AllowBox $false -AllowDropBox $false -AllowEgnyte $false", + "recommendedBy": ["CIS 3.0"] + }, + { + "name": "standards.TeamsExternalAccessPolicy", + "cat": "Teams Standards", + "tag": ["mediumimpact"], + "helpText": "Sets the properties of the Global external access policy.", + "docsDescription": "Sets the properties of the Global external access policy. External access policies determine whether or not your users can: 1) communicate with users who have Session Initiation Protocol (SIP) accounts with a federated organization; 2) communicate with users who are using custom applications built with Azure Communication Services; 3) access Skype for Business Server over the Internet, without having to log on to your internal network; 4) communicate with users who have SIP accounts with a public instant messaging (IM) provider such as Skype; and, 5) communicate with people who are using Teams with an account that's not managed by an organization.", + "addedComponent": [ + { + "type": "boolean", + "name": "standards.TeamsExternalAccessPolicy.EnableFederationAccess", + "label": "Allow communication from trusted organizations" + }, + { + "type": "boolean", + "name": "standards.TeamsExternalAccessPolicy.EnablePublicCloudAccess", + "label": "Allow user to communicate with Skype users" + }, + { + "type": "boolean", + "name": "standards.TeamsExternalAccessPolicy.EnableTeamsConsumerAccess", + "label": "Allow communication with unmanaged Teams accounts" + } + ], + "label": "External Access Settings for Microsoft Teams", + "impact": "Medium Impact", + "impactColour": "warning", + "powershellEquivalent": "Set-CsExternalAccessPolicy", + "recommendedBy": [] + }, + { + "name": "standards.TeamsFederationConfiguration", + "cat": "Teams Standards", + "tag": ["mediumimpact"], + "helpText": "Sets the properties of the Global federation configuration.", + "docsDescription": "Sets the properties of the Global federation configuration. Federation configuration settings determine whether or not your users can communicate with users who have SIP accounts with a federated organization.", + "addedComponent": [ + { + "type": "boolean", + "name": "standards.TeamsFederationConfiguration.AllowTeamsConsumer", + "label": "Allow users to communicate with other organizations" + }, + { + "type": "boolean", + "name": "standards.TeamsFederationConfiguration.AllowPublicUsers", + "label": "Allow users to communicate with Skype Users" + }, + { + "type": "Select", + "name": "standards.TeamsFederationConfiguration.DomainControl", + "label": "Communication Mode", + "values": [ + { + "label": "Allow all external domains", + "value": "AllowAllExternal" + }, + { + "label": "Block all external domains", + "value": "BlockAllExternal" + }, + { + "label": "Allow specific external domains", + "value": "AllowSpecificExternal" + }, + { + "label": "Block specific external domains", + "value": "BlockSpecificExternal" + } + ] + }, + { + "type": "input", + "name": "standards.TeamsFederationConfiguration.DomainList", + "label": "Domains, Comma separated" + } + ], + "label": "Federation Configuration for Microsoft Teams", + "impact": "Medium Impact", + "impactColour": "warning", + "powershellEquivalent": "Set-CsTenantFederationConfiguration", + "recommendedBy": [] } ] diff --git a/ConversionTable.csv b/ConversionTable.csv index c1fd92909966..55ebdfd465b9 100644 --- a/ConversionTable.csv +++ b/ConversionTable.csv @@ -1,5 +1,4 @@ Product_Display_Name,String_Id,GUID,Service_Plan_Name,Service_Plan_Id,Service_Plans_Included_Friendly_Names -Advanced Communications,ADV_COMMS,e4654015-5daf-4a48-9b37-4f309dddd88b,TEAMS_ADVCOMMS,604ec28a-ae18-4bc6-91b0-11da94504ba9,Microsoft 365 Advanced Communications AI Builder Capacity add-on,CDSAICAPACITY,d2dea78b-507c-4e56-b400-39447f4738f8,CDSAICAPACITY,a7c70a41-5e02-4271-93e6-d9b4184d83f5,AI Builder capacity add-on AI Builder Capacity add-on,CDSAICAPACITY,d2dea78b-507c-4e56-b400-39447f4738f8,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation App Connect IW,SPZA_IW,8f0c5670-4e56-4892-b06d-91c085d7004f,SPZA,0bfc98ed-1dbc-4a97-b246-701754e48b17,APP CONNECT @@ -43,6 +42,10 @@ Azure Information Protection Plan 1,RIGHTSMANAGEMENT_CE,a0e6a48f-b056-4037-af70- Azure Information Protection Premium P1_USGOV_GCCHIGH,RIGHTSMANAGEMENT_CE_USGOV_GCCHIGH,c57afa2a-d468-46c4-9a90-f86cb1b3c54a,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Azure Information Protection Premium P1_USGOV_GCCHIGH,RIGHTSMANAGEMENT_CE_USGOV_GCCHIGH,c57afa2a-d468-46c4-9a90-f86cb1b3c54a,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 Azure Information Protection Premium P1_USGOV_GCCHIGH,RIGHTSMANAGEMENT_CE_USGOV_GCCHIGH,c57afa2a-d468-46c4-9a90-f86cb1b3c54a,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Basic Collaboration,OFFICEBASIC,4468c39a-28b2-42fb-9094-840bcf28771f,EXCHANGE_S_STANDARD,9aaf7827-d63c-4b61-89c3-182f06f82e5c,Exchange Online (Plan 1) +Basic Collaboration,OFFICEBASIC,4468c39a-28b2-42fb-9094-840bcf28771f,ONEDRIVELITE_IW,b4ac11a0-32ff-4e78-982d-e039fa803dec,Office for the web with OneDrive for business +Basic Collaboration,OFFICEBASIC,4468c39a-28b2-42fb-9094-840bcf28771f,MCOBASIC,448898aa-3ae7-478c-b49a-1fac7a8a35cf,Skype Meetings +Basic Collaboration,OFFICEBASIC,4468c39a-28b2-42fb-9094-840bcf28771f,YAMMER_BASIC,6db7aeea-6c4a-475d-bbb0-7338bc73d646,Yammer Business Apps (free),SMB_APPS,90d8b3f8-712e-4f7b-aa1e-62e7ae6cbe96,DYN365BC_MS_INVOICING,39b5c996-467e-4e60-bd62-46066f572726,Microsoft Invoicing Business Apps (free),SMB_APPS,90d8b3f8-712e-4f7b-aa1e-62e7ae6cbe96,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings Common Data Service for Apps File Capacity,CDS_FILE_CAPACITY,631d5fb1-a668-4c2a-9427-8830665a742e,CDS_FILE_CAPACITY,dd12a3a8-caec-44f8-b4fb-2f1a864b51e3,Common Data Service for Apps File Capacity @@ -80,6 +83,11 @@ Dynamics 365 Business Central Essentials,DYN365_BUSCENTRAL_ESSENTIAL,2880026b-2b Dynamics 365 Business Central Essentials,DYN365_BUSCENTRAL_ESSENTIAL,2880026b-2b0c-4251-8656-5d41ff11e3aa,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Dynamics 365 Business Central Essentials,DYN365_BUSCENTRAL_ESSENTIAL,2880026b-2b0c-4251-8656-5d41ff11e3aa,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Flow for Dynamics 365 Dynamics 365 Business Central Essentials,DYN365_BUSCENTRAL_ESSENTIAL,2880026b-2b0c-4251-8656-5d41ff11e3aa,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,PowerApps for Dynamics 365 +Dynamics 365 Business Central Essentials Attach,Dynamics_365_Business_Central_Essentials_Attach,1d506c23-1702-46f1-b940-160c55f98d05,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User +Dynamics 365 Business Central Essentials Attach,Dynamics_365_Business_Central_Essentials_Attach,1d506c23-1702-46f1-b940-160c55f98d05,DYN365_BUSCENTRAL_ESSENTIALS_ATTACH,17ca446c-d7a4-4d29-8dec-8e241592164b,Dynamics 365 Business Central Essentials Attach +Dynamics 365 Business Central Essentials Attach,Dynamics_365_Business_Central_Essentials_Attach,1d506c23-1702-46f1-b940-160c55f98d05,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Business Central Essentials Attach,Dynamics_365_Business_Central_Essentials_Attach,1d506c23-1702-46f1-b940-160c55f98d05,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,Power Apps for Dynamics 365 +Dynamics 365 Business Central Essentials Attach,Dynamics_365_Business_Central_Essentials_Attach,1d506c23-1702-46f1-b940-160c55f98d05,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Power Automate for Dynamics 365 Dynamics 365 Business Central External Accountant,DYN365_FINANCIALS_ACCOUNTANT_SKU,9a1e33ed-9697-43f3-b84c-1b0959dbb1d4,DYN365_FINANCIALS_ACCOUNTANT,170991d7-b98e-41c5-83d4-db2052e1795f,Dynamics 365 Business Central External Accountant Dynamics 365 Business Central External Accountant,DYN365_FINANCIALS_ACCOUNTANT_SKU,9a1e33ed-9697-43f3-b84c-1b0959dbb1d4,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Dynamics 365 Business Central External Accountant,DYN365_FINANCIALS_ACCOUNTANT_SKU,9a1e33ed-9697-43f3-b84c-1b0959dbb1d4,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Flow for Dynamics 365 @@ -118,7 +126,7 @@ Dynamics 365 Customer Engagement Plan,DYN365_ENTERPRISE_PLAN1,ea126fc5-a19e-42e2 Dynamics 365 Customer Engagement Plan,DYN365_ENTERPRISE_PLAN1,ea126fc5-a19e-42e2-a731-da9d437bffcf,POWERAPPS_DYN_P2,0b03f40b-c404-40c3-8651-2aceb74365fa,Power Apps for Dynamics 365 Dynamics 365 Customer Engagement Plan,DYN365_ENTERPRISE_PLAN1,ea126fc5-a19e-42e2-a731-da9d437bffcf,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Power Automate for Dynamics 365 Dynamics 365 Customer Engagement Plan,DYN365_ENTERPRISE_PLAN1,ea126fc5-a19e-42e2-a731-da9d437bffcf,FLOW_DYN_P2,b650d915-9886-424b-a08d-633cede56f57,Power Automate for Dynamics 365 -Dynamics 365 Customer Insights Attach,DYN365_CUSTOMER_INSIGHTS_ATTACH,a3d0cd86-8068-4071-ad40-4dc5b5908c4b,CDS_CUSTOMER_INSIGHTS_BASE,d04ca659-b119-4a92-b8fc-3ede584a9d65,Dataverse for Customer Insights�BASE +Dynamics 365 Customer Insights Attach,DYN365_CUSTOMER_INSIGHTS_ATTACH,a3d0cd86-8068-4071-ad40-4dc5b5908c4b,CDS_CUSTOMER_INSIGHTS_BASE,d04ca659-b119-4a92-b8fc-3ede584a9d65,Dataverse for Customer Insights BASE Dynamics 365 Customer Insights Attach,DYN365_CUSTOMER_INSIGHTS_ATTACH,a3d0cd86-8068-4071-ad40-4dc5b5908c4b,CDS_CUSTOMER_INSIGHTS,ca00cff5-2568-4d03-bb6c-a653a8f360ca,Common Data Service for Customer Insights Dynamics 365 Customer Insights Attach,DYN365_CUSTOMER_INSIGHTS_ATTACH,a3d0cd86-8068-4071-ad40-4dc5b5908c4b,DYN365_CUSTOMER_INSIGHTS_BASE,ee85d528-c4b4-4a99-9b07-fb9a1365dc93,Dynamics 365 Customer Insights Dynamics 365 Customer Insights Attach,DYN365_CUSTOMER_INSIGHTS_ATTACH,a3d0cd86-8068-4071-ad40-4dc5b5908c4b,Customer_Voice_Customer_Insights,46c5ea0a-2343-49d9-ae4f-1c268b232d53,Microsoft Dynamics 365 Customer Voice for Customer Insights App @@ -151,7 +159,7 @@ Dynamics 365 Customer Service Enterprise Admin,Dynamics_365_Customer_Service_Ent Dynamics 365 Customer Service Enterprise Admin,Dynamics_365_Customer_Service_Enterprise_admin_trial,94a6fbd4-6a2f-4990-b356-dc7dd8bed08a,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Dynamics 365 Customer Service Enterprise Admin,Dynamics_365_Customer_Service_Enterprise_admin_trial,94a6fbd4-6a2f-4990-b356-dc7dd8bed08a,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,Power Apps for Dynamics 365 Dynamics 365 Customer Service Enterprise Admin,Dynamics_365_Customer_Service_Enterprise_admin_trial,94a6fbd4-6a2f-4990-b356-dc7dd8bed08a,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Power Automate for Dynamics 365 -Dynamics 365 Customer Insights Standalone,DYN365_CUSTOMER_INSIGHTS_BASE,0c250654-c7f7-461f-871a-7222f6592cf2,CDS_CUSTOMER_INSIGHTS_BASE,d04ca659-b119-4a92-b8fc-3ede584a9d65,Dataverse for Cust Insights�BASE +Dynamics 365 Customer Insights Standalone,DYN365_CUSTOMER_INSIGHTS_BASE,0c250654-c7f7-461f-871a-7222f6592cf2,CDS_CUSTOMER_INSIGHTS_BASE,d04ca659-b119-4a92-b8fc-3ede584a9d65,Dataverse for Cust Insights BASE Dynamics 365 Customer Insights Standalone,DYN365_CUSTOMER_INSIGHTS_BASE,0c250654-c7f7-461f-871a-7222f6592cf2,CDS_CUSTOMER_INSIGHTS,ca00cff5-2568-4d03-bb6c-a653a8f360ca,Common Data Service for Customer Insights Dynamics 365 Customer Insights Standalone,DYN365_CUSTOMER_INSIGHTS_BASE,0c250654-c7f7-461f-871a-7222f6592cf2,DYN365_CUSTOMER_INSIGHTS_BASE,ee85d528-c4b4-4a99-9b07-fb9a1365dc93,Dynamics 365 Customer Insights Dynamics 365 Customer Insights Standalone,DYN365_CUSTOMER_INSIGHTS_BASE,0c250654-c7f7-461f-871a-7222f6592cf2,DYN365_CUSTOMER_INSIGHTS_ENGAGEMENT_INSIGHTS_BASE,b3c26516-3b8d-492f-a5a3-64d70ad3f8d0,Dynamics 365 Customer Insights Engagement Insights @@ -195,6 +203,8 @@ Dynamics 365 Customer Service Professional,DYN365_CUSTOMER_SERVICE_PRO,1439b6e2- Dynamics 365 Customer Service Professional,DYN365_CUSTOMER_SERVICE_PRO,1439b6e2-5d59-4873-8c59-d60e2a196e92,FLOW_CUSTOMER_SERVICE_PRO,0368fc9c-3721-437f-8b7d-3d0f888cdefc,Power Automate for Customer Service Pro Dynamics 365 Customer Service Professional,DYN365_CUSTOMER_SERVICE_PRO,1439b6e2-5d59-4873-8c59-d60e2a196e92,PROJECT_ESSENTIALS,1259157c-8581-4875-bca7-2ffb18c51bda,Project Online Essentials Dynamics 365 Customer Service Professional,DYN365_CUSTOMER_SERVICE_PRO,1439b6e2-5d59-4873-8c59-d60e2a196e92,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) +Dynamics 365 for Customer Service Professional Attach to Qualifying Dynamics 365 Base Offer,D365_CUSTOMER_SERVICE_PRO_ATTACH,19dec69d-d9f3-4792-8a39-d8ecdf51937b,D365_CUSTOMER_SERVICE_PRO_ATTACH,a9dd2dca-10ae-4da2-aaf0-d3fe8a825110,Dynamics 365 for Customer Service Pro Attach +Dynamics 365 for Customer Service Professional Attach to Qualifying Dynamics 365 Base Offer,D365_CUSTOMER_SERVICE_PRO_ATTACH,19dec69d-d9f3-4792-8a39-d8ecdf51937b,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Dynamics 365 Customer Voice,DYN365_CUSTOMER_VOICE_BASE,359ea3e6-8130-4a57-9f8f-ad897a0342f1,Customer_Voice_Base,296820fe-dce5-40f4-a4f2-e14b8feef383,Dynamics 365 Customer Voice Base Plan Dynamics 365 Customer Voice,DYN365_CUSTOMER_VOICE_BASE,359ea3e6-8130-4a57-9f8f-ad897a0342f1,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Dynamics 365 Customer Voice Additional Responses,Forms_Pro_AddOn,446a86f8-a0cb-4095-83b3-d100eb050e3d,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation @@ -218,9 +228,9 @@ Dynamics 365 - Additional Non-Production Instance for Government,CRMTESTINSTANCE Dynamics 365 - Additional Non-Production Instance for Government,CRMTESTINSTANCE_NOPREREQ,2cf302fe-62db-4e20-b573-e0998b1208b5,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Dynamics 365 Enterprise Edition - Additional Production Instance for Government,CRMINSTANCE_GCC,2bd3cb20-1bb6-446b-b4d0-089af3a05c52,CRMINSTANCE_GCC,483cc331-f4df-4a3b-b8ca-fe1a247569f6,Microsoft Dynamics CRM Online Instance Dynamics 365 Enterprise Edition - Additional Production Instance for Government,CRMINSTANCE_GCC,2bd3cb20-1bb6-446b-b4d0-089af3a05c52,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation -"Dynamics 365 Field Service, Enterprise Edition - Resource Scheduling Optimization",CRM_AUTO_ROUTING_ADDON,977464c4-bfaf-4b67-b761-a9bb735a2196,CRM_AUTO_ROUTING_ENGINE_ADDON,24435e4b-87d0-4d7d-8beb-63a9b1573022,Field Service � Automated Routing Engine Add-On -"Dynamics 365 Field Service, Enterprise Edition - Resource Scheduling Optimization",CRM_AUTO_ROUTING_ADDON,977464c4-bfaf-4b67-b761-a9bb735a2196,CRM_AUTO_ROUTING_ADDON,2ba394e0-6f18-4b77-b45f-a5663bbab540,RETIRED - Field Service � Automated Routing Engine Add-On -"Dynamics 365 Field Service, Enterprise Edition - Resource Scheduling Optimization",CRM_AUTO_ROUTING_ADDON,977464c4-bfaf-4b67-b761-a9bb735a2196,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Field Service, Enterprise Edition - Resource Scheduling Optimization,CRM_AUTO_ROUTING_ADDON,977464c4-bfaf-4b67-b761-a9bb735a2196,CRM_AUTO_ROUTING_ENGINE_ADDON,24435e4b-87d0-4d7d-8beb-63a9b1573022,Field Service – Automated Routing Engine Add-On +Dynamics 365 Field Service, Enterprise Edition - Resource Scheduling Optimization,CRM_AUTO_ROUTING_ADDON,977464c4-bfaf-4b67-b761-a9bb735a2196,CRM_AUTO_ROUTING_ADDON,2ba394e0-6f18-4b77-b45f-a5663bbab540,RETIRED - Field Service – Automated Routing Engine Add-On +Dynamics 365 Field Service, Enterprise Edition - Resource Scheduling Optimization,CRM_AUTO_ROUTING_ADDON,977464c4-bfaf-4b67-b761-a9bb735a2196,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Dynamics 365 Field Service Contractor for Government,D365_FIELD_SERVICE_CONTRACTOR_GOV,e7965e3a-1f49-4d67-a3de-ad1ce460bbcc,CDS_FIELD_SERVICE_CONTRACTOR_GCC,2457fe40-65be-48a1-935f-924ad6e62dba,Common Data Service Field service Part Time Contractors for Government Dynamics 365 Field Service Contractor for Government,D365_FIELD_SERVICE_CONTRACTOR_GOV,e7965e3a-1f49-4d67-a3de-ad1ce460bbcc,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government Dynamics 365 Field Service Contractor for Government,D365_FIELD_SERVICE_CONTRACTOR_GOV,e7965e3a-1f49-4d67-a3de-ad1ce460bbcc,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government @@ -243,21 +253,35 @@ Dynamics 365 for Case Management Enterprise Edition,DYN365_ENTERPRISE_CASE_MANAG Dynamics 365 for Case Management Enterprise Edition,DYN365_ENTERPRISE_CASE_MANAGEMENT,d39fb075-21ae-42d0-af80-22a2599749e0,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) Dynamics 365 for Case Management Enterprise Edition,DYN365_ENTERPRISE_CASE_MANAGEMENT,d39fb075-21ae-42d0-af80-22a2599749e0,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,Power Apps for Dynamics 365 Dynamics 365 for Case Management Enterprise Edition,DYN365_ENTERPRISE_CASE_MANAGEMENT,d39fb075-21ae-42d0-af80-22a2599749e0,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Power Automate for Dynamics 365 -"Dynamics 365 for Case Management, Enterprise Edition for Government",D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,79bb0a8d-e686-4e16-ac59-2b3fd0014a61,Dynamics 365 for Case Management for Government -"Dynamics 365 for Case Management, Enterprise Edition for Government",D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government -"Dynamics 365 for Case Management, Enterprise Edition for Government",D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government -"Dynamics 365 for Case Management, Enterprise Edition for Government",D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,PROJECT_ESSENTIALS_GOV,fdcb7064-f45c-46fa-b056-7e0e9fdf4bf3,Project Online Essentials for Government -"Dynamics 365 for Case Management, Enterprise Edition for Government",D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G -"Dynamics 365 for Case Management, Enterprise Edition for Government",D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,FLOW_DYN_APPS_GOV,2c6af4f1-e7b6-4d59-bbc8-eaa884f42d69,Power Automate for Dynamics 365 for Government -"Dynamics 365 for Case Management, Enterprise Edition for Government",D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government -"Dynamics 365 for Case Management, Enterprise Edition for Government",DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,79bb0a8d-e686-4e16-ac59-2b3fd0014a61,Dynamics 365 for Case Management for Government -"Dynamics 365 for Case Management, Enterprise Edition for Government",DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User -"Dynamics 365 for Case Management, Enterprise Edition for Government",DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation -"Dynamics 365 for Case Management, Enterprise Edition for Government",DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government -"Dynamics 365 for Case Management, Enterprise Edition for Government",DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,PROJECT_ESSENTIALS_GOV,fdcb7064-f45c-46fa-b056-7e0e9fdf4bf3,Project Online Essentials for Government -"Dynamics 365 for Case Management, Enterprise Edition for Government",DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G -"Dynamics 365 for Case Management, Enterprise Edition for Government",DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,FLOW_DYN_APPS_GOV,2c6af4f1-e7b6-4d59-bbc8-eaa884f42d69,Power Automate for Dynamics 365 for Government -"Dynamics 365 for Case Management, Enterprise Edition for Government",DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,79bb0a8d-e686-4e16-ac59-2b3fd0014a61,Dynamics 365 for Case Management for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,PROJECT_ESSENTIALS_GOV,fdcb7064-f45c-46fa-b056-7e0e9fdf4bf3,Project Online Essentials for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G +Dynamics 365 for Case Management, Enterprise Edition for Government,D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,FLOW_DYN_APPS_GOV,2c6af4f1-e7b6-4d59-bbc8-eaa884f42d69,Power Automate for Dynamics 365 for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,79bb0a8d-e686-4e16-ac59-2b3fd0014a61,Dynamics 365 for Case Management for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User +Dynamics 365 for Case Management, Enterprise Edition for Government,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 for Case Management, Enterprise Edition for Government,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,PROJECT_ESSENTIALS_GOV,fdcb7064-f45c-46fa-b056-7e0e9fdf4bf3,Project Online Essentials for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G +Dynamics 365 for Case Management, Enterprise Edition for Government,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,FLOW_DYN_APPS_GOV,2c6af4f1-e7b6-4d59-bbc8-eaa884f42d69,Power Automate for Dynamics 365 for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,DYN365_CDS_RETAIL,93cc200d-a47f-4c56-aec1-83f8b0d0425a,Common Data Service for Dynamics 365 Retail +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,FLOW_FOR_IOM_USL,9e6d1620-dce9-4655-8933-af8fa5bccc9c,Data Integration for IOM with Power Automate USL +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,CDS_FOR_IOM,2bb89402-51e9-4c5a-be33-e954a9dd1ba6,Dataverse for IOM +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,DYN365_RETAIL,117e3aa0-8d08-4a19-a6a5-90b7a96e2128,Dynamics 365 Commerce +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,DYN365_REGULATORY_SERVICE,c7657ae3-c0b0-4eed-8c1d-6a7967bd9c65,Dynamics 365 for Finance and Operations, Enterprise edition - Regulatory Service +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,DYN365_FP_ACC_PROTECTION,4c00c16c-0304-4421-b598-555c3e78edcb,Dynamics 365 Fraud Protection - Account Protection +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,DYN365_FP_LOSS_PREVENTION,ecc62904-fa88-4552-a62c-fe582fb31444,Dynamics 365 Fraud Protection - Loss Prevention +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,DYN365_FP_PURCH_PROTECTION,d703990f-006e-459b-b8dd-1267c4533a22,Dynamics 365 Fraud Protection - Purchase Protection +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,DYN365_IOM,616cf6e2-f52f-4738-b463-10003061fcd3,Dynamics 365 Intelligent Order Management +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,DYN365_IOM_USER,81375e2f-5ef7-4773-96aa-e3279f50bd21,Dynamics 365 Intelligent Order Management USL +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,Power Apps for Dynamics 365 +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Power Automate for Dynamics 365 Dynamics 365 for Customer Service Chat,DYN365_CS_CHAT,7d7af6c2-0be6-46df-84d1-c181b0272909,DYN365_CS_CHAT_FPA,426ec19c-d5b1-4548-b894-6fe75028c30d,Dynamics 365 Customer Service Chat Application Integration Dynamics 365 for Customer Service Chat,DYN365_CS_CHAT,7d7af6c2-0be6-46df-84d1-c181b0272909,DYN365_CS_CHAT,f69129db-6dc1-4107-855e-0aaebbcd9dd4,Dynamics 365 for Customer Service Chat Dynamics 365 for Customer Service Chat,DYN365_CS_CHAT,7d7af6c2-0be6-46df-84d1-c181b0272909,POWER_VIRTUAL_AGENTS_D365_CS_CHAT,19e4c3a8-3ebe-455f-a294-4f3479873ae3,Power Virtual Agents for Chat @@ -272,14 +296,14 @@ Dynamics 365 for Customer Service Enterprise Edition,DYN365_ENTERPRISE_CUSTOMER_ Dynamics 365 for Customer Service Enterprise Edition,DYN365_ENTERPRISE_CUSTOMER_SERVICE,749742bf-0d37-4158-a120-33567104deeb,PROJECT_ESSENTIALS,1259157c-8581-4875-bca7-2ffb18c51bda,POWERAPPS FOR DYNAMICS 365 Dynamics 365 for Customer Service Enterprise Edition,DYN365_ENTERPRISE_CUSTOMER_SERVICE,749742bf-0d37-4158-a120-33567104deeb,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,DYNAMICS 365 FOR CUSTOMER SERVICE Dynamics 365 for Customer Service Enterprise Edition,DYN365_ENTERPRISE_CUSTOMER_SERVICE,749742bf-0d37-4158-a120-33567104deeb,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,OFFICE ONLINE -"Dynamics 365 for Customer Service, Enterprise Edition for Government",DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,dc6643d9-1e72-4dce-9f64-1d6eac1f1c5a,Dynamics 365 for Customer Service for Government -"Dynamics 365 for Customer Service, Enterprise Edition for Government",DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,Forms_Pro_Service_GCC,bb681a9b-58f5-42ee-9926-674325be8aaa,Microsoft Dynamics 365 Customer Voice for Customer Service Enterprise for GCC -"Dynamics 365 for Customer Service, Enterprise Edition for Government",DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation -"Dynamics 365 for Customer Service, Enterprise Edition for Government",DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government -"Dynamics 365 for Customer Service, Enterprise Edition for Government",DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,PROJECT_ESSENTIALS_GOV,fdcb7064-f45c-46fa-b056-7e0e9fdf4bf3,Project Online Essentials for Government -"Dynamics 365 for Customer Service, Enterprise Edition for Government",DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G -"Dynamics 365 for Customer Service, Enterprise Edition for Government",DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,FLOW_DYN_APPS_GOV,2c6af4f1-e7b6-4d59-bbc8-eaa884f42d69,Power Automate for Dynamics 365 for Government -"Dynamics 365 for Customer Service, Enterprise Edition for Government",DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government +Dynamics 365 for Customer Service, Enterprise Edition for Government,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,dc6643d9-1e72-4dce-9f64-1d6eac1f1c5a,Dynamics 365 for Customer Service for Government +Dynamics 365 for Customer Service, Enterprise Edition for Government,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,Forms_Pro_Service_GCC,bb681a9b-58f5-42ee-9926-674325be8aaa,Microsoft Dynamics 365 Customer Voice for Customer Service Enterprise for GCC +Dynamics 365 for Customer Service, Enterprise Edition for Government,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 for Customer Service, Enterprise Edition for Government,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government +Dynamics 365 for Customer Service, Enterprise Edition for Government,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,PROJECT_ESSENTIALS_GOV,fdcb7064-f45c-46fa-b056-7e0e9fdf4bf3,Project Online Essentials for Government +Dynamics 365 for Customer Service, Enterprise Edition for Government,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G +Dynamics 365 for Customer Service, Enterprise Edition for Government,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,FLOW_DYN_APPS_GOV,2c6af4f1-e7b6-4d59-bbc8-eaa884f42d69,Power Automate for Dynamics 365 for Government +Dynamics 365 for Customer Service, Enterprise Edition for Government,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government Dynamics 365 for Field Service Attach to Qualifying Dynamics 365 Base Offer,D365_FIELD_SERVICE_ATTACH,a36cdaa2-a806-4b6e-9ae0-28dbd993c20e,D365_FIELD_SERVICE_ATTACH,55c9148b-d5f0-4101-b5a0-b2727cfc0916,Dynamics 365 for Field Service Attach Dynamics 365 for Field Service Attach to Qualifying Dynamics 365 Base Offer,D365_FIELD_SERVICE_ATTACH,a36cdaa2-a806-4b6e-9ae0-28dbd993c20e,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Dynamics 365 for Field Service Enterprise Edition,DYN365_ENTERPRISE_FIELD_SERVICE,c7d15985-e746-4f01-b113-20b575898250,DYN365_ENTERPRISE_FIELD_SERVICE,8c66ef8a-177f-4c0d-853c-d4f219331d09,Dynamics 365 for Field Service @@ -311,6 +335,11 @@ Dynamics 365 for Field Service for Government,D365_ENTERPRISE_FIELD_SERVICE_GOV, Dynamics 365 for Financials Business Edition,DYN365_FINANCIALS_BUSINESS_SKU,cc13a803-544e-4464-b4e4-6d6169a138fa,DYN365_FINANCIALS_BUSINESS,920656a2-7dd8-4c83-97b6-a356414dbd36,FLOW FOR DYNAMICS 365 Dynamics 365 for Financials Business Edition,DYN365_FINANCIALS_BUSINESS_SKU,cc13a803-544e-4464-b4e4-6d6169a138fa,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,POWERAPPS FOR DYNAMICS 365 Dynamics 365 for Financials Business Edition,DYN365_FINANCIALS_BUSINESS_SKU,cc13a803-544e-4464-b4e4-6d6169a138fa,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,DYNAMICS 365 FOR FINANCIALS +Dynamics 365 Guides vTrial,Dynamics_365_Guides_vTrial,99cb3f83-fbec-4aa1-8262-9679e6df7c53,D365_GUIDES_VIRAL_TRIAL,fe986032-d840-4817-82d4-51fe4fbbe163,Dynamics 365 Guides vTrial +Dynamics 365 Guides vTrial,Dynamics_365_Guides_vTrial,99cb3f83-fbec-4aa1-8262-9679e6df7c53,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Guides vTrial,Dynamics_365_Guides_vTrial,99cb3f83-fbec-4aa1-8262-9679e6df7c53,DYN365_CDS_VIRAL,17ab22cd-a0b3-4536-910a-cb6eb12696c0,Common Data Service +Dynamics 365 Guides vTrial,Dynamics_365_Guides_vTrial,99cb3f83-fbec-4aa1-8262-9679e6df7c53,POWER_APPS_DYN365_VIRAL_TRIAL_MIXED_REALITY,066e2fd1-ba15-40e7-aa96-d6636b1cdf71,Power Apps for Dynamics 365 Mixed Reality +Dynamics 365 Guides vTrial,Dynamics_365_Guides_vTrial,99cb3f83-fbec-4aa1-8262-9679e6df7c53,POWER_AUTOMATE_DYN365_VIRAL_TRIAL_MIXED_REALITY,26fa8a18-2812-4b3d-96b4-864818ce26be,Power Automate for Dynamics 365 Mixed Reality Dynamics 365 Hybrid Connector,CRM_HYBRIDCONNECTOR,de176c31-616d-4eae-829a-718918d7ec23,CRM_HYBRIDCONNECTOR,0210d5c8-49d2-4dd1-a01b-a91c7c14e0bf,CRM Hybrid Connector Dynamics 365 Hybrid Connector,CRM_HYBRIDCONNECTOR,de176c31-616d-4eae-829a-718918d7ec23,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Dynamics 365 for Marketing Additional Application,DYN365_MARKETING_APPLICATION_ADDON,99c5688b-6c75-4496-876f-07f0fbd69add,DYN365_MARKETING_APPLICATION_ADDON,51cf0638-4861-40c0-8b20-1161ab2f80be,Dynamics 365 for Marketing Additional Application @@ -327,6 +356,20 @@ Dynamics 365 for Marketing USL,D365_MARKETING_USER,4b32a493-9a67-4649-8eb9-9fc5a Dynamics 365 for Marketing USL,D365_MARKETING_USER,4b32a493-9a67-4649-8eb9-9fc5a5f75c12,DYN365_MARKETING_USER,5d7a6abc-eebd-46ab-96e1-e4a2f54a2248,Dynamics 365 for Marketing USL Dynamics 365 for Marketing USL,D365_MARKETING_USER,4b32a493-9a67-4649-8eb9-9fc5a5f75c12,Forms_Pro_Marketing,76366ba0-d230-47aa-8087-b6d55dae454f,Microsoft Dynamics 365 Customer Voice for Marketing Dynamics 365 for Marketing USL,D365_MARKETING_USER,4b32a493-9a67-4649-8eb9-9fc5a5f75c12,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Operations – Activity,Dyn365_Operations_Activity,b75074f1-4c54-41bf-970f-c9ac871567f5,DYN365_RETAIL_Activity,f06754ec-6d72-4bf6-991c-4cb5413d9932,Dynamics 365 for Retail Activity +Dynamics 365 Operations – Activity,Dyn365_Operations_Activity,b75074f1-4c54-41bf-970f-c9ac871567f5,DYN365_Enterprise_Talent_Attract_Activity,aac5a56b-b02e-4608-8014-b076646d4011,Dynamics 365 for Talent - Attract Experience Activity +Dynamics 365 Operations – Activity,Dyn365_Operations_Activity,b75074f1-4c54-41bf-970f-c9ac871567f5,DYN365_Enterprise_Talent_Onboard_Activity,db225597-e9c2-4d96-8ace-5424744c80f8,Dynamics 365 for Talent - Onboard Experience +Dynamics 365 Operations – Activity,Dyn365_Operations_Activity,b75074f1-4c54-41bf-970f-c9ac871567f5,Dynamics_365_for_Talent_Activity,1f87ee90-5c3a-4cf9-b6fd-e3e8017c26ec,Dynamics 365 for Talent Activity +Dynamics 365 Operations – Activity,Dyn365_Operations_Activity,b75074f1-4c54-41bf-970f-c9ac871567f5,Dynamics_365_for_Operations_Activity,6bddf93e-d6f4-4991-b9fc-30cfdf07ee7b,Dynamics365 for Operations Activity +Dynamics 365 Operations – Activity,Dyn365_Operations_Activity,b75074f1-4c54-41bf-970f-c9ac871567f5,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Project Operations Attach,DYN365_PROJECT_OPERATIONS_ATTACH,af739e8e-dd11-4eb5-a986-5908f595c603,D365CDSforProjectOperations,7df1d500-ca5c-4229-8cea-815bc88798c9,Common Data Service for Dynamics 365 Project Operations +Dynamics 365 Project Operations Attach,DYN365_PROJECT_OPERATIONS_ATTACH,af739e8e-dd11-4eb5-a986-5908f595c603,D365_ProjectOperationsCDSAttach,e564d403-7eaf-4c91-b92f-bb0dc62026e1,Dynamics 365 Project Operations CDS Attach +Dynamics 365 Project Operations Attach,DYN365_PROJECT_OPERATIONS_ATTACH,af739e8e-dd11-4eb5-a986-5908f595c603,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User +Dynamics 365 Project Operations Attach,DYN365_PROJECT_OPERATIONS_ATTACH,af739e8e-dd11-4eb5-a986-5908f595c603,D365_ProjectOperations,69f07c66-bee4-4222-b051-195095efee5b,Dynamics 365 Project Operations +Dynamics 365 Project Operations Attach,DYN365_PROJECT_OPERATIONS_ATTACH,af739e8e-dd11-4eb5-a986-5908f595c603,D365_ProjectOperationsAttach,fa7675bd-6717-40e7-8172-d0bbcbe1ab12,Dynamics 365 Project Operations Attach +Dynamics 365 Project Operations Attach,DYN365_PROJECT_OPERATIONS_ATTACH,af739e8e-dd11-4eb5-a986-5908f595c603,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Project Operations Attach,DYN365_PROJECT_OPERATIONS_ATTACH,af739e8e-dd11-4eb5-a986-5908f595c603,PROJECT_FOR_PROJECT_OPERATIONS_ATTACH,6d8e07c6-9613-484f-8cc1-a66c5c3979bb,Project for Project Operations Attach +Dynamics 365 Project Operations Attach,DYN365_PROJECT_OPERATIONS_ATTACH,af739e8e-dd11-4eb5-a986-5908f595c603,SHAREPOINTSTANDARD,c7699d2e-19aa-44de-8edf-1736da088ca1,SharePoint (Plan 1) Dynamics 365 for Project Service Automation Enterprise Edition for Government,DYN365_ENTERPRISE_PROJECT_SERVICE_AUTOMATION_GOV,1ec19b5f-7542-4b20-b01f-fb5d3f040e2d,DYN365_ENTERPRISE_PROJECT_SERVICE_AUTOMATION_GOV,1d8c8e0e-4308-4db5-8a41-b129dbdaea20,Dynamics 365 for Project Service Automation for Government Dynamics 365 for Project Service Automation Enterprise Edition for Government,DYN365_ENTERPRISE_PROJECT_SERVICE_AUTOMATION_GOV,1ec19b5f-7542-4b20-b01f-fb5d3f040e2d,Forms_Pro_PS_GCC,e98256c5-17d0-4987-becc-e991c52d55c6,Microsoft Dynamics 365 Customer Voice for Project Service Automation for GCC Dynamics 365 for Project Service Automation Enterprise Edition for Government,DYN365_ENTERPRISE_PROJECT_SERVICE_AUTOMATION_GOV,1ec19b5f-7542-4b20-b01f-fb5d3f040e2d,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation @@ -350,13 +393,13 @@ Dynamics 365 for Sales Enterprise Edition,DYN365_ENTERPRISE_SALES,1e1a282c-9c54- Dynamics 365 for Sales Enterprise Edition,DYN365_ENTERPRISE_SALES,1e1a282c-9c54-43a2-9310-98ef728faace,PROJECT_ESSENTIALS,1259157c-8581-4875-bca7-2ffb18c51bda,PROJECT ONLINE ESSENTIALS Dynamics 365 for Sales Enterprise Edition,DYN365_ENTERPRISE_SALES,1e1a282c-9c54-43a2-9310-98ef728faace,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SHAREPOINT ONLINE (PLAN 2) Dynamics 365 for Sales Enterprise Edition,DYN365_ENTERPRISE_SALES,1e1a282c-9c54-43a2-9310-98ef728faace,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,OFFICE ONLINE -"Dynamics 365 for Sales, Enterprise Edition for Government",DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,DYN365_ENTERPRISE_SALES_GOV,213be507-d547-4f79-bc2c-6196bc54c4a3,Dynamics 365 for Sales for Government -"Dynamics 365 for Sales, Enterprise Edition for Government",DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation -"Dynamics 365 for Sales, Enterprise Edition for Government",DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government -"Dynamics 365 for Sales, Enterprise Edition for Government",DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,PROJECT_ESSENTIALS_GOV,fdcb7064-f45c-46fa-b056-7e0e9fdf4bf3,Project Online Essentials for Government -"Dynamics 365 for Sales, Enterprise Edition for Government",DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G -"Dynamics 365 for Sales, Enterprise Edition for Government",DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,FLOW_DYN_APPS_GOV,2c6af4f1-e7b6-4d59-bbc8-eaa884f42d69,Power Automate for Dynamics 365 for Government -"Dynamics 365 for Sales, Enterprise Edition for Government",DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government +Dynamics 365 for Sales, Enterprise Edition for Government,DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,DYN365_ENTERPRISE_SALES_GOV,213be507-d547-4f79-bc2c-6196bc54c4a3,Dynamics 365 for Sales for Government +Dynamics 365 for Sales, Enterprise Edition for Government,DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 for Sales, Enterprise Edition for Government,DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government +Dynamics 365 for Sales, Enterprise Edition for Government,DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,PROJECT_ESSENTIALS_GOV,fdcb7064-f45c-46fa-b056-7e0e9fdf4bf3,Project Online Essentials for Government +Dynamics 365 for Sales, Enterprise Edition for Government,DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G +Dynamics 365 for Sales, Enterprise Edition for Government,DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,FLOW_DYN_APPS_GOV,2c6af4f1-e7b6-4d59-bbc8-eaa884f42d69,Power Automate for Dynamics 365 for Government +Dynamics 365 for Sales, Enterprise Edition for Government,DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government Dynamics 365 for Sales Enterprise for Government,D365_ENTERPRISE_SALES_GOV,e85b3345-2fd5-45cf-a196-7968d3e18e56,DYN365_ENTERPRISE_SALES_GOV,213be507-d547-4f79-bc2c-6196bc54c4a3,Dynamics 365 for Sales for Government Dynamics 365 for Sales Enterprise for Government,D365_ENTERPRISE_SALES_GOV,e85b3345-2fd5-45cf-a196-7968d3e18e56,Forms_Pro_SalesEnt_GCC,33850b82-0a37-4ebb-a0b2-ee163facd716,Microsoft Dynamics 365 Customer Voice for Sales Enterprise for GCC Dynamics 365 for Sales Enterprise for Government,D365_ENTERPRISE_SALES_GOV,e85b3345-2fd5-45cf-a196-7968d3e18e56,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User @@ -368,12 +411,12 @@ Dynamics 365 for Sales Enterprise for Government,D365_ENTERPRISE_SALES_GOV,e85b3 Dynamics 365 for Sales Enterprise for Government,D365_ENTERPRISE_SALES_GOV,e85b3345-2fd5-45cf-a196-7968d3e18e56,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G Dynamics 365 for Sales Enterprise for Government,D365_ENTERPRISE_SALES_GOV,e85b3345-2fd5-45cf-a196-7968d3e18e56,FLOW_DYN_APPS_GOV,2c6af4f1-e7b6-4d59-bbc8-eaa884f42d69,Power Automate for Dynamics 365 for Government Dynamics 365 for Sales Enterprise for Government,D365_ENTERPRISE_SALES_GOV,e85b3345-2fd5-45cf-a196-7968d3e18e56,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government -"Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox",Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,DYN365_ENTERPRISE_P1,d56f3deb-50d8-465a-bedb-f079817ccac1,Dynamics 365 Customer Engagement Plan -"Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox",Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,Forms_Pro_Service,67bf4812-f90b-4db9-97e7-c0bbbf7b2d09,Microsoft Dynamics 365 Customer Voice for Customer Service Enterprise -"Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox",Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,Power Apps for Dynamics 365 -"Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox",Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Power Automate for Dynamics 365 -"Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox",Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation -"Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox",Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,PROJECT_ESSENTIALS,1259157c-8581-4875-bca7-2ffb18c51bda,Project Online Essentials +Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox,Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,DYN365_ENTERPRISE_P1,d56f3deb-50d8-465a-bedb-f079817ccac1,Dynamics 365 Customer Engagement Plan +Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox,Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,Forms_Pro_Service,67bf4812-f90b-4db9-97e7-c0bbbf7b2d09,Microsoft Dynamics 365 Customer Voice for Customer Service Enterprise +Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox,Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,Power Apps for Dynamics 365 +Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox,Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Power Automate for Dynamics 365 +Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox,Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox,Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,PROJECT_ESSENTIALS,1259157c-8581-4875-bca7-2ffb18c51bda,Project Online Essentials Dynamics 365 Sales Premium,DYN365_SALES_PREMIUM,2edaa1dc-966d-4475-93d6-8ee8dfd96877,DYN365_SALES_INSIGHTS,fedc185f-0711-4cc0-80ed-0a92da1a8384,Dynamics 365 AI for Sales (Embedded) Dynamics 365 Sales Premium,DYN365_SALES_PREMIUM,2edaa1dc-966d-4475-93d6-8ee8dfd96877,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) Dynamics 365 Sales Premium,DYN365_SALES_PREMIUM,2edaa1dc-966d-4475-93d6-8ee8dfd96877,PROJECT_ESSENTIALS,1259157c-8581-4875-bca7-2ffb18c51bda,Project Online Essentials @@ -386,6 +429,12 @@ Dynamics 365 Sales Premium,DYN365_SALES_PREMIUM,2edaa1dc-966d-4475-93d6-8ee8dfd9 Dynamics 365 Sales Premium,DYN365_SALES_PREMIUM,2edaa1dc-966d-4475-93d6-8ee8dfd96877,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User Dynamics 365 Sales Premium,DYN365_SALES_PREMIUM,2edaa1dc-966d-4475-93d6-8ee8dfd96877,Forms_Pro_SalesEnt,8839ef0e-91f1-4085-b485-62e06e7c7987,Microsoft Dynamics 365 Customer Voice for Sales Enterprise Dynamics 365 Sales Premium,DYN365_SALES_PREMIUM,2edaa1dc-966d-4475-93d6-8ee8dfd96877,DYN365_ENTERPRISE_SALES,2da8e897-7791-486b-b08f-cc63c8129df7,Dynamics 365 for Sales +Dynamics 365 for Supply Chain Management Attach to Qualifying Dynamics 365 Base Offer,DYN365_SCM_ATTACH,090b4a96-8114-4c95-9c91-60e81ef53302,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User +Dynamics 365 for Supply Chain Management Attach to Qualifying Dynamics 365 Base Offer,DYN365_SCM_ATTACH,090b4a96-8114-4c95-9c91-60e81ef53302,DYN365_CDS_SUPPLYCHAINMANAGEMENT,b6a8b974-2956-4e14-ae81-f0384c363528,Common Data Service for Dynamics 365 Supply Chain Management +Dynamics 365 for Supply Chain Management Attach to Qualifying Dynamics 365 Base Offer,DYN365_SCM_ATTACH,090b4a96-8114-4c95-9c91-60e81ef53302,CDS_FOR_IOM,2bb89402-51e9-4c5a-be33-e954a9dd1ba6,Dataverse for IOM +Dynamics 365 for Supply Chain Management Attach to Qualifying Dynamics 365 Base Offer,DYN365_SCM_ATTACH,090b4a96-8114-4c95-9c91-60e81ef53302,DYN365_REGULATORY_SERVICE,c7657ae3-c0b0-4eed-8c1d-6a7967bd9c65,Dynamics 365 for Finance and Operations, Enterprise edition - Regulatory Service +Dynamics 365 for Supply Chain Management Attach to Qualifying Dynamics 365 Base Offer,DYN365_SCM_ATTACH,090b4a96-8114-4c95-9c91-60e81ef53302,D365_SCM_Attach,b21c777f-c2d5-486e-88f6-fc0a3e474271,Dynamics 365 for Supply Chain Management Attach +Dynamics 365 for Supply Chain Management Attach to Qualifying Dynamics 365 Base Offer,DYN365_SCM_ATTACH,090b4a96-8114-4c95-9c91-60e81ef53302,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Dynamics 365 for Marketing Business Edition,DYN365_BUSINESS_MARKETING,238e2f8d-e429-4035-94db-6926be4ffe7b,DYN365_BUSINESS_Marketing,393a0c96-9ba1-4af0-8975-fa2f853a25ac,Dynamics 365 Marketing Dynamics 365 for Marketing Business Edition,DYN365_BUSINESS_MARKETING,238e2f8d-e429-4035-94db-6926be4ffe7b,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Dynamics 365 Regulatory Service - Enterprise Edition Trial,DYN365_REGULATORY_SERVICE,7ed4877c-0863-4f69-9187-245487128d4f,DYN365_REGULATORY_SERVICE,c7657ae3-c0b0-4eed-8c1d-6a7967bd9c65,Dynamics 365 for Finance and Operations Enterprise edition - Regulatory Service @@ -472,7 +521,7 @@ Dynamics 365 P1 Tria for Information Workers,DYN365_ENTERPRISE_P1_IW,338148b6-1b Dynamics 365 Project Operations,DYN365_PROJECT_OPERATIONS,98619618-9dc8-48c6-8f0c-741890ba5f93,D365CDSforProjectOperations,7df1d500-ca5c-4229-8cea-815bc88798c9,Common Data Service for Dynamics 365 Project Operations Dynamics 365 Project Operations,DYN365_PROJECT_OPERATIONS,98619618-9dc8-48c6-8f0c-741890ba5f93,D365_ProjectOperationsCDS,18fa3aba-b085-4105-87d7-55617b8585e6,Dynamics 365 Project Operations CDS Dynamics 365 Project Operations,DYN365_PROJECT_OPERATIONS,98619618-9dc8-48c6-8f0c-741890ba5f93,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User -Dynamics 365 Project Operations,DYN365_PROJECT_OPERATIONS,98619618-9dc8-48c6-8f0c-741890ba5f93,DYN365_REGULATORY_SERVICE,c7657ae3-c0b0-4eed-8c1d-6a7967bd9c65,"Dynamics 365 for Finance and Operations, Enterprise edition - Regulatory Service" +Dynamics 365 Project Operations,DYN365_PROJECT_OPERATIONS,98619618-9dc8-48c6-8f0c-741890ba5f93,DYN365_REGULATORY_SERVICE,c7657ae3-c0b0-4eed-8c1d-6a7967bd9c65,Dynamics 365 for Finance and Operations, Enterprise edition - Regulatory Service Dynamics 365 Project Operations,DYN365_PROJECT_OPERATIONS,98619618-9dc8-48c6-8f0c-741890ba5f93,D365_ProjectOperations,69f07c66-bee4-4222-b051-195095efee5b,Dynamics 365 Project Operations Dynamics 365 Project Operations,DYN365_PROJECT_OPERATIONS,98619618-9dc8-48c6-8f0c-741890ba5f93,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,Power Apps for Dynamics 365 Dynamics 365 Project Operations,DYN365_PROJECT_OPERATIONS,98619618-9dc8-48c6-8f0c-741890ba5f93,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Power Automate for Dynamics 365 @@ -630,7 +679,7 @@ Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789 Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,EducationAnalyticsP1,a9b86446-fa4e-498f-a92a-41b447e03337,Education Analytics Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers -Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise @@ -676,7 +725,7 @@ Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36 Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,EducationAnalyticsP1,a9b86446-fa4e-498f-a92a-41b447e03337,Education Analytics Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers -Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise @@ -758,7 +807,7 @@ Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSE Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,EducationAnalyticsP1,a9b86446-fa4e-498f-a92a-41b447e03337,Education Analytics Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers -Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,OFFICESUBSCRIPTION_unattended,8d77e2d9-9e28-4450-8431-0def64078fc5,Microsoft 365 Apps for Enterprise (Unattended) Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,OFFICE_FORMS_PLAN_2,9b5de886-f035-4ff2-b3d8-c9127bea3620,Microsoft Forms (Plan 2) @@ -800,7 +849,7 @@ Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07 Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing @@ -876,7 +925,7 @@ Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3 Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing @@ -986,7 +1035,7 @@ Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-48 Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,INTUNE_EDU,da24caf9-af8e-485c-b7c8-e73336da2693,Microsoft Intune for Education Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,POWERAPPS_O365_P2,c68f8d98-5534-41c8-bf36-22fa496fa792,Power Apps for Office 365 Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,FLOW_O365_P2,76846ad7-7776-4c40-a281-a386362dd1b9,Power Automate for Office 365 -Microsoft 365 A5 Suite features for faculty,M365_A5_SUITE_COMPONENTS_FACULTY,9b8fe788-6174-4c4e-983b-3330c93ec278,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics � Premium +Microsoft 365 A5 Suite features for faculty,M365_A5_SUITE_COMPONENTS_FACULTY,9b8fe788-6174-4c4e-983b-3330c93ec278,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics – Premium Microsoft 365 A5 Suite features for faculty,M365_A5_SUITE_COMPONENTS_FACULTY,9b8fe788-6174-4c4e-983b-3330c93ec278,INSIDER_RISK,d587c7a3-bda9-4f99-8776-9bcf59c84f75,Microsoft Insider Risk Management Microsoft 365 A5 Suite features for faculty,M365_A5_SUITE_COMPONENTS_FACULTY,9b8fe788-6174-4c4e-983b-3330c93ec278,ML_CLASSIFICATION,d2d51368-76c9-4317-ada2-a12c004c432f,Microsoft ML-Based Classification Microsoft 365 A5 Suite features for faculty,M365_A5_SUITE_COMPONENTS_FACULTY,9b8fe788-6174-4c4e-983b-3330c93ec278,SAFEDOCS,bf6f5520-59e3-4f82-974b-7dbbc4fd27c7,Office 365 SafeDocs @@ -1032,7 +1081,7 @@ Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_ Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,BPOS_S_TODO_2,c87f142c-d1e9-4363-8630-aaea9c4d9ae5,To-Do (Plan 2) Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,UNIVERSAL_PRINT_NO_SEEDING,b67adbaf-a096-42c9-967e-5a84edbe0086,Universal Print Without Seeding Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) -Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,"Virtualization Rights for Windows 10 (E3/E5+VDA)",e7c91390-7625-45be-94e0-e16907e03118,Windows 10 Enterprise (New) +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,Virtualization Rights for Windows 10 (E3/E5+VDA),e7c91390-7625-45be-94e0-e16907e03118,Windows 10 Enterprise (New) Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,YAMMER_EDU,2078e8df-cff6-4290-98cb-5408261a760a,Yammer for Academic Microsoft 365 Apps for Business,O365_BUSINESS,cdd28e44-67e3-425e-be4c-737fab2899d3,FORMS_PLAN_E1,159f4cd6-e380-449f-a816-af1a9ef76344,MICROSOFT FORMS (PLAN E1) Microsoft 365 Apps for Business,O365_BUSINESS,cdd28e44-67e3-425e-be4c-737fab2899d3,OFFICE_BUSINESS,094e7854-93fc-4d55-b2c0-3ab5369ebdc1,OFFICE 365 BUSINESS @@ -1139,7 +1188,7 @@ Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27 Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,MESH_AVATARS_FOR_TEAMS,dcf9d2f4-772e-4434-b757-77a453cfbc02,Avatars for Teams Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,CDS_O365_P2,95b76021-6a53-4741-ab8b-1d1f3d66a95a,Common Data Service for Teams -Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Copilot +Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,EXCHANGE_S_STANDARD,9aaf7827-d63c-4b61-89c3-182f06f82e5c,Exchange Online (Plan 1) Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,OFFICE_BUSINESS,094e7854-93fc-4d55-b2c0-3ab5369ebdc1,Microsoft 365 Apps for business @@ -1173,7 +1222,7 @@ Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27 Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,FLOW_O365_P1,0f9b09cb-62d1-4ff4-9129-43f4996f83f4,Power Automate for Office 365 Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,POWER_VIRTUAL_AGENTS_O365_P2,041fe683-03e4-45b6-b1af-c0cdc516daee,Power Virtual Agents for Office 365 Microsoft 365 Business Standard EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Standard,c1f79c29-5d7a-4bec-a2c1-1a76774864c0,DYN365BC_MS_INVOICING,39b5c996-467e-4e60-bd62-46066f572726,Microsoft Invoicing -Microsoft 365 Business Standard EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Standard,c1f79c29-5d7a-4bec-a2c1-1a76774864c0,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Bing Chat Enterprise +Microsoft 365 Business Standard EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Standard,c1f79c29-5d7a-4bec-a2c1-1a76774864c0,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot Microsoft 365 Business Standard EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Standard,c1f79c29-5d7a-4bec-a2c1-1a76774864c0,CDS_O365_P2,95b76021-6a53-4741-ab8b-1d1f3d66a95a,Common Data Service for Teams Microsoft 365 Business Standard EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Standard,c1f79c29-5d7a-4bec-a2c1-1a76774864c0,EXCHANGE_S_STANDARD,9aaf7827-d63c-4b61-89c3-182f06f82e5c,Exchange Online (Plan 1) Microsoft 365 Business Standard EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Standard,c1f79c29-5d7a-4bec-a2c1-1a76774864c0,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -1258,7 +1307,7 @@ Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,MESH_AVA Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,CDS_O365_P3,afa73018-811e-46e9-988f-f75d2b1b8430,Common Data Service for Teams -Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Copilot +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,BPOS_S_DlpAddOn,9bec7e34-c9fa-40b7-a9d1-bd6d1165c7ed,Data Loss Prevention Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,EXCHANGE_S_STANDARD,9aaf7827-d63c-4b61-89c3-182f06f82e5c,Exchange Online (Plan 1) @@ -1310,7 +1359,7 @@ Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,FLOW_O36 Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,POWER_VIRTUAL_AGENTS_O365_P3,ded3d325-1bdc-453e-8432-5bac26d7a014,Power Virtual Agents for Office 365 Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,DYN365BC_MS_INVOICING,39b5c996-467e-4e60-bd62-46066f572726,Microsoft Invoicing -Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Bing Chat Enterprise +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,CDS_O365_P3,afa73018-811e-46e9-988f-f75d2b1b8430,Common Data Service for Teams Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,BPOS_S_DlpAddOn,9bec7e34-c9fa-40b7-a9d1-bd6d1165c7ed,Data Loss Prevention Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,EXCHANGE_S_STANDARD,9aaf7827-d63c-4b61-89c3-182f06f82e5c,Exchange Online (Plan 1) @@ -1358,19 +1407,27 @@ Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Busine Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,POWERAPPS_O365_P1,92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c,Power Apps for Office 365 Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,FLOW_O365_P1,0f9b09cb-62d1-4ff4-9129-43f4996f83f4,Power Automate for Office 365 Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,POWER_VIRTUAL_AGENTS_O365_P3,ded3d325-1bdc-453e-8432-5bac26d7a014,Power Virtual Agents for Office 365 -Microsoft 365 Domestic Calling Plan (120 Minutes),MCOPSTN_5,11dee6af-eca8-419f-8061-6864517c1875,MCOPSTN5,54a152dc-90de-4996-93d2-bc47e670fc06,MICROSOFT 365 DOMESTIC CALLING PLAN (120 min) -Microsoft 365 Domestic Calling Plan for GCC,MCOPSTN_1_GOV,923f58ab-fca1-46a1-92f9-89fda21238a8,MCOPSTN1_GOV,3c8a8792-7866-409b-bb61-1b20ace0368b,Domestic Calling for Government -Microsoft 365 Domestic Calling Plan for GCC,MCOPSTN_1_GOV,923f58ab-fca1-46a1-92f9-89fda21238a8,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government -Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,MESH_AVATARS_FOR_TEAMS,dcf9d2f4-772e-4434-b757-77a453cfbc02,Avatars for Teams -Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) -Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management -Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,CDS_O365_P2,95b76021-6a53-4741-ab8b-1d1f3d66a95a,Common Data Service for Teams -Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Copilot -Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) -Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard -Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard -Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics -Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise +Microsoft 365 Business Voice (US),BUSINESS_VOICE_MED2_TELCO,08d7bce8-6e16-490e-89db-1d508e5e9609,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Microsoft 365 Business Voice (US),BUSINESS_VOICE_MED2_TELCO,08d7bce8-6e16-490e-89db-1d508e5e9609,MCOPSTN1,4ed3ff63-69d7-4fb7-b984-5aec7f605ca8,Microsoft 365 Domestic Calling Plan +Microsoft 365 Business Voice (without Calling Plan),BUSINESS_VOICE_DIRECTROUTING,d52db95a-5ecb-46b6-beb0-190ab5cda4a8,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Microsoft 365 Business Voice (without Calling Plan),BUSINESS_VOICE_DIRECTROUTING,d52db95a-5ecb-46b6-beb0-190ab5cda4a8,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft 365 Business Voice (UK,BUSINESS_VOICE,e5a17adf-8f0d-4b57-bc14-d331235f9307,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Microsoft 365 Business Voice (UK,BUSINESS_VOICE,e5a17adf-8f0d-4b57-bc14-d331235f9307,MCOPSTN1,4ed3ff63-69d7-4fb7-b984-5aec7f605ca8,Microsoft 365 Domestic Calling Plan +Microsoft 365 Business Voice (UK,BUSINESS_VOICE,e5a17adf-8f0d-4b57-bc14-d331235f9307,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft 365 Business Voice (without Calling Plan) for US,BUSINESS_VOICE_DIRECTROUTING_MED,8330dae3-d349-44f7-9cad-1b23c64baabe,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Microsoft 365 Business Voice (without Calling Plan) for US,BUSINESS_VOICE_DIRECTROUTING_MED,8330dae3-d349-44f7-9cad-1b23c64baabe,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft 365 Business Voice (without Calling Plan),BUSINESS_VOICE_DIRECTROUTING,d52db95a-5ecb-46b6-beb0-190ab5cda4a8,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Microsoft 365 Business Voice (without Calling Plan),BUSINESS_VOICE_DIRECTROUTING,d52db95a-5ecb-46b6-beb0-190ab5cda4a8,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft 365 Business Voice,BUSINESS_VOICE_MED2,a6051f20-9cbc-47d2-930d-419183bf6cf1,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Microsoft 365 Business Voice,BUSINESS_VOICE_MED2,a6051f20-9cbc-47d2-930d-419183bf6cf1,MCOPSTN1,4ed3ff63-69d7-4fb7-b984-5aec7f605ca8,Microsoft 365 Domestic Calling Plan +Microsoft 365 Business Voice,BUSINESS_VOICE_MED2,a6051f20-9cbc-47d2-930d-419183bf6cf1,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft Copilot for Microsoft 365,M365_Copilot,a809996b-059e-42e2-9866-db24b99a9782,GRAPH_CONNECTORS_COPILOT,82d30987-df9b-4486-b146-198b21d164c7,Graph Connectors in Microsoft 365 Copilot +Microsoft Copilot for Microsoft 365,M365_Copilot,a809996b-059e-42e2-9866-db24b99a9782,M365_COPILOT_INTELLIGENT_SEARCH,931e4a88-a67f-48b5-814f-16a5f1e6028d,Intelligent Search +Microsoft Copilot for Microsoft 365,M365_Copilot,a809996b-059e-42e2-9866-db24b99a9782,M365_COPILOT_TEAMS,b95945de-b3bd-46db-8437-f2beb6ea2347,Microsoft 365 Copilot in Microsoft Teams +Microsoft Copilot for Microsoft 365,M365_Copilot,a809996b-059e-42e2-9866-db24b99a9782,M365_COPILOT_APPS,a62f8878-de10-42f3-b68f-6149a25ceb97,Microsoft 365 Copilot in Productivity Apps +Microsoft Copilot for Microsoft 365,M365_Copilot,a809996b-059e-42e2-9866-db24b99a9782,M365_COPILOT_BUSINESS_CHAT,3f30311c-6b1e-48a4-ab79-725b469da960,Microsoft Copilot with Graph-grounded chat +Microsoft Copilot for Microsoft 365,M365_Copilot,a809996b-059e-42e2-9866-db24b99a9782,M365_COPILOT_CONNECTORS,89f1c4c8-0878-40f7-804d-869c9128ab5d,Power Platform Connectors in Microsoft 365 Copilot +Microsoft 365 Domestic Calling Plan (120 minutes) - US,MCOPSTN5_US,d13e9d1b-316a-4946-98c6-362c97a4fdfe,PSTN5_US,1346d5e6-15a6-4b88-9693-806ff7296a7a,Microsoft 365 Domestic Calling Plan - US (120 minutes) Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings @@ -1409,57 +1466,59 @@ Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,INTUNE_A,c1ec4a95-1 Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,POWERAPPS_O365_P2,c68f8d98-5534-41c8-bf36-22fa496fa792,Power Apps for Office 365 Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,FLOW_O365_P2,76846ad7-7776-4c40-a281-a386362dd1b9,Power Automate for Office 365 Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,POWER_VIRTUAL_AGENTS_O365_P2,041fe683-03e4-45b6-b1af-c0cdc516daee,Power Virtual Agents for Office 365 -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Azure Rights Management,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,RMS_S_ENTERPRISE -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Common Data Service for Teams,95b76021-6a53-4741-ab8b-1d1f3d66a95a,CDS_O365_P2 -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Copilot,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Bing_Chat_Enterprise -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Exchange Online (Plan 2),efb87545-963c-4e0d-99df-69c6916d9eb0,EXCHANGE_S_ENTERPRISE -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Information Protection and Governance Analytics � Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,ContentExplorer_Standard -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Information Protection for Office 365 - Standard,5136a095-5cf0-4aff-bec3-e84448b38ea5,MIP_S_CLP1 -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Insights by MyAnalytics,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,MYANALYTICS_P2 -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Microsoft 365 Apps for enterprise,43de0ff5-c92c-492b-9116-175376d08c38,OFFICESUBSCRIPTION -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Microsoft 365 Lighthouse (Plan 1),6f23d6a9-adbf-481c-8538-b4c095654487,M365_LIGHTHOUSE_CUSTOMER_PLAN1 -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Microsoft 365 Lighthouse (Plan 2),d55411c9-cfff-40a9-87c7-240f14df7da5,M365_LIGHTHOUSE_PARTNER_PLAN1 -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Microsoft Bookings,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,MICROSOFTBOOKINGS -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Microsoft Clipchamp,a1ace008-72f3-4ea0-8dac-33b3a23a2472,CLIPCHAMP -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Microsoft Defender for Endpoint Plan 1,292cc034-7b7c-4950-aaf5-943befd3f1d4,MDE_LITE -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Microsoft Forms (Plan E3),2789c901-c14e-48ab-a76a-be334d9d793a,FORMS_PLAN_E3 -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Microsoft Kaizala Pro,aebd3021-9f8f-4bf8-bbe3-0ed2f4f047a1,KAIZALA_O365_P3 -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Microsoft Planner,b737dad2-2f6c-4c65-90e3-ca563267e8b9,PROJECTWORKMANAGEMENT -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Microsoft Search,94065c59-bc8e-4e8b-89e5-5138d471eaff,MICROSOFT_SEARCH -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Microsoft StaffHub,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Deskless -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Microsoft Stream for Office 365 E3,9e700747-8b1d-45e5-ab8d-ef187ceec156,STREAM_O365_E3 -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Mobile Device Management for Office 365,882e1d05-acd1-4ccb-8708-6ee03664b117,INTUNE_O365 -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Office for the Web,e95bec33-7c88-4a70-8e19-b10bd9d0c014,SHAREPOINTWAC -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Project for Office (Plan E3),31b4e2fc-4cd6-4e7d-9c1b-41407303bd66,PROJECT_O365_P2 -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,SharePoint (Plan 2),5dbe027f-2339-4123-9542-606e4d348a72,SHAREPOINTENTERPRISE -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Skype for Business Online (Plan 2),0feaeb32-d00e-4d66-bd5a-43b5b83db82c,MCOSTANDARD -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Sway,a23b959c-7ce8-4e57-9140-b90eb88a9e97,SWAY -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,To-Do (Plan 2),c87f142c-d1e9-4363-8630-aaea9c4d9ae5,BPOS_S_TODO_2 -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Viva Engage Core,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,VIVAENGAGE_CORE -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Viva Learning Seeded,b76fb638-6ba6-402a-b9f9-83d28acb3d86,VIVA_LEARNING_SEEDED -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Whiteboard (Plan 2),94a54592-cd8b-425e-87c6-97868b000b91,WHITEBOARD_PLAN2 -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Yammer Enterprise,7547a3fe-08ee-4ccb-b430-5077c5041653,YAMMER_ENTERPRISE -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Universal Print,795f6fe0-cc4d-4773-b050-5dde4dc704c9,UNIVERSAL_PRINT_01 -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Windows 10/11 Enterprise (Original),21b439ba-a0ca-424f-a6cc-52f954a5b111,WIN10_PRO_ENT_SUB -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Windows Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows_Autopatch -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Windows Update for Business Deployment Service,7bf960f6-2cd9-443a-8046-5dbff9558365,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Azure Information Protection Premium P1,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,RMS_S_PREMIUM -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Common Data Service,4ff01e01-1ba7-4d71-8cf8-ce96c3bbcf14,DYN365_CDS_O365_P2 -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Microsoft Azure Multi-Factor Authentication,8a256a2b-b617-496d-b51b-e76466e88db0,MFA_PREMIUM -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Microsoft Defender for Cloud Apps Discovery,932ad362-64a8-4783-9106-97849a1a30b9,ADALLOM_S_DISCOVERY -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Microsoft Entra ID P1,41781fb2-bc02-4b7c-bd55-b576c07bb09d,AAD_PREMIUM -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Microsoft Intune Plan 1,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,INTUNE_A -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Power Apps for Office 365,c68f8d98-5534-41c8-bf36-22fa496fa792,POWERAPPS_O365_P2 -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Power Automate for Office 365,76846ad7-7776-4c40-a281-a386362dd1b9,FLOW_O365_P2 -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Power Virtual Agents for Office 365,041fe683-03e4-45b6-b1af-c0cdc516daee,POWER_VIRTUAL_AGENTS_O365_P2 +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,CDS_O365_P2,95b76021-6a53-4741-ab8b-1d1f3d66a95a,Common Data Service for Teams +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,CLIPCHAMP,a1ace008-72f3-4ea0-8dac-33b3a23a2472,Microsoft Clipchamp +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MDE_LITE,292cc034-7b7c-4950-aaf5-943befd3f1d4,Microsoft Defender for Endpoint Plan 1 +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,FORMS_PLAN_E3,2789c901-c14e-48ab-a76a-be334d9d793a,Microsoft Forms (Plan E3) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,KAIZALA_O365_P3,aebd3021-9f8f-4bf8-bbe3-0ed2f4f047a1,Microsoft Kaizala Pro +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,STREAM_O365_E3,9e700747-8b1d-45e5-ab8d-ef187ceec156,Microsoft Stream for Office 365 E3 +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,PROJECT_O365_P2,31b4e2fc-4cd6-4e7d-9c1b-41407303bd66,Project for Office (Plan E3) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,BPOS_S_TODO_2,c87f142c-d1e9-4363-8630-aaea9c4d9ae5,To-Do (Plan 2) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,WHITEBOARD_PLAN2,94a54592-cd8b-425e-87c6-97868b000b91,Whiteboard (Plan 2) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,WIN10_PRO_ENT_SUB,21b439ba-a0ca-424f-a6cc-52f954a5b111,Windows 10/11 Enterprise (Original) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,DYN365_CDS_O365_P2,4ff01e01-1ba7-4d71-8cf8-ce96c3bbcf14,Common Data Service +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,ADALLOM_S_DISCOVERY,932ad362-64a8-4783-9106-97849a1a30b9,Microsoft Defender for Cloud Apps Discovery +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,POWERAPPS_O365_P2,c68f8d98-5534-41c8-bf36-22fa496fa792,Power Apps for Office 365 +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,FLOW_O365_P2,76846ad7-7776-4c40-a281-a386362dd1b9,Power Automate for Office 365 +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,POWER_VIRTUAL_AGENTS_O365_P2,041fe683-03e4-45b6-b1af-c0cdc516daee,Power Virtual Agents for Office 365 Microsoft 365 E3 Extra Features,Microsoft_365_E3_Extra_Features,f5b15d67-b99e-406b-90f1-308452f94de6,MESH_AVATARS_FOR_TEAMS,dcf9d2f4-772e-4434-b757-77a453cfbc02,Avatars for Teams Microsoft 365 E3 Extra Features,Microsoft_365_E3_Extra_Features,f5b15d67-b99e-406b-90f1-308452f94de6,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) -Microsoft 365 E3 Extra Features,Microsoft_365_E3_Extra_Features,f5b15d67-b99e-406b-90f1-308452f94de6,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Copilot +Microsoft 365 E3 Extra Features,Microsoft_365_E3_Extra_Features,f5b15d67-b99e-406b-90f1-308452f94de6,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot Microsoft 365 E3 Extra Features,Microsoft_365_E3_Extra_Features,f5b15d67-b99e-406b-90f1-308452f94de6,CLIPCHAMP,a1ace008-72f3-4ea0-8dac-33b3a23a2472,Microsoft Clipchamp Microsoft 365 E3 Extra Features,Microsoft_365_E3_Extra_Features,f5b15d67-b99e-406b-90f1-308452f94de6,MICROSOFT_LOOP,c4b8c31a-fb44-4c65-9837-a21f55fcabda,Microsoft Loop +Microsoft 365 E3 Extra Features,Microsoft_365_E3_Extra_Features,f5b15d67-b99e-406b-90f1-308452f94de6,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print Microsoft 365 E3 Extra Features,Microsoft_365_E3_Extra_Features,f5b15d67-b99e-406b-90f1-308452f94de6,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch -Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Bing Chat Enterprise +Microsoft 365 E3 Extra Features,Microsoft_365_E3_Extra_Features,f5b15d67-b99e-406b-90f1-308452f94de6,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,CDS_O365_P2,95b76021-6a53-4741-ab8b-1d1f3d66a95a,Common Data Service for Teams Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard @@ -1505,7 +1564,7 @@ Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7 Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,CDS_O365_P2,95b76021-6a53-4741-ab8b-1d1f3d66a95a,Common Data Service for Teams -Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Copilot +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -1551,9 +1610,9 @@ Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-00 Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,CDS_O365_P2,95b76021-6a53-4741-ab8b-1d1f3d66a95a,Common Data Service for Teams -Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Copilot +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) -Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise @@ -1594,17 +1653,18 @@ Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-00 Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,POWERAPPS_O365_P2,c68f8d98-5534-41c8-bf36-22fa496fa792,Power Apps for Office 365 Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,FLOW_O365_P2,76846ad7-7776-4c40-a281-a386362dd1b9,Power Automate for Office 365 Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,POWER_VIRTUAL_AGENTS_O365_P2,041fe683-03e4-45b6-b1af-c0cdc516daee,Power Virtual Agents for Office 365 -Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,CDS_O365_P2,95b76021-6a53-4741-ab8b-1d1f3d66a95a,Common Data Service for Teams -Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Copilot -Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) -Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard -Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard -Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics -Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise -Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) -Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) -Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings -Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,CLIPCHAMP,a1ace008-72f3-4ea0-8dac-33b3a23a2472,Microsoft Clipchamp +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,MESH_AVATARS_FOR_TEAMS,dcf9d2f4-772e-4434-b757-77a453cfbc02,Avatars for Teams +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,EXCHANGE_S_DESKLESS,4a82b400-a79f-41a4-b4e2-e94f5787b113,Exchange Online Kiosk +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,MESH_IMMERSIVE_FOR_TEAMS,f0ff6ac6-297d-49cd-be34-6dfef97f0c28,Immersive spaces for Teams +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,FORMS_PLAN_E1,159f4cd6-e380-449f-a816-af1a9ef76344,Microsoft Forms (Plan E1) +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,ONEDRIVE_BASIC_P2,4495894f-534f-41ca-9d3b-0ebf1220a423,OneDrive for Business (Basic 2) +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,MCOIMP,afc06cb0-b4f4-4473-8286-d644f70d8faf,Skype for Business Online (Plan 1) Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,MDE_LITE,292cc034-7b7c-4950-aaf5-943befd3f1d4,Microsoft Defender for Endpoint Plan 1 Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,FORMS_PLAN_E3,2789c901-c14e-48ab-a76a-be334d9d793a,Microsoft Forms (Plan E3) Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,KAIZALA_O365_P3,aebd3021-9f8f-4bf8-bbe3-0ed2f4f047a1,Microsoft Kaizala Pro @@ -1668,16 +1728,17 @@ Microsoft 365 E3_USGOV_GCCHIGH,SPE_E3_USGOV_GCCHIGH,ca9d1dd9-dfe9-4fef-b97c-9bc1 Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,MESH_AVATARS_FOR_TEAMS,dcf9d2f4-772e-4434-b757-77a453cfbc02,Avatars for Teams Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,CDS_O365_P3,afa73018-811e-46e9-988f-f75d2b1b8430,Common Data Service for Teams -Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Copilot Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,CustomerLockboxA_Enterprise,3ec18638-bd4c-4d3b-8905-479ed636b83e,Customer Lockbox (A) Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,MESH_IMMERSIVE_FOR_TEAMS,f0ff6ac6-297d-49cd-be34-6dfef97f0c28,Immersive spaces for Teams Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -1757,7 +1818,7 @@ Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Te Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -1824,7 +1885,7 @@ Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Te Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,FLOW_O365_P1,0f9b09cb-62d1-4ff4-9129-43f4996f83f4,Power Automate for Office 365 Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,POWER_VIRTUAL_AGENTS_O365_P3,ded3d325-1bdc-453e-8432-5bac26d7a014,Power Virtual Agents for Office 365 Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management -Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Bing Chat Enterprise +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,CDS_O365_P3,afa73018-811e-46e9-988f-f75d2b1b8430,Common Data Service for Teams Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,CustomerLockboxA_Enterprise,3ec18638-bd4c-4d3b-8905-479ed636b83e,Customer Lockbox (A) @@ -1833,7 +1894,7 @@ Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_ Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -1905,7 +1966,7 @@ Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,CDS_O365_P3,afa73018-811e-46e9-988f-f75d2b1b8430,Common Data Service for Teams -Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Copilot +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,CustomerLockboxA_Enterprise,3ec18638-bd4c-4d3b-8905-479ed636b83e,Customer Lockbox (A) Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 @@ -1913,7 +1974,7 @@ Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -1987,7 +2048,7 @@ Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPAC Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,CDS_O365_P3,afa73018-811e-46e9-988f-f75d2b1b8430,Common Data Service for Teams -Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Copilot +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,CustomerLockboxA_Enterprise,3ec18638-bd4c-4d3b-8905-479ed636b83e,Customer Lockbox (A) Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 @@ -2058,7 +2119,7 @@ Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,Microsoft 365 Communication Compliance @@ -2077,85 +2138,85 @@ Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,MICROSOFTENDPOINTDLP,64bfac92-2b17-4482-b5e5-a0304429de3e,Microsoft Endpoint DLP Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,RMS_S_PREMIUM2,5689bec4-755d-4753-8b61-40975025187c,Azure Information Protection Premium P2 Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,ADALLOM_S_STANDALONE,2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2,Microsoft Defender for Cloud Apps -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,SharePoint Online (Plan 2),5dbe027f-2339-4123-9542-606e4d348a72,SHAREPOINTENTERPRISE -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Bing Chat Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Bing_Chat_Enterprise -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Common Data Service for Teams,afa73018-811e-46e9-988f-f75d2b1b8430,CDS_O365_P3 -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Customer Lockbox,9f431833-0334-42de-a7dc-70aa40db46db,LOCKBOX_ENTERPRISE -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Customer Lockbox (A),3ec18638-bd4c-4d3b-8905-479ed636b83e,CustomerLockboxA_Enterprise -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Data Classification in Microsoft 365,cd31b152-6326-4d1b-ae1b-997b625182e6,MIP_S_Exchange -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Exchange Online (Plan 2),efb87545-963c-4e0d-99df-69c6916d9eb0,EXCHANGE_S_ENTERPRISE -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Graph Connectors Search with Index,a6520331-d7d4-4276-95f5-15c0933bc757,GRAPH_CONNECTORS_SEARCH_INDEX -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Information Barriers,c4801e8a-cb58-4c35-aca6-f2dcc106f287,INFORMATION_BARRIERS -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Information Protection and Governance Analytics - Premium,d9fa6af4-e046-4c89-9226-729a0786685d,Content_Explorer -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Information Protection and Governance Analytics � Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,ContentExplorer_Standard -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Information Protection for Office 365 - Premium,efb0351d-3b08-4503-993d-383af8de41e3,MIP_S_CLP2 -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Information Protection for Office 365 - Standard,5136a095-5cf0-4aff-bec3-e84448b38ea5,MIP_S_CLP1 -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Insights by MyAnalytics,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,MYANALYTICS_P2 -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Microsoft 365 Advanced Auditing,2f442157-a11c-46b9-ae5b-6e39ff4e5849,M365_ADVANCED_AUDITING -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Microsoft 365 Apps for enterprise,43de0ff5-c92c-492b-9116-175376d08c38,OFFICESUBSCRIPTION -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Microsoft 365 Audio Conferencing,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,MCOMEETADV -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Microsoft 365 Audit Platform,f6de4823-28fa-440b-b886-4783fa86ddba,M365_AUDIT_PLATFORM -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Microsoft 365 Communication Compliance,a413a9ff-720c-4822-98ef-2f37c2a21f4c,MICROSOFT_COMMUNICATION_COMPLIANCE -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Microsoft 365 Defender,bf28f719-7844-4079-9c78-c1307898e192,MTP -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Microsoft 365 Lighthouse (Plan 1),6f23d6a9-adbf-481c-8538-b4c095654487,M365_LIGHTHOUSE_CUSTOMER_PLAN1 -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Microsoft 365 Phone System,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,MCOEV -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Microsoft Bookings,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,MICROSOFTBOOKINGS -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Microsoft Clipchamp,a1ace008-72f3-4ea0-8dac-33b3a23a2472,CLIPCHAMP -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Microsoft Communications DLP,6dc145d6-95dd-4191-b9c3-185575ee6f6b,COMMUNICATIONS_DLP -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Microsoft Customer Key,6db1f1db-2b46-403f-be40-e39395f08dbb,CUSTOMER_KEY -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Microsoft Data Investigations,46129a58-a698-46f0-aa5b-17f6586297d9,DATA_INVESTIGATIONS -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Microsoft Defender for Office 365 (Plan 1),f20fedf3-f3c3-43c3-8267-2bfdd51c0939,ATP_ENTERPRISE -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Microsoft Defender for Office 365 (Plan 2),8e0c0a52-6a6c-4d40-8370-dd62790dcd70,THREAT_INTELLIGENCE -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Microsoft Excel Advanced Analytics,531ee2f8-b1cb-453b-9c21-d2180d014ca5,EXCEL_PREMIUM -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Microsoft Forms (Plan E5),e212cbc7-0961-4c40-9825-01117710dcb1,FORMS_PLAN_E5 -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Microsoft Information Governance,e26c2fcc-ab91-4a61-b35c-03cdc8dddf66,INFO_GOVERNANCE -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Microsoft Insider Risk Management,d587c7a3-bda9-4f99-8776-9bcf59c84f75,INSIDER_RISK -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Microsoft Kaizala Pro,0898bdbb-73b0-471a-81e5-20f1fe4dd66e,KAIZALA_STANDALONE -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Microsoft ML-Based Classification,d2d51368-76c9-4317-ada2-a12c004c432f,ML_CLASSIFICATION -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Microsoft MyAnalytics (Full),34c0d7a0-a70f-4668-9238-47f9fc208882,EXCHANGE_ANALYTICS -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Microsoft Planner,b737dad2-2f6c-4c65-90e3-ca563267e8b9,PROJECTWORKMANAGEMENT -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Microsoft Records Management,65cc641f-cccd-4643-97e0-a17e3045e541,RECORDS_MANAGEMENT -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Microsoft Search,94065c59-bc8e-4e8b-89e5-5138d471eaff,MICROSOFT_SEARCH -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Microsoft StaffHub,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Deskless -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Microsoft Stream for Office 365 E5,6c6042f5-6f01-4d67-b8c1-eb99d36eed3e,STREAM_O365_E5 -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Mobile Device Management for Office 365,882e1d05-acd1-4ccb-8708-6ee03664b117,INTUNE_O365 +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint Online (Plan 2) +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,CDS_O365_P3,afa73018-811e-46e9-988f-f75d2b1b8430,Common Data Service for Teams +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,CustomerLockboxA_Enterprise,3ec18638-bd4c-4d3b-8905-479ed636b83e,Customer Lockbox (A) +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,M365_AUDIT_PLATFORM,f6de4823-28fa-440b-b886-4783fa86ddba,Microsoft 365 Audit Platform +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,Microsoft 365 Communication Compliance +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,MTP,bf28f719-7844-4079-9c78-c1307898e192,Microsoft 365 Defender +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,CLIPCHAMP,a1ace008-72f3-4ea0-8dac-33b3a23a2472,Microsoft Clipchamp +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,COMMUNICATIONS_DLP,6dc145d6-95dd-4191-b9c3-185575ee6f6b,Microsoft Communications DLP +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,CUSTOMER_KEY,6db1f1db-2b46-403f-be40-e39395f08dbb,Microsoft Customer Key +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,DATA_INVESTIGATIONS,46129a58-a698-46f0-aa5b-17f6586297d9,Microsoft Data Investigations +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,ATP_ENTERPRISE,f20fedf3-f3c3-43c3-8267-2bfdd51c0939,Microsoft Defender for Office 365 (Plan 1) +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,THREAT_INTELLIGENCE,8e0c0a52-6a6c-4d40-8370-dd62790dcd70,Microsoft Defender for Office 365 (Plan 2) +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,EXCEL_PREMIUM,531ee2f8-b1cb-453b-9c21-d2180d014ca5,Microsoft Excel Advanced Analytics +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,FORMS_PLAN_E5,e212cbc7-0961-4c40-9825-01117710dcb1,Microsoft Forms (Plan E5) +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,INFO_GOVERNANCE,e26c2fcc-ab91-4a61-b35c-03cdc8dddf66,Microsoft Information Governance +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,INSIDER_RISK,d587c7a3-bda9-4f99-8776-9bcf59c84f75,Microsoft Insider Risk Management +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,KAIZALA_STANDALONE,0898bdbb-73b0-471a-81e5-20f1fe4dd66e,Microsoft Kaizala Pro +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,ML_CLASSIFICATION,d2d51368-76c9-4317-ada2-a12c004c432f,Microsoft ML-Based Classification +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,EXCHANGE_ANALYTICS,34c0d7a0-a70f-4668-9238-47f9fc208882,Microsoft MyAnalytics (Full) +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,RECORDS_MANAGEMENT,65cc641f-cccd-4643-97e0-a17e3045e541,Microsoft Records Management +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,STREAM_O365_E5,6c6042f5-6f01-4d67-b8c1-eb99d36eed3e,Microsoft Stream for Office 365 E5 +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Office 365 Advanced eDiscovery,4de31727-a228-4ec3-a5bf-8e45b5ca48cc,EQUIVIO_ANALYTICS -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Office 365 Cloud App Security,8c098270-9dd4-4350-9b30-ba4703f3b36b,ADALLOM_S_O365 -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Office 365 Privileged Access Management,b1188c4c-1b36-4018-b48b-ee07604f6feb,PAM_ENTERPRISE -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Office 365 SafeDocs,bf6f5520-59e3-4f82-974b-7dbbc4fd27c7,SAFEDOCS -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Office for the Web,e95bec33-7c88-4a70-8e19-b10bd9d0c014,SHAREPOINTWAC -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Power Apps for Office 365 (Plan 3),9c0dab89-a30c-4117-86e7-97bda240acd2,POWERAPPS_O365_P3 -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Premium Encryption in Office 365,617b097b-4b93-4ede-83de-5f075bb5fb2f,PREMIUM_ENCRYPTION -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Project for Office (Plan E5),b21a6b06-1988-436e-a07b-51ec6d9f52ad,PROJECT_O365_P3 -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,RETIRED - Microsoft Communications Compliance,41fcdd7d-4733-4863-9cf4-c65b83ce2df4,COMMUNICATIONS_COMPLIANCE -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,RETIRED - Microsoft Insider Risk Management,9d0c4ee5-e4a1-4625-ab39-d82b619b1a34,INSIDER_RISK_MANAGEMENT -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Skype for Business Online (Plan 2),0feaeb32-d00e-4d66-bd5a-43b5b83db82c,MCOSTANDARD -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Sway,a23b959c-7ce8-4e57-9140-b90eb88a9e97,SWAY -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,To-Do (Plan 3),3fb82609-8c27-4f7b-bd51-30634711ee67,BPOS_S_TODO_3 -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Viva Engage Core,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,VIVAENGAGE_CORE -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Viva Learning Seeded,b76fb638-6ba6-402a-b9f9-83d28acb3d86,VIVA_LEARNING_SEEDED -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Whiteboard (Plan 3),4a51bca5-1eff-43f5-878c-177680f191af,WHITEBOARD_PLAN3 -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Yammer Enterprise,7547a3fe-08ee-4ccb-b430-5077c5041653,YAMMER_ENTERPRISE -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Microsoft Defender for Endpoint,871d91ec-ec1a-452b-a83f-bd76c7d770ef,WINDEFATP -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Microsoft Endpoint DLP,64bfac92-2b17-4482-b5e5-a0304429de3e,MICROSOFTENDPOINTDLP -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Universal Print,795f6fe0-cc4d-4773-b050-5dde4dc704c9,UNIVERSAL_PRINT_01 -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Windows 10/11 Enterprise (Original),21b439ba-a0ca-424f-a6cc-52f954a5b111,WIN10_PRO_ENT_SUB -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Windows Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows_Autopatch -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Windows Update for Business Deployment Service,7bf960f6-2cd9-443a-8046-5dbff9558365,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Azure Information Protection Premium P1,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,RMS_S_PREMIUM -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Azure Information Protection Premium P2,5689bec4-755d-4753-8b61-40975025187c,RMS_S_PREMIUM2 -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Azure Rights Management,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,RMS_S_ENTERPRISE -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Common Data Service,28b0fa46-c39a-4188-89e2-58e979a6b014,DYN365_CDS_O365_P3 -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Microsoft Azure Multi-Factor Authentication,8a256a2b-b617-496d-b51b-e76466e88db0,MFA_PREMIUM -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Microsoft Defender for Cloud Apps,2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2,ADALLOM_S_STANDALONE -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Microsoft Defender for Identity,14ab5db5-e6c4-4b20-b4bc-13e36fd2227f,ATA -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Microsoft Entra ID P1,41781fb2-bc02-4b7c-bd55-b576c07bb09d,AAD_PREMIUM -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Microsoft Entra ID P2,eec0eb4f-6444-4f95-aba0-50c24d67f998,AAD_PREMIUM_P2 -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Microsoft Intune Plan 1,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,INTUNE_A -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Power Automate for Office 365,07699545-9485-468e-95b6-2fca3738be01,FLOW_O365_P3 -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Power BI Pro,70d33638-9c74-4d01-bfd3-562de28bd4ba,BI_AZURE_P2 -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Power Virtual Agents for Office 365,ded3d325-1bdc-453e-8432-5bac26d7a014,POWER_VIRTUAL_AGENTS_O365_P3 +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,EQUIVIO_ANALYTICS,4de31727-a228-4ec3-a5bf-8e45b5ca48cc,Office 365 Advanced eDiscovery +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,ADALLOM_S_O365,8c098270-9dd4-4350-9b30-ba4703f3b36b,Office 365 Cloud App Security +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,PAM_ENTERPRISE,b1188c4c-1b36-4018-b48b-ee07604f6feb,Office 365 Privileged Access Management +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,SAFEDOCS,bf6f5520-59e3-4f82-974b-7dbbc4fd27c7,Office 365 SafeDocs +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,POWERAPPS_O365_P3,9c0dab89-a30c-4117-86e7-97bda240acd2,Power Apps for Office 365 (Plan 3) +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,PREMIUM_ENCRYPTION,617b097b-4b93-4ede-83de-5f075bb5fb2f,Premium Encryption in Office 365 +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,PROJECT_O365_P3,b21a6b06-1988-436e-a07b-51ec6d9f52ad,Project for Office (Plan E5) +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,COMMUNICATIONS_COMPLIANCE,41fcdd7d-4733-4863-9cf4-c65b83ce2df4,RETIRED - Microsoft Communications Compliance +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,INSIDER_RISK_MANAGEMENT,9d0c4ee5-e4a1-4625-ab39-d82b619b1a34,RETIRED - Microsoft Insider Risk Management +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,BPOS_S_TODO_3,3fb82609-8c27-4f7b-bd51-30634711ee67,To-Do (Plan 3) +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,Microsoft Defender for Endpoint +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,MICROSOFTENDPOINTDLP,64bfac92-2b17-4482-b5e5-a0304429de3e,Microsoft Endpoint DLP +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,WIN10_PRO_ENT_SUB,21b439ba-a0ca-424f-a6cc-52f954a5b111,Windows 10/11 Enterprise (Original) +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,RMS_S_PREMIUM2,5689bec4-755d-4753-8b61-40975025187c,Azure Information Protection Premium P2 +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,DYN365_CDS_O365_P3,28b0fa46-c39a-4188-89e2-58e979a6b014,Common Data Service +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,ADALLOM_S_STANDALONE,2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2,Microsoft Defender for Cloud Apps +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,ATA,14ab5db5-e6c4-4b20-b4bc-13e36fd2227f,Microsoft Defender for Identity +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,AAD_PREMIUM_P2,eec0eb4f-6444-4f95-aba0-50c24d67f998,Microsoft Entra ID P2 +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,FLOW_O365_P3,07699545-9485-468e-95b6-2fca3738be01,Power Automate for Office 365 +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,BI_AZURE_P2,70d33638-9c74-4d01-bfd3-562de28bd4ba,Power BI Pro +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,POWER_VIRTUAL_AGENTS_O365_P3,ded3d325-1bdc-453e-8432-5bac26d7a014,Power Virtual Agents for Office 365 Microsoft 365 E5 Security,IDENTITY_THREAT_PROTECTION,26124093-3d78-432b-b5dc-48bf992543d5,MTP,bf28f719-7844-4079-9c78-c1307898e192,Microsoft 365 Defender Microsoft 365 E5 Security,IDENTITY_THREAT_PROTECTION,26124093-3d78-432b-b5dc-48bf992543d5,ATP_ENTERPRISE,f20fedf3-f3c3-43c3-8267-2bfdd51c0939,Microsoft Defender for Office 365 (Plan 1) Microsoft 365 E5 Security,IDENTITY_THREAT_PROTECTION,26124093-3d78-432b-b5dc-48bf992543d5,THREAT_INTELLIGENCE,8e0c0a52-6a6c-4d40-8370-dd62790dcd70,Microsoft Defender for Office 365 (Plan 2) @@ -2173,7 +2234,7 @@ Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-a Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,CDS_O365_P3,afa73018-811e-46e9-988f-f75d2b1b8430,Common Data Service for Teams -Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Copilot +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,CustomerLockboxA_Enterprise,3ec18638-bd4c-4d3b-8905-479ed636b83e,Customer Lockbox (A) Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 @@ -2181,7 +2242,7 @@ Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-a Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -2256,7 +2317,7 @@ Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233 Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,CDS_O365_P3,afa73018-811e-46e9-988f-f75d2b1b8430,Common Data Service for Teams -Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Copilot +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,CustomerLockboxA_Enterprise,3ec18638-bd4c-4d3b-8905-479ed636b83e,Customer Lockbox (A) Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 @@ -2264,7 +2325,7 @@ Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233 Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -2339,7 +2400,7 @@ Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5 Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,CDS_O365_P3,afa73018-811e-46e9-988f-f75d2b1b8430,Common Data Service for Teams -Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Copilot +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,CustomerLockboxA_Enterprise,3ec18638-bd4c-4d3b-8905-479ed636b83e,Customer Lockbox (A) Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 @@ -2347,7 +2408,7 @@ Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5 Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -2418,7 +2479,7 @@ Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5 Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,POWER_VIRTUAL_AGENTS_O365_P3,ded3d325-1bdc-453e-8432-5bac26d7a014,Power Virtual Agents for Office 365 Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,CDS_O365_P3,afa73018-811e-46e9-988f-f75d2b1b8430,Common Data Service for Teams -Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Copilot +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,CustomerLockboxA_Enterprise,3ec18638-bd4c-4d3b-8905-479ed636b83e,Customer Lockbox (A) Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 @@ -2426,7 +2487,7 @@ Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(50 Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -2499,14 +2560,14 @@ Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(50 Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,POWER_VIRTUAL_AGENTS_O365_P3,ded3d325-1bdc-453e-8432-5bac26d7a014,Power Virtual Agents for Office 365 Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,CDS_O365_P3,afa73018-811e-46e9-988f-f75d2b1b8430,Common Data Service for Teams -Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Copilot +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -2579,7 +2640,7 @@ Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -2656,8 +2717,10 @@ Microsoft 365 F1 EEA (no Teams),Microsoft_365_F1_EEA_(no_Teams),0666269f-b167-4c Microsoft 365 F1 EEA (no Teams),Microsoft_365_F1_EEA_(no_Teams),0666269f-b167-4c5b-a76f-fc574f2b1118,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 Microsoft 365 F1 EEA (no Teams),Microsoft_365_F1_EEA_(no_Teams),0666269f-b167-4c5b-a76f-fc574f2b1118,STREAM_O365_K,3ffba0d2-38e5-4d5e-8ec0-98f2b05c09d9,Microsoft Stream for Office 365 F3 Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,CDS_O365_F1,90db65a7-bf11-4904-a79f-ef657605145b,Common Data Service for Teams Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,EXCHANGE_S_DESKLESS,4a82b400-a79f-41a4-b4e2-e94f5787b113,Exchange Online Kiosk +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,FORMS_PLAN_K,f07046bd-2a3c-4b96-b0be-dea79d7cbfb8,Microsoft Forms (Plan F1) Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,KAIZALA_O365_P1,73b2a583-6a59-42e3-8e83-54db46bc3278,Microsoft Kaizala Pro @@ -2674,23 +2737,24 @@ Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,SHAREPOINTDESKLESS, Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,MCOIMP,afc06cb0-b4f4-4473-8286-d644f70d8faf,Skype for Business Online (Plan 1) Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,BPOS_S_TODO_FIRSTLINE,80873e7a-cd2a-4e67-b061-1b5381a676a5,To-Do (Firstline) +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,WHITEBOARD_FIRSTLINE1,36b29273-c6d0-477a-aca6-6fbe24f538e3,Whiteboard (Firstline) Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,WIN10_ENT_LOC_F1,e041597c-9c7f-4ed9-99b0-2663301576f7,Windows 10 Enterprise E3 (Local Only) Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service -Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,DYN365_CDS_O365_F1,ca6e61ec-d4f4-41eb-8b88-d96e0e14323f,Common Data Service Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,ADALLOM_S_DISCOVERY,932ad362-64a8-4783-9106-97849a1a30b9,Microsoft Defender for Cloud Apps Discovery -Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,STREAM_O365_K,3ffba0d2-38e5-4d5e-8ec0-98f2b05c09d9,Microsoft Stream for Office 365 F3 Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,POWERAPPS_O365_S1,e0287f9f-e222-4f98-9a83-f379e249159a,Power Apps for Office 365 F3 Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,FLOW_O365_S1,bd91b1a4-9f94-4ecf-b45b-3a65e5c8128a,Power Automate for Office 365 F3 Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,POWER_VIRTUAL_AGENTS_O365_F1,ba2fdb48-290b-4632-b46a-e4ecc58ac11a,Power Virtual Agents for Office 365 -Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,CDS_O365_F1,90db65a7-bf11-4904-a79f-ef657605145b,Common Data Service for Teams Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,EXCHANGE_S_DESKLESS,4a82b400-a79f-41a4-b4e2-e94f5787b113,Exchange Online Kiosk @@ -2774,7 +2838,7 @@ Microsoft 365 F5 Compliance Add-on,SPE_F5_COMP,91de26be-adfa-4a3d-989e-9131cc23d Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,Microsoft 365 Communication Compliance @@ -2869,7 +2933,7 @@ Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,GRAPH_CONN Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,GRAPH_CONNECTORS_SEARCH_INDEX_TOPICEXP,b74d57b2-58e9-484a-9731-aeccbba954f0,Graph Connectors Search with Index (Microsoft Viva Topics) Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing @@ -2925,7 +2989,7 @@ Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-1 Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing @@ -2974,8 +3038,9 @@ Microsoft 365 Audio Conferencing for GCC,MCOMEETADV_GOV,2d3091c7-0712-488b-b3d8- Microsoft 365 Audio Conferencing for GCC,MCOMEETADV_GOV,2d3091c7-0712-488b-b3d8-6b97bde6a1f5,MCOMEETADV_GOV,f544b08d-1645-4287-82de-8d91f37c02a1,MICROSOFT 365 AUDIO CONFERENCING FOR GOVERNMENT Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,MESH_AVATARS_FOR_TEAMS,dcf9d2f4-772e-4434-b757-77a453cfbc02,Avatars for Teams Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) -Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Copilot +Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,CustomerLockboxA_Enterprise,3ec18638-bd4c-4d3b-8905-479ed636b83e,Customer Lockbox (A) +Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,MESH_IMMERSIVE_FOR_TEAMS,f0ff6ac6-297d-49cd-be34-6dfef97f0c28,Immersive spaces for Teams Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,CLIPCHAMP,a1ace008-72f3-4ea0-8dac-33b3a23a2472,Microsoft Clipchamp Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,INSIDER_RISK,d587c7a3-bda9-4f99-8776-9bcf59c84f75,Microsoft Insider Risk Management @@ -2984,7 +3049,9 @@ Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7 Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,SAFEDOCS,bf6f5520-59e3-4f82-974b-7dbbc4fd27c7,Office 365 SafeDocs Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,PURVIEW_DISCOVERY,c948ea65-2053-4a5a-8a62-9eaaaf11b522,Purview Discovery Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,MICROSOFTENDPOINTDLP,64bfac92-2b17-4482-b5e5-a0304429de3e,Microsoft Endpoint DLP +Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch +Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,Defender_for_Iot_Enterprise,99cd49a9-0e54-4e07-aea1-d8d9f5f704f5,Defender for IoT - Enterprise IoT Security Microsoft 365 F1,M365_F1_COMM,50f60901-3181-4b75-8a2c-4c8e4c1d5a72,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,AAD_PREMIUM Microsoft 365 F1,M365_F1_COMM,50f60901-3181-4b75-8a2c-4c8e4c1d5a72,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,RMS_S_PREMIUM @@ -3007,7 +3074,7 @@ Microsoft 365 F1,M365_F1_COMM,50f60901-3181-4b75-8a2c-4c8e4c1d5a72,YAMMER_ENTERP Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,CDS_O365_P2_GCC,a70bbf38-cdda-470d-adb8-5804b8770f41,Common Data Service for Teams Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,EXCHANGE_S_ENTERPRISE_GOV,8c3069c0-ccdb-44be-ab77-986203a67df2,Exchange Online (Plan 2) for Government Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,MYANALYTICS_P2_GOV,6e5b7995-bd4f-4cbd-9d19-0e32010c72f0,Insights by MyAnalytics for Government Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,OFFICESUBSCRIPTION_GOV,de9234ff-6483-44d9-b15e-dca72fdd27af,Microsoft 365 Apps for enterprise G @@ -3058,7 +3125,8 @@ Microsoft 365 G3 - Unattended License for GCC,M365_G3_RPA1_GOV,5c739a73-651d-4c2 Microsoft 365 G3 - Unattended License for GCC,M365_G3_RPA1_GOV,5c739a73-651d-4c2c-8a4e-fe4ba12253b0,FLOW_O365_P2_GOV,c537f360-6a00-4ace-a7f5-9128d0ac1e4b,Power Automate for Office 365 for Government Microsoft 365 Lighthouse,Microsoft365_Lighthouse,9c0587f3-8665-4252-a8ad-b7a5ade57312,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) Microsoft 365 Lighthouse,Microsoft365_Lighthouse,9c0587f3-8665-4252-a8ad-b7a5ade57312,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) -Microsoft 365 Security and Compliance for Firstline Workers,M365_SECURITY_COMPLIANCE_FOR_FLW,2347355b-4e81-41a4-9c22-55057a399791,AAD_PREMIUM_P2,eec0eb4f-6444-4f95-aba0-50c24d67f998,Microsoft Entra ID P2 +Microsoft Sales Copilot,Microsoft_Viva_Sales,3227bcb2-8448-4f81-b3c2-8c2074e15a2a,Microsoft_Viva_Sales_PremiumTrial,8ba1ff15-7bf6-4620-b65c-ecedb6942766,Microsoft Sales Copilot Premium & Trial +Microsoft Sales Copilot,Microsoft_Viva_Sales,3227bcb2-8448-4f81-b3c2-8c2074e15a2a,Microsoft_Viva_Sales_PowerAutomate,a933a62f-c3fb-48e5-a0b7-ac92b94b4420,Microsoft Sales Copilot Premium with Power Automate Microsoft 365 Security and Compliance for Firstline Workers,M365_SECURITY_COMPLIANCE_FOR_FLW,2347355b-4e81-41a4-9c22-55057a399791,RMS_S_PREMIUM2,5689bec4-755d-4753-8b61-40975025187c,Azure Information Protection Premium P2 Microsoft 365 Security and Compliance for Firstline Workers,M365_SECURITY_COMPLIANCE_FOR_FLW,2347355b-4e81-41a4-9c22-55057a399791,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox Microsoft 365 Security and Compliance for Firstline Workers,M365_SECURITY_COMPLIANCE_FOR_FLW,2347355b-4e81-41a4-9c22-55057a399791,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 @@ -3099,6 +3167,7 @@ Microsoft Cloud for Sustainability vTrial,Microsoft_Cloud_for_Sustainability_vTr Microsoft Cloud for Sustainability vTrial,Microsoft_Cloud_for_Sustainability_vTrial,556640c0-53ea-4773-907d-29c55332983f,DYN365_CDS_VIRAL,17ab22cd-a0b3-4536-910a-cb6eb12696c0,Common Data Service Microsoft Defender for Endpoint,WIN_DEF_ATP,111046dd-295b-4d6d-9724-d52ac90bd1f2,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Microsoft Defender for Endpoint,WIN_DEF_ATP,111046dd-295b-4d6d-9724-d52ac90bd1f2,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,MICROSOFT DEFENDER FOR ENDPOINT +Microsoft Defender for Endpoint F2,Microsoft_Defender_for_Endpoint_F2,e430a580-c37b-4d16-adba-d881d7cd0364,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,Microsoft Defender for Endpoint Microsoft Defender for Endpoint P1,DEFENDER_ENDPOINT_P1,16a55f2f-ff35-4cd5-9146-fb784e3761a5,Intune_Defender,1689aade-3d6a-4bfc-b017-46d2672df5ad,MDE_SecurityManagement Microsoft Defender for Endpoint P1,DEFENDER_ENDPOINT_P1,16a55f2f-ff35-4cd5-9146-fb784e3761a5,MDE_LITE,292cc034-7b7c-4950-aaf5-943befd3f1d4,Microsoft Defender for Endpoint Plan 1 Microsoft Defender for Endpoint P1 for EDU,DEFENDER_ENDPOINT_P1_EDU,bba890d4-7881-4584-8102-0c3fdfb739a7,MDE_LITE,292cc034-7b7c-4950-aaf5-943befd3f1d4,Microsoft Defender for Endpoint Plan 1 @@ -3127,6 +3196,7 @@ Microsoft Dynamics CRM Online,CRMSTANDARD,d17b27af-3f49-4822-99f9-56a661538792,F Microsoft Dynamics CRM Online,CRMSTANDARD,d17b27af-3f49-4822-99f9-56a661538792,MDM_SALES_COLLABORATION,3413916e-ee66-4071-be30-6f94d4adfeda,MICROSOFT DYNAMICS MARKETING SALES COLLABORATION - ELIGIBILITY CRITERIA APPLY Microsoft Dynamics CRM Online,CRMSTANDARD,d17b27af-3f49-4822-99f9-56a661538792,NBPROFESSIONALFORCRM,3e58e97c-9abe-ebab-cd5f-d543d1529634,MICROSOFT SOCIAL ENGAGEMENT PROFESSIONAL - ELIGIBILITY CRITERIA APPLY Microsoft Dynamics CRM Online,CRMSTANDARD,d17b27af-3f49-4822-99f9-56a661538792,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,POWERAPPS FOR DYNAMICS 365 +Microsoft Entra ID Governance,Microsoft_Entra_ID_Governance,cf6b0d46-4093-4546-a0ab-0b1546dcc10e,Entra_Identity_Governance,e866a266-3cff-43a3-acca-0c90a7e00c8b,Entra Identity Governance Microsoft Fabric (Free),POWER_BI_STANDARD,a403ebcc-fae0-4ca2-8c8c-7a907fd6c235,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Microsoft Fabric (Free),POWER_BI_STANDARD,a403ebcc-fae0-4ca2-8c8c-7a907fd6c235,BI_AZURE_P0,2049e525-b859-401b-b2a0-e0a31c4b1fe4,Power BI (free) Microsoft Fabric (Free) for faculty,POWER_BI_STANDARD_FACULTY,ade29b5f-397e-4eb9-a287-0344bd46c68d,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,EXCHANGE_S_FOUNDATION @@ -3187,6 +3257,10 @@ Microsoft Stream Plan 2,STREAM_P2,ec156933-b85b-4c50-84ec-c9e5603709ef,EXCHANGE_ Microsoft Stream Plan 2,STREAM_P2,ec156933-b85b-4c50-84ec-c9e5603709ef,STREAM_P2,d3a458d0-f10d-48c2-9e44-86f3f684029e,Microsoft Stream Plan 2 Microsoft Stream Storage Add-On (500 GB),STREAM_STORAGE,9bd7c846-9556-4453-a542-191d527209e8,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Microsoft Stream Storage Add-On (500 GB),STREAM_STORAGE,9bd7c846-9556-4453-a542-191d527209e8,STREAM_STORAGE,83bced11-77ce-4071-95bd-240133796768,Microsoft Stream Storage Add-On +Microsoft Sustainability Manager USL Essentials,Microsoft_Cloud_for_Sustainability_USL,ece037b4-a52b-4cf8-93ea-649e5d83767a,MCS_BizApps_Cloud_for_Sustainability_USL,c46c42af-d654-4385-8c85-29a84f3dfb22,MCS - BizApps - Cloud for Sustainability USL +Microsoft Sustainability Manager USL Essentials,Microsoft_Cloud_for_Sustainability_USL,ece037b4-a52b-4cf8-93ea-649e5d83767a,POWER_APPS_FOR_MCS_USL,5ffd371c-037a-41a2-98a3-6452f8c5de17,Power Apps for Cloud for Sustainability USL +Microsoft Sustainability Manager USL Essentials,Microsoft_Cloud_for_Sustainability_USL,ece037b4-a52b-4cf8-93ea-649e5d83767a,POWER_AUTOMATE_FOR_MCS_USL,ccbe468e-7973-442c-8ec4-5fbe16438711,Power Automate for Cloud for Sustainability USL +Microsoft Sustainability Manager USL Essentials,Microsoft_Cloud_for_Sustainability_USL,ece037b4-a52b-4cf8-93ea-649e5d83767a,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Microsoft Teams Audio Conferencing with dial-out to USA/CAN,Microsoft_Teams_Audio_Conferencing_select_dial_out,1c27243e-fb4d-42b1-ae8c-fe25c9616588,MCOMEETBASIC,9974d6cf-cd24-4ba2-921c-e2aa687da846,Microsoft Teams Audio Conferencing with dial-out to select geographies Microsoft Teams (Free),TEAMS_FREE,16ddbbfc-09ea-4de2-b1d7-312db6112d70,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,EXCHANGE FOUNDATION Microsoft Teams (Free),TEAMS_FREE,16ddbbfc-09ea-4de2-b1d7-312db6112d70,MCOFREE,617d9209-3b90-4879-96e6-838c42b2701d,MCO FREE FOR MICROSOFT TEAMS (FREE) @@ -3194,6 +3268,8 @@ Microsoft Teams (Free),TEAMS_FREE,16ddbbfc-09ea-4de2-b1d7-312db6112d70,TEAMS_FRE Microsoft Teams (Free),TEAMS_FREE,16ddbbfc-09ea-4de2-b1d7-312db6112d70,SHAREPOINTDESKLESS,902b47e5-dcb2-4fdc-858b-c63a90a2bdb9,SHAREPOINT KIOSK Microsoft Teams (Free),TEAMS_FREE,16ddbbfc-09ea-4de2-b1d7-312db6112d70,TEAMS_FREE_SERVICE,bd6f2ac2-991a-49f9-b23c-18c96a02c228,TEAMS FREE SERVICE Microsoft Teams (Free),TEAMS_FREE,16ddbbfc-09ea-4de2-b1d7-312db6112d70,WHITEBOARD_FIRSTLINE1,36b29273-c6d0-477a-aca6-6fbe24f538e3,WHITEBOARD (FIRSTLINE) +Microsoft Teams Calling Plan pay-as-you-go (country zone 1 - US),Microsoft_Teams_Calling_Plan_pay_as_you_go_(country_zone_1_US),9b196e97-5830-4c2e-adc2-1e10ebf5dee5,MCOPSTN_PAYG_1,156a1efe-17cd-4b03-9f17-2eb512298fb3,Microsoft Teams Calling Plan pay-as-you-go - country zone 1 +Microsoft Teams Domestic Calling Plan (240 min),MCOPSTN_6,729dbb8f-8d56-4994-8e33-2f218f549544,MCOPSTN6,346d83bf-6fe6-42ca-b424-b9300d2e21bf,Microsoft 365 Domestic Calling Plan (240 min) Microsoft Teams Essentials,Teams_Ess,fde42873-30b6-436b-b361-21af5a6b84ae,TeamsEss,f4f2f6de-6830-442b-a433-e92249faebe2,Microsoft Teams Essentials Microsoft Teams Essentials (AAD Identity),TEAMS_ESSENTIALS_AAD,3ab6abff-666f-4424-bfb7-f0bc274ec7bc,EXCHANGE_S_DESKLESS,4a82b400-a79f-41a4-b4e2-e94f5787b113,Exchange Online Kiosk Microsoft Teams Essentials (AAD Identity),TEAMS_ESSENTIALS_AAD,3ab6abff-666f-4424-bfb7-f0bc274ec7bc,FORMS_PLAN_E1,159f4cd6-e380-449f-a816-af1a9ef76344,Microsoft Forms (Plan E1) @@ -3224,6 +3300,30 @@ Microsoft Teams Exploratory,TEAMS_EXPLORATORY,710779e8-3d4a-4c88-adb9-386c958d1f Microsoft Teams Exploratory,TEAMS_EXPLORATORY,710779e8-3d4a-4c88-adb9-386c958d1fdf,BPOS_S_TODO_1,5e62787c-c316-451f-b873-1d05acd4d12c,TO-DO (PLAN 1) Microsoft Teams Exploratory,TEAMS_EXPLORATORY,710779e8-3d4a-4c88-adb9-386c958d1fdf,WHITEBOARD_PLAN1,b8afc642-032e-4de5-8c0a-507a7bba7e5d,WHITEBOARD (PLAN 1) Microsoft Teams Exploratory,TEAMS_EXPLORATORY,710779e8-3d4a-4c88-adb9-386c958d1fdf,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,YAMMER ENTERPRIS +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,MESH_AVATARS_FOR_TEAMS,dcf9d2f4-772e-4434-b757-77a453cfbc02,Avatars for Teams +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,CDS_O365_P1,bed136c6-b799-4462-824d-fc045d3a9d25,Common Data Service for Teams +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,EXCHANGE_S_STANDARD,9aaf7827-d63c-4b61-89c3-182f06f82e5c,Exchange Online (Plan 1) +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,MESH_IMMERSIVE_FOR_TEAMS,f0ff6ac6-297d-49cd-be34-6dfef97f0c28,Immersive spaces for Teams +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,FORMS_PLAN_E1,159f4cd6-e380-449f-a816-af1a9ef76344,Microsoft Forms (Plan E1) +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,MCO_TEAMS_IW,42a3ec34-28ba-46b6-992f-db53a675ac5b,Microsoft Teams +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,OFFICEMOBILE_SUBSCRIPTION,c63d4d19-e8cb-460e-b37c-4d6c34603745,Office Mobile Apps for Office 365 +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,SHAREPOINTSTANDARD,c7699d2e-19aa-44de-8edf-1736da088ca1,SharePoint (Plan 1) +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,BPOS_S_TODO_1,5e62787c-c316-451f-b873-1d05acd4d12c,To-Do (Plan 1) +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,WHITEBOARD_PLAN1,b8afc642-032e-4de5-8c0a-507a7bba7e5d,Whiteboard (Plan 1) +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,STREAM_O365_E1,743dd19e-1ce3-4c62-a3ad-49ba8f63a2f6,Microsoft Stream for Office 365 E1 +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,POWERAPPS_O365_P1,92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c,Power Apps for Office 365 +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,FLOW_O365_P1,0f9b09cb-62d1-4ff4-9129-43f4996f83f4,Power Automate for Office 365 +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,POWER_VIRTUAL_AGENTS_O365_P1,0683001c-0492-4d59-9515-d9a6426b5813,Power Virtual Agents for Office 365 Microsoft Teams Phone Standard,MCOEV,e43b5b99-8dfb-405f-9987-dc307f34bcbd,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,MICROSOFT 365 PHONE SYSTEM Microsoft Teams Phone Standard for DOD,MCOEV_DOD,d01d9287-694b-44f3-bcc5-ada78c8d953e,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,MICROSOFT 365 PHONE SYSTEM Microsoft Teams Phone Standard for Faculty,MCOEV_FACULTY,d979703c-028d-4de5-acbf-7955566b69b9,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,MICROSOFT 365 PHONE SYSTE @@ -3236,6 +3336,7 @@ Microsoft Teams Phone Standard for TELSTRA,MCOEV_TELSTRA,ffaf2d68-1c95-4eb3-9ddd Microsoft Teams Phone Standard_USGOV_DOD,MCOEV_USGOV_DOD,b0e7de67-e503-4934-b729-53d595ba5cd1,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,MICROSOFT 365 PHONE SYSTEM Microsoft Teams Phone Standard_USGOV_GCCHIGH,MCOEV_USGOV_GCCHIGH,985fcb26-7b94-475b-b512-89356697be71,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,MICROSOFT 365 PHONE SYSTEM Microsoft Teams Phone Resource Account,PHONESYSTEM_VIRTUALUSER,440eaaa8-b3e0-484b-a8be-62870b9ba70a,MCOEV_VIRTUALUSER,f47330e9-c134-43b3-9993-e7f004506889,Microsoft 365 Phone Standard Resource Account +Microsoft Teams Phone Resource Account for Faculty,PHONESYSTEM_VIRTUALUSER_FACULTY,0e142028-345e-45da-8d92-8bfd4093bbb9,MCOEV_VIRTUALUSER,f47330e9-c134-43b3-9993-e7f004506889,Microsoft 365 Phone Standard Resource Account Microsoft Teams Phone Resource Account for GCC,PHONESYSTEM_VIRTUALUSER_GOV,2cf22bcb-0c9e-4bc6-8daf-7e7654c0f285,MCOEV_VIRTUALUSER_GOV,0628a73f-3b4a-4989-bd7b-0f8823144313,Microsoft 365 Phone Standard Resource Account for Government Microsoft Teams Phone Resource Account_USGOV_GCCHIGH,PHONESYSTEM_VIRTUALUSER_USGOV_GCCHIGH ,e3f0522e-ebb7-4561-9f90-b44516d65b77,MCOEV_VIRTUALUSER,f47330e9-c134-43b3-9993-e7f004506889,Microsoft 365 Phone Standard Resource Account Microsoft Teams Premium Introductory Pricing,Microsoft_Teams_Premium,36a0f3b3-adb5-49ea-bf66-762134cf063a,MICROSOFT_ECDN,85704d55-2e73-47ee-93b4-4b8ea14db92b,Microsoft eCDN @@ -3247,11 +3348,15 @@ Microsoft Teams Premium Introductory Pricing,Microsoft_Teams_Premium,36a0f3b3-ad Microsoft Teams Premium Introductory Pricing,Microsoft_Teams_Premium,36a0f3b3-adb5-49ea-bf66-762134cf063a,TEAMSPRO_WEBINAR,78b58230-ec7e-4309-913c-93a45cc4735b,Microsoft Teams Premium Webinar Microsoft Teams Rooms Basic,Microsoft_Teams_Rooms_Basic,6af4b3d6-14bb-4a2a-960c-6c902aad34f3,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing Microsoft Teams Rooms Basic,Microsoft_Teams_Rooms_Basic,6af4b3d6-14bb-4a2a-960c-6c902aad34f3,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft Teams Rooms Basic,Microsoft_Teams_Rooms_Basic,6af4b3d6-14bb-4a2a-960c-6c902aad34f3,Teams_Rooms_Basic,c8529366-cffd-4415-ab8f-be0144a33ab1,Teams Rooms Basic +Microsoft Teams Rooms Basic,Microsoft_Teams_Rooms_Basic,6af4b3d6-14bb-4a2a-960c-6c902aad34f3,Teams_Room_Basic,8081ca9c-188c-4b49-a8e5-c23b5e9463a8,Teams Rooms Test 1 +Microsoft Teams Rooms Basic,Microsoft_Teams_Rooms_Basic,6af4b3d6-14bb-4a2a-960c-6c902aad34f3,Teams_Room_Pro,ec17f317-f4bc-451e-b2da-0167e5c260f9,Teams Rooms Test 2 Microsoft Teams Rooms Basic,Microsoft_Teams_Rooms_Basic,6af4b3d6-14bb-4a2a-960c-6c902aad34f3,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) Microsoft Teams Rooms Basic for EDU,Microsoft_Teams_Rooms_Basic_FAC,a4e376bd-c61e-4618-9901-3fc0cb1b88bb,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing Microsoft Teams Rooms Basic for EDU,Microsoft_Teams_Rooms_Basic_FAC,a4e376bd-c61e-4618-9901-3fc0cb1b88bb,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams -Microsoft Teams Rooms Basic for EDU,Microsoft_Teams_Rooms_Basic_FAC,a4e376bd-c61e-4618-9901-3fc0cb1b88bb,Teams_Room_Basic,8081ca9c-188c-4b49-a8e5-c23b5e9463a8,Teams Room Basic -Microsoft Teams Rooms Basic for EDU,Microsoft_Teams_Rooms_Basic_FAC,a4e376bd-c61e-4618-9901-3fc0cb1b88bb,Teams_Room_Pro,ec17f317-f4bc-451e-b2da-0167e5c260f9,Teams Room Pro +Microsoft Teams Rooms Basic for EDU,Microsoft_Teams_Rooms_Basic_FAC,a4e376bd-c61e-4618-9901-3fc0cb1b88bb,Teams_Rooms_Basic,c8529366-cffd-4415-ab8f-be0144a33ab1,Teams Rooms Basic +Microsoft Teams Rooms Basic for EDU,Microsoft_Teams_Rooms_Basic_FAC,a4e376bd-c61e-4618-9901-3fc0cb1b88bb,Teams_Room_Basic,8081ca9c-188c-4b49-a8e5-c23b5e9463a8,Teams Rooms Test 1 +Microsoft Teams Rooms Basic for EDU,Microsoft_Teams_Rooms_Basic_FAC,a4e376bd-c61e-4618-9901-3fc0cb1b88bb,Teams_Room_Pro,ec17f317-f4bc-451e-b2da-0167e5c260f9,Teams Rooms Test 2 Microsoft Teams Rooms Basic for EDU,Microsoft_Teams_Rooms_Basic_FAC,a4e376bd-c61e-4618-9901-3fc0cb1b88bb,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) Microsoft Teams Rooms Basic without Audio Conferencing,Microsoft_Teams_Rooms_Basic_without_Audio_Conferencing,50509a35-f0bd-4c5e-89ac-22f0e16a00f8,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams Microsoft Teams Rooms Basic without Audio Conferencing,Microsoft_Teams_Rooms_Basic_without_Audio_Conferencing,50509a35-f0bd-4c5e-89ac-22f0e16a00f8,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) @@ -3296,6 +3401,13 @@ Microsoft Teams Shared Devices,MCOCAP,295a8eb0-f78d-45c7-8b5b-1eed5ed02dff,MCOST Microsoft Teams Shared Devices,MCOCAP,295a8eb0-f78d-45c7-8b5b-1eed5ed02dff,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Microsoft Teams Shared Devices,MCOCAP,295a8eb0-f78d-45c7-8b5b-1eed5ed02dff,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 Microsoft Teams Shared Devices,MCOCAP,295a8eb0-f78d-45c7-8b5b-1eed5ed02dff,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Microsoft Teams Shared Devices for Faculty,MCOCAP_FACULTY ,420c7602-7f70-4895-9394-d3d679ea36fb ,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Microsoft Teams Shared Devices for Faculty,MCOCAP_FACULTY ,420c7602-7f70-4895-9394-d3d679ea36fb ,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft Teams Shared Devices for Faculty,MCOCAP_FACULTY ,420c7602-7f70-4895-9394-d3d679ea36fb ,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft Teams Shared Devices for Faculty,MCOCAP_FACULTY ,420c7602-7f70-4895-9394-d3d679ea36fb ,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft Teams Shared Devices for Faculty,MCOCAP_FACULTY ,420c7602-7f70-4895-9394-d3d679ea36fb ,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft Teams Shared Devices for Faculty,MCOCAP_FACULTY ,420c7602-7f70-4895-9394-d3d679ea36fb ,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 +Microsoft Teams Shared Devices for Faculty,MCOCAP_FACULTY ,420c7602-7f70-4895-9394-d3d679ea36fb ,SPECIALTY_DEVICES,cfce7ae3-4b41-4438-999c-c0e91f3b7fb9,Specialty devices Microsoft Teams Shared Devices for GCC,MCOCAP_GOV,b1511558-69bd-4e1b-8270-59ca96dba0f3,MCOEV_GOV,db23fce2-a974-42ef-9002-d78dd42a0f22,Microsoft 365 Phone System for Government Microsoft Teams Shared Devices for GCC,MCOCAP_GOV,b1511558-69bd-4e1b-8270-59ca96dba0f3,TEAMS_GOV,304767db-7d23-49e8-a945-4a7eb65f9f28,Microsoft Teams for Government Microsoft Teams Shared Devices for GCC,MCOCAP_GOV,b1511558-69bd-4e1b-8270-59ca96dba0f3,MCOSTANDARD_GOV,a31ef4a2-f787-435e-8335-e47eb0cafc94,Skype for Business Online (Plan 2) for Government @@ -3539,7 +3651,7 @@ Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400 Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing @@ -3596,7 +3708,7 @@ Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1 Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing @@ -3683,9 +3795,14 @@ Microsoft Teams Commercial Cloud,TEAMS_COMMERCIAL_TRIAL,29a2f828-8f39-4837-b8ff- Office 365 Cloud App Security,ADALLOM_O365,84d5f90f-cd0d-4864-b90b-1c7ba63b4808,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Office 365 Cloud App Security,ADALLOM_O365,84d5f90f-cd0d-4864-b90b-1c7ba63b4808,ADALLOM_S_O365,8c098270-9dd4-4350-9b30-ba4703f3b36b,Office 365 Advanced Security Management Office 365 Extra File Storage,SHAREPOINTSTORAGE,99049c9c-6011-4908-bf17-15f496e6519d,SHAREPOINTSTORAGE,be5a7ed5-c598-4fcd-a061-5e6724c68a58,Office 365 Extra File Storage +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,MESH_AVATARS_FOR_TEAMS,dcf9d2f4-772e-4434-b757-77a453cfbc02,Avatars for Teams +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,CDS_O365_P1,bed136c6-b799-4462-824d-fc045d3a9d25,Common Data Service for Teams Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,EXCHANGE_S_STANDARD,9aaf7827-d63c-4b61-89c3-182f06f82e5c,Exchange Online (Plan 1) +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,MESH_IMMERSIVE_FOR_TEAMS,f0ff6ac6-297d-49cd-be34-6dfef97f0c28,Immersive spaces for Teams Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,FORMS_PLAN_E1,159f4cd6-e380-449f-a816-af1a9ef76344,Microsoft Forms (Plan E1) Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,KAIZALA_O365_P2,54fc630f-5a40-48ee-8965-af0503c1386e,Microsoft Kaizala Pro @@ -3702,6 +3819,7 @@ Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,SHAREPOINTSTANDA Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,BPOS_S_TODO_1,5e62787c-c316-451f-b873-1d05acd4d12c,To-Do (Plan 1) +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,WHITEBOARD_PLAN1,b8afc642-032e-4de5-8c0a-507a7bba7e5d,Whiteboard (Plan 1) Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise @@ -3711,7 +3829,6 @@ Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,STREAM_O365_E1,7 Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,POWERAPPS_O365_P1,92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c,Power Apps for Office 365 Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,FLOW_O365_P1,0f9b09cb-62d1-4ff4-9129-43f4996f83f4,Power Automate for Office 365 Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,POWER_VIRTUAL_AGENTS_O365_P1,0683001c-0492-4d59-9515-d9a6426b5813,Power Virtual Agents for Office 365 -Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core Office 365 E1 EEA (no Teams),Office_365_w/o_Teams_Bundle_E1,b57282e3-65bd-4252-9502-c0eae1e5ab7f,CDS_O365_P1,bed136c6-b799-4462-824d-fc045d3a9d25,Common Data Service for Teams Office 365 E1 EEA (no Teams),Office_365_w/o_Teams_Bundle_E1,b57282e3-65bd-4252-9502-c0eae1e5ab7f,EXCHANGE_S_STANDARD,9aaf7827-d63c-4b61-89c3-182f06f82e5c,Exchange Online (Plan 1) Office 365 E1 EEA (no Teams),Office_365_w/o_Teams_Bundle_E1,b57282e3-65bd-4252-9502-c0eae1e5ab7f,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -3755,27 +3872,29 @@ Office 365 E2,STANDARDWOFFPACK,6634e0ce-1a9f-428c-a498-f84ec7b8aa2e,STREAM_O365_ Office 365 E2,STANDARDWOFFPACK,6634e0ce-1a9f-428c-a498-f84ec7b8aa2e,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,SWAY Office 365 E2,STANDARDWOFFPACK,6634e0ce-1a9f-428c-a498-f84ec7b8aa2e,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,TEAMS1 Office 365 E2,STANDARDWOFFPACK,6634e0ce-1a9f-428c-a498-f84ec7b8aa2e,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,YAMMER_ENTERPRISE -Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,DYN365_CDS_O365_P2,4ff01e01-1ba7-4d71-8cf8-ce96c3bbcf14,Common Data Service - O365 P2 -Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,CDS_O365_P2,95b76021-6a53-4741-ab8b-1d1f3d66a95a,Common Data Service for Teams_P2 +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,MESH_AVATARS_FOR_TEAMS,dcf9d2f4-772e-4434-b757-77a453cfbc02,Avatars for Teams +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,CDS_O365_P2,95b76021-6a53-4741-ab8b-1d1f3d66a95a,Common Data Service for Teams Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) -Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics - Standard +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,MESH_IMMERSIVE_FOR_TEAMS,f0ff6ac6-297d-49cd-be34-6dfef97f0c28,Immersive spaces for Teams +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics -Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise -Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Microsoft Microsoft Entra Rights +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for Enterprise +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,FORMS_PLAN_E3,2789c901-c14e-48ab-a76a-be334d9d793a,Microsoft Forms (Plan E3) -Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,KAIZALA_O365_P3,aebd3021-9f8f-4bf8-bbe3-0ed2f4f047a1,Microsoft Kaizala Pro Plan 3 +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,KAIZALA_O365_P3,aebd3021-9f8f-4bf8-bbe3-0ed2f4f047a1,Microsoft Kaizala Pro Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub -Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,STREAM_O365_E3,9e700747-8b1d-45e5-ab8d-ef187ceec156,Microsoft Stream for O365 E3 SKU +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,STREAM_O365_E3,9e700747-8b1d-45e5-ab8d-ef187ceec156,Microsoft Stream for Office 365 E3 Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 -Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the web -Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,POWERAPPS_O365_P2,c68f8d98-5534-41c8-bf36-22fa496fa792,Power Apps for Office 365 -Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,FLOW_O365_P2,76846ad7-7776-4c40-a281-a386362dd1b9,Power Automate for Office 365 -Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,POWER_VIRTUAL_AGENTS_O365_P2,041fe683-03e4-45b6-b1af-c0cdc516daee,Power Virtual Agents for Office 365 P2 +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,PROJECT_O365_P2,31b4e2fc-4cd6-4e7d-9c1b-41407303bd66,Project for Office (Plan E3) Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) @@ -3785,9 +3904,13 @@ Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,VIVAENGAGE_COR Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,WHITEBOARD_PLAN2,94a54592-cd8b-425e-87c6-97868b000b91,Whiteboard (Plan 2) Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,DYN365_CDS_O365_P2,4ff01e01-1ba7-4d71-8cf8-ce96c3bbcf14,Common Data Service +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,POWERAPPS_O365_P2,c68f8d98-5534-41c8-bf36-22fa496fa792,Power Apps for Office 365 +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,FLOW_O365_P2,76846ad7-7776-4c40-a281-a386362dd1b9,Power Automate for Office 365 +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,POWER_VIRTUAL_AGENTS_O365_P2,041fe683-03e4-45b6-b1af-c0cdc516daee,Power Virtual Agents for Office 365 Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,CDS_O365_P2,95b76021-6a53-4741-ab8b-1d1f3d66a95a,Common Data Service for Teams Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) -Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise @@ -3928,7 +4051,7 @@ Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -3986,7 +4109,7 @@ Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Te Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -4042,7 +4165,7 @@ Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-a Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -4178,7 +4301,7 @@ Office 365 G1 GCC,STANDARDPACK_GOV,3f4babde-90ec-47c6-995d-d223749065d1,WHITEBOA Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,CDS_O365_P2_GCC,a70bbf38-cdda-470d-adb8-5804b8770f41,Common Data Service for Teams Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,EXCHANGE_S_ENTERPRISE_GOV,8c3069c0-ccdb-44be-ab77-986203a67df2,Exchange Online (Plan 2) for Government Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,MYANALYTICS_P2_GOV,6e5b7995-bd4f-4cbd-9d19-0e32010c72f0,Insights by MyAnalytics for Government Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,OFFICESUBSCRIPTION_GOV,de9234ff-6483-44d9-b15e-dca72fdd27af,Microsoft 365 Apps for enterprise G @@ -4202,7 +4325,7 @@ Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,FLOW_O Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,CDS_O365_P2_GCC,a70bbf38-cdda-470d-adb8-5804b8770f41,Common Data Service for Teams Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,EXCHANGE_S_ENTERPRISE_GOV,8c3069c0-ccdb-44be-ab77-986203a67df2,Exchange Online (Plan 2) for Government Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,MYANALYTICS_P2_GOV,6e5b7995-bd4f-4cbd-9d19-0e32010c72f0,Insights by MyAnalytics for Government Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings @@ -4229,7 +4352,7 @@ Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,EXC Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing @@ -4273,7 +4396,7 @@ Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_ Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing @@ -4316,7 +4439,7 @@ Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_G Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing @@ -4435,6 +4558,11 @@ Power Apps per app plan for Government,POWERAPPS_PER_APP_GCC,8623b2d7-5e24-4281- Power Apps per app plan for Government,POWERAPPS_PER_APP_GCC,8623b2d7-5e24-4281-b6b7-086a5f3b0b1c,CDS_PER_APP_GCC,d7f9c9bc-0a28-4da4-b5f1-731acb27a3e4,CDS PowerApps per app plan for GCC Power Apps per app plan for Government,POWERAPPS_PER_APP_GCC,8623b2d7-5e24-4281-b6b7-086a5f3b0b1c,POWERAPPS_PER_APP_GCC,be6e5cba-3661-424c-b79a-6d95fa1d849a,Power Apps per App Plan for Government Power Apps per app plan for Government,POWERAPPS_PER_APP_GCC,8623b2d7-5e24-4281-b6b7-086a5f3b0b1c,Flow_Per_APP_GCC,8e2c2c3d-07f6-4da7-86a9-e78cc8c2c8b9,Power Automate for Power Apps per App Plan for Government +Power Apps Per User BD Only,POWERAPPS_PER_USER_BD_ONLY,2ced8a00-3ed1-4295-ab7c-57170ff28e58,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User +Power Apps Per User BD Only,POWERAPPS_PER_USER_BD_ONLY,2ced8a00-3ed1-4295-ab7c-57170ff28e58,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Power Apps Per User BD Only,POWERAPPS_PER_USER_BD_ONLY,2ced8a00-3ed1-4295-ab7c-57170ff28e58,CDS_ POWERAPPS_PER_USER_CUSTOM,2e8dde43-6986-479d-b179-7dbe31c31f60,CDS Power Apps Per User Custom +Power Apps Per User BD Only,POWERAPPS_PER_USER_BD_ONLY,2ced8a00-3ed1-4295-ab7c-57170ff28e58,POWERAPPS_PER_USER,ea2cf03b-ac60-46ae-9c1d-eeaeb63cec86,Power Apps per User Plan +Power Apps Per User BD Only,POWERAPPS_PER_USER_BD_ONLY,2ced8a00-3ed1-4295-ab7c-57170ff28e58,Flow_PowerApps_PerUser,dc789ed8-0170-4b65-a415-eb77d5bb350a,Power Automate for Power Apps per User Plan Power Apps per user plan,POWERAPPS_PER_USER,b30411f5-fea1-4a59-9ad9-3db7c7ead579,DYN365_CDS_P2,6ea4c1ef-c259-46df-bce2-943342cd3cb2,Common Data Service - P2 Power Apps per user plan,POWERAPPS_PER_USER,b30411f5-fea1-4a59-9ad9-3db7c7ead579,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Power Apps per user plan,POWERAPPS_PER_USER,b30411f5-fea1-4a59-9ad9-3db7c7ead579,POWERAPPS_PER_USER,ea2cf03b-ac60-46ae-9c1d-eeaeb63cec86,Power Apps per User Plan @@ -4479,9 +4607,9 @@ Power Automate per user plan dept,FLOW_PER_USER_DEPT,d80a4c5d-8f05-4b64-9926-657 Power Automate per user plan for Government,FLOW_PER_USER_GCC,c8803586-c136-479a-8ff3-f5f32d23a68e,DYN365_CDS_P2_GOV,37396c73-2203-48e6-8be1-d882dae53275,Common Data Service for Government Power Automate per user plan for Government,FLOW_PER_USER_GCC,c8803586-c136-479a-8ff3-f5f32d23a68e,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government Power Automate per user plan for Government,FLOW_PER_USER_GCC,c8803586-c136-479a-8ff3-f5f32d23a68e,FLOW_PER_USER_GCC,769b8bee-2779-4c5a-9456-6f4f8629fd41,Power Automate per User Plan for Government -Power Automate per user with attended RPA plan,POWERAUTOMATE_ATTENDED_RPA,eda1941c-3c4f-4995-b5eb-e85a42175ab9,CDS_ATTENDED_RPA,3da2fd4c-1bee-4b61-a17f-94c31e5cab93,Common Data Service Attended RPA -Power Automate per user with attended RPA plan,POWERAUTOMATE_ATTENDED_RPA,eda1941c-3c4f-4995-b5eb-e85a42175ab9,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation -Power Automate per user with attended RPA plan,POWERAUTOMATE_ATTENDED_RPA,eda1941c-3c4f-4995-b5eb-e85a42175ab9,POWER_AUTOMATE_ATTENDED_RPA,375cd0ad-c407-49fd-866a-0bff4f8a9a4d,Power Automate RPA Attended +Power Automate Premium,POWERAUTOMATE_ATTENDED_RPA,eda1941c-3c4f-4995-b5eb-e85a42175ab9,CDS_ATTENDED_RPA,3da2fd4c-1bee-4b61-a17f-94c31e5cab93,Common Data Service Attended RPA +Power Automate Premium,POWERAUTOMATE_ATTENDED_RPA,eda1941c-3c4f-4995-b5eb-e85a42175ab9,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Power Automate Premium,POWERAUTOMATE_ATTENDED_RPA,eda1941c-3c4f-4995-b5eb-e85a42175ab9,POWER_AUTOMATE_ATTENDED_RPA,375cd0ad-c407-49fd-866a-0bff4f8a9a4d,Power Automate RPA Attended Power Automate Premium for Government,POWERAUTOMATE_ATTENDED_RPA_GCC,d3987516-4b53-4dc0-8335-411260bf5626,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government Power Automate Premium for Government,POWERAUTOMATE_ATTENDED_RPA_GCC,d3987516-4b53-4dc0-8335-411260bf5626,CDS_ATTENDED_RPA_GCC,4802707d-47e1-45dc-82c5-b6981f0fb38c,Common Data Service Attended RPA for Government Power Automate Premium for Government,POWERAUTOMATE_ATTENDED_RPA_GCC,d3987516-4b53-4dc0-8335-411260bf5626,POWER_AUTOMATE_ATTENDED_RPA_GCC,fb613c67-1a58-4645-a8df-21e95a37d433,Power Automate Attended RPA for Government @@ -4525,9 +4653,10 @@ Power BI Pro for Faculty,POWER_BI_PRO_FACULTY,de5f128b-46d7-4cfc-b915-a89ba060ea Power BI Pro for Faculty,POWER_BI_PRO_FACULTY,de5f128b-46d7-4cfc-b915-a89ba060ea56,BI_AZURE_P2,70d33638-9c74-4d01-bfd3-562de28bd4ba,Power BI Pro Power BI Pro for GCC,POWERBI_PRO_GOV,f0612879-44ea-47fb-baf0-3d76d9235576,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government Power BI Pro for GCC,POWERBI_PRO_GOV,f0612879-44ea-47fb-baf0-3d76d9235576,BI_AZURE_P_2_GOV,944e9726-f011-4353-b654-5f7d2663db76,Power BI Pro for Government -Power Pages authenticated users T1 100 users/per site/month capacity pack CN_CN,Power Pages authenticated users T1_CN_CN,9a3c2a19-06c0-41b1-b2ea-13528d7b2e17,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site -Power Pages authenticated users T1 100 users/per site/month capacity pack CN_CN,Power Pages authenticated users T1_CN_CN,9a3c2a19-06c0-41b1-b2ea-13528d7b2e17,PowerPages_Authenticated_User_CN,967d9574-a076-4bb7-ab89-f41f64bc142e,Power Pages Authenticated Users per site monthly capacity China -Power Pages authenticated users T1 100 users/per site/month capacity pack,Power_Pages_authenticated_users_T1_100_users/per_site/month_capacity_pack,debc9e58-f2d7-412c-a0b6-575608564228,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site +Power BI Premium EM2,PBI_PREMIUM_EM2_ADDON,8ecbd3c1-b108-437c-a859-e3c125e3f83f,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Power BI Premium EM2,PBI_PREMIUM_EM2_ADDON,8ecbd3c1-b108-437c-a859-e3c125e3f83f,PBI_PREMIUM_EM2_ADDON,4e29abd1-ba96-44c0-8a72-e24e4fe9956e,Power BI Premium EM2 +Power BI Premium EM1,PBI_PREMIUM_EM1_ADDON,bc757c42-5622-4583-a483-a9e537fcb71c,EXCHANGE_S_FOUNDATION PBI_PREMIUM_EM1_ADDON,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Power BI Premium EM1,PBI_PREMIUM_EM1_ADDON,bc757c42-5622-4583-a483-a9e537fcb71c,EXCHANGE_S_FOUNDATION PBI_PREMIUM_EM1_ADDON,a64b30ba-f310-4065-b444-2670ef146db0,Power BI Premium EM1 Power Pages authenticated users T1 100 users/per site/month capacity pack,Power_Pages_authenticated_users_T1_100_users/per_site/month_capacity_pack,debc9e58-f2d7-412c-a0b6-575608564228,PowerPages_Authenticated_User,0d3366f3-266e-4117-b422-7cabbc165e7c,Power Pages Authenticated Users per site monthly capacity Power Pages authenticated users T1 100 users/per site/month capacity pack,Power_Pages_authenticated_users_T1_100_users/per_site/month_capacity_pack,debc9e58-f2d7-412c-a0b6-575608564228,PowerPages_Authenticated_User_GCCH,18e74ca2-b5f0-4802-9a8b-00d2ff1e8322,Power Pages Authenticated Users per site monthly capacity GCCH Power Pages authenticated users T1 100 users/per site/month capacity pack_GCC,Power_Pages_authenticated_users_T1_100_users/per_site/month_capacity_pack_GCC,27cb5f12-2e3f-4997-a649-45298673e6a1,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site @@ -4549,18 +4678,18 @@ Power Pages authenticated users T2 min 100 units - 100 users/per site/month capa Power Pages authenticated users T2 min 100 units - 100 users/per site/month capacity pack_USGOV_GCCHIGH,Power_Pages_authenticated_users_T2_min_100_units_100_users/per_site/month_capacity_pack_USGOV_GCCHIGH,7cae5432-61bb-48c3-b75c-831394ec13a0,PowerPages_Authenticated_Users_GCCH,5410f688-68f2-47a5-9b8f-7466194a806a,Power Pages Authenticated Users per site mthly capacity GCCH New Power Pages authenticated users T2 min 100 units - 100 users/per site/month capacity pack CN_CN,Power Pages authenticated users T2_CN_CN,7d2bb54a-a870-41c2-98d1-1f3b5b523275,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site Power Pages authenticated users T2 min 100 units - 100 users/per site/month capacity pack CN_CN,Power Pages authenticated users T2_CN_CN,7d2bb54a-a870-41c2-98d1-1f3b5b523275,PowerPages_Authenticated_User_CN,967d9574-a076-4bb7-ab89-f41f64bc142e,Power Pages Authenticated Users per site monthly capacity China -"Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack CN_CN",Power Pages authenticated users T3_CN_CN,2cfd692f-a352-4fa8-b960-e3ad0c9b1178,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site -"Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack CN_CN",Power Pages authenticated users T3_CN_CN,2cfd692f-a352-4fa8-b960-e3ad0c9b1178,PowerPages_Authenticated_User_CN,967d9574-a076-4bb7-ab89-f41f64bc142e,Power Pages Authenticated Users per site monthly capacity China -"Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack","Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack",878b8bbd-3cd0-4b44-9a56-3406741e65e0,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site -"Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack","Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack",878b8bbd-3cd0-4b44-9a56-3406741e65e0,PowerPages_Authenticated_User,0d3366f3-266e-4117-b422-7cabbc165e7c,Power Pages Authenticated Users per site monthly capacity -"Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack","Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack",878b8bbd-3cd0-4b44-9a56-3406741e65e0,PowerPages_Authenticated_User_GCCH,18e74ca2-b5f0-4802-9a8b-00d2ff1e8322,Power Pages Authenticated Users per site monthly capacity GCCH -"Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_GCC","Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_GCC",53265c61-c78c-4223-ab30-422da0c97fbb,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site -"Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_GCC","Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_GCC",53265c61-c78c-4223-ab30-422da0c97fbb,PowerPages_Authenticated_User_GCC,cdf787bd-1546-48d2-9e93-b21f9ea7067a,Power Pages Authenticated Users per site monthly capacity GCC -"Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_USGOV_DOD","Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_USGOV_DOD",398d37b5-8deb-48db-8f7f-703eb2fb7c72,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site -"Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_USGOV_DOD","Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_USGOV_DOD",398d37b5-8deb-48db-8f7f-703eb2fb7c72,PowerPages_Authenticated_User_DoD,03300fea-7a88-45a6-b5bd-29653803c591,Power Pages Authenticated Users per site monthly capacity DoD -"Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_USGOV_GCCHIGH","Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_USGOV_GCCHIGH",01d46c34-3525-47d5-bd1a-5f19979938a0,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site -"Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_USGOV_GCCHIGH","Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_USGOV_GCCHIGH",01d46c34-3525-47d5-bd1a-5f19979938a0,PowerPages_Authenticated_User_GCCH,18e74ca2-b5f0-4802-9a8b-00d2ff1e8322,Power Pages Authenticated Users per site monthly capacity GCCH -"Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_USGOV_GCCHIGH","Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_USGOV_GCCHIGH",01d46c34-3525-47d5-bd1a-5f19979938a0,PowerPages_Authenticated_Users_GCCH,5410f688-68f2-47a5-9b8f-7466194a806a,Power Pages Authenticated Users per site mthly capacity GCCH New +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack CN_CN,Power Pages authenticated users T3_CN_CN,2cfd692f-a352-4fa8-b960-e3ad0c9b1178,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack CN_CN,Power Pages authenticated users T3_CN_CN,2cfd692f-a352-4fa8-b960-e3ad0c9b1178,PowerPages_Authenticated_User_CN,967d9574-a076-4bb7-ab89-f41f64bc142e,Power Pages Authenticated Users per site monthly capacity China +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack,878b8bbd-3cd0-4b44-9a56-3406741e65e0,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack,878b8bbd-3cd0-4b44-9a56-3406741e65e0,PowerPages_Authenticated_User,0d3366f3-266e-4117-b422-7cabbc165e7c,Power Pages Authenticated Users per site monthly capacity +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack,878b8bbd-3cd0-4b44-9a56-3406741e65e0,PowerPages_Authenticated_User_GCCH,18e74ca2-b5f0-4802-9a8b-00d2ff1e8322,Power Pages Authenticated Users per site monthly capacity GCCH +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_GCC,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_GCC,53265c61-c78c-4223-ab30-422da0c97fbb,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_GCC,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_GCC,53265c61-c78c-4223-ab30-422da0c97fbb,PowerPages_Authenticated_User_GCC,cdf787bd-1546-48d2-9e93-b21f9ea7067a,Power Pages Authenticated Users per site monthly capacity GCC +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_USGOV_DOD,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_USGOV_DOD,398d37b5-8deb-48db-8f7f-703eb2fb7c72,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_USGOV_DOD,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_USGOV_DOD,398d37b5-8deb-48db-8f7f-703eb2fb7c72,PowerPages_Authenticated_User_DoD,03300fea-7a88-45a6-b5bd-29653803c591,Power Pages Authenticated Users per site monthly capacity DoD +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_USGOV_GCCHIGH,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_USGOV_GCCHIGH,01d46c34-3525-47d5-bd1a-5f19979938a0,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_USGOV_GCCHIGH,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_USGOV_GCCHIGH,01d46c34-3525-47d5-bd1a-5f19979938a0,PowerPages_Authenticated_User_GCCH,18e74ca2-b5f0-4802-9a8b-00d2ff1e8322,Power Pages Authenticated Users per site monthly capacity GCCH +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_USGOV_GCCHIGH,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_USGOV_GCCHIGH,01d46c34-3525-47d5-bd1a-5f19979938a0,PowerPages_Authenticated_Users_GCCH,5410f688-68f2-47a5-9b8f-7466194a806a,Power Pages Authenticated Users per site mthly capacity GCCH New Power Pages vTrial for Makers,Power_Pages_vTrial_for_Makers,3f9f06f5-3c31-472c-985f-62d9c10ec167,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Power Pages vTrial for Makers,Power_Pages_vTrial_for_Makers,3f9f06f5-3c31-472c-985f-62d9c10ec167,DYN365_CDS_VIRAL,17ab22cd-a0b3-4536-910a-cb6eb12696c0,Common Data Service Power Pages vTrial for Makers,Power_Pages_vTrial_for_Makers,3f9f06f5-3c31-472c-985f-62d9c10ec167,POWER_PAGES_VTRIAL,6817d093-2d30-4249-8bd6-774f01efa78c,Power Pages vTrial for Makers @@ -4580,9 +4709,9 @@ Power Virtual Agent User License for GCC,VIRTUAL_AGENT_USL_GCC,f1de227b-f1bd-495 Power Virtual Agents Viral Trial,CCIBOTS_PRIVPREV_VIRAL,606b54a9-78d8-4298-ad8b-df6ef4481c80,DYN365_CDS_CCI_BOTS,cf7034ed-348f-42eb-8bbd-dddeea43ee81,Common Data Service for CCI Bots Power Virtual Agents Viral Trial,CCIBOTS_PRIVPREV_VIRAL,606b54a9-78d8-4298-ad8b-df6ef4481c80,CCIBOTS_PRIVPREV_VIRAL,ce312d15-8fdf-44c0-9974-a25a177125ee,Dynamics 365 AI for Customer Service Virtual Agents Viral Power Virtual Agents Viral Trial,CCIBOTS_PRIVPREV_VIRAL,606b54a9-78d8-4298-ad8b-df6ef4481c80,FLOW_CCI_BOTS,5d798708-6473-48ad-9776-3acc301c40af,Flow for CCI Bots -Privacy Management � risk,PRIVACY_MANAGEMENT_RISK,e42bc969-759a-4820-9283-6b73085b68e6,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 -Privacy Management � risk,PRIVACY_MANAGEMENT_RISK,e42bc969-759a-4820-9283-6b73085b68e6,PRIVACY_MANGEMENT_RISK,f281fb1f-99a7-46ab-9edb-ffd74e260ed3,Priva - Risk -Privacy Management � risk,PRIVACY_MANAGEMENT_RISK,e42bc969-759a-4820-9283-6b73085b68e6,PRIVACY_MANGEMENT_RISK_EXCHANGE,ebb17a6e-6002-4f65-acb0-d386480cebc1,Priva - Risk (Exchange) +Privacy Management – risk,PRIVACY_MANAGEMENT_RISK,e42bc969-759a-4820-9283-6b73085b68e6,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 +Privacy Management – risk,PRIVACY_MANAGEMENT_RISK,e42bc969-759a-4820-9283-6b73085b68e6,PRIVACY_MANGEMENT_RISK,f281fb1f-99a7-46ab-9edb-ffd74e260ed3,Priva - Risk +Privacy Management – risk,PRIVACY_MANAGEMENT_RISK,e42bc969-759a-4820-9283-6b73085b68e6,PRIVACY_MANGEMENT_RISK_EXCHANGE,ebb17a6e-6002-4f65-acb0-d386480cebc1,Priva - Risk (Exchange) Privacy Management - risk for EDU,PRIVACY_MANAGEMENT_RISK_EDU,dcdbaae7-d8c9-40cb-8bb1-62737b9e5a86,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 Privacy Management - risk for EDU,PRIVACY_MANAGEMENT_RISK_EDU,dcdbaae7-d8c9-40cb-8bb1-62737b9e5a86,PRIVACY_MANGEMENT_RISK,f281fb1f-99a7-46ab-9edb-ffd74e260ed3,Priva - Risk Privacy Management - risk for EDU,PRIVACY_MANAGEMENT_RISK_EDU,dcdbaae7-d8c9-40cb-8bb1-62737b9e5a86,PRIVACY_MANGEMENT_RISK_EXCHANGE,ebb17a6e-6002-4f65-acb0-d386480cebc1,Priva - Risk (Exchange) @@ -4781,12 +4910,22 @@ SharePoint Syntex,Intelligent_Content_Services,f61d4aba-134f-44e9-a2a0-f81a5adb2 SharePoint Syntex,Intelligent_Content_Services,f61d4aba-134f-44e9-a2a0-f81a5adb26e4,Intelligent_Content_Services_SPO_type,fd2e7f90-1010-487e-a11b-d2b1ae9651fc,SharePoint Syntex - SPO type Skype for Business Online (Plan 1),MCOIMP,b8b749f8-a4ef-4887-9539-c95b1eaa5db7,MCOIMP,afc06cb0-b4f4-4473-8286-d644f70d8faf,SKYPE FOR BUSINESS ONLINE (PLAN 1) Skype for Business Online (Plan 2),MCOSTANDARD,d42c793f-6c78-4f43-92ca-e8f6a02b035f,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,SKYPE FOR BUSINESS ONLINE (PLAN 2) +Skype for Business PSTN Calling Domestic Small,MCOPSTN5,d43177b5-475b-4880-92d4-d54c27b5efbd,Skype for Business PSTN Calling Domestic Small,9a0125a5-c8f8-4526-b231-49e2abe0ebce,Skype for Business PSTN Calling Domestic Small Skype for Business PSTN Domestic and International Calling,MCOPSTN2,d3b4fe1f-9992-4930-8acb-ca6ec609365e,MCOPSTN2,5a10155d-f5c1-411a-a8ec-e99aae125390,DOMESTIC AND INTERNATIONAL CALLING PLAN Skype for Business PSTN Domestic Calling,MCOPSTN1,0dab259f-bf13-4952-b7f8-7db8f131b28d,MCOPSTN1,4ed3ff63-69d7-4fb7-b984-5aec7f605ca8,DOMESTIC CALLING PLAN Skype for Business PSTN Domestic Calling (120 Minutes),MCOPSTN5,54a152dc-90de-4996-93d2-bc47e670fc06,MCOPSTN5,54a152dc-90de-4996-93d2-bc47e670fc06,DOMESTIC CALLING PLAN Skype for Business PSTN Usage Calling Plan,MCOPSTNPP,06b48c5f-01d9-4b18-9015-03b52040f51a,MCOPSTN3,6b340437-d6f9-4dc5-8cc2-99163f7f83d6,MCOPSTN3 +Teams Phone Mobile,Operator_Connect_Mobile,b84d58c9-0a0d-46cf-8a4b-d9f23c1674d5,MCOFMC1,cb22fbd7-ed7d-4786-a27a-e4cd617b69c0,Teams Phone Mobile Teams Phone with Calling Plan,MCOTEAMS_ESSENTIALS,ae2343d1-0999-43f6-ae18-d816516f6e78,MCOPSTN1,4ed3ff63-69d7-4fb7-b984-5aec7f605ca8,Microsoft 365 Domestic Calling Plan Teams Phone with Calling Plan,MCOTEAMS_ESSENTIALS,ae2343d1-0999-43f6-ae18-d816516f6e78,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Teams Premium (for Departments),Teams_Premium_(for_Departments),52ea0e27-ae73-4983-a08f-13561ebdb823,MICROSOFT_ECDN,85704d55-2e73-47ee-93b4-4b8ea14db92b,Microsoft eCDN +Teams Premium (for Departments),Teams_Premium_(for_Departments),52ea0e27-ae73-4983-a08f-13561ebdb823,MESH_IMMERSIVE,acbca54f-c771-423b-a476-6d7a98cbbcec,Microsoft Mesh +Teams Premium (for Departments),Teams_Premium_(for_Departments),52ea0e27-ae73-4983-a08f-13561ebdb823,TEAMSPRO_MGMT,0504111f-feb8-4a3c-992a-70280f9a2869,Microsoft Teams Premium Intelligent +Teams Premium (for Departments),Teams_Premium_(for_Departments),52ea0e27-ae73-4983-a08f-13561ebdb823,TEAMSPRO_CUST,cc8c0802-a325-43df-8cba-995d0c6cb373,Microsoft Teams Premium Personalized +Teams Premium (for Departments),Teams_Premium_(for_Departments),52ea0e27-ae73-4983-a08f-13561ebdb823,TEAMSPRO_PROTECTION,f8b44f54-18bb-46a3-9658-44ab58712968,Microsoft Teams Premium Secure +Teams Premium (for Departments),Teams_Premium_(for_Departments),52ea0e27-ae73-4983-a08f-13561ebdb823,TEAMSPRO_VIRTUALAPPT,9104f592-f2a7-4f77-904c-ca5a5715883f,Microsoft Teams Premium Virtual Appointment +Teams Premium (for Departments),Teams_Premium_(for_Departments),52ea0e27-ae73-4983-a08f-13561ebdb823,MCO_VIRTUAL_APPT,711413d0-b36e-4cd4-93db-0a50a4ab7ea3,Microsoft Teams Premium Virtual Appointments +Teams Premium (for Departments),Teams_Premium_(for_Departments),52ea0e27-ae73-4983-a08f-13561ebdb823,TEAMSPRO_WEBINAR,78b58230-ec7e-4309-913c-93a45cc4735b,Microsoft Teams Premium Webinar Teams Rooms Premium,MTR_PREM,4fb214cb-a430-4a91-9c91-4976763aa78f,MMR_P1,bdaa59a3-74fd-4137-981a-31d4f84eb8a0,Meeting Room Managed Services Teams Rooms Premium,MTR_PREM,4fb214cb-a430-4a91-9c91-4976763aa78f,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing Teams Rooms Premium,MTR_PREM,4fb214cb-a430-4a91-9c91-4976763aa78f,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System @@ -4796,6 +4935,7 @@ Teams Rooms Premium,MTR_PREM,4fb214cb-a430-4a91-9c91-4976763aa78f,MCOSTANDARD,0f Teams Rooms Premium,MTR_PREM,4fb214cb-a430-4a91-9c91-4976763aa78f,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) TELSTRA Calling for O365,MCOPSTNEAU2,de3312e1-c7b0-46e6-a7c3-a515ff90bc86,MCOPSTNEAU,7861360b-dc3b-4eba-a3fc-0d323a035746,AUSTRALIA CALLING PLAN Universal Print,UNIVERSAL_PRINT,9f3d9c1d-25a5-4aaa-8e59-23a1e6450a67,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Viva Learning,VIVA_LEARNING,c9d442fc-21fb-4bd7-89e0-a710d74987f6,VIVA_LEARNING_PREMIUM,7162bd38-edae-4022-83a7-c5837f951759,Viva Learning Universal Print,UNIVERSAL_PRINT,9f3d9c1d-25a5-4aaa-8e59-23a1e6450a67,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print Visio Plan 1,VISIO_PLAN1_DEPT,ca7f3140-d88c-455b-9a1c-7f0679e31a76,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Visio Plan 1,VISIO_PLAN1_DEPT,ca7f3140-d88c-455b-9a1c-7f0679e31a76,ONEDRIVE_BASIC,da792a53-cbc0-4184-a10d-e544dd34b3c1,OneDrive for business Basic @@ -4823,6 +4963,7 @@ Visio Plan 2 for Faculty,VISIOCLIENT_FACULTY,bf95fd32-576a-4742-8d7a-6dc4940b953 Visio Plan 2 for Faculty,VISIOCLIENT_FACULTY,bf95fd32-576a-4742-8d7a-6dc4940b9532,ONEDRIVE_BASIC,da792a53-cbc0-4184-a10d-e544dd34b3c1,OneDrive for Business (Basic) Visio Plan 2 for Faculty,VISIOCLIENT_FACULTY,bf95fd32-576a-4742-8d7a-6dc4940b9532,VISIO_CLIENT_SUBSCRIPTION,663a804f-1c30-4ff0-9915-9db84f0d1cea,Visio Desktop App Visio Plan 2 for Faculty,VISIOCLIENT_FACULTY,bf95fd32-576a-4742-8d7a-6dc4940b9532,VISIOONLINE,2bdbaf8f-738f-4ac7-9234-3c3ee2ce7d0f,Visio Web App +Viva Goals User-led,Viva_Goals_User_led,3a349c99-ffec-43d2-a2e8-6b97fcb71103,Viva_Goals_Premium,b44c6eaf-5c9f-478c-8f16-8cea26353bfb,Viva Goals Viva Topics,TOPIC_EXPERIENCES,4016f256-b063-4864-816e-d818aad600c9,GRAPH_CONNECTORS_SEARCH_INDEX_TOPICEXP,b74d57b2-58e9-484a-9731-aeccbba954f0,Graph Connectors Search with Index (Viva Topics) Viva Topics,TOPIC_EXPERIENCES,4016f256-b063-4864-816e-d818aad600c9,CORTEX,c815c93d-0759-4bb8-b857-bc921a71be83,Viva Topics Windows 10/11 Enterprise E5 (Original),WIN_ENT_E5,1e7e1070-8ccb-4aca-b470-d7cb538cb07e,DATAVERSE_FOR_POWERAUTOMATE_DESKTOP,59231cdf-b40d-4534-a93e-14d0cd31d27e,Dataverse for PAD @@ -4834,11 +4975,11 @@ Windows 10/11 Enterprise E5 (Original),WIN_ENT_E5,1e7e1070-8ccb-4aca-b470-d7cb53 Windows 10/11 Enterprise E5 (Original),WIN_ENT_E5,1e7e1070-8ccb-4aca-b470-d7cb538cb07e,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service Windows 10/11 Enterprise A3 for faculty,WIN10_ENT_A3_FAC,8efbe2f6-106e-442f-97d4-a59aa6037e06,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Windows 10/11 Enterprise A3 for faculty,WIN10_ENT_A3_FAC,8efbe2f6-106e-442f-97d4-a59aa6037e06,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print -Windows 10/11 Enterprise A3 for faculty,WIN10_ENT_A3_FAC,8efbe2f6-106e-442f-97d4-a59aa6037e06,"Virtualization Rights for Windows 10 (E3/E5+VDA)",e7c91390-7625-45be-94e0-e16907e03118,Windows 10 Enterprise (New) +Windows 10/11 Enterprise A3 for faculty,WIN10_ENT_A3_FAC,8efbe2f6-106e-442f-97d4-a59aa6037e06,Virtualization Rights for Windows 10 (E3/E5+VDA),e7c91390-7625-45be-94e0-e16907e03118,Windows 10 Enterprise (New) Windows 10/11 Enterprise A3 for faculty,WIN10_ENT_A3_FAC,8efbe2f6-106e-442f-97d4-a59aa6037e06,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service Windows 10/11 Enterprise A3 for students,WIN10_ENT_A3_STU,d4ef921e-840b-4b48-9a90-ab6698bc7b31,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Windows 10/11 Enterprise A3 for students,WIN10_ENT_A3_STU,d4ef921e-840b-4b48-9a90-ab6698bc7b31,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print -Windows 10/11 Enterprise A3 for students,WIN10_ENT_A3_STU,d4ef921e-840b-4b48-9a90-ab6698bc7b31,"Virtualization Rights for Windows 10 (E3/E5+VDA)",e7c91390-7625-45be-94e0-e16907e03118,Windows 10 Enterprise (New) +Windows 10/11 Enterprise A3 for students,WIN10_ENT_A3_STU,d4ef921e-840b-4b48-9a90-ab6698bc7b31,Virtualization Rights for Windows 10 (E3/E5+VDA),e7c91390-7625-45be-94e0-e16907e03118,Windows 10 Enterprise (New) Windows 10/11 Enterprise A3 for students,WIN10_ENT_A3_STU,d4ef921e-840b-4b48-9a90-ab6698bc7b31,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service Windows 10/11 Enterprise A5 for faculty,WIN10_ENT_A5_FAC,7b1a89a9-5eb9-4cf8-9467-20c943f1122c,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Windows 10/11 Enterprise A5 for faculty,WIN10_ENT_A5_FAC,7b1a89a9-5eb9-4cf8-9467-20c943f1122c,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,Microsoft Defender for Endpoint @@ -4848,18 +4989,18 @@ Windows 10/11 Enterprise A5 for faculty,WIN10_ENT_A5_FAC,7b1a89a9-5eb9-4cf8-9467 Windows 10/11 Enterprise E3,WIN10_PRO_ENT_SUB,cb10e6cd-9da4-4992-867b-67546b1db821,WIN10_PRO_ENT_SUB,21b439ba-a0ca-424f-a6cc-52f954a5b111,WINDOWS 10 ENTERPRISE Windows 10/11 Enterprise E3,WIN10_VDA_E3,6a0f6da5-0b87-4190-a6ae-9bb5a2b9546a,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,EXCHANGE FOUNDATION Windows 10/11 Enterprise E3,WIN10_VDA_E3,6a0f6da5-0b87-4190-a6ae-9bb5a2b9546a,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,UNIVERSAL PRINT -Windows 10/11 Enterprise E3,WIN10_VDA_E3,6a0f6da5-0b87-4190-a6ae-9bb5a2b9546a,"Virtualization Rights for Windows 10 (E3/E5+VDA)",e7c91390-7625-45be-94e0-e16907e03118,WINDOWS 10 ENTERPRISE (NEW) +Windows 10/11 Enterprise E3,WIN10_VDA_E3,6a0f6da5-0b87-4190-a6ae-9bb5a2b9546a,Virtualization Rights for Windows 10 (E3/E5+VDA),e7c91390-7625-45be-94e0-e16907e03118,WINDOWS 10 ENTERPRISE (NEW) Windows 10/11 Enterprise E3,WIN10_VDA_E3,6a0f6da5-0b87-4190-a6ae-9bb5a2b9546a,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,WINDOWS UPDATE FOR BUSINESS DEPLOYMENT SERVICE Windows 10/11 Enterprise E3,WIN10_VDA_E3,6a0f6da5-0b87-4190-a6ae-9bb5a2b9546a,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch Windows 10/11 Enterprise E5,WIN10_VDA_E5,488ba24a-39a9-4473-8ee5-19291e71b002,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Windows 10/11 Enterprise E5,WIN10_VDA_E5,488ba24a-39a9-4473-8ee5-19291e71b002,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,Microsoft Defender For Endpoint Windows 10/11 Enterprise E5,WIN10_VDA_E5,488ba24a-39a9-4473-8ee5-19291e71b002,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print -Windows 10/11 Enterprise E5,WIN10_VDA_E5,488ba24a-39a9-4473-8ee5-19291e71b002,"Virtualization Rights for Windows 10 (E3/E5+VDA)",e7c91390-7625-45be-94e0-e16907e03118,Windows 10 Enterprise (New) +Windows 10/11 Enterprise E5,WIN10_VDA_E5,488ba24a-39a9-4473-8ee5-19291e71b002,Virtualization Rights for Windows 10 (E3/E5+VDA),e7c91390-7625-45be-94e0-e16907e03118,Windows 10 Enterprise (New) Windows 10/11 Enterprise E5,WIN10_VDA_E5,488ba24a-39a9-4473-8ee5-19291e71b002,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service Windows 10/11 Enterprise E5,WIN10_VDA_E5,488ba24a-39a9-4473-8ee5-19291e71b002,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch Windows 10/11 Enterprise E5 Commercial (GCC Compatible),WINE5_GCC_COMPAT,938fd547-d794-42a4-996c-1cc206619580,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government Windows 10/11 Enterprise E5 Commercial (GCC Compatible),WINE5_GCC_COMPAT,938fd547-d794-42a4-996c-1cc206619580,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,Microsoft Defender For Endpoint -Windows 10/11 Enterprise E5 Commercial (GCC Compatible),WINE5_GCC_COMPAT,938fd547-d794-42a4-996c-1cc206619580,"Virtualization Rights for Windows 10 (E3/E5+VDA)",e7c91390-7625-45be-94e0-e16907e03118,Windows 10 Enterprise (New) +Windows 10/11 Enterprise E5 Commercial (GCC Compatible),WINE5_GCC_COMPAT,938fd547-d794-42a4-996c-1cc206619580,Virtualization Rights for Windows 10 (E3/E5+VDA),e7c91390-7625-45be-94e0-e16907e03118,Windows 10 Enterprise (New) Windows 10/11 Enterprise E3 VDA,E3_VDA_only,d13ef257-988a-46f3-8fce-f47484dd4550,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Windows 10/11 Enterprise E3 VDA,E3_VDA_only,d13ef257-988a-46f3-8fce-f47484dd4550,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print Windows 10/11 Enterprise E3 VDA,E3_VDA_only,d13ef257-988a-46f3-8fce-f47484dd4550,Virtualization Rights for Windows 10 (E3/E5+VDA),e7c91390-7625-45be-94e0-e16907e03118,Windows 10/11 Enterprise @@ -4886,7 +5027,7 @@ Windows 365 Business 2 vCPU 4 GB 64 GB,CPC_B_2C_4RAM_64GB,42e6818f-8966-444b-b7a Windows 365 Business 2 vCPU 8 GB 128 GB,CPC_B_2C_8RAM_128GB,71f21848-f89b-4aaa-a2dc-780c8e8aac5b,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Windows 365 Business 2 vCPU 8 GB 128 GB,CPC_B_2C_8RAM_128GB,71f21848-f89b-4aaa-a2dc-780c8e8aac5b,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) Windows 365 Business 2 vCPU 8 GB 128 GB,CPC_B_2C_8RAM_128GB,71f21848-f89b-4aaa-a2dc-780c8e8aac5b,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) -Windows 365 Business 2 vCPU 8 GB 128 GB,CPC_B_2C_8RAM_128GB,71f21848-f89b-4aaa-a2dc-780c8e8aac5b,CPC_SS_2,9d2eed2c-b0c0-4a89-940c-bc303444a41b,"Windows 365 Business 2 vCPU, 8 GB, 128 GB" +Windows 365 Business 2 vCPU 8 GB 128 GB,CPC_B_2C_8RAM_128GB,71f21848-f89b-4aaa-a2dc-780c8e8aac5b,CPC_SS_2,9d2eed2c-b0c0-4a89-940c-bc303444a41b,Windows 365 Business 2 vCPU, 8 GB, 128 GB Windows 365 Business 2 vCPU 8 GB 256 GB,CPC_B_2C_8RAM_256GB,750d9542-a2f8-41c7-8c81-311352173432,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Windows 365 Business 2 vCPU 8 GB 256 GB,CPC_B_2C_8RAM_256GB,750d9542-a2f8-41c7-8c81-311352173432,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) Windows 365 Business 2 vCPU 8 GB 256 GB,CPC_B_2C_8RAM_256GB,750d9542-a2f8-41c7-8c81-311352173432,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) @@ -4917,6 +5058,14 @@ Windows 365 Business 8 vCPU 32 GB 512 GB,CPC_B_8C_32RAM_512GB,8ee402cd-e6a8-4b67 Windows 365 Business 8 vCPU 32 GB 512 GB,CPC_B_8C_32RAM_512GB,8ee402cd-e6a8-4b67-a411-54d1f37a2049,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) Windows 365 Business 8 vCPU 32 GB 512 GB,CPC_B_8C_32RAM_512GB,8ee402cd-e6a8-4b67-a411-54d1f37a2049,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) Windows 365 Business 8 vCPU 32 GB 512 GB,CPC_B_8C_32RAM_512GB,8ee402cd-e6a8-4b67-a411-54d1f37a2049,CPC_B_8C_32RAM_512GB,4229a0b4-7f34-4835-b068-6dc8d10be57c,Windows 365 Business 8 vCPU 32 GB 512 GB +Windows 365 Business 16 vCPU, 64 GB, 512 GB,Windows_365_Business_16_vCPU,_64_GB,_512_GB,93d9955a-ec70-44d5-8faa-a194492390f7,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 365 Business 16 vCPU, 64 GB, 512 GB,Windows_365_Business_16_vCPU,_64_GB,_512_GB,93d9955a-ec70-44d5-8faa-a194492390f7,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Windows 365 Business 16 vCPU, 64 GB, 512 GB,Windows_365_Business_16_vCPU,_64_GB,_512_GB,93d9955a-ec70-44d5-8faa-a194492390f7,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) +Windows 365 Business 16 vCPU, 64 GB, 512 GB,Windows_365_Business_16_vCPU,_64_GB,_512_GB,93d9955a-ec70-44d5-8faa-a194492390f7,CPC_B_16C_64GB_512GB,cbbedc49-52d5-4fd6-82ac-a5bc51634dc3,Windows 365 Business 16 vCPU, 64 GB, 512 GB +Windows 365 Business 16 vCPU, 64 GB, 1 TB,Windows_365_Business_16_vCPU,_64_GB,_1_TB,24be3cd7-82ca-41a5-94a7-4903373cdcae,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 365 Business 16 vCPU, 64 GB, 1 TB,Windows_365_Business_16_vCPU,_64_GB,_1_TB,24be3cd7-82ca-41a5-94a7-4903373cdcae,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Windows 365 Business 16 vCPU, 64 GB, 1 TB,Windows_365_Business_16_vCPU,_64_GB,_1_TB,24be3cd7-82ca-41a5-94a7-4903373cdcae,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) +Windows 365 Business 16 vCPU, 64 GB, 1 TB,Windows_365_Business_16_vCPU,_64_GB,_1_TB,24be3cd7-82ca-41a5-94a7-4903373cdcae,CPC_B_16C_64GB_1TB,37c961db-2cfd-4e13-b81e-b0059ce10e34,Windows 365 Business 16 vCPU, 64 GB, 1 TB Windows 365 Enterprise 1 vCPU 2 GB 64 GB,CPC_E_1C_2GB_64GB,0c278af4-c9c1-45de-9f4b-cd929e747a2c,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Windows 365 Enterprise 1 vCPU 2 GB 64 GB,CPC_E_1C_2GB_64GB,0c278af4-c9c1-45de-9f4b-cd929e747a2c,CPC_E_1C_2GB_64GB,86d70dbb-d4c6-4662-ba17-3014204cbb28,Windows 365 Enterprise 1 vCPU 2 GB 64 GB Windows 365 Enterprise 2 vCPU 4 GB 64 GB,CPC_E_2C_4GB_64GB,7bb14422-3b90-4389-a7be-f1b745fc037f,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation diff --git a/DomainAnalyser_OrchestrationStarter/function.json b/DomainAnalyser_OrchestrationStarter/function.json deleted file mode 100644 index 14c44f4f0217..000000000000 --- a/DomainAnalyser_OrchestrationStarter/function.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "bindings": [ - { - "authLevel": "anonymous", - "name": "Request", - "type": "httpTrigger", - "direction": "in", - "methods": [ - "post", - "get" - ] - }, - { - "type": "http", - "direction": "out", - "name": "Response" - }, - { - "name": "starter", - "type": "durableClient", - "direction": "in" - } - ] -} diff --git a/DomainAnalyser_OrchestrationStarter/run.ps1 b/DomainAnalyser_OrchestrationStarter/run.ps1 deleted file mode 100644 index 9c16b32afdba..000000000000 --- a/DomainAnalyser_OrchestrationStarter/run.ps1 +++ /dev/null @@ -1,25 +0,0 @@ -using namespace System.Net - -param($Request, $TriggerMetadata) - -$Results = [pscustomobject]@{'Results' = 'Domain Analyser started' } -$TenantList = Get-Tenants -IncludeAll -$Queue = New-CippQueueEntry -Name 'Domain Analyser' -TotalTasks ($TenantList | Measure-Object).Count -$InputObject = [PSCustomObject]@{ - QueueFunction = [PSCustomObject]@{ - FunctionName = 'GetTenants' - DurableName = 'DomainAnalyserTenant' - QueueId = $Queue.RowKey - TenantParams = @{ - IncludeAll = $true - } - } - OrchestratorName = 'DomainAnalyser_Tenants' - SkipLog = $true -} -Start-NewOrchestration -FunctionName 'CIPPOrchestrator' -InputObject ($InputObject | ConvertTo-Json -Compress -Depth 5) - -Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ - StatusCode = [HttpStatusCode]::OK - Body = $results - }) \ No newline at end of file diff --git a/Domain_OrchestrationStarterTimer/function.json b/Domain_OrchestrationStarterTimer/function.json deleted file mode 100644 index f5df3587c4c8..000000000000 --- a/Domain_OrchestrationStarterTimer/function.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "bindings": [ - { - "name": "Timer", - "type": "timerTrigger", - "direction": "in", - "schedule": "0 30 4 * * *" - }, - { - "name": "starter", - "type": "durableClient", - "direction": "in" - } - ] -} \ No newline at end of file diff --git a/Domain_OrchestrationStarterTimer/run.ps1 b/Domain_OrchestrationStarterTimer/run.ps1 deleted file mode 100644 index 8ac7721ca590..000000000000 --- a/Domain_OrchestrationStarterTimer/run.ps1 +++ /dev/null @@ -1,36 +0,0 @@ -param($Timer) - -if ($env:DEV_SKIP_DOMAIN_TIMER) { - Write-Host 'Skipping DomainAnalyser timer' - exit 0 -} - -try { - if ($CurrentlyRunning) { - $Results = [pscustomobject]@{'Results' = 'Already running. Please wait for the current instance to finish' } - Write-LogMessage -API 'DomainAnalyser' -message 'Attempted to start analysis but an instance was already running.' -sev Info - } else { - #$InstanceId = Start-NewOrchestration -FunctionName 'DomainAnalyser_Orchestration' - Write-Host "Started orchestration with ID = '$InstanceId'" - #Orchestrator = New-OrchestrationCheckStatusResponse -Request $Timer -InstanceId $InstanceId - Write-LogMessage -API 'DomainAnalyser' -message 'Starting Domain Analyser' -sev Info - $Results = [pscustomobject]@{'Results' = 'Starting Domain Analyser' } - - $TenantList = Get-Tenants -IncludeAll - $Queue = New-CippQueueEntry -Name 'Domain Analyser' -TotalTasks ($TenantList | Measure-Object).Count - $InputObject = [PSCustomObject]@{ - QueueFunction = [PSCustomObject]@{ - FunctionName = 'GetTenants' - DurableName = 'DomainAnalyserTenant' - QueueId = $Queue.RowKey - TenantParams = @{ - IncludeAll = $true - } - } - OrchestratorName = 'DomainAnalyser_Tenants' - SkipLog = $true - } - Start-NewOrchestration -FunctionName 'CIPPOrchestrator' -InputObject ($InputObject | ConvertTo-Json -Compress -Depth 5) - } - Write-Host ($Orchestrator | ConvertTo-Json) -} catch { Write-Host "Domain_OrchestratorStarterTimer Exception $($_.Exception.Message)" } \ No newline at end of file diff --git a/Durable_BECRun/function.json b/Durable_BECRun/function.json deleted file mode 100644 index 7326b39c184d..000000000000 --- a/Durable_BECRun/function.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "bindings": [ - { - "name": "Context", - "type": "orchestrationTrigger", - "direction": "in" - } - ] -} \ No newline at end of file diff --git a/Durable_BECRun/run.ps1 b/Durable_BECRun/run.ps1 deleted file mode 100644 index 44eecff33d2f..000000000000 --- a/Durable_BECRun/run.ps1 +++ /dev/null @@ -1,127 +0,0 @@ -param($Context) -#$Context does not allow itself to be cast to a pscustomobject for some reason, so we convert -$context = $Context | ConvertTo-Json | ConvertFrom-Json -$APIName = $TriggerMetadata.FunctionName -Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' -$TenantFilter = $Context.input.tenantfilter -$SuspectUser = $Context.input.userid -$UserName = $Context.input.username -Write-Host "Working on $UserName" -try { - $startDate = (Get-Date).AddDays(-7) - $endDate = (Get-Date) - $auditLog = (New-ExoRequest -tenantid $Tenantfilter -cmdlet 'Get-AdminAuditLogConfig').UnifiedAuditLogIngestionEnabled - $7dayslog = if ($auditLog -eq $false) { - $ExtractResult = 'AuditLog is disabled. Cannot perform full analysis' - } else { - $sessionid = Get-Random -Minimum 10000 -Maximum 99999 - $operations = @( - 'New-InboxRule', - 'Set-InboxRule', - 'UpdateInboxRules', - 'Remove-MailboxPermission', - 'Add-MailboxPermission', - 'UpdateCalendarDelegation', - 'AddFolderPermissions', - 'MailboxLogin', - 'UserLoggedIn' - ) - $startDate = (Get-Date).AddDays(-7) - $endDate = (Get-Date) - $SearchParam = @{ - SessionCommand = 'ReturnLargeSet' - Operations = $operations - sessionid = $sessionid - startDate = $startDate - endDate = $endDate - } - do { - New-ExoRequest -tenantid $Tenantfilter -cmdlet 'Search-unifiedAuditLog' -cmdParams $SearchParam -Anchor $Username - Write-Host "Retrieved $($logsTenant.count) logs" -ForegroundColor Yellow - $logsTenant - } while ($LogsTenant.count % 5000 -eq 0 -and $LogsTenant.count -ne 0) - $ExtractResult = 'Successfully extracted logs from auditlog' - } - Try { - $URI = "https://graph.microsoft.com/beta/auditLogs/signIns?`$filter=(userId eq '$SuspectUser')&`$top=1&`$orderby=createdDateTime desc" - $LastSignIn = New-GraphGetRequest -uri $URI -tenantid $TenantFilter -noPagination $true -verbose | Select-Object @{ Name = 'CreatedDateTime'; Expression = { $(($_.createdDateTime | Out-String) -replace '\r\n') } }, - id, - @{ Name = 'AppDisplayName'; Expression = { $_.resourceDisplayName } }, - @{ Name = 'Status'; Expression = { if (($_.conditionalAccessStatus -eq 'Success' -or 'Not Applied') -and $_.status.errorCode -eq 0) { 'Success' } else { 'Failed' } } }, - @{ Name = 'IPAddress'; Expression = { $_.ipAddress } } - } catch { - $LastSignIn = [PSCustomObject]@{ - AppDisplayName = 'Unknown - could not retrieve information. No access to sign-in logs' - CreatedDateTime = 'Unknown' - Id = '0' - Status = 'Could not retrieve additional details' - } - } - #List all users devices - $Bytes = [System.Text.Encoding]::UTF8.GetBytes($SuspectUser) - $base64IdentityParam = [Convert]::ToBase64String($Bytes) - Try { - $Devices = New-GraphGetRequest -uri "https://outlook.office365.com:443/adminapi/beta/$($TenantFilter)/mailbox('$($base64IdentityParam)')/MobileDevice/Exchange.GetMobileDeviceStatistics()/?IsEncoded=True" -Tenantid $tenantfilter -scope ExchangeOnline - } catch { - $Devices = $null - } - $PermissionsLog = ($7dayslog | Where-Object -Property Operations -In 'Remove-MailboxPermission', 'Add-MailboxPermission', 'UpdateCalendarDelegation', 'AddFolderPermissions' ).AuditData | ConvertFrom-Json -Depth 100 | ForEach-Object { - $perms = if ($_.Parameters) { - $_.Parameters | ForEach-Object { if ($_.Name -eq 'AccessRights') { $_.Value } } - } else - { $_.item.ParentFolder.MemberRights } - $objectID = if ($_.ObjectID) { $_.ObjectID } else { $($_.MailboxOwnerUPN) + $_.item.ParentFolder.Path } - [pscustomobject]@{ - Operation = $_.Operation - UserKey = $_.UserKey - ObjectId = $objectId - Permissions = $perms - } - } - - $RulesLog = @(($7dayslog | Where-Object -Property Operations -In 'New-InboxRule', 'Set-InboxRule', 'UpdateInboxRules').AuditData | ConvertFrom-Json) | ForEach-Object { - Write-Host ($_ | ConvertTo-Json) - [pscustomobject]@{ - ClientIP = $_.ClientIP - CreationTime = $_.CreationTime - UserId = $_.UserId - RuleName = ($_.OperationProperties | ForEach-Object { if ($_.Name -eq 'RuleName') { $_.Value } }) - RuleCondition = ($_.OperationProperties | ForEach-Object { if ($_.Name -eq 'RuleCondition') { $_.Value } }) - } - } - $PasswordChanges = New-GraphGetRequest -uri "https://graph.microsoft.com/beta/users?`select=lastPasswordChangeDateTime,displayname,UserPrincipalName" -Tenantid $tenantfilter | Where-Object { $_.lastPasswordChangeDateTime -gt $startDate } - $NewUsers = New-GraphGetRequest -uri "https://graph.microsoft.com/v1.0/users?`$select=displayname,UserPrincipalName,CreatedDateTime" -Tenantid $tenantfilter | Where-Object { $_.CreatedDateTime -gt $startDate } - $MFADevices = New-GraphGetRequest -uri "https://graph.microsoft.com/beta/users/$($SuspectUser)/authentication/methods" -Tenantid $tenantfilter - $NewSPs = New-GraphGetRequest -uri "https://graph.microsoft.com/v1.0/servicePrincipals?`$select=displayName,createdDateTime,id,AppDisplayName&`$filter=createdDateTime ge $($startDate.ToString('yyyy-MM-ddTHH:mm:ssZ'))" -Tenantid $tenantfilter - $Last50Logons = New-GraphGetRequest -uri "https://graph.microsoft.com/beta/auditLogs/signIns?`$top=50&`$orderby=createdDateTime desc" -tenantid $TenantFilter -noPagination $true -verbose | Select-Object @{ Name = 'CreatedDateTime'; Expression = { $(($_.createdDateTime | Out-String) -replace '\r\n') } }, - id, - @{ Name = 'AppDisplayName'; Expression = { $_.resourceDisplayName } }, - @{ Name = 'Status'; Expression = { if (($_.conditionalAccessStatus -eq 'Success' -or 'Not Applied') -and $_.status.errorCode -eq 0) { 'Success' } else { 'Failed' } } }, - @{ Name = 'IPAddress'; Expression = { $_.ipAddress } }, UserPrincipalName - $Results = [PSCustomObject]@{ - AddedApps = @($NewSPs) - SuspectUserMailboxLogons = @($Last50Logons) - LastSuspectUserLogon = @($LastSignIn) - SuspectUserDevices = @($Devices) - NewRules = @($RulesLog) - MailboxPermissionChanges = @($PermissionsLog) - NewUsers = @($NewUsers) - MFADevices = @($MFADevices) - ChangedPasswords = @($PasswordChanges) - ExtractedAt = (Get-Date).ToString('s') - ExtractResult = $ExtractResult - } - -} catch { - $errMessage = Get-NormalizedError -message $_.Exception.Message - $results = [pscustomobject]@{'Results' = "$errMessage" } -} - -$Table = Get-CippTable -tablename 'cachebec' -$Table.Force = $true -Add-CIPPAzDataTableEntity @Table -Entity @{ - UserId = $Context.input.userid - Results = "$($results | ConvertTo-Json -Depth 10)" - RowKey = $Context.input.userid - PartitionKey = 'bec' -} \ No newline at end of file diff --git a/ExecAlertsListAllTenants/function.json b/ExecAlertsListAllTenants/function.json deleted file mode 100644 index d4169b47b86d..000000000000 --- a/ExecAlertsListAllTenants/function.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "bindings": [ - { - "name": "QueueItem", - "type": "queueTrigger", - "direction": "in", - "queueName": "alertqueue" - } - ] -} diff --git a/ExecGDAPInviteApproved_Timer/function.json b/ExecGDAPInviteApproved_Timer/function.json deleted file mode 100644 index f8904bbb0a7f..000000000000 --- a/ExecGDAPInviteApproved_Timer/function.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "bindings": [ - { - "name": "Timer", - "type": "timerTrigger", - "direction": "in", - "schedule": "0 0 */3 * * *" - }, - { - "name": "starter", - "type": "durableClient", - "direction": "in" - } - ] -} diff --git a/ExecGDAPInviteApproved_Timer/run.ps1 b/ExecGDAPInviteApproved_Timer/run.ps1 deleted file mode 100644 index 08370014869f..000000000000 --- a/ExecGDAPInviteApproved_Timer/run.ps1 +++ /dev/null @@ -1,5 +0,0 @@ -using namespace System.Net - -param($Timer) - -Set-CIPPGDAPInviteGroups diff --git a/ExecIncidentsListAllTenants/function.json b/ExecIncidentsListAllTenants/function.json deleted file mode 100644 index 05f90b816f08..000000000000 --- a/ExecIncidentsListAllTenants/function.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "bindings": [ - { - "name": "QueueItem", - "type": "queueTrigger", - "direction": "in", - "queueName": "incidentqueue" - } - ] -} diff --git a/ExecOffboard_Mailboxpermissions/function.json b/ExecOffboard_Mailboxpermissions/function.json deleted file mode 100644 index bc64eceb6904..000000000000 --- a/ExecOffboard_Mailboxpermissions/function.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "bindings": [ - { - "name": "QueueItem", - "type": "queueTrigger", - "direction": "in", - "queueName": "offboardingmailbox" - } - ] -} diff --git a/ExecOffboard_Mailboxpermissions/run.ps1 b/ExecOffboard_Mailboxpermissions/run.ps1 deleted file mode 100644 index 755133d6586e..000000000000 --- a/ExecOffboard_Mailboxpermissions/run.ps1 +++ /dev/null @@ -1,8 +0,0 @@ -# Input bindings are passed in via param block. -param( $QueueItem, $TriggerMetadata) -$APIName = $TriggerMetadata.FunctionName - -$Mailboxes = New-ExoRequest -tenantid $QueueItem.TenantFilter -cmdlet "get-mailbox" -foreach ($Mailbox in $Mailboxes) { - Remove-CIPPMailboxPermissions -PermissionsLevel @("FullAccess", "SendAs", "SendOnBehalf") -userid $Mailbox.UserPrincipalName -AccessUser $QueueItem.User -TenantFilter $QueueItem.TenantFilter -APIName $APINAME -ExecutingUser $QueueItem.ExecutingUser -} \ No newline at end of file diff --git a/ExecSchedulerBillingRun/function.json b/ExecSchedulerBillingRun/function.json deleted file mode 100644 index 987ff96a991d..000000000000 --- a/ExecSchedulerBillingRun/function.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "bindings": [ - { - "name": "QueueItem", - "type": "queueTrigger", - "direction": "in", - "queueName": "billqueue" - } - ] -} diff --git a/ExecSchedulerBillingRun/run.ps1 b/ExecSchedulerBillingRun/run.ps1 deleted file mode 100644 index 3ea7e6621fac..000000000000 --- a/ExecSchedulerBillingRun/run.ps1 +++ /dev/null @@ -1,21 +0,0 @@ -# Input bindings are passed in via param block. -param($QueueItem) - -# Get the current universal time in the default string format. -try { - Write-LogMessage -API 'Scheduler_Billing' -tenant 'none' -message 'Starting billing processing.' -sev Info - - $Table = Get-CIPPTable -TableName Extensionsconfig - $Configuration = (Get-CIPPAzDataTableEntity @Table).config | ConvertFrom-Json -Depth 10 - foreach ($ConfigItem in $Configuration.psobject.properties.name) { - switch ($ConfigItem) { - 'Gradient' { - If ($Configuration.Gradient.enabled -and $Configuration.Gradient.BillingEnabled) { - New-GradientServiceSyncRun - } - } - } - } -} catch { - Write-LogMessage -API 'Scheduler_Billing' -tenant 'none' -message 'Could not start billing processing' -sev Error -LogData (Get-CippException -Exception $_) -} \ No newline at end of file diff --git a/ListGenericAllTenants/function.json b/ListGenericAllTenants/function.json deleted file mode 100644 index 4937476839a0..000000000000 --- a/ListGenericAllTenants/function.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "bindings": [ - { - "name": "QueueItem", - "type": "queueTrigger", - "direction": "in", - "queueName": "generalAllTenantQueue" - } - ] -} diff --git a/ListGenericAllTenants/run.ps1 b/ListGenericAllTenants/run.ps1 deleted file mode 100644 index afda8b0570d2..000000000000 --- a/ListGenericAllTenants/run.ps1 +++ /dev/null @@ -1,42 +0,0 @@ -# Input bindings are passed in via param block. -param([string]$QueueItem, $TriggerMetadata) - -# Write out the queue message and metadata to the information log. -Write-Host "PowerShell queue trigger function processed work item: $QueueItem" -$TableURLName = ($QueueItem.tolower().split('?').Split('/') | Select-Object -First 1).toString() -$QueueKey = (Invoke-ListCippQueue | Where-Object -Property Name -EQ $TableURLName | Select-Object -Last 1).RowKey -Update-CippQueueEntry -RowKey $QueueKey -Status 'Started' -$Table = Get-CIPPTable -TableName "cache$TableURLName" -$fullUrl = "https://graph.microsoft.com/beta/$QueueItem" -Get-CIPPAzDataTableEntity @Table | Remove-AzDataTableEntity @table - -$RawGraphRequest = Get-Tenants | ForEach-Object -Parallel { - $domainName = $_.defaultDomainName - Import-Module CippCore - try { - Write-Host $using:fullUrl - New-GraphGetRequest -uri $using:fullUrl -tenantid $_.defaultDomainName -ComplexFilter -ErrorAction Stop | Select-Object *, @{l = 'Tenant'; e = { $domainName } }, @{l = 'CippStatus'; e = { 'Good' } } - } - catch { - [PSCustomObject]@{ - Tenant = $domainName - CippStatus = "Could not connect to tenant. $($_.Exception.message)" - } - } -} - -Update-CippQueueEntry -RowKey $QueueKey -Status 'Processing' -foreach ($Request in $RawGraphRequest) { - $Json = ConvertTo-Json -Compress -InputObject $request - $GraphRequest = [PSCustomObject]@{ - Tenant = [string]$Request.tenant - RowKey = [string](New-Guid) - PartitionKey = [string]$URL - Data = [string]$Json - - } - Add-CIPPAzDataTableEntity @Table -Entity $GraphRequest -Force | Out-Null -} - - -Update-CippQueueEntry -RowKey $QueueKey -Status 'Completed' \ No newline at end of file diff --git a/Modules/CIPPCore/CIPPCore.psm1 b/Modules/CIPPCore/CIPPCore.psm1 index f69a353414d9..93ce138d723d 100644 --- a/Modules/CIPPCore/CIPPCore.psm1 +++ b/Modules/CIPPCore/CIPPCore.psm1 @@ -1,11 +1,10 @@ -$Public = @(Get-ChildItem -Path $PSScriptRoot\Public\*.ps1 -Recurse -ErrorAction SilentlyContinue) -$Private = @(Get-ChildItem -Path $PSScriptRoot\private\*.ps1 -Recurse -ErrorAction SilentlyContinue) +$Public = @(Get-ChildItem -Path (Join-Path $PSScriptRoot "Public\*.ps1") -Recurse -ErrorAction SilentlyContinue) +$Private = @(Get-ChildItem -Path (Join-Path $PSScriptRoot "Private\*.ps1") -Recurse -ErrorAction SilentlyContinue) $Functions = $Public + $Private foreach ($import in @($Functions)) { try { . $import.FullName - } - catch { + } catch { Write-Error -Message "Failed to import function $($import.FullName): $_" } } diff --git a/Modules/CIPPCore/CippCore.psd1 b/Modules/CIPPCore/CippCore.psd1 index 71c567254d51..cfc565177729 100644 Binary files a/Modules/CIPPCore/CippCore.psd1 and b/Modules/CIPPCore/CippCore.psd1 differ diff --git a/Modules/CIPPCore/Public/Add-CIPPAlias.ps1 b/Modules/CIPPCore/Public/Add-CIPPAlias.ps1 new file mode 100644 index 000000000000..68f297e4440b --- /dev/null +++ b/Modules/CIPPCore/Public/Add-CIPPAlias.ps1 @@ -0,0 +1,26 @@ +function Add-CIPPAlias { + [CmdletBinding()] + param ( + $user, + $Aliases, + $UserprincipalName, + $TenantFilter, + $APIName = 'Set Manager', + $ExecutingUser + ) + + try { + foreach ($Alias in $Aliases) { + Write-Host "Adding alias $Alias to $user" + New-GraphPostRequest -uri "https://graph.microsoft.com/beta/users/$user" -tenantid $TenantFilter -type 'patch' -body "{`"mail`": `"$Alias`"}" -verbose + } + Write-Host "Resetting primary alias to $User" + New-GraphPostRequest -uri "https://graph.microsoft.com/beta/users/$($user)" -tenantid $TenantFilter -type 'patch' -body "{`"mail`": `"$User`"}" -verbose + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($TenantFilter) -message "Added alias $($Alias) to $($UserprincipalName)" -Sev 'Info' + return ("Added Aliases: $($Aliases -join ',')") + } catch { + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($TenantFilter) -message "Failed to set alias. Error:$($_.Exception.Message)" -Sev 'Error' + throw "Failed to set alias: $($_.Exception.Message)" + } +} + diff --git a/Modules/CIPPCore/Public/Add-CIPPApplicationPermission.ps1 b/Modules/CIPPCore/Public/Add-CIPPApplicationPermission.ps1 index 5ec28d3c2e7a..b4b6c7d177ca 100644 --- a/Modules/CIPPCore/Public/Add-CIPPApplicationPermission.ps1 +++ b/Modules/CIPPCore/Public/Add-CIPPApplicationPermission.ps1 @@ -11,7 +11,26 @@ function Add-CIPPApplicationPermission { } Set-Location (Get-Item $PSScriptRoot).FullName if ($RequiredResourceAccess -eq 'CIPPDefaults') { - $RequiredResourceAccess = (Get-Content '.\SAMManifest.json' | ConvertFrom-Json).requiredResourceAccess + #$RequiredResourceAccess = (Get-Content '.\SAMManifest.json' | ConvertFrom-Json).requiredResourceAccess + + $Permissions = Get-CippSamPermissions -NoDiff + $RequiredResourceAccess = [System.Collections.Generic.List[object]]::new() + + foreach ($AppId in $Permissions.Permissions.PSObject.Properties.Name) { + $AppPermissions = @($Permissions.Permissions.$AppId.applicationPermissions) + $Resource = @{ + resourceAppId = $AppId + resourceAccess = [System.Collections.Generic.List[object]]::new() + } + foreach ($Permission in $AppPermissions) { + $Resource.ResourceAccess.Add(@{ + id = $Permission.id + type = 'Role' + }) + } + + $RequiredResourceAccess.Add($Resource) + } } $ServicePrincipalList = New-GraphGETRequest -uri "https://graph.microsoft.com/beta/servicePrincipals?`$select=AppId,id,displayName&`$top=999" -skipTokenCache $true -tenantid $Tenantfilter -NoAuthCheck $true $ourSVCPrincipal = $ServicePrincipalList | Where-Object -Property AppId -EQ $ApplicationId @@ -22,13 +41,23 @@ function Add-CIPPApplicationPermission { $ourSVCPrincipal = $ServicePrincipalList | Where-Object -Property AppId -EQ $ApplicationId } - $Results = [System.Collections.ArrayList]@() + $Results = [System.Collections.Generic.List[string]]::new() $CurrentRoles = New-GraphGETRequest -uri "https://graph.microsoft.com/beta/servicePrincipals/$($ourSVCPrincipal.id)/appRoleAssignments" -tenantid $Tenantfilter -skipTokenCache $true -NoAuthCheck $true $Grants = foreach ($App in $RequiredResourceAccess) { $svcPrincipalId = $ServicePrincipalList | Where-Object -Property AppId -EQ $App.resourceAppId - if (!$svcPrincipalId) { continue } + if (!$svcPrincipalId) { + try { + $Body = @{ + appId = $App.resourceAppId + } | ConvertTo-Json -Compress + $svcPrincipalId = New-GraphPOSTRequest -uri 'https://graph.microsoft.com/beta/servicePrincipals' -tenantid $Tenantfilter -body $Body -type POST + } catch { + $Results.add("Failed to create service principal for $($App.resourceAppId): $(Get-NormalizedError -message $_.Exception.Message)") + continue + } + } foreach ($SingleResource in $App.ResourceAccess | Where-Object -Property Type -EQ 'Role') { if ($SingleResource.id -In $CurrentRoles.appRoleId) { continue } [pscustomobject]@{ @@ -41,10 +70,11 @@ function Add-CIPPApplicationPermission { $counter = 0 foreach ($Grant in $Grants) { try { - $SettingsRequest = New-GraphPOSTRequest -body ($Grant | ConvertTo-Json) -uri "https://graph.microsoft.com/beta/servicePrincipals/$($ourSVCPrincipal.id)/appRoleAssignedTo" -tenantid $Tenantfilter -type POST -NoAuthCheck $true + $SettingsRequest = New-GraphPOSTRequest -body (ConvertTo-Json -InputObject $Grant -Depth 5) -uri "https://graph.microsoft.com/beta/servicePrincipals/$($ourSVCPrincipal.id)/appRoleAssignedTo" -tenantid $Tenantfilter -type POST -NoAuthCheck $true $counter++ } catch { - $Results.add("Failed to grant $($Grant.appRoleId) to $($Grant.resourceId): $($_.Exception.Message)") | Out-Null + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + $Results.add("Failed to grant $($Grant.appRoleId) to $($Grant.resourceId): $ErrorMessage") } } "Added $counter Application permissions to $($ourSVCPrincipal.displayName)" diff --git a/Modules/CIPPCore/Public/Add-CIPPAzDataTableEntity.ps1 b/Modules/CIPPCore/Public/Add-CIPPAzDataTableEntity.ps1 index 6e2e0dd618d5..760e4fe66791 100644 --- a/Modules/CIPPCore/Public/Add-CIPPAzDataTableEntity.ps1 +++ b/Modules/CIPPCore/Public/Add-CIPPAzDataTableEntity.ps1 @@ -10,35 +10,43 @@ function Add-CIPPAzDataTableEntity { $MaxRowSize = 500000 - 100 # Maximum size of an entity $MaxSize = 30kb # Maximum size of a property value - foreach ($SingleEnt in $Entity) { + foreach ($SingleEnt in @($Entity)) { try { + if ($null -eq $SingleEnt.PartitionKey -or $null -eq $SingleEnt.RowKey) { + throw 'PartitionKey or RowKey is null' + } Add-AzDataTableEntity -Context $Context -Force:$Force -CreateTableIfNotExists:$CreateTableIfNotExists -Entity $SingleEnt -ErrorAction Stop } catch [System.Exception] { if ($_.Exception.ErrorCode -eq 'PropertyValueTooLarge' -or $_.Exception.ErrorCode -eq 'EntityTooLarge' -or $_.Exception.ErrorCode -eq 'RequestBodyTooLarge') { try { - $largePropertyNames = [System.Collections.ArrayList]::new() + $largePropertyNames = [System.Collections.Generic.List[string]]::new() $entitySize = 0 + + # Convert $SingleEnt to hashtable if it is a PSObject + if ($SingleEnt -is [System.Management.Automation.PSCustomObject]) { + $SingleEnt = $SingleEnt | ConvertTo-Json -Depth 100 | ConvertFrom-Json -AsHashtable + } + foreach ($key in $SingleEnt.Keys) { $propertySize = [System.Text.Encoding]::UTF8.GetByteCount($SingleEnt[$key].ToString()) $entitySize = $entitySize + $propertySize if ($propertySize -gt $MaxSize) { $largePropertyNames.Add($key) } - } if ($largePropertyNames.Count -gt 0) { - $splitInfoList = [System.Collections.ArrayList]@() + $splitInfoList = [System.Collections.Generic.List[object]]::new() foreach ($largePropertyName in $largePropertyNames) { $dataString = $SingleEnt[$largePropertyName] $splitCount = [math]::Ceiling($dataString.Length / $MaxSize) - $splitData = [System.Collections.ArrayList]@() + $splitData = [System.Collections.Generic.List[object]]::new() for ($i = 0; $i -lt $splitCount; $i++) { $start = $i * $MaxSize $splitData.Add($dataString.Substring($start, [Math]::Min($MaxSize, $dataString.Length - $start))) > $null } - $splitPropertyNames = [System.Collections.ArrayList]@() + $splitPropertyNames = [System.Collections.Generic.List[object]]::new() for ($i = 0; $i -lt $splitData.Count; $i++) { $splitPropertyNames.Add("${largePropertyName}_Part$i") > $null } @@ -61,7 +69,7 @@ function Add-CIPPAzDataTableEntity { # Check if the entity is still too large $entitySize = [System.Text.Encoding]::UTF8.GetByteCount($($SingleEnt | ConvertTo-Json)) if ($entitySize -gt $MaxRowSize) { - $rows = [System.Collections.ArrayList]@() + $rows = [System.Collections.Generic.List[object]]::new() $originalPartitionKey = $SingleEnt.PartitionKey $originalRowKey = $SingleEnt.RowKey $entityIndex = 0 @@ -79,7 +87,7 @@ function Add-CIPPAzDataTableEntity { $newEntity['PartIndex'] = $entityIndex $entityIndex++ - $propertiesToRemove = [System.Collections.ArrayList]@() + $propertiesToRemove = [System.Collections.Generic.List[object]]::new() foreach ($key in $SingleEnt.Keys) { $newEntitySize = [System.Text.Encoding]::UTF8.GetByteCount($($newEntity | ConvertTo-Json)) if ($newEntitySize -lt $MaxRowSize) { @@ -87,13 +95,13 @@ function Add-CIPPAzDataTableEntity { if ($propertySize -gt $MaxRowSize) { $dataString = $SingleEnt[$key] $splitCount = [math]::Ceiling($dataString.Length / $MaxSize) - $splitData = [System.Collections.ArrayList]@() + $splitData = [System.Collections.Generic.List[object]]::new() for ($i = 0; $i -lt $splitCount; $i++) { $start = $i * $MaxSize $splitData.Add($dataString.Substring($start, [Math]::Min($MaxSize, $dataString.Length - $start))) > $null } - $splitPropertyNames = [System.Collections.ArrayList]@() + $splitPropertyNames = [System.Collections.Generic.List[object]]::new() for ($i = 0; $i -lt $splitData.Count; $i++) { $splitPropertyNames.Add("${key}_Part$i") > $null } @@ -134,10 +142,11 @@ function Add-CIPPAzDataTableEntity { } } catch { - throw "Error processing entity: $($_.Exception.Message) Linenumner: $($_.InvocationInfo.ScriptLineNumber)" + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + throw "Error processing entity: $ErrorMessage Linenumber: $($_.InvocationInfo.ScriptLineNumber)" } } else { - Write-Information "THE ERROR IS $($_.Exception.ErrorCode). The size of the entity is $entitySize." + Write-Information "THE ERROR IS $($_.Exception.message). The size of the entity is $entitySize." throw $_ } } diff --git a/Modules/CIPPCore/Public/Add-CIPPBPAField.ps1 b/Modules/CIPPCore/Public/Add-CIPPBPAField.ps1 index 1cc394c9fbf5..bed52e8cc786 100644 --- a/Modules/CIPPCore/Public/Add-CIPPBPAField.ps1 +++ b/Modules/CIPPCore/Public/Add-CIPPBPAField.ps1 @@ -30,7 +30,7 @@ function Add-CIPPBPAField { $Result["$fieldName"] = [bool]$FieldValue } 'JSON' { - if ($FieldValue -eq $null) { $JsonString = '{}' } else { $JsonString = (ConvertTo-Json -Depth 15 -InputObject $FieldValue -Compress) } + if ($null -eq $FieldValue) { $JsonString = '{}' } else { $JsonString = (ConvertTo-Json -Depth 15 -InputObject $FieldValue -Compress) } $Result[$fieldName] = [string]$JsonString } 'string' { @@ -38,4 +38,4 @@ function Add-CIPPBPAField { } } Add-CIPPAzDataTableEntity @Table -Entity $Result -Force -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/Add-CIPPDelegatedPermission.ps1 b/Modules/CIPPCore/Public/Add-CIPPDelegatedPermission.ps1 index df1e80e1de37..86affa77ad29 100644 --- a/Modules/CIPPCore/Public/Add-CIPPDelegatedPermission.ps1 +++ b/Modules/CIPPCore/Public/Add-CIPPDelegatedPermission.ps1 @@ -15,37 +15,71 @@ function Add-CIPPDelegatedPermission { } if ($RequiredResourceAccess -eq 'CIPPDefaults') { - $RequiredResourceAccess = (Get-Content '.\SAMManifest.json' | ConvertFrom-Json).requiredResourceAccess - $AdditionalPermissions = Get-Content '.\AdditionalPermissions.json' | ConvertFrom-Json + $Permissions = Get-CippSamPermissions -NoDiff + $NoTranslateRequired = $Permissions.Type -eq 'Table' + $RequiredResourceAccess = [System.Collections.Generic.List[object]]::new() + foreach ($AppId in $Permissions.Permissions.PSObject.Properties.Name) { + $DelegatedPermissions = @($Permissions.Permissions.$AppId.delegatedPermissions) + $ResourceAccess = [System.Collections.Generic.List[object]]::new() + foreach ($Permission in $DelegatedPermissions) { + $ResourceAccess.Add(@{ + id = $Permission.value + type = 'Scope' + }) + } + $Resource = @{ + resourceAppId = $AppId + resourceAccess = @($ResourceAccess) + } + $RequiredResourceAccess.Add($Resource) + } - if ($Tenantfilter -eq $env:TenantID) { + if ($Tenantfilter -eq $env:TenantID -or $Tenantfilter -eq 'PartnerTenant') { $RequiredResourceAccess = $RequiredResourceAccess + ($AdditionalPermissions | Where-Object { $RequiredResourceAccess.resourceAppId -notcontains $_.resourceAppId }) } else { # remove the partner center permission if not pushing to partner tenant $RequiredResourceAccess = $RequiredResourceAccess | Where-Object { $_.resourceAppId -ne 'fa3d9a0c-3fb0-42cc-9193-47c7ecd2edbd' } } - $RequiredResourceAccess = $RequiredResourceAccess + ($AdditionalPermissions | Where-Object { $RequiredResourceAccess.resourceAppId -notcontains $_.resourceAppId }) } $Translator = Get-Content '.\PermissionsTranslator.json' | ConvertFrom-Json - $ServicePrincipalList = New-GraphGETRequest -uri "https://graph.microsoft.com/beta/servicePrincipals?`$select=AppId,id,displayName&`$top=999" -tenantid $Tenantfilter -skipTokenCache $true -NoAuthCheck $true - $ourSVCPrincipal = $ServicePrincipalList | Where-Object -Property AppId -EQ $ApplicationId - $Results = [System.Collections.ArrayList]@() + $ServicePrincipalList = New-GraphGETRequest -uri "https://graph.microsoft.com/beta/servicePrincipals?`$select=appId,id,displayName&`$top=999" -tenantid $Tenantfilter -skipTokenCache $true -NoAuthCheck $true + $ourSVCPrincipal = $ServicePrincipalList | Where-Object -Property appId -EQ $ApplicationId + $Results = [System.Collections.Generic.List[string]]::new() $CurrentDelegatedScopes = New-GraphGETRequest -uri "https://graph.microsoft.com/beta/servicePrincipals/$($ourSVCPrincipal.id)/oauth2PermissionGrants" -skipTokenCache $true -tenantid $Tenantfilter -NoAuthCheck $true foreach ($App in $RequiredResourceAccess) { - $svcPrincipalId = $ServicePrincipalList | Where-Object -Property AppId -EQ $App.resourceAppId - $AdditionalScopes = ($AdditionalPermissions | Where-Object -Property resourceAppId -EQ $App.resourceAppId).resourceAccess - if (!$svcPrincipalId) { continue } - if ($AdditionalScopes) { - $NewScope = (@(($Translator | Where-Object { $_.id -in $App.ResourceAccess.id }).value) + @($AdditionalScopes.id | Select-Object -Unique)) -join ' ' + if (!$App) { + continue + } + $svcPrincipalId = $ServicePrincipalList | Where-Object -Property appId -EQ $App.resourceAppId + if (!$svcPrincipalId) { + try { + $Body = @{ + appId = $App.resourceAppId + } | ConvertTo-Json -Compress + $svcPrincipalId = New-GraphPOSTRequest -uri 'https://graph.microsoft.com/v1.0/servicePrincipals' -tenantid $Tenantfilter -body $Body -type POST -NoAuthCheck $true + } catch { + $Results.add("Failed to create service principal for $($App.resourceAppId): $(Get-NormalizedError -message $_.Exception.Message)") + continue + } + } + + $DelegatedScopes = $App.resourceAccess | Where-Object -Property type -EQ 'Scope' + if ($NoTranslateRequired) { + $NewScope = @($DelegatedScopes | ForEach-Object { $_.id } | Sort-Object -Unique) -join ' ' } else { - if ($NoTranslateRequired) { - $NewScope = $App.resourceAccess | ForEach-Object { $_.id } -join ' ' - } else { - $NewScope = ($Translator | Where-Object { $_.id -in $App.resourceAccess.id }).value -join ' ' + $NewScope = foreach ($Scope in $DelegatedScopes.id) { + if ($Scope -match '^[a-f0-9]{8}-([a-f0-9]{4}-){3}[a-f0-9]{12}$') { + $TranslatedScope = ($Translator | Where-Object -Property id -EQ $Scope).value + if ($TranslatedScope) { + $TranslatedScope + } + } else { + $Scope + } } - $NewScope = ($Translator | Where-Object { $_.id -in $App.ResourceAccess.id }).value -join ' ' + $NewScope = (@($NewScope) | Sort-Object -Unique) -join ' ' } $OldScope = ($CurrentDelegatedScopes | Where-Object -Property Resourceid -EQ $svcPrincipalId.id) @@ -58,18 +92,40 @@ function Add-CIPPDelegatedPermission { scope = $NewScope } | ConvertTo-Json -Compress $CreateRequest = New-GraphPOSTRequest -uri 'https://graph.microsoft.com/v1.0/oauth2PermissionGrants' -tenantid $Tenantfilter -body $Createbody -type POST -NoAuthCheck $true - $Results.add("Successfully added permissions for $($svcPrincipalId.displayName)") | Out-Null + $Results.add("Successfully added permissions for $($svcPrincipalId.displayName)") } else { + # Cleanup multiple scope entries and patch first id + if (($OldScope.id | Measure-Object).Count -gt 1) { + $OldScopeId = $OldScope.id[0] + $OldScope.id | ForEach-Object { + if ($_ -ne $OldScopeId) { + try { + $null = New-GraphPOSTRequest -uri "https://graph.microsoft.com/v1.0/oauth2PermissionGrants/$_" -tenantid $Tenantfilter -type DELETE -NoAuthCheck $true + } catch { + } + } + } + } else { + $OldScopeId = $OldScope.id + } $compare = Compare-Object -ReferenceObject $OldScope.scope.Split(' ') -DifferenceObject $NewScope.Split(' ') if (!$compare) { - $Results.add("All delegated permissions exist for $($svcPrincipalId.displayName): $($NewScope)") | Out-Null + $Results.add("All delegated permissions exist for $($svcPrincipalId.displayName)") continue } $Patchbody = @{ scope = "$NewScope" } | ConvertTo-Json -Compress - $Patchrequest = New-GraphPOSTRequest -uri "https://graph.microsoft.com/v1.0/oauth2PermissionGrants/$($OldScope.id)" -tenantid $Tenantfilter -body $Patchbody -type PATCH -NoAuthCheck $true - $Results.add("Successfully updated permissions for $($svcPrincipalId.displayName): $($NewScope)") | Out-Null + try { + $null = New-GraphPOSTRequest -uri "https://graph.microsoft.com/v1.0/oauth2PermissionGrants/$($OldScopeId)" -tenantid $Tenantfilter -body $Patchbody -type PATCH -NoAuthCheck $true + } catch { + $Results.add("Failed to update permissions for $($svcPrincipalId.displayName): $(Get-NormalizedError -message $_.Exception.Message)") + continue + } + # Added permissions + $Added = ($Compare | Where-Object { $_.SideIndicator -eq '=>' }).InputObject -join ' ' + $Removed = ($Compare | Where-Object { $_.SideIndicator -eq '<=' }).InputObject -join ' ' + $Results.add("Successfully updated permissions for $($svcPrincipalId.displayName). $(if ($Added) { "Added: $Added"}) $(if ($Removed) { "Removed: $Removed"})") } } diff --git a/Modules/CIPPCore/Public/Add-CIPPScheduledTask.ps1 b/Modules/CIPPCore/Public/Add-CIPPScheduledTask.ps1 index d1ecc6f090a8..30aa79cffaa2 100644 --- a/Modules/CIPPCore/Public/Add-CIPPScheduledTask.ps1 +++ b/Modules/CIPPCore/Public/Add-CIPPScheduledTask.ps1 @@ -19,12 +19,11 @@ function Add-CIPPScheduledTask { $propertiesToCheck = @('Webhook', 'Email', 'PSA') $PostExecution = ($propertiesToCheck | Where-Object { $task.PostExecution.$_ -eq $true }) -join ',' $Parameters = [System.Collections.Hashtable]@{} - foreach ($Key in $task.Parameters.Keys) { + foreach ($Key in $task.Parameters.PSObject.Properties.Name) { $Param = $task.Parameters.$Key - if ($Param.Key) { + if ($Param -is [System.Collections.IDictionary]) { $ht = @{} - foreach ($p in $Param) { - Write-Host $p.Key + foreach ($p in $Param.GetEnumerator()) { $ht[$p.Key] = $p.Value } $Parameters[$Key] = [PSCustomObject]$ht @@ -32,6 +31,7 @@ function Add-CIPPScheduledTask { $Parameters[$Key] = $Param } } + $Parameters = ($Parameters | ConvertTo-Json -Depth 10 -Compress) $AdditionalProperties = [System.Collections.Hashtable]@{} foreach ($Prop in $task.AdditionalProperties) { @@ -51,6 +51,10 @@ function Add-CIPPScheduledTask { $task.Recurrence.value } + if ([int64]$task.ScheduledTime -eq 0 -or [string]::IsNullOrEmpty($task.ScheduledTime)) { + $task.ScheduledTime = [int64](([datetime]::UtcNow) - (Get-Date '1/1/1970')).TotalSeconds + } + $entity = @{ PartitionKey = [string]'ScheduledTask' TaskState = [string]'Planned' @@ -72,7 +76,8 @@ function Add-CIPPScheduledTask { try { Add-CIPPAzDataTableEntity @Table -Entity $entity -Force } catch { - return "Could not add task: $($_.Exception.Message)" + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + return "Could not add task: $ErrorMessage" } return "Successfully added task: $($entity.Name)" } diff --git a/Modules/CIPPCore/Public/AdditionalPermissions.json b/Modules/CIPPCore/Public/AdditionalPermissions.json index 4983c6f5fd03..f7008f12fee8 100644 --- a/Modules/CIPPCore/Public/AdditionalPermissions.json +++ b/Modules/CIPPCore/Public/AdditionalPermissions.json @@ -1,15 +1,24 @@ [ { - "resourceAppId": "00000003-0000-0ff1-ce00-000000000000", - "resourceAccess": [{ "id": "AllProfiles.Manage", "type": "Scope" }] + "resourceAppId": "00000006-0000-0ff1-ce00-000000000000", + "resourceAccess": [ + { + "id": "M365AdminPortal.IntegratedApps.ReadWrite", + "type": "Scope" + }, + { + "id": "user_impersonation", + "type": "Scope" + } + ] }, { - "resourceAppId": "fb78d390-0c51-40cd-8e17-fdbfab77341b", + "resourceAppId": "00000003-0000-0ff1-ce00-000000000000", "resourceAccess": [ - { "id": "AdminApi.AccessAsUser.All", "type": "Scope" }, - { "id": "FfoPowerShell.AccessAsUser.All", "type": "Scope" }, - { "id": "RemotePowerShell.AccessAsUser.All", "type": "Scope" }, - { "id": "VivaFeatureAccessPolicy.Manage.All", "type": "Scope" } + { + "id": "AllProfiles.Manage", + "type": "Scope" + } ] } -] +] \ No newline at end of file diff --git a/Modules/CIPPCore/Public/Alerts/Get-CIPPAlertDepTokenExpiry.ps1 b/Modules/CIPPCore/Public/Alerts/Get-CIPPAlertDepTokenExpiry.ps1 index 1bf1e9c4463e..ec55c10bb283 100644 --- a/Modules/CIPPCore/Public/Alerts/Get-CIPPAlertDepTokenExpiry.ps1 +++ b/Modules/CIPPCore/Public/Alerts/Get-CIPPAlertDepTokenExpiry.ps1 @@ -16,7 +16,8 @@ function Get-CIPPAlertDepTokenExpiry { $DepTokens = (New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/deviceManagement/depOnboardingSettings' -tenantid $TenantFilter).value $AlertData = foreach ($Dep in $DepTokens) { if ($Dep.tokenExpirationDateTime -lt (Get-Date).AddDays(30) -and $Dep.tokenExpirationDateTime -gt (Get-Date).AddDays(-7)) { - 'Apple Device Enrollment Program token expiring on {0}' -f $Dep.tokenExpirationDateTime + $Message = 'Apple Device Enrollment Program token expiring on {0}' -f $Dep.tokenExpirationDateTime + $Dep | Select-Object -Property tokenName, @{Name = 'Message'; Expression = { $Message } } } } Write-AlertTrace -cmdletName $MyInvocation.MyCommand -tenantFilter $TenantFilter -data $AlertData diff --git a/Modules/CIPPCore/Public/Alerts/Get-CIPPAlertDeviceCompliance.ps1 b/Modules/CIPPCore/Public/Alerts/Get-CIPPAlertDeviceCompliance.ps1 new file mode 100644 index 000000000000..a8c3ff745fd5 --- /dev/null +++ b/Modules/CIPPCore/Public/Alerts/Get-CIPPAlertDeviceCompliance.ps1 @@ -0,0 +1,22 @@ + +function Get-CIPPAlertDeviceCompliance { + <# + .FUNCTIONALITY + Entrypoint + #> + [CmdletBinding()] + param( + [Parameter(Mandatory = $false)] + [Alias('input')] + $InputValue, + $TenantFilter + ) + try { + $AlertData = New-GraphGETRequest -uri "https://graph.microsoft.com/v1.0/deviceManagement/managedDevices?`$top=999" -tenantid $TenantFilter | Where-Object -Property complianceState -NE 'compliant' | ForEach-Object { + $_ | Select-Object -Property id, deviceName, deviceType, complianceState, lastReportedDateTime + } + Write-AlertTrace -cmdletName $MyInvocation.MyCommand -tenantFilter $TenantFilter -data $AlertData + } catch { + Write-AlertMessage -tenant $($TenantFilter) -message "Could not get compliance state for $($TenantFilter): $(Get-NormalizedError -message $_.Exception.message)" + } +} diff --git a/Modules/CIPPCore/Public/Alerts/Get-CIPPAlertHuntressRogueApps.ps1 b/Modules/CIPPCore/Public/Alerts/Get-CIPPAlertHuntressRogueApps.ps1 new file mode 100644 index 000000000000..efd1326fbcc5 --- /dev/null +++ b/Modules/CIPPCore/Public/Alerts/Get-CIPPAlertHuntressRogueApps.ps1 @@ -0,0 +1,44 @@ +function Get-CIPPAlertHuntressRogueApps { + <# + .SYNOPSIS + Check for rogue apps in a Tenant + .DESCRIPTION + This function checks for rogue apps in the tenant by comparing the service principals in the tenant with a list of known rogue apps provided by Huntress. + .FUNCTIONALITY + Entrypoint + .LINK + https://huntresslabs.github.io/rogueapps/ + #> + [CmdletBinding()] + Param ( + [Parameter(Mandatory = $false)] + [Alias('input')] + $InputValue, + $TenantFilter + ) + + try { + $RogueApps = Invoke-RestMethod -Uri 'https://raw.githubusercontent.com/huntresslabs/rogueapps/main/public/rogueapps.json' + $RogueAppFilter = $RogueApps.appId -join "','" + $ServicePrincipals = New-GraphGetRequest -uri "https://graph.microsoft.com/beta/servicePrincipals?`$filter=appId in ('$RogueAppFilter')" -tenantid $TenantFilter + + if (($ServicePrincipals | Measure-Object).Count -gt 0) { + $AlertData = foreach ($ServicePrincipal in $ServicePrincipals) { + $RogueApp = $RogueApps | Where-Object { $_.appId -eq $ServicePrincipal.appId } + [pscustomobject]@{ + 'App Name' = $RogueApp.appDisplayName + 'App Id' = $RogueApp.appId + 'Description' = $RogueApp.description + 'Enabled' = $ServicePrincipal.accountEnabled + 'Created' = $ServicePrincipal.createdDateTime + 'Tags' = $RogueApp.tags -join ', ' + 'References' = $RogueApp.references -join ', ' + 'Huntress Added' = $RogueApp.dateAdded + } + } + Write-AlertTrace -cmdletName $MyInvocation.MyCommand -tenantFilter $TenantFilter -data $AlertData + } + } catch { + #Write-AlertMessage -tenant $($TenantFilter) -message "Failed to check for rogue apps for $($TenantFilter): $(Get-NormalizedError -message $_.Exception.message)" + } +} diff --git a/Modules/CIPPCore/Public/Alerts/Get-CIPPAlertInactiveLicensedUsers.ps1 b/Modules/CIPPCore/Public/Alerts/Get-CIPPAlertInactiveLicensedUsers.ps1 new file mode 100644 index 000000000000..d114a7426cc0 --- /dev/null +++ b/Modules/CIPPCore/Public/Alerts/Get-CIPPAlertInactiveLicensedUsers.ps1 @@ -0,0 +1,32 @@ +function Get-CIPPAlertInactiveLicensedUsers { + <# + .FUNCTIONALITY + Entrypoint + #> + [CmdletBinding()] + Param ( + [Parameter(Mandatory = $false)] + [Alias('input')] + $InputValue, + $TenantFilter + ) + + try { + try { + + $Lookup = (Get-Date).AddDays(-90).ToUniversalTime().ToString('o') + $GraphRequest = New-GraphGetRequest -uri "https://graph.microsoft.com/beta/users?`$filter=(signInActivity/lastNonInteractiveSignInDateTime le $Lookup)&`$select=id,UserPrincipalName,signInActivity,mail,userType,accountEnabled,assignedLicenses" -scope 'https://graph.microsoft.com/.default' -tenantid $TenantFilter | Where-Object { $_.assignedLicenses.skuId -ne $null } + $AlertData = foreach ($user in $GraphRequest) { + $Message = 'User {0} has been inactive for 90 days, but still has a license assigned.' -f $user.UserPrincipalName + $user | Select-Object -Property userPrincipalname, signInActivity, @{Name = 'Message'; Expression = { $Message } } + + } + Write-AlertTrace -cmdletName $MyInvocation.MyCommand -tenantFilter $TenantFilter -data $AlertData + + } catch {} + + + } catch { + Write-AlertMessage -tenant $($TenantFilter) -message "Failed to check inactive users with licenses for $($TenantFilter): $(Get-NormalizedError -message $_.Exception.message)" + } +} diff --git a/Modules/CIPPCore/Public/Alerts/Get-CIPPAlertQuotaUsed.ps1 b/Modules/CIPPCore/Public/Alerts/Get-CIPPAlertQuotaUsed.ps1 index 84e1e0864b87..1e61ffaa01b6 100644 --- a/Modules/CIPPCore/Public/Alerts/Get-CIPPAlertQuotaUsed.ps1 +++ b/Modules/CIPPCore/Public/Alerts/Get-CIPPAlertQuotaUsed.ps1 @@ -18,7 +18,9 @@ function Get-CIPPAlertQuotaUsed { } $OverQuota = $AlertData | ForEach-Object { if ($_.StorageUsedInBytes -eq 0 -or $_.prohibitSendReceiveQuotaInBytes -eq 0) { return } - $PercentLeft = [math]::round(($_.storageUsedInBytes / $_.prohibitSendReceiveQuotaInBytes) * 100) + try { + $PercentLeft = [math]::round(($_.storageUsedInBytes / $_.prohibitSendReceiveQuotaInBytes) * 100) + } catch { $PercentLeft = 100 } try { if ([int]$InputValue -gt 0) { $Value = [int]$InputValue @@ -34,4 +36,4 @@ function Get-CIPPAlertQuotaUsed { } Write-AlertTrace -cmdletName $MyInvocation.MyCommand -tenantFilter $TenantFilter -data $OverQuota -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/Alerts/Get-CIPPAlertVppTokenExpiry.ps1 b/Modules/CIPPCore/Public/Alerts/Get-CIPPAlertVppTokenExpiry.ps1 index 224d23857005..9767e24fd5c4 100644 --- a/Modules/CIPPCore/Public/Alerts/Get-CIPPAlertVppTokenExpiry.ps1 +++ b/Modules/CIPPCore/Public/Alerts/Get-CIPPAlertVppTokenExpiry.ps1 @@ -15,10 +15,12 @@ function Get-CIPPAlertVppTokenExpiry { $VppTokens = (New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/deviceAppManagement/vppTokens' -tenantid $TenantFilter).value $AlertData = foreach ($Vpp in $VppTokens) { if ($Vpp.state -ne 'valid') { - 'Apple Volume Purchase Program Token is not valid, new token required' + $Message = 'Apple Volume Purchase Program Token is not valid, new token required' + $Vpp | Select-Object -Property organizationName, appleId, vppTokenAccountType, @{Name = 'Message'; Expression = { $Message } } } if ($Vpp.expirationDateTime -lt (Get-Date).AddDays(30) -and $Vpp.expirationDateTime -gt (Get-Date).AddDays(-7)) { - 'Apple Volume Purchase Program token expiring on {0}' -f $Vpp.expirationDateTime + $Message = 'Apple Volume Purchase Program token expiring on {0}' -f $Vpp.expirationDateTime + $Vpp | Select-Object -Property organizationName, appleId, vppTokenAccountType, @{Name = 'Message'; Expression = { $Message } } } } Write-AlertTrace -cmdletName $MyInvocation.MyCommand -tenantFilter $TenantFilter -data $AlertData @@ -28,4 +30,4 @@ function Get-CIPPAlertVppTokenExpiry { } catch { # Error handling } -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/Assert-CippVersion.ps1 b/Modules/CIPPCore/Public/Assert-CippVersion.ps1 index 83f77f43edd0..621c1f6d4cac 100644 --- a/Modules/CIPPCore/Public/Assert-CippVersion.ps1 +++ b/Modules/CIPPCore/Public/Assert-CippVersion.ps1 @@ -24,4 +24,4 @@ function Assert-CippVersion { OutOfDateCIPP = ([version]$RemoteCIPPVersion -gt [version]$CIPPVersion) OutOfDateCIPPAPI = ([version]$RemoteAPIVersion -gt [version]$APIVersion) } -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/AuditLogs/Get-CippAuditLogSearchResults.ps1 b/Modules/CIPPCore/Public/AuditLogs/Get-CippAuditLogSearchResults.ps1 new file mode 100644 index 000000000000..d2e9ab074bb9 --- /dev/null +++ b/Modules/CIPPCore/Public/AuditLogs/Get-CippAuditLogSearchResults.ps1 @@ -0,0 +1,23 @@ +function Get-CippAuditLogSearchResults { + <# + .SYNOPSIS + Get the results of an audit log search + .DESCRIPTION + Get the results of an audit log search from the Graph API + .PARAMETER TenantFilter + The tenant to filter on. + .PARAMETER QueryId + The ID of the query to get the results for. + #> + param ( + [Parameter(Mandatory = $true)] + [string]$TenantFilter, + [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $true)] + [Alias('id')] + [string]$QueryId + ) + + process { + New-GraphGetRequest -uri ('https://graph.microsoft.com/beta/security/auditLog/queries/{0}/records?$top=999' -f $QueryId) -AsApp $true -tenantid $TenantFilter -ErrorAction Stop + } +} diff --git a/Modules/CIPPCore/Public/AuditLogs/Get-CippAuditLogSearches.ps1 b/Modules/CIPPCore/Public/AuditLogs/Get-CippAuditLogSearches.ps1 new file mode 100644 index 000000000000..ba21f2dedcb2 --- /dev/null +++ b/Modules/CIPPCore/Public/AuditLogs/Get-CippAuditLogSearches.ps1 @@ -0,0 +1,39 @@ +function Get-CippAuditLogSearches { + <# + .SYNOPSIS + Get the available audit log searches + .DESCRIPTION + Query the Graph API for available audit log searches. + .PARAMETER TenantFilter + The tenant to filter on. + #> + param ( + [Parameter(Mandatory = $true)] + [string]$TenantFilter, + [Parameter()] + [switch]$ReadyToProcess + ) + + if ($ReadyToProcess.IsPresent) { + $AuditLogSearchesTable = Get-CippTable -TableName 'AuditLogSearches' + $15MinutesAgo = (Get-Date).AddMinutes(-15).ToUniversalTime().ToString('yyyy-MM-ddTHH:mm:ssZ') + $PendingQueries = Get-CIPPAzDataTableEntity @AuditLogSearchesTable -Filter "Tenant eq '$TenantFilter' and (CippStatus eq 'Pending' or (CippStatus eq 'Processing' and Timestamp le datetime'$15MinutesAgo'))" | Sort-Object Timestamp + + $BulkRequests = foreach ($PendingQuery in $PendingQueries) { + @{ + id = $PendingQuery.RowKey + url = 'security/auditLog/queries/' + $PendingQuery.RowKey + method = 'GET' + } + } + if ($BulkRequests.Count -eq 0) { + return @() + } + $Queries = New-GraphBulkRequest -Requests @($BulkRequests) -AsApp $true -TenantId $TenantFilter | Select-Object -ExpandProperty body + + $Queries = $Queries | Where-Object { $PendingQueries.RowKey -contains $_.id -and $_.status -eq 'succeeded' } + } else { + $Queries = New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/security/auditLog/queries' -AsApp $true -tenantid $TenantFilter + } + return $Queries +} diff --git a/Modules/CIPPCore/Public/AuditLogs/Get-CippLastAuditLogSearch.ps1 b/Modules/CIPPCore/Public/AuditLogs/Get-CippLastAuditLogSearch.ps1 new file mode 100644 index 000000000000..5706a4ac3e4d --- /dev/null +++ b/Modules/CIPPCore/Public/AuditLogs/Get-CippLastAuditLogSearch.ps1 @@ -0,0 +1,19 @@ +function Get-CippLastAuditLogSearch { + <# + .SYNOPSIS + Get the last audit log search + .DESCRIPTION + Query the Graph API for the last audit log search. + .PARAMETER TenantFilter + The tenant to filter on. + #> + param ( + [Parameter(Mandatory = $true)] + [string]$TenantFilter + ) + + $Table = Get-CIPPTable -TableName AuditLogSearches + $LastHour = (Get-Date).AddHours(-1).ToString('yyyy-MM-ddTHH:mm:ssZ') + $LastSearch = Get-AzDataTableEntity @Table -Filter "Tenant eq '$TenantFilter' and Timestamp ge datetime'$LastHour'" | Sort-Object Timestamp -Descending | Select-Object -First 1 + return $LastSearch +} diff --git a/Modules/CIPPCore/Public/AuditLogs/New-CippAuditLogSearch.ps1 b/Modules/CIPPCore/Public/AuditLogs/New-CippAuditLogSearch.ps1 new file mode 100644 index 000000000000..2bb80d31427f --- /dev/null +++ b/Modules/CIPPCore/Public/AuditLogs/New-CippAuditLogSearch.ps1 @@ -0,0 +1,176 @@ +function New-CippAuditLogSearch { + <# + .SYNOPSIS + Create a new audit log search + .DESCRIPTION + Create a new audit log search in Microsoft Graph Security API + .PARAMETER DisplayName + The display name of the audit log search. Default is 'CIPP Audit Search - ' + current date and time. + .PARAMETER TenantFilter + The tenant to filter on. + .PARAMETER StartTime + The start time to filter on. + .PARAMETER EndTime + The end time to filter on. + .PARAMETER RecordTypeFilters + The record types to filter on. + .PARAMETER KeywordFilter + The keyword to filter on. + .PARAMETER ServiceFilter + The service to filter on. + .PARAMETER OperationsFilters + The operations to filter on. + .PARAMETER UserPrincipalNameFilters + The user principal names to filter on. + .PARAMETER IPAddressFilter + The IP addresses to filter on. + .PARAMETER ObjectIdFilters + The object IDs to filter on. + .PARAMETER AdministrativeUnitFilters + The administrative units to filter on. + .PARAMETER ProcessLogs + Store the search in the CIPP AuditLogSearches table for alert processing. + #> + [CmdletBinding(SupportsShouldProcess = $true)] + param( + [Parameter()] + [string]$DisplayName = 'CIPP Audit Search - ' + (Get-Date).ToString('yyyy-MM-dd HH:mm:ss'), + [Parameter(Mandatory = $true)] + [string]$TenantFilter, + [Parameter(Mandatory = $true)] + [datetime]$StartTime, + [Parameter(Mandatory = $true)] + [datetime]$EndTime, + [Parameter()] + [ValidateSet( + 'exchangeAdmin', 'exchangeItem', 'exchangeItemGroup', 'sharePoint', 'syntheticProbe', 'sharePointFileOperation', + 'oneDrive', 'azureActiveDirectory', 'azureActiveDirectoryAccountLogon', 'dataCenterSecurityCmdlet', + 'complianceDLPSharePoint', 'sway', 'complianceDLPExchange', 'sharePointSharingOperation', + 'azureActiveDirectoryStsLogon', 'skypeForBusinessPSTNUsage', 'skypeForBusinessUsersBlocked', + 'securityComplianceCenterEOPCmdlet', 'exchangeAggregatedOperation', 'powerBIAudit', 'crm', 'yammer', + 'skypeForBusinessCmdlets', 'discovery', 'microsoftTeams', 'threatIntelligence', 'mailSubmission', + 'microsoftFlow', 'aeD', 'microsoftStream', 'complianceDLPSharePointClassification', 'threatFinder', + 'project', 'sharePointListOperation', 'sharePointCommentOperation', 'dataGovernance', 'kaizala', + 'securityComplianceAlerts', 'threatIntelligenceUrl', 'securityComplianceInsights', 'mipLabel', + 'workplaceAnalytics', 'powerAppsApp', 'powerAppsPlan', 'threatIntelligenceAtpContent', 'labelContentExplorer', + 'teamsHealthcare', 'exchangeItemAggregated', 'hygieneEvent', 'dataInsightsRestApiAudit', + 'informationBarrierPolicyApplication', 'sharePointListItemOperation', 'sharePointContentTypeOperation', + 'sharePointFieldOperation', 'microsoftTeamsAdmin', 'hrSignal', 'microsoftTeamsDevice', 'microsoftTeamsAnalytics', + 'informationWorkerProtection', 'campaign', 'dlpEndpoint', 'airInvestigation', 'quarantine', 'microsoftForms', + 'applicationAudit', 'complianceSupervisionExchange', 'customerKeyServiceEncryption', 'officeNative', + 'mipAutoLabelSharePointItem', 'mipAutoLabelSharePointPolicyLocation', 'microsoftTeamsShifts', 'secureScore', + 'mipAutoLabelExchangeItem', 'cortanaBriefing', 'search', 'wdatpAlerts', 'powerPlatformAdminDlp', + 'powerPlatformAdminEnvironment', 'mdatpAudit', 'sensitivityLabelPolicyMatch', 'sensitivityLabelAction', + 'sensitivityLabeledFileAction', 'attackSim', 'airManualInvestigation', 'securityComplianceRBAC', + 'userTraining', 'airAdminActionInvestigation', 'mstic', 'physicalBadgingSignal', 'teamsEasyApprovals', + 'aipDiscover', 'aipSensitivityLabelAction', 'aipProtectionAction', 'aipFileDeleted', 'aipHeartBeat', + 'mcasAlerts', 'onPremisesFileShareScannerDlp', 'onPremisesSharePointScannerDlp', 'exchangeSearch', + 'sharePointSearch', 'privacyDataMinimization', 'labelAnalyticsAggregate', 'myAnalyticsSettings', + 'securityComplianceUserChange', 'complianceDLPExchangeClassification', 'complianceDLPEndpoint', + 'mipExactDataMatch', 'msdeResponseActions', 'msdeGeneralSettings', 'msdeIndicatorsSettings', + 'ms365DCustomDetection', 'msdeRolesSettings', 'mapgAlerts', 'mapgPolicy', 'mapgRemediation', + 'privacyRemediationAction', 'privacyDigestEmail', 'mipAutoLabelSimulationProgress', + 'mipAutoLabelSimulationCompletion', 'mipAutoLabelProgressFeedback', 'dlpSensitiveInformationType', + 'mipAutoLabelSimulationStatistics', 'largeContentMetadata', 'microsoft365Group', 'cdpMlInferencingResult', + 'filteringMailMetadata', 'cdpClassificationMailItem', 'cdpClassificationDocument', 'officeScriptsRunAction', + 'filteringPostMailDeliveryAction', 'cdpUnifiedFeedback', 'tenantAllowBlockList', 'consumptionResource', + 'healthcareSignal', 'dlpImportResult', 'cdpCompliancePolicyExecution', 'multiStageDisposition', + 'privacyDataMatch', 'filteringDocMetadata', 'filteringEmailFeatures', 'powerBIDlp', 'filteringUrlInfo', + 'filteringAttachmentInfo', 'coreReportingSettings', 'complianceConnector', + 'powerPlatformLockboxResourceAccessRequest', 'powerPlatformLockboxResourceCommand', + 'cdpPredictiveCodingLabel', 'cdpCompliancePolicyUserFeedback', 'webpageActivityEndpoint', 'omePortal', + 'cmImprovementActionChange', 'filteringUrlClick', 'mipLabelAnalyticsAuditRecord', 'filteringEntityEvent', + 'filteringRuleHits', 'filteringMailSubmission', 'labelExplorer', 'microsoftManagedServicePlatform', + 'powerPlatformServiceActivity', 'scorePlatformGenericAuditRecord', 'filteringTimeTravelDocMetadata', 'alert', + 'alertStatus', 'alertIncident', 'incidentStatus', 'case', 'caseInvestigation', 'recordsManagement', + 'privacyRemediation', 'dataShareOperation', 'cdpDlpSensitive', 'ehrConnector', 'filteringMailGradingResult', + 'publicFolder', 'privacyTenantAuditHistoryRecord', 'aipScannerDiscoverEvent', 'eduDataLakeDownloadOperation', + 'm365ComplianceConnector', 'microsoftGraphDataConnectOperation', 'microsoftPurview', + 'filteringEmailContentFeatures', 'powerPagesSite', 'powerAppsResource', 'plannerPlan', 'plannerCopyPlan', + 'plannerTask', 'plannerRoster', 'plannerPlanList', 'plannerTaskList', 'plannerTenantSettings', + 'projectForTheWebProject', 'projectForTheWebTask', 'projectForTheWebRoadmap', 'projectForTheWebRoadmapItem', + 'projectForTheWebProjectSettings', 'projectForTheWebRoadmapSettings', 'quarantineMetadata', + 'microsoftTodoAudit', 'timeTravelFilteringDocMetadata', 'teamsQuarantineMetadata', + 'sharePointAppPermissionOperation', 'microsoftTeamsSensitivityLabelAction', 'filteringTeamsMetadata', + 'filteringTeamsUrlInfo', 'filteringTeamsPostDeliveryAction', 'mdcAssessments', + 'mdcRegulatoryComplianceStandards', 'mdcRegulatoryComplianceControls', 'mdcRegulatoryComplianceAssessments', + 'mdcSecurityConnectors', 'mdaDataSecuritySignal', 'vivaGoals', 'filteringRuntimeInfo', 'attackSimAdmin', + 'microsoftGraphDataConnectConsent', 'filteringAtpDetonationInfo', 'privacyPortal', 'managedTenants', + 'unifiedSimulationMatchedItem', 'unifiedSimulationSummary', 'updateQuarantineMetadata', 'ms365DSuppressionRule', + 'purviewDataMapOperation', 'filteringUrlPostClickAction', 'irmUserDefinedDetectionSignal', 'teamsUpdates', + 'plannerRosterSensitivityLabel', 'ms365DIncident', 'filteringDelistingMetadata', + 'complianceDLPSharePointClassificationExtended', 'microsoftDefenderForIdentityAudit', + 'supervisoryReviewDayXInsight', 'defenderExpertsforXDRAdmin', 'cdpEdgeBlockedMessage', 'hostedRpa', + 'cdpContentExplorerAggregateRecord', 'cdpHygieneAttachmentInfo', 'cdpHygieneSummary', + 'cdpPostMailDeliveryAction', 'cdpEmailFeatures', 'cdpHygieneUrlInfo', 'cdpUrlClick', + 'cdpPackageManagerHygieneEvent', 'filteringDocScan', 'timeTravelFilteringDocScan', 'mapgOnboard' + )] + [string[]]$RecordTypeFilters, + [Parameter()] + [string]$KeywordFilters, + [Parameter()] + [string[]]$ServiceFilters, + [Parameter()] + [string[]]$OperationsFilters, + [Parameter()] + [string[]]$UserPrincipalNameFilters, + [Parameter()] + [string[]]$IPAddressFilters, + [Parameter()] + [string[]]$ObjectIdFilters, + [Parameter()] + [string[]]$AdministrativeUnitFilters, + [Parameter()] + [switch]$ProcessLogs + ) + + $SearchParams = @{ + displayName = 'CIPP Audit Search - ' + (Get-Date).ToString('yyyy-MM-dd HH:mm:ss') + filterStartDateTime = $StartTime.ToUniversalTime().ToString('yyyy-MM-ddTHH:mm:ss') + filterEndDateTime = $EndTime.AddHours(1).ToUniversalTime().ToString('yyyy-MM-ddTHH:mm:ss') + } + if ($OperationsFilters) { + $SearchParams.operationsFilters = $OperationsFilters + } + if ($RecordTypeFilters) { + $SearchParams.recordTypeFilters = @($RecordTypeFilters) + } + if ($KeywordFilters) { + $SearchParams.keywordFilters = $KeywordFilters + } + if ($ServiceFilters) { + $SearchParams.serviceFilters = $ServiceFilters + } + if ($UserPrincipalNameFilters) { + $SearchParams.userPrincipalNameFilters = @($UserPrincipalNameFilters) + } + if ($IPAddressFilters) { + $SearchParams.ipAddressFilters = @($IPAddressFilters) + } + if ($ObjectIdFilterss) { + $SearchParams.objectIdFilters = @($ObjectIdFilters) + } + if ($AdministrativeUnitFilters) { + $SearchParams.administrativeUnitFilters = @($AdministrativeUnitFilters) + } + + if ($PSCmdlet.ShouldProcess('Create a new audit log search for tenant ' + $TenantFilter)) { + $Query = New-GraphPOSTRequest -uri 'https://graph.microsoft.com/beta/security/auditLog/queries' -body ($SearchParams | ConvertTo-Json -Compress) -tenantid $TenantFilter -AsApp $true + + if ($ProcessLogs.IsPresent -and $Query.id) { + $Entity = [PSCustomObject]@{ + PartitionKey = [string]'Search' + RowKey = [string]$Query.id + Tenant = [string]$TenantFilter + DisplayName = [string]$DisplayName + StartTime = [datetime]$StartTime.ToUniversalTime() + EndTime = [datetime]$EndTime.ToUniversalTime() + Query = [string]($Query | ConvertTo-Json -Compress) + CippStatus = [string]'Pending' + } + $Table = Get-CIPPTable -TableName 'AuditLogSearches' + Add-CIPPAzDataTableEntity @Table -Entity $Entity -Force | Out-Null + } + return $Query + } +} diff --git a/Modules/CIPPCore/Public/AuditLogs/Remove-CippAuditLogSearch.ps1 b/Modules/CIPPCore/Public/AuditLogs/Remove-CippAuditLogSearch.ps1 new file mode 100644 index 000000000000..39457758e848 --- /dev/null +++ b/Modules/CIPPCore/Public/AuditLogs/Remove-CippAuditLogSearch.ps1 @@ -0,0 +1,23 @@ +function Remove-CippAuditLogSearch { + <# + .SYNOPSIS + Get the results of an audit log search + .DESCRIPTION + Get the results of an audit log search from the Graph API + .PARAMETER TenantFilter + The tenant to filter on. + .PARAMETER QueryId + The ID of the query to get the results for. + #> + param ( + [Parameter(Mandatory = $true)] + [string]$TenantFilter, + [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $true)] + [Alias('id')] + [string]$QueryId + ) + + process { + New-GraphPostRequest -type DELETE -body '{}' -uri ('https://graph.microsoft.com/beta/security/auditLog/queries/{0}' -f $QueryId) -AsApp $true -tenantid $TenantFilter + } +} diff --git a/Modules/CIPPCore/Public/Authentication/Get-CIPPHttpFunctions.ps1 b/Modules/CIPPCore/Public/Authentication/Get-CIPPHttpFunctions.ps1 index 968fa5f70b9a..d871b72b1bb6 100644 --- a/Modules/CIPPCore/Public/Authentication/Get-CIPPHttpFunctions.ps1 +++ b/Modules/CIPPCore/Public/Authentication/Get-CIPPHttpFunctions.ps1 @@ -5,7 +5,7 @@ function Get-CIPPHttpFunctions { ) try { - $Functions = Get-Command -Module CippCore | Where-Object { $_.Visibility -eq 'Public' -and $_.Name -match 'Invoke-*' } + $Functions = Get-Command -Module CIPPCore | Where-Object { $_.Visibility -eq 'Public' -and $_.Name -match 'Invoke-*' } $Results = foreach ($Function in $Functions) { $Help = Get-Help $Function if ($Help.Functionality -ne 'Entrypoint') { continue } @@ -34,4 +34,4 @@ function Get-CIPPHttpFunctions { } catch { "Function Error $($_.Exception.Message): $($_.InvocationInfo.PositionMessage)" } -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/Clear-CippDurables.ps1 b/Modules/CIPPCore/Public/Clear-CippDurables.ps1 index eb1949a39078..b63d399647d6 100644 --- a/Modules/CIPPCore/Public/Clear-CippDurables.ps1 +++ b/Modules/CIPPCore/Public/Clear-CippDurables.ps1 @@ -3,14 +3,11 @@ function Clear-CippDurables { Param() # Collect info $StorageContext = New-AzStorageContext -ConnectionString $env:AzureWebJobsStorage - $FunctionName = $env:WEBSITE_SITE_NAME + $FunctionName = $env:WEBSITE_SITE_NAME -replace '-', '' # Get orchestrators $InstancesTable = Get-CippTable -TableName ('{0}Instances' -f $FunctionName) $HistoryTable = Get-CippTable -TableName ('{0}History' -f $FunctionName) - $Yesterday = (Get-Date).AddDays(-1).ToUniversalTime().ToString('yyyy-MM-ddTHH:mm:ssZ') - $Filter = "CreatedTime ge datetime'$Yesterday' or RuntimeStatus eq 'Pending' or RuntimeStatus eq 'Running'" - $Instances = Get-CippAzDataTableEntity @InstancesTable -Filter $Filter $Queues = Get-AzStorageQueue -Context $StorageContext -Name ('{0}*' -f $FunctionName) | Select-Object -Property Name, ApproximateMessageCount, QueueClient @@ -50,7 +47,7 @@ function Clear-CippDurables { Remove-AzDataTable @InstancesTable Remove-AzDataTable @HistoryTable - $BlobContainer = '{0}-largemessages' -f $Function.Name + $BlobContainer = '{0}-largemessages' -f $FunctionName if (Get-AzStorageContainer -Name $BlobContainer -Context $StorageContext -ErrorAction SilentlyContinue) { Write-Information "- Removing blob container: $BlobContainer" if ($PSCmdlet.ShouldProcess($BlobContainer, 'Remove Blob Container')) { @@ -59,4 +56,4 @@ function Clear-CippDurables { } $null = Get-CippTable -TableName ('{0}History' -f $FunctionName) Write-Information 'Durable Orchestrators and Queues have been cleared' -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/ConversionTable.csv b/Modules/CIPPCore/Public/ConversionTable.csv index dc18a7df450d..55ebdfd465b9 100644 --- a/Modules/CIPPCore/Public/ConversionTable.csv +++ b/Modules/CIPPCore/Public/ConversionTable.csv @@ -1,5 +1,4 @@ Product_Display_Name,String_Id,GUID,Service_Plan_Name,Service_Plan_Id,Service_Plans_Included_Friendly_Names -Advanced Communications,ADV_COMMS,e4654015-5daf-4a48-9b37-4f309dddd88b,TEAMS_ADVCOMMS,604ec28a-ae18-4bc6-91b0-11da94504ba9,Microsoft 365 Advanced Communications AI Builder Capacity add-on,CDSAICAPACITY,d2dea78b-507c-4e56-b400-39447f4738f8,CDSAICAPACITY,a7c70a41-5e02-4271-93e6-d9b4184d83f5,AI Builder capacity add-on AI Builder Capacity add-on,CDSAICAPACITY,d2dea78b-507c-4e56-b400-39447f4738f8,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation App Connect IW,SPZA_IW,8f0c5670-4e56-4892-b06d-91c085d7004f,SPZA,0bfc98ed-1dbc-4a97-b246-701754e48b17,APP CONNECT @@ -84,6 +83,11 @@ Dynamics 365 Business Central Essentials,DYN365_BUSCENTRAL_ESSENTIAL,2880026b-2b Dynamics 365 Business Central Essentials,DYN365_BUSCENTRAL_ESSENTIAL,2880026b-2b0c-4251-8656-5d41ff11e3aa,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Dynamics 365 Business Central Essentials,DYN365_BUSCENTRAL_ESSENTIAL,2880026b-2b0c-4251-8656-5d41ff11e3aa,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Flow for Dynamics 365 Dynamics 365 Business Central Essentials,DYN365_BUSCENTRAL_ESSENTIAL,2880026b-2b0c-4251-8656-5d41ff11e3aa,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,PowerApps for Dynamics 365 +Dynamics 365 Business Central Essentials Attach,Dynamics_365_Business_Central_Essentials_Attach,1d506c23-1702-46f1-b940-160c55f98d05,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User +Dynamics 365 Business Central Essentials Attach,Dynamics_365_Business_Central_Essentials_Attach,1d506c23-1702-46f1-b940-160c55f98d05,DYN365_BUSCENTRAL_ESSENTIALS_ATTACH,17ca446c-d7a4-4d29-8dec-8e241592164b,Dynamics 365 Business Central Essentials Attach +Dynamics 365 Business Central Essentials Attach,Dynamics_365_Business_Central_Essentials_Attach,1d506c23-1702-46f1-b940-160c55f98d05,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Business Central Essentials Attach,Dynamics_365_Business_Central_Essentials_Attach,1d506c23-1702-46f1-b940-160c55f98d05,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,Power Apps for Dynamics 365 +Dynamics 365 Business Central Essentials Attach,Dynamics_365_Business_Central_Essentials_Attach,1d506c23-1702-46f1-b940-160c55f98d05,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Power Automate for Dynamics 365 Dynamics 365 Business Central External Accountant,DYN365_FINANCIALS_ACCOUNTANT_SKU,9a1e33ed-9697-43f3-b84c-1b0959dbb1d4,DYN365_FINANCIALS_ACCOUNTANT,170991d7-b98e-41c5-83d4-db2052e1795f,Dynamics 365 Business Central External Accountant Dynamics 365 Business Central External Accountant,DYN365_FINANCIALS_ACCOUNTANT_SKU,9a1e33ed-9697-43f3-b84c-1b0959dbb1d4,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Dynamics 365 Business Central External Accountant,DYN365_FINANCIALS_ACCOUNTANT_SKU,9a1e33ed-9697-43f3-b84c-1b0959dbb1d4,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Flow for Dynamics 365 @@ -122,7 +126,7 @@ Dynamics 365 Customer Engagement Plan,DYN365_ENTERPRISE_PLAN1,ea126fc5-a19e-42e2 Dynamics 365 Customer Engagement Plan,DYN365_ENTERPRISE_PLAN1,ea126fc5-a19e-42e2-a731-da9d437bffcf,POWERAPPS_DYN_P2,0b03f40b-c404-40c3-8651-2aceb74365fa,Power Apps for Dynamics 365 Dynamics 365 Customer Engagement Plan,DYN365_ENTERPRISE_PLAN1,ea126fc5-a19e-42e2-a731-da9d437bffcf,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Power Automate for Dynamics 365 Dynamics 365 Customer Engagement Plan,DYN365_ENTERPRISE_PLAN1,ea126fc5-a19e-42e2-a731-da9d437bffcf,FLOW_DYN_P2,b650d915-9886-424b-a08d-633cede56f57,Power Automate for Dynamics 365 -Dynamics 365 Customer Insights Attach,DYN365_CUSTOMER_INSIGHTS_ATTACH,a3d0cd86-8068-4071-ad40-4dc5b5908c4b,CDS_CUSTOMER_INSIGHTS_BASE,d04ca659-b119-4a92-b8fc-3ede584a9d65,Dataverse for Customer Insights�BASE +Dynamics 365 Customer Insights Attach,DYN365_CUSTOMER_INSIGHTS_ATTACH,a3d0cd86-8068-4071-ad40-4dc5b5908c4b,CDS_CUSTOMER_INSIGHTS_BASE,d04ca659-b119-4a92-b8fc-3ede584a9d65,Dataverse for Customer Insights BASE Dynamics 365 Customer Insights Attach,DYN365_CUSTOMER_INSIGHTS_ATTACH,a3d0cd86-8068-4071-ad40-4dc5b5908c4b,CDS_CUSTOMER_INSIGHTS,ca00cff5-2568-4d03-bb6c-a653a8f360ca,Common Data Service for Customer Insights Dynamics 365 Customer Insights Attach,DYN365_CUSTOMER_INSIGHTS_ATTACH,a3d0cd86-8068-4071-ad40-4dc5b5908c4b,DYN365_CUSTOMER_INSIGHTS_BASE,ee85d528-c4b4-4a99-9b07-fb9a1365dc93,Dynamics 365 Customer Insights Dynamics 365 Customer Insights Attach,DYN365_CUSTOMER_INSIGHTS_ATTACH,a3d0cd86-8068-4071-ad40-4dc5b5908c4b,Customer_Voice_Customer_Insights,46c5ea0a-2343-49d9-ae4f-1c268b232d53,Microsoft Dynamics 365 Customer Voice for Customer Insights App @@ -155,7 +159,7 @@ Dynamics 365 Customer Service Enterprise Admin,Dynamics_365_Customer_Service_Ent Dynamics 365 Customer Service Enterprise Admin,Dynamics_365_Customer_Service_Enterprise_admin_trial,94a6fbd4-6a2f-4990-b356-dc7dd8bed08a,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Dynamics 365 Customer Service Enterprise Admin,Dynamics_365_Customer_Service_Enterprise_admin_trial,94a6fbd4-6a2f-4990-b356-dc7dd8bed08a,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,Power Apps for Dynamics 365 Dynamics 365 Customer Service Enterprise Admin,Dynamics_365_Customer_Service_Enterprise_admin_trial,94a6fbd4-6a2f-4990-b356-dc7dd8bed08a,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Power Automate for Dynamics 365 -Dynamics 365 Customer Insights Standalone,DYN365_CUSTOMER_INSIGHTS_BASE,0c250654-c7f7-461f-871a-7222f6592cf2,CDS_CUSTOMER_INSIGHTS_BASE,d04ca659-b119-4a92-b8fc-3ede584a9d65,Dataverse for Cust Insights�BASE +Dynamics 365 Customer Insights Standalone,DYN365_CUSTOMER_INSIGHTS_BASE,0c250654-c7f7-461f-871a-7222f6592cf2,CDS_CUSTOMER_INSIGHTS_BASE,d04ca659-b119-4a92-b8fc-3ede584a9d65,Dataverse for Cust Insights BASE Dynamics 365 Customer Insights Standalone,DYN365_CUSTOMER_INSIGHTS_BASE,0c250654-c7f7-461f-871a-7222f6592cf2,CDS_CUSTOMER_INSIGHTS,ca00cff5-2568-4d03-bb6c-a653a8f360ca,Common Data Service for Customer Insights Dynamics 365 Customer Insights Standalone,DYN365_CUSTOMER_INSIGHTS_BASE,0c250654-c7f7-461f-871a-7222f6592cf2,DYN365_CUSTOMER_INSIGHTS_BASE,ee85d528-c4b4-4a99-9b07-fb9a1365dc93,Dynamics 365 Customer Insights Dynamics 365 Customer Insights Standalone,DYN365_CUSTOMER_INSIGHTS_BASE,0c250654-c7f7-461f-871a-7222f6592cf2,DYN365_CUSTOMER_INSIGHTS_ENGAGEMENT_INSIGHTS_BASE,b3c26516-3b8d-492f-a5a3-64d70ad3f8d0,Dynamics 365 Customer Insights Engagement Insights @@ -224,9 +228,9 @@ Dynamics 365 - Additional Non-Production Instance for Government,CRMTESTINSTANCE Dynamics 365 - Additional Non-Production Instance for Government,CRMTESTINSTANCE_NOPREREQ,2cf302fe-62db-4e20-b573-e0998b1208b5,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Dynamics 365 Enterprise Edition - Additional Production Instance for Government,CRMINSTANCE_GCC,2bd3cb20-1bb6-446b-b4d0-089af3a05c52,CRMINSTANCE_GCC,483cc331-f4df-4a3b-b8ca-fe1a247569f6,Microsoft Dynamics CRM Online Instance Dynamics 365 Enterprise Edition - Additional Production Instance for Government,CRMINSTANCE_GCC,2bd3cb20-1bb6-446b-b4d0-089af3a05c52,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation -"Dynamics 365 Field Service, Enterprise Edition - Resource Scheduling Optimization",CRM_AUTO_ROUTING_ADDON,977464c4-bfaf-4b67-b761-a9bb735a2196,CRM_AUTO_ROUTING_ENGINE_ADDON,24435e4b-87d0-4d7d-8beb-63a9b1573022,Field Service � Automated Routing Engine Add-On -"Dynamics 365 Field Service, Enterprise Edition - Resource Scheduling Optimization",CRM_AUTO_ROUTING_ADDON,977464c4-bfaf-4b67-b761-a9bb735a2196,CRM_AUTO_ROUTING_ADDON,2ba394e0-6f18-4b77-b45f-a5663bbab540,RETIRED - Field Service � Automated Routing Engine Add-On -"Dynamics 365 Field Service, Enterprise Edition - Resource Scheduling Optimization",CRM_AUTO_ROUTING_ADDON,977464c4-bfaf-4b67-b761-a9bb735a2196,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Field Service, Enterprise Edition - Resource Scheduling Optimization,CRM_AUTO_ROUTING_ADDON,977464c4-bfaf-4b67-b761-a9bb735a2196,CRM_AUTO_ROUTING_ENGINE_ADDON,24435e4b-87d0-4d7d-8beb-63a9b1573022,Field Service – Automated Routing Engine Add-On +Dynamics 365 Field Service, Enterprise Edition - Resource Scheduling Optimization,CRM_AUTO_ROUTING_ADDON,977464c4-bfaf-4b67-b761-a9bb735a2196,CRM_AUTO_ROUTING_ADDON,2ba394e0-6f18-4b77-b45f-a5663bbab540,RETIRED - Field Service – Automated Routing Engine Add-On +Dynamics 365 Field Service, Enterprise Edition - Resource Scheduling Optimization,CRM_AUTO_ROUTING_ADDON,977464c4-bfaf-4b67-b761-a9bb735a2196,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Dynamics 365 Field Service Contractor for Government,D365_FIELD_SERVICE_CONTRACTOR_GOV,e7965e3a-1f49-4d67-a3de-ad1ce460bbcc,CDS_FIELD_SERVICE_CONTRACTOR_GCC,2457fe40-65be-48a1-935f-924ad6e62dba,Common Data Service Field service Part Time Contractors for Government Dynamics 365 Field Service Contractor for Government,D365_FIELD_SERVICE_CONTRACTOR_GOV,e7965e3a-1f49-4d67-a3de-ad1ce460bbcc,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government Dynamics 365 Field Service Contractor for Government,D365_FIELD_SERVICE_CONTRACTOR_GOV,e7965e3a-1f49-4d67-a3de-ad1ce460bbcc,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government @@ -249,21 +253,35 @@ Dynamics 365 for Case Management Enterprise Edition,DYN365_ENTERPRISE_CASE_MANAG Dynamics 365 for Case Management Enterprise Edition,DYN365_ENTERPRISE_CASE_MANAGEMENT,d39fb075-21ae-42d0-af80-22a2599749e0,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) Dynamics 365 for Case Management Enterprise Edition,DYN365_ENTERPRISE_CASE_MANAGEMENT,d39fb075-21ae-42d0-af80-22a2599749e0,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,Power Apps for Dynamics 365 Dynamics 365 for Case Management Enterprise Edition,DYN365_ENTERPRISE_CASE_MANAGEMENT,d39fb075-21ae-42d0-af80-22a2599749e0,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Power Automate for Dynamics 365 -"Dynamics 365 for Case Management, Enterprise Edition for Government",D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,79bb0a8d-e686-4e16-ac59-2b3fd0014a61,Dynamics 365 for Case Management for Government -"Dynamics 365 for Case Management, Enterprise Edition for Government",D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government -"Dynamics 365 for Case Management, Enterprise Edition for Government",D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government -"Dynamics 365 for Case Management, Enterprise Edition for Government",D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,PROJECT_ESSENTIALS_GOV,fdcb7064-f45c-46fa-b056-7e0e9fdf4bf3,Project Online Essentials for Government -"Dynamics 365 for Case Management, Enterprise Edition for Government",D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G -"Dynamics 365 for Case Management, Enterprise Edition for Government",D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,FLOW_DYN_APPS_GOV,2c6af4f1-e7b6-4d59-bbc8-eaa884f42d69,Power Automate for Dynamics 365 for Government -"Dynamics 365 for Case Management, Enterprise Edition for Government",D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government -"Dynamics 365 for Case Management, Enterprise Edition for Government",DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,79bb0a8d-e686-4e16-ac59-2b3fd0014a61,Dynamics 365 for Case Management for Government -"Dynamics 365 for Case Management, Enterprise Edition for Government",DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User -"Dynamics 365 for Case Management, Enterprise Edition for Government",DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation -"Dynamics 365 for Case Management, Enterprise Edition for Government",DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government -"Dynamics 365 for Case Management, Enterprise Edition for Government",DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,PROJECT_ESSENTIALS_GOV,fdcb7064-f45c-46fa-b056-7e0e9fdf4bf3,Project Online Essentials for Government -"Dynamics 365 for Case Management, Enterprise Edition for Government",DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G -"Dynamics 365 for Case Management, Enterprise Edition for Government",DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,FLOW_DYN_APPS_GOV,2c6af4f1-e7b6-4d59-bbc8-eaa884f42d69,Power Automate for Dynamics 365 for Government -"Dynamics 365 for Case Management, Enterprise Edition for Government",DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,79bb0a8d-e686-4e16-ac59-2b3fd0014a61,Dynamics 365 for Case Management for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,PROJECT_ESSENTIALS_GOV,fdcb7064-f45c-46fa-b056-7e0e9fdf4bf3,Project Online Essentials for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G +Dynamics 365 for Case Management, Enterprise Edition for Government,D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,FLOW_DYN_APPS_GOV,2c6af4f1-e7b6-4d59-bbc8-eaa884f42d69,Power Automate for Dynamics 365 for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,79bb0a8d-e686-4e16-ac59-2b3fd0014a61,Dynamics 365 for Case Management for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User +Dynamics 365 for Case Management, Enterprise Edition for Government,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 for Case Management, Enterprise Edition for Government,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,PROJECT_ESSENTIALS_GOV,fdcb7064-f45c-46fa-b056-7e0e9fdf4bf3,Project Online Essentials for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G +Dynamics 365 for Case Management, Enterprise Edition for Government,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,FLOW_DYN_APPS_GOV,2c6af4f1-e7b6-4d59-bbc8-eaa884f42d69,Power Automate for Dynamics 365 for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,DYN365_CDS_RETAIL,93cc200d-a47f-4c56-aec1-83f8b0d0425a,Common Data Service for Dynamics 365 Retail +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,FLOW_FOR_IOM_USL,9e6d1620-dce9-4655-8933-af8fa5bccc9c,Data Integration for IOM with Power Automate USL +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,CDS_FOR_IOM,2bb89402-51e9-4c5a-be33-e954a9dd1ba6,Dataverse for IOM +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,DYN365_RETAIL,117e3aa0-8d08-4a19-a6a5-90b7a96e2128,Dynamics 365 Commerce +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,DYN365_REGULATORY_SERVICE,c7657ae3-c0b0-4eed-8c1d-6a7967bd9c65,Dynamics 365 for Finance and Operations, Enterprise edition - Regulatory Service +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,DYN365_FP_ACC_PROTECTION,4c00c16c-0304-4421-b598-555c3e78edcb,Dynamics 365 Fraud Protection - Account Protection +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,DYN365_FP_LOSS_PREVENTION,ecc62904-fa88-4552-a62c-fe582fb31444,Dynamics 365 Fraud Protection - Loss Prevention +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,DYN365_FP_PURCH_PROTECTION,d703990f-006e-459b-b8dd-1267c4533a22,Dynamics 365 Fraud Protection - Purchase Protection +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,DYN365_IOM,616cf6e2-f52f-4738-b463-10003061fcd3,Dynamics 365 Intelligent Order Management +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,DYN365_IOM_USER,81375e2f-5ef7-4773-96aa-e3279f50bd21,Dynamics 365 Intelligent Order Management USL +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,Power Apps for Dynamics 365 +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Power Automate for Dynamics 365 Dynamics 365 for Customer Service Chat,DYN365_CS_CHAT,7d7af6c2-0be6-46df-84d1-c181b0272909,DYN365_CS_CHAT_FPA,426ec19c-d5b1-4548-b894-6fe75028c30d,Dynamics 365 Customer Service Chat Application Integration Dynamics 365 for Customer Service Chat,DYN365_CS_CHAT,7d7af6c2-0be6-46df-84d1-c181b0272909,DYN365_CS_CHAT,f69129db-6dc1-4107-855e-0aaebbcd9dd4,Dynamics 365 for Customer Service Chat Dynamics 365 for Customer Service Chat,DYN365_CS_CHAT,7d7af6c2-0be6-46df-84d1-c181b0272909,POWER_VIRTUAL_AGENTS_D365_CS_CHAT,19e4c3a8-3ebe-455f-a294-4f3479873ae3,Power Virtual Agents for Chat @@ -278,14 +296,14 @@ Dynamics 365 for Customer Service Enterprise Edition,DYN365_ENTERPRISE_CUSTOMER_ Dynamics 365 for Customer Service Enterprise Edition,DYN365_ENTERPRISE_CUSTOMER_SERVICE,749742bf-0d37-4158-a120-33567104deeb,PROJECT_ESSENTIALS,1259157c-8581-4875-bca7-2ffb18c51bda,POWERAPPS FOR DYNAMICS 365 Dynamics 365 for Customer Service Enterprise Edition,DYN365_ENTERPRISE_CUSTOMER_SERVICE,749742bf-0d37-4158-a120-33567104deeb,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,DYNAMICS 365 FOR CUSTOMER SERVICE Dynamics 365 for Customer Service Enterprise Edition,DYN365_ENTERPRISE_CUSTOMER_SERVICE,749742bf-0d37-4158-a120-33567104deeb,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,OFFICE ONLINE -"Dynamics 365 for Customer Service, Enterprise Edition for Government",DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,dc6643d9-1e72-4dce-9f64-1d6eac1f1c5a,Dynamics 365 for Customer Service for Government -"Dynamics 365 for Customer Service, Enterprise Edition for Government",DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,Forms_Pro_Service_GCC,bb681a9b-58f5-42ee-9926-674325be8aaa,Microsoft Dynamics 365 Customer Voice for Customer Service Enterprise for GCC -"Dynamics 365 for Customer Service, Enterprise Edition for Government",DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation -"Dynamics 365 for Customer Service, Enterprise Edition for Government",DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government -"Dynamics 365 for Customer Service, Enterprise Edition for Government",DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,PROJECT_ESSENTIALS_GOV,fdcb7064-f45c-46fa-b056-7e0e9fdf4bf3,Project Online Essentials for Government -"Dynamics 365 for Customer Service, Enterprise Edition for Government",DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G -"Dynamics 365 for Customer Service, Enterprise Edition for Government",DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,FLOW_DYN_APPS_GOV,2c6af4f1-e7b6-4d59-bbc8-eaa884f42d69,Power Automate for Dynamics 365 for Government -"Dynamics 365 for Customer Service, Enterprise Edition for Government",DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government +Dynamics 365 for Customer Service, Enterprise Edition for Government,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,dc6643d9-1e72-4dce-9f64-1d6eac1f1c5a,Dynamics 365 for Customer Service for Government +Dynamics 365 for Customer Service, Enterprise Edition for Government,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,Forms_Pro_Service_GCC,bb681a9b-58f5-42ee-9926-674325be8aaa,Microsoft Dynamics 365 Customer Voice for Customer Service Enterprise for GCC +Dynamics 365 for Customer Service, Enterprise Edition for Government,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 for Customer Service, Enterprise Edition for Government,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government +Dynamics 365 for Customer Service, Enterprise Edition for Government,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,PROJECT_ESSENTIALS_GOV,fdcb7064-f45c-46fa-b056-7e0e9fdf4bf3,Project Online Essentials for Government +Dynamics 365 for Customer Service, Enterprise Edition for Government,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G +Dynamics 365 for Customer Service, Enterprise Edition for Government,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,FLOW_DYN_APPS_GOV,2c6af4f1-e7b6-4d59-bbc8-eaa884f42d69,Power Automate for Dynamics 365 for Government +Dynamics 365 for Customer Service, Enterprise Edition for Government,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government Dynamics 365 for Field Service Attach to Qualifying Dynamics 365 Base Offer,D365_FIELD_SERVICE_ATTACH,a36cdaa2-a806-4b6e-9ae0-28dbd993c20e,D365_FIELD_SERVICE_ATTACH,55c9148b-d5f0-4101-b5a0-b2727cfc0916,Dynamics 365 for Field Service Attach Dynamics 365 for Field Service Attach to Qualifying Dynamics 365 Base Offer,D365_FIELD_SERVICE_ATTACH,a36cdaa2-a806-4b6e-9ae0-28dbd993c20e,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Dynamics 365 for Field Service Enterprise Edition,DYN365_ENTERPRISE_FIELD_SERVICE,c7d15985-e746-4f01-b113-20b575898250,DYN365_ENTERPRISE_FIELD_SERVICE,8c66ef8a-177f-4c0d-853c-d4f219331d09,Dynamics 365 for Field Service @@ -338,12 +356,12 @@ Dynamics 365 for Marketing USL,D365_MARKETING_USER,4b32a493-9a67-4649-8eb9-9fc5a Dynamics 365 for Marketing USL,D365_MARKETING_USER,4b32a493-9a67-4649-8eb9-9fc5a5f75c12,DYN365_MARKETING_USER,5d7a6abc-eebd-46ab-96e1-e4a2f54a2248,Dynamics 365 for Marketing USL Dynamics 365 for Marketing USL,D365_MARKETING_USER,4b32a493-9a67-4649-8eb9-9fc5a5f75c12,Forms_Pro_Marketing,76366ba0-d230-47aa-8087-b6d55dae454f,Microsoft Dynamics 365 Customer Voice for Marketing Dynamics 365 for Marketing USL,D365_MARKETING_USER,4b32a493-9a67-4649-8eb9-9fc5a5f75c12,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation -Dynamics 365 Operations � Activity,Dyn365_Operations_Activity,b75074f1-4c54-41bf-970f-c9ac871567f5,DYN365_RETAIL_Activity,f06754ec-6d72-4bf6-991c-4cb5413d9932,Dynamics 365 for Retail Activity -Dynamics 365 Operations � Activity,Dyn365_Operations_Activity,b75074f1-4c54-41bf-970f-c9ac871567f5,DYN365_Enterprise_Talent_Attract_Activity,aac5a56b-b02e-4608-8014-b076646d4011,Dynamics 365 for Talent - Attract Experience Activity -Dynamics 365 Operations � Activity,Dyn365_Operations_Activity,b75074f1-4c54-41bf-970f-c9ac871567f5,DYN365_Enterprise_Talent_Onboard_Activity,db225597-e9c2-4d96-8ace-5424744c80f8,Dynamics 365 for Talent - Onboard Experience -Dynamics 365 Operations � Activity,Dyn365_Operations_Activity,b75074f1-4c54-41bf-970f-c9ac871567f5,Dynamics_365_for_Talent_Activity,1f87ee90-5c3a-4cf9-b6fd-e3e8017c26ec,Dynamics 365 for Talent Activity -Dynamics 365 Operations � Activity,Dyn365_Operations_Activity,b75074f1-4c54-41bf-970f-c9ac871567f5,Dynamics_365_for_Operations_Activity,6bddf93e-d6f4-4991-b9fc-30cfdf07ee7b,Dynamics365 for Operations Activity -Dynamics 365 Operations � Activity,Dyn365_Operations_Activity,b75074f1-4c54-41bf-970f-c9ac871567f5,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Operations – Activity,Dyn365_Operations_Activity,b75074f1-4c54-41bf-970f-c9ac871567f5,DYN365_RETAIL_Activity,f06754ec-6d72-4bf6-991c-4cb5413d9932,Dynamics 365 for Retail Activity +Dynamics 365 Operations – Activity,Dyn365_Operations_Activity,b75074f1-4c54-41bf-970f-c9ac871567f5,DYN365_Enterprise_Talent_Attract_Activity,aac5a56b-b02e-4608-8014-b076646d4011,Dynamics 365 for Talent - Attract Experience Activity +Dynamics 365 Operations – Activity,Dyn365_Operations_Activity,b75074f1-4c54-41bf-970f-c9ac871567f5,DYN365_Enterprise_Talent_Onboard_Activity,db225597-e9c2-4d96-8ace-5424744c80f8,Dynamics 365 for Talent - Onboard Experience +Dynamics 365 Operations – Activity,Dyn365_Operations_Activity,b75074f1-4c54-41bf-970f-c9ac871567f5,Dynamics_365_for_Talent_Activity,1f87ee90-5c3a-4cf9-b6fd-e3e8017c26ec,Dynamics 365 for Talent Activity +Dynamics 365 Operations – Activity,Dyn365_Operations_Activity,b75074f1-4c54-41bf-970f-c9ac871567f5,Dynamics_365_for_Operations_Activity,6bddf93e-d6f4-4991-b9fc-30cfdf07ee7b,Dynamics365 for Operations Activity +Dynamics 365 Operations – Activity,Dyn365_Operations_Activity,b75074f1-4c54-41bf-970f-c9ac871567f5,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Dynamics 365 Project Operations Attach,DYN365_PROJECT_OPERATIONS_ATTACH,af739e8e-dd11-4eb5-a986-5908f595c603,D365CDSforProjectOperations,7df1d500-ca5c-4229-8cea-815bc88798c9,Common Data Service for Dynamics 365 Project Operations Dynamics 365 Project Operations Attach,DYN365_PROJECT_OPERATIONS_ATTACH,af739e8e-dd11-4eb5-a986-5908f595c603,D365_ProjectOperationsCDSAttach,e564d403-7eaf-4c91-b92f-bb0dc62026e1,Dynamics 365 Project Operations CDS Attach Dynamics 365 Project Operations Attach,DYN365_PROJECT_OPERATIONS_ATTACH,af739e8e-dd11-4eb5-a986-5908f595c603,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User @@ -375,13 +393,13 @@ Dynamics 365 for Sales Enterprise Edition,DYN365_ENTERPRISE_SALES,1e1a282c-9c54- Dynamics 365 for Sales Enterprise Edition,DYN365_ENTERPRISE_SALES,1e1a282c-9c54-43a2-9310-98ef728faace,PROJECT_ESSENTIALS,1259157c-8581-4875-bca7-2ffb18c51bda,PROJECT ONLINE ESSENTIALS Dynamics 365 for Sales Enterprise Edition,DYN365_ENTERPRISE_SALES,1e1a282c-9c54-43a2-9310-98ef728faace,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SHAREPOINT ONLINE (PLAN 2) Dynamics 365 for Sales Enterprise Edition,DYN365_ENTERPRISE_SALES,1e1a282c-9c54-43a2-9310-98ef728faace,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,OFFICE ONLINE -"Dynamics 365 for Sales, Enterprise Edition for Government",DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,DYN365_ENTERPRISE_SALES_GOV,213be507-d547-4f79-bc2c-6196bc54c4a3,Dynamics 365 for Sales for Government -"Dynamics 365 for Sales, Enterprise Edition for Government",DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation -"Dynamics 365 for Sales, Enterprise Edition for Government",DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government -"Dynamics 365 for Sales, Enterprise Edition for Government",DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,PROJECT_ESSENTIALS_GOV,fdcb7064-f45c-46fa-b056-7e0e9fdf4bf3,Project Online Essentials for Government -"Dynamics 365 for Sales, Enterprise Edition for Government",DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G -"Dynamics 365 for Sales, Enterprise Edition for Government",DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,FLOW_DYN_APPS_GOV,2c6af4f1-e7b6-4d59-bbc8-eaa884f42d69,Power Automate for Dynamics 365 for Government -"Dynamics 365 for Sales, Enterprise Edition for Government",DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government +Dynamics 365 for Sales, Enterprise Edition for Government,DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,DYN365_ENTERPRISE_SALES_GOV,213be507-d547-4f79-bc2c-6196bc54c4a3,Dynamics 365 for Sales for Government +Dynamics 365 for Sales, Enterprise Edition for Government,DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 for Sales, Enterprise Edition for Government,DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government +Dynamics 365 for Sales, Enterprise Edition for Government,DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,PROJECT_ESSENTIALS_GOV,fdcb7064-f45c-46fa-b056-7e0e9fdf4bf3,Project Online Essentials for Government +Dynamics 365 for Sales, Enterprise Edition for Government,DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G +Dynamics 365 for Sales, Enterprise Edition for Government,DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,FLOW_DYN_APPS_GOV,2c6af4f1-e7b6-4d59-bbc8-eaa884f42d69,Power Automate for Dynamics 365 for Government +Dynamics 365 for Sales, Enterprise Edition for Government,DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government Dynamics 365 for Sales Enterprise for Government,D365_ENTERPRISE_SALES_GOV,e85b3345-2fd5-45cf-a196-7968d3e18e56,DYN365_ENTERPRISE_SALES_GOV,213be507-d547-4f79-bc2c-6196bc54c4a3,Dynamics 365 for Sales for Government Dynamics 365 for Sales Enterprise for Government,D365_ENTERPRISE_SALES_GOV,e85b3345-2fd5-45cf-a196-7968d3e18e56,Forms_Pro_SalesEnt_GCC,33850b82-0a37-4ebb-a0b2-ee163facd716,Microsoft Dynamics 365 Customer Voice for Sales Enterprise for GCC Dynamics 365 for Sales Enterprise for Government,D365_ENTERPRISE_SALES_GOV,e85b3345-2fd5-45cf-a196-7968d3e18e56,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User @@ -393,12 +411,12 @@ Dynamics 365 for Sales Enterprise for Government,D365_ENTERPRISE_SALES_GOV,e85b3 Dynamics 365 for Sales Enterprise for Government,D365_ENTERPRISE_SALES_GOV,e85b3345-2fd5-45cf-a196-7968d3e18e56,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G Dynamics 365 for Sales Enterprise for Government,D365_ENTERPRISE_SALES_GOV,e85b3345-2fd5-45cf-a196-7968d3e18e56,FLOW_DYN_APPS_GOV,2c6af4f1-e7b6-4d59-bbc8-eaa884f42d69,Power Automate for Dynamics 365 for Government Dynamics 365 for Sales Enterprise for Government,D365_ENTERPRISE_SALES_GOV,e85b3345-2fd5-45cf-a196-7968d3e18e56,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government -"Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox",Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,DYN365_ENTERPRISE_P1,d56f3deb-50d8-465a-bedb-f079817ccac1,Dynamics 365 Customer Engagement Plan -"Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox",Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,Forms_Pro_Service,67bf4812-f90b-4db9-97e7-c0bbbf7b2d09,Microsoft Dynamics 365 Customer Voice for Customer Service Enterprise -"Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox",Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,Power Apps for Dynamics 365 -"Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox",Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Power Automate for Dynamics 365 -"Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox",Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation -"Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox",Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,PROJECT_ESSENTIALS,1259157c-8581-4875-bca7-2ffb18c51bda,Project Online Essentials +Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox,Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,DYN365_ENTERPRISE_P1,d56f3deb-50d8-465a-bedb-f079817ccac1,Dynamics 365 Customer Engagement Plan +Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox,Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,Forms_Pro_Service,67bf4812-f90b-4db9-97e7-c0bbbf7b2d09,Microsoft Dynamics 365 Customer Voice for Customer Service Enterprise +Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox,Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,Power Apps for Dynamics 365 +Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox,Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Power Automate for Dynamics 365 +Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox,Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox,Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,PROJECT_ESSENTIALS,1259157c-8581-4875-bca7-2ffb18c51bda,Project Online Essentials Dynamics 365 Sales Premium,DYN365_SALES_PREMIUM,2edaa1dc-966d-4475-93d6-8ee8dfd96877,DYN365_SALES_INSIGHTS,fedc185f-0711-4cc0-80ed-0a92da1a8384,Dynamics 365 AI for Sales (Embedded) Dynamics 365 Sales Premium,DYN365_SALES_PREMIUM,2edaa1dc-966d-4475-93d6-8ee8dfd96877,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) Dynamics 365 Sales Premium,DYN365_SALES_PREMIUM,2edaa1dc-966d-4475-93d6-8ee8dfd96877,PROJECT_ESSENTIALS,1259157c-8581-4875-bca7-2ffb18c51bda,Project Online Essentials @@ -414,7 +432,7 @@ Dynamics 365 Sales Premium,DYN365_SALES_PREMIUM,2edaa1dc-966d-4475-93d6-8ee8dfd9 Dynamics 365 for Supply Chain Management Attach to Qualifying Dynamics 365 Base Offer,DYN365_SCM_ATTACH,090b4a96-8114-4c95-9c91-60e81ef53302,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User Dynamics 365 for Supply Chain Management Attach to Qualifying Dynamics 365 Base Offer,DYN365_SCM_ATTACH,090b4a96-8114-4c95-9c91-60e81ef53302,DYN365_CDS_SUPPLYCHAINMANAGEMENT,b6a8b974-2956-4e14-ae81-f0384c363528,Common Data Service for Dynamics 365 Supply Chain Management Dynamics 365 for Supply Chain Management Attach to Qualifying Dynamics 365 Base Offer,DYN365_SCM_ATTACH,090b4a96-8114-4c95-9c91-60e81ef53302,CDS_FOR_IOM,2bb89402-51e9-4c5a-be33-e954a9dd1ba6,Dataverse for IOM -Dynamics 365 for Supply Chain Management Attach to Qualifying Dynamics 365 Base Offer,DYN365_SCM_ATTACH,090b4a96-8114-4c95-9c91-60e81ef53302,DYN365_REGULATORY_SERVICE,c7657ae3-c0b0-4eed-8c1d-6a7967bd9c65,"Dynamics 365 for Finance and Operations, Enterprise edition - Regulatory Service" +Dynamics 365 for Supply Chain Management Attach to Qualifying Dynamics 365 Base Offer,DYN365_SCM_ATTACH,090b4a96-8114-4c95-9c91-60e81ef53302,DYN365_REGULATORY_SERVICE,c7657ae3-c0b0-4eed-8c1d-6a7967bd9c65,Dynamics 365 for Finance and Operations, Enterprise edition - Regulatory Service Dynamics 365 for Supply Chain Management Attach to Qualifying Dynamics 365 Base Offer,DYN365_SCM_ATTACH,090b4a96-8114-4c95-9c91-60e81ef53302,D365_SCM_Attach,b21c777f-c2d5-486e-88f6-fc0a3e474271,Dynamics 365 for Supply Chain Management Attach Dynamics 365 for Supply Chain Management Attach to Qualifying Dynamics 365 Base Offer,DYN365_SCM_ATTACH,090b4a96-8114-4c95-9c91-60e81ef53302,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Dynamics 365 for Marketing Business Edition,DYN365_BUSINESS_MARKETING,238e2f8d-e429-4035-94db-6926be4ffe7b,DYN365_BUSINESS_Marketing,393a0c96-9ba1-4af0-8975-fa2f853a25ac,Dynamics 365 Marketing @@ -503,7 +521,7 @@ Dynamics 365 P1 Tria for Information Workers,DYN365_ENTERPRISE_P1_IW,338148b6-1b Dynamics 365 Project Operations,DYN365_PROJECT_OPERATIONS,98619618-9dc8-48c6-8f0c-741890ba5f93,D365CDSforProjectOperations,7df1d500-ca5c-4229-8cea-815bc88798c9,Common Data Service for Dynamics 365 Project Operations Dynamics 365 Project Operations,DYN365_PROJECT_OPERATIONS,98619618-9dc8-48c6-8f0c-741890ba5f93,D365_ProjectOperationsCDS,18fa3aba-b085-4105-87d7-55617b8585e6,Dynamics 365 Project Operations CDS Dynamics 365 Project Operations,DYN365_PROJECT_OPERATIONS,98619618-9dc8-48c6-8f0c-741890ba5f93,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User -Dynamics 365 Project Operations,DYN365_PROJECT_OPERATIONS,98619618-9dc8-48c6-8f0c-741890ba5f93,DYN365_REGULATORY_SERVICE,c7657ae3-c0b0-4eed-8c1d-6a7967bd9c65,"Dynamics 365 for Finance and Operations, Enterprise edition - Regulatory Service" +Dynamics 365 Project Operations,DYN365_PROJECT_OPERATIONS,98619618-9dc8-48c6-8f0c-741890ba5f93,DYN365_REGULATORY_SERVICE,c7657ae3-c0b0-4eed-8c1d-6a7967bd9c65,Dynamics 365 for Finance and Operations, Enterprise edition - Regulatory Service Dynamics 365 Project Operations,DYN365_PROJECT_OPERATIONS,98619618-9dc8-48c6-8f0c-741890ba5f93,D365_ProjectOperations,69f07c66-bee4-4222-b051-195095efee5b,Dynamics 365 Project Operations Dynamics 365 Project Operations,DYN365_PROJECT_OPERATIONS,98619618-9dc8-48c6-8f0c-741890ba5f93,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,Power Apps for Dynamics 365 Dynamics 365 Project Operations,DYN365_PROJECT_OPERATIONS,98619618-9dc8-48c6-8f0c-741890ba5f93,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Power Automate for Dynamics 365 @@ -661,7 +679,7 @@ Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789 Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,EducationAnalyticsP1,a9b86446-fa4e-498f-a92a-41b447e03337,Education Analytics Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers -Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise @@ -707,7 +725,7 @@ Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36 Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,EducationAnalyticsP1,a9b86446-fa4e-498f-a92a-41b447e03337,Education Analytics Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers -Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise @@ -789,7 +807,7 @@ Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSE Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,EducationAnalyticsP1,a9b86446-fa4e-498f-a92a-41b447e03337,Education Analytics Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers -Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,OFFICESUBSCRIPTION_unattended,8d77e2d9-9e28-4450-8431-0def64078fc5,Microsoft 365 Apps for Enterprise (Unattended) Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,OFFICE_FORMS_PLAN_2,9b5de886-f035-4ff2-b3d8-c9127bea3620,Microsoft Forms (Plan 2) @@ -831,7 +849,7 @@ Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07 Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing @@ -907,7 +925,7 @@ Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3 Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing @@ -1017,7 +1035,7 @@ Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-48 Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,INTUNE_EDU,da24caf9-af8e-485c-b7c8-e73336da2693,Microsoft Intune for Education Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,POWERAPPS_O365_P2,c68f8d98-5534-41c8-bf36-22fa496fa792,Power Apps for Office 365 Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,FLOW_O365_P2,76846ad7-7776-4c40-a281-a386362dd1b9,Power Automate for Office 365 -Microsoft 365 A5 Suite features for faculty,M365_A5_SUITE_COMPONENTS_FACULTY,9b8fe788-6174-4c4e-983b-3330c93ec278,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics � Premium +Microsoft 365 A5 Suite features for faculty,M365_A5_SUITE_COMPONENTS_FACULTY,9b8fe788-6174-4c4e-983b-3330c93ec278,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics – Premium Microsoft 365 A5 Suite features for faculty,M365_A5_SUITE_COMPONENTS_FACULTY,9b8fe788-6174-4c4e-983b-3330c93ec278,INSIDER_RISK,d587c7a3-bda9-4f99-8776-9bcf59c84f75,Microsoft Insider Risk Management Microsoft 365 A5 Suite features for faculty,M365_A5_SUITE_COMPONENTS_FACULTY,9b8fe788-6174-4c4e-983b-3330c93ec278,ML_CLASSIFICATION,d2d51368-76c9-4317-ada2-a12c004c432f,Microsoft ML-Based Classification Microsoft 365 A5 Suite features for faculty,M365_A5_SUITE_COMPONENTS_FACULTY,9b8fe788-6174-4c4e-983b-3330c93ec278,SAFEDOCS,bf6f5520-59e3-4f82-974b-7dbbc4fd27c7,Office 365 SafeDocs @@ -1063,7 +1081,7 @@ Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_ Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,BPOS_S_TODO_2,c87f142c-d1e9-4363-8630-aaea9c4d9ae5,To-Do (Plan 2) Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,UNIVERSAL_PRINT_NO_SEEDING,b67adbaf-a096-42c9-967e-5a84edbe0086,Universal Print Without Seeding Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) -Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,"Virtualization Rights for Windows 10 (E3/E5+VDA)",e7c91390-7625-45be-94e0-e16907e03118,Windows 10 Enterprise (New) +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,Virtualization Rights for Windows 10 (E3/E5+VDA),e7c91390-7625-45be-94e0-e16907e03118,Windows 10 Enterprise (New) Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,YAMMER_EDU,2078e8df-cff6-4290-98cb-5408261a760a,Yammer for Academic Microsoft 365 Apps for Business,O365_BUSINESS,cdd28e44-67e3-425e-be4c-737fab2899d3,FORMS_PLAN_E1,159f4cd6-e380-449f-a816-af1a9ef76344,MICROSOFT FORMS (PLAN E1) Microsoft 365 Apps for Business,O365_BUSINESS,cdd28e44-67e3-425e-be4c-737fab2899d3,OFFICE_BUSINESS,094e7854-93fc-4d55-b2c0-3ab5369ebdc1,OFFICE 365 BUSINESS @@ -1391,21 +1409,25 @@ Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Busine Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,POWER_VIRTUAL_AGENTS_O365_P3,ded3d325-1bdc-453e-8432-5bac26d7a014,Power Virtual Agents for Office 365 Microsoft 365 Business Voice (US),BUSINESS_VOICE_MED2_TELCO,08d7bce8-6e16-490e-89db-1d508e5e9609,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing Microsoft 365 Business Voice (US),BUSINESS_VOICE_MED2_TELCO,08d7bce8-6e16-490e-89db-1d508e5e9609,MCOPSTN1,4ed3ff63-69d7-4fb7-b984-5aec7f605ca8,Microsoft 365 Domestic Calling Plan -Microsoft 365 Business Voice (US),BUSINESS_VOICE_MED2_TELCO,08d7bce8-6e16-490e-89db-1d508e5e9609,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System -Microsoft 365 Domestic Calling Plan (120 Minutes),MCOPSTN_5,11dee6af-eca8-419f-8061-6864517c1875,MCOPSTN5,54a152dc-90de-4996-93d2-bc47e670fc06,MICROSOFT 365 DOMESTIC CALLING PLAN (120 min) -Microsoft 365 Domestic Calling Plan for GCC,MCOPSTN_1_GOV,923f58ab-fca1-46a1-92f9-89fda21238a8,MCOPSTN1_GOV,3c8a8792-7866-409b-bb61-1b20ace0368b,Domestic Calling for Government -Microsoft 365 Domestic Calling Plan for GCC,MCOPSTN_1_GOV,923f58ab-fca1-46a1-92f9-89fda21238a8,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government -Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,MESH_AVATARS_FOR_TEAMS,dcf9d2f4-772e-4434-b757-77a453cfbc02,Avatars for Teams -Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) -Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management -Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot -Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,CDS_O365_P2,95b76021-6a53-4741-ab8b-1d1f3d66a95a,Common Data Service for Teams -Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) -Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,MESH_IMMERSIVE_FOR_TEAMS,f0ff6ac6-297d-49cd-be34-6dfef97f0c28,Immersive spaces for Teams -Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard -Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard -Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics -Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise +Microsoft 365 Business Voice (without Calling Plan),BUSINESS_VOICE_DIRECTROUTING,d52db95a-5ecb-46b6-beb0-190ab5cda4a8,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Microsoft 365 Business Voice (without Calling Plan),BUSINESS_VOICE_DIRECTROUTING,d52db95a-5ecb-46b6-beb0-190ab5cda4a8,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft 365 Business Voice (UK,BUSINESS_VOICE,e5a17adf-8f0d-4b57-bc14-d331235f9307,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Microsoft 365 Business Voice (UK,BUSINESS_VOICE,e5a17adf-8f0d-4b57-bc14-d331235f9307,MCOPSTN1,4ed3ff63-69d7-4fb7-b984-5aec7f605ca8,Microsoft 365 Domestic Calling Plan +Microsoft 365 Business Voice (UK,BUSINESS_VOICE,e5a17adf-8f0d-4b57-bc14-d331235f9307,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft 365 Business Voice (without Calling Plan) for US,BUSINESS_VOICE_DIRECTROUTING_MED,8330dae3-d349-44f7-9cad-1b23c64baabe,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Microsoft 365 Business Voice (without Calling Plan) for US,BUSINESS_VOICE_DIRECTROUTING_MED,8330dae3-d349-44f7-9cad-1b23c64baabe,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft 365 Business Voice (without Calling Plan),BUSINESS_VOICE_DIRECTROUTING,d52db95a-5ecb-46b6-beb0-190ab5cda4a8,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Microsoft 365 Business Voice (without Calling Plan),BUSINESS_VOICE_DIRECTROUTING,d52db95a-5ecb-46b6-beb0-190ab5cda4a8,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft 365 Business Voice,BUSINESS_VOICE_MED2,a6051f20-9cbc-47d2-930d-419183bf6cf1,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Microsoft 365 Business Voice,BUSINESS_VOICE_MED2,a6051f20-9cbc-47d2-930d-419183bf6cf1,MCOPSTN1,4ed3ff63-69d7-4fb7-b984-5aec7f605ca8,Microsoft 365 Domestic Calling Plan +Microsoft 365 Business Voice,BUSINESS_VOICE_MED2,a6051f20-9cbc-47d2-930d-419183bf6cf1,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft Copilot for Microsoft 365,M365_Copilot,a809996b-059e-42e2-9866-db24b99a9782,GRAPH_CONNECTORS_COPILOT,82d30987-df9b-4486-b146-198b21d164c7,Graph Connectors in Microsoft 365 Copilot +Microsoft Copilot for Microsoft 365,M365_Copilot,a809996b-059e-42e2-9866-db24b99a9782,M365_COPILOT_INTELLIGENT_SEARCH,931e4a88-a67f-48b5-814f-16a5f1e6028d,Intelligent Search +Microsoft Copilot for Microsoft 365,M365_Copilot,a809996b-059e-42e2-9866-db24b99a9782,M365_COPILOT_TEAMS,b95945de-b3bd-46db-8437-f2beb6ea2347,Microsoft 365 Copilot in Microsoft Teams +Microsoft Copilot for Microsoft 365,M365_Copilot,a809996b-059e-42e2-9866-db24b99a9782,M365_COPILOT_APPS,a62f8878-de10-42f3-b68f-6149a25ceb97,Microsoft 365 Copilot in Productivity Apps +Microsoft Copilot for Microsoft 365,M365_Copilot,a809996b-059e-42e2-9866-db24b99a9782,M365_COPILOT_BUSINESS_CHAT,3f30311c-6b1e-48a4-ab79-725b469da960,Microsoft Copilot with Graph-grounded chat +Microsoft Copilot for Microsoft 365,M365_Copilot,a809996b-059e-42e2-9866-db24b99a9782,M365_COPILOT_CONNECTORS,89f1c4c8-0878-40f7-804d-869c9128ab5d,Power Platform Connectors in Microsoft 365 Copilot +Microsoft 365 Domestic Calling Plan (120 minutes) - US,MCOPSTN5_US,d13e9d1b-316a-4946-98c6-362c97a4fdfe,PSTN5_US,1346d5e6-15a6-4b88-9693-806ff7296a7a,Microsoft 365 Domestic Calling Plan - US (120 minutes) Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings @@ -1444,55 +1466,56 @@ Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,INTUNE_A,c1ec4a95-1 Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,POWERAPPS_O365_P2,c68f8d98-5534-41c8-bf36-22fa496fa792,Power Apps for Office 365 Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,FLOW_O365_P2,76846ad7-7776-4c40-a281-a386362dd1b9,Power Automate for Office 365 Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,POWER_VIRTUAL_AGENTS_O365_P2,041fe683-03e4-45b6-b1af-c0cdc516daee,Power Virtual Agents for Office 365 -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,CDS_O365_P2,95b76021-6a53-4741-ab8b-1d1f3d66a95a,Common Data Service for Teams -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,CLIPCHAMP,a1ace008-72f3-4ea0-8dac-33b3a23a2472,Microsoft Clipchamp -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MDE_LITE,292cc034-7b7c-4950-aaf5-943befd3f1d4,Microsoft Defender for Endpoint Plan 1 -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,FORMS_PLAN_E3,2789c901-c14e-48ab-a76a-be334d9d793a,Microsoft Forms (Plan E3) -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,KAIZALA_O365_P3,aebd3021-9f8f-4bf8-bbe3-0ed2f4f047a1,Microsoft Kaizala Pro -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,STREAM_O365_E3,9e700747-8b1d-45e5-ab8d-ef187ceec156,Microsoft Stream for Office 365 E3 -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,PROJECT_O365_P2,31b4e2fc-4cd6-4e7d-9c1b-41407303bd66,Project for Office (Plan E3) -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,BPOS_S_TODO_2,c87f142c-d1e9-4363-8630-aaea9c4d9ae5,To-Do (Plan 2) -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,WHITEBOARD_PLAN2,94a54592-cd8b-425e-87c6-97868b000b91,Whiteboard (Plan 2) -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,WIN10_PRO_ENT_SUB,21b439ba-a0ca-424f-a6cc-52f954a5b111,Windows 10/11 Enterprise (Original) -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,DYN365_CDS_O365_P2,4ff01e01-1ba7-4d71-8cf8-ce96c3bbcf14,Common Data Service -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,ADALLOM_S_DISCOVERY,932ad362-64a8-4783-9106-97849a1a30b9,Microsoft Defender for Cloud Apps Discovery -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,POWERAPPS_O365_P2,c68f8d98-5534-41c8-bf36-22fa496fa792,Power Apps for Office 365 -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,FLOW_O365_P2,76846ad7-7776-4c40-a281-a386362dd1b9,Power Automate for Office 365 -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,POWER_VIRTUAL_AGENTS_O365_P2,041fe683-03e4-45b6-b1af-c0cdc516daee,Power Virtual Agents for Office 365 +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,CDS_O365_P2,95b76021-6a53-4741-ab8b-1d1f3d66a95a,Common Data Service for Teams +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,CLIPCHAMP,a1ace008-72f3-4ea0-8dac-33b3a23a2472,Microsoft Clipchamp +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MDE_LITE,292cc034-7b7c-4950-aaf5-943befd3f1d4,Microsoft Defender for Endpoint Plan 1 +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,FORMS_PLAN_E3,2789c901-c14e-48ab-a76a-be334d9d793a,Microsoft Forms (Plan E3) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,KAIZALA_O365_P3,aebd3021-9f8f-4bf8-bbe3-0ed2f4f047a1,Microsoft Kaizala Pro +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,STREAM_O365_E3,9e700747-8b1d-45e5-ab8d-ef187ceec156,Microsoft Stream for Office 365 E3 +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,PROJECT_O365_P2,31b4e2fc-4cd6-4e7d-9c1b-41407303bd66,Project for Office (Plan E3) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,BPOS_S_TODO_2,c87f142c-d1e9-4363-8630-aaea9c4d9ae5,To-Do (Plan 2) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,WHITEBOARD_PLAN2,94a54592-cd8b-425e-87c6-97868b000b91,Whiteboard (Plan 2) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,WIN10_PRO_ENT_SUB,21b439ba-a0ca-424f-a6cc-52f954a5b111,Windows 10/11 Enterprise (Original) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,DYN365_CDS_O365_P2,4ff01e01-1ba7-4d71-8cf8-ce96c3bbcf14,Common Data Service +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,ADALLOM_S_DISCOVERY,932ad362-64a8-4783-9106-97849a1a30b9,Microsoft Defender for Cloud Apps Discovery +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,POWERAPPS_O365_P2,c68f8d98-5534-41c8-bf36-22fa496fa792,Power Apps for Office 365 +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,FLOW_O365_P2,76846ad7-7776-4c40-a281-a386362dd1b9,Power Automate for Office 365 +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,POWER_VIRTUAL_AGENTS_O365_P2,041fe683-03e4-45b6-b1af-c0cdc516daee,Power Virtual Agents for Office 365 Microsoft 365 E3 Extra Features,Microsoft_365_E3_Extra_Features,f5b15d67-b99e-406b-90f1-308452f94de6,MESH_AVATARS_FOR_TEAMS,dcf9d2f4-772e-4434-b757-77a453cfbc02,Avatars for Teams Microsoft 365 E3 Extra Features,Microsoft_365_E3_Extra_Features,f5b15d67-b99e-406b-90f1-308452f94de6,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) Microsoft 365 E3 Extra Features,Microsoft_365_E3_Extra_Features,f5b15d67-b99e-406b-90f1-308452f94de6,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot Microsoft 365 E3 Extra Features,Microsoft_365_E3_Extra_Features,f5b15d67-b99e-406b-90f1-308452f94de6,CLIPCHAMP,a1ace008-72f3-4ea0-8dac-33b3a23a2472,Microsoft Clipchamp Microsoft 365 E3 Extra Features,Microsoft_365_E3_Extra_Features,f5b15d67-b99e-406b-90f1-308452f94de6,MICROSOFT_LOOP,c4b8c31a-fb44-4c65-9837-a21f55fcabda,Microsoft Loop +Microsoft 365 E3 Extra Features,Microsoft_365_E3_Extra_Features,f5b15d67-b99e-406b-90f1-308452f94de6,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print Microsoft 365 E3 Extra Features,Microsoft_365_E3_Extra_Features,f5b15d67-b99e-406b-90f1-308452f94de6,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch Microsoft 365 E3 Extra Features,Microsoft_365_E3_Extra_Features,f5b15d67-b99e-406b-90f1-308452f94de6,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot @@ -1589,7 +1612,7 @@ Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-00 Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,CDS_O365_P2,95b76021-6a53-4741-ab8b-1d1f3d66a95a,Common Data Service for Teams Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) -Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise @@ -1630,17 +1653,18 @@ Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-00 Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,POWERAPPS_O365_P2,c68f8d98-5534-41c8-bf36-22fa496fa792,Power Apps for Office 365 Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,FLOW_O365_P2,76846ad7-7776-4c40-a281-a386362dd1b9,Power Automate for Office 365 Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,POWER_VIRTUAL_AGENTS_O365_P2,041fe683-03e4-45b6-b1af-c0cdc516daee,Power Virtual Agents for Office 365 -Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,CDS_O365_P2,95b76021-6a53-4741-ab8b-1d1f3d66a95a,Common Data Service for Teams -Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot -Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) -Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard -Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard -Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics -Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise -Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) -Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) -Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings -Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,CLIPCHAMP,a1ace008-72f3-4ea0-8dac-33b3a23a2472,Microsoft Clipchamp +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,MESH_AVATARS_FOR_TEAMS,dcf9d2f4-772e-4434-b757-77a453cfbc02,Avatars for Teams +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,EXCHANGE_S_DESKLESS,4a82b400-a79f-41a4-b4e2-e94f5787b113,Exchange Online Kiosk +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,MESH_IMMERSIVE_FOR_TEAMS,f0ff6ac6-297d-49cd-be34-6dfef97f0c28,Immersive spaces for Teams +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,FORMS_PLAN_E1,159f4cd6-e380-449f-a816-af1a9ef76344,Microsoft Forms (Plan E1) +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,ONEDRIVE_BASIC_P2,4495894f-534f-41ca-9d3b-0ebf1220a423,OneDrive for Business (Basic 2) +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,MCOIMP,afc06cb0-b4f4-4473-8286-d644f70d8faf,Skype for Business Online (Plan 1) Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,MDE_LITE,292cc034-7b7c-4950-aaf5-943befd3f1d4,Microsoft Defender for Endpoint Plan 1 Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,FORMS_PLAN_E3,2789c901-c14e-48ab-a76a-be334d9d793a,Microsoft Forms (Plan E3) Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,KAIZALA_O365_P3,aebd3021-9f8f-4bf8-bbe3-0ed2f4f047a1,Microsoft Kaizala Pro @@ -1714,7 +1738,7 @@ Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,GRAPH_CONNECTORS_SE Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,MESH_IMMERSIVE_FOR_TEAMS,f0ff6ac6-297d-49cd-be34-6dfef97f0c28,Immersive spaces for Teams Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -1794,7 +1818,7 @@ Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Te Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -1870,7 +1894,7 @@ Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_ Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -1950,7 +1974,7 @@ Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -2095,7 +2119,7 @@ Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,Microsoft 365 Communication Compliance @@ -2124,7 +2148,7 @@ Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549 Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -2218,7 +2242,7 @@ Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-a Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -2301,7 +2325,7 @@ Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233 Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -2384,7 +2408,7 @@ Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5 Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -2463,7 +2487,7 @@ Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(50 Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -2543,7 +2567,7 @@ Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,M Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -2616,7 +2640,7 @@ Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -2814,7 +2838,7 @@ Microsoft 365 F5 Compliance Add-on,SPE_F5_COMP,91de26be-adfa-4a3d-989e-9131cc23d Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,Microsoft 365 Communication Compliance @@ -2909,7 +2933,7 @@ Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,GRAPH_CONN Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,GRAPH_CONNECTORS_SEARCH_INDEX_TOPICEXP,b74d57b2-58e9-484a-9731-aeccbba954f0,Graph Connectors Search with Index (Microsoft Viva Topics) Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing @@ -2965,7 +2989,7 @@ Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-1 Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing @@ -3025,6 +3049,7 @@ Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7 Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,SAFEDOCS,bf6f5520-59e3-4f82-974b-7dbbc4fd27c7,Office 365 SafeDocs Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,PURVIEW_DISCOVERY,c948ea65-2053-4a5a-8a62-9eaaaf11b522,Purview Discovery Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,MICROSOFTENDPOINTDLP,64bfac92-2b17-4482-b5e5-a0304429de3e,Microsoft Endpoint DLP +Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,Defender_for_Iot_Enterprise,99cd49a9-0e54-4e07-aea1-d8d9f5f704f5,Defender for IoT - Enterprise IoT Security @@ -3049,7 +3074,7 @@ Microsoft 365 F1,M365_F1_COMM,50f60901-3181-4b75-8a2c-4c8e4c1d5a72,YAMMER_ENTERP Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,CDS_O365_P2_GCC,a70bbf38-cdda-470d-adb8-5804b8770f41,Common Data Service for Teams Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,EXCHANGE_S_ENTERPRISE_GOV,8c3069c0-ccdb-44be-ab77-986203a67df2,Exchange Online (Plan 2) for Government Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,MYANALYTICS_P2_GOV,6e5b7995-bd4f-4cbd-9d19-0e32010c72f0,Insights by MyAnalytics for Government Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,OFFICESUBSCRIPTION_GOV,de9234ff-6483-44d9-b15e-dca72fdd27af,Microsoft 365 Apps for enterprise G @@ -3100,7 +3125,8 @@ Microsoft 365 G3 - Unattended License for GCC,M365_G3_RPA1_GOV,5c739a73-651d-4c2 Microsoft 365 G3 - Unattended License for GCC,M365_G3_RPA1_GOV,5c739a73-651d-4c2c-8a4e-fe4ba12253b0,FLOW_O365_P2_GOV,c537f360-6a00-4ace-a7f5-9128d0ac1e4b,Power Automate for Office 365 for Government Microsoft 365 Lighthouse,Microsoft365_Lighthouse,9c0587f3-8665-4252-a8ad-b7a5ade57312,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) Microsoft 365 Lighthouse,Microsoft365_Lighthouse,9c0587f3-8665-4252-a8ad-b7a5ade57312,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) -Microsoft 365 Security and Compliance for Firstline Workers,M365_SECURITY_COMPLIANCE_FOR_FLW,2347355b-4e81-41a4-9c22-55057a399791,AAD_PREMIUM_P2,eec0eb4f-6444-4f95-aba0-50c24d67f998,Microsoft Entra ID P2 +Microsoft Sales Copilot,Microsoft_Viva_Sales,3227bcb2-8448-4f81-b3c2-8c2074e15a2a,Microsoft_Viva_Sales_PremiumTrial,8ba1ff15-7bf6-4620-b65c-ecedb6942766,Microsoft Sales Copilot Premium & Trial +Microsoft Sales Copilot,Microsoft_Viva_Sales,3227bcb2-8448-4f81-b3c2-8c2074e15a2a,Microsoft_Viva_Sales_PowerAutomate,a933a62f-c3fb-48e5-a0b7-ac92b94b4420,Microsoft Sales Copilot Premium with Power Automate Microsoft 365 Security and Compliance for Firstline Workers,M365_SECURITY_COMPLIANCE_FOR_FLW,2347355b-4e81-41a4-9c22-55057a399791,RMS_S_PREMIUM2,5689bec4-755d-4753-8b61-40975025187c,Azure Information Protection Premium P2 Microsoft 365 Security and Compliance for Firstline Workers,M365_SECURITY_COMPLIANCE_FOR_FLW,2347355b-4e81-41a4-9c22-55057a399791,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox Microsoft 365 Security and Compliance for Firstline Workers,M365_SECURITY_COMPLIANCE_FOR_FLW,2347355b-4e81-41a4-9c22-55057a399791,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 @@ -3274,6 +3300,30 @@ Microsoft Teams Exploratory,TEAMS_EXPLORATORY,710779e8-3d4a-4c88-adb9-386c958d1f Microsoft Teams Exploratory,TEAMS_EXPLORATORY,710779e8-3d4a-4c88-adb9-386c958d1fdf,BPOS_S_TODO_1,5e62787c-c316-451f-b873-1d05acd4d12c,TO-DO (PLAN 1) Microsoft Teams Exploratory,TEAMS_EXPLORATORY,710779e8-3d4a-4c88-adb9-386c958d1fdf,WHITEBOARD_PLAN1,b8afc642-032e-4de5-8c0a-507a7bba7e5d,WHITEBOARD (PLAN 1) Microsoft Teams Exploratory,TEAMS_EXPLORATORY,710779e8-3d4a-4c88-adb9-386c958d1fdf,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,YAMMER ENTERPRIS +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,MESH_AVATARS_FOR_TEAMS,dcf9d2f4-772e-4434-b757-77a453cfbc02,Avatars for Teams +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,CDS_O365_P1,bed136c6-b799-4462-824d-fc045d3a9d25,Common Data Service for Teams +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,EXCHANGE_S_STANDARD,9aaf7827-d63c-4b61-89c3-182f06f82e5c,Exchange Online (Plan 1) +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,MESH_IMMERSIVE_FOR_TEAMS,f0ff6ac6-297d-49cd-be34-6dfef97f0c28,Immersive spaces for Teams +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,FORMS_PLAN_E1,159f4cd6-e380-449f-a816-af1a9ef76344,Microsoft Forms (Plan E1) +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,MCO_TEAMS_IW,42a3ec34-28ba-46b6-992f-db53a675ac5b,Microsoft Teams +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,OFFICEMOBILE_SUBSCRIPTION,c63d4d19-e8cb-460e-b37c-4d6c34603745,Office Mobile Apps for Office 365 +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,SHAREPOINTSTANDARD,c7699d2e-19aa-44de-8edf-1736da088ca1,SharePoint (Plan 1) +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,BPOS_S_TODO_1,5e62787c-c316-451f-b873-1d05acd4d12c,To-Do (Plan 1) +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,WHITEBOARD_PLAN1,b8afc642-032e-4de5-8c0a-507a7bba7e5d,Whiteboard (Plan 1) +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,STREAM_O365_E1,743dd19e-1ce3-4c62-a3ad-49ba8f63a2f6,Microsoft Stream for Office 365 E1 +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,POWERAPPS_O365_P1,92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c,Power Apps for Office 365 +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,FLOW_O365_P1,0f9b09cb-62d1-4ff4-9129-43f4996f83f4,Power Automate for Office 365 +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,POWER_VIRTUAL_AGENTS_O365_P1,0683001c-0492-4d59-9515-d9a6426b5813,Power Virtual Agents for Office 365 Microsoft Teams Phone Standard,MCOEV,e43b5b99-8dfb-405f-9987-dc307f34bcbd,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,MICROSOFT 365 PHONE SYSTEM Microsoft Teams Phone Standard for DOD,MCOEV_DOD,d01d9287-694b-44f3-bcc5-ada78c8d953e,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,MICROSOFT 365 PHONE SYSTEM Microsoft Teams Phone Standard for Faculty,MCOEV_FACULTY,d979703c-028d-4de5-acbf-7955566b69b9,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,MICROSOFT 365 PHONE SYSTE @@ -3286,6 +3336,7 @@ Microsoft Teams Phone Standard for TELSTRA,MCOEV_TELSTRA,ffaf2d68-1c95-4eb3-9ddd Microsoft Teams Phone Standard_USGOV_DOD,MCOEV_USGOV_DOD,b0e7de67-e503-4934-b729-53d595ba5cd1,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,MICROSOFT 365 PHONE SYSTEM Microsoft Teams Phone Standard_USGOV_GCCHIGH,MCOEV_USGOV_GCCHIGH,985fcb26-7b94-475b-b512-89356697be71,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,MICROSOFT 365 PHONE SYSTEM Microsoft Teams Phone Resource Account,PHONESYSTEM_VIRTUALUSER,440eaaa8-b3e0-484b-a8be-62870b9ba70a,MCOEV_VIRTUALUSER,f47330e9-c134-43b3-9993-e7f004506889,Microsoft 365 Phone Standard Resource Account +Microsoft Teams Phone Resource Account for Faculty,PHONESYSTEM_VIRTUALUSER_FACULTY,0e142028-345e-45da-8d92-8bfd4093bbb9,MCOEV_VIRTUALUSER,f47330e9-c134-43b3-9993-e7f004506889,Microsoft 365 Phone Standard Resource Account Microsoft Teams Phone Resource Account for GCC,PHONESYSTEM_VIRTUALUSER_GOV,2cf22bcb-0c9e-4bc6-8daf-7e7654c0f285,MCOEV_VIRTUALUSER_GOV,0628a73f-3b4a-4989-bd7b-0f8823144313,Microsoft 365 Phone Standard Resource Account for Government Microsoft Teams Phone Resource Account_USGOV_GCCHIGH,PHONESYSTEM_VIRTUALUSER_USGOV_GCCHIGH ,e3f0522e-ebb7-4561-9f90-b44516d65b77,MCOEV_VIRTUALUSER,f47330e9-c134-43b3-9993-e7f004506889,Microsoft 365 Phone Standard Resource Account Microsoft Teams Premium Introductory Pricing,Microsoft_Teams_Premium,36a0f3b3-adb5-49ea-bf66-762134cf063a,MICROSOFT_ECDN,85704d55-2e73-47ee-93b4-4b8ea14db92b,Microsoft eCDN @@ -3297,11 +3348,15 @@ Microsoft Teams Premium Introductory Pricing,Microsoft_Teams_Premium,36a0f3b3-ad Microsoft Teams Premium Introductory Pricing,Microsoft_Teams_Premium,36a0f3b3-adb5-49ea-bf66-762134cf063a,TEAMSPRO_WEBINAR,78b58230-ec7e-4309-913c-93a45cc4735b,Microsoft Teams Premium Webinar Microsoft Teams Rooms Basic,Microsoft_Teams_Rooms_Basic,6af4b3d6-14bb-4a2a-960c-6c902aad34f3,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing Microsoft Teams Rooms Basic,Microsoft_Teams_Rooms_Basic,6af4b3d6-14bb-4a2a-960c-6c902aad34f3,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft Teams Rooms Basic,Microsoft_Teams_Rooms_Basic,6af4b3d6-14bb-4a2a-960c-6c902aad34f3,Teams_Rooms_Basic,c8529366-cffd-4415-ab8f-be0144a33ab1,Teams Rooms Basic +Microsoft Teams Rooms Basic,Microsoft_Teams_Rooms_Basic,6af4b3d6-14bb-4a2a-960c-6c902aad34f3,Teams_Room_Basic,8081ca9c-188c-4b49-a8e5-c23b5e9463a8,Teams Rooms Test 1 +Microsoft Teams Rooms Basic,Microsoft_Teams_Rooms_Basic,6af4b3d6-14bb-4a2a-960c-6c902aad34f3,Teams_Room_Pro,ec17f317-f4bc-451e-b2da-0167e5c260f9,Teams Rooms Test 2 Microsoft Teams Rooms Basic,Microsoft_Teams_Rooms_Basic,6af4b3d6-14bb-4a2a-960c-6c902aad34f3,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) Microsoft Teams Rooms Basic for EDU,Microsoft_Teams_Rooms_Basic_FAC,a4e376bd-c61e-4618-9901-3fc0cb1b88bb,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing Microsoft Teams Rooms Basic for EDU,Microsoft_Teams_Rooms_Basic_FAC,a4e376bd-c61e-4618-9901-3fc0cb1b88bb,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams -Microsoft Teams Rooms Basic for EDU,Microsoft_Teams_Rooms_Basic_FAC,a4e376bd-c61e-4618-9901-3fc0cb1b88bb,Teams_Room_Basic,8081ca9c-188c-4b49-a8e5-c23b5e9463a8,Teams Room Basic -Microsoft Teams Rooms Basic for EDU,Microsoft_Teams_Rooms_Basic_FAC,a4e376bd-c61e-4618-9901-3fc0cb1b88bb,Teams_Room_Pro,ec17f317-f4bc-451e-b2da-0167e5c260f9,Teams Room Pro +Microsoft Teams Rooms Basic for EDU,Microsoft_Teams_Rooms_Basic_FAC,a4e376bd-c61e-4618-9901-3fc0cb1b88bb,Teams_Rooms_Basic,c8529366-cffd-4415-ab8f-be0144a33ab1,Teams Rooms Basic +Microsoft Teams Rooms Basic for EDU,Microsoft_Teams_Rooms_Basic_FAC,a4e376bd-c61e-4618-9901-3fc0cb1b88bb,Teams_Room_Basic,8081ca9c-188c-4b49-a8e5-c23b5e9463a8,Teams Rooms Test 1 +Microsoft Teams Rooms Basic for EDU,Microsoft_Teams_Rooms_Basic_FAC,a4e376bd-c61e-4618-9901-3fc0cb1b88bb,Teams_Room_Pro,ec17f317-f4bc-451e-b2da-0167e5c260f9,Teams Rooms Test 2 Microsoft Teams Rooms Basic for EDU,Microsoft_Teams_Rooms_Basic_FAC,a4e376bd-c61e-4618-9901-3fc0cb1b88bb,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) Microsoft Teams Rooms Basic without Audio Conferencing,Microsoft_Teams_Rooms_Basic_without_Audio_Conferencing,50509a35-f0bd-4c5e-89ac-22f0e16a00f8,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams Microsoft Teams Rooms Basic without Audio Conferencing,Microsoft_Teams_Rooms_Basic_without_Audio_Conferencing,50509a35-f0bd-4c5e-89ac-22f0e16a00f8,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) @@ -3346,6 +3401,13 @@ Microsoft Teams Shared Devices,MCOCAP,295a8eb0-f78d-45c7-8b5b-1eed5ed02dff,MCOST Microsoft Teams Shared Devices,MCOCAP,295a8eb0-f78d-45c7-8b5b-1eed5ed02dff,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Microsoft Teams Shared Devices,MCOCAP,295a8eb0-f78d-45c7-8b5b-1eed5ed02dff,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 Microsoft Teams Shared Devices,MCOCAP,295a8eb0-f78d-45c7-8b5b-1eed5ed02dff,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Microsoft Teams Shared Devices for Faculty,MCOCAP_FACULTY ,420c7602-7f70-4895-9394-d3d679ea36fb ,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Microsoft Teams Shared Devices for Faculty,MCOCAP_FACULTY ,420c7602-7f70-4895-9394-d3d679ea36fb ,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft Teams Shared Devices for Faculty,MCOCAP_FACULTY ,420c7602-7f70-4895-9394-d3d679ea36fb ,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft Teams Shared Devices for Faculty,MCOCAP_FACULTY ,420c7602-7f70-4895-9394-d3d679ea36fb ,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft Teams Shared Devices for Faculty,MCOCAP_FACULTY ,420c7602-7f70-4895-9394-d3d679ea36fb ,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft Teams Shared Devices for Faculty,MCOCAP_FACULTY ,420c7602-7f70-4895-9394-d3d679ea36fb ,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 +Microsoft Teams Shared Devices for Faculty,MCOCAP_FACULTY ,420c7602-7f70-4895-9394-d3d679ea36fb ,SPECIALTY_DEVICES,cfce7ae3-4b41-4438-999c-c0e91f3b7fb9,Specialty devices Microsoft Teams Shared Devices for GCC,MCOCAP_GOV,b1511558-69bd-4e1b-8270-59ca96dba0f3,MCOEV_GOV,db23fce2-a974-42ef-9002-d78dd42a0f22,Microsoft 365 Phone System for Government Microsoft Teams Shared Devices for GCC,MCOCAP_GOV,b1511558-69bd-4e1b-8270-59ca96dba0f3,TEAMS_GOV,304767db-7d23-49e8-a945-4a7eb65f9f28,Microsoft Teams for Government Microsoft Teams Shared Devices for GCC,MCOCAP_GOV,b1511558-69bd-4e1b-8270-59ca96dba0f3,MCOSTANDARD_GOV,a31ef4a2-f787-435e-8335-e47eb0cafc94,Skype for Business Online (Plan 2) for Government @@ -3589,7 +3651,7 @@ Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400 Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing @@ -3646,7 +3708,7 @@ Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1 Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing @@ -3733,9 +3795,14 @@ Microsoft Teams Commercial Cloud,TEAMS_COMMERCIAL_TRIAL,29a2f828-8f39-4837-b8ff- Office 365 Cloud App Security,ADALLOM_O365,84d5f90f-cd0d-4864-b90b-1c7ba63b4808,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Office 365 Cloud App Security,ADALLOM_O365,84d5f90f-cd0d-4864-b90b-1c7ba63b4808,ADALLOM_S_O365,8c098270-9dd4-4350-9b30-ba4703f3b36b,Office 365 Advanced Security Management Office 365 Extra File Storage,SHAREPOINTSTORAGE,99049c9c-6011-4908-bf17-15f496e6519d,SHAREPOINTSTORAGE,be5a7ed5-c598-4fcd-a061-5e6724c68a58,Office 365 Extra File Storage +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,MESH_AVATARS_FOR_TEAMS,dcf9d2f4-772e-4434-b757-77a453cfbc02,Avatars for Teams +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,CDS_O365_P1,bed136c6-b799-4462-824d-fc045d3a9d25,Common Data Service for Teams Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,EXCHANGE_S_STANDARD,9aaf7827-d63c-4b61-89c3-182f06f82e5c,Exchange Online (Plan 1) +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,MESH_IMMERSIVE_FOR_TEAMS,f0ff6ac6-297d-49cd-be34-6dfef97f0c28,Immersive spaces for Teams Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,FORMS_PLAN_E1,159f4cd6-e380-449f-a816-af1a9ef76344,Microsoft Forms (Plan E1) Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,KAIZALA_O365_P2,54fc630f-5a40-48ee-8965-af0503c1386e,Microsoft Kaizala Pro @@ -3752,6 +3819,7 @@ Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,SHAREPOINTSTANDA Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,BPOS_S_TODO_1,5e62787c-c316-451f-b873-1d05acd4d12c,To-Do (Plan 1) +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,WHITEBOARD_PLAN1,b8afc642-032e-4de5-8c0a-507a7bba7e5d,Whiteboard (Plan 1) Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise @@ -3761,7 +3829,6 @@ Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,STREAM_O365_E1,7 Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,POWERAPPS_O365_P1,92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c,Power Apps for Office 365 Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,FLOW_O365_P1,0f9b09cb-62d1-4ff4-9129-43f4996f83f4,Power Automate for Office 365 Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,POWER_VIRTUAL_AGENTS_O365_P1,0683001c-0492-4d59-9515-d9a6426b5813,Power Virtual Agents for Office 365 -Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core Office 365 E1 EEA (no Teams),Office_365_w/o_Teams_Bundle_E1,b57282e3-65bd-4252-9502-c0eae1e5ab7f,CDS_O365_P1,bed136c6-b799-4462-824d-fc045d3a9d25,Common Data Service for Teams Office 365 E1 EEA (no Teams),Office_365_w/o_Teams_Bundle_E1,b57282e3-65bd-4252-9502-c0eae1e5ab7f,EXCHANGE_S_STANDARD,9aaf7827-d63c-4b61-89c3-182f06f82e5c,Exchange Online (Plan 1) Office 365 E1 EEA (no Teams),Office_365_w/o_Teams_Bundle_E1,b57282e3-65bd-4252-9502-c0eae1e5ab7f,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -3812,7 +3879,7 @@ Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,Bing_Chat_Ente Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,CDS_O365_P2,95b76021-6a53-4741-ab8b-1d1f3d66a95a,Common Data Service for Teams Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,MESH_IMMERSIVE_FOR_TEAMS,f0ff6ac6-297d-49cd-be34-6dfef97f0c28,Immersive spaces for Teams -Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for Enterprise @@ -3843,7 +3910,7 @@ Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,FLOW_O365_P2,7 Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,POWER_VIRTUAL_AGENTS_O365_P2,041fe683-03e4-45b6-b1af-c0cdc516daee,Power Virtual Agents for Office 365 Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,CDS_O365_P2,95b76021-6a53-4741-ab8b-1d1f3d66a95a,Common Data Service for Teams Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) -Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise @@ -3984,7 +4051,7 @@ Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -4042,7 +4109,7 @@ Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Te Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -4098,7 +4165,7 @@ Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-a Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -4234,7 +4301,7 @@ Office 365 G1 GCC,STANDARDPACK_GOV,3f4babde-90ec-47c6-995d-d223749065d1,WHITEBOA Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,CDS_O365_P2_GCC,a70bbf38-cdda-470d-adb8-5804b8770f41,Common Data Service for Teams Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,EXCHANGE_S_ENTERPRISE_GOV,8c3069c0-ccdb-44be-ab77-986203a67df2,Exchange Online (Plan 2) for Government Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,MYANALYTICS_P2_GOV,6e5b7995-bd4f-4cbd-9d19-0e32010c72f0,Insights by MyAnalytics for Government Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,OFFICESUBSCRIPTION_GOV,de9234ff-6483-44d9-b15e-dca72fdd27af,Microsoft 365 Apps for enterprise G @@ -4258,7 +4325,7 @@ Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,FLOW_O Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,CDS_O365_P2_GCC,a70bbf38-cdda-470d-adb8-5804b8770f41,Common Data Service for Teams Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,EXCHANGE_S_ENTERPRISE_GOV,8c3069c0-ccdb-44be-ab77-986203a67df2,Exchange Online (Plan 2) for Government Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,MYANALYTICS_P2_GOV,6e5b7995-bd4f-4cbd-9d19-0e32010c72f0,Insights by MyAnalytics for Government Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings @@ -4285,7 +4352,7 @@ Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,EXC Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing @@ -4329,7 +4396,7 @@ Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_ Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing @@ -4372,7 +4439,7 @@ Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_G Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing @@ -4540,9 +4607,9 @@ Power Automate per user plan dept,FLOW_PER_USER_DEPT,d80a4c5d-8f05-4b64-9926-657 Power Automate per user plan for Government,FLOW_PER_USER_GCC,c8803586-c136-479a-8ff3-f5f32d23a68e,DYN365_CDS_P2_GOV,37396c73-2203-48e6-8be1-d882dae53275,Common Data Service for Government Power Automate per user plan for Government,FLOW_PER_USER_GCC,c8803586-c136-479a-8ff3-f5f32d23a68e,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government Power Automate per user plan for Government,FLOW_PER_USER_GCC,c8803586-c136-479a-8ff3-f5f32d23a68e,FLOW_PER_USER_GCC,769b8bee-2779-4c5a-9456-6f4f8629fd41,Power Automate per User Plan for Government -Power Automate per user with attended RPA plan,POWERAUTOMATE_ATTENDED_RPA,eda1941c-3c4f-4995-b5eb-e85a42175ab9,CDS_ATTENDED_RPA,3da2fd4c-1bee-4b61-a17f-94c31e5cab93,Common Data Service Attended RPA -Power Automate per user with attended RPA plan,POWERAUTOMATE_ATTENDED_RPA,eda1941c-3c4f-4995-b5eb-e85a42175ab9,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation -Power Automate per user with attended RPA plan,POWERAUTOMATE_ATTENDED_RPA,eda1941c-3c4f-4995-b5eb-e85a42175ab9,POWER_AUTOMATE_ATTENDED_RPA,375cd0ad-c407-49fd-866a-0bff4f8a9a4d,Power Automate RPA Attended +Power Automate Premium,POWERAUTOMATE_ATTENDED_RPA,eda1941c-3c4f-4995-b5eb-e85a42175ab9,CDS_ATTENDED_RPA,3da2fd4c-1bee-4b61-a17f-94c31e5cab93,Common Data Service Attended RPA +Power Automate Premium,POWERAUTOMATE_ATTENDED_RPA,eda1941c-3c4f-4995-b5eb-e85a42175ab9,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Power Automate Premium,POWERAUTOMATE_ATTENDED_RPA,eda1941c-3c4f-4995-b5eb-e85a42175ab9,POWER_AUTOMATE_ATTENDED_RPA,375cd0ad-c407-49fd-866a-0bff4f8a9a4d,Power Automate RPA Attended Power Automate Premium for Government,POWERAUTOMATE_ATTENDED_RPA_GCC,d3987516-4b53-4dc0-8335-411260bf5626,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government Power Automate Premium for Government,POWERAUTOMATE_ATTENDED_RPA_GCC,d3987516-4b53-4dc0-8335-411260bf5626,CDS_ATTENDED_RPA_GCC,4802707d-47e1-45dc-82c5-b6981f0fb38c,Common Data Service Attended RPA for Government Power Automate Premium for Government,POWERAUTOMATE_ATTENDED_RPA_GCC,d3987516-4b53-4dc0-8335-411260bf5626,POWER_AUTOMATE_ATTENDED_RPA_GCC,fb613c67-1a58-4645-a8df-21e95a37d433,Power Automate Attended RPA for Government @@ -4586,9 +4653,10 @@ Power BI Pro for Faculty,POWER_BI_PRO_FACULTY,de5f128b-46d7-4cfc-b915-a89ba060ea Power BI Pro for Faculty,POWER_BI_PRO_FACULTY,de5f128b-46d7-4cfc-b915-a89ba060ea56,BI_AZURE_P2,70d33638-9c74-4d01-bfd3-562de28bd4ba,Power BI Pro Power BI Pro for GCC,POWERBI_PRO_GOV,f0612879-44ea-47fb-baf0-3d76d9235576,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government Power BI Pro for GCC,POWERBI_PRO_GOV,f0612879-44ea-47fb-baf0-3d76d9235576,BI_AZURE_P_2_GOV,944e9726-f011-4353-b654-5f7d2663db76,Power BI Pro for Government -Power Pages authenticated users T1 100 users/per site/month capacity pack CN_CN,Power Pages authenticated users T1_CN_CN,9a3c2a19-06c0-41b1-b2ea-13528d7b2e17,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site -Power Pages authenticated users T1 100 users/per site/month capacity pack CN_CN,Power Pages authenticated users T1_CN_CN,9a3c2a19-06c0-41b1-b2ea-13528d7b2e17,PowerPages_Authenticated_User_CN,967d9574-a076-4bb7-ab89-f41f64bc142e,Power Pages Authenticated Users per site monthly capacity China -Power Pages authenticated users T1 100 users/per site/month capacity pack,Power_Pages_authenticated_users_T1_100_users/per_site/month_capacity_pack,debc9e58-f2d7-412c-a0b6-575608564228,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site +Power BI Premium EM2,PBI_PREMIUM_EM2_ADDON,8ecbd3c1-b108-437c-a859-e3c125e3f83f,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Power BI Premium EM2,PBI_PREMIUM_EM2_ADDON,8ecbd3c1-b108-437c-a859-e3c125e3f83f,PBI_PREMIUM_EM2_ADDON,4e29abd1-ba96-44c0-8a72-e24e4fe9956e,Power BI Premium EM2 +Power BI Premium EM1,PBI_PREMIUM_EM1_ADDON,bc757c42-5622-4583-a483-a9e537fcb71c,EXCHANGE_S_FOUNDATION PBI_PREMIUM_EM1_ADDON,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Power BI Premium EM1,PBI_PREMIUM_EM1_ADDON,bc757c42-5622-4583-a483-a9e537fcb71c,EXCHANGE_S_FOUNDATION PBI_PREMIUM_EM1_ADDON,a64b30ba-f310-4065-b444-2670ef146db0,Power BI Premium EM1 Power Pages authenticated users T1 100 users/per site/month capacity pack,Power_Pages_authenticated_users_T1_100_users/per_site/month_capacity_pack,debc9e58-f2d7-412c-a0b6-575608564228,PowerPages_Authenticated_User,0d3366f3-266e-4117-b422-7cabbc165e7c,Power Pages Authenticated Users per site monthly capacity Power Pages authenticated users T1 100 users/per site/month capacity pack,Power_Pages_authenticated_users_T1_100_users/per_site/month_capacity_pack,debc9e58-f2d7-412c-a0b6-575608564228,PowerPages_Authenticated_User_GCCH,18e74ca2-b5f0-4802-9a8b-00d2ff1e8322,Power Pages Authenticated Users per site monthly capacity GCCH Power Pages authenticated users T1 100 users/per site/month capacity pack_GCC,Power_Pages_authenticated_users_T1_100_users/per_site/month_capacity_pack_GCC,27cb5f12-2e3f-4997-a649-45298673e6a1,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site @@ -4610,18 +4678,18 @@ Power Pages authenticated users T2 min 100 units - 100 users/per site/month capa Power Pages authenticated users T2 min 100 units - 100 users/per site/month capacity pack_USGOV_GCCHIGH,Power_Pages_authenticated_users_T2_min_100_units_100_users/per_site/month_capacity_pack_USGOV_GCCHIGH,7cae5432-61bb-48c3-b75c-831394ec13a0,PowerPages_Authenticated_Users_GCCH,5410f688-68f2-47a5-9b8f-7466194a806a,Power Pages Authenticated Users per site mthly capacity GCCH New Power Pages authenticated users T2 min 100 units - 100 users/per site/month capacity pack CN_CN,Power Pages authenticated users T2_CN_CN,7d2bb54a-a870-41c2-98d1-1f3b5b523275,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site Power Pages authenticated users T2 min 100 units - 100 users/per site/month capacity pack CN_CN,Power Pages authenticated users T2_CN_CN,7d2bb54a-a870-41c2-98d1-1f3b5b523275,PowerPages_Authenticated_User_CN,967d9574-a076-4bb7-ab89-f41f64bc142e,Power Pages Authenticated Users per site monthly capacity China -"Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack CN_CN",Power Pages authenticated users T3_CN_CN,2cfd692f-a352-4fa8-b960-e3ad0c9b1178,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site -"Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack CN_CN",Power Pages authenticated users T3_CN_CN,2cfd692f-a352-4fa8-b960-e3ad0c9b1178,PowerPages_Authenticated_User_CN,967d9574-a076-4bb7-ab89-f41f64bc142e,Power Pages Authenticated Users per site monthly capacity China -"Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack","Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack",878b8bbd-3cd0-4b44-9a56-3406741e65e0,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site -"Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack","Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack",878b8bbd-3cd0-4b44-9a56-3406741e65e0,PowerPages_Authenticated_User,0d3366f3-266e-4117-b422-7cabbc165e7c,Power Pages Authenticated Users per site monthly capacity -"Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack","Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack",878b8bbd-3cd0-4b44-9a56-3406741e65e0,PowerPages_Authenticated_User_GCCH,18e74ca2-b5f0-4802-9a8b-00d2ff1e8322,Power Pages Authenticated Users per site monthly capacity GCCH -"Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_GCC","Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_GCC",53265c61-c78c-4223-ab30-422da0c97fbb,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site -"Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_GCC","Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_GCC",53265c61-c78c-4223-ab30-422da0c97fbb,PowerPages_Authenticated_User_GCC,cdf787bd-1546-48d2-9e93-b21f9ea7067a,Power Pages Authenticated Users per site monthly capacity GCC -"Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_USGOV_DOD","Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_USGOV_DOD",398d37b5-8deb-48db-8f7f-703eb2fb7c72,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site -"Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_USGOV_DOD","Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_USGOV_DOD",398d37b5-8deb-48db-8f7f-703eb2fb7c72,PowerPages_Authenticated_User_DoD,03300fea-7a88-45a6-b5bd-29653803c591,Power Pages Authenticated Users per site monthly capacity DoD -"Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_USGOV_GCCHIGH","Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_USGOV_GCCHIGH",01d46c34-3525-47d5-bd1a-5f19979938a0,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site -"Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_USGOV_GCCHIGH","Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_USGOV_GCCHIGH",01d46c34-3525-47d5-bd1a-5f19979938a0,PowerPages_Authenticated_User_GCCH,18e74ca2-b5f0-4802-9a8b-00d2ff1e8322,Power Pages Authenticated Users per site monthly capacity GCCH -"Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_USGOV_GCCHIGH","Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_USGOV_GCCHIGH",01d46c34-3525-47d5-bd1a-5f19979938a0,PowerPages_Authenticated_Users_GCCH,5410f688-68f2-47a5-9b8f-7466194a806a,Power Pages Authenticated Users per site mthly capacity GCCH New +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack CN_CN,Power Pages authenticated users T3_CN_CN,2cfd692f-a352-4fa8-b960-e3ad0c9b1178,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack CN_CN,Power Pages authenticated users T3_CN_CN,2cfd692f-a352-4fa8-b960-e3ad0c9b1178,PowerPages_Authenticated_User_CN,967d9574-a076-4bb7-ab89-f41f64bc142e,Power Pages Authenticated Users per site monthly capacity China +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack,878b8bbd-3cd0-4b44-9a56-3406741e65e0,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack,878b8bbd-3cd0-4b44-9a56-3406741e65e0,PowerPages_Authenticated_User,0d3366f3-266e-4117-b422-7cabbc165e7c,Power Pages Authenticated Users per site monthly capacity +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack,878b8bbd-3cd0-4b44-9a56-3406741e65e0,PowerPages_Authenticated_User_GCCH,18e74ca2-b5f0-4802-9a8b-00d2ff1e8322,Power Pages Authenticated Users per site monthly capacity GCCH +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_GCC,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_GCC,53265c61-c78c-4223-ab30-422da0c97fbb,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_GCC,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_GCC,53265c61-c78c-4223-ab30-422da0c97fbb,PowerPages_Authenticated_User_GCC,cdf787bd-1546-48d2-9e93-b21f9ea7067a,Power Pages Authenticated Users per site monthly capacity GCC +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_USGOV_DOD,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_USGOV_DOD,398d37b5-8deb-48db-8f7f-703eb2fb7c72,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_USGOV_DOD,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_USGOV_DOD,398d37b5-8deb-48db-8f7f-703eb2fb7c72,PowerPages_Authenticated_User_DoD,03300fea-7a88-45a6-b5bd-29653803c591,Power Pages Authenticated Users per site monthly capacity DoD +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_USGOV_GCCHIGH,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_USGOV_GCCHIGH,01d46c34-3525-47d5-bd1a-5f19979938a0,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_USGOV_GCCHIGH,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_USGOV_GCCHIGH,01d46c34-3525-47d5-bd1a-5f19979938a0,PowerPages_Authenticated_User_GCCH,18e74ca2-b5f0-4802-9a8b-00d2ff1e8322,Power Pages Authenticated Users per site monthly capacity GCCH +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_USGOV_GCCHIGH,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_USGOV_GCCHIGH,01d46c34-3525-47d5-bd1a-5f19979938a0,PowerPages_Authenticated_Users_GCCH,5410f688-68f2-47a5-9b8f-7466194a806a,Power Pages Authenticated Users per site mthly capacity GCCH New Power Pages vTrial for Makers,Power_Pages_vTrial_for_Makers,3f9f06f5-3c31-472c-985f-62d9c10ec167,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Power Pages vTrial for Makers,Power_Pages_vTrial_for_Makers,3f9f06f5-3c31-472c-985f-62d9c10ec167,DYN365_CDS_VIRAL,17ab22cd-a0b3-4536-910a-cb6eb12696c0,Common Data Service Power Pages vTrial for Makers,Power_Pages_vTrial_for_Makers,3f9f06f5-3c31-472c-985f-62d9c10ec167,POWER_PAGES_VTRIAL,6817d093-2d30-4249-8bd6-774f01efa78c,Power Pages vTrial for Makers @@ -4641,9 +4709,9 @@ Power Virtual Agent User License for GCC,VIRTUAL_AGENT_USL_GCC,f1de227b-f1bd-495 Power Virtual Agents Viral Trial,CCIBOTS_PRIVPREV_VIRAL,606b54a9-78d8-4298-ad8b-df6ef4481c80,DYN365_CDS_CCI_BOTS,cf7034ed-348f-42eb-8bbd-dddeea43ee81,Common Data Service for CCI Bots Power Virtual Agents Viral Trial,CCIBOTS_PRIVPREV_VIRAL,606b54a9-78d8-4298-ad8b-df6ef4481c80,CCIBOTS_PRIVPREV_VIRAL,ce312d15-8fdf-44c0-9974-a25a177125ee,Dynamics 365 AI for Customer Service Virtual Agents Viral Power Virtual Agents Viral Trial,CCIBOTS_PRIVPREV_VIRAL,606b54a9-78d8-4298-ad8b-df6ef4481c80,FLOW_CCI_BOTS,5d798708-6473-48ad-9776-3acc301c40af,Flow for CCI Bots -Privacy Management � risk,PRIVACY_MANAGEMENT_RISK,e42bc969-759a-4820-9283-6b73085b68e6,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 -Privacy Management � risk,PRIVACY_MANAGEMENT_RISK,e42bc969-759a-4820-9283-6b73085b68e6,PRIVACY_MANGEMENT_RISK,f281fb1f-99a7-46ab-9edb-ffd74e260ed3,Priva - Risk -Privacy Management � risk,PRIVACY_MANAGEMENT_RISK,e42bc969-759a-4820-9283-6b73085b68e6,PRIVACY_MANGEMENT_RISK_EXCHANGE,ebb17a6e-6002-4f65-acb0-d386480cebc1,Priva - Risk (Exchange) +Privacy Management – risk,PRIVACY_MANAGEMENT_RISK,e42bc969-759a-4820-9283-6b73085b68e6,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 +Privacy Management – risk,PRIVACY_MANAGEMENT_RISK,e42bc969-759a-4820-9283-6b73085b68e6,PRIVACY_MANGEMENT_RISK,f281fb1f-99a7-46ab-9edb-ffd74e260ed3,Priva - Risk +Privacy Management – risk,PRIVACY_MANAGEMENT_RISK,e42bc969-759a-4820-9283-6b73085b68e6,PRIVACY_MANGEMENT_RISK_EXCHANGE,ebb17a6e-6002-4f65-acb0-d386480cebc1,Priva - Risk (Exchange) Privacy Management - risk for EDU,PRIVACY_MANAGEMENT_RISK_EDU,dcdbaae7-d8c9-40cb-8bb1-62737b9e5a86,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 Privacy Management - risk for EDU,PRIVACY_MANAGEMENT_RISK_EDU,dcdbaae7-d8c9-40cb-8bb1-62737b9e5a86,PRIVACY_MANGEMENT_RISK,f281fb1f-99a7-46ab-9edb-ffd74e260ed3,Priva - Risk Privacy Management - risk for EDU,PRIVACY_MANAGEMENT_RISK_EDU,dcdbaae7-d8c9-40cb-8bb1-62737b9e5a86,PRIVACY_MANGEMENT_RISK_EXCHANGE,ebb17a6e-6002-4f65-acb0-d386480cebc1,Priva - Risk (Exchange) @@ -4842,6 +4910,7 @@ SharePoint Syntex,Intelligent_Content_Services,f61d4aba-134f-44e9-a2a0-f81a5adb2 SharePoint Syntex,Intelligent_Content_Services,f61d4aba-134f-44e9-a2a0-f81a5adb26e4,Intelligent_Content_Services_SPO_type,fd2e7f90-1010-487e-a11b-d2b1ae9651fc,SharePoint Syntex - SPO type Skype for Business Online (Plan 1),MCOIMP,b8b749f8-a4ef-4887-9539-c95b1eaa5db7,MCOIMP,afc06cb0-b4f4-4473-8286-d644f70d8faf,SKYPE FOR BUSINESS ONLINE (PLAN 1) Skype for Business Online (Plan 2),MCOSTANDARD,d42c793f-6c78-4f43-92ca-e8f6a02b035f,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,SKYPE FOR BUSINESS ONLINE (PLAN 2) +Skype for Business PSTN Calling Domestic Small,MCOPSTN5,d43177b5-475b-4880-92d4-d54c27b5efbd,Skype for Business PSTN Calling Domestic Small,9a0125a5-c8f8-4526-b231-49e2abe0ebce,Skype for Business PSTN Calling Domestic Small Skype for Business PSTN Domestic and International Calling,MCOPSTN2,d3b4fe1f-9992-4930-8acb-ca6ec609365e,MCOPSTN2,5a10155d-f5c1-411a-a8ec-e99aae125390,DOMESTIC AND INTERNATIONAL CALLING PLAN Skype for Business PSTN Domestic Calling,MCOPSTN1,0dab259f-bf13-4952-b7f8-7db8f131b28d,MCOPSTN1,4ed3ff63-69d7-4fb7-b984-5aec7f605ca8,DOMESTIC CALLING PLAN Skype for Business PSTN Domestic Calling (120 Minutes),MCOPSTN5,54a152dc-90de-4996-93d2-bc47e670fc06,MCOPSTN5,54a152dc-90de-4996-93d2-bc47e670fc06,DOMESTIC CALLING PLAN @@ -4866,6 +4935,7 @@ Teams Rooms Premium,MTR_PREM,4fb214cb-a430-4a91-9c91-4976763aa78f,MCOSTANDARD,0f Teams Rooms Premium,MTR_PREM,4fb214cb-a430-4a91-9c91-4976763aa78f,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) TELSTRA Calling for O365,MCOPSTNEAU2,de3312e1-c7b0-46e6-a7c3-a515ff90bc86,MCOPSTNEAU,7861360b-dc3b-4eba-a3fc-0d323a035746,AUSTRALIA CALLING PLAN Universal Print,UNIVERSAL_PRINT,9f3d9c1d-25a5-4aaa-8e59-23a1e6450a67,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Viva Learning,VIVA_LEARNING,c9d442fc-21fb-4bd7-89e0-a710d74987f6,VIVA_LEARNING_PREMIUM,7162bd38-edae-4022-83a7-c5837f951759,Viva Learning Universal Print,UNIVERSAL_PRINT,9f3d9c1d-25a5-4aaa-8e59-23a1e6450a67,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print Visio Plan 1,VISIO_PLAN1_DEPT,ca7f3140-d88c-455b-9a1c-7f0679e31a76,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Visio Plan 1,VISIO_PLAN1_DEPT,ca7f3140-d88c-455b-9a1c-7f0679e31a76,ONEDRIVE_BASIC,da792a53-cbc0-4184-a10d-e544dd34b3c1,OneDrive for business Basic @@ -4905,11 +4975,11 @@ Windows 10/11 Enterprise E5 (Original),WIN_ENT_E5,1e7e1070-8ccb-4aca-b470-d7cb53 Windows 10/11 Enterprise E5 (Original),WIN_ENT_E5,1e7e1070-8ccb-4aca-b470-d7cb538cb07e,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service Windows 10/11 Enterprise A3 for faculty,WIN10_ENT_A3_FAC,8efbe2f6-106e-442f-97d4-a59aa6037e06,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Windows 10/11 Enterprise A3 for faculty,WIN10_ENT_A3_FAC,8efbe2f6-106e-442f-97d4-a59aa6037e06,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print -Windows 10/11 Enterprise A3 for faculty,WIN10_ENT_A3_FAC,8efbe2f6-106e-442f-97d4-a59aa6037e06,"Virtualization Rights for Windows 10 (E3/E5+VDA)",e7c91390-7625-45be-94e0-e16907e03118,Windows 10 Enterprise (New) +Windows 10/11 Enterprise A3 for faculty,WIN10_ENT_A3_FAC,8efbe2f6-106e-442f-97d4-a59aa6037e06,Virtualization Rights for Windows 10 (E3/E5+VDA),e7c91390-7625-45be-94e0-e16907e03118,Windows 10 Enterprise (New) Windows 10/11 Enterprise A3 for faculty,WIN10_ENT_A3_FAC,8efbe2f6-106e-442f-97d4-a59aa6037e06,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service Windows 10/11 Enterprise A3 for students,WIN10_ENT_A3_STU,d4ef921e-840b-4b48-9a90-ab6698bc7b31,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Windows 10/11 Enterprise A3 for students,WIN10_ENT_A3_STU,d4ef921e-840b-4b48-9a90-ab6698bc7b31,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print -Windows 10/11 Enterprise A3 for students,WIN10_ENT_A3_STU,d4ef921e-840b-4b48-9a90-ab6698bc7b31,"Virtualization Rights for Windows 10 (E3/E5+VDA)",e7c91390-7625-45be-94e0-e16907e03118,Windows 10 Enterprise (New) +Windows 10/11 Enterprise A3 for students,WIN10_ENT_A3_STU,d4ef921e-840b-4b48-9a90-ab6698bc7b31,Virtualization Rights for Windows 10 (E3/E5+VDA),e7c91390-7625-45be-94e0-e16907e03118,Windows 10 Enterprise (New) Windows 10/11 Enterprise A3 for students,WIN10_ENT_A3_STU,d4ef921e-840b-4b48-9a90-ab6698bc7b31,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service Windows 10/11 Enterprise A5 for faculty,WIN10_ENT_A5_FAC,7b1a89a9-5eb9-4cf8-9467-20c943f1122c,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Windows 10/11 Enterprise A5 for faculty,WIN10_ENT_A5_FAC,7b1a89a9-5eb9-4cf8-9467-20c943f1122c,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,Microsoft Defender for Endpoint @@ -4919,18 +4989,18 @@ Windows 10/11 Enterprise A5 for faculty,WIN10_ENT_A5_FAC,7b1a89a9-5eb9-4cf8-9467 Windows 10/11 Enterprise E3,WIN10_PRO_ENT_SUB,cb10e6cd-9da4-4992-867b-67546b1db821,WIN10_PRO_ENT_SUB,21b439ba-a0ca-424f-a6cc-52f954a5b111,WINDOWS 10 ENTERPRISE Windows 10/11 Enterprise E3,WIN10_VDA_E3,6a0f6da5-0b87-4190-a6ae-9bb5a2b9546a,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,EXCHANGE FOUNDATION Windows 10/11 Enterprise E3,WIN10_VDA_E3,6a0f6da5-0b87-4190-a6ae-9bb5a2b9546a,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,UNIVERSAL PRINT -Windows 10/11 Enterprise E3,WIN10_VDA_E3,6a0f6da5-0b87-4190-a6ae-9bb5a2b9546a,"Virtualization Rights for Windows 10 (E3/E5+VDA)",e7c91390-7625-45be-94e0-e16907e03118,WINDOWS 10 ENTERPRISE (NEW) +Windows 10/11 Enterprise E3,WIN10_VDA_E3,6a0f6da5-0b87-4190-a6ae-9bb5a2b9546a,Virtualization Rights for Windows 10 (E3/E5+VDA),e7c91390-7625-45be-94e0-e16907e03118,WINDOWS 10 ENTERPRISE (NEW) Windows 10/11 Enterprise E3,WIN10_VDA_E3,6a0f6da5-0b87-4190-a6ae-9bb5a2b9546a,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,WINDOWS UPDATE FOR BUSINESS DEPLOYMENT SERVICE Windows 10/11 Enterprise E3,WIN10_VDA_E3,6a0f6da5-0b87-4190-a6ae-9bb5a2b9546a,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch Windows 10/11 Enterprise E5,WIN10_VDA_E5,488ba24a-39a9-4473-8ee5-19291e71b002,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Windows 10/11 Enterprise E5,WIN10_VDA_E5,488ba24a-39a9-4473-8ee5-19291e71b002,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,Microsoft Defender For Endpoint Windows 10/11 Enterprise E5,WIN10_VDA_E5,488ba24a-39a9-4473-8ee5-19291e71b002,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print -Windows 10/11 Enterprise E5,WIN10_VDA_E5,488ba24a-39a9-4473-8ee5-19291e71b002,"Virtualization Rights for Windows 10 (E3/E5+VDA)",e7c91390-7625-45be-94e0-e16907e03118,Windows 10 Enterprise (New) +Windows 10/11 Enterprise E5,WIN10_VDA_E5,488ba24a-39a9-4473-8ee5-19291e71b002,Virtualization Rights for Windows 10 (E3/E5+VDA),e7c91390-7625-45be-94e0-e16907e03118,Windows 10 Enterprise (New) Windows 10/11 Enterprise E5,WIN10_VDA_E5,488ba24a-39a9-4473-8ee5-19291e71b002,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service Windows 10/11 Enterprise E5,WIN10_VDA_E5,488ba24a-39a9-4473-8ee5-19291e71b002,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch Windows 10/11 Enterprise E5 Commercial (GCC Compatible),WINE5_GCC_COMPAT,938fd547-d794-42a4-996c-1cc206619580,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government Windows 10/11 Enterprise E5 Commercial (GCC Compatible),WINE5_GCC_COMPAT,938fd547-d794-42a4-996c-1cc206619580,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,Microsoft Defender For Endpoint -Windows 10/11 Enterprise E5 Commercial (GCC Compatible),WINE5_GCC_COMPAT,938fd547-d794-42a4-996c-1cc206619580,"Virtualization Rights for Windows 10 (E3/E5+VDA)",e7c91390-7625-45be-94e0-e16907e03118,Windows 10 Enterprise (New) +Windows 10/11 Enterprise E5 Commercial (GCC Compatible),WINE5_GCC_COMPAT,938fd547-d794-42a4-996c-1cc206619580,Virtualization Rights for Windows 10 (E3/E5+VDA),e7c91390-7625-45be-94e0-e16907e03118,Windows 10 Enterprise (New) Windows 10/11 Enterprise E3 VDA,E3_VDA_only,d13ef257-988a-46f3-8fce-f47484dd4550,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Windows 10/11 Enterprise E3 VDA,E3_VDA_only,d13ef257-988a-46f3-8fce-f47484dd4550,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print Windows 10/11 Enterprise E3 VDA,E3_VDA_only,d13ef257-988a-46f3-8fce-f47484dd4550,Virtualization Rights for Windows 10 (E3/E5+VDA),e7c91390-7625-45be-94e0-e16907e03118,Windows 10/11 Enterprise @@ -4957,7 +5027,7 @@ Windows 365 Business 2 vCPU 4 GB 64 GB,CPC_B_2C_4RAM_64GB,42e6818f-8966-444b-b7a Windows 365 Business 2 vCPU 8 GB 128 GB,CPC_B_2C_8RAM_128GB,71f21848-f89b-4aaa-a2dc-780c8e8aac5b,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Windows 365 Business 2 vCPU 8 GB 128 GB,CPC_B_2C_8RAM_128GB,71f21848-f89b-4aaa-a2dc-780c8e8aac5b,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) Windows 365 Business 2 vCPU 8 GB 128 GB,CPC_B_2C_8RAM_128GB,71f21848-f89b-4aaa-a2dc-780c8e8aac5b,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) -Windows 365 Business 2 vCPU 8 GB 128 GB,CPC_B_2C_8RAM_128GB,71f21848-f89b-4aaa-a2dc-780c8e8aac5b,CPC_SS_2,9d2eed2c-b0c0-4a89-940c-bc303444a41b,"Windows 365 Business 2 vCPU, 8 GB, 128 GB" +Windows 365 Business 2 vCPU 8 GB 128 GB,CPC_B_2C_8RAM_128GB,71f21848-f89b-4aaa-a2dc-780c8e8aac5b,CPC_SS_2,9d2eed2c-b0c0-4a89-940c-bc303444a41b,Windows 365 Business 2 vCPU, 8 GB, 128 GB Windows 365 Business 2 vCPU 8 GB 256 GB,CPC_B_2C_8RAM_256GB,750d9542-a2f8-41c7-8c81-311352173432,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Windows 365 Business 2 vCPU 8 GB 256 GB,CPC_B_2C_8RAM_256GB,750d9542-a2f8-41c7-8c81-311352173432,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) Windows 365 Business 2 vCPU 8 GB 256 GB,CPC_B_2C_8RAM_256GB,750d9542-a2f8-41c7-8c81-311352173432,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) @@ -4988,6 +5058,14 @@ Windows 365 Business 8 vCPU 32 GB 512 GB,CPC_B_8C_32RAM_512GB,8ee402cd-e6a8-4b67 Windows 365 Business 8 vCPU 32 GB 512 GB,CPC_B_8C_32RAM_512GB,8ee402cd-e6a8-4b67-a411-54d1f37a2049,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) Windows 365 Business 8 vCPU 32 GB 512 GB,CPC_B_8C_32RAM_512GB,8ee402cd-e6a8-4b67-a411-54d1f37a2049,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) Windows 365 Business 8 vCPU 32 GB 512 GB,CPC_B_8C_32RAM_512GB,8ee402cd-e6a8-4b67-a411-54d1f37a2049,CPC_B_8C_32RAM_512GB,4229a0b4-7f34-4835-b068-6dc8d10be57c,Windows 365 Business 8 vCPU 32 GB 512 GB +Windows 365 Business 16 vCPU, 64 GB, 512 GB,Windows_365_Business_16_vCPU,_64_GB,_512_GB,93d9955a-ec70-44d5-8faa-a194492390f7,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 365 Business 16 vCPU, 64 GB, 512 GB,Windows_365_Business_16_vCPU,_64_GB,_512_GB,93d9955a-ec70-44d5-8faa-a194492390f7,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Windows 365 Business 16 vCPU, 64 GB, 512 GB,Windows_365_Business_16_vCPU,_64_GB,_512_GB,93d9955a-ec70-44d5-8faa-a194492390f7,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) +Windows 365 Business 16 vCPU, 64 GB, 512 GB,Windows_365_Business_16_vCPU,_64_GB,_512_GB,93d9955a-ec70-44d5-8faa-a194492390f7,CPC_B_16C_64GB_512GB,cbbedc49-52d5-4fd6-82ac-a5bc51634dc3,Windows 365 Business 16 vCPU, 64 GB, 512 GB +Windows 365 Business 16 vCPU, 64 GB, 1 TB,Windows_365_Business_16_vCPU,_64_GB,_1_TB,24be3cd7-82ca-41a5-94a7-4903373cdcae,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 365 Business 16 vCPU, 64 GB, 1 TB,Windows_365_Business_16_vCPU,_64_GB,_1_TB,24be3cd7-82ca-41a5-94a7-4903373cdcae,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Windows 365 Business 16 vCPU, 64 GB, 1 TB,Windows_365_Business_16_vCPU,_64_GB,_1_TB,24be3cd7-82ca-41a5-94a7-4903373cdcae,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) +Windows 365 Business 16 vCPU, 64 GB, 1 TB,Windows_365_Business_16_vCPU,_64_GB,_1_TB,24be3cd7-82ca-41a5-94a7-4903373cdcae,CPC_B_16C_64GB_1TB,37c961db-2cfd-4e13-b81e-b0059ce10e34,Windows 365 Business 16 vCPU, 64 GB, 1 TB Windows 365 Enterprise 1 vCPU 2 GB 64 GB,CPC_E_1C_2GB_64GB,0c278af4-c9c1-45de-9f4b-cd929e747a2c,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Windows 365 Enterprise 1 vCPU 2 GB 64 GB,CPC_E_1C_2GB_64GB,0c278af4-c9c1-45de-9f4b-cd929e747a2c,CPC_E_1C_2GB_64GB,86d70dbb-d4c6-4662-ba17-3014204cbb28,Windows 365 Enterprise 1 vCPU 2 GB 64 GB Windows 365 Enterprise 2 vCPU 4 GB 64 GB,CPC_E_2C_4GB_64GB,7bb14422-3b90-4389-a7be-f1b745fc037f,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation diff --git a/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Applications/Push-GetApplicationQueue.ps1 b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Applications/Push-GetApplicationQueue.ps1 new file mode 100644 index 000000000000..91665837d1e0 --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Applications/Push-GetApplicationQueue.ps1 @@ -0,0 +1,5 @@ +function Push-GetApplicationQueue { + param() + $Table = Get-CippTable -tablename 'apps' + Get-CIPPAzDataTableEntity @Table | Select-Object @{Name = 'Name'; Expression = { $_.RowKey } }, @{Name = 'FunctionName'; Expression = { 'UploadApplication' } } +} diff --git a/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Applications/Push-UploadApplication.ps1 b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Applications/Push-UploadApplication.ps1 new file mode 100644 index 000000000000..f718564301fc --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Applications/Push-UploadApplication.ps1 @@ -0,0 +1,135 @@ +function Push-UploadApplication { + <# + .FUNCTIONALITY + Entrypoint + #> + [CmdletBinding()] + param($Item) + + try { + $Table = Get-CippTable -tablename 'apps' + $Filter = "PartitionKey eq 'apps' and RowKey eq '$($Item.Name)'" + + $ModuleRoot = (Get-Module CIPPCore).ModuleBase + $CippRoot = (Get-Item $ModuleRoot).Parent.Parent + Set-Location $CippRoot + + $ChocoApp = (Get-CIPPAzDataTableEntity @Table -filter $Filter).JSON | ConvertFrom-Json + $intuneBody = $ChocoApp.IntuneBody + $tenants = if ($chocoapp.Tenant -eq 'AllTenants') { + (Get-tenants).defaultDomainName + } else { + $chocoapp.Tenant + } + if ($chocoApp.type -eq 'MSPApp') { + [xml]$Intunexml = Get-Content "AddMSPApp\$($ChocoApp.MSPAppName).app.xml" + $intunewinFilesize = (Get-Item "AddMSPApp\$($ChocoApp.MSPAppName).intunewin") + $Infile = "AddMSPApp\$($ChocoApp.MSPAppName).intunewin" + } else { + [xml]$Intunexml = Get-Content 'AddChocoApp\choco.app.xml' + $intunewinFilesize = (Get-Item 'AddChocoApp\IntunePackage.intunewin') + $Infile = "AddChocoApp\$($intunexml.ApplicationInfo.FileName)" + } + $assignTo = $ChocoApp.AssignTo + $AssignToIntent = $ChocoApp.InstallationIntent + $Baseuri = 'https://graph.microsoft.com/beta/deviceAppManagement/mobileApps' + $ContentBody = ConvertTo-Json @{ + name = $intunexml.ApplicationInfo.FileName + size = [int64]$intunexml.ApplicationInfo.UnencryptedContentSize + sizeEncrypted = [int64]($intunewinFilesize).length + } + $ClearRow = Get-CIPPAzDataTableEntity @Table -Filter $Filter + $RemoveCacheFile = if ($chocoapp.Tenant -ne 'AllTenants') { + Remove-AzDataTableEntity @Table -Entity $clearRow + } else { + $Table.Force = $true + Add-CIPPAzDataTableEntity @Table -Entity @{ + JSON = "$($ChocoApp | ConvertTo-Json)" + RowKey = "$($ClearRow.RowKey)" + PartitionKey = 'apps' + status = 'Deployed' + } + } + $EncBody = @{ + fileEncryptionInfo = @{ + encryptionKey = $intunexml.ApplicationInfo.EncryptionInfo.EncryptionKey + macKey = $intunexml.ApplicationInfo.EncryptionInfo.MacKey + initializationVector = $intunexml.ApplicationInfo.EncryptionInfo.InitializationVector + mac = $intunexml.ApplicationInfo.EncryptionInfo.Mac + profileIdentifier = $intunexml.ApplicationInfo.EncryptionInfo.ProfileIdentifier + fileDigest = $intunexml.ApplicationInfo.EncryptionInfo.FileDigest + fileDigestAlgorithm = $intunexml.ApplicationInfo.EncryptionInfo.FileDigestAlgorithm + } + } | ConvertTo-Json + + foreach ($tenant in $tenants) { + Try { + $ApplicationList = (New-graphGetRequest -Uri $baseuri -tenantid $Tenant) | Where-Object { $_.DisplayName -eq $ChocoApp.ApplicationName } + if ($ApplicationList.displayname.count -ge 1) { + Write-LogMessage -api 'AppUpload' -tenant $($Tenant) -message "$($ChocoApp.ApplicationName) exists. Skipping this application" -Sev 'Info' + continue + } + if ($chocoApp.type -eq 'WinGet') { + Write-Host 'Winget!' + Write-Host ($intuneBody | ConvertTo-Json -Compress) + $NewApp = New-GraphPostRequest -Uri $baseuri -Body ($intuneBody | ConvertTo-Json -Compress) -Type POST -tenantid $tenant + Start-Sleep -Milliseconds 200 + Write-LogMessage -api 'AppUpload' -tenant $($Tenant) -message "$($ChocoApp.ApplicationName) uploaded as WinGet app." -Sev 'Info' + if ($AssignTo -ne 'On') { + $intent = if ($AssignToIntent) { 'Uninstall' } else { 'Required' } + Set-CIPPAssignedApplication -ApplicationId $NewApp.Id -Intent $intent -TenantFilter $tenant -groupName "$AssignTo" -AppType 'WinGet' + } + Write-LogMessage -api 'AppUpload' -tenant $($Tenant) -message "$($ChocoApp.ApplicationName) Successfully created" -Sev 'Info' + exit 0 + } else { + $NewApp = New-GraphPostRequest -Uri $baseuri -Body ($intuneBody | ConvertTo-Json) -Type POST -tenantid $tenant + + } + $ContentReq = New-GraphPostRequest -Uri "$($BaseURI)/$($NewApp.id)/microsoft.graph.win32lobapp/contentVersions/1/files/" -Body $ContentBody -Type POST -tenantid $tenant + do { + $AzFileUri = New-graphGetRequest -Uri "$($BaseURI)/$($NewApp.id)/microsoft.graph.win32lobapp/contentVersions/1/files/$($ContentReq.id)" -tenantid $tenant + if ($AZfileuri.uploadState -like '*fail*') { break } + Start-Sleep -Milliseconds 300 + } while ($AzFileUri.AzureStorageUri -eq $null) + Write-Host "Uploading file to $($AzFileUri.azureStorageUri)" + Write-Host "Complete AZ file uri data: $($AzFileUri | ConvertTo-Json -Depth 10)" + $chunkSizeInBytes = 4mb + [byte[]]$bytes = [System.IO.File]::ReadAllBytes($($intunewinFilesize.fullname)) + $chunks = [Math]::Ceiling($bytes.Length / $chunkSizeInBytes) + $id = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($chunks.ToString('0000'))) + #For anyone that reads this, The maximum chunk size is 100MB for blob storage, so we can upload it as one part and just give it the single ID. Easy :) + $Upload = Invoke-RestMethod -Uri "$($AzFileUri.azureStorageUri)&comp=block&blockid=$id" -Method Put -Headers @{'x-ms-blob-type' = 'BlockBlob' } -InFile $inFile -ContentType 'application/octet-stream' + Write-Host "Upload data: $($Upload | ConvertTo-Json -Depth 10)" + $ConfirmUpload = Invoke-RestMethod -Uri "$($AzFileUri.azureStorageUri)&comp=blocklist" -Method Put -Body "$id" -ContentType 'application/xml' + Write-Host "Confirm Upload data: $($ConfirmUpload | ConvertTo-Json -Depth 10)" + $CommitReq = New-graphPostRequest -Uri "$($BaseURI)/$($NewApp.id)/microsoft.graph.win32lobapp/contentVersions/1/files/$($ContentReq.id)/commit" -Body $EncBody -Type POST -tenantid $tenant + Write-Host "Commit Request: $($CommitReq | ConvertTo-Json -Depth 10)" + + do { + $CommitStateReq = New-graphGetRequest -Uri "$($BaseURI)/$($NewApp.id)/microsoft.graph.win32lobapp/contentVersions/1/files/$($ContentReq.id)" -tenantid $tenant + Write-Host "Commit State Request: $($CommitStateReq | ConvertTo-Json -Depth 10)" + if ($CommitStateReq.uploadState -like '*fail*') { + Write-LogMessage -api 'AppUpload' -tenant $($Tenant) -message "$($ChocoApp.ApplicationName) Commit failed. Please check if app uploaded succesful" -Sev 'Warning' + break + } + Start-Sleep -Milliseconds 300 + } while ($CommitStateReq.uploadState -eq 'commitFilePending') + $CommitFinalizeReq = New-graphPostRequest -Uri "$($BaseURI)/$($NewApp.id)" -tenantid $tenant -Body '{"@odata.type":"#microsoft.graph.win32lobapp","committedContentVersion":"1"}' -type PATCH + Write-Host "Commit Finalize Request: $($CommitFinalizeReq | ConvertTo-Json -Depth 10)" + Write-LogMessage -api 'AppUpload' -tenant $($Tenant) -message "Added Application $($chocoApp.ApplicationName)" -Sev 'Info' + if ($AssignTo -ne 'On') { + $intent = if ($AssignToIntent) { 'Uninstall' } else { 'Required' } + Set-CIPPAssignedApplication -ApplicationId $NewApp.Id -Intent $intent -TenantFilter $tenant -groupName "$AssignTo" -AppType 'Win32Lob' + + } + Write-LogMessage -api 'AppUpload' -tenant $($Tenant) -message 'Successfully added Application' -Sev 'Info' + } catch { + "Failed to add Application for $($Tenant): $($_.Exception.Message)" + Write-LogMessage -api 'AppUpload' -tenant $($Tenant) -message "Failed adding Application $($ChocoApp.ApplicationName). Error: $($_.Exception.Message)" -LogData (Get-CippException -Exception $_) -Sev 'Error' + continue + } + } + } catch { + Write-Host "Error pushing application: $($_.Exception.Message)" + } +} diff --git a/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/BEC/Push-BECRun.ps1 b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/BEC/Push-BECRun.ps1 new file mode 100644 index 000000000000..46800bad1f59 --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/BEC/Push-BECRun.ps1 @@ -0,0 +1,197 @@ +function Push-BECRun { + <# + .FUNCTIONALITY + Entrypoint + #> + param($Item) + + $TenantFilter = $Item.TenantFilter + $SuspectUser = $Item.UserID + $UserName = $Item.userName + + if (!$TenantFilter -or !$SuspectUser) { + Write-Information 'BEC: No user or tenant specified' + return + } + $Table = Get-CippTable -tablename 'cachebec' + + Write-Information "Working on $UserName" + try { + $startDate = (Get-Date).AddDays(-7).ToUniversalTime() + $endDate = (Get-Date) + Write-Information 'Getting audit logs' + $auditLog = (New-ExoRequest -tenantid $TenantFilter -cmdlet 'Get-AdminAuditLogConfig').UnifiedAuditLogIngestionEnabled + $7dayslog = if ($auditLog -eq $false) { + $ExtractResult = 'AuditLog is disabled. Cannot perform full analysis' + } else { + $sessionid = Get-Random -Minimum 10000 -Maximum 99999 + $operations = @( + 'New-InboxRule', + 'Set-InboxRule', + 'UpdateInboxRules', + 'Remove-MailboxPermission', + 'Add-MailboxPermission', + 'UpdateCalendarDelegation', + 'AddFolderPermissions', + 'MailboxLogin', + 'UserLoggedIn' + ) + $startDate = (Get-Date).AddDays(-7) + $endDate = (Get-Date) + $SearchParam = @{ + SessionCommand = 'ReturnLargeSet' + Operations = $operations + sessionid = $sessionid + startDate = $startDate + endDate = $endDate + } + do { + New-ExoRequest -tenantid $TenantFilter -cmdlet 'Search-unifiedAuditLog' -cmdParams $SearchParam -Anchor $Username + Write-Information "Retrieved $($logsTenant.count) logs" + $logsTenant + } while ($LogsTenant.count % 5000 -eq 0 -and $LogsTenant.count -ne 0) + $ExtractResult = 'Successfully extracted logs from auditlog' + } + Write-Information 'Getting last sign-in' + Try { + $URI = "https://graph.microsoft.com/beta/auditLogs/signIns?`$filter=(userId eq '$SuspectUser')&`$top=1&`$orderby=createdDateTime desc" + $LastSignIn = New-GraphGetRequest -uri $URI -tenantid $TenantFilter -noPagination $true -verbose | Select-Object @{ Name = 'CreatedDateTime'; Expression = { $(($_.createdDateTime | Out-String) -replace '\r\n') } }, + id, + @{ Name = 'AppDisplayName'; Expression = { $_.resourceDisplayName } }, + @{ Name = 'Status'; Expression = { if (($_.conditionalAccessStatus -eq 'Success' -or 'Not Applied') -and $_.status.errorCode -eq 0) { 'Success' } else { 'Failed' } } }, + @{ Name = 'IPAddress'; Expression = { $_.ipAddress } } + } catch { + $LastSignIn = [PSCustomObject]@{ + AppDisplayName = 'Unknown - could not retrieve information. No access to sign-in logs' + CreatedDateTime = 'Unknown' + Id = '0' + Status = 'Could not retrieve additional details' + } + } + Write-Information 'Getting user devices' + #List all users devices + $Bytes = [System.Text.Encoding]::UTF8.GetBytes($SuspectUser) + $base64IdentityParam = [Convert]::ToBase64String($Bytes) + Try { + $Devices = New-GraphGetRequest -uri "https://outlook.office365.com:443/adminapi/beta/$($TenantFilter)/mailbox('$($base64IdentityParam)')/MobileDevice/Exchange.GetMobileDeviceStatistics()/?IsEncoded=True" -Tenantid $TenantFilter -scope ExchangeOnline + } catch { + $Devices = $null + } + + try { + $PermissionsLog = ($7dayslog | Where-Object -Property Operations -In 'Remove-MailboxPermission', 'Add-MailboxPermission', 'UpdateCalendarDelegation', 'AddFolderPermissions' ).AuditData | ConvertFrom-Json -ErrorAction Stop | ForEach-Object { + $perms = if ($_.Parameters) { + $_.Parameters | ForEach-Object { if ($_.Name -eq 'AccessRights') { $_.Value } } + } else + { $_.item.ParentFolder.MemberRights } + $objectID = if ($_.ObjectID) { $_.ObjectID } else { $($_.MailboxOwnerUPN) + $_.item.ParentFolder.Path } + [pscustomobject]@{ + Operation = $_.Operation + UserKey = $_.UserKey + ObjectId = $objectId + Permissions = $perms + } + } + } catch { + $PermissionsLog = @() + } + + try { + $RulesLog = @(($7dayslog | Where-Object -Property Operations -In 'New-InboxRule', 'Set-InboxRule', 'UpdateInboxRules').AuditData | ConvertFrom-Json -ErrorAction Stop) | ForEach-Object { + Write-Information ($_ | ConvertTo-Json) + [pscustomobject]@{ + ClientIP = $_.ClientIP + CreationTime = $_.CreationTime + UserId = $_.UserId + RuleName = ($_.OperationProperties | ForEach-Object { if ($_.Name -eq 'RuleName') { $_.Value } }) + RuleCondition = ($_.OperationProperties | ForEach-Object { if ($_.Name -eq 'RuleCondition') { $_.Value } }) + } + } + } catch { + $RulesLog = @() + } + + Write-Information 'Getting last 50 logons' + try { + $Last50Logons = New-GraphGetRequest -uri "https://graph.microsoft.com/beta/auditLogs/signIns?`$filter=userDisplayName ne 'On-Premises Directory Synchronization Service Account'&`$top=50&`$orderby=createdDateTime desc" -tenantid $TenantFilter -noPagination $true | Select-Object @{ Name = 'CreatedDateTime'; Expression = { $(($_.createdDateTime | Out-String) -replace '\r\n') } }, + id, + @{ Name = 'AppDisplayName'; Expression = { $_.resourceDisplayName } }, + @{ Name = 'Status'; Expression = { if (($_.conditionalAccessStatus -eq 'Success' -or 'Not Applied') -and $_.status.errorCode -eq 0) { 'Success' } else { 'Failed' } } }, + @{ Name = 'IPAddress'; Expression = { $_.ipAddress } }, UserPrincipalName, UserDisplayName + } catch { + $Last50Logons = @( + [PSCustomObject]@{ + AppDisplayName = 'Unknown - could not retrieve information. No access to sign-in logs' + CreatedDateTime = 'Unknown' + Id = '0' + Status = 'Could not retrieve additional details' + Exception = $_.Exception.Message + } + ) + } + + $Requests = @( + @{ + id = 'Users' + url = "users?`$select=id,displayName,userPrincipalName,createdDateTime,lastPasswordChangeDateTime" + method = 'GET' + } + @{ + id = 'MFADevices' + url = "users/$($SuspectUser)/authentication/methods" + method = 'GET' + } + @{ + id = 'NewSPs' + url = "servicePrincipals?`$select=displayName,createdDateTime,appId,appDisplayName,publisher&`$filter=createdDateTime ge $($startDate.ToString('yyyy-MM-ddTHH:mm:ssZ'))" + method = 'GET' + } + ) + + Write-Information 'Getting bulk requests' + $GraphResults = New-GraphBulkRequest -Requests $Requests -tenantid $TenantFilter -asapp $true + + $PasswordChanges = ($GraphResults | Where-Object { $_.id -eq 'Users' }).body.value | Where-Object { $_.lastPasswordChangeDateTime -ge $startDate } + $NewUsers = ($GraphResults | Where-Object { $_.id -eq 'Users' }).body.value | Where-Object { $_.createdDateTime -ge $startDate } + $MFADevices = ($GraphResults | Where-Object { $_.id -eq 'MFADevices' }).body.value + $NewSPs = ($GraphResults | Where-Object { $_.id -eq 'NewSPs' }).body.value + + + $Results = [PSCustomObject]@{ + AddedApps = @($NewSPs) + SuspectUserMailboxLogons = @($Last50Logons) + LastSuspectUserLogon = @($LastSignIn) + SuspectUserDevices = @($Devices) + NewRules = @($RulesLog) + MailboxPermissionChanges = @($PermissionsLog) + NewUsers = @($NewUsers) + MFADevices = @($MFADevices) + ChangedPasswords = @($PasswordChanges) + ExtractedAt = (Get-Date).ToString('s') + ExtractResult = $ExtractResult + } + + $Entity = @{ + UserId = $SuspectUser + Results = [string]($Results | ConvertTo-Json -Depth 10 -Compress) + RowKey = $SuspectUser + PartitionKey = 'bec' + Status = 'Completed' + } + Add-CIPPAzDataTableEntity @Table -Entity $Entity -Force + Write-LogMessage -API 'BECRun' -message "BEC Check run for $UserName" -tenant $TenantFilter -sev 'Info' + } catch { + $errMessage = Get-NormalizedError -message $_.Exception.Message + $CippError = Get-CippException -Exception $_ + $results = [pscustomobject]@{'Results' = "$errMessage"; Exception = $CippError } + Write-LogMessage -API 'BECRun' -message "Error Running BEC for $($UserName): $errMessage" -tenant $TenantFilter -sev 'Error' -LogData $CIPPError + $Entity = @{ + UserId = $SuspectUser + Results = [string]($Results | ConvertTo-Json -Depth 10 -Compress) + RowKey = $SuspectUser + PartitionKey = 'bec' + Status = 'Error' + } + Add-CIPPAzDataTableEntity @Table -Entity $Entity -Force + } +} diff --git a/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/BPA/Push-BPACollectData.ps1 b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/BPA/Push-BPACollectData.ps1 index af2c6092ff21..840145d08dee 100644 --- a/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/BPA/Push-BPACollectData.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/BPA/Push-BPACollectData.ps1 @@ -19,7 +19,12 @@ function Push-BPACollectData { } } $Table = Get-CippTable -tablename 'cachebpav2' - Write-Host "Working on BPA for $($TenantName.displayName) with GUID $($TenantName.customerId) - Report ID $($Item.Template)" + $Rerun = Test-CIPPRerun -Type 'BPA' -Tenant $TenantName.defaultDomainName -API $Item.Template + if ($Rerun) { + Write-Host 'Detected rerun. Exiting cleanly' + exit 0 + } + Write-Host "Working on BPA for $($TenantName.defaultDomainName) with GUID $($TenantName.customerId) - Report ID $($Item.Template)" $Template = $Templates | Where-Object -Property Name -EQ -Value $Item.Template # Build up the result object that will be stored in tables $Result = @{ diff --git a/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Domain Analyser/Push-DomainAnalyserDomain.ps1 b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Domain Analyser/Push-DomainAnalyserDomain.ps1 index 9952ff679677..3c682fb8854d 100644 --- a/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Domain Analyser/Push-DomainAnalyserDomain.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Domain Analyser/Push-DomainAnalyserDomain.ps1 @@ -59,6 +59,7 @@ function Push-DomainAnalyserDomain { MailProvider = '' DKIMEnabled = '' DKIMRecords = '' + MSCNAMEDKIMSelectors = '' Score = '' MaximumScore = 160 ScorePercentage = '' @@ -123,7 +124,6 @@ function Push-DomainAnalyserDomain { } catch { $Message = 'SPF Error' Write-LogMessage -API 'DomainAnalyser' -tenant $DomainObject.TenantId -message $Message -LogData (Get-CippException -Exception $_) -sev Error - return $Message } # Check SPF Record @@ -186,7 +186,7 @@ function Push-DomainAnalyserDomain { } catch { $Message = 'DMARC Error' Write-LogMessage -API 'DomainAnalyser' -tenant $DomainObject.TenantId -message $Message -LogData (Get-CippException -Exception $_) -sev Error - return $Message + #return $Message } # DNS Sec Check @@ -204,7 +204,7 @@ function Push-DomainAnalyserDomain { } catch { $Message = 'DNSSEC Error' Write-LogMessage -API 'DomainAnalyser' -tenant $DomainObject.TenantId -message $Message -LogData (Get-CippException -Exception $_) -sev Error - return $Message + #return $Message } # DKIM Check @@ -216,6 +216,12 @@ function Push-DomainAnalyserDomain { if (![string]::IsNullOrEmpty($DomainObject.DkimSelectors)) { $DkimParams.Selectors = $DomainObject.DkimSelectors | ConvertFrom-Json } + # Check if its a onmicrosoft.com domain and add special selectors for these + if ($Domain -match 'onmicrosoft.com' -and $Domain -notmatch 'mail.onmicrosoft.com') { + $DKIMSelector1Value = "selector1-$($Domain -replace '\.', '-' )" + $DKIMSelector2Value = "selector2-$($Domain -replace '\.', '-' )" + $DkimParams.Add('Selectors', @("$DKIMSelector1Value", "$DKIMSelector2Value")) + } $DkimRecord = Read-DkimRecord @DkimParams -ErrorAction Stop @@ -233,14 +239,78 @@ function Push-DomainAnalyserDomain { } catch { $Message = 'DKIM Exception' Write-LogMessage -API 'DomainAnalyser' -tenant $DomainObject.TenantId -message $Message -LogData (Get-CippException -Exception $_) -sev Error - return $Message + #return $Message } + + # Get Microsoft DKIM CNAME selector Records + # Ugly, but i needed to create a scope/loop i could break out of without breaking the rest of the function + foreach ($d in $Domain) { + try { + # Test if DKIM is enabled, skip domain if it is + if ($Result.DKIMEnabled -eq $true) { + continue + } + # Test if its a onmicrosft.com domain, skip domain if it is + if ($Domain -match 'onmicrosoft.com') { + continue + } + # Test if there are already MSCNAME values set, skip domain if there is + if ($null -ne $DomainObject.DomainAnalyser) { + $CurrentMSCNAMEInfo = ConvertFrom-Json $DomainObject.DomainAnalyser -Depth 10 + if (![string]::IsNullOrWhiteSpace($CurrentMSCNAMEInfo.MSCNAMEDKIMSelectors.selector1.Value) -and + ![string]::IsNullOrWhiteSpace($CurrentMSCNAMEInfo.MSCNAMEDKIMSelectors.selector2.Value)) { + $Result.MSCNAMEDKIMSelectors = $CurrentMSCNAMEInfo.MSCNAMEDKIMSelectors + continue + } + } + + + # Compute the DKIM CNAME records from $Tenant.InitialDomainName according to this logic: https://learn.microsoft.com/en-us/defender-office-365/email-authentication-dkim-configure#syntax-for-dkim-cname-records + # Test if it has a - in the domain name + if ($Domain -like '*-*') { + Write-Information 'Domain has a - in it. Got to query EXO for the right values' + $DKIM = (New-ExoRequest -tenantid $Tenant.Tenant -cmdlet 'Get-DkimSigningConfig') | Where-Object { $_.Domain -eq $Domain } | Select-Object Domain, Selector1CNAME, Selector2CNAME + + # If no DKIM signing record is found, create a new disabled one + if ($null -eq $DKIM) { + Write-Information 'No DKIM record found in EXO - Creating new signing' + $NewDKIMSigningRequest = New-ExoRequest -tenantid $Tenant.Tenant -cmdlet 'New-DkimSigningConfig' -cmdParams @{ KeySize = 2048; DomainName = $Domain; Enabled = $false } + $Selector1Value = $NewDKIMSigningRequest.Selector1CNAME + $Selector2Value = $NewDKIMSigningRequest.Selector2CNAME + } else { + $Selector1Value = $DKIM.Selector1CNAME + $Selector2Value = $DKIM.Selector2CNAME + } + } else { + $Selector1Value = "selector1-$($Domain -replace '\.', '-' )._domainkey.$($Tenant.InitialDomainName)" + $Selector2Value = "selector2-$($Domain -replace '\.', '-' )._domainkey.$($Tenant.InitialDomainName)" + } + + # Create the MSCNAME object + $MSCNAMERecords = [PSCustomObject]@{ + Domain = $Domain + selector1 = @{ + Hostname = 'selector1._domainkey' + Value = $Selector1Value + } + selector2 = @{ + Hostname = 'selector2._domainkey' + Value = $Selector2Value + } + } + $Result.MSCNAMEDKIMSelectors = $MSCNAMERecords + } catch { + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -API 'DomainAnalyser' -tenant $DomainObject.TenantId -message "MS CNAME DKIM error: $($ErrorMessage.NormalizedError)" -LogData $ErrorMessage -sev Error + } + } + # Final Score $Result.Score = $ScoreDomain $Result.ScorePercentage = [int](($Result.Score / $Result.MaximumScore) * 100) $Result.ScoreExplanation = ($ScoreExplanation) -join ', ' - $DomainObject.DomainAnalyser = ($Result | ConvertTo-Json -Compress).ToString() + $DomainObject.DomainAnalyser = (ConvertTo-Json -InputObject $Result -Depth 5 -Compress).ToString() try { $DomainTable.Entity = $DomainObject @@ -253,4 +323,4 @@ function Push-DomainAnalyserDomain { Write-LogMessage -API 'DomainAnalyser' -tenant $DomainObject.TenantId -message "Error saving domain $Domain to table " -sev Error -LogData (Get-CippException -Exception $_) } return $null -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Domain Analyser/Push-DomainAnalyserTenant.ps1 b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Domain Analyser/Push-DomainAnalyserTenant.ps1 index 440f7e37d4cf..203428ec580e 100644 --- a/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Domain Analyser/Push-DomainAnalyserTenant.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Domain Analyser/Push-DomainAnalyserTenant.ps1 @@ -20,7 +20,7 @@ function Push-DomainAnalyserTenant { return } else { try { - $Domains = New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/domains' -tenantid $Tenant.customerId | Where-Object { ($_.id -notlike '*.microsoftonline.com' -and $_.id -NotLike '*.exclaimer.cloud' -and $_.id -Notlike '*.excl.cloud' -and $_.id -NotLike '*.codetwo.online' -and $_.id -NotLike '*.call2teams.com' -and $_.isVerified) } + $Domains = New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/domains' -tenantid $Tenant.customerId | Where-Object { ($_.id -notlike '*.microsoftonline.com' -and $_.id -NotLike '*.exclaimer.cloud' -and $_.id -Notlike '*.excl.cloud' -and $_.id -NotLike '*.codetwo.online' -and $_.id -NotLike '*.call2teams.com' -and $_.id -notlike '*signature365.net' -and $_.isVerified) } $TenantDomains = foreach ($d in $Domains) { [PSCustomObject]@{ @@ -99,7 +99,7 @@ function Push-DomainAnalyserTenant { Write-Host "Started analysis for $DomainCount tenant domains in $($Tenant.defaultDomainName)" Write-LogMessage -API 'DomainAnalyser' -tenant $Tenant.defaultDomainName -message "Started analysis for $DomainCount tenant domains" -sev Info } catch { - Write-LogMessage -API 'DomainAnalyser' -message 'Domain Analyser GetTenantDomains error' -sev info -LogData (Get-CippException -Exception $_) + Write-LogMessage -API 'DomainAnalyser' -message 'Domain Analyser GetTenantDomains error' -sev 'Error' -LogData (Get-CippException -Exception $_) } } catch { Write-LogMessage -API 'DomainAnalyser' -message 'GetTenantDomains loop error' -sev 'Error' -LogData (Get-CippException -Exception $_) @@ -111,4 +111,4 @@ function Push-DomainAnalyserTenant { } } return $null -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Domain Analyser/Push-GetTenantDomains.ps1 b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Domain Analyser/Push-GetTenantDomains.ps1 index 5fb9c64cdad1..071bb5289139 100644 --- a/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Domain Analyser/Push-GetTenantDomains.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Domain Analyser/Push-GetTenantDomains.ps1 @@ -2,6 +2,6 @@ function Push-GetTenantDomains { Param($Item) $DomainTable = Get-CippTable -tablename 'Domains' $Filter = "PartitionKey eq 'TenantDomains' and TenantGUID eq '{0}'" -f $Item.TenantGUID - $Domains = Get-CIPPAzDataTableEntity @DomainTable -Filter $Filter -Property RowKey | Select-Object RowKey, @{n = 'FunctionName'; exp = { 'DomainAnalyserDomain' } } + $Domains = Get-CIPPAzDataTableEntity @DomainTable -Filter $Filter -Property PartitionKey, RowKey | Select-Object RowKey, @{n = 'FunctionName'; exp = { 'DomainAnalyserDomain' } } return @($Domains) -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Graph Requests/Push-ListGraphRequestQueue.ps1 b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Graph Requests/Push-ListGraphRequestQueue.ps1 index 827307d8c31f..c7b2de89ec5a 100644 --- a/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Graph Requests/Push-ListGraphRequestQueue.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Graph Requests/Push-ListGraphRequestQueue.ps1 @@ -34,6 +34,7 @@ function Push-ListGraphRequestQueue { NoPagination = $Item.NoPagination ReverseTenantLookupProperty = $Item.ReverseTenantLookupProperty ReverseTenantLookup = $Item.ReverseTenantLookup + AsApp = $Item.AsApp ?? $false SkipCache = $true } @@ -41,7 +42,7 @@ function Push-ListGraphRequestQueue { Get-GraphRequestList @GraphRequestParams } catch { [PSCustomObject]@{ - Tenant = $Item.Tenant + Tenant = $Item.TenantFilter CippStatus = "Could not connect to tenant. $($_.Exception.message)" } } @@ -62,4 +63,4 @@ function Push-ListGraphRequestQueue { Write-Information "Queue Error: $($_.Exception.Message)" throw $_ } -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-ExecAddMultiTenantApp.ps1 b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-ExecAddMultiTenantApp.ps1 index 3f2009a0a950..09b7c2c48e27 100644 --- a/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-ExecAddMultiTenantApp.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-ExecAddMultiTenantApp.ps1 @@ -1,21 +1,23 @@ -function Push-ExecAddMultiTenantApp($QueueItem, $TriggerMetadata) { +function Push-ExecAddMultiTenantApp { <# .FUNCTIONALITY Entrypoint #> + [CmdletBinding()] + param($Item) try { - $Queueitem = $QueueItem | ConvertTo-Json -Depth 10 | ConvertFrom-Json - Write-Host "$($Queueitem | ConvertTo-Json -Depth 10)" - $ServicePrincipalList = New-GraphGETRequest -uri "https://graph.microsoft.com/beta/servicePrincipals?`$select=AppId,id,displayName&`$top=999" -tenantid $Queueitem.Tenant - if ($Queueitem.AppId -Notin $ServicePrincipalList.appId) { - $PostResults = New-GraphPostRequest 'https://graph.microsoft.com/beta/servicePrincipals' -type POST -tenantid $queueitem.tenant -body "{ `"appId`": `"$($Queueitem.appId)`" }" - Write-LogMessage -message "Added $($Queueitem.AppId) to tenant $($Queueitem.Tenant)" -tenant $Queueitem.Tenant -API 'Add Multitenant App' -sev Info + $Item = $Item | ConvertTo-Json -Depth 10 | ConvertFrom-Json + Write-Host "$($Item | ConvertTo-Json -Depth 10)" + $ServicePrincipalList = New-GraphGETRequest -uri "https://graph.microsoft.com/beta/servicePrincipals?`$select=AppId,id,displayName&`$top=999" -tenantid $Item.Tenant + if ($Item.AppId -Notin $ServicePrincipalList.appId) { + $PostResults = New-GraphPostRequest 'https://graph.microsoft.com/beta/servicePrincipals' -type POST -tenantid $Item.tenant -body "{ `"appId`": `"$($Item.appId)`" }" + Write-LogMessage -message "Added $($Item.AppId) to tenant $($Item.Tenant)" -tenant $Item.Tenant -API 'Add Multitenant App' -sev Info } else { - Write-LogMessage -message "This app already exists in tenant $($Queueitem.Tenant). We're adding the required permissions." -tenant $Queueitem.Tenant -API 'Add Multitenant App' -sev Info + Write-LogMessage -message "This app already exists in tenant $($Item.Tenant). We're adding the required permissions." -tenant $Item.Tenant -API 'Add Multitenant App' -sev Info } - Add-CIPPApplicationPermission -RequiredResourceAccess ($queueitem.applicationResourceAccess) -ApplicationId $queueitem.AppId -Tenantfilter $Queueitem.Tenant - Add-CIPPDelegatedPermission -RequiredResourceAccess ($queueitem.DelegateResourceAccess) -ApplicationId $queueitem.AppId -Tenantfilter $Queueitem.Tenant + Add-CIPPApplicationPermission -RequiredResourceAccess ($Item.applicationResourceAccess) -ApplicationId $Item.AppId -Tenantfilter $Item.Tenant + Add-CIPPDelegatedPermission -RequiredResourceAccess ($Item.DelegateResourceAccess) -ApplicationId $Item.AppId -Tenantfilter $Item.Tenant } catch { - Write-LogMessage -message "Error adding application to tenant $($Queueitem.Tenant) - $($_.Exception.Message)" -tenant $Queueitem.Tenant -API 'Add Multitenant App' -sev Error + Write-LogMessage -message "Error adding application to tenant $($Item.Tenant) - $($_.Exception.Message)" -tenant $Item.Tenant -API 'Add Multitenant App' -sev Error } } diff --git a/ExecAlertsListAllTenants/run.ps1 b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-ExecAlertsListAllTenants.ps1 similarity index 73% rename from ExecAlertsListAllTenants/run.ps1 rename to Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-ExecAlertsListAllTenants.ps1 index 4782d15619b9..3d094d6bf1a3 100644 --- a/ExecAlertsListAllTenants/run.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-ExecAlertsListAllTenants.ps1 @@ -1,16 +1,17 @@ -# Input bindings are passed in via param block. -param( $QueueItem, $TriggerMetadata) +function Push-ExecAlertsListAllTenants { + <# + .FUNCTIONALITY + Entrypoint + #> + [CmdletBinding()] + param($Item) -# Write out the queue message and metadata to the information log. -Write-Host "PowerShell queue trigger function processed work item: $QueueItem" - -Get-Tenants | ForEach-Object -Parallel { - $domainName = $_.defaultDomainName - Import-Module CippCore + $Tenant = Get-Tenants -TenantFilter $Item.customerId + $domainName = $Tenant.defaultDomainName $Table = Get-CIPPTable -TableName 'cachealertsandincidents' try { - $Alerts = New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/security/alerts' -tenantid $domainName + $Alerts = New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/security/alerts' -tenantid $domainName foreach ($Alert in $Alerts) { $GUID = (New-Guid).Guid $alertJson = $Alert | ConvertTo-Json @@ -21,13 +22,12 @@ Get-Tenants | ForEach-Object -Parallel { PartitionKey = 'alert' } Add-CIPPAzDataTableEntity @Table -Entity $GraphRequest -Force | Out-Null - } } catch { $GUID = (New-Guid).Guid $AlertText = ConvertTo-Json -InputObject @{ - Title = "Could not connect to tenant to retrieve data: $($_.Exception.Message)" + Title = "Could not connect to tenant to retrieve data: $($_.Exception.Message)" Id = '' Category = '' EventDateTime = '' @@ -40,13 +40,11 @@ Get-Tenants | ForEach-Object -Parallel { } } $GraphRequest = @{ - Alert = [string]$AlertText + Alert = [string]$AlertText RowKey = [string]$GUID PartitionKey = 'alert' Tenant = $domainName } Add-CIPPAzDataTableEntity @Table -Entity $GraphRequest -Force | Out-Null - - } -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-ExecApplicationCopy.ps1 b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-ExecApplicationCopy.ps1 index 6437940809db..58154aed81e6 100644 --- a/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-ExecApplicationCopy.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-ExecApplicationCopy.ps1 @@ -1,13 +1,14 @@ -function Push-ExecApplicationCopy($QueueItem, $TriggerMetadata) { +function Push-ExecApplicationCopy { <# .FUNCTIONALITY Entrypoint #> + [CmdletBinding()] + param($Item) try { - $Queueitem = $QueueItem | ConvertTo-Json -Depth 10 | ConvertFrom-Json - Write-Host "$($Queueitem | ConvertTo-Json -Depth 10)" - New-CIPPApplicationCopy -App $queueitem.AppId -Tenant $Queueitem.Tenant + Write-Host "$($Item | ConvertTo-Json -Depth 10)" + New-CIPPApplicationCopy -App $Item.AppId -Tenant $Item.Tenant } catch { - Write-LogMessage -message "Error adding application to tenant $($Queueitem.Tenant) - $($_.Exception.Message)" -tenant $Queueitem.Tenant -API 'Add Multitenant App' -sev Error + Write-LogMessage -message "Error adding application to tenant $($Item.Tenant) - $($_.Exception.Message)" -tenant $Item.Tenant -API 'Add Multitenant App' -sev Error } } diff --git a/ExecIncidentsListAllTenants/run.ps1 b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-ExecIncidentsListAllTenants.ps1 similarity index 75% rename from ExecIncidentsListAllTenants/run.ps1 rename to Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-ExecIncidentsListAllTenants.ps1 index 480b27d643d9..21934125b57c 100644 --- a/ExecIncidentsListAllTenants/run.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-ExecIncidentsListAllTenants.ps1 @@ -1,17 +1,19 @@ -# Input bindings are passed in via param block. -param( $QueueItem, $TriggerMetadata) +function Push-ExecIncidentsListAllTenants { + <# + .FUNCTIONALITY + Entrypoint + #> + param( + $Item + ) -# Write out the queue message and metadata to the information log. -Write-Host "PowerShell queue trigger function processed work item: $QueueItem" - -Get-Tenants | ForEach-Object -Parallel { - $domainName = $_.defaultDomainName - Import-Module CippCore + $Tenant = Get-Tenants -TenantFilter $Item.customerId + $domainName = $Tenant.defaultDomainName $Table = Get-CIPPTable -TableName 'cachealertsandincidents' try { $incidents = New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/security/incidents' -tenantid $domainName -AsApp $true - $GraphRequest = foreach ($incident in $incidents) { + $GraphRequest = foreach ($incident in $incidents) { $GUID = (New-Guid).Guid $GraphRequest = @{ Incident = [string]($incident | ConvertTo-Json -Depth 10) @@ -20,7 +22,7 @@ Get-Tenants | ForEach-Object -Parallel { Tenant = [string]$domainName } Add-CIPPAzDataTableEntity @Table -Entity $GraphRequest -Force | Out-Null - } + } } catch { $GUID = (New-Guid).Guid @@ -37,13 +39,12 @@ Get-Tenants | ForEach-Object -Parallel { severity = 'CIPP' } $GraphRequest = @{ - Incident = [string]$AlertText + Incident = [string]$AlertText RowKey = [string]$GUID PartitionKey = 'Incident' Tenant = [string]$domainName } Add-CIPPAzDataTableEntity @Table -Entity $GraphRequest -Force | Out-Null - - } -} \ No newline at end of file +} + diff --git a/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-ExecOffboardingMailboxPermissions.ps1 b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-ExecOffboardingMailboxPermissions.ps1 new file mode 100644 index 000000000000..e1497d902ce1 --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-ExecOffboardingMailboxPermissions.ps1 @@ -0,0 +1,11 @@ +function Push-ExecOffboardingMailboxPermissions { + <# + .FUNCTIONALITY + Entrypoint + #> + param( + $Item + ) + + Remove-CIPPMailboxPermissions -PermissionsLevel @('FullAccess', 'SendAs', 'SendOnBehalf') -userid 'AllUsers' -AccessUser $Item.User -TenantFilter $Item.TenantFilter -APIName $Item.APINAME -ExecutingUser $Item.ExecutingUser +} diff --git a/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-ExecOnboardTenantQueue.ps1 b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-ExecOnboardTenantQueue.ps1 index 0e3d211d6718..5c18cbe54d21 100644 --- a/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-ExecOnboardTenantQueue.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-ExecOnboardTenantQueue.ps1 @@ -135,7 +135,7 @@ Function Push-ExecOnboardTenantQueue { if ($AccessAssignments.id -and !$Invite) { $MissingRoles = [System.Collections.Generic.List[object]]::new() $Logs.Add([PSCustomObject]@{ Date = Get-Date -UFormat $DateFormat; Log = 'Relationship has existing access assignments, checking for missing mappings' }) - #Write-Host ($AccessAssignments | ConvertTo-Json -Depth 5) + if ($Item.Roles -and $Item.AutoMapRoles -eq $true) { foreach ($Role in $Item.Roles) { if ($AccessAssignments.accessContainer.accessContainerid -notcontains $Role.GroupId -and $Relationship.accessDetails.unifiedRoles.roleDefinitionId -contains $Role.roleDefinitionId) { @@ -161,7 +161,7 @@ Function Push-ExecOnboardTenantQueue { } } - if (!$AccessAssignments.id -and !$Invite -and $Item.Roles) { + if (!$AccessAssignments.id -and $Item.Roles) { $Logs.Add([PSCustomObject]@{ Date = Get-Date -UFormat $DateFormat; Log = 'No access assignments found, using defined role mapping.' }) $MatchingRoles = [System.Collections.Generic.List[object]]::new() foreach ($Role in $Item.Roles) { @@ -177,7 +177,7 @@ Function Push-ExecOnboardTenantQueue { 'InviteUrl' = 'https://admin.microsoft.com/AdminPortal/Home#/partners/invitation/granularAdminRelationships/{0}' -f $Id 'RoleMappings' = [string](@($MatchingRoles) | ConvertTo-Json -Depth 10 -Compress) } - Add-CIPPAzDataTableEntity @InviteTable -Entity $Invite + Add-CIPPAzDataTableEntity @InviteTable -Entity $Invite -Force $GroupSuccess = $true } else { $TenantOnboarding.Status = 'failed' @@ -275,7 +275,7 @@ Function Push-ExecOnboardTenantQueue { $Logs.Add([PSCustomObject]@{ Date = Get-Date -UFormat $DateFormat; Log = 'Clearing tenant cache' }) $y = 0 do { - $Tenant = Get-Tenants -TriggerRefresh -IncludeAll | Where-Object { $_.customerId -eq $Relationship.customer.tenantId } | Select-Object -First 1 + $Tenant = Get-Tenants -TriggerRefresh -TenantFilter $Relationship.customer.tenantId | Select-Object -First 1 $y++ Start-Sleep -Seconds 20 } while (!$Tenant -and $y -le 10) @@ -292,10 +292,10 @@ Function Push-ExecOnboardTenantQueue { } $Logs.Add([PSCustomObject]@{ Date = Get-Date -UFormat $DateFormat; Log = 'Added initial CPV consent permissions' }) } catch { - $Logs.Add([PSCustomObject]@{ Date = Get-Date -UFormat $DateFormat; Log = 'CPV Consent Failed' }) + $Logs.Add([PSCustomObject]@{ Date = Get-Date -UFormat $DateFormat; Log = ('CPV Consent Failed, error: {0}' -f $Consent) }) $TenantOnboarding.Status = 'failed' $OnboardingSteps.Step4.Status = 'failed' - $OnboardingSteps.Step4.Message = 'CPV Consent failed, check the App Registration in your partner tenant for missing admin consent.' + $OnboardingSteps.Step4.Message = 'CPV Consent failed, check the logs for more details.' $TenantOnboarding.OnboardingSteps = [string](ConvertTo-Json -InputObject $OnboardingSteps -Compress) $TenantOnboarding.Logs = [string](ConvertTo-Json -InputObject @($Logs) -Compress) Add-CIPPAzDataTableEntity @OnboardTable -Entity $TenantOnboarding -Force -ErrorAction Stop @@ -309,13 +309,15 @@ Function Push-ExecOnboardTenantQueue { $TenantOnboarding.OnboardingSteps = [string](ConvertTo-Json -InputObject $OnboardingSteps -Compress) $TenantOnboarding.Logs = [string](ConvertTo-Json -InputObject @($Logs) -Compress) Add-CIPPAzDataTableEntity @OnboardTable -Entity $TenantOnboarding -Force -ErrorAction Stop + $LastCPVError = '' do { try { - Add-CIPPApplicationPermission -RequiredResourceAccess 'CippDefaults' -ApplicationId $ENV:ApplicationID -tenantfilter $Relationship.customer.tenantId - Add-CIPPDelegatedPermission -RequiredResourceAccess 'CippDefaults' -ApplicationId $ENV:ApplicationID -tenantfilter $Relationship.customer.tenantId + Add-CIPPApplicationPermission -RequiredResourceAccess 'CIPPDefaults' -ApplicationId $ENV:ApplicationID -tenantfilter $Relationship.customer.tenantId + Add-CIPPDelegatedPermission -RequiredResourceAccess 'CIPPDefaults' -ApplicationId $ENV:ApplicationID -tenantfilter $Relationship.customer.tenantId $CPVSuccess = $true $Refreshing = $false } catch { + $LastCPVError = $_.Exception.Message Start-Sleep -Seconds 30 } } while ($Refreshing -and (Get-Date) -lt $Start.AddMinutes(8)) @@ -328,10 +330,10 @@ Function Push-ExecOnboardTenantQueue { $Tenant = Get-Tenants -TriggerRefresh -IncludeAll | Where-Object { $_.customerId -eq $Relationship.customer.tenantId } | Select-Object -First 1 } } else { - $Logs.Add([PSCustomObject]@{ Date = Get-Date -UFormat $DateFormat; Log = 'CPV permissions failed to refresh' }) + $Logs.Add([PSCustomObject]@{ Date = Get-Date -UFormat $DateFormat; Log = 'CPV permissions failed to refresh. {0}' -f $LastCPVError }) $TenantOnboarding.Status = 'failed' $OnboardingSteps.Step4.Status = 'failed' - $OnboardingSteps.Step4.Message = 'CPV permissions failed to refresh, try again later' + $OnboardingSteps.Step4.Message = 'CPV permissions failed to refresh, check the logs for more details.' } } else { $Logs.Add([PSCustomObject]@{ Date = Get-Date -UFormat $DateFormat; Log = 'Tenant not found' }) diff --git a/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-ExecScheduledCommand.ps1 b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-ExecScheduledCommand.ps1 index f157dd0884b9..00f8f93e20c1 100644 --- a/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-ExecScheduledCommand.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-ExecScheduledCommand.ps1 @@ -4,13 +4,14 @@ function Push-ExecScheduledCommand { Entrypoint #> param($Item) + $item = $Item | ConvertTo-Json -Depth 100 | ConvertFrom-Json Write-Host "We are going to be running a scheduled task: $($Item.TaskInfo | ConvertTo-Json -Depth 10)" $Table = Get-CippTable -tablename 'ScheduledTasks' $task = $Item.TaskInfo $commandParameters = $Item.Parameters | ConvertTo-Json -Depth 10 | ConvertFrom-Json -AsHashtable - $tenant = $Item.Parameters['TenantFilter'] + $tenant = $Item.Parameters.TenantFilter Write-Host "Started Task: $($Item.Command) for tenant: $tenant" try { try { @@ -74,7 +75,7 @@ function Push-ExecScheduledCommand { 'TaskInfo' = $Item.TaskInfo 'Results' = $Results } - Send-CIPPAlert -Type 'webhook' -Title $title -JSONContent $($Webhook | ConvertTo-Json -Depth 20) + Send-CIPPAlert -Type 'webhook' -Title $title -TenantFilter $tenant -JSONContent $($Webhook | ConvertTo-Json -Depth 20) } } } @@ -99,8 +100,16 @@ function Push-ExecScheduledCommand { '(\d+)d$' { [int64]$matches[1] * 86400 } default { throw "Unsupported recurrence format: $($task.Recurrence)" } } + + if ($secondsToAdd -gt 0) { + $unixtimeNow = [int64](([datetime]::UtcNow) - (Get-Date '1/1/1970')).TotalSeconds + if ([int64]$task.ScheduledTime -lt ($unixtimeNow - $secondsToAdd)) { + $task.ScheduledTime = $unixtimeNow + } + } + $nextRunUnixTime = [int64]$task.ScheduledTime + [int64]$secondsToAdd - Write-Host "The job is recurring and should occur again at: $nextRunUnixTime" + Write-Host "The job is recurring. It was scheduled for $($task.ScheduledTime). The next runtime should be $nextRunUnixTime" Update-AzDataTableEntity @Table -Entity @{ PartitionKey = $task.PartitionKey RowKey = $task.RowKey diff --git a/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-GetPendingWebhooks.ps1 b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-GetPendingWebhooks.ps1 index 4b292fdd7041..2cdf56c8a6b5 100644 --- a/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-GetPendingWebhooks.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-GetPendingWebhooks.ps1 @@ -5,9 +5,9 @@ function Push-GetPendingWebhooks { #> Param($Item) $Table = Get-CIPPTable -TableName WebhookIncoming - $Webhooks = Get-CIPPAzDataTableEntity @Table -Property RowKey, FunctionName -First 10000 + $Webhooks = Get-CIPPAzDataTableEntity @Table -Property PartitionKey, RowKey, FunctionName -First 10000 $WebhookCount = ($Webhooks | Measure-Object).Count $Message = 'Processing {0} webhooks' -f $WebhookCount Write-LogMessage -API 'Webhooks' -message $Message -sev Info return $Webhooks -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-ListBasicAuthAllTenants.ps1 b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-ListBasicAuthAllTenants.ps1 new file mode 100644 index 000000000000..621bd16ef4ec --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-ListBasicAuthAllTenants.ps1 @@ -0,0 +1,37 @@ +Function Push-ListBasicAuthAllTenants { + <# + .FUNCTIONALITY + Entrypoint + #> + [CmdletBinding()] + param($Item) + + $domainName = $Item.defaultDomainName + + $currentTime = Get-Date -Format 'yyyy-MM-ddTHH:MM:ss' + $ts = (Get-Date).AddDays(-30) + $endTime = $ts.ToString('yyyy-MM-ddTHH:MM:ss') + $filters = "createdDateTime ge $($endTime)Z and createdDateTime lt $($currentTime)Z and (clientAppUsed eq 'AutoDiscover' or clientAppUsed eq 'Exchange ActiveSync' or clientAppUsed eq 'Exchange Online PowerShell' or clientAppUsed eq 'Exchange Web Services' or clientAppUsed eq 'IMAP4' or clientAppUsed eq 'MAPI Over HTTP' or clientAppUsed eq 'Offline Address Book' or clientAppUsed eq 'Outlook Anywhere (RPC over HTTP)' or clientAppUsed eq 'Other clients' or clientAppUsed eq 'POP3' or clientAppUsed eq 'Reporting Web Services' or clientAppUsed eq 'Authenticated SMTP' or clientAppUsed eq 'Outlook Service')" + try { + $GraphRequest = New-GraphGetRequest -uri "https://graph.microsoft.com/beta/auditLogs/signIns?api-version=beta&filter=$($filters)" -tenantid $domainName -ErrorAction stop | Sort-Object -Unique -Property clientAppUsed | ForEach-Object { + @{ + Tenant = $domainName + clientAppUsed = $_.clientAppUsed + userPrincipalName = $_.UserPrincipalName + RowKey = "$($_.UserPrincipalName)-$($_.clientAppUsed)" + PartitionKey = 'basicauth' + } + } + } catch { + $GraphRequest = @{ + Tenant = $domainName + clientAppUsed = "Could not connect to Tenant: $($_.Exception.message)" + userPrincipalName = $domainName + RowKey = $domainName + PartitionKey = 'basicauth' + } + } + $Table = Get-CIPPTable -TableName cachebasicauth + Add-CIPPAzDataTableEntity @Table -Entity $GraphRequest -Force | Out-Null + +} diff --git a/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-ListMFAUsersQueue.ps1 b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-ListMFAUsersQueue.ps1 index 37ac2186d265..1ff7acc513d7 100644 --- a/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-ListMFAUsersQueue.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-ListMFAUsersQueue.ps1 @@ -9,7 +9,7 @@ function Push-ListMFAUsersQueue { Write-Host "PowerShell queue trigger function processed work item: $($Item.defaultDomainName)" try { - Update-CippQueueEntry -RowKey $Item.QueueId -Status 'Running' -Name $Item.displayName + #Update-CippQueueEntry -RowKey $Item.QueueId -Status 'Running' -Name $Item.displayName $domainName = $Item.defaultDomainName $Table = Get-CIPPTable -TableName cachemfa Try { @@ -29,6 +29,12 @@ function Push-ListMFAUsersQueue { RowKey = [string]"$domainName" PartitionKey = 'users' } + } else { + $GraphRequest = foreach ($Request in $GraphRequest) { + $Request.CAPolicies = try { [string](@($Request.CAPolicies) | ConvertTo-Json -Compress -Depth 5) } catch { [string]$Request.CAPolicies } + $Request.MFAMethods = try { [string](@($Request.MFAMethods) | ConvertTo-Json -Compress -Depth 5) } catch { [string]$Request.MFAMethods } + $Request + } } Add-CIPPAzDataTableEntity @Table -Entity $GraphRequest -Force | Out-Null @@ -47,7 +53,7 @@ function Push-ListMFAUsersQueue { } Add-CIPPAzDataTableEntity @Table -Entity $GraphRequest -Force | Out-Null } finally { - Update-CippQueueEntry -RowKey $QueueItem -Status 'Completed' + #Update-CippQueueEntry -RowKey $QueueItem -Status 'Completed' } -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-ListMailboxRulesQueue.ps1 b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-ListMailboxRulesQueue.ps1 index e0829bdf1fcd..2d8a0c7cd512 100644 --- a/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-ListMailboxRulesQueue.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-ListMailboxRulesQueue.ps1 @@ -13,8 +13,8 @@ function Push-ListMailboxRulesQueue { $Table = Get-CIPPTable -TableName cachembxrules try { $Rules = New-ExoRequest -tenantid $domainName -cmdlet 'Get-Mailbox' -Select 'userPrincipalName,GUID' | ForEach-Object -Parallel { - Import-Module CippCore - $MbxRules = New-ExoRequest -Anchor $_.UserPrincipalName -tenantid $using:domainName -cmdlet 'Get-InboxRule' -cmdParams @{Mailbox = $_.GUID } + Import-Module CIPPCore + $MbxRules = New-ExoRequest -Anchor $_.UserPrincipalName -tenantid $using:domainName -cmdlet 'Get-InboxRule' -cmdParams @{Mailbox = $_.GUID; IncludeHidden = $true } | Where-Object { $_.Name -ne 'Junk E-Mail Rule' -and $_.Name -notlike 'Microsoft.Exchange.OOF.*' } foreach ($Rule in $MbxRules) { $Rule | Add-Member -NotePropertyName 'UserPrincipalName' -NotePropertyValue $_.userPrincipalName $Rule diff --git a/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-UpdatePermissionsQueue.ps1 b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-UpdatePermissionsQueue.ps1 index abc0fd0b7814..d579d1ad77ec 100644 --- a/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-UpdatePermissionsQueue.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-UpdatePermissionsQueue.ps1 @@ -4,17 +4,50 @@ function Push-UpdatePermissionsQueue { Entrypoint #> param($Item) - Write-Host "Applying permissions for $($Item.defaultDomainName)" - $Table = Get-CIPPTable -TableName cpvtenants - $CPVRows = Get-CIPPAzDataTableEntity @Table | Where-Object -Property Tenant -EQ $Item.customerId - if (!$CPVRows -or $ENV:ApplicationID -notin $CPVRows.applicationId) { - Write-LogMessage -tenant $Item.defaultDomainName -tenantId $Item.customerId -message 'A New tenant has been added, or a new CIPP-SAM Application is in use' -Sev 'Warn' -API 'NewTenant' - Write-Host 'Adding CPV permissions' - Set-CIPPCPVConsent -Tenantfilter $Item.customerId - } - Add-CIPPApplicationPermission -RequiredResourceAccess 'CippDefaults' -ApplicationId $ENV:ApplicationID -tenantfilter $Item.customerId - Add-CIPPDelegatedPermission -RequiredResourceAccess 'CippDefaults' -ApplicationId $ENV:ApplicationID -tenantfilter $Item.customerId + try { + $DomainRefreshRequired = $false + + if (!$Item.defaultDomainName) { + $DomainRefreshRequired = $true + } + + Write-Information "Applying permissions for $($Item.displayName)" + $Table = Get-CIPPTable -TableName cpvtenants + $CPVRows = Get-CIPPAzDataTableEntity @Table | Where-Object -Property Tenant -EQ $Item.customerId + + if (!$CPVRows -or $ENV:ApplicationID -notin $CPVRows.applicationId) { + Write-LogMessage -tenant $Item.defaultDomainName -tenantId $Item.customerId -message 'A New tenant has been added, or a new CIPP-SAM Application is in use' -Sev 'Warn' -API 'NewTenant' + Write-Information 'Adding CPV permissions' + Set-CIPPCPVConsent -Tenantfilter $Item.customerId + $DomainRefreshRequired = $true + } + Write-Information 'Updating permissions' + Add-CIPPApplicationPermission -RequiredResourceAccess 'CIPPDefaults' -ApplicationId $ENV:ApplicationID -tenantfilter $Item.customerId + Add-CIPPDelegatedPermission -RequiredResourceAccess 'CIPPDefaults' -ApplicationId $ENV:ApplicationID -tenantfilter $Item.customerId + Write-LogMessage -tenant $Item.defaultDomainName -tenantId $Item.customerId -message "Updated permissions for $($Item.displayName)" -Sev 'Info' -API 'UpdatePermissionsQueue' - Write-LogMessage -tenant $Item.defaultDomainName -tenantId $Item.customerId -message "Updated permissions for $($Item.displayName)" -Sev 'Info' -API 'UpdatePermissionsQueue' -} \ No newline at end of file + Write-Information 'Pushing CIPP-SAM admin roles' + Set-CIPPSAMAdminRoles -TenantFilter $Item.customerId + + $Table = Get-CIPPTable -TableName cpvtenants + $unixtime = [int64](([datetime]::UtcNow) - (Get-Date '1/1/1970')).TotalSeconds + $GraphRequest = @{ + LastApply = "$unixtime" + applicationId = "$($ENV:ApplicationID)" + Tenant = "$($Item.customerId)" + PartitionKey = 'Tenant' + RowKey = "$($Item.customerId)" + } + Add-CIPPAzDataTableEntity @Table -Entity $GraphRequest -Force + + if ($DomainRefreshRequired) { + $UpdatedTenant = Get-Tenants -TenantFilter $Item.customerId -TriggerRefresh + if ($UpdatedTenant.defaultDomainName) { + Write-Information "Updated tenant domains $($UpdatedTenant.defaultDomainName)" + } + } + } catch { + Write-Information "Error updating permissions for $($Item.displayName)" + } +} diff --git a/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-CIPPStandard.ps1 b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Standards/Push-CIPPStandard.ps1 similarity index 65% rename from Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-CIPPStandard.ps1 rename to Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Standards/Push-CIPPStandard.ps1 index ba923ab1bb3f..964cd1d9294e 100644 --- a/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-CIPPStandard.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Standards/Push-CIPPStandard.ps1 @@ -12,6 +12,13 @@ function Push-CIPPStandard { $Standard = $Item.Standard $FunctionName = 'Invoke-CIPPStandard{0}' -f $Standard Write-Host "We'll be running $FunctionName" + $Rerun = Test-CIPPRerun -Type Standard -Tenant $Tenant -Settings $Item.Settings -API $Standard + if ($Rerun) { + Write-Host 'Detected rerun. Exiting cleanly' + exit 0 + } else { + Write-Host "Rerun is set to false. We'll be running $FunctionName" + } try { & $FunctionName -Tenant $Item.Tenant -Settings $Item.Settings -ErrorAction Stop } catch { diff --git a/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Webhooks/Push-AuditLogBundleProcessing.ps1 b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Webhooks/Push-AuditLogBundleProcessing.ps1 index 13f2315e94a8..757180f3a0bd 100644 --- a/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Webhooks/Push-AuditLogBundleProcessing.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Webhooks/Push-AuditLogBundleProcessing.ps1 @@ -1,6 +1,8 @@ function Push-AuditLogBundleProcessing { Param($Item) + return # Disabled for now, as it's not used + try { $AuditBundleTable = Get-CippTable -tablename 'AuditLogBundles' $AuditLogBundle = Get-CIPPAzDataTableEntity @AuditBundleTable -Filter "PartitionKey eq '$($Item.TenantFilter)' and RowKey eq '$($Item.ContentId)'" @@ -37,4 +39,4 @@ function Push-AuditLogBundleProcessing { } catch { Write-Host ( 'Audit log error {0} line {1} - {2}' -f $_.InvocationInfo.ScriptName, $_.InvocationInfo.ScriptLineNumber, $_.Exception.Message) } -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Webhooks/Push-AuditLogTenant.ps1 b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Webhooks/Push-AuditLogTenant.ps1 index 873af42e2e43..ef5ea518bcb8 100644 --- a/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Webhooks/Push-AuditLogTenant.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Webhooks/Push-AuditLogTenant.ps1 @@ -1,65 +1,79 @@ function Push-AuditLogTenant { Param($Item) + $ConfigTable = Get-CippTable -TableName 'WebhookRules' + $TenantFilter = $Item.TenantFilter - $AuditBundleTable = Get-CippTable -tablename 'AuditLogBundles' - $SchedulerConfig = Get-CIPPTable -TableName 'SchedulerConfig' - $CIPPURL = Get-CIPPAzDataTableEntity @SchedulerConfig -Filter "PartitionKey eq 'webhookcreation'" | Select-Object -First 1 -ExpandProperty CIPPURL - $WebhookTable = Get-CippTable -tablename 'webhookTable' - $Webhooks = Get-CIPPAzDataTableEntity @WebhookTable -Filter "PartitionKey eq '$($Item.TenantFilter)' and Version eq '3'" | Where-Object { $_.Resource -match '^Audit' } - $ExistingBundles = Get-CIPPAzDataTableEntity @AuditBundleTable -Filter "PartitionKey eq '$($Item.TenantFilter)' and ContentType eq '$ContentType'" - $ConfigTable = Get-CIPPTable -TableName 'WebhookRules' - $ConfigEntries = Get-CIPPAzDataTableEntity @ConfigTable - - $NewBundles = [System.Collections.Generic.List[object]]::new() - foreach ($Webhook in $Webhooks) { - # only process webhooks that are configured in the webhookrules table - $Configuration = $ConfigEntries | Where-Object { ($_.Tenants -match $TenantFilter -or $_.Tenants -match 'AllTenants') } - if ($Configuration.Type -notcontains $Webhook.Resource) { - continue - } - - $TenantFilter = $Webhook.PartitionKey - $LogType = $Webhook.Resource - Write-Information "Querying for $LogType on $TenantFilter" - $ContentBundleQuery = @{ - TenantFilter = $TenantFilter - ContentType = $LogType - StartTime = $Item.StartTime - EndTime = $Item.EndTime - } - $LogBundles = Get-CIPPAuditLogContentBundles @ContentBundleQuery + Write-Information "Audit Logs: Processing $($TenantFilter)" - foreach ($Bundle in $LogBundles) { - if ($ExistingBundles.RowKey -notcontains $Bundle.contentId) { - $NewBundles.Add([PSCustomObject]@{ - PartitionKey = $TenantFilter - RowKey = $Bundle.contentId - DefaultDomainName = $TenantFilter - ContentType = $Bundle.contentType - ContentUri = $Bundle.contentUri - ContentCreated = $Bundle.contentCreated - ContentExpiration = $Bundle.contentExpiration - CIPPURL = [string]$CIPPURL - ProcessingStatus = 'Pending' - MatchedRules = '' - MatchedLogs = 0 - }) + # Get CIPP Url, cleanup legacy tasks + $SchedulerConfig = Get-CippTable -TableName 'SchedulerConfig' + $LegacyWebhookTasks = Get-CIPPAzDataTableEntity @SchedulerConfig -Filter "PartitionKey eq 'webhookcreation'" + $LegacyUrl = $LegacyWebhookTasks | Select-Object -First 1 -ExpandProperty CIPPURL + $CippConfigTable = Get-CippTable -tablename Config + $CippConfig = Get-CIPPAzDataTableEntity @CippConfigTable -Filter "PartitionKey eq 'InstanceProperties' and RowKey eq 'CIPPURL'" + if ($LegacyUrl) { + if (!$CippConfig) { + $Entity = @{ + PartitionKey = 'InstanceProperties' + RowKey = 'CIPPURL' + Value = [string]([System.Uri]$LegacyUrl).Host } + Add-CIPPAzDataTableEntity @CippConfigTable -Entity $Entity -Force } + # remove legacy webhooks + foreach ($Task in $LegacyWebhookTasks) { + Remove-AzDataTableEntity @SchedulerConfig -Entity $Task + } + $CIPPURL = $LegacyUrl + } else { + $CIPPURL = 'https://{0}' -f $CippConfig.Value } - if (($NewBundles | Measure-Object).Count -gt 0) { - Add-CIPPAzDataTableEntity @AuditBundleTable -Entity $NewBundles - Write-Information ($NewBundles | ConvertTo-Json -Depth 5 -Compress) + # Get webhook rules + $ConfigEntries = Get-CIPPAzDataTableEntity @ConfigTable + $LogSearchesTable = Get-CippTable -TableName 'AuditLogSearches' + + $Configuration = $ConfigEntries | Where-Object { ($_.Tenants -match $TenantFilter -or $_.Tenants -match 'AllTenants') } + if ($Configuration) { + try { + $LogSearches = Get-CippAuditLogSearches -TenantFilter $TenantFilter -ReadyToProcess | Select-Object -First 20 + Write-Information ('Audit Logs: Found {0} searches, begin processing' -f $LogSearches.Count) + foreach ($Search in $LogSearches) { + $SearchEntity = Get-CIPPAzDataTableEntity @LogSearchesTable -Filter "Tenant eq '$($TenantFilter)' and RowKey eq '$($Search.id)'" + $SearchEntity.CippStatus = 'Processing' + Add-CIPPAzDataTableEntity @LogSearchesTable -Entity $SearchEntity -Force + try { + # Test the audit log rules against the search results + $AuditLogTest = Test-CIPPAuditLogRules -TenantFilter $TenantFilter -SearchId $Search.id - $Batch = $NewBundles | Select-Object @{Name = 'ContentId'; Expression = { $_.RowKey } }, @{Name = 'TenantFilter'; Expression = { $_.PartitionKey } }, @{Name = 'FunctionName'; Expression = { 'AuditLogBundleProcessing' } } - $InputObject = [PSCustomObject]@{ - OrchestratorName = 'AuditLogs' - Batch = @($Batch) - SkipLog = $true + $SearchEntity.CippStatus = 'Completed' + $MatchedRules = [string](ConvertTo-Json -Compress -InputObject $AuditLogTest.MatchedRules) + $SearchEntity | Add-Member -MemberType NoteProperty -Name MatchedRules -Value $MatchedRules -Force + $SearchEntity | Add-Member -MemberType NoteProperty -Name MatchedLogs -Value $AuditLogTest.MatchedLogs -Force + $SearchEntity | Add-Member -MemberType NoteProperty -Name TotalLogs -Value $AuditLogTest.TotalLogs -Force + } catch { + $SearchEntity.CippStatus = 'Failed' + Write-Information "Error processing audit log rules: $($_.Exception.Message)" + $Exception = [string](ConvertTo-Json -Compress -InputObject (Get-CippException -Exception $_)) + $SearchEntity | Add-Member -MemberType NoteProperty -Name Error -Value $Exception + } + Add-CIPPAzDataTableEntity @LogSearchesTable -Entity $SearchEntity -Force + $DataToProcess = ($AuditLogTest).DataToProcess + Write-Information "Audit Logs: Data to process found: $($DataToProcess.count) items" + if ($DataToProcess) { + foreach ($AuditLog in $DataToProcess) { + Write-Information "Processing $($AuditLog.operation)" + $Webhook = @{ + Data = $AuditLog + CIPPURL = [string]$CIPPURL + TenantFilter = $TenantFilter + } + Invoke-CippWebhookProcessing @Webhook + } + } + } + } catch { + Write-Information ( 'Audit Logs: Error {0} line {1} - {2}' -f $_.InvocationInfo.ScriptName, $_.InvocationInfo.ScriptLineNumber, $_.Exception.Message) } - $InstanceId = Start-NewOrchestration -FunctionName 'CIPPOrchestrator' -InputObject ($InputObject | ConvertTo-Json -Depth 5 -Compress) - Write-Host "Started orchestration with ID = '$InstanceId'" } - -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Webhooks/Push-Schedulerwebhookcreation.ps1 b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Webhooks/Push-Schedulerwebhookcreation.ps1 index 47aa38b1a072..62da83dff4cd 100644 --- a/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Webhooks/Push-Schedulerwebhookcreation.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Webhooks/Push-Schedulerwebhookcreation.ps1 @@ -6,44 +6,42 @@ function Push-Schedulerwebhookcreation { param ( $item ) - $Table = Get-CIPPTable -TableName 'SchedulerConfig' + <#$Table = Get-CIPPTable -TableName 'SchedulerConfig' $WebhookTable = Get-CIPPTable -TableName 'webhookTable' - - #Write-Information ($item | ConvertTo-Json -Depth 10) + $Tenant = $Item.Tenant $Row = Get-CIPPAzDataTableEntity @Table -Filter "RowKey eq '$($item.SchedulerRow)'" if (!$Row) { - Write-Host "No row found for $($item.SchedulerRow). Full received item was $($item | ConvertTo-Json)" + Write-Information "No row found for $($item.SchedulerRow). Full received item was $($item | ConvertTo-Json)" return } else { - if ($Row.tenantid -eq 'AllTenants') { - $Tenants = (Get-Tenants).defaultDomainName + Write-Information "Working on $Tenant - $($Item.Tenantid)" + #use the queueitem to see if we already have a webhook for this tenant + webhooktype. If we do, delete this row from SchedulerConfig. + $Webhook = Get-CIPPAzDataTableEntity @WebhookTable -Filter "PartitionKey eq '$Tenant' and Version eq '3' and Resource eq '$($Row.webhookType)'" + if ($Webhook) { + Write-Information "Found existing webhook for $Tenant - $($Row.webhookType)" + if ($Row.tenantid -ne 'AllTenants') { + Remove-AzDataTableEntity @Table -Entity $Row + } + if (($Webhook | Measure-Object).Count -gt 1) { + $Webhook = $Webhook | Select-Object -First 1 + $WebhooksToRemove = $ExistingWebhooks | Where-Object { $_.RowKey -ne $Webhook.RowKey } + foreach ($RemoveWebhook in $WebhooksToRemove) { + Remove-AzDataTableEntity @WebhookTable -Entity $RemoveWebhook + } + } } else { - $Tenants = (Get-Tenants | Where-Object { $_.customerId -eq $Row.tenantid }).defaultDomainName - } - foreach ($Tenant in $Tenants) { - Write-Host "Working on $Tenant - $($Row.tenantid)" - #use the queueitem to see if we already have a webhook for this tenant + webhooktype. If we do, delete this row from SchedulerConfig. - $Webhook = Get-CIPPAzDataTableEntity @WebhookTable -Filter "PartitionKey eq '$Tenant' and Version eq '3' and Resource eq '$($Row.webhookType)'" - if ($Webhook) { - Write-Host "Found existing webhook for $Tenant - $($Row.webhookType)" - if ($Row.tenantid -ne 'AllTenants') { + Write-Information "No existing webhook for $Tenant - $($Row.webhookType) - Time to create." + try { + $NewSub = New-CIPPGraphSubscription -TenantFilter $Tenant -EventType $Row.webhookType -auditLogAPI $true + if ($NewSub.Success -and $Row.tenantid -ne 'AllTenants') { Remove-AzDataTableEntity @Table -Entity $Row + } else { + Write-Information "Failed to create webhook for $Tenant - $($Row.webhookType) - $($_.Exception.Message)" } - } else { - Write-Host "No existing webhook for $Tenant - $($Row.webhookType) - Time to create." - try { - $NewSub = New-CIPPGraphSubscription -TenantFilter $Tenant -EventType $Row.webhookType -auditLogAPI $true - if ($NewSub.Success -and $Row.tenantid -ne 'AllTenants') { - Remove-AzDataTableEntity @Table -Entity $Row - } else { - Write-Host "Failed to create webhook for $Tenant - $($Row.webhookType) - $($_.Exception.Message)" - } - } catch { - Write-Host "Failed to create webhook for $Tenant - $($Row.webhookType): $($_.Exception.Message)" - } - + } catch { + Write-Information "Failed to create webhook for $Tenant - $($Row.webhookType): $($_.Exception.Message)" } } - } + }#> -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Core/Invoke-ExecDurableFunctions.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Core/Invoke-ExecDurableFunctions.ps1 index 09da6bd2c990..f01062fe5720 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Core/Invoke-ExecDurableFunctions.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Core/Invoke-ExecDurableFunctions.ps1 @@ -51,7 +51,7 @@ function Invoke-ExecDurableFunctions { if ($Request.Query.PartitionKey) { $HistoryTable = Get-CippTable -TableName ('{0}History' -f $FunctionName) $Filter = "PartitionKey eq '{0}'" -f $Request.Query.PartitionKey - $History = Get-CippAzDataTableEntity @HistoryTable -Filter $Filter -Property RowKey, Timestamp, EventType, Name, IsPlayed, OrchestrationStatus | Select-Object * -ExcludeProperty ETag + $History = Get-CippAzDataTableEntity @HistoryTable -Filter $Filter -Property PartitionKey, RowKey, Timestamp, EventType, Name, IsPlayed, OrchestrationStatus | Select-Object * -ExcludeProperty ETag $Body = [PSCustomObject]@{ Results = @($History) @@ -173,4 +173,4 @@ function Invoke-ExecDurableFunctions { StatusCode = [HttpStatusCode]::OK Body = $Body }) -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Core/Invoke-ExecPartnerWebhook.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Core/Invoke-ExecPartnerWebhook.ps1 index 5a235ee7cb7d..cadb2f70a770 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Core/Invoke-ExecPartnerWebhook.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Core/Invoke-ExecPartnerWebhook.ps1 @@ -34,7 +34,7 @@ function Invoke-ExecPartnerWebhook { 'CreateSubscription' { $BaseURL = ([System.Uri]$Request.Headers.'x-ms-original-url').Host $Webhook = @{ - TenantFilter = $env:TenantId + TenantFilter = $env:TenantID PartnerCenter = $true BaseURL = $BaseURL EventType = $Request.Body.EventType @@ -74,4 +74,4 @@ function Invoke-ExecPartnerWebhook { StatusCode = [System.Net.HttpStatusCode]::OK Body = $Body } -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Core/Invoke-ExecServicePrincipals.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Core/Invoke-ExecServicePrincipals.ps1 new file mode 100644 index 000000000000..71bdb7a36d59 --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Core/Invoke-ExecServicePrincipals.ps1 @@ -0,0 +1,73 @@ +function Invoke-ExecServicePrincipals { + <# + .FUNCTIONALITY + Entrypoint + .ROLE + CIPP.Core.ReadWrite + #> + [CmdletBinding()] + param($Request, $TriggerMetadata) + + $TenantFilter = $env:TenantID + + $Success = $true + + $Action = $Request.Query.Action ?? 'Default' + try { + switch ($Request.Query.Action) { + 'Create' { + $Action = 'Create' + if ($Request.Query.AppId -match '^[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}$') { + $Body = @{ + 'appId' = $Request.Query.AppId + } | ConvertTo-Json -Compress + try { + $Results = New-GraphPostRequest -Uri 'https://graph.microsoft.com/beta/servicePrincipals' -tenantid $TenantFilter -type POST -body $Body + } catch { + $Results = "Unable to create service principal: $($_.Exception.Message)" + $Success = $false + } + } else { + $Results = 'Invalid AppId' + $Success = $false + } + } + default { + if ($Request.Query.AppId) { + $Action = 'Get' + $Results = New-GraphGetRequest -Uri "https://graph.microsoft.com/beta/servicePrincipals(appId='$($Request.Query.AppId)')" -tenantid $TenantFilter -NoAuthCheck $true + } elseif ($Request.Query.Id) { + $Action = 'Get' + $Results = New-GraphGetRequest -Uri "https://graph.microsoft.com/beta/servicePrincipals/$($Request.Query.Id)" -tenantid $TenantFilter -NoAuthCheck $true + } + else { + $Action = 'List' + $Results = New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/servicePrincipals?$top=999&$orderby=displayName&$count=true' -ComplexFilter -tenantid $TenantFilter -NoAuthCheck $true + } + } + } + } catch { + $Results = $_.Exception.Message + $Success = $false + } + + $Metadata = @{ + 'Action' = $Action + 'Success' = $Success + } + + if ($Request.Query.AppId) { + $Metadata.AppId = $Request.Query.AppId + } + + $Body = @{ + 'Results' = $Results + 'Metadata' = $Metadata + } + + $Json = $Body | ConvertTo-Json -Depth 10 -Compress + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = $Json + }) +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Core/Invoke-ExecSetCIPPAutoBackup.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Core/Invoke-ExecSetCIPPAutoBackup.ps1 index 2d04df48933c..b705c1da9fc5 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Core/Invoke-ExecSetCIPPAutoBackup.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Core/Invoke-ExecSetCIPPAutoBackup.ps1 @@ -19,14 +19,14 @@ Function Invoke-ExecSetCIPPAutoBackup { } Remove-AzDataTableEntity @Table -Entity $task | Out-Null - $TaskBody = @{ + $TaskBody = [pscustomobject]@{ TenantFilter = 'AllTenants' Name = 'Automated CIPP Backup' Command = @{ value = 'New-CIPPBackup' label = 'New-CIPPBackup' } - Parameters = @{ backupType = 'CIPP' } + Parameters = [pscustomobject]@{ backupType = 'CIPP' } ScheduledTime = $unixtime Recurrence = '1d' } diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecExtensionMapping.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Extensions/Invoke-ExecExtensionMapping.ps1 similarity index 100% rename from Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecExtensionMapping.ps1 rename to Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Extensions/Invoke-ExecExtensionMapping.ps1 diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecExtensionSync.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Extensions/Invoke-ExecExtensionSync.ps1 similarity index 89% rename from Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecExtensionSync.ps1 rename to Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Extensions/Invoke-ExecExtensionSync.ps1 index 911ce71d7e14..136009bd740b 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecExtensionSync.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Extensions/Invoke-ExecExtensionSync.ps1 @@ -19,12 +19,19 @@ Function Invoke-ExecExtensionSync { Write-LogMessage -API 'Scheduler_Billing' -tenant 'none' -message 'Starting billing processing.' -sev Info $Table = Get-CIPPTable -TableName Extensionsconfig $Configuration = (Get-CIPPAzDataTableEntity @Table).config | ConvertFrom-Json -Depth 10 + foreach ($ConfigItem in $Configuration.psobject.properties.name) { switch ($ConfigItem) { 'Gradient' { If ($Configuration.Gradient.enabled -and $Configuration.Gradient.BillingEnabled) { - Push-OutputBinding -Name gradientqueue -Value 'LetsGo' - $Results = [pscustomobject]@{'Results' = 'Successfully started Gradient Sync' } + $ProcessorQueue = Get-CIPPTable -TableName 'ProcessorQueue' + $ProcessorFunction = [PSCustomObject]@{ + PartitionKey = 'Function' + RowKey = 'New-GradientServiceSyncRun' + FunctionName = 'New-GradientServiceSyncRun' + } + Add-AzDataTableEntity @ProcessorQueue -Entity $ProcessorFunction -Force + $Results = [pscustomobject]@{'Results' = 'Successfully queued Gradient Sync' } } } } diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecExtensionTest.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Extensions/Invoke-ExecExtensionTest.ps1 similarity index 90% rename from Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecExtensionTest.ps1 rename to Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Extensions/Invoke-ExecExtensionTest.ps1 index e9a6465c4ff0..1262ab6260a9 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecExtensionTest.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Extensions/Invoke-ExecExtensionTest.ps1 @@ -49,8 +49,11 @@ Function Invoke-ExecExtensionTest { 'Hudu' { Connect-HuduAPI -configuration $Configuration.Hudu $Version = Get-HuduAppInfo - Write-Host ($Version | ConvertTo-Json) - $Results = [pscustomobject]@{'Results' = ('Successfully Connected to Hudu, version: {0}' -f $Version.version) } + if ($Version.version) { + $Results = [pscustomobject]@{'Results' = ('Successfully Connected to Hudu, version: {0}' -f $Version.version) } + } else { + $Results = [pscustomobject]@{'Results' = 'Failed to connect to Hudu' } + } } } } catch { diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecExtensionsConfig.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Extensions/Invoke-ExecExtensionsConfig.ps1 similarity index 57% rename from Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecExtensionsConfig.ps1 rename to Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Extensions/Invoke-ExecExtensionsConfig.ps1 index bc19a2b3940a..60ba2aa4adca 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecExtensionsConfig.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Extensions/Invoke-ExecExtensionsConfig.ps1 @@ -17,54 +17,76 @@ Function Invoke-ExecExtensionsConfig { #Connect-AzAccount -UseDeviceAuthentication # Write to the Azure Functions log stream. Write-Information 'PowerShell HTTP trigger function processed a request.' + $Body = [PSCustomObject]$Request.Body $results = try { - if ($Request.Body.CIPPAPI.Enabled) { - $APIConfig = New-CIPPAPIConfig -ExecutingUser $Request.Headers.'x-ms-client-principal' -resetpassword $Request.Body.CIPPAPI.ResetPassword - $AddedText = $APIConfig.Results + if ($Body.CIPPAPI.Enabled) { + try { + $APIConfig = New-CIPPAPIConfig -ExecutingUser $Request.Headers.'x-ms-client-principal' -resetpassword $Body.CIPPAPI.ResetPassword + $AddedText = $APIConfig.Results + } catch { + $AddedText = ' Could not enable CIPP-API. Check the CIPP documentation for API requirements.' + $Body = $Body | Select-Object * -ExcludeProperty CIPPAPI + } } # Check if NinjaOne URL is set correctly and the instance has at least version 5.6 - if ($Request.Body.NinjaOne) { + if ($Body.NinjaOne) { + $AllowedNinjaHostnames = @( + 'app.ninjarmm.com', + 'eu.ninjarmm.com', + 'oc.ninjarmm.com', + 'ca.ninjarmm.com', + 'us2.ninjarmm.com' + ) + $SetNinjaHostname = $Body.NinjaOne.Instance -replace '/ws', '' -replace 'https://', '' + if ($AllowedNinjaHostnames -notcontains $SetNinjaHostname) { + throw "NinjaOne URL is not allowed. Allowed hostnames are: $($AllowedNinjaHostnames -join ', ')" + } + try { - [version]$Version = (Invoke-WebRequest -Method GET -Uri "https://$(($Request.Body.NinjaOne.Instance -replace '/ws','') -replace 'https://','')/app-version.txt" -ea stop).content + [version]$Version = (Invoke-WebRequest -Method GET -Uri "$SetNinjaHostname/app-version.txt" -ea stop).content } catch { - throw "Failed to connect to NinjaOne check your Instance is set correctly eg 'app.ninjarmmm.com'" + throw "Failed to connect to NinjaOne check your Instance is set correctly eg 'app.ninjarmm.com'" } if ($Version -lt [version]'5.6.0.0') { - throw 'NinjaOne 5.6.0.0 is required. This will be rolling out regionally between the end of November and mid-December. Please try again at a later date.' + throw 'NinjaOne 5.6.0.0 is required.' } } $Table = Get-CIPPTable -TableName Extensionsconfig - foreach ($APIKey in ([pscustomobject]$Request.Body).psobject.properties.name) { + foreach ($APIKey in $Body.PSObject.Properties.Name) { Write-Information "Working on $apikey" - if ($Request.Body.$APIKey.APIKey -eq 'SentToKeyVault' -or $Request.Body.$APIKey.APIKey -eq '') { + if ($Body.$APIKey.APIKey -eq 'SentToKeyVault' -or $Body.$APIKey.APIKey -eq '') { Write-Information 'Not sending to keyvault. Key previously set or left blank.' } else { Write-Information 'writing API Key to keyvault, and clearing.' Write-Information "$ENV:WEBSITE_DEPLOYMENT_ID" - if ($Request.Body.$APIKey.APIKey) { + if ($Body.$APIKey.APIKey) { if ($env:AzureWebJobsStorage -eq 'UseDevelopmentStorage=true') { $DevSecretsTable = Get-CIPPTable -tablename 'DevSecrets' $Secret = [PSCustomObject]@{ 'PartitionKey' = $APIKey 'RowKey' = $APIKey - 'APIKey' = $Request.Body.$APIKey.APIKey + 'APIKey' = $Body.$APIKey.APIKey } Add-CIPPAzDataTableEntity @DevSecretsTable -Entity $Secret -Force } else { - $null = Set-AzKeyVaultSecret -VaultName $ENV:WEBSITE_DEPLOYMENT_ID -Name $APIKey -SecretValue (ConvertTo-SecureString -AsPlainText -Force -String $Request.Body.$APIKey.APIKey) + $null = Set-AzKeyVaultSecret -VaultName $ENV:WEBSITE_DEPLOYMENT_ID -Name $APIKey -SecretValue (ConvertTo-SecureString -AsPlainText -Force -String $Body.$APIKey.APIKey) } } - $Request.Body.$APIKey.APIKey = 'SentToKeyVault' + if ($Body.$APIKey.PSObject.Properties.Name -notcontains 'APIKey') { + $Body.$APIKey | Add-Member -MemberType NoteProperty -Name APIKey -Value 'SentToKeyVault' + } else { + $Body.$APIKey.APIKey = 'SentToKeyVault' + } } - $Request.Body.$APIKey = $Request.Body.$APIKey | Select-Object * -ExcludeProperty ResetPassword + $Body.$APIKey = $Body.$APIKey | Select-Object * -ExcludeProperty ResetPassword } - $body = $Request.Body | Select-Object * -ExcludeProperty APIKey, Enabled | ConvertTo-Json -Depth 10 -Compress + $Body = $Body | Select-Object * -ExcludeProperty APIKey, Enabled | ConvertTo-Json -Depth 10 -Compress $Config = @{ 'PartitionKey' = 'CippExtensions' 'RowKey' = 'Config' - 'config' = [string]$body + 'config' = [string]$Body } Add-CIPPAzDataTableEntity @Table -Entity $Config -Force | Out-Null @@ -80,9 +102,9 @@ Function Invoke-ExecExtensionsConfig { Add-AzDataTableEntity @ConfigTable -Entity $AddObject -Force Register-CIPPExtensionScheduledTasks - "Successfully set the configuration. $AddedText" + "Successfully saved the extension configuration. $AddedText" } catch { - "Failed to set configuration: $($_.Exception.message) Linenumber: $($_.InvocationInfo.ScriptLineNumber)" + "Failed to save the extensions configuration: $($_.Exception.message) Linenumber: $($_.InvocationInfo.ScriptLineNumber)" } diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Extensions/Invoke-ListExtensionSync.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Extensions/Invoke-ListExtensionSync.ps1 new file mode 100644 index 000000000000..8ccf26abd1cc --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Extensions/Invoke-ListExtensionSync.ps1 @@ -0,0 +1,59 @@ +using namespace System.Net + +Function Invoke-ListExtensionSync { + <# + .FUNCTIONALITY + Entrypoint + .ROLE + CIPP.Extension.Read + #> + [CmdletBinding()] + param($Request, $TriggerMetadata) + + $APIName = $TriggerMetadata.FunctionName + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + + # Write to the Azure Functions log stream. + Write-Host 'PowerShell HTTP trigger function processed a request.' + $ScheduledTasksTable = Get-CIPPTable -TableName 'ScheduledTasks' + $ScheduledTasks = Get-CIPPAzDataTableEntity @ScheduledTasksTable -Filter 'Hidden eq true' | Where-Object { $_.Command -match 'CippExtension' } + + $AllowedTenants = Test-CIPPAccess -Request $Request -TenantList + $TenantList = Get-Tenants -IncludeErrors + $AllTasksArrayList = [system.collections.generic.list[object]]::new() + + foreach ($Task in $ScheduledTasks) { + if ($Task.Results -and (Test-Json -Json $Task.Results -ErrorAction SilentlyContinue)) { + $Results = $Task.Results | ConvertFrom-Json + } else { + $Results = $Task.Results + } + + $TaskEntry = [PSCustomObject]@{ + RowKey = $Task.RowKey + PartitionKey = $Task.PartitionKey + Tenant = $Task.Tenant + Name = $Task.Name + SyncType = $Task.SyncType + ScheduledTime = $Task.ScheduledTime + ExecutedTime = $Task.ExecutedTime + RepeatsEvery = $Task.Recurrence + Results = $Results + } + + if ($AllowedTenants -notcontains 'AllTenants') { + $Tenant = $TenantList | Where-Object -Property defaultDomainName -EQ $Task.Tenant + if ($AllowedTenants -contains $Tenant.customerId) { + $AllTasksArrayList.Add($TaskEntry) + } + } else { + $AllTasksArrayList.Add($TaskEntry) + } + } + Write-Host ($AllTasksArrayList | ConvertTo-Json -Depth 5 -Compress) + # Associate values to output bindings by calling 'Push-OutputBinding'. + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = ConvertTo-Json -Depth 5 -InputObject $($AllTasksArrayList) + }) +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Scheduler/Invoke-AddScheduledItem.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Scheduler/Invoke-AddScheduledItem.ps1 index f5885143a196..86a74a58a459 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Scheduler/Invoke-AddScheduledItem.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Scheduler/Invoke-AddScheduledItem.ps1 @@ -9,7 +9,7 @@ Function Invoke-AddScheduledItem { #> [CmdletBinding()] param($Request, $TriggerMetadata) - if ($Request.query.hidden -eq $null) { + if ($null -eq $Request.query.hidden) { $hidden = $false } else { $hidden = $true diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Scheduler/Invoke-RemoveScheduledItem.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Scheduler/Invoke-RemoveScheduledItem.ps1 index f21b1b88e275..2da498adaf36 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Scheduler/Invoke-RemoveScheduledItem.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Scheduler/Invoke-RemoveScheduledItem.ps1 @@ -10,6 +10,9 @@ Function Invoke-RemoveScheduledItem { [CmdletBinding()] param($Request, $TriggerMetadata) + $APIName = 'RemoveScheduledItem' + $User = $request.headers.'x-ms-client-principal' + $task = @{ RowKey = $Request.Query.ID PartitionKey = 'ScheduledTask' @@ -17,7 +20,7 @@ Function Invoke-RemoveScheduledItem { $Table = Get-CIPPTable -TableName 'ScheduledTasks' Remove-AzDataTableEntity @Table -Entity $task - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Task removed: $($task.Name)" -Sev 'Info' + Write-LogMessage -user $User -API $APINAME -message "Task removed: $($task.RowKey)" -Sev 'Info' Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ StatusCode = [HttpStatusCode]::OK diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecAccessChecks.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecAccessChecks.ps1 index f655b21c2a91..08d9b59cc620 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecAccessChecks.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecAccessChecks.ps1 @@ -13,18 +13,29 @@ Function Invoke-ExecAccessChecks { $APIName = $TriggerMetadata.FunctionName Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + $Table = Get-CIPPTable -tablename 'AccessChecks' # Write to the Azure Functions log stream. Write-Host 'PowerShell HTTP trigger function processed a request.' if ($Request.Query.Permissions -eq 'true') { - $Results = Test-CIPPAccessPermissions -tenantfilter $ENV:tenantid -APIName $APINAME -ExecutingUser $Request.Headers.'x-ms-client-principal' + if ($Request.Query.Cached -eq 'true') { + $Data = (Get-CIPPAzDataTableEntity @Table -Filter "RowKey eq 'AccessPermissions'").Data | ConvertFrom-Json + $Results = $Data + } else { + $Results = Test-CIPPAccessPermissions -tenantfilter $ENV:TenantID -APIName $APINAME -ExecutingUser $Request.Headers.'x-ms-client-principal' + } } if ($Request.Query.Tenants -eq 'true') { - $Results = Test-CIPPAccessTenant -TenantCSV $Request.Body.tenantid + $Results = Test-CIPPAccessTenant -TenantCSV $Request.Body.tenantid -ExecutingUser $Request.Headers.'x-ms-client-principal' } if ($Request.Query.GDAP -eq 'true') { - $Results = Test-CIPPGDAPRelationships + if ($Request.Query.Cached -eq 'true') { + $Data = (Get-CIPPAzDataTableEntity @Table -Filter "RowKey eq 'GDAPRelationships'").Data | ConvertFrom-Json + $Results = $Data + } else { + $Results = Test-CIPPGDAPRelationships + } } $body = [pscustomobject]@{'Results' = $Results } diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecBackendURLs.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecBackendURLs.ps1 index 4c0adc7368e8..9dfb2932b4a3 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecBackendURLs.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecBackendURLs.ps1 @@ -14,20 +14,20 @@ Function Invoke-ExecBackendURLs { Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' $Subscription = ($ENV:WEBSITE_OWNER_NAME).split('+') | Select-Object -First 1 - $SWAName = $ENV:Website_SITE_NAME -replace 'cipp', 'CIPP-SWA-' + $SWAName = $ENV:WEBSITE_SITE_NAME -replace 'cipp', 'CIPP-SWA-' # Write to the Azure Functions log stream. Write-Host 'PowerShell HTTP trigger function processed a request.' $results = [PSCustomObject]@{ - ResourceGroup = "https://portal.azure.com/#@Go/resource/subscriptions/$Subscription/resourceGroups/$ENV:Website_Resource_Group/overview" - KeyVault = "https://portal.azure.com/#@Go/resource/subscriptions/$Subscription/resourceGroups/$ENV:Website_Resource_Group/providers/Microsoft.KeyVault/vaults/$($ENV:WEBSITE_SITE_NAME)/secrets" - FunctionApp = "https://portal.azure.com/#@Go/resource/subscriptions/$Subscription/resourceGroups/$ENV:Website_Resource_Group/providers/Microsoft.Web/sites/$($ENV:WEBSITE_SITE_NAME)/appServices" - FunctionConfig = "https://portal.azure.com/#@Go/resource/subscriptions/$Subscription/resourceGroups/$ENV:Website_Resource_Group/providers/Microsoft.Web/sites/$($ENV:WEBSITE_SITE_NAME)/configuration" - FunctionDeployment = "https://portal.azure.com/#@Go/resource/subscriptions/$Subscription/resourceGroups/$ENV:Website_Resource_Group/providers/Microsoft.Web/sites/$($ENV:WEBSITE_SITE_NAME)/vstscd" - SWADomains = "https://portal.azure.com/#@Go/resource/subscriptions/$Subscription/resourceGroups/$ENV:Website_Resource_Group/providers/Microsoft.Web/staticSites/$SWAName/customDomains" - SWARoles = "https://portal.azure.com/#@Go/resource/subscriptions/$Subscription/resourceGroups/$ENV:Website_Resource_Group/providers/Microsoft.Web/staticSites/$SWAName/roleManagement" + ResourceGroup = "https://portal.azure.com/#@Go/resource/subscriptions/$Subscription/resourceGroups/$ENV:WEBSITE_RESOURCE_GROUP/overview" + KeyVault = "https://portal.azure.com/#@Go/resource/subscriptions/$Subscription/resourceGroups/$ENV:WEBSITE_RESOURCE_GROUP/providers/Microsoft.KeyVault/vaults/$($ENV:WEBSITE_SITE_NAME)/secrets" + FunctionApp = "https://portal.azure.com/#@Go/resource/subscriptions/$Subscription/resourceGroups/$ENV:WEBSITE_RESOURCE_GROUP/providers/Microsoft.Web/sites/$($ENV:WEBSITE_SITE_NAME)/appServices" + FunctionConfig = "https://portal.azure.com/#@Go/resource/subscriptions/$Subscription/resourceGroups/$ENV:WEBSITE_RESOURCE_GROUP/providers/Microsoft.Web/sites/$($ENV:WEBSITE_SITE_NAME)/configuration" + FunctionDeployment = "https://portal.azure.com/#@Go/resource/subscriptions/$Subscription/resourceGroups/$ENV:WEBSITE_RESOURCE_GROUP/providers/Microsoft.Web/sites/$($ENV:WEBSITE_SITE_NAME)/vstscd" + SWADomains = "https://portal.azure.com/#@Go/resource/subscriptions/$Subscription/resourceGroups/$ENV:WEBSITE_RESOURCE_GROUP/providers/Microsoft.Web/staticSites/$SWAName/customDomains" + SWARoles = "https://portal.azure.com/#@Go/resource/subscriptions/$Subscription/resourceGroups/$ENV:WEBSITE_RESOURCE_GROUP/providers/Microsoft.Web/staticSites/$SWAName/roleManagement" Subscription = $Subscription - RGName = $ENV:Website_Resource_Group + RGName = $ENV:WEBSITE_RESOURCE_GROUP FunctionName = $ENV:WEBSITE_SITE_NAME SWAName = $SWAName } diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecCPVPermissions.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecCPVPermissions.ps1 index db0bae59c71b..8fbf7872e3c9 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecCPVPermissions.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecCPVPermissions.ps1 @@ -19,6 +19,7 @@ Function Invoke-ExecCPVPermissions { Write-Host "Our tenant is $($Tenant.displayName) - $($Tenant.defaultDomainName)" + $TenantFilter = $Request.Query.TenantFilter $CPVConsentParams = @{ TenantFilter = $Request.Query.TenantFilter } @@ -27,16 +28,27 @@ Function Invoke-ExecCPVPermissions { } $GraphRequest = try { - Set-CIPPCPVConsent @CPVConsentParams - Add-CIPPApplicationPermission -RequiredResourceAccess 'CippDefaults' -ApplicationId $ENV:ApplicationID -tenantfilter $Request.Query.TenantFilter - Add-CIPPDelegatedPermission -RequiredResourceAccess 'CippDefaults' -ApplicationId $ENV:ApplicationID -tenantfilter $Request.Query.TenantFilter + if ($TenantFilter -notin @('PartnerTenant', $env:TenantId)) { + Set-CIPPCPVConsent @CPVConsentParams + } else { + $TenantFilter = $env:TenantID + $Tenant = [PSCustomObject]@{ + displayName = '*Partner Tenant' + defaultDomainName = $env:TenantID + } + } + Add-CIPPApplicationPermission -RequiredResourceAccess 'CIPPDefaults' -ApplicationId $ENV:ApplicationID -tenantfilter $TenantFilter + Add-CIPPDelegatedPermission -RequiredResourceAccess 'CIPPDefaults' -ApplicationId $ENV:ApplicationID -tenantfilter $TenantFilter + if ($TenantFilter -notin @('PartnerTenant', $env:TenantId)) { + Set-CIPPSAMAdminRoles -TenantFilter $TenantFilter + } $Success = $true } catch { "Failed to update permissions for $($Tenant.displayName): $($_.Exception.Message)" $Success = $false } - $Tenant = Get-Tenants -IncludeAll | Where-Object -Property customerId -EQ $TenantFilter + $Tenant = Get-Tenants -IncludeAll | Where-Object -Property customerId -EQ $TenantFilter | Select-Object -First 1 # Associate values to output bindings by calling 'Push-OutputBinding'. Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ @@ -44,7 +56,7 @@ Function Invoke-ExecCPVPermissions { Body = @{ Results = $GraphRequest Metadata = @{ - Heading = 'CPV Permission - {0} ({1})' -f $Tenant.displayName, $Tenant.defaultDomainName + Heading = ('CPV Permission - {0} ({1})' -f $Tenant.displayName, $Tenant.defaultDomainName) Success = $Success } } diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecCustomRole.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecCustomRole.ps1 index c5725a2cafb8..44c87fd92425 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecCustomRole.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecCustomRole.ps1 @@ -39,14 +39,26 @@ function Invoke-ExecCustomRole { ) } else { $Body = foreach ($Role in $Body) { - $Role.Permissions = $Role.Permissions | ConvertFrom-Json + try { + $Role.Permissions = $Role.Permissions | ConvertFrom-Json + } catch { + $Role.Permissions = '' + } if ($Role.AllowedTenants) { - $Role.AllowedTenants = @($Role.AllowedTenants | ConvertFrom-Json) + try { + $Role.AllowedTenants = @($Role.AllowedTenants | ConvertFrom-Json) + } catch { + $Role.AllowedTenants = '' + } } else { $Role | Add-Member -NotePropertyName AllowedTenants -NotePropertyValue @() -Force } if ($Role.BlockedTenants) { - $Role.BlockedTenants = @($Role.BlockedTenants | ConvertFrom-Json) + try { + $Role.BlockedTenants = @($Role.BlockedTenants | ConvertFrom-Json) + } catch { + $Role.BlockedTenants = '' + } } else { $Role | Add-Member -NotePropertyName BlockedTenants -NotePropertyValue @() -Force } diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecOffloadFunctions.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecOffloadFunctions.ps1 new file mode 100644 index 000000000000..bf73ed18cd93 --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecOffloadFunctions.ps1 @@ -0,0 +1,56 @@ + +Function Invoke-ExecOffloadFunctions { + <# + .FUNCTIONALITY + Entrypoint + .ROLE + CIPP.SuperAdmin.ReadWrite + #> + [CmdletBinding()] + param($Request, $TriggerMetadata) + + $roles = ([System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($request.headers.'x-ms-client-principal')) | ConvertFrom-Json).userRoles + if ('superadmin' -notin $roles) { + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::Forbidden + Body = @{ error = 'You do not have permission to perform this action.' } + }) + return + } else { + $Table = Get-CippTable -tablename 'Config' + + if ($Request.Query.Action -eq 'ListCurrent') { + $CurrentState = Get-CIPPAzDataTableEntity @Table -Filter "PartitionKey eq 'OffloadFunctions' and RowKey eq 'OffloadFunctions'" + $CurrentState = if (!$CurrentState) { + [PSCustomObject]@{ + OffloadFunctions = $false + } + } else { + [PSCustomObject]@{ + OffloadFunctions = $CurrentState.state + } + } + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = $CurrentState + }) + } else { + Add-CIPPAzDataTableEntity @Table -Entity @{ + PartitionKey = 'OffloadFunctions' + RowKey = 'OffloadFunctions' + state = $request.Body.OffloadFunctions + } -Force + + if ($Request.Body.OffloadFunctions) { + $Results = 'Enabled Offload Functions' + } else { + $Results = 'Disabled Offload Functions' + } + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = @{ results = $Results } + }) + } + + } +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecRemoveTenant.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecRemoveTenant.ps1 new file mode 100644 index 000000000000..8e036778fb2d --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecRemoveTenant.ps1 @@ -0,0 +1,36 @@ +function Invoke-ExecRemoveTenant { + <# + .FUNCTIONALITY + Entrypoint + .ROLE + Tenant.Administration.ReadWrite + #> + [CmdletBinding()] + param($Request, $TriggerMetadata) + + if ($Request.Body.TenantID -notmatch '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$') { + $Body = @{Results = "Tenant ID $($Request.Body.TenantID) is not a valid GUID." } + $StatusCode = [HttpStatusCode]::BadRequest + } else { + $Table = Get-CippTable -tablename 'Tenants' + $Tenant = Get-CIPPAzDataTableEntity @Table -Filter "PartitionKey eq 'Tenants' and RowKey eq '$($Request.Body.TenantID)'" -Property RowKey, PartitionKey, customerId, displayName + if ($Tenant) { + try { + Remove-AzDataTableEntity @Table -Entity $Tenant + $Body = @{Results = "$($Tenant.displayName) ($($Tenant.customerId)) deleted from CIPP. Note: This does not remove the GDAP relationship, see the Tenant Offboarding wizard to perform that action." } + $StatusCode = [HttpStatusCode]::OK + } catch { + $Body = @{Results = "Failed to delete $($Tenant.displayName) ($($Tenant.customerId)) from CIPP. Error: $($_.Exception.Message)" } + $StatusCode = [HttpStatusCode]::InternalServerError + } + } else { + $Body = @{Results = "Tenant $($Request.Body.TenantID) not found in CIPP." } + $StatusCode = [HttpStatusCode]::NotFound + } + } + + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = $StatusCode + Body = $Body + }) +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecRunBackup.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecRunBackup.ps1 index afdd570d8910..561a655c2b19 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecRunBackup.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecRunBackup.ps1 @@ -16,7 +16,7 @@ Function Invoke-ExecRunBackup { $body = [pscustomobject]@{ 'Results' = 'Created backup' backup = $CSVfile.BackupData - } + } | ConvertTo-Json -Depth 5 -Compress # Associate values to output bindings by calling 'Push-OutputBinding'. Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ StatusCode = [HttpStatusCode]::OK diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecSAMAppPermissions.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecSAMAppPermissions.ps1 new file mode 100644 index 000000000000..8aeeafdb6222 --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecSAMAppPermissions.ps1 @@ -0,0 +1,46 @@ +function Invoke-ExecSAMAppPermissions { + <# + .FUNCTIONALITY + Entrypoint + .ROLE + CIPP.SuperAdmin.ReadWrite + #> + [CmdletBinding()] + param($Request, $TriggerMetadata) + + $User = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($Request.Headers.'x-ms-client-principal')) | ConvertFrom-Json + + switch ($Request.Query.Action) { + 'Update' { + try { + $Permissions = $Request.Body.Permissions + $Entity = @{ + 'PartitionKey' = 'CIPP-SAM' + 'RowKey' = 'CIPP-SAM' + 'Permissions' = [string]($Permissions | ConvertTo-Json -Depth 10 -Compress) + 'UpdatedBy' = $User.UserDetails ?? 'CIPP-API' + } + $Table = Get-CIPPTable -TableName 'AppPermissions' + $null = Add-CIPPAzDataTableEntity @Table -Entity $Entity -Force + $Body = @{ + 'Results' = 'Permissions Updated' + } + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API 'ExecSAMAppPermissions' -message 'CIPP-SAM Permissions Updated' -Sev 'Info' -LogData $Permissions + } catch { + $Body = @{ + 'Results' = $_.Exception.Message + } + } + } + default { + $Body = Get-CippSamPermissions + } + } + + + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = ConvertTo-Json -Depth 10 -InputObject $Body + }) + +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecSAMRoles.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecSAMRoles.ps1 new file mode 100644 index 000000000000..b001693e4cef --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecSAMRoles.ps1 @@ -0,0 +1,42 @@ +function Invoke-ExecSAMRoles { + <# + .FUNCTIONALITY + Entrypoint + .ROLE + CIPP.SuperAdmin.ReadWrite + #> + [CmdletBinding()] + param($Request, $TriggerMetadata) + + $SAMRolesTable = Get-CIPPTable -tablename 'SAMRoles' + switch ($Request.Query.Action) { + 'Update' { + $Entity = [pscustomobject]@{ + PartitionKey = 'SAMRoles' + RowKey = 'SAMRoles' + Roles = [string](ConvertTo-Json -Depth 5 -Compress -InputObject $Request.Body.Roles) + Tenants = [string](ConvertTo-Json -Depth 5 -Compress -InputObject $Request.Body.Tenants) + } + $null = Add-CIPPAzDataTableEntity @SAMRolesTable -Entity $Entity -Force + $Body = [pscustomobject]@{'Results' = 'Successfully updated SAM roles' } + } + default { + $SAMRoles = Get-CIPPAzDataTableEntity @SAMRolesTable + $Roles = @($SAMRoles.Roles | ConvertFrom-Json) + $Tenants = @($SAMRoles.Tenants | ConvertFrom-Json) + $Body = @{ + 'Roles' = $Roles + 'Tenants' = $Tenants + 'Metadata' = @{ + 'RoleCount' = ($Roles | Measure-Object).Count + 'TenantCount' = ($Tenants | Measure-Object).Count + } + } | ConvertTo-Json -Depth 5 + } + } + + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = $Body + }) +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecWebhookSubscriptions.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecWebhookSubscriptions.ps1 new file mode 100644 index 000000000000..95c8b94f5fc9 --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecWebhookSubscriptions.ps1 @@ -0,0 +1,99 @@ +function Invoke-ExecWebhookSubscriptions { + <# + .FUNCTIONALITY + Entrypoint + .ROLE + Tenant.Alerts.ReadWrite + #> + [CmdletBinding()] + param($Request, $TriggerMetadata) + + $Table = Get-CIPPTable -TableName webhookTable + switch ($Request.Query.Action) { + 'Delete' { + $Webhook = Get-AzDataTableEntity @Table -Filter "RowKey eq '$($Request.Query.WebhookID)'" -Property PartitionKey, RowKey + if ($Webhook) { + Remove-CIPPGraphSubscription -TenantFilter $Webhook.PartitionKey -CIPPID $Webhook.RowKey + Remove-AzDataTableEntity @Table -Entity $Webhook + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = @{ Results = "Deleted subscription $($Webhook.RowKey) for $($Webhook.PartitionKey)" } + }) + } else { + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = @{ Results = "Subscription $($Request.Query.WebhookID) not found" } + }) + } + } + 'Unsubscribe' { + $Webhook = Get-AzDataTableEntity @Table -Filter "RowKey eq '$($Request.Query.WebhookID)'" -Property PartitionKey, RowKey + if ($Webhook) { + $Unsubscribe = @{ + TenantFilter = $Webhook.PartitionKey + } + if ($EventType -match 'Audit.(Exchange|AzureActiveDirectory)') { + $Unsubscribe.Type = 'AuditLog' + $Unsubscribe.EventType = $Webhook.Resource + } else { + $Unsubscribe.Type = 'Graph' + $Unsubscribe.CIPPID = $Webhook.RowKey + $Unsubscribe.EventType = $Webhook.EventType + } + if ($Webhook.Resource -match 'PartnerCenter') { + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::BadRequest + Body = 'PartnerCenter subscriptions cannot be unsubscribed' + }) + return + } + Remove-CIPPGraphSubscription @Unsubscribe + Remove-AzDataTableEntity @Table -Entity $Webhook + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = @{ Results = "Unsubscribed from $($Webhook.Resource) for $($Webhook.PartitionKey)" } + }) + } else { + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = @{ Results = "Subscription $($Request.Query.WebhookID) not found" } + }) + } + } + 'Resubscribe' { + Write-Host "Resubscribing to $($Request.Query.WebhookID)" + $Row = Get-AzDataTableEntity @Table -Filter "RowKey eq '$($Request.Query.WebhookID)'" + if ($Row) { + $NewSubParams = @{ + TenantFilter = $Row.PartitionKey + EventType = $Row.EventType + } + if ($Row.Resource -match 'Audit.(Exchange|AzureActiveDirectory)') { + $NewSubParams.auditLogAPI = $true + $NewSubParams.Recreate = $true + $NewSubParams.EventType = $Row.Resource + } elseif ($Row.Resource -match 'PartnerCenter') { + $NewSubParams.PartnerCenter = $true + } + try { + $NewSub = New-CIPPGraphSubscription @NewSubParams + Write-Host ($NewSub | ConvertTo-Json -Depth 5 -Compress) + } catch { + Write-Host $_.Exception.Message + } + Push-OutputBinding -name Response -value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = @{ Results = $NewSub.message } + }) + } + } + default { + $Table = Get-CIPPTable -TableName webhookTable + $Subscriptions = Get-AzDataTableEntity @Table + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = $Subscriptions + }) + } + } +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Setup/Invoke-ExecSAMSetup.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Setup/Invoke-ExecSAMSetup.ps1 index 9f38b50965a0..05a909a9346b 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Setup/Invoke-ExecSAMSetup.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Setup/Invoke-ExecSAMSetup.ps1 @@ -82,9 +82,9 @@ Function Invoke-ExecSAMSetup { if ($Request.Query.code) { try { $TenantId = $Rows.tenantid - if (!$TenantId) { $TenantId = $ENV:TenantId } + if (!$TenantId) { $TenantId = $ENV:TenantID } $AppID = $Rows.appid - if (!$AppID) { $appid = $env:ApplicationId } + if (!$AppID) { $appid = $ENV:ApplicationID } $URL = ($Request.headers.'x-ms-original-url').split('?') | Select-Object -First 1 if ($env:AzureWebJobsStorage -eq 'UseDevelopmentStorage=true') { $clientsecret = $Secret.ApplicationSecret @@ -166,6 +166,11 @@ Function Invoke-ExecSAMSetup { } catch { Write-Host "didn't deploy spn for Teams, probably already there." } + try { + $SPNO365Manage = (Invoke-RestMethod 'https://graph.microsoft.com/v1.0/servicePrincipals' -Headers @{ authorization = "Bearer $($Token.access_token)" } -Method POST -Body "{ `"appId`": `"c5393580-f805-4401-95e8-94b7a6ef2fc2`" }" -ContentType 'application/json') + } catch { + Write-Host "didn't deploy spn for O365 Management, probably already there." + } try { $SPNPartnerCenter = (Invoke-RestMethod 'https://graph.microsoft.com/v1.0/servicePrincipals' -Headers @{ authorization = "Bearer $($Token.access_token)" } -Method POST -Body "{ `"appId`": `"fa3d9a0c-3fb0-42cc-9193-47c7ecd2edbd`" }" -ContentType 'application/json') } catch { diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-AddRoomMailbox.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-AddRoomMailbox.ps1 new file mode 100644 index 000000000000..bc99ed1bc881 --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-AddRoomMailbox.ps1 @@ -0,0 +1,59 @@ +using namespace System.Net + +Function Invoke-AddRoomMailbox { + <# + .FUNCTIONALITY + Entrypoint + .ROLE + Exchange.Room.ReadWrite + #> + [CmdletBinding()] + param($Request, $TriggerMetadata) + + $APIName = $TriggerMetadata.FunctionName + $User = $request.headers.'x-ms-client-principal' + Write-LogMessage -user $User -API $APINAME -message 'Accessed this API' -Sev 'Debug' + + # Write to the Azure Functions log stream. + Write-Host 'PowerShell HTTP trigger function processed a request.' + + + $Results = [System.Collections.Generic.List[Object]]::new() + $MailboxObject = $Request.body + $AddRoomParams = [pscustomobject]@{ + Name = $MailboxObject.username + DisplayName = $MailboxObject.displayName + Room = $true + PrimarySMTPAddress = $MailboxObject.userPrincipalName + ResourceCapacity = if (![string]::IsNullOrWhiteSpace($MailboxObject.ResourceCapacity)) { $MailboxObject.ResourceCapacity } else { $null } + + } + # Interact with query parameters or the body of the request. + try { + $AddRoomRequest = New-ExoRequest -tenantid $($MailboxObject.tenantid) -cmdlet 'New-Mailbox' -cmdparams $AddRoomParams + $Results.Add("Successfully created room: $($MailboxObject.DisplayName).") + Write-LogMessage -user $User -API $APINAME -tenant $($MailboxObject.tenantid) -message "Created room $($MailboxObject.DisplayName) with id $($AddRoomRequest.id)" -Sev 'Info' + + # Block sign-in for the mailbox + try { + $Request = Set-CIPPSignInState -userid $AddRoomRequest.ExternalDirectoryObjectId -TenantFilter $($MailboxObject.tenantid) -APIName $APINAME -ExecutingUser $User -AccountEnabled $false + $Results.add("Blocked sign-in for Room mailbox; $($MailboxObject.userPrincipalName)") + } catch { + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + $Results.add("Failed to block sign-in for Room mailbox: $($MailboxObject.userPrincipalName). Error: $ErrorMessage") + } + + } catch { + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $User -API $APINAME -tenant $($MailboxObject.tenantid) -message "Failed to create room: $($MailboxObject.DisplayName). Error: $($ErrorMessage.NormalizedError)" -Sev 'Error' -LogData $ErrorMessage + $Results.Add("Failed to create Room mailbox $($MailboxObject.userPrincipalName). $($ErrorMessage.NormalizedError)") + } + + + $Body = [pscustomobject] @{ 'Results' = @($Results) } + # Associate values to output bindings by calling 'Push-OutputBinding'. + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = $Body + }) +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-AddSharedMailbox.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-AddSharedMailbox.ps1 index 188dfa89adfd..a21880ce1369 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-AddSharedMailbox.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-AddSharedMailbox.ps1 @@ -34,23 +34,21 @@ Function Invoke-AddSharedMailbox { $Body = $Results.add("Successfully created shared mailbox: $Email.") Write-LogMessage -user $User -API $APINAME -tenant $($MailboxObject.tenantid) -message "Created shared mailbox $($MailboxObject.displayname) with email $Email" -Sev 'Info' + # Block sign-in for the mailbox + try { + $null = Set-CIPPSignInState -userid $AddSharedRequest.ExternalDirectoryObjectId -TenantFilter $($MailboxObject.tenantid) -APIName $APINAME -ExecutingUser $User -AccountEnabled $false + $Body = $Results.add("Blocked sign-in for shared mailbox $Email") + } catch { + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + $Body = $Results.add("Failed to block sign-in for shared mailbox $Email. Error: $ErrorMessage") + } + } catch { $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message Write-LogMessage -user $User -API $APINAME -tenant $($MailboxObject.tenantid) -message "Failed to create shared mailbox. Error: $ErrorMessage" -Sev 'Error' $Body = $Results.add("Failed to create Shared Mailbox. $ErrorMessage") } - # Block sign-in for the mailbox - try { - $null = Set-CIPPSignInState -userid $AddSharedRequest.ExternalDirectoryObjectId -TenantFilter $($MailboxObject.tenantid) -APIName $APINAME -ExecutingUser $User -AccountEnabled $false - Write-LogMessage -user $User -API $APINAME -tenant $($MailboxObject.tenantid) -message "Blocked sign-in for shared mailbox $Email" -Sev 'Info' - $Body = $Results.add("Blocked sign-in for shared mailbox $Email") - } catch { - $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message - Write-LogMessage -user $User -API $APINAME -tenant $($MailboxObject.tenantid) -message "Failed to block sign-in for shared mailbox $Email. Error: $ErrorMessage" -Sev 'Error' - $Body = $Results.add("Failed to block sign-in for shared mailbox $Email. Error: $ErrorMessage") - } - # Add aliases to the mailbox if any are provided if ($Aliases) { try { diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-EditAntiPhishingFilter.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-EditAntiPhishingFilter.ps1 new file mode 100644 index 000000000000..979da9a1c9b6 --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-EditAntiPhishingFilter.ps1 @@ -0,0 +1,55 @@ +function Invoke-EditAntiPhishingFilter { + <# + .FUNCTIONALITY + Entrypoint + .ROLE + Exchange.SpamFilter.Read + #> + [CmdletBinding()] + param($Request, $TriggerMetadata) + + $APIName = $TriggerMetadata.FunctionName + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + + # Write to the Azure Functions log stream. + Write-Host 'PowerShell HTTP trigger function processed a request.' + + # Interact with query parameters or the body of the request. + $TenantFilter = $Request.Query.TenantFilter + + try { + $ExoRequestParam = @{ + tenantid = $TenantFilter + cmdParams = @{ + Identity = $Request.query.RuleName + } + useSystemmailbox = $true + } + + switch ($Request.query.State) { + 'Enable' { + $ExoRequestParam.Add('cmdlet', 'Enable-AntiPhishRule') + } + 'Disable' { + $ExoRequestParam.Add('cmdlet', 'Disable-AntiPhishRule') + } + Default { + throw 'Invalid state' + } + } + New-ExoRequest @ExoRequestParam + + $Result = "Sucessfully set Anti-Phishing rule $($Request.query.RuleName) to $($Request.query.State)" + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $TenantFilter -message $Result -Sev Info + } catch { + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + $Result = "Failed setting Anti-Phishing rule $($Request.query.RuleName) to $($request.query.State). Error: $ErrorMessage" + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $TenantFilter -message $Result -Sev 'Error' + } + + # Associate values to output bindings by calling 'Push-OutputBinding'. + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = @{Results = $Result } + }) +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-EditContact.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-EditContact.ps1 new file mode 100644 index 000000000000..03a6b21254bb --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-EditContact.ps1 @@ -0,0 +1,53 @@ +using namespace System.Net + +Function Invoke-EditContact { + <# + .FUNCTIONALITY + Entrypoint + .ROLE + Exchange.Contact.ReadWrite + #> + [CmdletBinding()] + param($Request, $TriggerMetadata) + + $APIName = $TriggerMetadata.FunctionName + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + + $contactobj = $Request.body + write-host "This is the contact object: $contactobj" + # Write to the Azure Functions log stream. + Write-Host 'PowerShell HTTP trigger function processed a request.' + try { + + $BodyToship = [pscustomobject] @{ + 'DisplayName' = $contactobj.DisplayName + 'WindowsEmailAddress' = $contactobj.mail + 'FirstName' = $contactObj.firstName + 'LastName' = $contactobj.LastName + "Title" = $contactobj.jobTitle + "StreetAddress" = $contactobj.StreetAddress + "PostalCode" = $contactobj.PostalCode + "City" = $contactobj.City + "CountryOrRegion" = $contactobj.Country + "Company" = $contactobj.companyName + "mobilePhone" = $contactobj.MobilePhone + "phone" = $contactobj.BusinessPhone + 'identity' = $contactobj.ContactID + } + $EditContact = New-ExoRequest -tenantid $Request.body.tenantID -cmdlet 'Set-Contact' -cmdparams $BodyToship -UseSystemMailbox $true + $Results = [pscustomobject]@{'Results' = "Successfully edited contact $($contactobj.Displayname)" } + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($contactobj.tenantid) -message "Created contact $($contactobj.displayname)" -Sev 'Info' + + } catch { + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($contactobj.tenantid) -message "Contact creation API failed. $($_.Exception.Message)" -Sev 'Error' + $Results = [pscustomobject]@{'Results' = "Failed to edit contact. $($_.Exception.Message)" } + + } + + # Associate values to output bindings by calling 'Push-OutputBinding'. + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = $Results + }) + +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-EditMalwareFilter.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-EditMalwareFilter.ps1 new file mode 100644 index 000000000000..550cd11dce80 --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-EditMalwareFilter.ps1 @@ -0,0 +1,55 @@ +function Invoke-EditMalwareFilter { + <# + .FUNCTIONALITY + Entrypoint + .ROLE + Exchange.SpamFilter.Read + #> + [CmdletBinding()] + param($Request, $TriggerMetadata) + + $APIName = $TriggerMetadata.FunctionName + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + + # Write to the Azure Functions log stream. + Write-Host 'PowerShell HTTP trigger function processed a request.' + + # Interact with query parameters or the body of the request. + $TenantFilter = $Request.Query.TenantFilter + + try { + $ExoRequestParam = @{ + tenantid = $TenantFilter + cmdParams = @{ + Identity = $Request.query.RuleName + } + useSystemmailbox = $true + } + + switch ($Request.query.State) { + 'Enable' { + $ExoRequestParam.Add('cmdlet', 'Enable-MalwareFilterRule') + } + 'Disable' { + $ExoRequestParam.Add('cmdlet', 'Disable-MalwareFilterRule') + } + Default { + throw 'Invalid state' + } + } + New-ExoRequest @ExoRequestParam + + $Result = "Sucessfully set Malware Filter rule $($Request.query.RuleName) to $($Request.query.State)" + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $TenantFilter -message $Result -Sev Info + } catch { + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + $Result = "Failed setting Malware Filter rule $($Request.query.RuleName) to $($request.query.State). Error: $ErrorMessage" + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $TenantFilter -message $Result -Sev 'Error' + } + + # Associate values to output bindings by calling 'Push-OutputBinding'. + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = @{Results = $Result } + }) +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-EditSafeAttachmentsFilter.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-EditSafeAttachmentsFilter.ps1 new file mode 100644 index 000000000000..15b3e4a489e4 --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-EditSafeAttachmentsFilter.ps1 @@ -0,0 +1,55 @@ +function Invoke-EditSafeAttachmentsFilter { + <# + .FUNCTIONALITY + Entrypoint + .ROLE + Exchange.SpamFilter.Read + #> + [CmdletBinding()] + param($Request, $TriggerMetadata) + + $APIName = $TriggerMetadata.FunctionName + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + + # Write to the Azure Functions log stream. + Write-Host 'PowerShell HTTP trigger function processed a request.' + + # Interact with query parameters or the body of the request. + $TenantFilter = $Request.Query.TenantFilter + + try { + $ExoRequestParam = @{ + tenantid = $TenantFilter + cmdParams = @{ + Identity = $Request.query.RuleName + } + useSystemmailbox = $true + } + + switch ($Request.query.State) { + 'Enable' { + $ExoRequestParam.Add('cmdlet', 'Enable-SafeAttachmentRule') + } + 'Disable' { + $ExoRequestParam.Add('cmdlet', 'Disable-SafeAttachmentRule') + } + Default { + throw 'Invalid state' + } + } + New-ExoRequest @ExoRequestParam + + $Result = "Sucessfully set SafeAttachment rule $($Request.query.RuleName) to $($Request.query.State)" + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $TenantFilter -message $Result -Sev Info + } catch { + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + $Result = "Failed setting SafeAttachment rule $($Request.query.RuleName) to $($request.query.State). Error: $ErrorMessage" + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $TenantFilter -message $Result -Sev 'Error' + } + + # Associate values to output bindings by calling 'Push-OutputBinding'. + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = @{Results = $Result } + }) +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-EditSafeLinksFilter.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-EditSafeLinksFilter.ps1 new file mode 100644 index 000000000000..d6263d9103cf --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-EditSafeLinksFilter.ps1 @@ -0,0 +1,55 @@ +function Invoke-EditSafeLinksFilter { + <# + .FUNCTIONALITY + Entrypoint + .ROLE + Exchange.SpamFilter.Read + #> + [CmdletBinding()] + param($Request, $TriggerMetadata) + + $APIName = $TriggerMetadata.FunctionName + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + + # Write to the Azure Functions log stream. + Write-Host 'PowerShell HTTP trigger function processed a request.' + + # Interact with query parameters or the body of the request. + $TenantFilter = $Request.Query.TenantFilter + + try { + $ExoRequestParam = @{ + tenantid = $TenantFilter + cmdParams = @{ + Identity = $Request.query.RuleName + } + useSystemmailbox = $true + } + + switch ($Request.query.State) { + 'Enable' { + $ExoRequestParam.Add('cmdlet', 'Enable-SafeLinksRule') + } + 'Disable' { + $ExoRequestParam.Add('cmdlet', 'Disable-SafeLinksRule') + } + Default { + throw 'Invalid state' + } + } + New-ExoRequest @ExoRequestParam + + $Result = "Sucessfully set SafeLinks rule $($Request.query.RuleName) to $($Request.query.State)" + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $TenantFilter -message $Result -Sev Info + } catch { + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + $Result = "Failed setting SafeLinks rule $($Request.query.RuleName) to $($request.query.State). Error: $ErrorMessage" + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $TenantFilter -message $Result -Sev 'Error' + } + + # Associate values to output bindings by calling 'Push-OutputBinding'. + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = @{Results = $Result } + }) +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-EditTransportRule.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-EditTransportRule.ps1 index 8d968077db70..52837656b0e0 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-EditTransportRule.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-EditTransportRule.ps1 @@ -11,7 +11,8 @@ Function Invoke-EditTransportRule { param($Request, $TriggerMetadata) $APIName = $TriggerMetadata.FunctionName - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + $User = $request.headers.'x-ms-client-principal' + Write-LogMessage -user $User -API $APINAME -message 'Accessed this API' -Sev 'Debug' $Tenantfilter = $request.Query.tenantfilter @@ -21,14 +22,13 @@ Function Invoke-EditTransportRule { try { $cmdlet = if ($request.query.state -eq 'enable') { 'Enable-TransportRule' } else { 'Disable-TransportRule' } - $GraphRequest = New-ExoRequest -tenantid $Tenantfilter -cmdlet $cmdlet -cmdParams $params -UseSystemMailbox $true + $null = New-ExoRequest -tenantid $Tenantfilter -cmdlet $cmdlet -cmdParams $params -UseSystemMailbox $true $Result = "Set transport rule $($Request.query.guid) to $($request.query.State)" - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $tenantfilter -message "Set transport rule $($Request.query.guid) to $($request.query.State)" -sev Info - } - catch { - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $tenantfilter -message "Failed setting transport rule $($Request.query.guid) to $($request.query.State). Error:$($_.Exception.Message)" -Sev 'Error' - $ErrorMessage = Get-NormalizedError -Message $_.Exception - $Result = $ErrorMessage + Write-LogMessage -user $User -API $APINAME -tenant $tenantfilter -message "Set transport rule $($Request.query.guid) to $($request.query.State)" -sev Info + } catch { + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $User -API $APINAME -tenant $tenantfilter -message "Failed setting transport rule $($Request.query.guid) to $($request.query.State). Error:$($ErrorMessage.NormalizedError)" -Sev 'Error' -LogData $ErrorMessage + $Result = $ErrorMessage.NormalizedError } # Associate values to output bindings by calling 'Push-OutputBinding'. Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ExecConverttoRoomMailbox.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ExecConverttoRoomMailbox.ps1 new file mode 100644 index 000000000000..8d64cb14e527 --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ExecConverttoRoomMailbox.ps1 @@ -0,0 +1,36 @@ +using namespace System.Net + +Function Invoke-ExecConvertToRoomMailbox { + <# + .FUNCTIONALITY + Entrypoint + .ROLE + Exchange.Mailbox.ReadWrite + #> + [CmdletBinding()] + param($Request, $TriggerMetadata) + + $APIName = $TriggerMetadata.FunctionName + $User = $request.headers.'x-ms-client-principal' + Write-LogMessage -user $User -API $APINAME -message 'Accessed this API' -Sev 'Debug' + + # Write to the Azure Functions log stream. + Write-Host 'PowerShell HTTP trigger function processed a request.' + + # Interact with query parameters or the body of the request. + Try { + $ConvertedMailbox = Set-CIPPMailboxType -userid $Request.query.id -tenantFilter $Request.query.TenantFilter -APIName $APINAME -ExecutingUser $User -MailboxType 'Room' + $Results = [pscustomobject]@{'Results' = "$ConvertedMailbox" } + $StatusCode = [HttpStatusCode]::OK + } catch { + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + $Results = [pscustomobject]@{'Results' = "Failed to convert $($request.query.id) - $ErrorMessage" } + $StatusCode = [HttpStatusCode]::Forbidden + } + # Associate values to output bindings by calling 'Push-OutputBinding'. + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = $StatusCode + Body = $Results + }) + +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ExecConverttoSharedMailbox.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ExecConverttoSharedMailbox.ps1 index ed59a074c1ac..30b5ab753120 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ExecConverttoSharedMailbox.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ExecConverttoSharedMailbox.ps1 @@ -11,8 +11,9 @@ Function Invoke-ExecConverttoSharedMailbox { param($Request, $TriggerMetadata) $APIName = $TriggerMetadata.FunctionName - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' - + $Tenant = $Request.query.TenantFilter + $User = $request.headers.'x-ms-client-principal' + Write-LogMessage -user $User -API $APINAME -message 'Accessed this API' -Sev 'Debug' # Write to the Azure Functions log stream. Write-Host 'PowerShell HTTP trigger function processed a request.' @@ -21,14 +22,17 @@ Function Invoke-ExecConverttoSharedMailbox { # Interact with query parameters or the body of the request. Try { $MailboxType = if ($request.query.ConvertToUser -eq 'true') { 'Regular' } else { 'Shared' } - $ConvertedMailbox = Set-CIPPMailboxType -userid $Request.query.id -tenantFilter $Request.query.TenantFilter -APIName $APINAME -ExecutingUser $request.headers.'x-ms-client-principal' -MailboxType $MailboxType + $ConvertedMailbox = Set-CIPPMailboxType -userid $Request.query.id -tenantFilter $Tenant -APIName $APINAME -ExecutingUser $User -MailboxType $MailboxType $Results = [pscustomobject]@{'Results' = "$ConvertedMailbox" } + $StatusCode = [HttpStatusCode]::OK } catch { - $Results = [pscustomobject]@{'Results' = "Failed to convert $($request.query.id) - $($_.Exception.Message)" } + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + $Results = [pscustomobject]@{'Results' = "Failed to convert $($request.query.id) - $ErrorMessage" } + $StatusCode = [HttpStatusCode]::Forbidden } # Associate values to output bindings by calling 'Push-OutputBinding'. Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ - StatusCode = [HttpStatusCode]::OK + StatusCode = $StatusCode Body = $Results }) diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ExecRemoveMailboxRule.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ExecRemoveMailboxRule.ps1 new file mode 100644 index 000000000000..a747ac432e33 --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ExecRemoveMailboxRule.ps1 @@ -0,0 +1,40 @@ +using namespace System.Net + +Function Invoke-ExecRemoveMailboxRule { + <# + .FUNCTIONALITY + Entrypoint + .ROLE + Exchange.Mailbox.ReadWrite + #> + [CmdletBinding()] + param($Request, $TriggerMetadata) + + $APIName = 'Remove mailbox rule' + $TenantFilter = $Request.Query.TenantFilter + $RuleName = $Request.Query.ruleName + $RuleId = $Request.Query.ruleId + $Username = $Request.Query.userPrincipalName + + $User = $request.headers.'x-ms-client-principal' + Write-LogMessage -user $User -API $APINAME -tenant $TenantFilter -message 'Accessed this API' -Sev 'Debug' + + # Write to the Azure Functions log stream. + Write-Host 'PowerShell HTTP trigger function processed a request.' + + # Remove the rule + $Results = Remove-CIPPMailboxRule -userid $User -username $Username -TenantFilter $TenantFilter -APIName $APINAME -ExecutingUser $User -RuleId $RuleId -RuleName $RuleName + + if ($Results -like '*Could not delete*') { + $StatusCode = [HttpStatusCode]::Forbidden + } else { + $StatusCode = [HttpStatusCode]::OK + } + + # Associate values to output bindings by calling 'Push-OutputBinding'. + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = $StatusCode + Body = @{ Results = $Results } + }) + +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ExecSetMailboxLocale.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ExecSetMailboxLocale.ps1 new file mode 100644 index 000000000000..8473717b0589 --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ExecSetMailboxLocale.ps1 @@ -0,0 +1,30 @@ +using namespace System.Net + +Function Invoke-ExecSetMailboxLocale { + <# + .FUNCTIONALITY + Entrypoint + .ROLE + Exchange.Mailbox.ReadWrite + #> + [CmdletBinding()] + param($Request, $TriggerMetadata) + + $APIName = $TriggerMetadata.FunctionName + $Tenant = $Request.body.TenantFilter + $User = $request.headers.'x-ms-client-principal' + Write-LogMessage -user $User -API $APINAME -message 'Accessed this API' -Sev 'Debug' + + # Write to the Azure Functions log stream. + Write-Host 'PowerShell HTTP trigger function processed a request.' + + + # Interact with query parameters or the body of the request. + $Results = Set-CippMailboxLocale -username $Request.Body.user -locale $Request.body.input -tenantFilter $Tenant -APIName $APINAME -ExecutingUser $User + # Associate values to output bindings by calling 'Push-OutputBinding'. + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = @{ Results = $Results } + }) + +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ExecStartManagedFolderAssistant.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ExecStartManagedFolderAssistant.ps1 new file mode 100644 index 000000000000..4781bb09eb7b --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ExecStartManagedFolderAssistant.ps1 @@ -0,0 +1,41 @@ +using namespace System.Net + +Function Invoke-ExecStartManagedFolderAssistant { + <# + .FUNCTIONALITY + Entrypoint + .ROLE + Exchange.Mailbox.ReadWrite + #> + [CmdletBinding()] + param($Request, $TriggerMetadata) + + $APIName = $TriggerMetadata.FunctionName + $User = $request.headers.'x-ms-client-principal' + $Tenant = $Request.query.TenantFilter + Write-LogMessage -user $User -API $APINAME -message 'Accessed this API' -Sev 'Debug' + + # Write to the Azure Functions log stream. + Write-Host 'PowerShell HTTP trigger function processed a request.' + $Results = [System.Collections.Generic.List[Object]]::new() + + # Interact with query parameters or the body of the request. + + try { + $null = New-ExoRequest -tenantid $Tenant -cmdlet 'Start-ManagedFolderAssistant' -cmdparams @{Identity = $Request.query.id } + $Results.Add("Successfully started Managed Folder Assistant for mailbox $($Request.query.id).") + $StatusCode = [HttpStatusCode]::OK + } catch { + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $User -API $APINAME -tenant $Tenant -message "Failed to create room: $($MailboxObject.DisplayName). Error: $($ErrorMessage.NormalizedError)" -Sev 'Error' -LogData $ErrorMessage + $Results.Add("Failed to start Managed Folder Assistant for mailbox $($Request.query.id). Error: $($ErrorMessage.NormalizedError)") + $StatusCode = [HttpStatusCode]::Forbidden + } + + $Body = [pscustomobject] @{ 'Results' = @($Results) } + # Associate values to output bindings by calling 'Push-OutputBinding'. + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = $StatusCode + Body = $Body + }) +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ListAntiPhishingFilters.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ListAntiPhishingFilters.ps1 new file mode 100644 index 000000000000..45b9ee2b18ab --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ListAntiPhishingFilters.ps1 @@ -0,0 +1,33 @@ +function Invoke-ListAntiPhishingFilters { + <# + .FUNCTIONALITY + Entrypoint + .ROLE + Exchange.SpamFilter.Read + #> + [CmdletBinding()] + param($Request, $TriggerMetadata) + + $APIName = $TriggerMetadata.FunctionName + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + + # Write to the Azure Functions log stream. + Write-Host 'PowerShell HTTP trigger function processed a request.' + + # Interact with query parameters or the body of the request. + $TenantFilter = $Request.Query.TenantFilter + $Policys = New-ExoRequest -tenantid $TenantFilter -cmdlet 'Get-AntiPhishPolicy' | Select-Object -Property * + $Rules = New-ExoRequest -tenantid $TenantFilter -cmdlet 'Get-AntiPhishRule' | Select-Object -Property * + + $Output = $Policys | Select-Object -Property *, + @{ Name = 'RuleName'; Expression = { foreach ($item in $Rules) { if ($item.AntiPhishPolicy -eq $_.Name) { $item.Name } } } }, + @{ Name = 'Priority'; Expression = { foreach ($item in $Rules) { if ($item.AntiPhishPolicy -eq $_.Name) { $item.Priority } } } }, + @{ Name = 'RecipientDomainIs'; Expression = { foreach ($item in $Rules) { if ($item.AntiPhishPolicy -eq $_.Name) { $item.RecipientDomainIs } } } }, + @{ Name = 'State'; Expression = { foreach ($item in $Rules) { if ($item.AntiPhishPolicy -eq $_.Name) { $item.State } } } } + + # Associate values to output bindings by calling 'Push-OutputBinding'. + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = $Output + }) +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ListExoRequest.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ListExoRequest.ps1 new file mode 100644 index 000000000000..4fced9c1680e --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ListExoRequest.ps1 @@ -0,0 +1,71 @@ +function Invoke-ListExoRequest { + param($Request, $TriggerMetadata) + + try { + $AllowedVerbs = @( + 'Get' + 'Search' + ) + + $Cmdlet = $Request.Body.Cmdlet + $cmdParams = if ($Request.Body.cmdParams) { $Request.Body.cmdParams } else { [PSCustomObject]@{} } + $Verb = ($Cmdlet -split '-')[0] + + $AllowedTenants = Test-CIPPAccess -Request $Request -TenantList + $TenantFilter = $Request.Body.TenantFilter + $Tenants = Get-Tenants -IncludeErrors + $Tenant = $Tenants | Where-Object { $_.defaultDomainName -eq $TenantFilter -or $_.customerId -eq $TenantFilter } + if ($Tenant.customerId -in $AllowedTenants -or $AllowedTenants -eq 'AllTenants') { + if ($AllowedVerbs -notcontains $Verb) { + $Body = [pscustomobject]@{ + Results = "Invalid cmdlet: $Cmdlet" + } + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::BadRequest + Body = $Body + }) + return + } + $ExoParams = @{ + Cmdlet = $Cmdlet + cmdParams = $cmdParams + tenantid = $TenantFilter + } + + if ($Request.Body.Select) { + $ExoParams.Select = $Request.Body.Select + } + + if ($Request.Body.UseSystemMailbox -eq $true) { + $ExoParams.useSystemMailbox = $true + } + + if ($Request.Body.Anchor) { + $ExoParams.Anchor = $Request.Body.Anchor + } + + if ($Request.Body.Compliance -eq $true) { + $ExoParams.Compliance = $true + } + + if ($Request.Body.AsApp -eq $true) { + $ExoParams.AsApp = $true + } + + $Results = New-ExoRequest @ExoParams + $Body = [pscustomobject]@{ + Results = $Results + } + } else { + $Body = [pscustomobject]@{ + Results = "Invalid tenant: $TenantFilter" + } + } + } catch { + Write-Information "ExoRequest Error: $($_.Exception.Message)" + } + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = ConvertTo-Json -InputObject $Body -Compress + }) +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ListMailQuarantine.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ListMailQuarantine.ps1 index fcdf05d199fb..409b7652ccec 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ListMailQuarantine.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ListMailQuarantine.ps1 @@ -1,6 +1,4 @@ -using namespace System.Net - -Function Invoke-ListMailQuarantine { +function Invoke-ListMailQuarantine { <# .FUNCTIONALITY Entrypoint diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ListMailQuarantineMessage.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ListMailQuarantineMessage.ps1 new file mode 100644 index 000000000000..45127f00be8d --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ListMailQuarantineMessage.ps1 @@ -0,0 +1,36 @@ +function Invoke-ListMailQuarantineMessage { + <# + .FUNCTIONALITY + Entrypoint + .ROLE + Exchange.SpamFilter.ReadWrite + #> + [CmdletBinding()] + param($Request, $TriggerMetadata) + + $APIName = $TriggerMetadata.FunctionName + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + $Tenantfilter = $Request.Query.Tenantfilter + + try { + $GraphRequest = New-ExoRequest -tenantid $TenantFilter -cmdlet 'Export-QuarantineMessage' -cmdParams @{ 'Identity' = $Request.Query.Identity } + $EmlBase64 = $GraphRequest.Eml + $EmlContent = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($EmlBase64)) + $Body = @{ + 'Identity' = $Request.Query.Identity + 'Message' = $EmlContent + } + $StatusCode = [HttpStatusCode]::OK + } catch { + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + $StatusCode = [HttpStatusCode]::Forbidden + $Body = $ErrorMessage + } + + # Associate values to output bindings by calling 'Push-OutputBinding'. + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = $StatusCode + Body = $Body + }) + +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ListMalwareFilters.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ListMalwareFilters.ps1 new file mode 100644 index 000000000000..03836df0bc9e --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ListMalwareFilters.ps1 @@ -0,0 +1,33 @@ +function Invoke-ListMalwareFilters { + <# + .FUNCTIONALITY + Entrypoint + .ROLE + Exchange.SpamFilter.Read + #> + [CmdletBinding()] + param($Request, $TriggerMetadata) + + $APIName = $TriggerMetadata.FunctionName + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + + # Write to the Azure Functions log stream. + Write-Host 'PowerShell HTTP trigger function processed a request.' + + # Interact with query parameters or the body of the request. + $TenantFilter = $Request.Query.TenantFilter + $Policys = New-ExoRequest -tenantid $TenantFilter -cmdlet 'Get-MalwareFilterPolicy' | Select-Object -Property * + $Rules = New-ExoRequest -tenantid $TenantFilter -cmdlet 'Get-MalwareFilterRule' | Select-Object -Property * + + $Output = $Policys | Select-Object -Property *, + @{ Name = 'RuleName'; Expression = { foreach ($item in $Rules) { if ($item.MalwareFilterPolicy -eq $_.Name) { $item.Name } } } }, + @{ Name = 'Priority'; Expression = { foreach ($item in $Rules) { if ($item.MalwareFilterPolicy -eq $_.Name) { $item.Priority } } } }, + @{ Name = 'RecipientDomainIs'; Expression = { foreach ($item in $Rules) { if ($item.MalwareFilterPolicy -eq $_.Name) { $item.RecipientDomainIs } } } }, + @{ Name = 'State'; Expression = { foreach ($item in $Rules) { if ($item.MalwareFilterPolicy -eq $_.Name) { $item.State } } } } + + # Associate values to output bindings by calling 'Push-OutputBinding'. + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = $Output + }) +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ListPhishPolicies.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ListPhishPolicies.ps1 deleted file mode 100644 index 28e46a3b88c4..000000000000 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ListPhishPolicies.ps1 +++ /dev/null @@ -1,50 +0,0 @@ -using namespace System.Net - -Function Invoke-ListPhishPolicies { - <# - .FUNCTIONALITY - Entrypoint - .ROLE - Exchange.SpamFilter.Read - #> - [CmdletBinding()] - param($Request, $TriggerMetadata) - - $APIName = $TriggerMetadata.FunctionName - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' - - - # Write to the Azure Functions log stream. - Write-Host 'PowerShell HTTP trigger function processed a request.' - - # Interact with query parameters or the body of the request. - $TenantFilter = $Request.Query.TenantFilter - $AntiPhishRules = New-ExoRequest -tenantid $TenantFilter -cmdlet 'Get-AntiPhishRule' - $AntiPhishPolicies = New-ExoRequest -tenantid $TenantFilter -cmdlet 'Get-AntiPhishPolicy' - - $GraphRequest = $AntiPhishPolicies | Select-Object name, - @{Name = 'GUID'; Expression = { $(( -join (( 0x41..0x5A) + ( 0x61..0x7A) | Get-Random -Count 13 | ForEach-Object { [char]$_ }) )) } }, - @{ Name = 'ExcludedDomains'; Expression = { $($_.ExcludedDomains) -join '
' } }, - @{ Name = 'ExcludedSenders'; Expression = { $($_.ExcludedSenders) -join '
' } }, - @{ Name = 'PhishThresholdLevel'; Expression = { - switch ($_.PhishThresholdLevel) { - 1 { $result = 'Standard' } - 2 { $result = 'Aggressive' } - 3 { $result = 'More Aggressive' } - 4 { $result = 'Most Aggressive' } - Default { $result = 'Unknown' } - } - $result - } - }, - @{ Name = 'ExcludedDomainCount'; Expression = { $_.ExcludedDomains | Measure-Object | Select-Object -ExpandProperty Count } }, - @{ Name = 'ExcludedSenderCount'; Expression = { $_.ExcludedSenders | Measure-Object | Select-Object -ExpandProperty Count } }, Enabled, WhenChangedUTC, - @{ Name = 'Priority'; Expression = { foreach ($item in $AntiPhishRules) { if ($item.name -eq $_.name) { $item.priority } } } } - - # Associate values to output bindings by calling 'Push-OutputBinding'. - Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ - StatusCode = [HttpStatusCode]::OK - Body = @($GraphRequest) - }) - -} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ListSafeAttachmentsFilters.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ListSafeAttachmentsFilters.ps1 new file mode 100644 index 000000000000..511b1e3a2556 --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ListSafeAttachmentsFilters.ps1 @@ -0,0 +1,33 @@ +function Invoke-ListSafeAttachmentsFilters { + <# + .FUNCTIONALITY + Entrypoint + .ROLE + Exchange.SpamFilter.Read + #> + [CmdletBinding()] + param($Request, $TriggerMetadata) + + $APIName = $TriggerMetadata.FunctionName + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + + # Write to the Azure Functions log stream. + Write-Host 'PowerShell HTTP trigger function processed a request.' + + # Interact with query parameters or the body of the request. + $TenantFilter = $Request.Query.TenantFilter + $Policys = New-ExoRequest -tenantid $TenantFilter -cmdlet 'Get-SafeAttachmentPolicy' | Select-Object -Property * + $Rules = New-ExoRequest -tenantid $TenantFilter -cmdlet 'Get-SafeAttachmentRule' | Select-Object -Property * + + $Output = $Policys | Select-Object -Property *, + @{ Name = 'RuleName'; Expression = { foreach ($item in $Rules) { if ($item.SafeAttachmentPolicy -eq $_.Name) { $item.Name } } } }, + @{ Name = 'Priority'; Expression = { foreach ($item in $Rules) { if ($item.SafeAttachmentPolicy -eq $_.Name) { $item.Priority } } } }, + @{ Name = 'RecipientDomainIs'; Expression = { foreach ($item in $Rules) { if ($item.SafeAttachmentPolicy -eq $_.Name) { $item.RecipientDomainIs } } } }, + @{ Name = 'State'; Expression = { foreach ($item in $Rules) { if ($item.SafeAttachmentPolicy -eq $_.Name) { $item.State } } } } + + # Associate values to output bindings by calling 'Push-OutputBinding'. + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = $Output + }) +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ListSafeLinksFilters.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ListSafeLinksFilters.ps1 new file mode 100644 index 000000000000..f5fa0d5932a9 --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-ListSafeLinksFilters.ps1 @@ -0,0 +1,33 @@ +function Invoke-ListSafeLinksFilters { + <# + .FUNCTIONALITY + Entrypoint + .ROLE + Exchange.SpamFilter.Read + #> + [CmdletBinding()] + param($Request, $TriggerMetadata) + + $APIName = $TriggerMetadata.FunctionName + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + + # Write to the Azure Functions log stream. + Write-Host 'PowerShell HTTP trigger function processed a request.' + + # Interact with query parameters or the body of the request. + $TenantFilter = $Request.Query.TenantFilter + $Policys = New-ExoRequest -tenantid $TenantFilter -cmdlet 'Get-SafeLinksPolicy' | Select-Object -Property * + $Rules = New-ExoRequest -tenantid $TenantFilter -cmdlet 'Get-SafeLinksRule' | Select-Object -Property * + + $Output = $Policys | Select-Object -Property *, + @{ Name = 'RuleName'; Expression = { foreach ($item in $Rules) { if ($item.SafeLinksPolicy -eq $_.Name) { $item.Name } } } }, + @{ Name = 'Priority'; Expression = { foreach ($item in $Rules) { if ($item.SafeLinksPolicy -eq $_.Name) { $item.Priority } } } }, + @{ Name = 'RecipientDomainIs'; Expression = { foreach ($item in $Rules) { if ($item.SafeLinksPolicy -eq $_.Name) { $item.RecipientDomainIs } } } }, + @{ Name = 'State'; Expression = { foreach ($item in $Rules) { if ($item.SafeLinksPolicy -eq $_.Name) { $item.State } } } } + + # Associate values to output bindings by calling 'Push-OutputBinding'. + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = $Output + }) +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Endpoint/Applications/Invoke-AddMSPApp.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Endpoint/Applications/Invoke-AddMSPApp.ps1 index 663a490927e9..d019dc129e6f 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Endpoint/Applications/Invoke-AddMSPApp.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Endpoint/Applications/Invoke-AddMSPApp.ps1 @@ -24,7 +24,7 @@ Function Invoke-AddMSPApp { $InstallParams = [pscustomobject]$RMMApp.params switch ($rmmapp.RMMName.value) { 'datto' { - $installcommandline = "powershell.exe -executionpolicy bypass .\install.ps1 -URL $($InstallParams.DattoURL) -GUID $($InstallParams.DattoGUID["$($tenant.customerId)"])" + $installcommandline = "powershell.exe -executionpolicy bypass .\install.ps1 -URL $($InstallParams.DattoURL) -GUID $($InstallParams.DattoGUID."$($tenant.customerId)")" $UninstallCommandLine = 'powershell.exe -executionpolicy bypass .\uninstall.ps1' } 'ninja' { @@ -32,15 +32,15 @@ Function Invoke-AddMSPApp { $UninstallCommandLine = 'powershell.exe -executionpolicy bypass .\uninstall.ps1' } 'Huntress' { - $installcommandline = "powershell.exe -executionpolicy bypass .\install.ps1 -OrgKey $($InstallParams.Orgkey["$($tenant.customerId)"]) -acctkey $($InstallParams.AccountKey)" + $installcommandline = "powershell.exe -executionpolicy bypass .\install.ps1 -OrgKey $($InstallParams.Orgkey."$($tenant.customerId)") -acctkey $($InstallParams.AccountKey)" $UninstallCommandLine = 'powershell.exe -executionpolicy bypass .\install.ps1 -Uninstall' } 'Immybot' { - $installcommandline = "powershell.exe -executionpolicy bypass .\install.ps1 -url $($InstallParams.ClientURL["$($tenant.customerId)"])" + $installcommandline = "powershell.exe -executionpolicy bypass .\install.ps1 -url $($InstallParams.ClientURL."$($tenant.customerId)")" $UninstallCommandLine = 'powershell.exe -executionpolicy bypass .\uninstall.ps1' } 'syncro' { - $installcommandline = "powershell.exe -executionpolicy bypass .\install.ps1 -URL $($InstallParams.ClientURL["$($tenant.customerId)"])" + $installcommandline = "powershell.exe -executionpolicy bypass .\install.ps1 -URL $($InstallParams.ClientURL."$($tenant.customerId)")" $UninstallCommandLine = 'powershell.exe -executionpolicy bypass .\uninstall.ps1' } 'NCentral' { @@ -48,13 +48,13 @@ Function Invoke-AddMSPApp { $UninstallCommandLine = 'powershell.exe -executionpolicy bypass .\uninstall.ps1' } 'automate' { - $installcommandline = "c:\windows\sysnative\windowspowershell\v1.0\powershell.exe -executionpolicy bypass .\install.ps1 -Server $($InstallParams.Server) -InstallerToken $($InstallParams.InstallerToken["$($tenant.customerId)"]) -LocationID $($InstallParams.LocationID["$($tenant.customerId)"])" + $installcommandline = "c:\windows\sysnative\windowspowershell\v1.0\powershell.exe -executionpolicy bypass .\install.ps1 -Server $($InstallParams.Server) -InstallerToken $($InstallParams.InstallerToken."$($tenant.customerId)") -LocationID $($InstallParams.LocationID."$($tenant.customerId)")" $UninstallCommandLine = "c:\windows\sysnative\windowspowershell\v1.0\powershell.exe -executionpolicy bypass .\uninstall.ps1 -Server $($InstallParams.Server)" $DetectionScript = (Get-Content 'AddMSPApp\automate.detection.ps1' -Raw) -replace '##SERVER##', $InstallParams.Server $intuneBody.detectionRules[0].scriptContent = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes($DetectionScript)) } 'cwcommand' { - $installcommandline = "powershell.exe -executionpolicy bypass .\install.ps1 -Url $($InstallParams.ClientURL["$($tenant.customerId)"])" + $installcommandline = "powershell.exe -executionpolicy bypass .\install.ps1 -Url $($InstallParams.ClientURL."$($tenant.customerId)")" $UninstallCommandLine = 'powershell.exe -executionpolicy bypass .\uninstall.ps1' } } diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Endpoint/Applications/Invoke-ExecAppUpload.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Endpoint/Applications/Invoke-ExecAppUpload.ps1 new file mode 100644 index 000000000000..824722a5e6de --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Endpoint/Applications/Invoke-ExecAppUpload.ps1 @@ -0,0 +1,39 @@ +function Invoke-ExecAppUpload { + <# + .FUNCTIONALITY + Entrypoint + .ROLE + Endpoint.Application.ReadWrite + #> + [CmdletBinding()] + param($Request, $TriggerMetadata) + + $ConfigTable = Get-CIPPTable -tablename Config + $Config = Get-CIPPAzDataTableEntity @ConfigTable -Filter "PartitionKey eq 'OffloadFunctions' and RowKey eq 'OffloadFunctions'" + + if ($Config -and $Config.state -eq $true) { + if ($env:CIPP_PROCESSOR -ne 'true') { + $ProcessorFunction = [PSCustomObject]@{ + PartitionKey = 'Function' + RowKey = 'Start-ApplicationOrchestrator' + ProcessorFunction = 'Start-ApplicationOrchestrator' + } + $ProcessorQueue = Get-CIPPTable -TableName 'ProcessorQueue' + Add-AzDataTableEntity @ProcessorQueue -Entity $ProcessorFunction -Force + $Results = [pscustomobject]@{'Results' = 'Queueing application upload' } + } + } else { + try { + Start-ApplicationOrchestrator + $Results = [pscustomobject]@{'Results' = 'Started application upload' } + } catch { + $Results = [pscustomobject]@{'Results' = "Failed to start application upload. Error: $($_.Exception.Message)" } + } + } + + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = $Results + }) + +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Endpoint/Autopilot/Invoke-AddAPDevice.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Endpoint/Autopilot/Invoke-AddAPDevice.ps1 index b9ff114c5ffd..d74d69cc0074 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Endpoint/Autopilot/Invoke-AddAPDevice.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Endpoint/Autopilot/Invoke-AddAPDevice.ps1 @@ -23,9 +23,26 @@ Function Invoke-AddAPDevice { $Devices = ConvertTo-Json @($rawDevices) $Result = try { $CurrentStatus = (New-GraphgetRequest -uri "https://api.partnercenter.microsoft.com/v1/customers/$tenantfilter/DeviceBatches" -scope 'https://api.partnercenter.microsoft.com/user_impersonation') - if ($groupname -in $CurrentStatus.items.id) { throw 'This device batch name already exists. The batch name must be unique.' } - $body = '{"batchId":"' + $($GroupName) + '","devices":' + $Devices + '}' - $GraphRequest = (New-GraphPostRequest -returnHeaders $true -uri "https://api.partnercenter.microsoft.com/v1/customers/$TenantFilter/DeviceBatches" -body $body -scope 'https://api.partnercenter.microsoft.com/user_impersonation') + if ($groupname -in $CurrentStatus.items.id) { + Write-Host 'Gonna do an update!' + $body = $request.body.autopilotData | ForEach-Object { + $Device = $_ + [pscustomobject]@{ + deviceBatchId = $GroupName + hardwareHash = $Device.hardwareHash + serialNumber = $Device.SerialNumber + productKey = $Device.productKey + oemManufacturerName = $Device.oemManufacturerName + modelName = $Device.modelName + } + } + $body = ConvertTo-Json -Depth 10 -Compress -InputObject @($body) + Write-Host $body + $GraphRequest = (New-GraphPostRequest -returnHeaders $true -uri "https://api.partnercenter.microsoft.com/v1/$($CurrentStatus.items.deviceslink.uri)" -body $body -scope 'https://api.partnercenter.microsoft.com/user_impersonation') + } else { + $body = '{"batchId":"' + $($GroupName) + '","devices":' + $Devices + '}' + $GraphRequest = (New-GraphPostRequest -returnHeaders $true -uri "https://api.partnercenter.microsoft.com/v1/customers/$TenantFilter/DeviceBatches" -body $body -scope 'https://api.partnercenter.microsoft.com/user_impersonation') + } $Amount = 0 do { Write-Host "Checking status of import job for $GroupName" @@ -35,14 +52,15 @@ Function Invoke-AddAPDevice { } until ($Newstatus.status -eq 'finished' -or $amount -eq 4) if ($NewStatus.status -ne 'finished') { throw 'Could not retrieve status of import - This job might still be running. Check the autopilot device list in 10 minutes for the latest status.' } Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APIName -tenant $($Request.body.TenantFilter) -message "Created Autopilot devices group. Group ID is $GroupName" -Sev 'Info' + [PSCustomObject]@{ Status = 'Import Job Completed' - Devices = @($NewStatus.devicesStatus) + Devices = @($NewStatus.devicesStatus) } } catch { [PSCustomObject]@{ Status = "$($Request.body.TenantFilter): Failed to create autopilot devices. $($_.Exception.Message)" - Devices = @() + Devices = @() } Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APIName -tenant $($Request.body.TenantFilter) -message "Failed to create autopilot devices. $($_.Exception.Message)" -Sev 'Error' } diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Endpoint/MEM/Invoke-AddDefenderDeployment.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Endpoint/MEM/Invoke-AddDefenderDeployment.ps1 index bc94e7cf5851..59527aa0dc92 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Endpoint/MEM/Invoke-AddDefenderDeployment.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Endpoint/MEM/Invoke-AddDefenderDeployment.ps1 @@ -35,8 +35,14 @@ Function Invoke-AddDefenderDeployment { iosMobileApplicationManagementEnabled = [bool]$Compliance.appSync microsoftDefenderForEndpointAttachEnabled = [bool]$true } | ConvertTo-Json -Compress - $SettingsRequest = New-GraphPOSTRequest -uri 'https://graph.microsoft.com/beta/deviceManagement/mobileThreatDefenseConnectors/' -tenantid $tenant -type POST -body $SettingsObj -AsApp $true - "$($Tenant): Successfully set Defender Compliance and Reporting settings" + $ExistingSettings = New-GraphGETRequest -uri 'https://graph.microsoft.com/beta/deviceManagement/mobileThreatDefenseConnectors/fc780465-2017-40d4-a0c5-307022471b92' -tenantid $tenant + if ($ExistingSettings) { + "Defender Intune Configuration already active for $($Tenant). Skipping" + } else { + $SettingsRequest = New-GraphPOSTRequest -uri 'https://graph.microsoft.com/beta/deviceManagement/mobileThreatDefenseConnectors/' -tenantid $tenant -type POST -body $SettingsObj -AsApp $true + "$($Tenant): Successfully set Defender Compliance and Reporting settings" + } + $Settings = switch ($PolicySettings) { { $_.ScanArchives } { @@ -210,11 +216,11 @@ Function Invoke-AddDefenderDeployment { settings = @($EDRSettings) } Write-Host ( $EDRbody) - $CheckExististingEDR = New-GraphGETRequest -uri 'https://graph.microsoft.com/beta/deviceManagement/configurationPolicies' -tenantid $tenant + $CheckExististingEDR = New-GraphGETRequest -uri 'https://graph.microsoft.com/beta/deviceManagement/configurationPolicies' -tenantid $tenant | Where-Object -Property Name -EQ 'EDR Configuration' if ('EDR Configuration' -in $CheckExististingEDR.Name) { "$($Tenant): EDR Policy already exists. Skipping" } else { - #$EDRRequest = New-GraphPOSTRequest -uri 'https://graph.microsoft.com/beta/deviceManagement/configurationPolicies' -tenantid $tenant -type POST -body $EDRbody + $EDRRequest = New-GraphPOSTRequest -uri 'https://graph.microsoft.com/beta/deviceManagement/configurationPolicies' -tenantid $tenant -type POST -body $EDRbody if ($ASR.AssignTo -ne 'none') { $AssignBody = if ($ASR.AssignTo -ne 'AllDevicesAndUsers') { '{"assignments":[{"id":"","target":{"@odata.type":"#microsoft.graph.' + $($asr.AssignTo) + 'AssignmentTarget"}}]}' } else { '{"assignments":[{"id":"","target":{"@odata.type":"#microsoft.graph.allDevicesAssignmentTarget"}},{"id":"","target":{"@odata.type":"#microsoft.graph.allLicensedUsersAssignmentTarget"}}]}' } $assign = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceManagement/configurationPolicies('$($EDRRequest.id)')/assign" -tenantid $tenant -type POST -body $AssignBody diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Endpoint/MEM/Invoke-AddPolicy.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Endpoint/MEM/Invoke-AddPolicy.ps1 index dea49aa6c1ab..9d6865355490 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Endpoint/MEM/Invoke-AddPolicy.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Endpoint/MEM/Invoke-AddPolicy.ps1 @@ -27,6 +27,7 @@ Function Invoke-AddPolicy { try { Write-Host 'Calling Adding policy' Set-CIPPIntunePolicy -TemplateType $Request.body.TemplateType -Description $description -DisplayName $displayname -RawJSON $RawJSON -AssignTo $AssignTo -tenantFilter $Tenant + "Added policy $($Displayname) to $($Tenant)" Write-LogMessage -user $Request.headers.'x-ms-client-principal' -API $APINAME -tenant $($Tenant) -message "Added policy $($Displayname)" -Sev 'Info' } catch { "Failed to add policy for $($Tenant): $($_.Exception.Message)" diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Groups/Invoke-AddGroup.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Groups/Invoke-AddGroup.ps1 index f4dda9d8f50a..322ed5774b17 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Groups/Invoke-AddGroup.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Groups/Invoke-AddGroup.ps1 @@ -22,7 +22,7 @@ Function Invoke-AddGroup { $results = foreach ($tenant in $SelectedTenants) { try { $email = if ($groupobj.domain) { "$($groupobj.username)@$($groupobj.domain)" } else { "$($groupobj.username)@$($tenant)" } - if ($groupobj.groupType -in 'Generic', 'azurerole', 'dynamic') { + if ($groupobj.groupType -in 'Generic', 'azurerole', 'dynamic', 'm365') { $BodyToship = [pscustomobject] @{ 'displayName' = $groupobj.Displayname @@ -37,6 +37,9 @@ Function Invoke-AddGroup { $BodyToship | Add-Member -NotePropertyName 'groupTypes' -NotePropertyValue @('DynamicMembership') $BodyToship | Add-Member -NotePropertyName 'membershipRuleProcessingState' -NotePropertyValue 'On' } + if ($groupobj.groupType -eq 'm365') { + $BodyToship | Add-Member -NotePropertyName 'groupTypes' -NotePropertyValue @('Unified') + } if ($groupobj.AddOwner -AND $groupobj.groupType -in 'generic', 'azurerole', 'security') { $BodyToship | Add-Member -NotePropertyName 'owners@odata.bind' -NotePropertyValue (($groupobj.AddOwner) | ForEach-Object { "https://graph.microsoft.com/v1.0/users/$($_.value)" }) $bodytoship.'owners@odata.bind' = @($bodytoship.'owners@odata.bind') diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Groups/Invoke-AddGroupTemplate.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Groups/Invoke-AddGroupTemplate.ps1 index 83d8e9a64743..6574633a16c7 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Groups/Invoke-AddGroupTemplate.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Groups/Invoke-AddGroupTemplate.ps1 @@ -9,7 +9,6 @@ Function Invoke-AddGroupTemplate { #> [CmdletBinding()] param($Request, $TriggerMetadata) - $APIName = $TriggerMetadata.FunctionName Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' @@ -36,8 +35,7 @@ Function Invoke-AddGroupTemplate { Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Created Group template named $($Request.body.displayname) with GUID $GUID" -Sev 'Debug' $body = [pscustomobject]@{'Results' = 'Successfully added template' } - } - catch { + } catch { Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Group Template Creation failed: $($_.Exception.Message)" -Sev 'Error' $body = [pscustomobject]@{'Results' = "Group Template Creation failed: $($_.Exception.Message)" } } diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-AddUser.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-AddUser.ps1 index d554111c480c..320a196a0f3a 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-AddUser.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-AddUser.ps1 @@ -13,130 +13,41 @@ Function Invoke-AddUser { $APIName = 'AddUser' Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' - $Results = [System.Collections.Generic.List[string]]::new() $UserObj = $Request.body - # Write to the Azure Functions log stream. - Write-Host 'PowerShell HTTP trigger function processed a request.' - try { - $license = $UserObj.license - $Aliases = ($UserObj.AddedAliases) -split '\s' - $password = if ($UserObj.password) { $UserObj.password } else { New-passwordString } - $UserprincipalName = "$($UserObj.Username)@$($UserObj.Domain)" - $BodyToship = [pscustomobject] @{ - 'givenName' = $UserObj.FirstName - 'surname' = $UserObj.LastName - 'accountEnabled' = $true - 'displayName' = $UserObj.DisplayName - 'department' = $UserObj.Department - 'mailNickname' = $UserObj.Username - 'userPrincipalName' = $UserprincipalName - 'usageLocation' = $UserObj.usageLocation - 'city' = $UserObj.City - 'country' = $UserObj.Country - 'jobtitle' = $UserObj.Jobtitle - 'mobilePhone' = $UserObj.MobilePhone - 'streetAddress' = $UserObj.streetAddress - 'postalCode' = $UserObj.PostalCode - 'companyName' = $UserObj.CompanyName - 'passwordProfile' = @{ - 'forceChangePasswordNextSignIn' = [bool]$UserObj.MustChangePass - 'password' = $password + + if ($UserObj.Scheduled.Enabled) { + $TaskBody = [pscustomobject]@{ + TenantFilter = $UserObj.tenantID + Name = "New user creation: $($UserObj.User)@$($UserObj.Domain)" + Command = @{ + value = 'New-CIPPUserTask' + label = 'New-CIPPUserTask' } - } - if ($userobj.businessPhone) { $bodytoShip | Add-Member -NotePropertyName businessPhones -NotePropertyValue @($UserObj.businessPhone) } - if ($UserObj.addedAttributes) { - Write-Host 'Found added attribute' - Write-Host "Added attributes: $($UserObj.addedAttributes | ConvertTo-Json)" - $UserObj.addedAttributes.GetEnumerator() | ForEach-Object { - $results.add("Added property $($_.Key) with value $($_.value)") - $bodytoShip | Add-Member -NotePropertyName $_.Key -NotePropertyValue $_.Value + Parameters = [pscustomobject]@{ userobj = $UserObj } + ScheduledTime = $UserObj.Scheduled.date + PostExecution = @{ + Webhook = [bool]$Request.Body.PostExecution.Webhook + Email = [bool]$Request.Body.PostExecution.Email + PSA = [bool]$Request.Body.PostExecution.PSA } } - $bodyToShip = ConvertTo-Json -Depth 10 -InputObject $BodyToship -Compress - $GraphRequest = New-GraphPostRequest -uri 'https://graph.microsoft.com/beta/users' -tenantid $UserObj.tenantID -type POST -body $BodyToship -verbose - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($UserObj.tenantID) -message "Created user $($UserObj.displayname) with id $($GraphRequest.id) " -Sev 'Info' - - #PWPush - $PasswordLink = New-PwPushLink -Payload $password - if ($PasswordLink) { - $password = $PasswordLink + Add-CIPPScheduledTask -Task $TaskBody -hidden $false -DisallowDuplicateName $true + $body = [pscustomobject] @{ + 'Results' = @("Successfully created scheduled task to create user $($UserObj.DisplayName)") } - $results.add('Created user.') - $results.add("Username: $($UserprincipalName)") - $results.add("Password: $password") - } catch { - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($UserObj.tenantID) -message "Failed to create user. Error:$($_.Exception.Message)" -Sev 'Error' - $body = $results.add("Failed to create user. $($_.Exception.Message)" ) - Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ - StatusCode = [HttpStatusCode]::OK - Body = $Body - }) - exit 1 - } - - try { - if ($license) { - Write-Host ($UserObj | ConvertTo-Json) - $licenses = (($UserObj | Select-Object 'License_*').psobject.properties | Where-Object { $_.value -EQ $true }).name -replace 'License_', '' - Write-Host "Lics are: $licences" - $LicenseBody = if ($licenses.count -ge 2) { - $liclist = foreach ($license in $Licenses) { '{"disabledPlans": [],"skuId": "' + $license + '" },' } - '{"addLicenses": [' + $LicList + '], "removeLicenses": [ ] }' - } else { - '{"addLicenses": [ {"disabledPlans": [],"skuId": "' + $licenses + '" }],"removeLicenses": [ ]}' - } - Write-Host $LicenseBody - $LicRequest = New-GraphPostRequest -uri "https://graph.microsoft.com/beta/users/$($GraphRequest.id)/assignlicense" -tenantid $UserObj.tenantID -type POST -body $LicenseBody -verbose - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($UserObj.tenantid) -message "Assigned user $($UserObj.DisplayName) license $($licences)" -Sev 'Info' - $body = $results.add('Assigned licenses.') - } - - } catch { - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($userobj.tenantID) -message "Failed to assign the license. Error:$($_.Exception.Message)" -Sev 'Error' - $body = $results.add("Failed to assign the license. $($_.Exception.Message)") - } - - try { - if ($Aliases) { - foreach ($Alias in $Aliases) { - Write-Host $Alias - New-GraphPostRequest -uri "https://graph.microsoft.com/beta/users/$($GraphRequest.id)" -tenantid $UserObj.tenantID -type 'patch' -body "{`"mail`": `"$Alias`"}" -verbose + } else { + $CreationResults = New-CIPPUserTask -userobj $UserObj -APIName $APINAME -ExecutingUser $request.headers.'x-ms-client-principal' + $body = [pscustomobject] @{ + 'Results' = $CreationResults.Results + 'Username' = $CreationResults.username + 'Password' = $CreationResults.password + 'CopyFrom' = @{ + 'Success' = $CreationResults.CopyFrom.Success + 'Error' = $CreationResults.CopyFrom.Error } - New-GraphPostRequest -uri "https://graph.microsoft.com/beta/users/$($GraphRequest.id)" -tenantid $UserObj.tenantID -type 'patch' -body "{`"mail`": `"$UserprincipalName`"}" -verbose - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($UserObj.tenantID) -message "Added alias $($Alias) to $($UserObj.DisplayName)" -Sev 'Info' - $body = $results.add("Added Aliases: $($Aliases -join ',')") } - } catch { - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($userobj.tenantID) -message "Failed to create the Aliases. Error:$($_.Exception.Message)" -Sev 'Error' - $body = $results.add("Failed to create the Aliases: $($_.Exception.Message)") - } - if ($Request.body.CopyFrom -ne '') { - $CopyFrom = Set-CIPPCopyGroupMembers -ExecutingUser $request.headers.'x-ms-client-principal' -CopyFromId $Request.body.CopyFrom -UserID $UserprincipalName -TenantFilter $UserObj.tenantID - $results.Add($CopyFrom.Success -join ', ') - $results.Add($CopyFrom.Error -join ', ') - } - - if ($Request.body.setManager) { - $ManagerBody = [PSCustomObject]@{'@odata.id' = "https://graph.microsoft.com/beta/users/$($Request.body.setManager.value)" } - $ManagerBodyJSON = ConvertTo-Json -Compress -Depth 10 -InputObject $ManagerBody - New-GraphPostRequest -uri "https://graph.microsoft.com/beta/users/$($GraphRequest.id)/manager/`$ref" -tenantid $UserObj.tenantID -type PUT -body $ManagerBodyJSON -Verbose - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $UserObj.tenantID -message "Set $($UserObj.DisplayName)'s manager to $($Request.body.setManager.label)" -Sev 'Info' - $results.add("Success. Set $($UserObj.DisplayName)'s manager to $($Request.body.setManager.label)") - } - $copyFromResults = @{ - 'Success' = $CopyFrom.Success - 'Error' = $CopyFrom.Error } - - $body = [pscustomobject] @{ - 'Results' = @($results) - 'Username' = $UserprincipalName - 'Password' = $password - 'CopyFrom' = $copyFromResults - } - - # Associate values to output bindings by calling 'Push-OutputBinding'. Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ StatusCode = [HttpStatusCode]::OK diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-AddUserBulk.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-AddUserBulk.ps1 index 2d33113d1ffb..a0def20c1b22 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-AddUserBulk.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-AddUserBulk.ps1 @@ -41,7 +41,7 @@ Function Invoke-AddUserBulk { } catch { Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($TenantFilter) -message "Failed to create user. Error:$($_.Exception.Message)" -Sev 'Error' - $results = "Failed to create user. $($_.Exception.Message)" + $results = "Failed to create user $($UserprincipalName). $($_.Exception.Message)" } [PSCustomObject]@{ 'Results' = $results diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ExecBECCheck.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ExecBECCheck.ps1 index 52aab6d770f5..27389fffd877 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ExecBECCheck.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ExecBECCheck.ps1 @@ -1,5 +1,3 @@ -using namespace System.Net - Function Invoke-ExecBECCheck { <# .FUNCTIONALITY @@ -10,23 +8,51 @@ Function Invoke-ExecBECCheck { [CmdletBinding()] param($Request, $TriggerMetadata) - $body = if ($request.query.GUID) { + $Table = Get-CippTable -tablename 'cachebec' + + $UserId = $Request.Query.userid ?? $Request.Query.GUID + $Filter = "PartitionKey eq 'bec' and RowKey eq '$UserId'" + $JSONOutput = Get-CIPPAzDataTableEntity @Table -Filter $Filter + Write-Host ($Request.Query | ConvertTo-Json) + + $body = if (([string]::IsNullOrEmpty($JSONOutput.Results) -and $JSONOutput.Status -ne 'Waiting' ) -or $Request.Query.overwrite -eq $true) { + $Batch = @{ + 'FunctionName' = 'BECRun' + 'UserID' = $Request.Query.userid + 'TenantFilter' = $Request.Query.tenantfilter + 'userName' = $Request.Query.userName + } + $Table = Get-CippTable -tablename 'cachebec' - $Filter = "PartitionKey eq 'bec' and RowKey eq '$($request.query.GUID)'" - $JSONOutput = Get-CIPPAzDataTableEntity @Table -Filter $Filter - if (!$JSONOutput) { - @{ Waiting = $true } - } else { - $JSONOutput.Results + + $Entity = @{ + UserId = $Request.Query.userid + Results = '' + RowKey = $Request.Query.userid + Status = 'Waiting' + PartitionKey = 'bec' + } + Add-CIPPAzDataTableEntity @Table -Entity $Entity -Force + + $InputObject = [PSCustomObject]@{ + OrchestratorName = 'BECRunOrchestrator' + Batch = @($Batch) + SkipLog = $true } + #Write-Host ($InputObject | ConvertTo-Json) + $InstanceId = Start-NewOrchestration -FunctionName 'CIPPOrchestrator' -InputObject ($InputObject | ConvertTo-Json -Depth 5 -Compress) + + @{ GUID = $Request.Query.userid } } else { - $OrchRequest = [PSCustomObject]@{ - TenantFilter = $request.query.tenantfilter - UserID = $request.query.userid - userName = $request.query.userName + if (!$Request.Query.GUID) { + @{ GUID = $Request.Query.userid } + } else { + if (!$JSONOutput -or $JSONOutput.Status -eq 'Waiting') { + @{ Waiting = $true } + } else { + $JSONOutput.Results + } } - $InstanceId = Start-NewOrchestration -FunctionName 'Durable_BECRun' -InputObject $OrchRequest - @{ GUID = $request.query.userid } } diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ExecBECRemediate.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ExecBECRemediate.ps1 index cfbf2078aa27..cfa67b8bd043 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ExecBECRemediate.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ExecBECRemediate.ps1 @@ -11,7 +11,9 @@ Function Invoke-ExecBECRemediate { param($Request, $TriggerMetadata) $APIName = $TriggerMetadata.FunctionName - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + $User = $request.headers.'x-ms-client-principal' + + Write-LogMessage -user $User -API $APINAME -message 'Accessed this API' -Sev 'Debug' Write-Host 'PowerShell HTTP trigger function processed a request.' $TenantFilter = $request.body.tenantfilter @@ -20,27 +22,45 @@ Function Invoke-ExecBECRemediate { Write-Host $TenantFilter Write-Host $SuspectUser $Results = try { - Set-CIPPResetPassword -userid $username -tenantFilter $TenantFilter -APIName $APINAME -ExecutingUser $request.headers.'x-ms-client-principal' - Set-CIPPSignInState -userid $username -AccountEnabled $false -tenantFilter $TenantFilter -APIName $APINAME -ExecutingUser $request.headers.'x-ms-client-principal' - Revoke-CIPPSessions -userid $SuspectUser -username $request.body.username -ExecutingUser $request.headers.'x-ms-client-principal' -APIName $APINAME -tenantFilter $TenantFilter + $Step = 'Reset Password' + Set-CIPPResetPassword -UserID $username -tenantFilter $TenantFilter -APIName $APINAME -ExecutingUser $User + $Step = 'Disable Account' + Set-CIPPSignInState -userid $username -AccountEnabled $false -tenantFilter $TenantFilter -APIName $APINAME -ExecutingUser $User + $Step = 'Revoke Sessions' + Revoke-CIPPSessions -userid $SuspectUser -username $request.body.username -ExecutingUser $User -APIName $APINAME -tenantFilter $TenantFilter + + $Step = 'Disable Inbox Rules' + $Rules = New-ExoRequest -anchor $username -tenantid $TenantFilter -cmdlet 'Get-InboxRule' -cmdParams @{Mailbox = $username; IncludeHidden = $true } $RuleDisabled = 0 - New-ExoRequest -anchor $username -tenantid $TenantFilter -cmdlet 'get-inboxrule' -cmdParams @{Mailbox = $username } | ForEach-Object { - $null = New-ExoRequest -anchor $username -tenantid $TenantFilter -cmdlet 'Disable-InboxRule' -cmdParams @{Confirm = $false; Identity = $_.Identity } - "Disabled Inbox Rule $($_.Identity) for $username" - $RuleDisabled ++ + $RuleFailed = 0 + if (($Rules | Measure-Object).Count -gt 0) { + $Rules | Where-Object { $_.Name -ne 'Junk E-Mail Rule' -and $_.Name -notlike 'Microsoft.Exchange.OOF.*' } | ForEach-Object { + try { + $null = New-ExoRequest -anchor $username -tenantid $TenantFilter -cmdlet 'Disable-InboxRule' -cmdParams @{Confirm = $false; Identity = $_.Identity } + "Disabled Inbox Rule '$($_.Identity)' for $username" + $RuleDisabled++ + } catch { + "Failed to disable Inbox Rule '$($_.Identity)' for $username" + $RuleFailed++ + } + } } - if ($RuleDisabled) { + if ($RuleDisabled -gt 0) { "Disabled $RuleDisabled Inbox Rules for $username" } else { "No Inbox Rules found for $username. We have not disabled any rules." } - Write-LogMessage -API 'BECRemediate' -tenant $tenantfilter -message "Executed Remediation for $SuspectUser" -sev 'Info' + if ($RuleFailed -gt 0) { + "Failed to disable $RuleFailed Inbox Rules for $username" + } + + Write-LogMessage -API 'BECRemediate' -tenant $tenantfilter -message "Executed Remediation for $username" -sev 'Info' } catch { - #Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($tenantfilter) -message "Failed to assign app $($appFilter): $($_.Exception.Message)" -Sev "Error" - $results = [pscustomobject]@{'Results' = "Failed to execute remediation. $($_.Exception.Message)" } - Write-LogMessage -API 'BECRemediate' -tenant $tenantfilter -message "Executed Remediation for $SuspectUser failed" -sev 'Error' + $ErrorMessage = Get-CippException -Exception $_ + $results = [pscustomobject]@{'Results' = "Failed to execute remediation. $($ErrorMessage.NormalizedError)" } + Write-LogMessage -API 'BECRemediate' -tenant $tenantfilter -message "Executed Remediation for $username failed at the $Step step" -sev 'Error' -LogData $ErrorMessage } $results = [pscustomobject]@{'Results' = @($Results) } diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ExecClrImmId.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ExecClrImmId.ps1 index 9241f5feae7d..6ebf2e66750b 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ExecClrImmId.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ExecClrImmId.ps1 @@ -20,13 +20,13 @@ Function Invoke-ExecClrImmId { Try { $TenantFilter = $Request.Query.TenantFilter $UserID = $Request.Query.ID - $Body = [pscustomobject] @{ - onPremisesImmutableId = $null - } | ConvertTo-Json - $GraphRequest = New-GraphPostRequest -uri "https://graph.microsoft.com/beta/users/$UserID" -tenantid $TenantFilter -type PATCH -body $Body + $Body = [pscustomobject]@{ onPremisesImmutableId = $null } + $Body = ConvertTo-Json -InputObject $Body -Depth 5 -Compress + $null = New-GraphPostRequest -uri "https://graph.microsoft.com/beta/users/$UserID" -tenantid $TenantFilter -type PATCH -body $Body $Results = [pscustomobject]@{'Results' = 'Successfully Cleared ImmutableId' } } catch { - $Results = [pscustomobject]@{'Results' = "Failed. $_.Exception.Message"; colour = 'danger' } + $ErrorMessage = Get-NormalizedError -Message $_.Exception + $Results = [pscustomobject]@{'Results' = "Failed. $ErrorMessage"; colour = 'danger' } $_.Exception } @@ -35,5 +35,4 @@ Function Invoke-ExecClrImmId { StatusCode = [HttpStatusCode]::OK Body = $Results }) - } diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ExecDismissRiskyUser.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ExecDismissRiskyUser.ps1 new file mode 100644 index 000000000000..9d4a9e2e55e4 --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ExecDismissRiskyUser.ps1 @@ -0,0 +1,44 @@ +function Invoke-ExecDismissRiskyUser { + <# + .FUNCTIONALITY + Entrypoint + .ROLE + Identity.User.ReadWrite + #> + [CmdletBinding()] + param($Request, $TriggerMetadata) + + $APIName = $TriggerMetadata.FunctionName + Write-LogMessage -user $Request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + Write-Host 'PowerShell HTTP trigger function processed a request.' + + $TenantFilter = $Request.Query.tenantfilter + $SuspectUser = $Request.Query.userid + $userDisplayName = $Request.Query.userDisplayName + + $GraphRequest = @{ + 'uri' = 'https://graph.microsoft.com/beta/riskyUsers/dismiss' + 'tenantid' = $TenantFilter + 'type' = 'POST' + 'contentType' = 'application/json; charset=utf-8' + 'body' = @{ + 'userIds' = @($SuspectUser) + } | ConvertTo-Json + } + + try { + $GraphResults = New-GraphPostRequest @GraphRequest + Write-LogMessage -API 'DismissRiskyUser' -tenant $TenantFilter -message "Dismissed user risk for $userDisplayName" -sev 'Info' + + $ResponseBody = [pscustomobject]@{ 'Results' = "Successfully dismissed User Risk for user $userDisplayName. $GraphResults" } + } catch { + $ResponseBody = [pscustomobject]@{ 'Results' = "Failed to execute dismissal. $($_.Exception.Message)" } + Write-LogMessage -API 'DismissRiskyUser' -tenant $TenantFilter -message "Failed to dismiss user risk for $userDisplayName" -sev 'Error' + } + + # Associate values to output bindings by calling 'Push-OutputBinding'. + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = $ResponseBody + }) +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ExecJITAdmin.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ExecJITAdmin.ps1 index 458656041088..b0c29871ae9d 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ExecJITAdmin.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ExecJITAdmin.ps1 @@ -11,7 +11,9 @@ Function Invoke-ExecJITAdmin { param($Request, $TriggerMetadata) $APIName = 'ExecJITAdmin' - Write-LogMessage -user $Request.Headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + $User = $Request.Headers.'x-ms-client-principal' + + Write-LogMessage -user $User -API $APINAME -message 'Accessed this API' -Sev 'Debug' if ($Request.Query.Action -eq 'List') { $Schema = Get-CIPPSchemaExtensions | Where-Object { $_.id -match '_cippUser' } @@ -61,14 +63,14 @@ Function Invoke-ExecJITAdmin { if ($Request.Body.UserId -match '^[a-f0-9]{8}-([a-f0-9]{4}-){3}[a-f0-9]{12}$') { $Username = (New-GraphGetRequest -uri "https://graph.microsoft.com/v1.0/users/$($Request.Body.UserId)" -tenantid $Request.Body.TenantFilter).userPrincipalName } - Write-LogMessage -user $Request.Headers.'x-ms-client-principal' -API $APINAME -message "Executing JIT Admin for $Username" -Sev 'Info' + Write-LogMessage -user $User -API $APINAME -message "Executing JIT Admin for $Username" -tenant $Request.Body.TenantFilter -Sev 'Info' $Start = ([System.DateTimeOffset]::FromUnixTimeSeconds($Request.Body.StartDate)).DateTime.ToLocalTime() $Expiration = ([System.DateTimeOffset]::FromUnixTimeSeconds($Request.Body.EndDate)).DateTime.ToLocalTime() $Results = [System.Collections.Generic.List[string]]::new() - if ($Request.Body.useraction -eq 'create') { - Write-LogMessage -user $Request.Headers.'x-ms-client-principal' -API $APINAME -message "Creating JIT Admin user $($Request.Body.UserPrincipalName)" -Sev 'Info' + if ($Request.Body.useraction -eq 'Create') { + Write-LogMessage -user $User -API $APINAME -tenant $Request.Body.TenantFilter -message "Creating JIT Admin user $($Request.Body.UserPrincipalName)" -Sev 'Info' Write-Information "Creating JIT Admin user $($Request.Body.UserPrincipalName)" $JITAdmin = @{ User = @{ @@ -86,7 +88,7 @@ Function Invoke-ExecJITAdmin { if (!$Request.Body.UseTAP) { $Results.Add("Password: $($CreateResult.password)") } - $Results.Add("JIT Expires: $($Expiration)") + $Results.Add("JIT Admin Expires: $($Expiration)") Start-Sleep -Seconds 1 } @@ -101,7 +103,18 @@ Function Invoke-ExecJITAdmin { $TapBody = '{}' } Write-Information "https://graph.microsoft.com/beta/users/$Username/authentication/temporaryAccessPassMethods" - $TapRequest = New-GraphPostRequest -uri "https://graph.microsoft.com/beta/users/$($Username)/authentication/temporaryAccessPassMethods" -tenantid $Request.Body.TenantFilter -type POST -body $TapBody + # Retry creating the TAP up to 5 times, since it can fail due to the user not being fully created yet + $Retries = 0 + do { + try { + $TapRequest = New-GraphPostRequest -uri "https://graph.microsoft.com/beta/users/$($Username)/authentication/temporaryAccessPassMethods" -tenantid $Request.Body.TenantFilter -type POST -body $TapBody + } catch { + Start-Sleep -Seconds 2 + Write-Information 'ERROR: Failed to create TAP, retrying' + Write-Information ( ConvertTo-Json -Depth 5 -InputObject (Get-CippException -Exception $_)) + } + $Retries++ + } while ( $null -eq $TapRequest.temporaryAccessPass -and $Retries -le 5 ) $TempPass = $TapRequest.temporaryAccessPass $PasswordExpiration = $TapRequest.LifetimeInMinutes @@ -109,6 +122,8 @@ Function Invoke-ExecJITAdmin { $PasswordLink = New-PwPushLink -Payload $TempPass if ($PasswordLink) { $Password = $PasswordLink + } else { + $Password = $TempPass } $Results.Add("Temporary Access Pass: $Password") $Results.Add("This TAP is usable starting at $($TapRequest.startDateTime) UTC for the next $PasswordExpiration minutes") @@ -138,7 +153,7 @@ Function Invoke-ExecJITAdmin { value = 'Set-CIPPUserJITAdmin' label = 'Set-CIPPUserJITAdmin' } - Parameters = $Parameters + Parameters = [pscustomobject]$Parameters ScheduledTime = $Request.Body.StartDate PostExecution = @{ Webhook = [bool]$Request.Body.PostExecution.Webhook @@ -147,21 +162,23 @@ Function Invoke-ExecJITAdmin { } } Add-CIPPScheduledTask -Task $TaskBody -hidden $false - Set-CIPPUserJITAdminProperties -TenantFilter $Request.Body.TenantFilter -UserId $Request.Body.UserId -Expiration $Expiration + if ($Request.Body.useraction -ne 'Create') { + Set-CIPPUserJITAdminProperties -TenantFilter $Request.Body.TenantFilter -UserId $Request.Body.UserId -Expiration $Expiration + } $Results.Add("Scheduling JIT Admin enable task for $Username") } else { $Results.Add("Executing JIT Admin enable task for $Username") Set-CIPPUserJITAdmin @Parameters } - $DisableTaskBody = @{ + $DisableTaskBody = [pscustomobject]@{ TenantFilter = $Request.Body.TenantFilter Name = "JIT Admin ($($Request.Body.ExpireAction)): $Username" Command = @{ value = 'Set-CIPPUserJITAdmin' label = 'Set-CIPPUserJITAdmin' } - Parameters = @{ + Parameters = [pscustomobject]@{ TenantFilter = $Request.Body.TenantFilter User = @{ 'UserPrincipalName' = $Username @@ -176,7 +193,7 @@ Function Invoke-ExecJITAdmin { } ScheduledTime = $Request.Body.EndDate } - Add-CIPPScheduledTask -Task $DisableTaskBody -hidden $false + $null = Add-CIPPScheduledTask -Task $DisableTaskBody -hidden $false $Results.Add("Scheduling JIT Admin $($Request.Body.ExpireAction) task for $Username") $Body = @{ Results = @($Results) diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ExecOffboardUser.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ExecOffboardUser.ps1 index 0bf9feaf3dff..81707b1b22ef 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ExecOffboardUser.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ExecOffboardUser.ps1 @@ -23,7 +23,7 @@ Function Invoke-ExecOffboardUser { Command = @{ value = 'Invoke-CIPPOffboardingJob' } - Parameters = @{ + Parameters = [pscustomobject]@{ Username = $Username APIName = 'Scheduled Offboarding' options = $request.body diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ExecOnedriveProvision.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ExecOnedriveProvision.ps1 new file mode 100644 index 000000000000..2ab46bfed86a --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ExecOnedriveProvision.ps1 @@ -0,0 +1,28 @@ +using namespace System.Net + +Function Invoke-ExecOneDriveProvision { + <# + .FUNCTIONALITY + Entrypoint + .ROLE + Identity.User.ReadWrite + #> + [CmdletBinding()] + param($Request, $TriggerMetadata) + + $APIName = $TriggerMetadata.FunctionName + try { + $State = Request-CIPPSPOPersonalSite -TenantFilter $Request.Query.TenantFilter -UserEmails $Request.Query.UserPrincipalName -ExecutingUser $request.headers.'x-ms-client-principal' -APIName $APINAME + $Results = [pscustomobject]@{'Results' = "$State" } + } catch { + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + $Results = [pscustomobject]@{'Results' = "Failed. $ErrorMessage" } + } + + # Associate values to output bindings by calling 'Push-OutputBinding'. + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = $Results + }) + +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ExecPerUserMFAAllUsers.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ExecPerUserMFAAllUsers.ps1 new file mode 100644 index 000000000000..f91b1f3a5a89 --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ExecPerUserMFAAllUsers.ps1 @@ -0,0 +1,29 @@ +function Invoke-ExecPerUserMFAAllUsers { + <# + .FUNCTIONALITY + Entrypoint + + .ROLE + Identity.User.ReadWrite + #> + Param( + $Request, + $TriggerMetadata + ) + $TenantFilter = $request.query.TenantFilter + $Users = New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/users' -tenantid $TenantFilter + $Request = @{ + userId = $Users.id + TenantFilter = $tenantfilter + State = $Request.query.State + executingUser = $Request.Headers.'x-ms-client-principal' + } + $Result = Set-CIPPPerUserMFA @Request + $Body = @{ + Results = @($Result) + } + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = $Body + }) +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ExecResetMFA.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ExecResetMFA.ps1 index 1667958aa7a1..881f35afbf93 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ExecResetMFA.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ExecResetMFA.ps1 @@ -13,31 +13,44 @@ Function Invoke-ExecResetMFA { $APIName = $TriggerMetadata.FunctionName Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' - - # Write to the Azure Functions log stream. - Write-Host 'PowerShell HTTP trigger function processed a request.' - Write-Host "$($Request.query.ID)" # Interact with query parameters or the body of the request. $TenantFilter = $Request.Query.TenantFilter + $UserID = $Request.Query.ID try { - $AADGraphtoken = (Get-GraphToken -scope 'https://graph.windows.net/.default') - $tenantid = (Get-Tenants | Where-Object -Property defaultDomainName -EQ $TenantFilter).customerId - $TrackingGuid = (New-Guid).GUID - $LogonPost = @" -http://provisioning.microsoftonline.com/IProvisioningWebService/MsolConnecturn:uuid:$TrackingGuidhttp://www.w3.org/2005/08/addressing/anonymous$($AADGraphtoken['Authorization'])50afce61-c917-435b-8c6d-60aa5a8b8aa71.2.183.57Version47$($TrackingGuid)https://provisioningapi.microsoftonline.com/provisioningwebservice.svcVersion4 -"@ - $DataBlob = (Invoke-RestMethod -Method POST -Uri 'https://provisioningapi.microsoftonline.com/provisioningwebservice.svc' -ContentType 'application/soap+xml; charset=utf-8' -Body $LogonPost).envelope.header.BecContext.DataBlob.'#text' - $MSOLXML = @" -http://provisioning.microsoftonline.com/IProvisioningWebService/SetUserurn:uuid:$TrackingGuidhttp://www.w3.org/2005/08/addressing/anonymous$($AADGraphtoken['Authorization'])$($DataBlob)9450afce61-c917-435b-8c6d-60aa5a8b8aa71.2.183.57Version47$TrackingGuidhttps://provisioningapi.microsoftonline.com/provisioningwebservice.svcVersion16$($tenantid)$($Request.query.id)*0001-01-01T00:00:00Enabled -"@ - $SetMFA = (Invoke-RestMethod -Uri 'https://provisioningapi.microsoftonline.com/provisioningwebservice.svc' -Method post -Body $MSOLXML -ContentType 'application/soap+xml; charset=utf-8') - - $Results = [pscustomobject]@{'Results' = 'Successfully completed request. User must supply MFA at next logon' } - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Reset Multi factor authentication settings for $($Request.query.id)" -Sev 'Info' + Write-Host "Getting auth methods for $UserID" + $AuthMethods = New-GraphGetRequest -uri "https://graph.microsoft.com/v1.0/users/$UserID/authentication/methods" -tenantid $TenantFilter -AsApp $true + $Requests = [System.Collections.Generic.List[object]]::new() + foreach ($Method in $AuthMethods) { + if ($Method.'@odata.type' -and $Method.'@odata.type' -ne '#microsoft.graph.passwordAuthenticationMethod') { + $MethodType = ($Method.'@odata.type' -split '\.')[-1] -replace 'Authentication', '' + $Requests.Add(@{ + id = "$MethodType-$($Method.id)" + method = 'DELETE' + url = ('users/{0}/authentication/{1}s/{2}' -f $UserID, $MethodType, $Method.id) + }) + } + } + if (($Requests | Measure-Object).Count -eq 0) { + $Results = [pscustomobject]@{'Results' = "No MFA methods found for user $($Request.Query.ID)" } + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = $Results + }) + return + } + + $Results = New-GraphBulkRequest -Requests $Requests -tenantid $TenantFilter -asapp $true -erroraction stop + + + if ($Results.status -eq 204) { + $Results = [pscustomobject]@{'Results' = "Successfully completed request. User $($Request.Query.ID) must supply MFA at next logon" } + } else { + $FailedAuthMethods = (($Results | Where-Object { $_.status -ne 204 }).id -split '-')[0] -join ', ' + $Results = [pscustomobject]@{'Results' = "Failed to reset MFA methods for $FailedAuthMethods" } + } } catch { - $Results = [pscustomobject]@{'Results' = "Failed to reset MFA methods for $($Request.query.id): $($_.Exception.Message)" } - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Failed to reset MFA: $($_.Exception.Message)" -Sev 'Error' - + $Results = [pscustomobject]@{'Results' = "Failed to reset MFA methods for $($Request.Query.ID): $(Get-NormalizedError -message $_.Exception.Message)" } + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Failed to reset MFA for user $($Request.Query.ID): $($_.Exception.Message)" -Sev 'Error' -LogData (Get-CippException -Exception $_) } # Associate values to output bindings by calling 'Push-OutputBinding'. diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ExecSendPush.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ExecSendPush.ps1 index 3970db4890e6..1dabd29f6efb 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ExecSendPush.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ExecSendPush.ps1 @@ -52,7 +52,7 @@ Function Invoke-ExecSendPush { $SPBody = [pscustomobject]@{ appId = $MFAAppID } - $SPID = (New-GraphPostRequest -uri 'https://graph.microsoft.com/v1.0/servicePrincipals' -tenantid $TenantFilter -type POST -body $SPBody -verbose).id + $SPID = (New-GraphPostRequest -uri 'https://graph.microsoft.com/v1.0/servicePrincipals' -tenantid $TenantFilter -type POST -body $SPBody ).id } @@ -64,7 +64,7 @@ Function Invoke-ExecSendPush { } } | ConvertTo-Json -Depth 5 - $TempPass = (New-GraphPostRequest -uri "https://graph.microsoft.com/v1.0/servicePrincipals/$SPID/addPassword" -tenantid $TenantFilter -type POST -body $PassReqBody -verbose).secretText + $TempPass = (New-GraphPostRequest -uri "https://graph.microsoft.com/v1.0/servicePrincipals/$SPID/addPassword" -tenantid $TenantFilter -type POST -body $PassReqBody -AsApp $true).secretText # Give it a chance to apply #Start-Sleep 5 diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ListUserMailboxRules.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ListUserMailboxRules.ps1 index eade83ccee64..a8c4af96c998 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ListUserMailboxRules.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ListUserMailboxRules.ps1 @@ -11,7 +11,8 @@ Function Invoke-ListUserMailboxRules { param($Request, $TriggerMetadata) $APIName = $TriggerMetadata.FunctionName - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + $User = $request.headers.'x-ms-client-principal' + Write-LogMessage -user $User -API $APINAME -message 'Accessed this API' -Sev 'Debug' # Write to the Azure Functions log stream. @@ -21,7 +22,8 @@ Function Invoke-ListUserMailboxRules { try { $TenantFilter = $Request.Query.TenantFilter $UserID = $Request.Query.UserID - $GraphRequest = New-ExoRequest -tenantid $TenantFilter -cmdlet 'Get-InboxRule' -cmdParams @{mailbox = $UserID } | Select-Object + $UserEmail = if ([string]::IsNullOrWhiteSpace($Request.Query.userEmail)) { $UserID } else { $Request.Query.userEmail } + $GraphRequest = New-ExoRequest -Anchor $UserID -tenantid $TenantFilter -cmdlet 'Get-InboxRule' -cmdParams @{mailbox = $UserID; IncludeHidden = $true } | Where-Object { $_.Name -ne 'Junk E-Mail Rule' -and $_.Name -notlike 'Microsoft.Exchange.OOF.*' } | Select-Object @{ Name = 'DisplayName'; Expression = { $_.displayName } }, @{ Name = 'Description'; Expression = { $_.Description } }, @{ Name = 'Redirect To'; Expression = { $_.RedirectTo } }, @@ -30,12 +32,14 @@ Function Invoke-ListUserMailboxRules { @{ Name = 'Soft Delete Message'; Expression = { $_.SoftDeleteMessage } }, @{ Name = 'Delete Message'; Expression = { $_.DeleteMessage } } } catch { - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Failed to retrieve mailbox rules $($request.query.id): $($_.Exception.message) " -Sev 'Error' -tenant $TenantFilter + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $User -API $APINAME -message "Failed to retrieve mailbox rules $($UserEmail): $($ErrorMessage.NormalizedError) " -Sev 'Error' -tenant $TenantFilter -LogData $ErrorMessage # Associate values to output bindings by calling 'Push-OutputBinding'. Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ StatusCode = '500' - Body = $(Get-NormalizedError -message $_.Exception.message) + Body = $ErrorMessage.NormalizedError }) + exit } # Associate values to output bindings by calling 'Push-OutputBinding'. diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ListUsers.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ListUsers.ps1 index b85dde08e21f..ef2870bc0649 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ListUsers.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ListUsers.ps1 @@ -15,7 +15,7 @@ Function Invoke-ListUsers { $selectlist = 'id', 'accountEnabled', 'displayName', 'userPrincipalName', 'username', 'userType', 'createdDateTime', 'companyName', 'country', 'department', 'businessPhones', 'city', 'faxNumber', 'givenName', 'isResourceAccount', 'jobTitle', 'mobilePhone', 'officeLocation', 'postalCode', 'preferredDataLocation', 'preferredLanguage', 'mail', 'mailNickname', 'proxyAddresses', 'Aliases', 'otherMails', 'showInAddressList', 'state', 'streetAddress', 'surname', 'usageLocation', 'LicJoined', 'assignedLicenses', 'onPremisesSyncEnabled', 'OnPremisesImmutableId', 'onPremisesDistinguishedName', 'onPremisesLastSyncDateTime', 'primDomain', 'Tenant', 'CippStatus' # Write to the Azure Functions log stream. Write-Host 'PowerShell HTTP trigger function processed a request.' - $ConvertTable = Import-Csv Conversiontable.csv | Sort-Object -Property 'guid' -Unique + $ConvertTable = Import-Csv ConversionTable.csv | Sort-Object -Property 'guid' -Unique # Interact with query parameters or the body of the request. $TenantFilter = $Request.Query.TenantFilter $GraphFilter = $Request.Query.graphFilter @@ -35,11 +35,8 @@ Function Invoke-ListUsers { $Table = Get-CIPPTable -TableName 'cacheusers' $Rows = Get-CIPPAzDataTableEntity @Table | Where-Object -Property Timestamp -GT (Get-Date).AddHours(-1) if (!$Rows) { - $Queue = New-CippQueueEntry -Name 'Users' -Link '/identity/administration/users?customerId=AllTenants' - Push-OutputBinding -Name listusers -Value "users/$($userid)?`$top=999&`$select=$($selectlist -join ',')&`$filter=$GraphFilter&`$count=true" [PSCustomObject]@{ - Tenant = 'Loading data for all tenants. Please check back after the job completes' - QueueId = $Queue.RowKey + Message = 'This function has been deprecated for all users, please use ListGraphRequest instead' } } else { $Rows.Data | ConvertFrom-Json | Select-Object $selectlist | ForEach-Object { diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Reports/Invoke-ListBasicAuth.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Reports/Invoke-ListBasicAuth.ps1 index 9cdbce1b86c8..aacc1676381a 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Reports/Invoke-ListBasicAuth.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Reports/Invoke-ListBasicAuth.ps1 @@ -45,7 +45,22 @@ Function Invoke-ListBasicAuth { $Table = Get-CIPPTable -TableName cachebasicauth $Rows = Get-CIPPAzDataTableEntity @Table | Where-Object -Property Timestamp -GT (Get-Date).AddHours(-1) if (!$Rows) { - Push-OutputBinding -Name Msg -Value (Get-Date).ToString() + $TenantList = Get-Tenants -IncludeErrors + $Queue = New-CippQueueEntry -Name 'Basic Auth - All Tenants' -TotalTasks ($TenantList | Measure-Object).Count + $InputObject = [PSCustomObject]@{ + OrchestratorName = 'BasicAuthOrchestrator' + QueueFunction = @{ + FunctionName = 'GetTenants' + TenantParams = @{ + IncludeErrors = $true + } + QueueId = $Queue.RowKey + DurableFunction = 'ListBasicAuthAllTenants' + } + SkipLog = $true + } + Start-NewOrchestration -FunctionName 'CIPPOrchestrator' -InputObject ($InputObject | ConvertTo-Json -Depth 5 -Compress) + $GraphRequest = [PSCustomObject]@{ Tenant = 'Loading data for all tenants. Please check back in 10 minutes' } diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Reports/Invoke-ListBasicAuthAllTenants.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Reports/Invoke-ListBasicAuthAllTenants.ps1 deleted file mode 100644 index 26d93e02b387..000000000000 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Reports/Invoke-ListBasicAuthAllTenants.ps1 +++ /dev/null @@ -1,49 +0,0 @@ -using namespace System.Net - -Function Invoke-ListBasicAuthAllTenants { - <# - .FUNCTIONALITY - Entrypoint - .ROLE - Identity.AuditLog.Read - #> - [CmdletBinding()] - param($Request, $TriggerMetadata) - - - Get-Tenants | ForEach-Object -Parallel { - $domainName = $_.defaultDomainName - Import-Module '.\Modules\AzBobbyTables' - Import-Module '.\Modules\CIPPCore' - - $currentTime = Get-Date -Format 'yyyy-MM-ddTHH:MM:ss' - $ts = (Get-Date).AddDays(-30) - $endTime = $ts.ToString('yyyy-MM-ddTHH:MM:ss') - $filters = "createdDateTime ge $($endTime)Z and createdDateTime lt $($currentTime)Z and (clientAppUsed eq 'AutoDiscover' or clientAppUsed eq 'Exchange ActiveSync' or clientAppUsed eq 'Exchange Online PowerShell' or clientAppUsed eq 'Exchange Web Services' or clientAppUsed eq 'IMAP4' or clientAppUsed eq 'MAPI Over HTTP' or clientAppUsed eq 'Offline Address Book' or clientAppUsed eq 'Outlook Anywhere (RPC over HTTP)' or clientAppUsed eq 'Other clients' or clientAppUsed eq 'POP3' or clientAppUsed eq 'Reporting Web Services' or clientAppUsed eq 'Authenticated SMTP' or clientAppUsed eq 'Outlook Service')" - try { - $GraphRequest = New-GraphGetRequest -uri "https://graph.microsoft.com/beta/auditLogs/signIns?api-version=beta&filter=$($filters)" -tenantid $domainName -ErrorAction stop | Sort-Object -Unique -Property clientAppUsed | ForEach-Object { - @{ - Tenant = $domainName - clientAppUsed = $_.clientAppUsed - userPrincipalName = $_.UserPrincipalName - RowKey = "$($_.UserPrincipalName)-$($_.clientAppUsed)" - PartitionKey = 'basicauth' - } - } - } catch { - $GraphRequest = @{ - Tenant = $domainName - clientAppUsed = "Could not connect to Tenant: $($_.Exception.message)" - userPrincipalName = $domainName - RowKey = $domainName - PartitionKey = 'basicauth' - } - } - $Table = Get-CIPPTable -TableName cachebasicauth - Add-CIPPAzDataTableEntity @Table -Entity $GraphRequest -Force | Out-Null - - } - - - -} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Security/Invoke-ExecAlertsList.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Security/Invoke-ExecAlertsList.ps1 index f3580ec3fc19..2fad771b8707 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Security/Invoke-ExecAlertsList.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Security/Invoke-ExecAlertsList.ps1 @@ -60,9 +60,24 @@ Function Invoke-ExecAlertsList { $Filter = "PartitionKey eq 'alert'" $Rows = Get-CIPPAzDataTableEntity @Table -filter $Filter | Where-Object -Property Timestamp -GT (Get-Date).AddMinutes(-10) if (!$Rows) { - Push-OutputBinding -Name alertqueue -Value (Get-Date).ToString() + $TenantList = Get-Tenants -IncludeErrors + $Queue = New-CippQueueEntry -Name 'Alerts List - All Tenants' -TotalTasks ($TenantList | Measure-Object).Count + $InputObject = [PSCustomObject]@{ + OrchestratorName = 'AlertsList' + QueueFunction = [PSCustomObject]@{ + FunctionName = 'GetTenants' + QueueId = $Queue.RowKey + TenantParams = @{ + IncludeErrors = $true + } + DurableName = 'ExecAlertsListAllTenants' + } + SkipLog = $true + } | ConvertTo-Json -Depth 10 + $InstanceId = Start-NewOrchestration -FunctionName CIPPOrchestrator -InputObject $InputObject [PSCustomObject]@{ - Waiting = $true + Waiting = $true + InstanceId = $InstanceId } } else { $Alerts = $Rows diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Security/Invoke-ExecIncidentsList.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Security/Invoke-ExecIncidentsList.ps1 index 184f629f2b2c..29b622550ef2 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Security/Invoke-ExecIncidentsList.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Security/Invoke-ExecIncidentsList.ps1 @@ -41,7 +41,21 @@ Function Invoke-ExecIncidentsList { $Filter = "PartitionKey eq 'Incident'" $Rows = Get-CIPPAzDataTableEntity @Table -filter $Filter | Where-Object -Property Timestamp -GT (Get-Date).AddMinutes(-10) if (!$Rows) { - Push-OutputBinding -Name incidentqueue -Value (Get-Date).ToString() + $TenantList = Get-Tenants -IncludeErrors + $Queue = New-CippQueueEntry -Name 'Incidents - All Tenants' -Link '/security/reports/incident-report?customerId=AllTenants' -TotalTasks ($TenantList | Measure-Object).Count + $InputObject = [PSCustomObject]@{ + OrchestratorName = 'IncidentOrchestrator' + QueueFunction = @{ + FunctionName = 'GetTenants' + TenantParams = @{ + IncludeErrors = $true + } + QueueId = $Queue.RowKey + DurableFunction = 'ExecIncidentsListAllTenants' + } + SkipLog = $true + } + Start-NewOrchestration -FunctionName 'CIPPOrchestrator' -InputObject ($InputObject | ConvertTo-Json -Depth 5 -Compress) [PSCustomObject]@{ Waiting = $true } diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Teams-Sharepoint/Invoke-AddSite.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Teams-Sharepoint/Invoke-AddSite.ps1 new file mode 100644 index 000000000000..ab7474163cdc --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Teams-Sharepoint/Invoke-AddSite.ps1 @@ -0,0 +1,33 @@ +using namespace System.Net + +Function Invoke-AddSite { + <# + .FUNCTIONALITY + Entrypoint + .ROLE + Sharepoint.Site.ReadWrite + #> + [CmdletBinding()] + param($Request, $TriggerMetadata) + + $APIName = $TriggerMetadata.FunctionName + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + + $SharePointObj = $Request.body + + try { + $SharePointSite = New-CIPPSharepointSite -SiteName $SharePointObj.siteName -SiteDescription $SharePointObj.siteDescription -SiteOwner $SharePointObj.siteOwner.value -TemplateName $SharePointObj.templateName.value -SiteDesign $SharePointObj.siteDesign.value -SensitivityLabel $SharePointObj.sensitivityLabel -TenantFilter $SharePointObj.tenantFilter + $body = [pscustomobject]@{'Results' = $SharePointSite } + } catch { + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($userobj.tenantid) -message "Adding SharePoint Site failed. Error: $($_.Exception.Message)" -Sev 'Error' + $body = [pscustomobject]@{'Results' = "Failed. Error message: $($_.Exception.Message)" } + } + + + # Associate values to output bindings by calling 'Push-OutputBinding'. + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = $Body + }) + +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Teams-Sharepoint/Invoke-AddSiteBulk.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Teams-Sharepoint/Invoke-AddSiteBulk.ps1 new file mode 100644 index 000000000000..97f779f10c76 --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Teams-Sharepoint/Invoke-AddSiteBulk.ps1 @@ -0,0 +1,35 @@ +using namespace System.Net + +Function Invoke-AddSiteBulk { + <# + .FUNCTIONALITY + Entrypoint + .ROLE + Sharepoint.Site.ReadWrite + #> + [CmdletBinding()] + param($Request, $TriggerMetadata) + + $APIName = $TriggerMetadata.FunctionName + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + + + $Results = [System.Collections.ArrayList]@() + + foreach ($sharepointObj in $Request.body.BulkSite) { + try { + $SharePointSite = New-CIPPSharepointSite -SiteName $SharePointObj.siteName -SiteDescription $SharePointObj.siteDescription -SiteOwner $SharePointObj.siteOwner -TemplateName $SharePointObj.templateName -SiteDesign $SharePointObj.siteDesign -SensitivityLabel $SharePointObj.sensitivityLabel -TenantFilter $Request.body.TenantFilter + $Results.add($SharePointSite) + } catch { + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($userobj.tenantid) -message "Adding SharePoint Site failed. Error: $($_.Exception.Message)" -Sev 'Error' + $Results.add("Failed to create $($sharepointObj.siteName) Error message: $($_.Exception.Message)") + } + } + $Body = [pscustomobject]@{'Results' = $Results } + # Associate values to output bindings by calling 'Push-OutputBinding'. + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = $Body + }) + +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Teams-Sharepoint/Invoke-ExecRemoveTeamsVoicePhoneNumberAssignment.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Teams-Sharepoint/Invoke-ExecRemoveTeamsVoicePhoneNumberAssignment.ps1 new file mode 100644 index 000000000000..55619f07deb5 --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Teams-Sharepoint/Invoke-ExecRemoveTeamsVoicePhoneNumberAssignment.ps1 @@ -0,0 +1,31 @@ +using namespace System.Net + +Function Invoke-ExecRemoveTeamsVoicePhoneNumberAssignment { + <# + .FUNCTIONALITY + Entrypoint + .ROLE + Teams.Voice.ReadWrite + #> + [CmdletBinding()] + param($Request, $TriggerMetadata) + + $APIName = $TriggerMetadata.FunctionName + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + + $tenantFilter = $Request.Body.TenantFilter + try { + $null = New-TeamsRequest -TenantFilter $TenantFilter -Cmdlet 'Remove-CsPhoneNumberAssignment' -CmdParams @{Identity = $Request.Body.AssignedTo; PhoneNumber = $Request.Body.PhoneNumber; PhoneNumberType = $Request.Body.PhoneNumberType; ErrorAction = 'stop'} + $Results = [pscustomobject]@{'Results' = "Successfully unassigned $($Request.Body.PhoneNumber) from $($Request.Body.AssignedTo)"} + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($TenantFilter) -message $($Results.Results) -Sev 'Info' + } catch { + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + $Results = [pscustomobject]@{'Results' = $ErrorMessage} + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($TenantFilter) -message $($Results.Results) -Sev 'Error' + } + # Associate values to output bindings by calling 'Push-OutputBinding'. + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = $Results + }) +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Teams-Sharepoint/Invoke-ExecSetSharePointMember.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Teams-Sharepoint/Invoke-ExecSetSharePointMember.ps1 index c52f4c1b1409..9c59f13662c3 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Teams-Sharepoint/Invoke-ExecSetSharePointMember.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Teams-Sharepoint/Invoke-ExecSetSharePointMember.ps1 @@ -9,8 +9,9 @@ Function Invoke-ExecSetSharePointMember { #> [CmdletBinding()] param($Request, $TriggerMetadata) - $GroupId = (New-GraphGetRequest -uri "https://graph.microsoft.com/beta/groups?`$filter=mail eq '$($Request.Body.GroupID)'" -tenantid $Request.Body.TenantFilter).id + if ($Request.body.SharePointType -eq 'Group') { + $GroupId = (New-GraphGetRequest -uri "https://graph.microsoft.com/beta/groups?`$filter=mail eq '$($Request.Body.GroupID)'" -tenantid $Request.Body.TenantFilter).id if ($Request.body.Add -eq $true) { $Results = Add-CIPPGroupMember -GroupType 'Team' -GroupID $GroupID -Member $Request.Body.input -TenantFilter $Request.Body.TenantFilter -ExecutingUser $request.headers.'x-ms-client-principal' } else { diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Teams-Sharepoint/Invoke-ExecTeamsVoicePhoneNumberAssignment.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Teams-Sharepoint/Invoke-ExecTeamsVoicePhoneNumberAssignment.ps1 new file mode 100644 index 000000000000..fa04ac2c41d8 --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Teams-Sharepoint/Invoke-ExecTeamsVoicePhoneNumberAssignment.ps1 @@ -0,0 +1,36 @@ +using namespace System.Net + +Function Invoke-ExecTeamsVoicePhoneNumberAssignment { + <# + .FUNCTIONALITY + Entrypoint + .ROLE + Teams.Voice.ReadWrite + #> + [CmdletBinding()] + param($Request, $TriggerMetadata) + + $APIName = $TriggerMetadata.FunctionName + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + + $tenantFilter = $Request.Body.TenantFilter + try { + if ($Request.Body.locationOnly) { + $null = New-TeamsRequest -TenantFilter $TenantFilter -Cmdlet 'Set-CsPhoneNumberAssignment' -CmdParams @{LocationId = $Request.Body.input; PhoneNumber = $Request.Body.PhoneNumber; ErrorAction = 'stop'} + $Results = [pscustomobject]@{'Results' = "Successfully assigned emergency location to $($Request.Body.PhoneNumber)"} + } else { + $null = New-TeamsRequest -TenantFilter $TenantFilter -Cmdlet 'Set-CsPhoneNumberAssignment' -CmdParams @{Identity = $Request.Body.input; PhoneNumber = $Request.Body.PhoneNumber; PhoneNumberType = $Request.Body.PhoneNumberType; ErrorAction = 'stop'} + $Results = [pscustomobject]@{'Results' = "Successfully assigned $($Request.Body.PhoneNumber) to $($Request.Body.input)"} + } + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($TenantFilter) -message $($Results.Results) -Sev 'Info' + } catch { + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + $Results = [pscustomobject]@{'Results' = $ErrorMessage} + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($TenantFilter) -message $($Results.Results) -Sev 'Error' + } + # Associate values to output bindings by calling 'Push-OutputBinding'. + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = $Results + }) +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Teams-Sharepoint/Invoke-ListSharepointAdminUrl.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Teams-Sharepoint/Invoke-ListSharepointAdminUrl.ps1 new file mode 100644 index 000000000000..ef0e1e5c690e --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Teams-Sharepoint/Invoke-ListSharepointAdminUrl.ps1 @@ -0,0 +1,50 @@ +function Invoke-ListSharepointAdminUrl { + <# + .FUNCTIONALITY + Entrypoint + .ROLE + CIPP.Core.Read + #> + [CmdletBinding()] + param( + $Request, + $TriggerMetadata + ) + + if ($Request.Query.TenantFilter) { + $TenantFilter = $Request.Query.TenantFilter + + $Tenant = Get-Tenants -TenantFilter $TenantFilter + + if ($Tenant.SharepointAdminUrl) { + $AdminUrl = $Tenant.SharepointAdminUrl + } else { + $tenantName = (New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/sites/root' -asApp $true -tenantid $TenantFilter).id.Split('.')[0] + $AdminUrl = "https://$($tenantName)-admin.sharepoint.com" + $Tenant | Add-Member -MemberType NoteProperty -Name SharepointAdminUrl -Value $AdminUrl + $Table = Get-CIPPTable -TableName 'Tenants' + Add-CIPPAzDataTableEntity @Table -Entity $Tenant -Force + } + + if ($Request.Query.ReturnUrl) { + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = @{ + AdminUrl = $AdminUrl + } + }) + } else { + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::Found + Headers = @{ + Location = $AdminUrl + } + }) + } + } else { + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::BadRequest + Body = 'TenantFilter is required' + }) + } +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Teams-Sharepoint/Invoke-ListTeamsLisLocation.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Teams-Sharepoint/Invoke-ListTeamsLisLocation.ps1 new file mode 100644 index 000000000000..198f83c4680a --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Teams-Sharepoint/Invoke-ListTeamsLisLocation.ps1 @@ -0,0 +1,31 @@ +using namespace System.Net + +Function Invoke-ListTeamsLisLocation { + <# + .FUNCTIONALITY + Entrypoint + .ROLE + Teams.Voice.Read + #> + [CmdletBinding()] + param($Request, $TriggerMetadata) + + $APIName = $TriggerMetadata.FunctionName + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + + $TenantFilter = $Request.Query.TenantFilter + try { + $EmergencyLocations = New-TeamsRequest -TenantFilter $TenantFilter -Cmdlet 'Get-CsOnlineLisLocation' + $StatusCode = [HttpStatusCode]::OK + } catch { + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + $StatusCode = [HttpStatusCode]::Forbidden + $EmergencyLocations = $ErrorMessage + } + # Associate values to output bindings by calling 'Push-OutputBinding'. + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = $StatusCode + Body = @($EmergencyLocations) + }) + +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Teams-Sharepoint/Invoke-ListTeamsVoice.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Teams-Sharepoint/Invoke-ListTeamsVoice.ps1 index ec33ee67e86e..2459ff22f13c 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Teams-Sharepoint/Invoke-ListTeamsVoice.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Teams-Sharepoint/Invoke-ListTeamsVoice.ps1 @@ -22,18 +22,21 @@ Function Invoke-ListTeamsVoice { $tenantid = (Get-Tenants | Where-Object -Property defaultDomainName -EQ $Request.Query.TenantFilter).customerId try { $users = (New-GraphGetRequest -uri "https://graph.microsoft.com/beta/users?`$top=999&`$select=id,userPrincipalName,displayname" -tenantid $TenantFilter) - $GraphRequest = (New-TeamsAPIGetRequest -uri "https://api.interfaces.records.teams.microsoft.com/Skype.TelephoneNumberMgmt/Tenants/$($Tenantid)/telephone-numbers?locale=en-US" -tenantid $TenantFilter).TelephoneNumbers | ForEach-Object { - $CompleteRequest = $_ | Select-Object *, 'AssignedTo' - $CompleteRequest.AcquisitionDate = $CompleteRequest.AcquisitionDate -split 'T' | Select-Object -First 1 - - if ($CompleteRequest.TargetId -eq '00000000-0000-0000-0000-000000000000') { - $CompleteRequest.AssignedTo = 'Unassigned' - } else { - $CompleteRequest.AssignedTo = ($users | Where-Object -Property Id -EQ $CompleteRequest.TargetId).userPrincipalName - + $skip = 0 + $GraphRequest = do { + $data = (New-TeamsAPIGetRequest -uri "https://api.interfaces.records.teams.microsoft.com/Skype.TelephoneNumberMgmt/Tenants/$($Tenantid)/telephone-numbers?skip=$($skip)&locale=en-US&top=999" -tenantid $TenantFilter).TelephoneNumbers | ForEach-Object { + $CompleteRequest = $_ | Select-Object *, 'AssignedTo' + $CompleteRequest.AcquisitionDate = $CompleteRequest.AcquisitionDate -split 'T' | Select-Object -First 1 + if ($CompleteRequest.TargetId -eq '00000000-0000-0000-0000-000000000000') { + $CompleteRequest.AssignedTo = 'Unassigned' + } else { + $CompleteRequest.AssignedTo = ($users | Where-Object -Property Id -EQ $CompleteRequest.TargetId).userPrincipalName + } + $CompleteRequest } - $CompleteRequest - } + $skip = $skip + 999 + $Data + } while ( $Data.count % 999 -eq 0 ) $StatusCode = [HttpStatusCode]::OK } catch { $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Administration/Alerts/Invoke-ExecAuditLogSearch.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Administration/Alerts/Invoke-ExecAuditLogSearch.ps1 new file mode 100644 index 000000000000..ee418b6b145b --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Administration/Alerts/Invoke-ExecAuditLogSearch.ps1 @@ -0,0 +1,54 @@ +function Invoke-ExecAuditLogSearch { + <# + .FUNCTIONALITY + Entrypoint + .ROLE + Tenant.Alert.ReadWrite + #> + [CmdletBinding()] + param($Request, $TriggerMetadata) + + $Query = $Request.Body + if (!$Query.TenantFilter) { + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::BadRequest + Body = 'TenantFilter is required' + }) + return + } + if (!$Query.StartTime -or !$Query.EndTime) { + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::BadRequest + Body = 'StartTime and EndTime are required' + }) + return + } + + $Command = Get-Command New-CippAuditLogSearch + $AvailableParameters = $Command.Parameters.Keys + $BadProps = foreach ($Prop in $Query.PSObject.Properties.Name) { + if ($AvailableParameters -notcontains $Prop) { + $Prop + } + } + if ($BadProps) { + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::BadRequest + Body = "Invalid parameters: $($BadProps -join ', ')" + }) + return + } + + try { + $Results = New-CippAuditLogSearch @Query + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = $Results + }) + } catch { + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::BadRequest + Body = $_.Exception.Message + }) + } +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Administration/Alerts/Invoke-ListAuditLogSearches.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Administration/Alerts/Invoke-ListAuditLogSearches.ps1 new file mode 100644 index 000000000000..561384504174 --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Administration/Alerts/Invoke-ListAuditLogSearches.ps1 @@ -0,0 +1,81 @@ +function Invoke-ListAuditLogSearches { + <# + .FUNCTIONALITY + Entrypoint + .ROLE + Tenant.Alert.Read + #> + Param($Request, $TriggerMetadata) + + if ($Request.Query.TenantFilter) { + switch ($Request.Query.Type) { + 'Searches' { + $Results = Get-CippAuditLogSearches -TenantFilter $Request.Query.TenantFilter + $Body = @{ + Results = @($Results) + Metadata = @{ + TenantFilter = $Request.Query.TenantFilter + TotalSearches = $Results.Count + } + } | ConvertTo-Json -Depth 10 -Compress + } + 'SearchResults' { + try { + $Results = Get-CippAuditLogSearchResults -TenantFilter $Request.Query.TenantFilter -QueryId $Request.Query.SearchId + } catch { + $Results = @{ Error = $_.Exception.Message } + } + $Body = @{ + Results = @($Results) + Metadata = @{ + SearchId = $Request.Query.SearchId + TenantFilter = $Request.Query.TenantFilter + TotalResults = $Results.Count + } + } | ConvertTo-Json -Depth 10 -Compress + } + default { + if ($Request.Query.Days) { + $Days = $Request.Query.Days + } else { + $Days = 1 + } + $StartTime = (Get-Date).AddDays(-$Days).ToUniversalTime().ToString('yyyy-MM-ddTHH:mm:ssZ') + + $Table = Get-CIPPTable -TableName 'AuditLogSearches' + $Results = Get-CIPPAzDataTableEntity @Table -Filter "StartTime ge datetime'$StartTime'" | ForEach-Object { + $Query = try { $_.Query | ConvertFrom-Json } catch { $_.Query } + $MatchedRules = try { $_.MatchedRules | ConvertFrom-Json } catch { $_.MatchedRules } + [PSCustomObject]@{ + SearchId = $_.RowKey + StartTime = $_.StartTime.DateTime + EndTime = $_.EndTime.DateTime + Query = $Query + MatchedRules = $MatchedRules + TotalLogs = $_.TotalLogs + MatchedLogs = $_.MatchedLogs + CippStatus = $_.CippStatus + } + } + + $Body = @{ + Results = @($Results) + Metadata = @{ + StartTime = $StartTime + TenantFilter = $Request.Query.TenantFilter + } + } | ConvertTo-Json -Depth 10 -Compress + } + } + + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = $Body + }) + } else { + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::BadRequest + Body = 'TenantFilter is required' + }) + } +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Administration/Alerts/Invoke-ListAuditLogTest.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Administration/Alerts/Invoke-ListAuditLogTest.ps1 index 34576f5b5811..bc3a73fbe686 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Administration/Alerts/Invoke-ListAuditLogTest.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Administration/Alerts/Invoke-ListAuditLogTest.ps1 @@ -10,8 +10,7 @@ function Invoke-ListAuditLogTest { $AuditLogQuery = @{ TenantFilter = $Request.Query.TenantFilter - LogType = $Request.Query.LogType - ShowAll = $true + SearchId = $Request.Query.SearchId } try { $TestResults = Test-CIPPAuditLogRules @AuditLogQuery @@ -38,4 +37,4 @@ function Invoke-ListAuditLogTest { Body = $Body }) -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Administration/Alerts/Invoke-ListAuditLogs.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Administration/Alerts/Invoke-ListAuditLogs.ps1 new file mode 100644 index 000000000000..2582bc961e74 --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Administration/Alerts/Invoke-ListAuditLogs.ps1 @@ -0,0 +1,84 @@ +function Invoke-ListAuditLogs { + <# + .FUNCTIONALITY + Entrypoint + .ROLE + CIPP.Alert.Read + #> + [CmdletBinding()] + param($Request, $TriggerMetadata) + + $APIName = 'ListAuditLogs' + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + + $TenantFilter = $Request.Query.TenantFilter + $FilterConditions = [System.Collections.Generic.List[string]]::new() + + if ($Request.Query.LogId) { + $FilterConditions.Add("RowKey eq '$($Request.Query.LogId)'") + } else { + if ($TenantFilter -and $TenantFilter -ne 'AllTenants') { + $FilterConditions.Add("Tenant eq '$TenantFilter'") + } + + if (!$Request.Query.StartDate -and !$Request.Query.EndDate -and !$Request.Query.RelativeTime) { + $Request.Query.StartDate = (Get-Date).AddDays(-1).ToUniversalTime().ToString('yyyy-MM-ddTHH:mm:ssZ') + $Request.Query.EndDate = (Get-Date).ToUniversalTime().ToString('yyyy-MM-ddTHH:mm:ssZ') + } + + if ($Request.Query.RelativeTime) { + $RelativeTime = $Request.Query.RelativeTime + + if ($RelativeTime -match '(\d+)([dhm])') { + $EndDate = (Get-Date).ToUniversalTime().ToString('yyyy-MM-ddTHH:mm:ssZ') + $Interval = [Int32]$Matches[1] + switch ($Matches[2]) { + 'd' { $StartDate = (Get-Date).AddDays(-$Interval).ToUniversalTime().ToString('yyyy-MM-ddTHH:mm:ssZ') } + 'h' { $StartDate = (Get-Date).AddHours(-$Interval).ToUniversalTime().ToString('yyyy-MM-ddTHH:mm:ssZ') } + 'm' { $StartDate = (Get-Date).AddMinutes(-$Interval).ToUniversalTime().ToString('yyyy-MM-ddTHH:mm:ssZ') } + } + } + $FilterConditions.Add("Timestamp ge datetime'$StartDate' and Timestamp le datetime'$EndDate'") + } else { + if ($Request.Query.StartDate) { + if ($Request.Query.StartDate -match '^\d+$') { + $Request.Query.StartDate = [DateTimeOffset]::FromUnixTimeSeconds($Request.Query.StartDate).DateTime.ToUniversalTime().ToString('yyyy-MM-ddTHH:mm:ssZ') + } else { + $StartDate = (Get-Date $Request.Query.StartDate).ToString('yyyy-MM-ddTHH:mm:ssZ') + } + $FilterConditions.Add("Timestamp ge datetime'$StartDate'") + + if ($Request.Query.EndDate) { + if ($Request.Query.EndDate -match '^\d+$') { + $Request.Query.EndDate = [DateTimeOffset]::FromUnixTimeSeconds($Request.Query.EndDate).DateTime.ToUniversalTime().ToString('yyyy-MM-ddTHH:mm:ssZ') + } else { + $EndDate = (Get-Date $Request.Query.EndDate).ToString('yyyy-MM-ddTHH:mm:ssZ') + } + $FilterConditions.Add("Timestamp le datetime'$EndDate'") + } + } + } + } + + $Table = Get-CIPPTable -TableName 'AuditLogs' + if ($FilterConditions) { + $Table.Filter = $FilterConditions -join ' and ' + } + $AuditLogs = Get-CIPPAzDataTableEntity @Table | ForEach-Object { + $_.Data = try { $_.Data | ConvertFrom-Json } catch { $_.AuditData } + $_ + } + + $Body = @{ + Results = @($AuditLogs) + Metadata = @{ + Count = $AuditLogs.Count + Filter = $Table.Filter ?? '' + } + } + + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = $Body + }) +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Administration/Application Approval/Invoke-ExecAddMultiTenantApp.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Administration/Application Approval/Invoke-ExecAddMultiTenantApp.ps1 index 4cb38d9f9dc8..dd03e24f8b3d 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Administration/Application Approval/Invoke-ExecAddMultiTenantApp.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Administration/Application Approval/Invoke-ExecAddMultiTenantApp.ps1 @@ -17,26 +17,34 @@ function Invoke-ExecAddMultiTenantApp { $ApplicationResourceAccess = @{ ResourceAppId = '00000003-0000-0000-c000-000000000000'; resourceAccess = $ApplicationResources } $Results = try { - if ($request.body.CopyPermissions -eq $true) { + if ($Request.Body.CopyPermissions -eq $true) { $Command = 'ExecApplicationCopy' } else { $Command = 'ExecAddMultiTenantApp' } - if ('allTenants' -in $Request.body.SelectedTenants.defaultDomainName) { + if ('allTenants' -in $Request.Body.SelectedTenants.defaultDomainName) { $TenantFilter = (Get-Tenants).defaultDomainName } else { - $TenantFilter = $Request.body.SelectedTenants.defaultDomainName + $TenantFilter = $Request.Body.SelectedTenants.defaultDomainName } + $TenantCount = ($TenantFilter | Measure-Object).Count + $Queue = New-CippQueueEntry -Name 'Application Approval' -TotalTasks $TenantCount foreach ($Tenant in $TenantFilter) { try { - Push-OutputBinding -Name QueueItem -Value ([pscustomobject]@{ - FunctionName = $Command - Tenant = $tenant - appId = $Request.body.appid - applicationResourceAccess = $ApplicationResourceAccess - delegateResourceAccess = $DelegateResourceAccess - }) + $InputObject = @{ + OrchestratorName = 'ExecMultiTenantAppOrchestrator' + Batch = @([pscustomobject]@{ + FunctionName = $Command + Tenant = $tenant + AppId = $Request.Body.AppId + applicationResourceAccess = $ApplicationResourceAccess + delegateResourceAccess = $DelegateResourceAccess + QueueId = $Queue.RowKey + }) + SkipLog = $true + } + $null = Start-NewOrchestration -FunctionName 'CIPPOrchestrator' -InputObject ($InputObject | ConvertTo-Json -Depth 5 -Compress) "Queued application to tenant $Tenant. See the logbook for deployment details" } catch { "Error queuing application to tenant $Tenant - $($_.Exception.Message)" diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Administration/Application Approval/Invoke-ExecAppPermissionTemplate.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Administration/Application Approval/Invoke-ExecAppPermissionTemplate.ps1 new file mode 100644 index 000000000000..a095252512f4 --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Administration/Application Approval/Invoke-ExecAppPermissionTemplate.ps1 @@ -0,0 +1,56 @@ +function Invoke-ExecAppPermissionTemplate { + <# + .FUNCTIONALITY + Entrypoint + .ROLE + Tenant.Application.ReadWrite + #> + [CmdletBinding()] + param($Request, $TriggerMetadata) + + $Table = Get-CIPPTable -TableName 'AppPermissions' + + $User = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($Request.Headers.'x-ms-client-principal')) | ConvertFrom-Json + + switch ($Request.Query.Action) { + 'Save' { + try { + $Permissions = $Request.Body.Permissions + $Entity = @{ + 'PartitionKey' = 'Templates' + 'RowKey' = [string]($Request.Body.TemplateId ?? [guid]::NewGuid().ToString()) + 'TemplateName' = [string]$Request.Body.TemplateName + 'Permissions' = [string]($Permissions | ConvertTo-Json -Depth 10 -Compress) + 'UpdatedBy' = $User.UserDetails ?? 'CIPP-API' + } + $null = Add-CIPPAzDataTableEntity @Table -Entity $Entity -Force + $Body = @{ + 'Results' = 'Template Saved' + 'TemplateId' = $Entity.RowKey + } + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API 'ExecAppPermissionTemplate' -message "Permissions Saved for template: $($Request.Body.TemplateName)" -Sev 'Info' -LogData $Permissions + } catch { + $Body = @{ + 'Results' = $_.Exception.Message + } + } + } + default { + $Body = Get-CIPPAzDataTableEntity @Table -Filter "PartitionKey eq 'Templates'" | ForEach-Object { + [PSCustomObject]@{ + TemplateId = $_.RowKey + TemplateName = $_.TemplateName + Permissions = $_.Permissions | ConvertFrom-Json + UpdatedBy = $_.UpdatedBy + Timestamp = $_.Timestamp.DateTime.ToString('yyyy-MM-ddTHH:mm:ssZ') + } + } + } + } + + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = ConvertTo-Json -Depth 10 -InputObject @($Body) + }) + +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Administration/Invoke-ExecOffboardTenant.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Administration/Invoke-ExecOffboardTenant.ps1 index 230816f2f58f..4a5cdd8708bc 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Administration/Invoke-ExecOffboardTenant.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Administration/Invoke-ExecOffboardTenant.ps1 @@ -114,7 +114,7 @@ Function Invoke-ExecOffboardTenant { # Remove multi-tenant apps with the CSP tenant as origin try { $multitenantCSPApps = (New-GraphGETRequest -Uri "https://graph.microsoft.com/v1.0/servicePrincipals?`$count=true&`$select=displayName,appId,id,appOwnerOrganizationId&`$filter=appOwnerOrganizationId eq $($env:TenantID)" -tenantid $Tenantfilter -ComplexFilter) - $sortedArray = $multitenantCSPApps | Sort-Object @{Expression = { if ($_.appId -eq $env:applicationid) { 1 } else { 0 } }; Ascending = $true } + $sortedArray = $multitenantCSPApps | Sort-Object @{Expression = { if ($_.appId -eq $ENV:ApplicationID) { 1 } else { 0 } }; Ascending = $true } $sortedArray | ForEach-Object { try { $delete = (New-GraphPostRequest -type 'DELETE' -Uri "https://graph.microsoft.com/v1.0/serviceprincipals/$($_.id)" -tenantid $Tenantfilter) diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Administration/Invoke-ExecUpdateSecureScore.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Administration/Invoke-ExecUpdateSecureScore.ps1 index 237b5f3415e5..502a9e6f4896 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Administration/Invoke-ExecUpdateSecureScore.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Administration/Invoke-ExecUpdateSecureScore.ps1 @@ -21,9 +21,9 @@ Function Invoke-ExecUpdateSecureScore { } try { $GraphRequest = New-GraphPostRequest -uri "https://graph.microsoft.com/beta/security/secureScoreControlProfiles/$($Request.body.ControlName)" -tenantid $Request.body.TenantFilter -type PATCH -Body $($Body | ConvertTo-Json -Compress) - $Results = [pscustomobject]@{'Results' = "Successfully set control to $($body.state) " } + $Results = [pscustomobject]@{'Results' = "Successfully set control to $($Body.state) " } } catch { - $Results = [pscustomobject]@{'Results' = "Failed to set Control to $($body.state) $($_.Exception.Message)" } + $Results = [pscustomobject]@{'Results' = "Failed to set Control to $($Body.state) $($_.Exception.Message)" } } # Associate values to output bindings by calling 'Push-OutputBinding'. diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Conditional/Invoke-EditCAPolicy.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Conditional/Invoke-EditCAPolicy.ps1 index e3baf6e4a607..cca477e4a3ce 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Conditional/Invoke-EditCAPolicy.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Conditional/Invoke-EditCAPolicy.ps1 @@ -17,11 +17,10 @@ Function Invoke-EditCAPolicy { $ID = $request.query.guid $results = try { $EditBody = "{`"state`": `"$($request.query.state)`"}" - $Request = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta//identity/conditionalAccess/policies/$($id)" -tenantid $tenant -type PATCH -body $EditBody + $Request = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta//identity/conditionalAccess/policies/$($id)" -tenantid $tenant -type PATCH -body $EditBody -asapp $true Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($Tenant) -message "Edited CA policy: $($ID)" -Sev 'Info' "Successfully edited CA policy: $($ID)" - } - catch { + } catch { "Failed to add CA policy: $($_.Exception.Message)" Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($Tenant) -message "Failed editing CA policy $($ID). Error: $($_.Exception.Message)" -Sev 'Error' continue diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Conditional/Invoke-ExecCAExclusion.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Conditional/Invoke-ExecCAExclusion.ps1 index 86d06bf95796..0ee8ffc437db 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Conditional/Invoke-ExecCAExclusion.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Conditional/Invoke-ExecCAExclusion.ps1 @@ -18,14 +18,14 @@ Function Invoke-ExecCAExclusion { } if ($Request.body.vacation -eq 'true') { $StartDate = $Request.body.StartDate - $TaskBody = @{ + $TaskBody = [pscustomobject]@{ TenantFilter = $Request.body.TenantFilter Name = "Add CA Exclusion Vacation Mode: $Username - $($Request.body.TenantFilter)" Command = @{ value = 'Set-CIPPCAExclusion' label = 'Set-CIPPCAExclusion' } - Parameters = @{ + Parameters = [pscustomobject]@{ ExclusionType = 'Add' UserID = $Request.body.UserID PolicyId = $Request.body.PolicyId diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Conditional/Invoke-ExecNamedLocation.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Conditional/Invoke-ExecNamedLocation.ps1 new file mode 100644 index 000000000000..e1961e25313e --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Conditional/Invoke-ExecNamedLocation.ps1 @@ -0,0 +1,42 @@ +using namespace System.Net + +Function Invoke-ExecNamedLocation { + <# + .FUNCTIONALITY + Entrypoint + .ROLE + Tenant.ConditionalAccess.ReadWrite + #> + [CmdletBinding()] + param($Request, $TriggerMetadata) + + $APIName = $TriggerMetadata.FunctionName + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + + + # Write to the Azure Functions log stream. + Write-Host 'PowerShell HTTP trigger function processed a request.' + + $TenantFilter = $Request.Body.TenantFilter + $NamedLocationId = $Request.Body.NamedLocationId + $change = $Request.Body.change + $content = $Request.Body.input + + try { + $results = Set-CIPPNamedLocation -NamedLocationId $NamedLocationId -TenantFilter $TenantFilter -change $change -content $content -ExecutingUser $request.headers.'x-ms-client-principal' + } catch { + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APIName -message "Failed to edit named location: $($ErrorMessage.NormalizedError)" -Sev 'Error' -tenant $TenantFilter -LogData $ErrorMessage + $results = "Failed to edit named location. Error: $($ErrorMessage.NormalizedError)" + } + + + $body = [pscustomobject]@{'Results' = @($results) } + + # Associate values to output bindings by calling 'Push-OutputBinding'. + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = $body + }) + +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Conditional/Invoke-ListConditionalAccessPolicies.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Conditional/Invoke-ListConditionalAccessPolicies.ps1 index 39dd529a4ceb..9bf0ae558577 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Conditional/Invoke-ListConditionalAccessPolicies.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Conditional/Invoke-ListConditionalAccessPolicies.ps1 @@ -90,284 +90,14 @@ Function Invoke-ListConditionalAccessPolicies { param ( [Parameter()] $ID, - $Applications + $Applications, + $ServicePrincipals ) if ($id -eq 'All') { return 'All' } - switch ($id) { - 00000004-0000-0ff1-ce00-000000000000 { $return = 'Microsoft.Lync' } - 00000006-0000-0ff1-ce00-000000000000 { $return = 'Microsoft.Office365Portal' } - 00000003-0000-0ff1-ce00-000000000000 { $return = 'Microsoft.SharePoint ' } - 00000005-0000-0000-c000-000000000000 { $return = 'Microsoft.Azure.Workflow' } - 00000009-0000-0000-c000-000000000000 { $return = 'Microsoft.Azure.AnalysisServices' } - 00000002-0000-0ff1-ce00-000000000000 { $return = 'Microsoft.Exchange' } - 00000007-0000-0ff1-ce00-000000000000 { $return = 'Microsoft.ExchangeOnlineProtection' } - 00000002-0000-0000-c000-000000000000 { $return = 'Microsoft.Azure.ActiveDirectory' } - 8fca0a66-c008-4564-a876-ab3ae0fd5cff { $return = 'Microsoft.SMIT' } - 0000000b-0000-0000-c000-000000000000 { $return = 'Microsoft.SellerDashboard' } - 0000000f-0000-0000-c000-000000000000 { $return = 'Microsoft.Azure.GraphExplorer' } - 0000000c-0000-0000-c000-000000000000 { $return = 'Microsoft App Access Panel' } - 00000013-0000-0000-c000-000000000000 { $return = 'Microsoft.Azure.Portal' } - 00000010-0000-0000-c000-000000000000 { $return = 'Microsoft.Azure.GraphStore' } - 93ee9413-cf4c-4d4e-814b-a91ff20a01bd { $return = 'Workflow' } - aa9ecb1e-fd53-4aaa-a8fe-7a54de2c1334 { $return = 'Microsoft.Office365.Configure' } - 797f4846-ba00-4fd7-ba43-dac1f8f63013 { $return = 'Windows Azure Service Management API' } - 00000005-0000-0ff1-ce00-000000000000 { $return = 'Microsoft.YammerEnterprise' } - 601d4e27-7bb3-4dee-8199-90d47d527e1c { $return = 'Microsoft.Office365.ChangeManagement' } - 6f82282e-0070-4e78-bc23-e6320c5fa7de { $return = 'Microsoft.DiscoveryService' } - 0f698dd4-f011-4d23-a33e-b36416dcb1e6 { $return = 'Microsoft.OfficeClientService' } - 67e3df25-268a-4324-a550-0de1c7f97287 { $return = 'Microsoft.OfficeWebAppsService' } - ab27a73e-a3ba-4e43-8360-8bcc717114d8 { $return = 'Microsoft.OfficeModernCalendar' } - aedca418-a84d-430d-ab84-0b1ef06f318f { $return = 'Workflow' } - 595d87a1-277b-4c0a-aa7f-44f8a068eafc { $return = 'Microsoft.SupportTicketSubmission' } - e3583ad2-c781-4224-9b91-ad15a8179ba0 { $return = 'Microsoft.ExtensibleRealUserMonitoring' } - b645896d-566e-447e-8f7f-e2e663b5d182 { $return = 'OpsDashSharePointApp' } - 48229a4a-9f1d-413a-8b96-4c02462c0360 { $return = 'OpsDashSharePointApp' } - 48717084-a59c-4306-9dc4-3f618dbecdf9 { $return = '"Napa" Office 365 Development Tools' } - c859ff33-eb41-4ba6-8093-a2c5153bbd7c { $return = 'Workflow' } - 67cad61c-3411-48d7-ab73-561c64f11ed6 { $return = 'Workflow' } - 914ed757-9257-4200-b68e-a2bed2f12c5a { $return = 'RbacBackfill' } - 499b84ac-1321-427f-aa17-267ca6975798 { $return = 'Microsoft.VisualStudio.Online' } - b2590339-0887-4e94-93aa-13357eb510d7 { $return = 'Workflow' } - 0000001b-0000-0000-c000-000000000000 { $return = 'Microsoft Power BI Information Service' } - 89f80565-bfac-4c01-9535-9f0eba332ffe { $return = 'Power BI' } - 433895fb-4ec7-45c3-a53c-c44d10f80d5b { $return = 'Compromised Account Service' } - d7c17728-4f1e-4a1e-86cf-7e0adf3fe903 { $return = 'Workflow' } - 17ef6d31-381f-4783-b186-7b440a3c85c1 { $return = 'Workflow' } - 00000012-0000-0000-c000-000000000000 { $return = 'Microsoft.Azure.RMS' } - 81ce94d4-9422-4c0d-a4b9-3250659366ce { $return = 'Workflow' } - 8d3a7d3c-c034-4f19-a2ef-8412952a9671 { $return = 'MicrosoftOffice' } - 0469d4cd-df37-4d93-8a61-f8c75b809164 { $return = 'Microsoft Policy Administration Service' } - 31d3f3f5-7267-45a8-9549-affb00110054 { $return = 'Windows Azure RemoteApp Service' } - 4e004241-32db-46c2-a86f-aaaba29bea9c { $return = 'Workflow' } - 748d098e-7a3b-436d-8b0a-006a58b29647 { $return = 'Workflow' } - dbf08535-1d3b-4f89-bf54-1d48dd613a61 { $return = 'Workflow' } - ed9fe1ef-25a4-482f-9981-2b60f91e2448 { $return = 'Workflow' } - 8ad28d50-ee26-42fc-8a29-e41ea38461f2 { $return = 'Office365RESTAPIExplorer.Office365App' } - 38285dce-a13d-4107-9b04-3016b941bb3a { $return = 'BasicDataOperationsREST' } - 92bb96c8-321c-47f9-bcc5-8849490c2b07 { $return = 'BasicSelfHostedAppREST' } - 488a57a0-00e2-4817-8c8d-cf8a15a994d2 { $return = 'WindowsFormsApplication2.Office365App' } - 11c174dc-1945-4a9a-a36b-c79a0f246b9b { $return = 'AzureApplicationInsights' } - e6acb561-0d94-4287-bd3a-3169f421b112 { $return = 'Tutum' } - 7b77b3a2-8490-49e1-8842-207cd0899af9 { $return = 'Nearpod' } - 0000000a-0000-0000-c000-000000000000 { $return = 'Microsoft.Intune' } - 93625bc8-bfe2-437a-97e0-3d0060024faa { $return = 'SelfServicePasswordReset' } - dee7ba80-6a55-4f3b-a86c-746a9231ae49 { $return = 'MicrosoftAppPlatEMA' } - 803ee9ca-3f7f-4824-bd6e-0b99d720c35c { $return = 'Azure Media Service' } - 2d4d3d8e-2be3-4bef-9f87-7875a61c29de { $return = 'OneNote' } - 8d40666e-5abf-45f6-a5e7-b7192d6d56ed { $return = 'Workflow' } - 262044b1-e2ce-469f-a196-69ab7ada62d3 { $return = 'Backup Management Service' } - 087a2c70-c89e-463f-8dd3-e3959eabb1a9 { $return = 'Microsoft Profile Service Platform Service' } - 7cd684f4-8a78-49b0-91ec-6a35d38739ba { $return = 'Azure Logic Apps' } - c5393580-f805-4401-95e8-94b7a6ef2fc2 { $return = 'Office 365 Management APIs' } - 96231a05-34ce-4eb4-aa6a-70759cbb5e83 { $return = 'MicrosoftAzureRedisCache' } - b8340c3b-9267-498f-b21a-15d5547fd85e { $return = 'Hyper-V Recovery Manager' } - abfa0a7c-a6b6-4736-8310-5855508787cd { $return = 'Microsoft.Azure.WebSites' } - c44b4083-3bb0-49c1-b47d-974e53cbdf3c { $return = 'IbizaPortal' } - 905fcf26-4eb7-48a0-9ff0-8dcc7194b5ba { $return = 'Sway' } - b10686fd-6ba8-49f2-a3cd-67e4d2f52ac8 { $return = 'NovoEd' } - c606301c-f764-4e6b-aa45-7caaaea93c9a { $return = 'OfficeStore' } - 569e8598-685b-4ba2-8bff-5bced483ac46 { $return = 'Evercontact' } - 20a23a2f-8c32-4de7-8063-8c8f909602c0 { $return = 'Workflow' } - aaf214cc-8013-4b95-975f-13203ae36039 { $return = 'Power BI Tiles' } - d88a361a-d488-4271-a13f-a83df7dd99c2 { $return = 'IDML Graph Resolver Service and CAD' } - dff9b531-6290-4620-afce-26826a62a4e7 { $return = 'DocuSign' } - 01cb2876-7ebd-4aa4-9cc9-d28bd4d359a9 { $return = 'Device Registration Service' } - 3290e3f7-d3ac-4165-bcef-cf4874fc4270 { $return = 'Smartsheet' } - a4ee6867-8640-4495-b1fd-8b26037a5bd3 { $return = 'Workflow' } - aa0e3dd4-df02-478d-869e-fc61dd71b6e8 { $return = 'Workflow' } - 0f6edad5-48f2-4585-a609-d252b1c52770 { $return = 'AIGraphClient' } - 0c8139b5-d545-4448-8d2b-2121bb242680 { $return = 'BillingExtension' } - 475226c6-020e-4fb2-8a90-7a972cbfc1d4 { $return = 'KratosAppsService' } - 39624784-6cbe-4a60-afbe-9f46d10fdb27 { $return = 'SkypeForBusinessRemotePowershell' } - 8bdebf23-c0fe-4187-a378-717ad86f6a53 { $return = 'ResourceHealthRP' } - c161e42e-d4df-4a3d-9b42-e7a3c31f59d4 { $return = 'MicrosoftIntuneAPI' } - 9cb77803-d937-493e-9a3b-4b49de3f5a74 { $return = 'MicrosoftIntuneServiceDiscovery' } - ddbf3205-c6bd-46ae-8127-60eb93363864 { $return = 'Microsoft Azure Batch' } - 80ccca67-54bd-44ab-8625-4b79c4dc7775 { $return = 'ComplianceCenter' } - 0a5f63c0-b750-4f38-a71c-4fc0d58b89e2 { $return = 'Microsoft Mobile Application Management' } - e1335bb1-2aec-4f92-8140-0e6e61ae77e5 { $return = 'CIWebService' } - 75018fbe-21fe-4a57-b63c-83252b5eaf16 { $return = 'TeamImprover - Team Organization Chart' } - a393296b-5695-4463-97cb-9fa8638a494a { $return = 'My SharePoint Sites' } - fe217466-5583-431c-9531-14ff7268b7b3 { $return = 'Microsoft Education' } - 5bfe8a29-054e-4348-9e7a-3981b26b125f { $return = 'Bing Places for Business' } - eaf8a961-f56e-47eb-9ffd-936e22a554ef { $return = 'DevilFish' } - 4b4b1d56-1f03-47d9-a0a3-87d4afc913c9 { $return = 'Wunderlist' } - 00000003-0000-0000-c000-000000000000 { $return = 'Microsoft Graph' } - 60e6cd67-9c8c-4951-9b3c-23c25a2169af { $return = 'Compute Resource Provider' } - 507bc9da-c4e2-40cb-96a7-ac90df92685c { $return = 'Office365Reports' } - 09abbdfd-ed23-44ee-a2d9-a627aa1c90f3 { $return = 'ProjectWorkManagement' } - 28ec9756-deaf-48b2-84d5-a623b99af263 { $return = 'Office Personal Assistant at Work Service' } - 9e4a5442-a5c9-4f6f-b03f-5b9fcaaf24b1 { $return = 'OfficeServicesManager' } - 3138fe80-4087-4b04-80a6-8866c738028a { $return = 'SharePoint Notification Service' } - d2a0a418-0aac-4541-82b2-b3142c89da77 { $return = 'MicrosoftAzureOperationalInsights' } - 2cf9eb86-36b5-49dc-86ae-9a63135dfa8c { $return = 'AzureTrafficManagerandDNS' } - 32613fc5-e7ac-4894-ac94-fbc39c9f3e4a { $return = 'OAuth Sandbox' } - 925eb0d0-da50-4604-a19f-bd8de9147958 { $return = 'Groupies Web Service' } - e4ab13ed-33cb-41b4-9140-6e264582cf85 { $return = 'Azure SQL Database Backup To Azure Backup Vault' } - ad230543-afbe-4bb4-ac4f-d94d101704f8 { $return = 'Apiary for Power BI' } - 11cd3e2e-fccb-42ad-ad00-878b93575e07 { $return = 'Automated Call Distribution' } - de17788e-c765-4d31-aba4-fb837cfff174 { $return = 'Skype for Business Management Reporting and Analytics' } - 65d91a3d-ab74-42e6-8a2f-0add61688c74 { $return = 'Microsoft Approval Management' } - 5225545c-3ebd-400f-b668-c8d78550d776 { $return = 'Office Agent Service' } - 1cda9b54-9852-4a5a-96d4-c2ab174f9edf { $return = 'O365Account' } - 4747d38e-36c5-4bc3-979b-b0ef74df54d1 { $return = 'PushChannel' } - b97b6bd4-a49f-4a0c-af18-af507d1da76c { $return = 'Office Shredding Service' } - d4ebce55-015a-49b5-a083-c84d1797ae8c { $return = 'Microsoft Intune Enrollment' } - 5b20c633-9a48-4a5f-95f6-dae91879051f { $return = 'Azure Information Protection' } - 441509e5-a165-4363-8ee7-bcf0b7d26739 { $return = 'EnterpriseAgentPlatform' } - e691bce4-6612-4025-b94c-81372a99f77e { $return = 'Boomerang' } - 8edd93e1-2103-40b4-bd70-6e34e586362d { $return = 'Windows Azure Security Resource Provider' } - 94c63fef-13a3-47bc-8074-75af8c65887a { $return = 'Office Delve' } - e95d8bee-4725-4f59-910d-94d415da51b9 { $return = 'Skype for Business Name Dictionary Service' } - e3c5dbcd-bb5f-4bda-b943-adc7a5bbc65e { $return = 'Workflow' } - 8602e328-9b72-4f2d-a4ae-1387d013a2b3 { $return = 'Azure API Management' } - 8b3391f4-af01-4ee8-b4ea-9871b2499735 { $return = 'O365 Secure Score' } - c26550d6-bc82-4484-82ca-ac1c75308ca3 { $return = 'Office 365 YammerOnOls' } - 33be1cef-03fb-444b-8fd3-08ca1b4d803f { $return = 'OneDrive Web' } - dcad865d-9257-4521-ad4d-bae3e137b345 { $return = 'Microsoft SharePoint Online - SharePoint Home' } - b2cc270f-563e-4d8a-af47-f00963a71dcd { $return = 'OneProfile Service' } - 4660504c-45b3-4674-a709-71951a6b0763 { $return = 'Microsoft Invitation Acceptance Portal' } - ba23cd2a-306c-48f2-9d62-d3ecd372dfe4 { $return = 'OfficeGraph' } - d52485ee-4609-4f6b-b3a3-68b6f841fa23 { $return = 'On-Premises Data Gateway Connector' } - 996def3d-b36c-4153-8607-a6fd3c01b89f { $return = 's 365 for Financials' } - b6b84568-6c01-4981-a80f-09da9a20bbed { $return = 'Microsoft Invoicing' } - 9d3e55ba-79e0-4b7c-af50-dc460b81dca1 { $return = 'Microsoft Azure Data Catalog' } - 4345a7b9-9a63-4910-a426-35363201d503 { $return = 'O365 Suite UX' } - ac815d4a-573b-4174-b38e-46490d19f894 { $return = 'Workflow' } - bb8f18b0-9c38-48c9-a847-e1ef3af0602d { $return = 'Microsoft.Azure.ActiveDirectoryIUX' } - cc15fd57-2c6c-4117-a88c-83b1d56b4bbe { $return = 'Microsoft Teams Services' } - 5e3ce6c0-2b1f-4285-8d4b-75ee78787346 { $return = 'Skype Teams' } - 1fec8e78-bce4-4aaf-ab1b-5451cc387264 { $return = 'Microsoft Teams' } - 6d32b7f8-782e-43e0-ac47-aaad9f4eb839 { $return = 'Permission Service O365' } - cdccd920-384b-4a25-897d-75161a4b74c1 { $return = 'Skype Teams Firehose' } - 1c0ae35a-e2ec-4592-8e08-c40884656fa5 { $return = 'Skype Team Substrate connector' } - cf6c77f8-914f-4078-baef-e39a5181158b { $return = 'Skype Teams Settings Store' } - 64f79cb9-9c82-4199-b85b-77e35b7dcbcb { $return = 'Microsoft Teams Bots' } - b7912db9-aa33-4820-9d4f-709830fdd78f { $return = 'ConnectionsService' } - 82f77645-8a66-4745-bcdf-9706824f9ad0 { $return = 'PowerApps Runtime Service' } - 6204c1d1-4712-4c46-a7d9-3ed63d992682 { $return = 'Microsoft Flow Portal' } - 7df0a125-d3be-4c96-aa54-591f83ff541c { $return = 'Microsoft Flow Service' } - 331cc017-5973-4173-b270-f0042fddfd75 { $return = 'PowerAppsService' } - 0a0e9e37-25e3-47d4-964c-5b8237cad19a { $return = 'CloudSponge' } - df09ff61-2178-45d8-888c-4210c1c7b0b2 { $return = 'O365 UAP Processor' } - 8338dec2-e1b3-48f7-8438-20c30a534458 { $return = 'ViewPoint' } - 00000001-0000-0000-c000-000000000000 { $return = 'Azure ESTS Service' } - 394866fc-eedb-4f01-8536-3ff84b16be2a { $return = 'Microsoft People Cards Service' } - 0a0a29f9-0a25-49c7-94bf-c53c3f8fa69d { $return = 'Cortana Experience with O365' } - bb2a2e3a-c5e7-4f0a-88e0-8e01fd3fc1f4 { $return = 'CPIM Service' } - 0004c632-673b-4105-9bb6-f3bbd2a927fe { $return = 'PowerApps and Flow' } - d3ce4cf8-6810-442d-b42e-375e14710095 { $return = 'Graph Explorer' } - 3aa5c166-136f-40eb-9066-33ac63099211 { $return = 'O365 Customer Monitoring' } - d6fdaa33-e821-4211-83d0-cf74736489e1 { $return = 'Microsoft Service Trust' } - ef4a2a24-4b4e-4abf-93ba-cc11c5bd442c { $return = 'Edmodo' } - b692184e-b47f-4706-b352-84b288d2d9ee { $return = 'Microsoft.MileIQ.RESTService' } - a25dbca8-4e60-48e5-80a2-0664fdb5c9b6 { $return = 'Microsoft.MileIQ' } - f7069a8d-9edc-4300-b365-ae53c9627fc4 { $return = 'Microsoft.MileIQ.Dashboard' } - 02e3ae74-c151-4bda-b8f0-55fbf341de08 { $return = 'Application Registration Portal' } - 1f5530b3-261a-47a9-b357-ded261e17918 { $return = 'Azure Multi-Factor Auth Connector' } - 981f26a1-7f43-403b-a875-f8b09b8cd720 { $return = 'Azure Multi-Factor Auth Client' } - 6ea8091b-151d-447a-9013-6845b83ba57b { $return = 'AD Hybrid Health' } - fc68d9e5-1f76-45ef-99aa-214805418498 { $return = 'Azure AD Identity Protection' } - 01fc33a7-78ba-4d2f-a4b7-768e336e890e { $return = 'MS-PIM' } - a6aa9161-5291-40bb-8c5c-923b567bee3b { $return = 'Storage Resource Provider' } - 4e9b8b9a-1001-4017-8dd1-6e8f25e19d13 { $return = 'Adobe Acrobat' } - 159b90bb-bb28-4568-ad7c-adad6b814a2f { $return = 'LastPass' } - b4bddae8-ab25-483e-8670-df09b9f1d0ea { $return = 'Signup' } - aa580612-c342-4ace-9055-8edee43ccb89 { $return = 'Microsoft StaffHub' } - 51133ff5-8e0d-4078-bcca-84fb7f905b64 { $return = 'Microsoft Teams Mailhook' } - ab3be6b7-f5df-413d-ac2d-abf1e3fd9c0b { $return = 'Microsoft Teams Graph Service' } - b1379a75-ce5e-4fa3-80c6-89bb39bf646c { $return = 'Microsoft Teams Chat Aggregator' } - 48af08dc-f6d2-435f-b2a7-069abd99c086 { $return = 'Connectors' } - d676e816-a17b-416b-ac1a-05ad96f43686 { $return = 'Workflow' } - cfa8b339-82a2-471a-a3c9-0fc0be7a4093 { $return = 'Azure Key Vault' } - c2f89f53-3971-4e09-8656-18eed74aee10 { $return = 'calendly' } - 6da466b6-1d13-4a2c-97bd-51a99e8d4d74 { $return = 'Exchange Office Graph Client for AAD - Interactive' } - 0eda3b13-ddc9-4c25-b7dd-2f6ea073d6b7 { $return = 'Microsoft Flow CDS Integration Service' } - eacba838-453c-4d3e-8c6a-eb815d3469a3 { $return = 'Microsoft Flow CDS Integration Service TIP1' } - 4ac7d521-0382-477b-b0f8-7e1d95f85ca2 { $return = 'SQL Server Analysis Services Azure' } - b4114287-89e4-4209-bd99-b7d4919bcf64 { $return = 'OfficeDelve' } - 4580fd1d-e5a3-4f56-9ad1-aab0e3bf8f76 { $return = 'Call Recorder' } - a855a166-fd92-4c76-b60d-a791e0762432 { $return = 'Microsoft Teams VSTS' } - c37c294f-eec8-47d2-b3e2-fc3daa8f77d3 { $return = 'Workflow' } - fc75330b-179d-49af-87dd-3b1acf6827fa { $return = 'AzureAutomationAADPatchS2S' } - 766d89a4-d6a6-444d-8a5e-e1a18622288a { $return = 'OneDrive' } - f16c4a38-5aff-4549-8199-ee7d3c5bd8dc { $return = 'Workflow' } - 4c4f550b-42b2-4a16-93f9-fdb9e01bb6ed { $return = 'Targeted Messaging Service' } - 765fe668-04e7-42ba-aec0-2c96f1d8b652 { $return = 'Exchange Office Graph Client for AAD - Noninteractive' } - 0130cc9f-7ac5-4026-bd5f-80a08a54e6d9 { $return = 'Azure Data Warehouse Polybase' } - a1cf9e0a-fe14-487c-beb9-dd3360921173 { $return = 'Meetup' } - 76cd24bf-a9fc-4344-b1dc-908275de6d6d { $return = 'Azure SQL Virtual Network to Network Resource Provider' } - 9f505dbd-a32c-4685-b1c6-72e4ef704cb0 { $return = 'Amazon Alexa' } - 1e2ca66a-c176-45ea-a877-e87f7231e0ee { $return = 'Microsoft B2B Admin Worker' } - 2634dd23-5e5a-431c-81ca-11710d9079f4 { $return = 'Microsoft Stream Service' } - cf53fce8-def6-4aeb-8d30-b158e7b1cf83 { $return = 'Microsoft Stream Portal' } - c9a559d2-7aab-4f13-a6ed-e7e9c52aec87 { $return = 'Microsoft Forms' } - 978877ea-b2d6-458b-80c7-05df932f3723 { $return = 'Microsoft Teams AuditService' } - dbc36ae1-c097-4df9-8d94-343c3d091a76 { $return = 'Service Encryption' } - fa7ff576-8e31-4a58-a5e5-780c1cd57caa { $return = 'OneNote' } - cb4dc29f-0bf4-402a-8b30-7511498ed654 { $return = 'Power BI Premium' } - f5aeb603-2a64-4f37-b9a8-b544f3542865 { $return = 'Microsoft Teams RetentionHook Service' } - da109bdd-abda-4c06-8808-4655199420f8 { $return = 'Glip Contacts' } - 76c7f279-7959-468f-8943-3954880e0d8c { $return = 'Azure SQL Managed Instance to Microsoft.Network' } - 3a9ddf38-83f3-4ea1-a33a-ecf934644e2d { $return = 'Protected Message Viewer' } - 5635d99c-c364-4411-90eb-764a511b5fdf { $return = 'Responsive Banner Slider' } - a43e5392-f48b-46a4-a0f1-098b5eeb4757 { $return = 'Cloudsponge' } - d73f4b35-55c9-48c7-8b10-651f6f2acb2e { $return = 'MCAPI Authorization Prod' } - 166f1b03-5b19-416f-a94b-1d7aa2d247dc { $return = 'Office Hive' } - b815ce1c-748f-4b1e-9270-a42c1fa4485a { $return = 'Workflow' } - bd7b778b-4aa8-4cde-8d90-8aeb821c0bd2 { $return = 'Workflow' } - 9d06afd9-66c9-49a6-b385-ea7509332b0b { $return = 'O365SBRM Service' } - 9ea1ad79-fdb6-4f9a-8bc3-2b70f96e34c7 { $return = 'Bing' } - 57fb890c-0dab-4253-a5e0-7188c88b2bb4 { $return = 'SharePoint Online Client' } - 45c10911-200f-4e27-a666-9e9fca147395 { $return = 'drawio' } - b73f62d0-210b-4396-a4c5-ea50c4fab79b { $return = 'Skype Business Voice Fraud Detection and Prevention' } - bc59ab01-8403-45c6-8796-ac3ef710b3e3 { $return = 'Outlook Online Add-in App' } - 035f9e1d-4f00-4419-bf50-bf2d87eb4878 { $return = 'Azure Monitor Restricted' } - 7c33bfcb-8d33-48d6-8e60-dc6404003489 { $return = 'Network Watcher' } - a0be0c72-870e-46f0-9c49-c98333a996f7 { $return = 'AzureDnsFrontendApp' } - 1e3e4475-288f-4018-a376-df66fd7fac5f { $return = 'NetworkTrafficAnalyticsService' } - 7557eb47-c689-4224-abcf-aef9bd7573df { $return = 'Skype for Business' } - c39c9bac-9d1f-4dfb-aa29-27f6365e5cb7 { $return = 'Azure Advisor' } - 2087bd82-7206-4c0a-b305-1321a39e5926 { $return = 'Microsoft To-Do' } - f8d98a96-0999-43f5-8af3-69971c7bb423 { $return = 'iOS Accounts' } - c27373d3-335f-4b45-8af9-fe81c240d377 { $return = 'P2P Server' } - 5c2ffddc-f1d7-4dc3-926e-3c1bd98e32bd { $return = 'RITS Dev' } - 982bda36-4632-4165-a46a-9863b1bbcf7d { $return = 'O365 Demeter' } - 98c8388a-4e86-424f-a176-d1288462816f { $return = 'OfficeFeedProcessors' } - bf9fc203-c1ff-4fd4-878b-323642e462ec { $return = 'Jarvis Transaction Service' } - 257601fd-462f-4a21-b623-7f719f0f90f4 { $return = 'Centralized Deployment' } - 2a486b53-dbd2-49c0-a2bc-278bdfc30833 { $return = 'Cortana at Work Service' } - 22d7579f-06c2-4baa-89d2-e844486adb9d { $return = 'Cortana at Work Bing Services' } - 4c8f074c-e32b-4ba7-b072-0f39d71daf51 { $return = 'IPSubstrate' } - a164aee5-7d0a-46bb-9404-37421d58bdf7 { $return = 'Microsoft Teams AuthSvc' } - 354b5b6d-abd6-4736-9f51-1be80049b91f { $return = 'Microsoft Mobile Application Management Backend' } - 82b293b2-d54d-4d59-9a95-39c1c97954a7 { $return = 'Tasks in a Box' } - fdc83783-b652-4258-a622-66bc85f1a871 { $return = 'FedExPackageTracking' } - d0597157-f0ae-4e23-b06c-9e65de434c4f { $return = 'Microsoft Teams Task Service' } - f5c26e74-f226-4ae8-85f0-b4af0080ac9e { $return = 'Application Insights API' } - 57c0fc58-a83a-41d0-8ae9-08952659bdfd { $return = 'Azure Cosmos DB Virtual Network To Network Resource Provider' } - 744e50be-c4ff-4e90-8061-cd7f1fabac0b { $return = 'LinkedIn Microsoft Graph Connector' } - 823dfde0-1b9a-415a-a35a-1ad34e16dd44 { $return = 'Microsoft Teams Wiki Images Migration' } - 3ab9b3bc-762f-4d62-82f7-7e1d653ce29f { $return = 'Microsoft Volume Licensing' } - 44eb7794-0e11-42b6-800b-dc31874f9f60 { $return = 'Alignable' } - c58637bb-e2e1-4312-8a00-04b5ffcd3403 { $return = 'SharePoint Online Client Extensibility' } - 62b732f7-fc71-40bc-b27d-35efcb0509de { $return = 'Microsoft Teams AadSync' } - 07978fee-621a-42df-82bb-3eabc6511c26 { $return = 'SurveyMonkey' } - 47ee738b-3f1a-4fc7-ab11-37e4822b007e { $return = 'Azure AD Application Proxy' } - 00000007-0000-0000-c000-000000000000 { $return = 'Dynamics CRM Online' } - 913c6de4-2a4a-4a61-a9ce-945d2b2ce2e0 { $return = 'Dynamics Lifecycle services' } - f217ad13-46b8-4c5b-b661-876ccdf37302 { $return = 'Attach OneDrive files to Asana' } - 00000008-0000-0000-c000-000000000000 { $return = 'Microsoft.Azure.DataMarket' } - 9b06ebd4-9068-486b-bdd2-dac26b8a5a7a { $return = 'Microsoft.DynamicsMarketing' } - e8ab36af-d4be-4833-a38b-4d6cf1cfd525 { $return = 'Microsoft Social Engagement' } - 8909aac3-be91-470c-8a0b-ff09d669af91 { $return = 'Microsoft Parature Dynamics CRM' } - 71234da4-b92f-429d-b8ec-6e62652e50d7 { $return = 'Microsoft Customer Engagement Portal' } - b861dbcc-a7ef-4219-a005-0e4de4ea7dcf { $return = 'Data Export Service for Microsoft Dynamics 365' } - 2db8cb1d-fb6c-450b-ab09-49b6ae35186b { $return = 'Microsoft Dynamics CRM Learning Path' } - 2e49aa60-1bd3-43b6-8ab6-03ada3d9f08b { $return = 'Dynamics Data Integration' } - } + + $return = $ServicePrincipals | Where-Object { $_.appId -eq $ID } | Select-Object -ExpandProperty DisplayName if ([string]::IsNullOrEmpty($return)) { $return = $Applications | Where-Object { $_.Appid -eq $ID } | Select-Object -ExpandProperty DisplayName @@ -390,12 +120,53 @@ Function Invoke-ListConditionalAccessPolicies { # Interact with query parameters or the body of the request. $TenantFilter = $Request.Query.TenantFilter try { - $ConditionalAccessPolicyOutput = New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/identity/conditionalAccess/policies' -tenantid $tenantfilter - $AllNamedLocations = New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/identity/conditionalAccess/namedLocations' -tenantid $tenantfilter - $AllApplications = New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/applications' -tenantid $tenantfilter - $AllRoleDefinitions = New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/roleManagement/directory/roleDefinitions' -tenantid $tenantfilter - $GroupListOutput = New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/groups?$top=999' -tenantid $tenantfilter - $UserListOutput = New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/users?$top=999' -tenantid $tenantfilter | Select-Object * -ExcludeProperty *extensionAttribute* + $Requests = @( + @{ + id = 'policies' + url = 'identity/conditionalAccess/policies' + method = 'GET' + } + @{ + id = 'namedLocations' + url = 'identity/conditionalAccess/namedLocations' + method = 'GET' + } + @{ + id = 'applications' + url = 'applications?$top=999&$select=appId,displayName' + method = 'GET' + } + @{ + id = 'roleDefinitions' + url = 'roleManagement/directory/roleDefinitions?$select=id,displayName' + method = 'GET' + } + @{ + id = 'groups' + url = 'groups?$top=999&$select=id,displayName' + method = 'GET' + } + @{ + id = 'users' + url = 'users?$top=999&$select=id,displayName,userPrincipalName' + method = 'GET' + } + @{ + id = 'servicePrincipals' + url = 'servicePrincipals?$top=999&$select=appId,displayName' + method = 'GET' + } + ) + + $GraphRequest = New-GraphBulkRequest -Requests $Requests -tenantid $tenantfilter -asapp $true + + $ConditionalAccessPolicyOutput = ($GraphRequest | Where-Object { $_.id -eq 'policies' }).body.value + $AllNamedLocations = ($GraphRequest | Where-Object { $_.id -eq 'namedLocations' }).body.value + $AllApplications = ($GraphRequest | Where-Object { $_.id -eq 'applications' } ).body.value + $AllRoleDefinitions = ($GraphRequest | Where-Object { $_.id -eq 'roleDefinitions' }).body.value + $GroupListOutput = ($GraphRequest | Where-Object { $_.id -eq 'groups' }).body.value + $UserListOutput = ($GraphRequest | Where-Object { $_.id -eq 'users' }).body.value + $GraphRequest = foreach ($cap in $ConditionalAccessPolicyOutput) { $temp = [PSCustomObject]@{ diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/GDAP/Invoke-ExecAddGDAPRole.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/GDAP/Invoke-ExecAddGDAPRole.ps1 index 946eaddafaf0..f2ca561c1b36 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/GDAP/Invoke-ExecAddGDAPRole.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/GDAP/Invoke-ExecAddGDAPRole.ps1 @@ -17,7 +17,7 @@ Function Invoke-ExecAddGDAPRole { $Table = Get-CIPPTable -TableName 'GDAPRoles' $Results = [System.Collections.Generic.List[string]]::new() - $ExistingGroups = New-GraphGetRequest -NoAuthCheck $True -uri 'https://graph.microsoft.com/beta/groups' -tenantid $env:TenantID + $ExistingGroups = New-GraphGetRequest -NoAuthCheck $True -uri 'https://graph.microsoft.com/beta/groups' -tenantid $env:TenantID -AsApp $true $RoleMappings = foreach ($group in $Groups) { if ($CustomSuffix) { @@ -40,7 +40,7 @@ Function Invoke-ExecAddGDAPRole { $Results.Add("M365 GDAP $($Group.Name) already exists") } else { $BodyToship = [pscustomobject] @{'displayName' = $GroupName; 'description' = "This group is used to manage M365 partner tenants at the $($group.name) level."; securityEnabled = $true; mailEnabled = $false; mailNickname = $MailNickname } | ConvertTo-Json - $GraphRequest = New-GraphPostRequest -NoAuthCheck $True -uri 'https://graph.microsoft.com/beta/groups' -tenantid $env:TenantID -type POST -body $BodyToship -verbose + $GraphRequest = New-GraphPostRequest -NoAuthCheck $True -uri 'https://graph.microsoft.com/beta/groups' -tenantid $env:TenantID -type POST -body $BodyToship -AsApp $true @{ PartitionKey = 'Roles' RowKey = $GraphRequest.Id diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/GDAP/Invoke-ExecGDAPInvite.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/GDAP/Invoke-ExecGDAPInvite.ps1 index 91cfa3388bb2..f93ae96552ba 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/GDAP/Invoke-ExecGDAPInvite.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/GDAP/Invoke-ExecGDAPInvite.ps1 @@ -12,7 +12,7 @@ Function Invoke-ExecGDAPInvite { $APIName = 'ExecGDAPInvite' Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' - $RoleMappings = $Request.body.gdapRoles + $RoleMappings = $Request.Body.gdapRoles if ($RoleMappings.roleDefinitionId -contains '62e90394-69f5-4237-9190-012177145e10') { $AutoExtendDuration = 'PT0S' @@ -22,6 +22,7 @@ Function Invoke-ExecGDAPInvite { $Table = Get-CIPPTable -TableName 'GDAPInvites' try { + $Step = 'Creating GDAP relationship' $JSONBody = @{ 'displayName' = "$((New-Guid).GUID)" 'accessDetails' = @{ @@ -45,13 +46,23 @@ Function Invoke-ExecGDAPInvite { $JSONBody = @{ 'action' = 'lockForApproval' } | ConvertTo-Json - $NewRelationshipRequest = New-GraphPostRequest -NoAuthCheck $True -uri "https://graph.microsoft.com/beta/tenantRelationships/delegatedAdminRelationships/$($NewRelationship.id)/requests" -type POST -body $JSONBody -verbose -tenantid $env:TenantID + $Step = 'Locking GDAP relationship for approval' + + $AddedHeaders = @{ + 'If-Match' = $NewRelationship.'@odata.etag' + } + + $NewRelationshipRequest = New-GraphPostRequest -NoAuthCheck $True -uri "https://graph.microsoft.com/beta/tenantRelationships/delegatedAdminRelationships/$($NewRelationship.id)/requests" -type POST -body $JSONBody -verbose -tenantid $env:TenantID -AddedHeaders $AddedHeaders if ($NewRelationshipRequest.action -eq 'lockForApproval') { $InviteUrl = "https://admin.microsoft.com/AdminPortal/Home#/partners/invitation/granularAdminRelationships/$($NewRelationship.id)" - $Uri = ([System.Uri]$TriggerMetadata.Headers.Referer) - $TableFilter = [System.Web.HttpUtility]::UrlEncode(('Complex: id eq {0}' -f $NewRelationship.id)) - $OnboardingUrl = $Uri.AbsoluteUri.Replace($Uri.PathAndQuery, "/tenant/administration/tenant-onboarding-wizard?tableFilter=$TableFilter") + try { + $Uri = ([System.Uri]$TriggerMetadata.Headers.Referer) + $TableFilter = [System.Web.HttpUtility]::UrlEncode(('Complex: id eq {0}' -f $NewRelationship.id)) + $OnboardingUrl = $Uri.AbsoluteUri.Replace($Uri.PathAndQuery, "/tenant/administration/tenant-onboarding-wizard?tableFilter=$TableFilter") + } catch { + $OnboardingUrl = $null + } $InviteEntity = [PSCustomObject]@{ 'PartitionKey' = 'invite' @@ -70,7 +81,7 @@ Function Invoke-ExecGDAPInvite { Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Created GDAP Invite - $InviteUrl" -Sev 'Info' } } catch { - $Message = 'Error creating GDAP relationship' + $Message = 'Error creating GDAP relationship, failed at step: ' + $Step Write-Host "GDAP ERROR: $($_.InvocationInfo.PositionMessage)" Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $env:TenantID -message "$($Message): $($_.Exception.Message)" -Sev 'Error' -LogData (Get-CippException -Exception $_) } diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/GDAP/Invoke-ListGDAPInvite.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/GDAP/Invoke-ListGDAPInvite.ps1 index 218f0248f2cc..814cdf4ae693 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/GDAP/Invoke-ListGDAPInvite.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/GDAP/Invoke-ListGDAPInvite.ps1 @@ -21,7 +21,10 @@ Function Invoke-ListGDAPInvite { if (![string]::IsNullOrEmpty($Request.Query.RelationshipId)) { $Invite = Get-CIPPAzDataTableEntity @Table -Filter "RowKey eq '$($Request.Query.RelationshipId)'" } else { - $Invite = Get-CIPPAzDataTableEntity @Table + $Invite = Get-CIPPAzDataTableEntity @Table | ForEach-Object { + $_.RoleMappings = try { $_.RoleMappings | ConvertFrom-Json } catch { $_.RoleMappings } + $_ + } } # Associate values to output bindings by calling 'Push-OutputBinding'. Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Standards/Invoke-AddStandardsTemplate.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Standards/Invoke-AddStandardsTemplate.ps1 index 8e5186727b8f..66f0402b0171 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Standards/Invoke-AddStandardsTemplate.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Standards/Invoke-AddStandardsTemplate.ps1 @@ -12,8 +12,9 @@ Function Invoke-AddStandardsTemplate { $APIName = $TriggerMetadata.FunctionName Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' - $GUID = (New-Guid).GUID - $JSON = (ConvertTo-Json -Depth 100 -InputObject ($Request.body | Select-Object standards, name)) + + $GUID = $Request.body.GUID ? $request.body.GUID : (New-Guid).GUID + $JSON = (ConvertTo-Json -Depth 100 -InputObject ($Request.body)) $Table = Get-CippTable -tablename 'templates' $Table.Force = $true Add-CIPPAzDataTableEntity @Table -Entity @{ @@ -31,4 +32,4 @@ Function Invoke-AddStandardsTemplate { Body = $body }) -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Standards/Invoke-ExecBPA.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Standards/Invoke-ExecBPA.ps1 new file mode 100644 index 000000000000..3a1a16241b68 --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Standards/Invoke-ExecBPA.ps1 @@ -0,0 +1,38 @@ +function Invoke-ExecBPA { + <# + .FUNCTIONALITY + Entrypoint + .ROLE + Tenant.BestPracticeAnalyser.ReadWrite + #> + [CmdletBinding()] + param($Request, $TriggerMetadata) + + $ConfigTable = Get-CIPPTable -tablename Config + $Config = Get-CIPPAzDataTableEntity @ConfigTable -Filter "PartitionKey eq 'OffloadFunctions' and RowKey eq 'OffloadFunctions'" + + if ($Config -and $Config.state -eq $true) { + if ($env:CIPP_PROCESSOR -ne 'true') { + $ProcessorQueue = Get-CIPPTable -TableName 'ProcessorQueue' + $ProcessorFunction = [PSCustomObject]@{ + PartitionKey = 'Function' + RowKey = "Start-BPAOrchestrator-$($Request.Query.TenantFilter)" + FunctionName = 'Start-BPAOrchestrator' + Parameters = [string](ConvertTo-Json -Compress -InputObject @{ + TenantFilter = $Request.Query.TenantFilter + }) + } + Add-AzDataTableEntity @ProcessorQueue -Entity $ProcessorFunction -Force + $Results = [pscustomobject]@{'Results' = 'BPA queued for execution' } + } + } else { + Start-BPAOrchestrator -TenantFilter $Request.Query.TenantFilter + $Results = [pscustomobject]@{'Results' = 'BPA started' } + } + + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = $Results + }) + +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Standards/Invoke-ExecDomainAnalyser.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Standards/Invoke-ExecDomainAnalyser.ps1 new file mode 100644 index 000000000000..2b31c6bb1d44 --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Standards/Invoke-ExecDomainAnalyser.ps1 @@ -0,0 +1,39 @@ +function Invoke-ExecDomainAnalyser { + <# + .FUNCTIONALITY + Entrypoint + .ROLE + Tenant.DomainAnalyser.Read + #> + [CmdletBinding()] + param($Request, $TriggerMetadata) + + $ConfigTable = Get-CIPPTable -tablename Config + $Config = Get-CIPPAzDataTableEntity @ConfigTable -Filter "PartitionKey eq 'OffloadFunctions' and RowKey eq 'OffloadFunctions'" + + if ($Config -and $Config.state -eq $true) { + if ($env:CIPP_PROCESSOR -ne 'true') { + $ProcessorFunction = [PSCustomObject]@{ + PartitionKey = 'Function' + RowKey = 'Start-DomainOrchestrator' + ProcessorFunction = 'Start-DomainOrchestrator' + } + $ProcessorQueue = Get-CIPPTable -TableName 'ProcessorQueue' + Add-AzDataTableEntity @ProcessorQueue -Entity $ProcessorFunction -Force + $Results = [pscustomobject]@{'Results' = 'Queueing Domain Analyser' } + } + } else { + $OrchStatus = Start-DomainOrchestrator + if ($OrchStatus) { + $Message = 'Domain Analyser started' + } else { + $Message = 'Domain Analyser error: check logs' + } + $Results = [pscustomobject]@{'Results' = $Message } + } + + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::OK + Body = $Results + }) +} diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Standards/Invoke-ExecStandardsRun.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Standards/Invoke-ExecStandardsRun.ps1 index f200e4729272..2b3200bf553f 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Standards/Invoke-ExecStandardsRun.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Standards/Invoke-ExecStandardsRun.ps1 @@ -12,11 +12,32 @@ Function Invoke-ExecStandardsRun { $APIName = $TriggerMetadata.FunctionName Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' $tenantfilter = if ($Request.Query.TenantFilter) { $Request.Query.TenantFilter } else { 'allTenants' } - try { - $null = Invoke-CIPPStandardsRun -Tenantfilter $tenantfilter - $Results = "Successfully Started Standards Run for Tenant $tenantfilter" - } catch { - $Results = "Failed to start standards run for $tenantfilter. Error: $($_.Exception.Message)" + + $ConfigTable = Get-CIPPTable -tablename Config + $Config = Get-CIPPAzDataTableEntity @ConfigTable -Filter "PartitionKey eq 'OffloadFunctions' and RowKey eq 'OffloadFunctions'" + + if ($Config -and $Config.state -eq $true) { + if ($env:CIPP_PROCESSOR -ne 'true') { + $ProcessorFunction = [PSCustomObject]@{ + PartitionKey = 'Function' + RowKey = "Invoke-CIPPStandardsRun-$tenantfilter" + ProcessorFunction = 'Invoke-CIPPStandardsRun' + Parameters = [string](ConvertTo-Json -Compress -InputObject @{ + TenantFilter = $tenantfilter + Force = $true + }) + } + $ProcessorQueue = Get-CIPPTable -TableName 'ProcessorQueue' + Add-AzDataTableEntity @ProcessorQueue -Entity $ProcessorFunction -Force + $Results = "Successfully Queued Standards Run for Tenant $tenantfilter" + } + } else { + try { + $null = Invoke-CIPPStandardsRun -Tenantfilter $tenantfilter -Force + $Results = "Successfully Started Standards Run for Tenant $tenantfilter" + } catch { + $Results = "Failed to start standards run for $tenantfilter. Error: $($_.Exception.Message)" + } } $Results = [pscustomobject]@{'Results' = "$results" } diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Standards/Invoke-ListBPA.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Standards/Invoke-ListBPA.ps1 index d597a8d6bb87..e583908da1e1 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Standards/Invoke-ListBPA.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Standards/Invoke-ListBPA.ps1 @@ -40,8 +40,11 @@ Function Invoke-ListBPA { $row = $_ $JSONFields | ForEach-Object { $jsonContent = $row.$_ - if ($jsonContent -ne $null -and $jsonContent -ne 'FAILED') { - $row.$_ = $jsonContent | ConvertFrom-Json -Depth 15 + if (![string]::IsNullOrEmpty($jsonContent) -and $jsonContent -ne 'FAILED') { + try { + $row.$_ = $jsonContent | ConvertFrom-Json -Depth 15 + } catch { + } } } $row.PSObject.Properties | ForEach-Object { @@ -61,8 +64,11 @@ Function Invoke-ListBPA { $row = $_ $JSONFields | ForEach-Object { $jsonContent = $row.$_ - if ($jsonContent -ne $null -and $jsonContent -ne 'FAILED') { - $row.$_ = $jsonContent | ConvertFrom-Json -Depth 15 + if (![string]::IsNullOrEmpty($jsonContent) -and $jsonContent -ne 'FAILED') { + try { + $row.$_ = $jsonContent | ConvertFrom-Json -Depth 15 + } catch { + } } } $row | Where-Object -Property PartitionKey -In $Tenants.customerId diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Standards/Invoke-listStandardTemplates.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Standards/Invoke-listStandardTemplates.ps1 index 1b17d33131a2..b866f1f814a0 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Standards/Invoke-listStandardTemplates.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Standards/Invoke-listStandardTemplates.ps1 @@ -18,8 +18,9 @@ Function Invoke-listStandardTemplates { $data = $_.JSON | ConvertFrom-Json -Depth 100 $data | Add-Member -NotePropertyName 'GUID' -NotePropertyValue $_.GUID -Force $data - } | Sort-Object -Property displayName + } | Sort-Object -Property templateName + if ($Request.query.id) { $Templates = $Templates | Where-Object GUID -EQ $Request.query.id } # Associate values to output bindings by calling 'Push-OutputBinding'. Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ StatusCode = [HttpStatusCode]::OK diff --git a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Tools/Invoke-ExecGraphExplorerPreset.ps1 b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Tools/Invoke-ExecGraphExplorerPreset.ps1 index 01e72df98868..3862e8f0672b 100644 --- a/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Tools/Invoke-ExecGraphExplorerPreset.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Tools/Invoke-ExecGraphExplorerPreset.ps1 @@ -16,9 +16,9 @@ Function Invoke-ExecGraphExplorerPreset { $Username = ([System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($request.headers.'x-ms-client-principal')) | ConvertFrom-Json).userDetails # Write to the Azure Functions log stream. Write-Host 'PowerShell HTTP trigger function processed a request.' + $Action = $Request.Body.Action ?? '' - - switch ($Request.Body.Action) { + switch ($Action) { 'Copy' { $Id = (New-Guid).Guid } @@ -29,7 +29,7 @@ Function Invoke-ExecGraphExplorerPreset { $Id = $Request.Body.preset.reportTemplate.value } default { - $Request.Body.Action = 'Copy' + $Action = 'Copy' $Id = (New-Guid).Guid } } @@ -53,16 +53,16 @@ Function Invoke-ExecGraphExplorerPreset { try { $Success = $false $Table = Get-CIPPTable -TableName 'GraphPresets' - $Message = '{0} preset succeeded' -f $Request.Body.Action - if ($Request.Body.Action -eq 'Copy') { + $Message = '{0} preset succeeded' -f $Action + if ($Action -eq 'Copy') { Add-CIPPAzDataTableEntity @Table -Entity $Preset $Success = $true } else { $Entity = Get-CIPPAzDataTableEntity @Table -Filter "RowKey eq '$Id'" if ($Entity.Owner -eq $Username ) { - if ($Request.Body.Action -eq 'Delete') { + if ($Action -eq 'Delete') { Remove-AzDataTableEntity @Table -Entity $Entity - } elseif ($Request.Body.Action -eq 'Save') { + } elseif ($Action -eq 'Save') { Add-CIPPAzDataTableEntity @Table -Entity $Preset -Force } $Success = $true diff --git a/Modules/CIPPCore/Public/Entrypoints/Invoke-ExecListAppId.ps1 b/Modules/CIPPCore/Public/Entrypoints/Invoke-ExecListAppId.ps1 index 1adc1799debd..c8fc8085e27e 100644 --- a/Modules/CIPPCore/Public/Entrypoints/Invoke-ExecListAppId.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/Invoke-ExecListAppId.ps1 @@ -9,7 +9,7 @@ Function Invoke-ExecListAppId { #> [CmdletBinding()] param($Request, $TriggerMetadata) - + Get-CIPPAuthentication $APIName = $TriggerMetadata.FunctionName Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' $ResponseURL = "$(($Request.headers.'x-ms-original-url').replace('/api/ExecListAppId','/api/ExecSAMSetup'))" diff --git a/Modules/CIPPCore/Public/Entrypoints/Invoke-ListContacts.ps1 b/Modules/CIPPCore/Public/Entrypoints/Invoke-ListContacts.ps1 index 00a7b0410365..882b546fe579 100644 --- a/Modules/CIPPCore/Public/Entrypoints/Invoke-ListContacts.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/Invoke-ListContacts.ps1 @@ -13,7 +13,7 @@ Function Invoke-ListContacts { $APIName = $TriggerMetadata.FunctionName Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' - $selectlist = 'id', 'companyName', 'displayName', 'mail', 'onPremisesSyncEnabled', 'editURL' + $selectlist = 'id', 'companyName', 'displayName', 'mail', 'onPremisesSyncEnabled', 'editURL', "givenName", "jobTitle", "surname", "addresses", "phones" # Write to the Azure Functions log stream. Write-Host 'PowerShell HTTP trigger function processed a request.' @@ -24,6 +24,7 @@ Function Invoke-ListContacts { $ContactID = $Request.Query.ContactID Write-Host "Tenant Filter: $TenantFilter" + Write-Host "This is the Contact ID: $ContactID" try { $GraphRequest = New-GraphGetRequest -uri "https://graph.microsoft.com/beta/contacts/$($ContactID)?`$top=999&`$select=$($selectlist -join ',')" -tenantid $TenantFilter | Select-Object $selectlist | ForEach-Object { $_.editURL = "https://outlook.office365.com/ecp/@$TenantFilter/UsersGroups/EditContact.aspx?exsvurl=1&realm=$($env:TenantID)&mkt=en-US&id=$($_.id)" diff --git a/Modules/CIPPCore/Public/Entrypoints/Invoke-ListDomains.ps1 b/Modules/CIPPCore/Public/Entrypoints/Invoke-ListDomains.ps1 index 149eb8fa9a04..ccc23f75aad7 100644 --- a/Modules/CIPPCore/Public/Entrypoints/Invoke-ListDomains.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/Invoke-ListDomains.ps1 @@ -21,7 +21,7 @@ Function Invoke-ListDomains { $TenantFilter = $Request.Query.TenantFilter try { - $GraphRequest = New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/domains' -tenantid $TenantFilter | Select-Object id, isdefault, isinitial | Sort-Object isdefault + $GraphRequest = New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/domains' -tenantid $TenantFilter | Select-Object id, isdefault, isinitial | Sort-Object isdefault -Descending $StatusCode = [HttpStatusCode]::OK } catch { $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message diff --git a/Modules/CIPPCore/Public/Entrypoints/Invoke-ListFunctionParameters.ps1 b/Modules/CIPPCore/Public/Entrypoints/Invoke-ListFunctionParameters.ps1 index e3060be55daa..dcb21450d67d 100644 --- a/Modules/CIPPCore/Public/Entrypoints/Invoke-ListFunctionParameters.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/Invoke-ListFunctionParameters.ps1 @@ -30,10 +30,29 @@ function Invoke-ListFunctionParameters { $CommonParameters = @('Verbose', 'Debug', 'ErrorAction', 'WarningAction', 'InformationAction', 'ErrorVariable', 'WarningVariable', 'InformationVariable', 'OutVariable', 'OutBuffer', 'PipelineVariable', 'TenantFilter', 'APIName', 'ExecutingUser', 'ProgressAction', 'WhatIf', 'Confirm') $TemporaryBlacklist = 'Get-CIPPAuthentication', 'Invoke-CippWebhookProcessing', 'Invoke-ListFunctionParameters', 'New-CIPPAPIConfig', 'New-CIPPGraphSubscription' try { - $Functions = Get-Command @CommandQuery | Where-Object { $_.Visibility -eq 'Public' } + if ($Module -eq 'ExchangeOnlineManagement') { + $ExoRequest = @{ + AvailableCmdlets = $true + tenantid = $env:TenantID + NoAuthCheck = $true + } + if ($Request.Query.Compliance -eq $true) { + $ExoRequest.Compliance = $true + } + $Functions = New-ExoRequest @ExoRequest + Write-Host $Functions + } else { + $Functions = Get-Command @CommandQuery | Where-Object { $_.Visibility -eq 'Public' } + } $Results = foreach ($Function in $Functions) { if ($Function -In $TemporaryBlacklist) { continue } - $Help = Get-Help $Function + $GetHelp = @{ + Name = $Function + } + if ($Module -eq 'ExchangeOnlineManagement') { + $GetHelp.Path = 'ExchangeOnlineHelp' + } + $Help = Get-Help @GetHelp $ParamsHelp = ($Help | Select-Object -ExpandProperty parameters).parameter | Select-Object name, @{n = 'description'; exp = { $_.description.Text } } if ($Help.Functionality -in $IgnoreList) { continue } $Parameters = foreach ($Key in $Function.Parameters.Keys) { @@ -65,4 +84,4 @@ function Invoke-ListFunctionParameters { Body = @($Results) }) -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/Entrypoints/Invoke-ListGraphRequest.ps1 b/Modules/CIPPCore/Public/Entrypoints/Invoke-ListGraphRequest.ps1 index 4177e3e24368..f656bd541400 100644 --- a/Modules/CIPPCore/Public/Entrypoints/Invoke-ListGraphRequest.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/Invoke-ListGraphRequest.ps1 @@ -18,11 +18,11 @@ function Invoke-ListGraphRequest { $Parameters = @{} if ($Request.Query.'$filter') { - $Parameters.'$filter' = $Request.Query.'$filter' + $Parameters.'$filter' = $Request.Query.'$filter' -replace '%tenantid%', $env:TenantId } if (!$Request.Query.'$filter' -and $Request.Query.graphFilter) { - $Parameters.'$filter' = $Request.Query.graphFilter + $Parameters.'$filter' = $Request.Query.graphFilter -replace '%tenantid%', $env:TenantId } if ($Request.Query.'$select') { @@ -41,6 +41,7 @@ function Invoke-ListGraphRequest { $Parameters.'$count' = ([string]([System.Boolean]$Request.Query.'$count')).ToLower() } + if ($Request.Query.'$orderby') { $Parameters.'$orderby' = $Request.Query.'$orderby' } @@ -75,6 +76,14 @@ function Invoke-ListGraphRequest { $GraphRequestParams.NoPagination = [System.Boolean]$Request.Query.NoPagination } + if ($Request.Query.manualPagination) { + $GraphRequestParams.NoPagination = [System.Boolean]$Request.Query.manualPagination + } + + if ($Request.Query.nextLink) { + $GraphRequestParams.nextLink = $Request.Query.nextLink + } + if ($Request.Query.CountOnly) { $GraphRequestParams.CountOnly = [System.Boolean]$Request.Query.CountOnly } @@ -103,13 +112,19 @@ function Invoke-ListGraphRequest { } } - Write-Host ($GraphRequestParams | ConvertTo-Json) + if ($Request.Query.AsApp) { + $GraphRequestParams.AsApp = $true + } $Metadata = $GraphRequestParams try { $Results = Get-GraphRequestList @GraphRequestParams - + if ($Results.nextLink -and $Request.Query.NoPagination) { + $Metadata['nextLink'] = $Results.nextLink | Select-Object -Last 1 + #Results is an array of objects, so we need to remove the last object before returning + $Results = $Results | Select-Object -First ($Results.Count - 1) + } if ($Request.Query.ListProperties) { $Columns = ($Results | Select-Object -First 1).PSObject.Properties.Name $Results = $Columns | Where-Object { @('Tenant', 'CippStatus') -notcontains $_ } @@ -141,4 +156,4 @@ function Invoke-ListGraphRequest { StatusCode = $StatusCode Body = $Outputdata }) -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/Entrypoints/Invoke-ListInactiveAccounts.ps1 b/Modules/CIPPCore/Public/Entrypoints/Invoke-ListInactiveAccounts.ps1 index 559543a51a67..2ad45b5488bb 100644 --- a/Modules/CIPPCore/Public/Entrypoints/Invoke-ListInactiveAccounts.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/Invoke-ListInactiveAccounts.ps1 @@ -21,7 +21,7 @@ Function Invoke-ListInactiveAccounts { $TenantFilter = $Request.Query.TenantFilter if ($TenantFilter -eq 'AllTenants') { $TenantFilter = (get-tenants).customerId } try { - $GraphRequest = New-GraphGetRequest -uri "https://graph.microsoft.com/beta/tenantRelationships/managedTenants/inactiveUsers?`$count=true" -tenantid $env:TenantId | Where-Object { $_.tenantId -in $TenantFilter } + $GraphRequest = New-GraphGetRequest -uri "https://graph.microsoft.com/beta/tenantRelationships/managedTenants/inactiveUsers?`$count=true" -tenantid $env:TenantID | Where-Object { $_.tenantId -in $TenantFilter } $StatusCode = [HttpStatusCode]::OK } catch { $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message diff --git a/Modules/CIPPCore/Public/Entrypoints/Invoke-ListIntunePolicy.ps1 b/Modules/CIPPCore/Public/Entrypoints/Invoke-ListIntunePolicy.ps1 index 6bbf36a98274..8e65b6f27001 100644 --- a/Modules/CIPPCore/Public/Entrypoints/Invoke-ListIntunePolicy.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/Invoke-ListIntunePolicy.ps1 @@ -1,4 +1,3 @@ -using namespace System.Net Function Invoke-ListIntunePolicy { <# @@ -25,35 +24,80 @@ Function Invoke-ListIntunePolicy { if ($ID) { $GraphRequest = New-GraphGetRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$($urlname)('$ID')" -tenantid $tenantfilter } else { + $Groups = New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/groups?$top=999' -tenantid $tenantfilter | Select-Object -Property id, displayName - $GraphURLS = @("https://graph.microsoft.com/beta/deviceManagement/deviceConfigurations?`$select=id,displayName,lastModifiedDateTime,roleScopeTagIds,microsoft.graph.unsupportedDeviceConfiguration/originalEntityTypeName&`$expand=assignments&top=1000" - 'https://graph.microsoft.com/beta/deviceManagement/windowsDriverUpdateProfiles' - "https://graph.microsoft.com/beta/deviceManagement/groupPolicyConfigurations?`$expand=assignments&top=1000" - "https://graph.microsoft.com/beta/deviceAppManagement/mobileAppConfigurations?`$expand=assignments&`$filter=microsoft.graph.androidManagedStoreAppConfiguration/appSupportsOemConfig%20eq%20true" - 'https://graph.microsoft.com/beta/deviceManagement/configurationPolicies' + $BulkRequests = [PSCustomObject]@( + @{ + id = 'DeviceConfigurations' + method = 'GET' + url = "/deviceManagement/deviceConfigurations?`$select=id,displayName,lastModifiedDateTime,roleScopeTagIds,microsoft.graph.unsupportedDeviceConfiguration/originalEntityTypeName,description&`$expand=assignments&top=1000" + } + @{ + id = 'WindowsDriverUpdateProfiles' + method = 'GET' + url = "/deviceManagement/windowsDriverUpdateProfiles?`$expand=assignments&top=200" + } + @{ + id = 'GroupPolicyConfigurations' + method = 'GET' + url = "/deviceManagement/groupPolicyConfigurations?`$expand=assignments&top=1000" + } + @{ + id = 'MobileAppConfigurations' + method = 'GET' + url = "/deviceAppManagement/mobileAppConfigurations?`$expand=assignments&`$filter=microsoft.graph.androidManagedStoreAppConfiguration/appSupportsOemConfig%20eq%20true" + } + @{ + id = 'ConfigurationPolicies' + method = 'GET' + url = "/deviceManagement/configurationPolicies?`$expand=assignments&top=1000" + } ) - $GraphRequest = $GraphURLS | ForEach-Object { - $URLName = (($_).split('?') | Select-Object -First 1) -replace 'https://graph.microsoft.com/beta/deviceManagement/', '' - New-GraphGetRequest -uri $_ -tenantid $TenantFilter + $BulkResults = New-GraphBulkRequest -Requests $BulkRequests -tenantid $TenantFilter - } | ForEach-Object { + $GraphRequest = $BulkResults | ForEach-Object { + $URLName = $_.Id + $_.body.Value | ForEach-Object { $policyTypeName = switch -Wildcard ($_.'assignments@odata.context') { '*microsoft.graph.windowsIdentityProtectionConfiguration*' { 'Identity Protection' } '*microsoft.graph.windows10EndpointProtectionConfiguration*' { 'Endpoint Protection' } '*microsoft.graph.windows10CustomConfiguration*' { 'Custom' } + '*microsoft.graph.windows10DeviceFirmwareConfigurationInterface*' { 'Firmware Configuration' } '*groupPolicyConfigurations*' { 'Administrative Templates' } '*windowsDomainJoinConfiguration*' { 'Domain Join configuration' } '*windowsUpdateForBusinessConfiguration*' { 'Update Configuration' } '*windowsHealthMonitoringConfiguration*' { 'Health Monitoring' } + '*microsoft.graph.macOSGeneralDeviceConfiguration*' { 'MacOS Configuration' } + '*microsoft.graph.macOSEndpointProtectionConfiguration*' { 'MacOS Endpoint Protection' } + '*microsoft.graph.androidWorkProfileGeneralDeviceConfiguration*' { 'Android Configuration' } default { $_.'assignments@odata.context' } } + $Assignments = $_.assignments.target | Select-Object -Property '@odata.type', groupId + $PolicyAssignment = [System.Collections.Generic.List[string]]::new() + $PolicyExclude = [System.Collections.Generic.List[string]]::new() + ForEach ($target in $Assignments) { + switch ($target.'@odata.type') { + '#microsoft.graph.allDevicesAssignmentTarget' { $PolicyAssignment.Add('All Devices') } + '#microsoft.graph.exclusionallDevicesAssignmentTarget' { $PolicyExclude.Add('All Devices') } + '#microsoft.graph.allUsersAssignmentTarget' { $PolicyAssignment.Add('All Users') } + '#microsoft.graph.exclusionallUsersAssignmentTarget' { $PolicyExclude.Add('All Users') } + '#microsoft.graph.groupAssignmentTarget' { $PolicyAssignment.Add($Groups.Where({ $_.id -eq $target.groupId }).displayName) } + '#microsoft.graph.exclusionGroupAssignmentTarget' { $PolicyExclude.Add($Groups.Where({ $_.id -eq $target.groupId }).displayName) } + default { + $PolicyAssignment.Add($null) + $PolicyExclude.Add($null) + } + } + } if ($_.displayname -eq $null) { $_ | Add-Member -NotePropertyName displayName -NotePropertyValue $_.name } $_ | Add-Member -NotePropertyName PolicyTypeName -NotePropertyValue $policyTypeName $_ | Add-Member -NotePropertyName URLName -NotePropertyValue $URLName + $_ | Add-Member -NotePropertyName PolicyAssignment -NotePropertyValue ($PolicyAssignment -join ', ') + $_ | Add-Member -NotePropertyName PolicyExclude -NotePropertyValue ($PolicyExclude -join ', ') $_ } | Where-Object { $_.DisplayName -ne $null } - + } } $StatusCode = [HttpStatusCode]::OK } catch { @@ -66,5 +110,4 @@ Function Invoke-ListIntunePolicy { StatusCode = $StatusCode Body = @($GraphRequest) }) - } diff --git a/Modules/CIPPCore/Public/Entrypoints/Invoke-ListLicenses.ps1 b/Modules/CIPPCore/Public/Entrypoints/Invoke-ListLicenses.ps1 index 82bb1e4aab1f..d6580cab36d2 100644 --- a/Modules/CIPPCore/Public/Entrypoints/Invoke-ListLicenses.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/Invoke-ListLicenses.ps1 @@ -29,7 +29,6 @@ Function Invoke-ListLicenses { $Table = Get-CIPPTable -TableName cachelicenses $Rows = Get-CIPPAzDataTableEntity @Table | Where-Object -Property Timestamp -GT (Get-Date).AddHours(-1) if (!$Rows) { - #Push-OutputBinding -Name LicenseQueue -Value (Get-Date).ToString() $GraphRequest = [PSCustomObject]@{ Tenant = 'Loading data for all tenants. Please check back in 1 minute' License = 'Loading data for all tenants. Please check back in 1 minute' diff --git a/Modules/CIPPCore/Public/Entrypoints/Invoke-ListLogs.ps1 b/Modules/CIPPCore/Public/Entrypoints/Invoke-ListLogs.ps1 index 0a3877cfc4c9..56d168243bd4 100644 --- a/Modules/CIPPCore/Public/Entrypoints/Invoke-ListLogs.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/Invoke-ListLogs.ps1 @@ -10,44 +10,42 @@ Function Invoke-ListLogs { [CmdletBinding()] param($Request, $TriggerMetadata) - $AllowedTenants = Test-CIPPAccess -Request $Request -TenantList $APIName = $TriggerMetadata.FunctionName Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' - $TenantList = Get-Tenants -IncludeErrors - if ($request.Query.Filter -eq 'True') { - $LogLevel = if ($Request.query.Severity) { ($Request.query.Severity).split(',') } else { 'Info', 'Warn', 'Error', 'Critical', 'Alert' } - $PartitionKey = $Request.query.DateFilter - $username = $Request.Query.User - } else { - $LogLevel = 'Info', 'Warn', 'Error', 'Critical', 'Alert' - $PartitionKey = Get-Date -UFormat '%Y%m%d' - $username = '*' - } $Table = Get-CIPPTable $ReturnedLog = if ($Request.Query.ListLogs) { - - Get-CIPPAzDataTableEntity @Table -Property PartitionKey | Sort-Object -Unique PartitionKey | Select-Object PartitionKey | ForEach-Object { + Get-AzDataTableEntity @Table -Property PartitionKey | Sort-Object -Unique PartitionKey | Select-Object PartitionKey | ForEach-Object { @{ value = $_.PartitionKey label = $_.PartitionKey } } } else { + if ($request.Query.Filter -eq 'True') { + $LogLevel = if ($Request.query.Severity) { ($Request.query.Severity).split(',') } else { 'Info', 'Warn', 'Error', 'Critical', 'Alert' } + $PartitionKey = $Request.query.DateFilter + $username = $Request.Query.User + } else { + $LogLevel = 'Info', 'Warn', 'Error', 'Critical', 'Alert' + $PartitionKey = Get-Date -UFormat '%Y%m%d' + $username = '*' + } + $AllowedTenants = Test-CIPPAccess -Request $Request -TenantList $Filter = "PartitionKey eq '{0}'" -f $PartitionKey - $Rows = Get-CIPPAzDataTableEntity @Table -Filter $Filter | Where-Object { $_.Severity -In $LogLevel -and $_.user -like $username } + $Rows = Get-AzDataTableEntity @Table -Filter $Filter | Where-Object { $_.Severity -In $LogLevel -and $_.user -like $username } foreach ($Row in $Rows) { - if ($AllowedTenants -notcontains 'AllTenants') { - if ($Row.Tenant -ne 'None') { + $TenantList = Get-Tenants -IncludeErrors + if ($Row.Tenant -ne 'None' -and $Row.Tenant) { $Tenant = $TenantList | Where-Object -Property defaultDomainName -EQ $Row.Tenant - if ($Tenant.customerId -notin $AllowedTenants) { + if ($Tenant -and $Tenant.customerId -notin $AllowedTenants) { continue } } } - $LogData = if ($Row.LogData -and (Test-Json -Json $Row.LogData)) { + $LogData = if ($Row.LogData -and (Test-Json -Json $Row.LogData -ErrorAction SilentlyContinue)) { $Row.LogData | ConvertFrom-Json } else { $Row.LogData } [PSCustomObject]@{ @@ -65,7 +63,6 @@ Function Invoke-ListLogs { } } } - } Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ diff --git a/Modules/CIPPCore/Public/Entrypoints/Invoke-ListMFAUsers.ps1 b/Modules/CIPPCore/Public/Entrypoints/Invoke-ListMFAUsers.ps1 index e73aa9205517..0cdf963febe6 100644 --- a/Modules/CIPPCore/Public/Entrypoints/Invoke-ListMFAUsers.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/Invoke-ListMFAUsers.ps1 @@ -24,13 +24,13 @@ Function Invoke-ListMFAUsers { $Rows = Get-CIPPAzDataTableEntity @Table | Where-Object -Property Timestamp -GT (Get-Date).AddHours(-2) if (!$Rows) { - $Queue = New-CippQueueEntry -Name 'MFA Users - All Tenants' -Link '/identity/reports/mfa-report?customerId=AllTenants' + $TenantList = Get-Tenants -IncludeErrors + $Queue = New-CippQueueEntry -Name 'MFA Users - All Tenants' -Link '/identity/reports/mfa-report?customerId=AllTenants' -TotalTasks ($TenantList | Measure-Object).Count Write-Information ($Queue | ConvertTo-Json) - #Push-OutputBinding -Name mfaqueue -Value $Queue.RowKey $GraphRequest = [PSCustomObject]@{ UPN = 'Loading data for all tenants. Please check back in a few minutes' } - $Batch = Get-Tenants -IncludeErrors | ForEach-Object { + $Batch = $TenantList | ForEach-Object { $_ | Add-Member -NotePropertyName FunctionName -NotePropertyValue 'ListMFAUsersQueue' $_ | Add-Member -NotePropertyName QueueId -NotePropertyValue $Queue.RowKey $_ @@ -46,6 +46,15 @@ Function Invoke-ListMFAUsers { Write-Host "Started permissions orchestration with ID = '$InstanceId'" } } else { + $Rows = foreach ($Row in $Rows) { + if ($Row.CAPolicies) { + $Row.CAPolicies = try { $Row.CAPolicies | ConvertFrom-Json } catch { $Row.CAPolicies } + } + if ($Row.MFAMethods) { + $Row.MFAMethods = try { $Row.MFAMethods | ConvertFrom-Json } catch { $Row.MFAMethods } + } + $Row + } $GraphRequest = $Rows } } diff --git a/Modules/CIPPCore/Public/Entrypoints/Invoke-ListMailboxStatistics.ps1 b/Modules/CIPPCore/Public/Entrypoints/Invoke-ListMailboxStatistics.ps1 deleted file mode 100644 index 795812096c50..000000000000 --- a/Modules/CIPPCore/Public/Entrypoints/Invoke-ListMailboxStatistics.ps1 +++ /dev/null @@ -1,66 +0,0 @@ -using namespace System.Net - -Function Invoke-ListMailboxStatistics { - <# - .FUNCTIONALITY - Entrypoint - .ROLE - Exchange.Mailbox.Read - #> - [CmdletBinding()] - param($Request, $TriggerMetadata) - - $APIName = $TriggerMetadata.FunctionName - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' - - - # Write to the Azure Functions log stream. - Write-Host 'PowerShell HTTP trigger function processed a request.' - - # Interact with query parameters or the body of the request. - $TenantFilter = $Request.Query.TenantFilter - try { - - $GraphRequest = if ($TenantFilter -ne 'AllTenants') { - New-GraphGetRequest -uri "https://graph.microsoft.com/beta/reports/getMailboxUsageDetail(period='D7')" -tenantid $TenantFilter | ConvertFrom-Csv | Select-Object @{ Name = 'UPN'; Expression = { $_.'User Principal Name' } }, - @{ Name = 'displayName'; Expression = { $_.'Display Name' } }, - @{ Name = 'MailboxType'; Expression = { $_.'Recipient Type' } }, - @{ Name = 'LastActive'; Expression = { $_.'Last Activity Date' } }, - @{ Name = 'UsedGB'; Expression = { [math]::round($_.'Storage Used (Byte)' / 1GB, 2) } }, - @{ Name = 'QuotaGB'; Expression = { [math]::round($_.'Prohibit Send/Receive Quota (Byte)' / 1GB, 2) } }, - @{ Name = 'ItemCount'; Expression = { $_.'Item Count' } }, - @{ Name = 'HasArchive'; Expression = { If (($_.'Has Archive').ToLower() -eq 'true') { [bool]$true } else { [bool]$false } } } - $StatusCode = [HttpStatusCode]::OK - } else { - $Table = Get-CIPPTable -TableName 'cachereports' - $Rows = Get-CIPPAzDataTableEntity @Table | Where-Object -Property Timestamp -GT (Get-Date).AddHours(-1) - if (!$Rows) { - $Queue = New-CippQueueEntry -Name 'Reports' -Link '/email/reports/mailbox-statistics?customerId=AllTenants' - Push-OutputBinding -Name mailboxstats -Value "reports/getMailboxUsageDetail(period='D7')?`$format=application/json" - [PSCustomObject]@{ - Tenant = 'Loading data for all tenants. Please check back after the job completes' - } - $StatusCode = [HttpStatusCode]::OK - } else { - $Rows.Data | ConvertFrom-Json | Select-Object *, @{ Name = 'UPN'; Expression = { $_.'UserPrincipalName' } }, - @{ Name = 'MailboxType'; Expression = { $_.'RecipientType' } }, - @{ Name = 'LastActive'; Expression = { $_.'LastActivityDate' } }, - @{ Name = 'UsedGB'; Expression = { [math]::round($_.'storageUsedInBytes' / 1GB, 2) } }, - @{ Name = 'QuotaGB'; Expression = { [math]::round($_.'prohibitSendReceiveQuotaInBytes' / 1GB, 2) } } - $StatusCode = [HttpStatusCode]::OK - } - } - - - } catch { - $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message - $StatusCode = [HttpStatusCode]::Forbidden - $GraphRequest = $ErrorMessage - } - # Associate values to output bindings by calling 'Push-OutputBinding'. - Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ - StatusCode = $StatusCode - Body = @($GraphRequest) - }) -clobber - -} diff --git a/Modules/CIPPCore/Public/Entrypoints/Invoke-ListMailboxes.ps1 b/Modules/CIPPCore/Public/Entrypoints/Invoke-ListMailboxes.ps1 index f136d38cbd5e..260241fa972f 100644 --- a/Modules/CIPPCore/Public/Entrypoints/Invoke-ListMailboxes.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/Invoke-ListMailboxes.ps1 @@ -20,7 +20,7 @@ Function Invoke-ListMailboxes { # Interact with query parameters or the body of the request. $TenantFilter = $Request.Query.TenantFilter try { - $Select = 'id,ExchangeGuid,ArchiveGuid,UserPrincipalName,DisplayName,PrimarySMTPAddress,RecipientType,RecipientTypeDetails,EmailAddresses,WhenSoftDeleted,IsInactiveMailbox' + $Select = 'id,ExchangeGuid,ArchiveGuid,UserPrincipalName,DisplayName,PrimarySMTPAddress,RecipientType,RecipientTypeDetails,EmailAddresses,WhenSoftDeleted,IsInactiveMailbox,ForwardingSmtpAddress,DeliverToMailboxAndForward,ForwardingAddress' $ExoRequest = @{ tenantid = $TenantFilter cmdlet = 'Get-Mailbox' @@ -38,7 +38,7 @@ Function Invoke-ListMailboxes { @{Parameter = 'SoftDeletedMailbox'; Type = 'Bool' } ) - foreach ($Param in $Request.Query.Keys) { + foreach ($Param in $Request.Query.PSObject.Properties.Name) { $CmdParam = $AllowedParameters | Where-Object { $_.Parameter -eq $Param } if ($CmdParam) { switch ($CmdParam.Type) { @@ -48,7 +48,9 @@ Function Invoke-ListMailboxes { } } 'Bool' { - if ([bool]$Request.Query.$Param -eq $true) { + $ParamIsTrue = $false + [bool]::TryParse($Request.Query.$Param, [ref]$ParamIsTrue) | Out-Null + if ($ParamIsTrue -eq $true) { $ExoRequest.cmdParams.$Param = $true } } @@ -63,7 +65,10 @@ Function Invoke-ListMailboxes { @{ Name = 'primarySmtpAddress'; Expression = { $_.'PrimarySMTPAddress' } }, @{ Name = 'recipientType'; Expression = { $_.'RecipientType' } }, @{ Name = 'recipientTypeDetails'; Expression = { $_.'RecipientTypeDetails' } }, - @{ Name = 'AdditionalEmailAddresses'; Expression = { ($_.'EmailAddresses' | Where-Object { $_ -clike 'smtp:*' }).Replace('smtp:', '') -join ', ' } } + @{ Name = 'AdditionalEmailAddresses'; Expression = { ($_.'EmailAddresses' | Where-Object { $_ -clike 'smtp:*' }).Replace('smtp:', '') -join ', ' } }, + @{Name = 'ForwardingSmtpAddress'; Expression = { $_.'ForwardingSmtpAddress' -replace 'smtp:', '' } }, + @{Name = 'InternalForwardingAddress'; Expression = { $_.'ForwardingAddress' } }, + DeliverToMailboxAndForward $StatusCode = [HttpStatusCode]::OK } catch { $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message diff --git a/Modules/CIPPCore/Public/Entrypoints/Invoke-ListRooms.ps1 b/Modules/CIPPCore/Public/Entrypoints/Invoke-ListRooms.ps1 index 34074ce76c3c..b99a00ae4c83 100644 --- a/Modules/CIPPCore/Public/Entrypoints/Invoke-ListRooms.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/Invoke-ListRooms.ps1 @@ -22,9 +22,9 @@ Function Invoke-ListRooms { try { $params = @{ - uri = 'https://graph.microsoft.com/beta/places/microsoft.graph.room' + uri = 'https://graph.microsoft.com/beta/places/microsoft.graph.room' tenantid = $TenantFilter - AsApp = $true + AsApp = $true } $GraphRequest = New-GraphGetRequest @params diff --git a/Modules/CIPPCore/Public/Entrypoints/Invoke-ListmailboxPermissions.ps1 b/Modules/CIPPCore/Public/Entrypoints/Invoke-ListmailboxPermissions.ps1 index 41f16aba1e48..ae08abddcd8a 100644 --- a/Modules/CIPPCore/Public/Entrypoints/Invoke-ListmailboxPermissions.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/Invoke-ListmailboxPermissions.ps1 @@ -13,40 +13,50 @@ Function Invoke-ListmailboxPermissions { $APIName = $TriggerMetadata.FunctionName Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' - - # Write to the Azure Functions log stream. - Write-Host 'PowerShell HTTP trigger function processed a request.' - # Interact with query parameters or the body of the request. - $TenantFilter = $Request.Query.TenantFilter + $TenantFilter = $Request.Query.tenantFilter + $UserID = $Request.Query.userId - Write-Host "Tenant Filter: $TenantFilter" try { - $Bytes = [System.Text.Encoding]::UTF8.GetBytes($Request.Query.UserID) - $base64IdentityParam = [Convert]::ToBase64String($Bytes) - $PermsRequest = New-GraphGetRequest -uri "https://outlook.office365.com/adminapi/beta/$($tenantfilter)/Mailbox('$($Request.Query.UserID)')/MailboxPermission" -Tenantid $tenantfilter -scope ExchangeOnline - $PermsRequest2 = New-GraphGetRequest -uri "https://outlook.office365.com/adminapi/beta/$($tenantfilter)/Recipient('$base64IdentityParam')?`$expand=RecipientPermission&isEncoded=true" -Tenantid $tenantfilter -scope ExchangeOnline - $PermRequest3 = New-ExoRequest -Anchor $Request.Query.UserID -tenantid $Tenantfilter -cmdlet 'Get-Mailbox' -cmdParams @{Identity = $($Request.Query.UserID); } - - $GraphRequest = foreach ($Perm in $PermsRequest, $PermsRequest2.RecipientPermission, $PermRequest3) { + $Requests = @( + @{ + CmdletInput = @{ + CmdletName = 'Get-Mailbox' + Parameters = @{ Identity = $UserID } + } + } + @{ + CmdletInput = @{ + CmdletName = 'Get-MailboxPermission' + Parameters = @{ Identity = $UserID } + } + } + @{ + CmdletInput = @{ + CmdletName = 'Get-RecipientPermission' + Parameters = @{ Identity = $UserID } + } + } + ) - if ($perm.Trustee) { - $perm | Where-Object Trustee | ForEach-Object { [PSCustomObject]@{ + $Results = New-ExoBulkRequest -tenantid $TenantFilter -cmdletArray $Requests + $GraphRequest = foreach ($Perm in $Results) { + if ($Perm.Trustee) { + $Perm | Where-Object Trustee | ForEach-Object { [PSCustomObject]@{ User = $_.Trustee Permissions = $_.accessRights } } - } - if ($perm.PermissionList) { - $perm | Where-Object User | ForEach-Object { [PSCustomObject]@{ + if ($Perm.AccessRights) { + $Perm | Where-Object User | ForEach-Object { [PSCustomObject]@{ User = $_.User - Permissions = $_.PermissionList.accessRights -join ', ' + Permissions = $_.AccessRights -join ', ' } } } - if ($perm.GrantSendonBehalfTo -ne $null) { - $perm.GrantSendonBehalfTo | ForEach-Object { [PSCustomObject]@{ + if ($Perm.GrantSendonBehalfTo -ne $null) { + $Perm.GrantSendonBehalfTo | ForEach-Object { [PSCustomObject]@{ User = $_ Permissions = 'SendOnBehalf' } @@ -64,7 +74,4 @@ Function Invoke-ListmailboxPermissions { StatusCode = $StatusCode Body = @($GraphRequest) }) - - - } diff --git a/Modules/CIPPCore/Public/Entrypoints/Invoke-PublicPhishingCheck.ps1 b/Modules/CIPPCore/Public/Entrypoints/Invoke-PublicPhishingCheck.ps1 index 105bdf0df0d8..74fc86ca5da8 100644 --- a/Modules/CIPPCore/Public/Entrypoints/Invoke-PublicPhishingCheck.ps1 +++ b/Modules/CIPPCore/Public/Entrypoints/Invoke-PublicPhishingCheck.ps1 @@ -6,39 +6,16 @@ Function Invoke-PublicPhishingCheck { Entrypoint #> [CmdletBinding()] - param($Request, $TriggerMetadata) - Write-Host ($request | ConvertTo-Json) - - # List valid referers - $validList = @( - 'https://login.microsoftonline.com', - 'https://login.microsoft.net', - 'https://login.microsoft.com', - 'https://autologon.microsoftazuread-sso.com', - 'https://tasks.office.com', - 'https://login.windows.net' - ) - - $matchedUrls = $validList | Where-Object { ([uri]$_).Host -in ([uri]$($request.headers.Referer)).Host } - if ($matchedUrls) { - Write-Host 'Not being Phished, no issue' - } else { - $bytes = [Convert]::FromBase64String('iVBORw0KGgoAAAANSUhEUgAAAbEAAAFUCAIAAAAlO5XXAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAALCCSURBVHhe7X0HoCVZVW2/9zr36zQ9OTLDEERRklkx54AR9ZsjoIjpGwBBFBWzoKKIfFHMqKgfRBQUUD5iQJSkwDA5MDOdu18O96+w965z7+tmhmGGSWd13XN2WHufU6eq9q0b+r6p0Useuqmjo6OjQ5iOvqOjo6Oj18SOjo6OFr0mdnR0dAzoNbGjo6NjQK+JHR0dHQN6Tezo6OgY0GtiR0dHx4BeEzs6OjoG9JrY0dHRMaDXxI6Ojo4BvSZ2dHR0DOg1saOjo2NAr4kdHR0dA3pN7Ojo6BjQa2JHR0fHgF4TOzo6Ogb0mtjR0dExoNfEjo6OjgG9JnZ0dHQM6DWxo6OjIzHqNbGjo+N+jtGmTetoRxR6Tezo6Lg/guVvSi0ewjpUlsVeEzs6Ou4HcPlDi1tC3hViW6ewNjVY1Paa2NHRcZ8Ey56b3OJOUNtIN4airdvoijnqNbGjo+M+BJc51jjdAFJgpVPJQ/mDqiLoV8q8Q5yKMLv6584dHR33ZriiZe1j4VOZYysLqx66NE4w8YjKOJB7Tezo6Li3oaob7/hcy7Sx2JWcN4OwrFm1ME4rMjfWzV4TOzo67iWIMqeK5uqGB9Vsw7s+/upYTGwW4nW0+eUSX22viR0dHfdMqHKpV8GCgFfKKmR0aQs7NtU2yGuwu6yt0w7II1m6Q9ooNsoMYb3fJ3Z0dNxzoBoVBcs3eqxxUHXrR0HtGkoYSpsI0Ckkn0lUHMPoSofWRiq0OI9eLOd9pY39/cSOjo57AlieXKeoDDULYLWS4LqGlgSUNqvYUNQUnnWNRruCAAEElVFuolUbriD3mtjR0XF3wDWIm6uYChketLhstVsSvBWHeWxXICS6tNEChwS2qKH6kraUqIMRVRxuvSZ2dHR8SODKFa1qUCFKmD45AcMyKPWSlq5ptt6cwXZu+T6jiprUlKliAxk1FOUuP34hWXeXYDCVaGp7Tezo6LjroHLDDQ+0vjVDKwvlEetgFClFWPWLWdPCpbu8iLJX2QDnYQgDxDG5Kp35NXQaTYgRTWbh7Ojo6LjzMBQdtK41KFIqPZRVyOCKOgVVluCjyxSDUXbwaUSjnOViHmzTyfeI5mgg2ykrZ4wiOTZPAEaY+3dxOjo6PkhMuaCoRcWhgKrUtJum+Emx1fCmi2/zqd7RBaMLpQjORg6YCNetH4udQmyPPMl0nlBxB1pl1K1rn5Lz3jBDaHQqbP1z546OjjuAKjSsL6p3/oEZSFFligALFaqAK5GI8opGb5YzchyohCTYZRmVEbeElhXLljGDChc6RKFlEk0vOJpbxHpzNRSHgf39xI6OjtsP1hTVEbaqWaHabouLTlaZ4NjuAiQBJocwKmtZ1C9ZJHHQ8PqmD4TKY75kEIbX5jKGHYJvRc1X7eaOKDkJIjOzjGv9tXNHR8fpgDLBtopLtq5E3qqasPToZq0KDQVnKKNkC21Oy3bHq9oslN7CYjWj0FGusdKOafhDauhVbUXnBljFXkAo2ZPP/wTT0dHRYahsoHG5icKkosPykZXOLYUqcChDVWXqM2Kp2CBRSDJfbmcho9fGad3rqai1sRCoglllMUO4eYatJd9G9C2hLU7oPDBZNo0GTNhz6/eJHR0dRlQHbKoUrBGoHU0ZclWKsiImrDRKpl00mlVffAcHAQmDjCbTOXNtzCkCHhiFFpc2qA5MQoQ0EwuLZJuitormyZBvIfNHiO9t09K/i9PRcb+Ea5Y2FoJqXX2wqYui5lKCTWq0Uv25CjaSFYsHU7mVS5kosE7pdoyjOHOSsQFFpgX8/Ooiw6v1LZ7GhYAHVYdIgj1ypp3DeXNsbsOIaVLTa2JHx/0JLgHcJKMooGvrCGtWuibINqIDBy3sbGWxC5YgnCqtW4CyvihDrzl+nQumX3QrSjmUUy5mk+zaCj0ymyaBLg1kvmPtbWXkMQFtlXVuSNjfT+zouI9DhSOKglrfZMkjb9YmVAfT0Na9VdURgMZ0kZwtqwmEZMbNHewKc5Q3MmHSDSBa+sWhN/OQIAsE2qXAa9k5Kee07UUgwAw1H9OqdGpKnBuJEhTlcZkEDdT+fmJHx30QvsJ1tbMcqK3NRYpGlw9ZIbN1NATVFDMppEwvihE2FxTY1TJVDkeOvIAtHstDMI9DxDSBW1XDSuXRFcgRJTNE9mgzAx4Ml9GtXQz0raWM3FQZ2zl4aLv6/3fu6LjvoK75qFNZs9AN1zyMfpXaFo7yWlXJ820jVZOhgiCZDo/XvoCVwJ87rDyisZERgjeWJAsqRlGz/GafZshJmuNUGhoSm6bUUshJ1qBhlLveQMSjaF4WKHQ1n4+zZZJeEzs67s3gxYwLvClDVLX5Itd1npY08pVjU5u8oZSYBiXqpmUTlIe0TEXBxUs5EWILWlgdhSFQ+Fz7IoMiKafATYEACd5q2oiFnHOz3eG0eCARIDhDbdwLeZkfQrM5YcjOH5PsNbGj414CXL1uY3NRSIHeLC6WbRxcvvJbY8rc4IViGvpMZdk11Hy7gubYoaCQYzseFFT1pCdHZAe6jNrPhJkZne1o0cHCPCrTAz8Hiihs6cWj7NE2hIhKlclrPpxmr4kdHfdk6DL19YwOV7gvXWz+fINGMCSb5o3GIrsumKMkdKYXD8q+pRq3uKLF3VZVFlUQGys/Q1KGi7eHVk3WWCSbpjlAYKuyCIUq+xQU4iE4E02ek3QqpTW7hmCLbH67UN5YLtNMkGqL8zCnXkGTQ7HXxI6Oex58AfOK9U9gqRxEIYBdVzsFFRRe4L7CIaTF5SCM423UFwgVhVy2SOVdoThkWsiN/GyhQqKQfGeg3YI2PMqO1vxhc1pxADNZ1JAwyXiE7FiHSOATgypabEWArMlDgp00W0wQOZgg2GtLr4kdHfccxBWLh1uo+X09X6+4ekuN67/KIjZXCgmASwB0W0oGB5tyyN5UBOQ06JLKTeXYUVV0QlXRYZJ8jUyCp5Ec5lHrbTBqXMairRtAuQAIkEwAM8q0vObAjkpHTptHo3NNJAwJLatlBq+MZKpoc537b4V1dNyd4DXpi1lXpq9VtL7+YTEHAooC7558zZspO4uRBG/mD2UiaxlVbR6CglTyMWLOgVt55WY4LCZkrDyZ2UOo5e2YBJMBJkcHu+YZm5LgQUFTZQZsssRwVb/Mx5aLANCo/BBYLoupFh2FZrZVDS2zAnqeymwXHhD6/3fu6LgbwCtTW1y0LgRyULWlaYPmEMeqIkDilS+jtzWlcglwLLOmik1WblSTaQ5pVdok+yUnN9jTSKZTWXAGyZHHat55MVb3dFAhMCRltppzZPZw8lKQ14JSBhzFEBsdLoGWGkhjRes7SjYxOumyQEXHENv7fWJHx10NX5O8ArXxusWWF2Rcw2jhkmxXbDBO648ryRjZsK3H/REUh1gYCNqYWWktu40bK09ARhas5NhCWR0a5vSHLZI9SW6VNquny1wIsCAkN1gdztZGyRBUlIbNSTyKCUGWQKN4zk+m0taswljzgT1pdjkWi+CVpxHknG3/jKWj464CLzlddbgI60Ll5UdDXJB2iS1j0oKgyxWt7SawbWTaTVMS05hEAh682iXTLqYJtEBWfrvhssDGFhlcUzyHCNSUYmtV87FpPia7+pQLNLvsDb4FJaGMmeRrbXoRDruTSHB+E7BhCHQ1AQgy5LgK557mNPBgHtGYB+rw0n5q9JKH0tHR0fHBgxezrrS4LKf0t0pgTEv6dfmVYq9pVqHpCg+j5Cld0nhQppkCLYKNVtk63JDDRsged5gqG9lRHjyEIG4Injwh6zBbp2qpZfS+p2onRXst0xyqgbIVUIZwZAgEjIV1cDkrDFqTKsK9R7JK02K2rnKo7587d3TcccQV5XsZ33H4Ew9dmdws6JaEZN0E8R5Hgr1xy6Prk0KG+6aGsmMhO7k4EwI2EsTkfZkE5yTBw8lCQTkHo0g0gu9AqTQ6ecrclCHmBlVvGgLBtDf3Lt6OzFjAdqo5E/KtaoOvDYktVc4kW8e6pWo5d3nYENvYOdwEJ+eAtJD7+4kdHR8gcNn4WnJd8JUpE1UY00Kj3qqzbC9d9eEDNl2H3mCEKVw2Sh7ICCdJxrySQaMFqvmi0qWxSMjNcnkVFqMMZdRGNA4XAXAdcUIT4AqmE1q1BZtvxOoFaQ5acuviSkqhS3K5wLRMwQRtNuLhgcJbHPPrw2UN533BxqhMyBYjalAz++fOHR23C7yU8nJlBcGmqxrwxYYrKq46e3l1sSBC8uVHjhzMo2uSm2W1TmJCWGorl6Jal/MMsgPRSrexbSl4MpKrZIddAjrLgGm0SLWdWwYCGJRt2gHm1144PAgqTKTl6JTRmuxw55clkpuTa1IhXiUIOBxOW0wAAjcPJ5eN8PrwAU5IDrLJRHK/T+zo2AhdVrpydMHEdZXlgObmYqvq4Erka5JRcusyCybtuozjutWlWN4hIXONBbYbjCF7CCZqMuSIvuDpcip73WYtMGwPl1KxUOYodsHC4SBDKBoIUqGYhq2iLJTXRgq1XNg0T1IkOGG5aMxYdB5UooyNBbDsUTxuqXZxF2SB4qXDWgHkwJXe9f4ZS0dHABdnXmNsLfmKlYhLizAtr2RpkuXhFS7dRsJqyy+OBWTDrYkF0QgT8FB5MujFVauqYQxCpip+uKzWiLKUjKj4JCds7ILTWNiImZpmAUl1hPlsVRQs06g4VjO5ZQBNTDURGSB59yFpBylqubykwVHnPULLWdlusgs0nLkXaJ3Emc0MeDjDCUXe1F87d9yfwcsgt7gPwiYdF4xlvtSCqivKFl+ltviFmAkMh+K2+JmnbnlIboZjNr/I1XVuAlqoaJ3fqjkV5YRB9gTSiw0Ijo1oaybJh2QyZc8KnCwfMDqnZUT5bhFTgmkYS0N4FHiBWBOmJxwLtV0re9ECjJKFLVJJ9lsT5JisaXDasJijiuYkVjkcFFvE8XwqiV0OYUIYZYeMuWWqXhM77mfwZTDR+rKhN7e4chwCwUwL4tuCR1xLslDFlvWCtOadfraOlYqOE/DnsxJ4JTvKluSbzPyVB7HmqDTQmEmcn5XLJU95OCuncpsDVf3yHCCBxgKhKKd2FJ0aFJLDza/XpOR4DjTLa7tDyg5jjkUjNk8mczpVqM6Aze8J5EDRKtz7FZacDI1ZNAG4KtbGEDxhedlS7a+dO+4H4PmPR5aPgCRfxvDg8qiXh7yMcd34Ja0tiJaRNJvTZSBk7HWoSBBMpkWXHDkwpcUgYWJ0u2zRT+NUcmSkYFcyw5UoNQR0WWLClNMDsEd4tWsvpwETVCgeSAjBk5diCzSsU9rUWhHTRiAmnxb69VKXo6TF46JjFZNgp12WAYeEqgzt6BjIx9HzrDY4ZKQgoKfX0xO40r0mdtyH0V6xgAW0w2Uji0nlDZhjfqYKY7Yy0WcmMIRLHsum3nFAeEu3RSoalgYBxqCIltxBACyjbZJpwhoUOeOyh1toixHbHM9M132qmaEtNAWoLkmUxzzK35Q8y4xuBAd4ks5iOluPJdDpyUNujDbZLhJb5x+ySfaIYVFboxsgODPN/T6x4z6GOtV9ovMsr+swHCEMF0V7SaQdra4QJcm7D9sNE6pyGRFVNOmUU2hnUq0tE4Eel6Kvc4ECeJY3tKfIrJ11KhuB8J6qWATNI1a6qolpS/MgAJZrhuHCAuE+N3U2TVr3NRam5BZjuS6TMEGWtXIMbQZSbFYM1JAhoE1azZMWedFp0F4TO+7VyDPeF4nEOO9D1PWDcz19zcUA+HoQfLGFakJeLXEvQ0PAZG6YQCanVhez5sBrz3w8WloVUylsxPe+mNmmdaqSbTfNeZzQSahqGkEbegmylwWA7Hlu9FqI0WHXmwmtNwLbQQ2RSPCeWgozu9oLWzgEWtOcM8TAINghwR80B012NOyVocKR3AtLu/PbJ36QigxWr4kd9y7oZM6TO2xptGylBF0DFH0BFS0DrA40PhhLeyVFLzsFqeYPgtrhapTFhUnNAMitClBVmC9da2wzsghoY1Ag5QgSIZgCDW2dsidnG9miV6zUQo3uFurghaS06xaS4N23XOzW0hJqbt7rpCc8z7Jj9Dx8QB0L08hp4i2SIhqLcoMis6nY2rv+2rnj3gGcsjr7eZb7avF53LRGyGijyXPdyFhfbzQkP8hNXTvlrVYxAQgxpSS0LsMCs0mAyvwe3alylGFijlHbVjR7mUFOz9NcwuESw6hu+PKjbREcKiEXzRqL6+zkVnOgNoRCKdo1Z2WnDGxtdGev7NUjPzNjq9vPyEJ4ntDAGVQd62Al2RFubYzimTntQh4sJrMpDzAWWEKviR33ZAxXlE5YNlJ9/vok5nWF8z7tNo5dPGlMncLYZWOzvbBM847SGUQKDkBBxnBp6InLjAJ5gRIppMI+wzlPhzuDZTHRxzyzpBIghCRAQRIJUcQdUFPKdYDaThWIGiEXGW7Sol6qJyktanT4crYak8S69WOj/ZLA1oxm9MGVKLlc4HIFMg8w8JXKHGmTLrcRm4I3z8WwQKOZ6HtN7LiHACdlXHLNuUtZp2pcS5YlFqiKbTtF3SzEuV+XdzJptjEugyAWDQhvZrClSgOnZEmgy4L4lgNS2ODRzAQS5wC+6u+Q1gIeThWODMwkHsgrll8Zkl2E0G1R8lhDO0WgQTo5ttMUXtql0pEzRNvm58Fa11eUHJsCyTlzEstCwwCoZRnCpQKTrtR9hjibPUA4awjtFFUFovFTC2IZqLAa0TEOVNtrYsfdDZ+ccdaq9QkKhOBzPc/g8gKM1ak/KcCnRLS4CGojSjnlO032ZCo8IMR/VkvCWDZAnBIcW2oI4jvQUoVPCDVbI4xqicwJi3PHLmiIMMnHlcww9jJaqAyBmiegIgutQswjwUNQUatsg6UlaM2JzIyG8zRNfTBhUFRMwHz5gqP1tFotOnpxO29XQ/DQzFlPFCLENLx3TRtfzNSgaBk41Wtix4cePonz8uCjqRFAyHWalgUCzvgkV8tTOhlOC6tP9LBY1VUBG0Oai5+xjgJEUB9ezs11SiZa0oecFDMkjI4yzJFd15ttkc0qIZOjYjJSamLhUovOgU5IjuBRKFSCDUOMPQfAiyYKAfMwqllwhmqV1FP3WwrWHZIjyS415iPVUe1nI4D9HE5kqwWoHsIfiLmS+ogHU0NbgUARFqji2OOWFM9HeuzmxgyagzSj18SODwl8zuWpONYakEPVxckrQh1P3zBz85ltnae4YsAkX7KTsLUKsmgRCGNznZhsC7z2p3WsgthWSaimwF4Xm68ugKn0P16cudIONy/KMzFhZq4kIhBSIcZkGiP7SE1wBdDVvsgezrwzKr4JYVQgXZgzZih+wXYLJpeTghKGpdlZu6KG5rhsAbH9hITMYYRZnCIzG62R1nnh8hzscWt6Ka0XnbNVzmonloscW/pnLB13EeIMk+BuONdlYmNLmNlaQEdZ5zftjk3QKIJjKIgcV2AZGw7asDQXtj0yDwg5Y2NcqwnK0ulVtWXRMDM87IZYCbCTHl3SIGpKvkS9MjGuZDTBrACIjZexUENp8ssYQdHRCAL96a1bP1OqVQ61MnlEt3YZMe3GQjT7ng0BAWYV2CGVVR6Uia92Cx49hnBXu2CCU6A1R8aAFhkEJKdWMTkoMKyenKT0mthxl0BXBc/AONFs5bnoc9QtT+b0oiFX57Hhu6pQFaLevDib0UL1TYfLgfluiSbQye2ibTyQBircHEIh+kAQLLuThXI7kFU0sqDhRViBmja9oZNBWbqHCI7CrYbgXhxusjvWLkLZrHogAwLoLgcD2YTK08D1iEK2fA2rGsrxcw6eG73iscRIIE3ecqFRP4AnQJMBD2d21fPxrRDSMk+IktDInKoUEyimxbCIllPCywvrSpLoNbHjg0ee+nj4nLbFLja2yABAaE9ZuiCNV0DaTZCpskGzc8gpgi3M48AJQW1dG+6dwSpFZFPIQG4IBoWipb8Cx658ZYgE7dCZk3K1eIAjtaqAc1pGR4rywN7e3KF3mavEbCVZtQMyNpOLCdAohwl4OHMxOFyGY3OsBXoh2TJRv6KXUMUxyaGmYGuE5DqERVHtjMJrQYppFmoObtExPx05Q8vjXjRNde41seMOoU41nE3oecLZrkecc7bnmYenfX6AK9mhpkUqStWMn7g4a6XSkuF8WDYzOYYtbNNbxhjY79/XlSyLhZgzZEEettw2uKpjk/OpNoDMkG1MVCw9SistQEEZYpKqZPb6qrYyJJyYlcfSuOQ2QzvUm10YmgdFPhonUimgzUCIYVq0tQvmywhQwEOxwfSUcncI8WGMG0Mp9DaD0htz8SMGAsJeq5T2iQxMa8GjNDtLD9RYq14TO2434qTS+RQnXr78lDic7lB0eulUg08nHDVZIMUZiRNa3XBqNqAqZsgNSNYQlDOhSRBwbfiPxEvXMKkBnpWkrAWAJlBoyZ6AwVD5Yq8zqubgHTEghCwvECo6L4stCiGlaKdaEMtkes3NxENrG3BaPMDxN89bO+AuP5IaBsKj5dhek5QFCmfowMzEKCmDS8IpMjvA/IZAOQOtkoP5meM4OTjn0NlwIHTKE2VRDtoNMQEHYtw0RKDV1qjYXhM7Tg+dOfnsXZbm3PJ53HoDkPSrf3LL4BNOqmkRpfd0UMF0FRCO4KB+hVgZ9HAsABcziGCZBc5utxqo+EDrxHyUlWhpECoNgFlNzk1XIABaVUYO7UDN0AI9slMY66JPbRAMXsO5OOgiSe6swV7yxBCxDkaFeCkkRGZAKx+5TZsYK8QABSnhqjcWQc5feCR8A66ZAENC9fB6ZQD02OjXcJRFY0g4Ys6SIhWHG2wN06JpMkas+AYFu6wqkM+g3hGa8K/XxI4GODN4QTZVwOeKzyGeMe1FZVecTTrV0oGeZnW21QlKOa8lymwICKT4nE4LW1obHkSp1fragzxRC2AvC5JA9K5RrVZJQhYoaAd9Z0GMCzGiBJsLNVXaNVIEAsmnvx20kguVofIUmd5W1oMWcGtP02KauWy9Gpk7OPmmpOGERgyUc5M4rB5gYtDN8d5pziSLatWIM0ruYloOsyaPEX0zyAwio4XdfJMBCuVFo+EgOchwNkJeZpbXtqIhc4wl9JrYofOpTpASdSJSUYs+zstUjfDjUReYOLZLi85GPJTANsKqt5JjIAGqfVUvaCkkM4zqcIrz/ydoxLgSKrVeUw/VwWNZ9QyBsoRGhXl88QyRQYvfhkl+ICcWgnxBkEpZgRW1cQcR6KUIsiMqc9jCWDtFiySr9KokOTD2wjztF1vG0BAjUgxAFiWiINfa6kEM5VIJzWdmtHJ4PoUQa6DM7CyVwYActBLU2W4aDd6XBJOUT7ONdRNngu8+jCD2mni/hq8QI8/R4WRKQISRZ1RyCEt+rQRZJ1x7IlJN2VwKzanpy88hzD/xKkZSqONnMLY4xQseC73Gai8Ag1Gy2FbhVCVDix0R0EcCeFFJbVIbmR0uwXNjkvQmNzoasal4gKxQemm3pGnXPhpDrTFZ6uQ6qCU8DekWQkuZ8ExClFHeiWkbY4FWYah55sC1C9TKaEJoQzsM5EFtzyja841gNOTbiMacZNoLFUlqlTzDyJADOcRk+WVEk/aYkgC118T7E3BO+KTIcwJngs8n2HlyQJWRfp0dpllTr6rRQJTkAz7tJKPhED4dJUNiA45Lg+zsJPvkhuyQ8CZ8jakJlzljJ7Q5WXG4L00qM0UJJpTBIoJvhQDPloK8FhgFNK7y0Zta3TbaNETBILmSlzwM55Bm3ejVRU41o4AIkVdBPDYw2s5GacOlA2fj8J4AVJHNYTJJEeIRTVAIxFgfuoMAF6fqtGH2g7QYVBpaHwLvWhmNEJLtGbLRWOFVeCoERGxOG7qPe7mKAEFKZbDXQihB6zXxvg6dAEQJAM45n0Y+n9rTwmK16OI08kmjc3ooNynAy1YxZcTGIGcotaFZiMwSAQjBURRdKUTTjsWGGGZS/MYbRhHQ89o2Kkl6qSoVBbvwEJ8XapvEWtYLE6sFgk9JRsk0sst7z/H3HAIpg1s5AKt4wMLRMbQm4ZSGZUeFXV2VJ8c6algx/Z6C+bYQCoi1IjvM6Di9UOwZXD43KDZDBGfcAthIcuohiICNhFxeThvQ6LaTL45dsQtNQqvtrlkohL2snECvifc98HxhH+eQtLSpTb0s5QXKaAebPNXa87XNAPA0hYoNduphNKiJzCAHFs3WRnQSsbgVYIcxLrnMEIQmoZN43ytP8kQTBw4yk29/tbSbWb7yyoKmlhdowwmmYIs+xInVE5IVAquPfdYllIHQnPmQzpyZIULbadt+yl3AhpXRDjhJQFJlQCwo1DIDA9HJNRwmx3sHoZclguSykGmtJotGhChUadFB8diCDzrteKQRgEY+LLan3I4SRovyoqlj5310LCBCr4n3CWw8/Dy4ssZpDbl5p4YPnIg+F+teAPD5ZL5OLITTokCgTiaS/G0MnXweV0Hs4iR2WhHk0HCi0ZghEZV2KB69ODSXRX1MgwFqahqSBzva1qV2mFgaCXEYC1FWq5wwWulOLGe0QAjoTBOcgQIeCisXZUzJrtyRU0xJHRpsMa4JbSrAtBpCnGH+DUqFwAlUHs/Hh8xqmJMggSNolLK4i1kBfuUOQW3lz4jAYCRpcA/28bYFLTmivR6F808vwBO+nViSaSE7BTUUxaTB5zOie02894JXrA+qT8G8LOtK5rkuiwEmCY6iW4EwSvCZBLOTBCdhMQzw5Ys+8xFL4wTNszJyoOn2C9XqiwOBOcTUqR0u21saOfUumyGJgRbwQPjglgWPImRyIFxAE8J+QlXLPU3VBMoqKx69ncOY0RZ1cUtoFywlCCVQ2viuXCMbISjDRq9B1QTvVH0yBtRSRFc9Ia7eJIUMqVATzoRhaVQCxsw/MTe2loQSIWDj0uUhphxOCZpGHRoAIkbxofHaOiTImoNpcUQMy4qKOVPrNfHeAx8/HFQ/pfNQ4qC2P5SfoJgHGxgOvFU8ZIEw5JELsJrnR7Sk1ckk3S50YRSBrTOmEbKftyuEootCA7o8hwyv3WFC7KAujzjRHVsEWXyuO8o56JIURE+1iQIvZiIjkzSF3mYmTEt1ZOZwcMazjgJMCwIl2sMIMedgghdhMCYtxo6m2alxGjSubU7DdgACLbIzxHCAD8cEOUTNCitgQbEhZDZy5EWHhudhzscdD5MGIBktmmbCLaCKMj5J02RxYAiecc5BFMVqa1U8nM12GiVFhrJ78WV0lKxS+2cs93D4YBE+eDhsgg8kWh5HnXwB02Rvz362eaZS4bFPH3pnqEtL3iQK48w4X6GLFBb/xxVYYKNPQjMKQNFDVxLJ5lR4cSRKRdsyU4wLRnJwXKI0TxLQ0hEzMUeivJ6DaSQN86kJhEy3G6o0pMVOC7ZYoSAMq+FWAWiqHNPYjiiEpxmdmjllhIAyBOhgt0ecQuWEIIsJbS1zHqiAazRAsgnyomWgstEosmHRmYkmykMzWiQzqaqdUC23qkFZuo0xW6nYhikVPAEz2alFT3ZqJXuSyQG0Mr0m3iNRBy9OLJ0HFHQI0fqUDZqPq576fJag5fmd9jrwFc4gfxkQdp0f8rN1hgFSy06aqZBpDTXsmYrm6MKoh5togTGhTaXOQnEAz98CZy5tIHjmOX/a8WhlNxOrl0Z0FPDw/kKUxUvE9aznDNHaUTifxsVGXsh1UEiTDQgBRlcpWWjMWM/QOR0LhaeB7JWcRonogqaGHvGDCdhFx8CkJcVhkpkcgoczSgAqCoAw0DToMCt4MWenTSaNJiSJrlwl2z3B8EPRKjkzraJRlRcCw81PGYIPmSjJp4PyQKYhkgCIhdJr4j0DeUh8kHB+8IlXh5DQkQ5BPUBBx9IHOOxShiQZFU2bxOcBNgsKZJNzoE3MGFoWd5G5mRWbOq3Nq6ikOWGhtQMQ6yR25hjdhglX3ZhA1ss9CPa7cyVyW6kYq4E8LlWlHVT34ltwgP9fsL3GMFWBYoaEOVWnAnhd51hpIyBji18Msp4EuvKvwbRTcto1tKLZEoL7hhZeCM2Rjc6WZFLOQLbjquEerfeFKhUZk2MU053vZ8lJvn001OhhI0JtXOg4E7vw0OjtNE4xJTZC5XdC0CYuHIPHutfEuwljR0Lg6aKjVK44wIYOZOnsxVeTBQJye7wlGIx1hPI7Cl6cqfUmGq1mpsA8bZLoTyFAagPL4cwTGUJDp/mH6AxGuxeeKraG4CiElByuxgKEMJ6ZPxgDS+gUnJ8uXDASoNJuH2QJ5FDR3OT1JMOsLGwkwKwgqlhhoMooLa6AzfI6ahhOqFQG7DBwkjINs1VUyywjLeNJQm53B5rqPsD52Khp16xMrnXwAkqbnCTlHNrRlt2FkKNYph0WqNq1cOWg9LpvLB43mNgg5zQ8aLgMmFJrXWhqf7NB22vi3YFc/WiHq8vHE02eHK09nUQYLQi8lbDkkJaMh4Ip+Dp0oAVxGNucfCGVrBkGsnZULDsNaopDgp85oVXhJlwUDHG4v/ogRYYABfqSoMxWw4WmuZAo50Bhd4gteqQWAltxihhtEwiBahlSpW5Zuz+g+DBWYEUBkjE9iQEeQfGDrNWgQWTTvKeWmY3u0EONRp420MtiZSPZB7TOIQUOBBkppB1Nw+VGs1y2hJCjm0BBGYJoDht2DE+MGdE6PzZ1bPBAyfbv8WgyXC0dBS+RA+KJBwSfDGkHM1Rq0cqDR6+JHxJgrb30Pk2huLWLbaqUmzPAz9XpEdpjqUPrA19R4ZLqywwqU6U9O9lDDGGYFQTHaqqeNjwQ6GUTLiJGkjEz8CyUkTRxKknEi2nRNAN949ejieJkkFyyCdycnLaA7SElPLeaoUGm7WFQ2qQxM0xYZDnA8V4QG26jAPJht+KPJmgNSwQqqGLQY3Na+DmQrFQ9lpim2+gr3Ebbk8WOxhyIqmTsETmVbQjIHp0mDCGYtlVC8cSShVqAcg4UUBR7s/MIUmyY5rgzcxioyTacGzZmcgOrwZ+lkIkr4wROwoZAIGTvSwszxwbtNfGuQLvucTibQzIcAJqboyVdHiK82PDAk2DWF0KONo/bNBClMk4KYic4gJNEquJAzQserbQg0KJAikloXRRlZKCub/IbZnJlN+xKcA5STSB/oGZgcioVhehEcAZKmon4VkmxDMmryiBFuNxIoJFUhpSXgRAaewGyaTVoue0yOBN2mUo5/eRhGeEUS1BUeGX30yQQLnW2QB7mn/kNEiznBAIVbrsNJiOb3meg0fzkDIJd5uBhWZM3wog5K5XOCFrFatIqsFIZjmUroz3l9zGFHvaSM0lkq8lYlkCXwEWWUU57e028MxALOr6+tOschU4711vGWHvJoqZGe3njsLUHvrH40ioOm7LbKAtDFU7VjzwtLKiXZSMh7QTSNm/DeQjK68MuBzSB2lmg5gPg1Rn4uDDgzxfKEe6Zl2B7jFjD5QSKbGRJoZ1FQQ42tS/0SRZKADzVmiSJOWgsoLxhtCqhBZOIzwAROBO5mEGzlVWxkDVjyhWi/BIp1IjkJMsykTOUqNYMSjmWkXWNBruEoCe5QtjUxAT3aEHhrKWj8QxN5ugNSmvN5ProSA5XO3TOxEPUMeXDo6CHIC9RuyOLCQPKW/aJscYt1GLNe0384FCHYRAgaaFr3XlE5TYnlz5kS2JFbHuGFa1C0FHNE9QZ0JY3UjZ5sk8ypIgfLJWKNDaNMS3AIJjpieXoNUna87L3VqmgsLzqZsf7K/d4wiAGSgDKBRqiMEjo2SNfXU4c0eMmAahBOQHnafy22GWEBRKioKLVADFK8oKgWPCjNHt0eZM4cGhUCMCslj202RlOSJZfMhq5TGaowwUbzQkzHk3mSGujwmMlxRZFsg8TRM/ELgnRqmGPh36hJ9YlnGxJlOJBB0tlLmMKphlgtnPgqqbXizww8VAWTzVNWtiCLEUwC4BgmSl7TfzAgJXzuVWyj4HXVBa0lH0kIMlYF6pbCqJx86FtkkAcDiSpbOlKQpHpSTV1iSZkiZRtkCkkbeDUGaaEkNs50CKaND2sKwNRgswpDkSDE9P1V0OgBThWksjJMNsq3DPkVrMVBkumhclpsFFQN8wQcmYL2GuaVHTMhrqQ3rKXVyY2ZFrTkfZwno8JbsOCGSqHQa+MRTNCYNhghDTQyuVwjwjRiwCzhxOGfcdDfMCcIX8mN3h0RCQHQk4ycjZUGnM4mqmEvVquJF4dQJXuSRYBdJ0XghfQ1uY8pJYhiK1bYFuIlDzDctVABmU8cq/DpQ5nTa+JtwEdFCIWDkKsnZBL784nDVBnvF3t4QfCqA12yhkIwUZqZWTDzkKRC2FXC7S0IONQ6zyjakKxG5GCoyDlKJMhJkgE4I0FyX3MuIaTHTl5HZrvhSq+5VIDNVyOBd2vwQnEmNyEeVZo4XVRq+mZEuHWs6e9kYGaITDYRbIKtHwCkg6i5YGWqUuwjHkOBnSKpar5YwKG+4h1fpnSH5ZhWRoXpEFuRhwjtNOTJWS70JttSwoAGzxyl5m8dsHI5GKN29Hm7cJAMBlt1VDY65kpU0CIA6o9ogWiA4MSCK8S+i2biGrSSpHc3088JbjcvpCa92KAuKnRCtKARawrJigEhGD5HM2DR0KSspfdv4ygPGWPkInk6Ta5OBbY+rgC1HU2yGIjCPTILk+SgdQ9Iu2tnLDdcETsnY05umkmhIpW+UsFYPGUuDviF2Jfcg5UZQcshKqOTQ4dcLgmgDZcMvLIeji0VsMZSTAWdwoWKuENvjOgtVGgLJ0EAVoZYwY2ilDhbo0qZIDHlZTMZlBPT1JDUDtk9rSloKFdIfYCrcA0IigfHyab5ImFCx2Wy+8Ey1vMmJKMQYZRFc1GApn9+hqPNMbEXKYjMp2aCTYfsnQSQwLztT7DGrrO2pXzoSaFDTIrijYNbYjWa2IDrVicH4X2ZCVDbZwWbsSfPO206ESenfSGKXsHWs1wAno+eUKkpmykAbKKQtCYsZaDkBZqdNBC1TKbaAEK9LEdplF2NOnyTMJsy7hq9yBIdlTawkuLQ9IOUEhqJbEtzdqdZv25R3lzVOd3DVFyIEccBDm9LJFE9jJGeMnsBg5pZRlP7r2mW8eSLpdjQfkClFOv484QG/MUcqZAjVWhzeiGeyZpmVKDohCP4kHllFddWNJKMrla55qe+UCGABkRSgVaDqRMV7irTwFdO5BWdXjGsjH6QYAUo+TQw7GQkRlsQavCbY6E+3dNjGVCV4sIeLESsXymobHPxxiPOtjhJ5nPmTqDYeGWh5BtHWC0Ges2RhGzJmMXkbMy7XQhtMsHF8Anagm2xwRoIGx0YJuWsOpYzZ8Waslx55AaPfeacrNuEWIXHooKpr1Fy3g1SuKCYtWPmmeOS0Ghda4HwWkzp0mxVg4QGQLvRPwj/rDYKDsF8xNcE6nmjA0nlMwoTd6zogXkPCJUHZ6jhKUGpcGmkGNohXhcGvHIHXG24MvNEKAmTFKQGy3VTAvjUJqzRRdTtSuszd7hAYLtnokAb5TyzOg81iqPe2eO2JactDrERgkAZAbKxEYCDLwepcLLyWzMYFdG3B9ropfDa+GF8Ir4PIDuwwB47bzlkhFUc1mLTChW7mAXp1UBCnhwvJDJsS3lMCqmzVAEB3qsIEDQ817IMGYg904CZe0vCdYh+mzOVGDyPM5Yg6K8JlpuCXHqA002wIFllC1dxWHGlAcxcmDzghfN3soWaiqmQYv0skcshGAHrPHKaZ7JDA/KUdA1Mx+mLcMQJZfHiQXfMMMQ0kK+JDSR1g4PKrg3c7iklTneCkgvLDSqpaD5QNCD8BAtGexKSwKbpCfTi0NDBsZ+SR6GIyV23Bwik5hTvFCFEgy7YkyFD9CzF/baz/fwxHCZUw8344Hm2KE+RHReSaVisvtDTeQONysCYVgO9147e92LbD+8DFeG4WCnl0DCVDZ6Y9wKNEdtzcoWE4E678emLRfHKjk6giLI7Y2hM0NyhnyBWbsAwRYDRu6gTBC46ZxjkloxJ5NiC0MwYTNB81s/HkJeI1LFaReInDkQXGP7q8yRJx7hbTnByB6tR4dn4koGOLr2xQOZKc+gShHNA0llthDpKmbwBciKY1cTY+PVk485ZSFqOEBewDNkpZMQBCVsZ2tQlguCxx0LsQAxJ0M5W9i4Pj5eg5+g3I4oN1VMTv+dzuFjNOhpYSOVsKqtRnFCSaHSqyQ2Gz4rwkgGWxOs+YhEMjnYZDZ4x8cJtDKUIb+AMe+zNRELGouYh7bU2H0RLHv1KeAhYxwPGd0hMEW2kVMoAYBMZuMtpu0AzsX4I7k5ije8bkJHChUx24HKC0EH3Hbk8c0C1JDrBVrz/E/NIemCWojYHAstneY4iYx2mxPkzMlBdZI6ZLDnKLyi9EIyjM4ywZQa5po8CE2IGtHSGBahmO0bXgBFDcS0jYyOfDHGnlHo9g4RsbMmTwyaIXDJ01jAzb2zyeGcpAwZQASt5QteBBvQiqJW2WjXWTRBM0oAOLQI7NWxqZCJmZhc7bAQ9CZRAh6m2SRQ1m7CQ5fnKdjInJINEiw7lVra01KoiZSxnHG2CO7RIjpClDaSye1RKOYQYDLHfaYmaqcEr2mIG06UXAi61IbdS5Zr1BpTTGRCAAL8WsowDjR7NzxfFZ+qHBFiklRzysiDLY3MmlIyFRSC548NOls+CA9EkvJCTc+4YI5MaDwQbWlpQUKIEjQxjzDw61wXQgRT1Qcq16fZO1tIc2A50Di1BXYpQHQFFJHhuXdOZRmoq64sgGW4PHnLRrjUAm2UFTaZLWabk7fAdciJjaGZpGnDTqkHOB/TbLJAtryyka+xUhtgmS0epxrLFgOZYePqZraaDxuGDXxpNFrA4QNqqdvnAAcalIWqXGyYKOW29QGFVK1cCORwUmwBPFU84/Lrijz5Ghce4pOjW29HB8EuyzLKcG+uidiHuNvy/jS7BwxG7KgwHAwvENpcFMeaWWrItkuK46qc4PDwYPOrDw/UusRsgXByLEevxEqu631wDIQcV0NpPrIDFCpnE9gyixxMuQdjEcpeO2J7wqpYzY5I8L47NkZVY5dlg8aBQpTFpliEJNhl2aihaa/RpUOlUQFcMVjEpBuWrMIDGhVMhowPRwEcJxFgsdeHeGzvdAQ9Gc8KYIOHF0dyCLVcgvuweNoQcnckJkxwLxlSqGg9W4dHE63hJaqyQkuR6zh6XMhYMTroh4VCTVtRjqWmqLLAS1oy6UqNbbM48svuWMvZRbZGoOyuXPJ6zlarJWpK1jQxjO5jVzQaB9a9rSbWbhDaFTTsc+dlC2NSQg5gRWCEteFY8DJRzrVjm/WlqozbIDSrrLjxM8DUaAgKnmoJ5auKIK8PM5z2F3EiA5uUoVVI8HW6RGu7aHRbN3/DKVKyYdV2hwJje6rOu+P5MKf2J6YnGsNzAjGlZiZMPT6NWmHKNkqqoQGe306QRvbiONwm5hHBZHNsb/fdiAMB2KU5WGWjnBSbcNqkYhQagyuyo6QSyY99KWOmRe+TzbpzFkqkIPbkEDaWLm+cnxrafAeZAiXeEU7ECshtjqcXUJ4WTAWCbzWM3KOiRp5sB2cxW7VhWBxKuYRgygBLCBmL1nRs2Gt5AhbYWvLyqmXIveLvsdRSDGcqkLtB0QyvhUUI+dtqNOYOM4QRYUTrZwwZ1ErlGcksNKoPb8BnmExM4uHYa6BGRUeLh5CRz725GybzVteqNuQbpmSHmGxNEMmeIGgyzNbsb8FRBkM9XDtPZ+MjVHT0om9SyZ8hAoTwllFhbDKQdnud1m2qRvYE90iBPgThkoWBGcUl9EkP1XYAQvMd+yCrrXE9MeWI8CFWpuDYrQQGB0oVnphAftO+AEJwnAQqhyHZKiJjRCMnwFnh8DXzIVSqPBO65CUhvRQqw2DIPNka2UuwK73hslyLMOHVDOmyCntxcu/YNoy4jjKDPZbdIRwEryFXWG7mlJ9zgGQjbQHLbj3PYapoNc+6dfVkyNHV4SjyOTnqw3B23cP/H4t3wB0rRcpeAogQvCg4O62GBaTk8KFKVLWGNnkpWLYkuU50UnLJyktBbQRK5eqbk+S4VGwvZgJiWSC0E44jZXJlToGuMjqBVO8Xcwr2o6VgxS7TypZ7Z1q9VsqGmT29wcIZKFvz5gPtdotAf7NHDrFaqWiUFAlLlubwcNmY3nBRpKvGNZPaRkFyCMrpRTYqcxDgkqUCsXFlKoOZyhOy4NlCdXg5otdUWzvJGpeirmHWWaMZCxjkzFCBgNNODBo72DDtaQYnHEE5HZUkhMxgP2QMRCMUEcb4IQqSfMUNRpihtEypEyvjUbJkBchp/1OZfGCaQD6iRAsXGgllrJblUkk8ZynB596huefURO6wpouNsm70COrR2jJhtmxMCM4JhWqxsx/OQiHWC75cNYbIXrFo2DcqHr5mrHuhwy65DhgtNBCRk1LO0KeC2qA10/COp5YzFwF8dGw8DWwCe2e2LtjYZsOWE5EsFybDXjJ7hbQuhtSJqM0WM8PaJGFjo+C+FsEq/c4gFR1krwZcGCsl2R0Fr79r7RqtEMcazKYLw4DZOSwYYXSsryJ7JYUstELwJXBuAvcIcIqGD0B2/sErmaJV2cOfOy4PQcFri15Dt66BnJyCtTFbzpxQoPoBJUPgTHTDQeRsY3qesHdHCT00GzHBIUF3JLS3c87ahM1/cMYoAkBZOoeQyITJiTYXyjLTNoSQc5JWaREzkFOliwPdA2oi58ZJhVwqm2ZvIQ27JFCQoj1Je7ktKgYCOEM2tQAEGh2ug9RWSXs5EwV4Dra7TYPaclU2tBUb5uRXqnSgp0FzqOE8N1K8C7BmIICp1utuV1LA6sRUgbIYEMGPnxXRKDGEBbqZn1PL+QD05v145WMrfgjyQqBNmWUjn2vbhJEWYqPai74Z16h5hpqZ0XrylRwNmZKYVpec18oq20LanTlkv6qQamPI5lSSbNEAXjGHAIPg+HHBTIfTos1H3yy36KrgAg6MpwdA/NCa/bKz8tgVqyTE5CGlgN5n0cDJlsZcbXQ1Z8JqY7AUnOYYBcT3KMHJDIbt7TSKwJWpgzK4FZJSxBYNrVTIzAEZLaTmVU6FO5D93VATPQ/NWxo3TMjgleNpp5sT9YHPXWKs5dgNIhLYrgyA5ZaJwDrJbGdCtcEWQI4o6xAt1fraksM4p2flCTfOsBhU5UK4qzBpmh4pGQh1LJszuJXAPi30OnU0Aco2ttmEogXHeVI8hV2CVXpq0USz2F5UbmWN2I1Dl8TenFITYxZ0HteaE2oFY3poaqDMFpmLYEtI6UJfgYCZDlE7hJtTySGaE/5AGCu5HibQ3O5F0w1k0NTVuZq8mAk1CFjbfI2SfoJyDk2I70A1jSyaVTNplZ1o5gmQWSW4jfBYlFJNVwwkOy3uBMppB6hVoOYAhSP6RrJGVR8EIALUV7bMYyRFMCdNzoMmyg4DPyQ1sYY0MB9MBU/FdORuF7xqbOS1hRnwsNHXgDS25tgLpFoHr8ZqQ2jMFanjlP2AOGzlcBIHcvk0H3ltAVwXaGEToJxRhoemWjmVzKtC1YQhgoLnY8V2hoyPyHY8HOKwI7kOhKRhRL3GGRuX2TNEsaTJjlQcFDXd/JzPQGtami0olc68pNEZLQAavByzYhWCrb3RoxGtRIOBmryczZ6a5sNNkRbSQPKeFzO4iRoutMhAjqMEWzLNMPPwJw2AC3A+RxkNhbArZos8VGhiD7UOh2ChVGBwNVaIXoGQZWRWSMrG3bRD8zMBnaNiqcFsaMERLMs8kFtGiRBIQ872nbEEo2zw/krgCZbZ2EDOA2eOFxaA6gwDxAEpZjVkIkJoXLqU7sqaWDOIsQ3MUla0WBrunWbccihL9x5yrrZIdWwJNGewe2bzsRQtnSFZHeqImTICELAhzhbK9voksLU5DESuOBB9Dm1UYLIIy6S1szUNbck1rvfUosge1BZvBN3RV2e5HcsCjeKbQD/sEqLSAQ2hJmZ1TAYkO3/w8YAqARtfkNZNDccYMgOO8qwgUbDPt9Ky0JYuJpSfURKAEixFErUajRoNltyU4FYuT6O8TU8U2bOiTCWsxYRgL2g+3yIQsu/vmmegCBwfFw0MVmMgx9YRKYIUcqSEJYXBrmkMFmz1flHeQ1CEhLbuKmQEKGietLd7ZBWtfDaayQcsIvsQhMtDaDNEVAarDoREq02MSn8YB4Jdzpz5ZbIzjNxkjMknbSgI6O/0mugzGIjJadwY3vNAm9eGtGg5S00xPWJWuAChle2yJew6kPFOWXrb+bQC5RpXbZgbL4xFKCMeYUGLXoLbcm0MBHj+wa5LwnnceLZMQgNRJ0cZYUGyqFYyoSkNXo4lS/EDzX5RwEOWGBTw5OHJYAgmUNaDLnlt9/N87aCHLsGcugaUhi4mrBCYTCZbQjwIezlELlpa1VcG2ahFNxhbhLGSNEWKQQoMgkzIBtkER7SYMHpoNZJtjJ44HXMYQkY8ilmwvZ6icqZs7QpLk8EWG0OCVzKNomWjOUgxYShbSQiXBDZtHgEWqnjIJRObmjPhEDOTRQzSmCvMGtpZx8Z1Z0vZsRR+1RIknTYGLLAPHoWY6XAJ6b0zauIwkuUaD42PeqOaYGPZZRuXE5CZpCE4inZOf9gZt0AI6oI8MRBULRjtaEWgaOa44AYaWm+efOxXUPJiEA/2olmlLD9bG6UankCAkfKKEUOY7bZedAASeHknp8bCRuPGsbKLETNqoOXkJyuajI4azrb0ml8gWa29hVLtioQeuhkMRuyOd8RqzQptCYTDvWKtHWZJcA2j5BBlJMdjNXLkFBcIi+V4KJa91CYt20jADYiBUrA1mKVWCDoxvZhlt2IC85hph0k6KN6LSCUnUAJgLvfoVATm1MBD8nY3ZXf+qHcwikmnLP4bZFS9d0JkMN2Tj7gU1NWgg8CmOsITIMShSqssAkTOMOdJ1Z2ZwdA9meQaq8EdromZbmxIq0IdVxh40cIlFbBQbcxKOpvM4J0fCLZIwS4xoQm2OCpDjEHIFJXBowShCbcl7AmojMAeZVTQzavlNpSNlvLybKVY0zDHS2RbuJKQLO2mY9MSnZjl8n4VmS7ZKyGQvbwNjZQ6fDI7z0Y+W5xqVpMMhNeBJaQxIAtVupMpi+WCZbGG9cEDZDBxCIZ33Cuh4J7j1oKLw1j0ICtJ2IFWJivGskCLB5WPgWrpVUKaHVCCIu1CRyO2eoHcMtEkWb0sTWuMzdMPhXP/IGg324uL/pwkELJrxHgGi2xbVd52QYoMoLfFw9mMtqHETkGPXTbMl2UyNmfIKAemEVLsmgIdEvzUHRerkRY80IIGsk0OgcqEQXw/uN01MRIpZSWN5bZFAufhSUslxztW9tbYWNhL9Z4M+ymaQc3l3xa7PLow2NUDEEQJxXyKGyYQLhib191ypEvJbTehYCNQY4VXHcOFoOFhi5IgVXuo2GrpTPHVbVd0OWfPCnIQ0OU7TTE9pTA5msZbs4ICufbILVACgPmYz3CrsgMaVnuhdYOjmAFb1JIg1+CF3IwOxFjQHYVeCwJgIMN+INok10207QYsk3xtMFqugcJKiXNQL3hK6EXgzlZGIL1GTEZ+ilLbWbFtRvFRkyKmBcBRark+EBRVa+Wo4DvQMCFzBk1uEUOotjgUc608VhjrAJkJqRkuBLliZaQaMIrOzBSg6iiGbKIGrQpIl4fTWCa0IwIxDfHZymJbQMYhYeu6DZy+JnIMDzaeMYTUfXKwkUC+Ag2rRXbvI20lPUR4GxfEuAySZy/tSYPC5c7ZGhbYtoHsNswn1bQN04ucDcGWiesB5LpWrbrHowaNxsc1Ob4YrHkUDy1RKto8FWJWEoIgQAjZnfOMD9QSOBBrWBoFJ2frN/5h8sTGd99tGGz0gjTPIhFiwAWLM0eEkBaAfXlrtniIM1w24VC/YReCg0dzGtCYk2fmsku2p5jAEAifjbKQaXY0MppsJlqdAfbCSEEKXNwLCbVERgmQQtYoltF6TKqScpAgoPM8A1JjrIqNbmAy1vFyMSTJVCGj1Xv9ESugD5GMRkbT7GwmYlPhSIjrBSIMdrnlQGmKaWgCMTF5jArho2EiyoPYUiU12CV/wBiviTGeckEuUE5dZ6Mm5JmFmRID6Utjk4pm2SevkPANO0B7qRP27EJujXlswI+xMtDwoDWWVe8CjXnCDbALEHmIdgYoeHhQiW5j7+yy1RzLLVMtBRC8pvbKFy5NFVLQ5JVfU1IILRYEcrIbCAqpHXTOkKMfjJ62Y4f1sSAKNXVuwYkniaTVuAbGre+W83rzbZH4yBD7RR/tlDMwe2KQi4YkdYclgmcSc07EVCGNJycqlWTP36I1gItmu8iEVBJU8YcopWpXDJvrCwXFhiunbXKkpc8NMSbgoYSU2wk3PdrK0yY3ioNwfvqvbIWYmywQWy96a1zY9ZCDn+46DQAsCL35NEA9l32YlUME9j6FrMtijuWCk0RTXjPLfudgavS7H6Z8Hkb7IOkU07JiCkQQvBDeQ/PNUUNQaI6ihQiXzK5ZNbss2xlQrEcsIwSyRG6jIn/yig9Qbg4JwJx5v0ZV7cQo2JAz1gYuf+Rqsgb1UawQgCFllGPCO8A1xdC4NdZkiHwhCMhvI9pIIpf94TVBsu0UciU5QxE82+LQJouNbEwIX0SZZpsxNo2m5AWhRtlwKAvFtyA6yf4eDwXZPRl66VYrsPcQiqrhpMtbgslDl140Sg7wQFQ29OpMEzFQo3inTGCA5YRd4gacEHprD68Slp07jvyQZQcsGzT6/i4MhKMoiE+RpiYKD2W3wS0MXGHZw6TedqyG17/Y7MX0KIMgeCxYYmXkgtHppWSSEBWSO86x7Gs47pwh1DsTqIkP4Xjc25y0BcMC92R88EmCwn09WLbAx3Qml5eo/BJ82VBIewyn1hYKoGFuza0BjHWWpIFqHLMEnXK03hJsrBabHgTVXA16ZR+e+aHAmnYK0YtfM99wLLkjEjyiO+9ICLCGj01pMsRK1qCARbZNZq55Q7OdSweJI8nizvZEJcdAXCLl9E4DTFt5RFaXDR6ZvDjMYAFALFpbkum14riSW6Nhb9DslWVAkgdvqq3M1svu2GYIYKDBy/2ULKv3hWYJdGWe2BHRyNSDdqnwQPIyFsxxA6Z3Gai1haG+oE4nHuNDpCihXIo1gqAODe3okhleC4pqcgxtewh8WpYKhAyjvlWGzTvSLsggquM6WEzHxA5ajRC30rnaai3fxZga/bZeO8c8NN4wqGapfnw2aQ9AdZ97E97GzvVqo3Txh1sCxRwizA3fFrQwxMo2yWmXykyOkhJCBqIzOZh2REMMdikmFwZa8kCoSdbihFPdEOLWF5JltUBMElvxIfh1yoYMpfMczdvbGK75jg6NOf9hGYMadk8G0OWfTnRo5ZDILgQDsUGVqyYgJwMlWSUmwpvh+NBAEHgyJGAeC6/sgkUYYwc3LqlDpNIlNRYh85Rsb0ABpiSxlXTiOZVUtC2t8jQRuZ6SjVPIG2Ob2VoolZboA1Cx0V95UvBUy8hGecIOXWq87mkIQBRBLQg/6KeNkJOAQG5FpckWC7A7CVofd7Ya3QgCJGWIWGUymFlKWe56uCY2o3ISuQCU2Q0zq30eppg7TySHIWMaU+JeI34MrlZhIlBos/GmzGtpg8KDmyHuK4EFHgMx2/Re/ajFciAhNVsEyr4VLaGc6kxGi2xpC6MknUylIb8nbN2rlxlorJ1NypBKoKgQcvP6N8dxXh7SnDzJemRyyYYphoVQlaUhKhva2h2rbNgOiRVVe0FkHrYRHLJ33wei3VP3bMtir/YllnrDIuBZwQRyyAhOIXZBssPK6xCf6ZyPvU6tkySMAgc1QUaKzmwCjJ6AAgNNNnvRejMqf6WCxh1StnYUM9tYg17vbyOAbJmqYBoFq5kwFDTgm2OVTbSE7GNG02qJ5M1ogpdeKuTUS6sadPxjyUjSpijy3YCp0Yvw2rnB2ApK9jzRUkuL+hCm8wcHqQB+JQ4tSdg99C6IXCNx0MWZBxFC/RKJXEb06kwOLdO6jTsmOGARY3ClHCHyW/DdOL225J4CjqBK3nCAgwxgxPbDVp/NFWKmBTyUOXY8ATk4OYfQSBVDOSPGrWcIbxZr5PTKI8rhwUk+BIum1RxqegSM+Q6p+eFtwkNVHx457AXfFs8q4NgmiduAw9uVETM9wwy5sE0SdopiL5MHjflIJjwZG2UIeeJYQE17oFyOcJLKZn5llhCxsvvXqmGpu3iDTjHDIjJaZ6DBqpxA2dlCRi+hbAXPn4I7c8aNoaGTFzPh+SA1fdVTqMkUy6ci1XYXEgwJkWj3pY31JWx77SCaFNnRfjdDNZETqtl40tjz5jKjWYThZLIqgjl0yRiulMXlllqgTRhMtMWRWscbsNgYKE+oBqPyzHDiGki2aGOGkKnImjI54jfz0qEFiiBYoM3Z1E6MJbf6do9q9IpNIymisUk7G1ItNsNRCWOp7GBkObGZfcwfEDvCMVsZZJt0oQ2vOxEGr5EypuQrzdyg5XQoSIXOVhZZx5ZLBgmwZ+mH7mwU05JNkxBDK1VwAAdalBxpHJ6paM9ACLKlEcmTTFfSgmSvWhbunLBsbAEeBEsOVE62NpXcCjpwlE2WEBaJ7kyumdtilX64igyUHY90hFfzt32slKOTKzTLXofMw9Z7LVfYrTU3PYHxbHBQG5vlPQFToxc+WHOFrJnF9HL2bLSrQFgm9hNyrkXYla3lILB9FWwOuqLZwpaPQIkWQvUKtsnHp8c8dVnaKxWwf2glsUm3XQD3sTm/iVyQMRoeLQewV7pfMngCMY1WFSLQUYlWBqyixcYM469E6KUjvF7jyN8uuGChVdvDVGcw7cxCY6jWclAK7lPlBGwSaG+NamGkzUlsUWZMswCLjfJnpzyOoqERIELyzIFKFeFGE0VN2dohYBlUCDkWrCFkYC3XQI7+9MLE6BKHpW5yAhQ0es3HFqO1cGINuM6yDPxctCG/kkJmbHIgeNHKZg5UPsPJyLXNbLF0TqsYRjkg+zjv/BxpazSBVr7nYWr0m7hPbHZpcgewz1nOYByzKyR2Ho2WyTR66YwWiBVsLBC8vpYJrThAJkpSvjg1SgA84SKDHhYNBHC+jm0GbVtRQzmFV/vCI6oklpNOeGibSGhd0ceUJNHo3TebnORlT5Cm4YJsr1XxuLN1qqW3MNCsqgUgIArgXqTV5I3MAtaQn356rJzDxBAALXr+sCfs7rynCSxIZMvTia1j/PxBkgiyB1mWyG9vstBi87ghSWCgGBYY6+QyW0gKEUKOSNVR6BUoc9IgZHAFRpNH1rFxEsroZUdDOSKIVvAkGWsBVlE9XA1aMKd2rUY3JqMsSxvLJLsXFgIpDbMWHGCgxiIt+WTSND7VZgi2mfBegqnRb+i1c+ykbAZkq1wILzcs9QTbrqMFyRbabG4NXQvDQju2CBSa5Ruzj08jaFA0DdzU8M1KJ5cfoKDkHCUtNjLK5Lo4jRx9zIJW82zLIttcCm8Dcm4e10xCU6VRAaxrlc4uiQAE76wHHRwpOj+jzJSDRvSyA2EXMWj6zsRgVxLLA5qCCwS/MgvoPTcrE+NSjj5DvMIai2NqZwMyhebJFJnUGAgiDhQ7RegRrQ8KmWhxGkzx3e0YoskAlQkFRzupRzHch8WxsgAbXfb6LekiABRydIzrwxdCA/gdwrlBds40Gubwhh3It+zRxEUkM1vvmvRhPrKY4xhahDACDixLk2fgWFbadLLzslNNfnmLwyjL9zJMjX5d94lju1QH1aeXrCBwIVxEqKRQS58ZDCWQBSto2eSwBpgzVQ+KRn2yUq+ZsHGqZghaCu3RVZTPPLM9ChOKAGRPDLKStGo2g3FCJaC088SWO0iZ/QCrg7H2Is85WmQALMDI6gA1jw5lWQAI3FPvGlzpcF80SA4EmdnGmZUzpi3vECuXMRg9aBPCPt1FK0FUXeQQJA8cSzmlwV6dXIwdM/CBcceWWj4ZiEFAgBbRu0Z4xYxGRj/MJ7ls8VAsR0yOvcCQNvtyGVAR4mJHVy5v0cYEZ8Nmvny+amyOt1Jy0GF0tBt2P1SPKCb56Isn+IIF4LXLwzEhuhoiCY1hEO61mBo9/8HaDe2KF4hC9JQg2xxXY6NyLXI92OChQ0SXjaJ61RyedGJCQBtH2uz8wh3UOiSwD5P0wVBGt9CdBIjZVu0wgaa4Y2qPJQUnARrBLVSLRKoRK5XTK446NjVtqeFN2MJxxHGSONc1OvnNDK2Grk/2AzmBKDFACly9nKqPSGS2vVbPFsByqk5L0flpI2jBQ2TCnAQTZhSHEBONOdQkDVe18sRAQhhLt1g5yzJ0EmryMhhjMjJgUEqya3qOKxUyF2rc4iRsk20L5GFVbfL0JAcnBbTBsteKWyX0OpTNsjtPm2ozlgVrY0y1YQFMlggEGWFSbEfLPJXZqs9GEQiRybGch6/QyvdyTI1+zTURqDVqdjhWASgLjkRek0HTMQCRRpN0PhUakbLJNCJc+WkRyV6A2SamIZmW9pALw1g1bjMB9LFHmcRWDx3ImuJXHzFKDco+aI6i2jjCm0Konuc4AXDaskOloaWJEHIaSSN7sMfVm3PwcF4xG9jSFLKNtQ7k2wStkqAPngTvguGhxQxjyiKGMVwCMnjvSDOZipC8OMobJg+EkHpkGB+L+aWERT5YeDRt8TFNArqYQ+hhgRYrE7Yxy1is2pqqDANI0IGpZYwo0zLATmez2SgOmxxibAxcetijCaZEjxKjh5OtHoSNsHp9mF9zI81GOGWJCHV2MbnmQ3ZzX3JfxNToVx4UYiyEd977DAHWZt3HXHXkwjcIBgm2O9ydVURBqoNHRbIyoOXNnV8VJIGijxb1ZmLlYidZHTLVhQE15jaRofiAOYDnEL2QLqgtv7JJDFoRwtWcUoQIdtlmMwChLBUS4SZkEhJ0bQRMBtC299HZhcV5JGPf0ZvQtrDGN3igJ4ONlouTCZ2I6yo0CpTx8BAWaWKgZWpKKzPBuUl15iqRUDGRcMhCORqCHvCbD+J8ShhFI5q0kN2i4emRvMhmiw9iHaCkTcwhvAqEqwRCU4JclvZkc+tn3+DIamZlszHHjNawK+a5QTVKpsdDSOFSWE5OnQxWLZPWXoM1j/s+pkbPU03k/mq3J3acqo+WHcmhxRdPnltFAYYoUXhyAwqUjTKjdFqgHXtrzFna4y3YNWQTamJslC0MeCiDnAMG16nONghyyiIpXO7kgBhGYZB9fWpNJjiEAtlnEtLGFw1wFRi7r7Ggxawzm1GyhCoZiITK3KaOQcUHmRb5PZwJSqBDaqYYHtHhUJ3ftICH1hFsCwoCeVFJjZwRMAiGk8eEIdqtJIS6QZ7Oj8U8Q2fOcdF60Bo6sgE+OpqG6fbUuNCRxy7KshFOUqkgoHUeD21YbplOFRnZ0KlADuQhFA7+kAcQv3q4KhAs7T3lYKlrp2ECHkhbfLSEI9VQzDk4VUyJ0uBK0/0KU6PnVk1Eq1XwImKNeJZ7sbxwEqBKDLJhb70DSDnX2q27kDMQDXufxzRIz7EGmiw+Zo2ZHQXpMRkxaZQsyU1a1HsveOXolKFFlOyiZ1tJUqCcbUxJLrZhjT7gSQomD0+/7bTVDpaEL28a7PWgyYygjDV81KymjQTSkunyXaMDXv8huVRGoQ1F9pw5XBECTXyXcoCyLFaBVvCYVihkHgIW7W9qQwtMqpY8W+0CLJHcRtqSj87L1QzqgUxwa0DGppRBjsxJioNSixOjEug9mRhI8JJiY0gzSRMGS0LcYQjlG8iE8rSO8ObZQlVJbQcgwOWZW41ZCZZNuN9javRLD4r1AmqZKLBL2Ys7fhKw12EzoNJrCY1TbYxNl0QJOE7yuK0zD7BolwXmScJwftjlc8tZohnactmSJqkT+2XVkFSqBRIzkOo4B6hCNgwainbWQ9gCSGUbFNnKlcYxr1qAghRncMJhfaIPGpz+uS1slT+aVCsEEHEY3iEQ66DTSz28gwqc/iV87X6GRguwOJYCQcWyxkJIlV3AuxkqOtEoSvYQlQwwP0xq0dvGIZIXw6U6oKkX9laQx6LOQksrLRLpjQeRvQRxJieph+dAxdmiJ3hqQW5c5aOtdionkDMSZIpYG+UIb0dgavSLl+cxMLRC9Xyi03KAl4/8XEj01NSxldfHpgB7DWG7oyzYEldaBg5DpNFpIcWpmXwDPTS7PHN72JaqigDBqUwgNgyKxiI17Vd47PV52VrYDFNlr84todkGTfyJ/YVYSx1eSAoZZIcYKXOIBMlqKadUfnpzuMHovfPcZGXCXCjpkbQSArzSHOhpY0Gadz/Mcpw7WpSBWs3BR8FRNoFQf+RIR7PIAIVShKFATHqoDnyPC36SGGUp94staElw7ygam5nbRdlPMGpszC7WB6p3uezeZU8bRh/xYRGkAg6BLdZZqlOBTE3JZU6MJylmXSzeO/XiZIaODZga/QJeO+fqDCvoBg+tXS23j1/S5XLfLDF6MlNmi5OgfidiIklm4DGT6kyWh6/j+JGcdjjDGjJzFBDyfIXmK4FzQAvZBLRCnPEYVwJPUwhVFPhgM5ziopFPj/1Dy1EUKDofbCsWonxMYoI6JPflYYTdQjEziVv2yQsaTCkHv1xopA4rb2MJuVxozbQGQPAeEbn7AC2y2hUEW0QgMpAWSGppgeA3EOijBYRhFHHdmWzXGEcdjX6X0FbtWhEoeCaQJZhGfqMyrasPFUY5sAaVzgaW9iMdYCDQLUv6YgjJfrekXECJMDKBkgzGpm0By8DxuJQoQ8TEpAXanBDbE6zj/WJq9POXc82wdjxmWDxg4vDI7oPnp7jw+hlPSh0h0Cg3iAzR0Fsh6H2GheAr06Mr4XBch1HZp0hYtj+m4UBDMmw0OFXRLOMhNVxqgTqDi+w+aE0GCFbRtpywh9gQoJivnlejZCotU8bKYCMAe5zftkQKyXZAkIv5lQQQJbMxb8howQGGaQA63GxtVELA3uAU/DyUcKCjvIYxEMz500dhtJd0iTWleEyOW4hDo+kFJMXTYSUEbIFSp9b4s92QpEaH7viaP5uwuI+u2UH2JmTryThE7shM0a4cEZA/1r8INoITxwUP8SNzwnOokNqLcVbH7cfU6Ofw2rmWD53ffk6VxzvviWjXQSULLpHVEFB5/CSoCyY5eYTQ8qqQiyF6OMoCOQ4UzbFszc9AWIJmNQW09YcukSFQUYZcnk/Y0WkIqm3ptz1IBEVZHB4WgYIVETx/8ynYKD87DWeUAFCWbmMkycG8dJRxjNJoZmhFrjlAM0OQh23Z6M0QtHSNq+TUvkzIakkDGX3otDMazObFATDBN89RtFhgE22x2KJrFg0YmJJiYuLUDAEKGsUj1EBoQ3ZaGU2o37hWF0KRDYtIS7v0EGQsjCWRWJ0z1HE0aBTZtmoHVs0kQTF3AS6Eh7HjDmJq9DO4T/Qi1nKjtYomT7VQB6da2R1ki7tS7TIo6OykVKep0tFlYyi0qx/U4UT3fAxUQH8DRkTb67RgEo3CENwg1Bv/aCGLANEnMV0SKDetzdjCr9ExxMTV7ulNjgjUoAIzqPNwdkXy8FH1EBTggi+ThIUPCnqokXdQs2UHpmZFjp7uwgVIKtVCq2LjxFI1ykghd6RAUUbb23DKckGILx7LPUSPq0MqPdVZsAOCuLLU3tltVXDPtiGMDTo+IkC5jHh40I18CEBzcIOQgls4dW4GYmIOUR5sdeYEoEJWJAR7ocY+KoQcU/CwRGvHnYKp0XMeqKX3wdPK+kgAuoKG1eahguJjRl1tvQcnb0tGkvaEAJIlmqlKxUvFsoaMgWTxqVBnOezObINnEnKGkBN9uEIpFYLyBMQuFyTLbhkKS1tS00WmLGg4calM5gwioYGR65lDDPsihFFtAWpZar+GHQQ8tAdq1sczgZaskLkLOsoKcBMt4FQUpAKTgsP1TOBsZSSaCVQqylL5bppp0M30UoimhjlrAcsIQMBW9grhIHywpU12q4ajxp63HOtj4QiSFOKzzkZDLvcI1FABjzshW7AZLUOl0kJFRhM0Sdg0pizCIJAaOhpmNhTuQJ2MHXcRpkY/9UD2w4HIs7aOAY1upQ9etGnnYRYPTfiLkybKvjxwkjmPwKNrmhDhKVdrUJaOPOjjamkYFnnpmibVXVwhkCWEC8L4SQ9Qzh2UOHRO4vM7CBkZvXLRaxVQKqgxW1nYSPZ6hpcGoZjiOtDe4lBIpYxAyMqmuVjLNqcXaqHqXUaxFcOLyQnkQkGOzw00N3YyqpdqOfToU9OuNS5kiCHSwtZHMN/JGc4W2wFNaUwwTcnHXBkLmaLUJPJR4Z6JCYD71NJLSVFyQazqxl0QYZBFM8j3uiUnIOZYiAiESGPGIazjLsLU6CezJnrReWDYjx0GHxVCFpx50GibOJb0xdvYhi2ghkEdGtkiPHwyDSpkCdbILlnDeZ7DxARa8BDZqtvaqYHf5CcB9o23gRY0nEhq2tHDnBwBllDlo9ogBpW3QnhVedGUNgaSQY/JC9Vz4JZFKixBEZwqYXLITp4TiFhbBRIzIbzU5DIHFlcBc2xHX0kcTgsEq3zei4Jie3iBHKiskQewKoGTlA2wAI5dBuVkoOfE0NUwSmsBxopli6naUiEyOg5oBVJqeoJFW5rRArQrYVg0Coz1vnwLqhp3mI8xweu4azE1evZlsfo8GLn+cRTqRAEkQCxaCcT4IeST+YQrFLrG3sNG08T61IfqCxWAWrKurIhqeoJRIQasOtayT9yaWT29Y6shpCQziARpNSu0YQ4GGprr46mGQMHDREOUMSw5uq+WssNIi2U8PDFsuUdGDKrwSFtJHKKZ20616q9ohATXLNEHglVqRQYyucShRRdkbSVDwgTi8NkydGOZsw9hbFCLmhXNFnKS9GB0qQPH9rSgtdF5isEmFwqKbAnnT3tGNLQcPSxNTog8NMocHCC9MZbHFSK08nTcPZga/bjuEwEfj+FQ0Skj0By56MW0nJ6Q0PAcMjLDRgsMVZVoNAGKzyGf7mlxHyLsuqrLaxfgENkIG7kvlhLUksQ5OFVdYCJzPrYb4mdQzNBuCuyigeo8UGQLmSxZxgLHhZJbS6jpsjoMYZfyx41YU32KFl+sM017wfTqIi0aCakFjQS5IpUsQI1lMl2Zl3Kz5g5H5wxoEQsjBHqVx1lgtxFgFEKcx2nDk7RmCIB8dDJ6IOoeyF66iXZE9zG9lJlBchiTT4tkTylauWRVK4tFdCEkDakqM9s2c8c9BVOjZz2Q5xBPcRyZ9oTwURd4LPXSkl7fDfkAqyVLgjMwGyz22m4oW/CFEMBxLyZzJDMdGTU+DVpqXPE5dE6DLpqJVvCczeH07IAFkOo8wbEgVzQeXTQIhJgWAQg0NPzwasJ2OfnYQIJ707zIjjKZfR2dbAuD0ZIDpY2FSKoJSKHNHE+JtqJpGnRRJGCMHZexkhtZGMNnF0UlodwEZB/gaUNqtN7Z4YDKC9EZvHRFl1MPGG2y7N6yQoKFBwQxJcrqRlG0+wDJEl67EpBB4C4reRnd1Vg2xYTzLI3MHfc4TI2eifvE9krLE8IWbD6W8kmgiVp7BvtIMzDD7aJcmgiuZbTXEO5k4ehI5bf2nDad6Hh5CDEljygUh/ZSEzxfbU+He7bDAOpr0BwCiv0YtCZgu8l2Q4hR0NpSudVVrJzsBsJ4G47GGEuXBYJODV0Ed5yMRa+tpuSoYcXE8SckVMUHhlSSTPY0IDCVhGwE77KECdfAySHY1gSg2IoMHiLfzI2E8sPAmY8b3Xk+zmQLU6VsIQYqTrCihA0j2u6JGc7vdcZDCW3ZCIcXQlY3LLsM9elKxz0bU6NnXBYHHmBjIQ9kATKMOK46U6S27iREjFudpsFSF7IFn8R4OKo5KWnzcylkkpr5ZCU1FCdLnrKQPcdwVVp51cjlfbEqNi2KHSAjQ5hIKuQhNSk1FiEjpuGERIULzJayQS05lZiPzBDXFUXCAlsQmmtsgsBOrlg9PDJhEFJAS09auQi5m2hhpzdjARol2GYZLVQLtmQXsalRoEFLVFnbNak64qpNT4VnKnuhMlDzHFKpNY3GNkS+ks10C1DAow5QBgIysy0PTxJZbXEnw9COnRgd9yZMjX700rGj69MoLLY2cp1P1HRqRuWik63PPBhTl0tp60QEYpRogiC6LIN0inMLcuMnLIRauwA4Jyw2yg4Ljdk6P+CIcJmfOhp7h31vYLVt3SFD7XLJQbAAC27WagaCr3O6JsiJQQZHTIoWHKhsvrYh8gI20iVR89nA987aBYv8ZrNRfwomJPIb1UG0lJADESmLKBVtBY6vVSWkXKwaSOPqQcDoaVPWgxZF2cLJS6m9I80SmnRNgAY8lEo9EWdmkTGWjiZaFnSTOu59mBo9HfeJgE8yC+59aupID+cozwK5h16CCc15UOecMVyZQGUwQy3ksdMUyHirSQw5oEDraGLOUJpsdlUbcKCMtg9kdb6GI8S+1iKQKQvIQD0ToK/9relRjv7UwrDIGjAuuQxnQ1IIrd00adQdK5GgNyX0FPFwuFqmMgeyXlBjJt4XNEylVTUzwqPJDFLb99SAWhzKaiOtlGH+PmSporUlFtNmH0pxgqXMNFhvXWoBCiKZw/DGoogBlj1nI+Q2bbrGjAIEbOXvuDdjavRU3CdSGI5wnKA48BNvOemwxynbRLC15GsAIb6K8ooKb8tEn/Y6WcPj013PtBSqvphvk8gRWOZmqtKbSWpKhvfC16GjgHZ3AAsMySf84uNhZpCljIVL4lUHvseFI1tbKIpdOQPmJ2weI2BGDaHlc7+waaAYIuMiOroI4QytZks7YhVIiyS30tWYgwUUQbZAKwNQaTFZrWVa3eaRTa3hNAsaIYnB47kBDgkx0E670taxHlzOZgJk1WJpEWJaNmrDHZaO+xyyJuIAY8vDHWqhZHPQmUC+YkyYPIcspBEaZJ6XCpEtELcPOgsh8ryHrIockKtaGTwVnv1hMyH8bGnAw3VNVgp2eSzxPaRdACzFt4oHQ6pAKNZyZAhe5jctbAEaRfDQtoRKrcmTVzu9ZRcoe6rpCK9zZpQtY3lyUDKDqBympRCQ23wfCyP7cFHVZCI5Wj+JOlW2Na6b4MsGUBCHXGWIF54ZyDTiyxYWKA7MZgCT1IgTK9AI9kdXqbFDKXsOdFHJxrE2dtw3MTX6kUt53uMw81zRSaATQOdEPinbQpcIdWbYPpziEGSkZZwmzQ89FSeBkLtEwAktx3CVDX2d1p5PAqLTwhi5lZaqdJ/uaEh2TtFiMpINC6FmtkmvrRJiPjJAjnGdOVgE50ZnuGixHZ3fitI0YKVd5FCbsdKqHg+FlBwCmmaRzYr7o0xednRxc2QSTbGwasS00ZoyO7iWkXAIE0Ubo1iOJi0hDmrNljYvFCxJCDUDbZRVHFvQyjgIatGMVTrt4xAFiwGT9qi0Qit33NcxNfohv3b2NdPC51YCcp2FdoVqg4QiUPV5nC6G+ETMCgK13oo2BUhu2w0DoSlZqdMoQ4GqXRs4bjlmzQcP0TwTCmgtQ5O3rhPAdHS8zCBnqa1wNhluxOLgoVQIoUAbYSFa1195owTI0ZJp8yQBDURZjhioqYbhzTaQdvbjM5kM9IQhZ/JA7i9tDJOFBuIUApK0b2XQNMzTQ7RetzUZcuyVIwLFYetdsC4v5NSIki2grYGch/JpdrDj/oep0Q9eqnMCj/EvY/PeQWcJz0hfGGaBkK9qh3OUXRCkpMt8CPqgBnBaidGiQ4QrCxsN5zkEzfNRYsiwui0CYnmbBQV2euTyhWROc8azp2M8J1qFmE9jBhqORmtBDAmKqpbQuIQzWPBwaJOFlrI6WiyENWXBfWjuFEJRqudPBKn6ECKtVO+gDTXnyKCnKE8VdsuxRkAxlcEem2nLpRNLHEfZYpJ6ivK6HeMjY3O/HExILa1VjVQ4U7jK56erBMyRTbDAgTR06+q4f2Nq9AMPYN+ehT5LohVsHytbaeHJJHsx5Ut5Qxv8tBB5OtKL1l1awphqdWx8AcgdU9UFHLTksPMQ5sjNXWj2xUbSstxLkwUE/R/tqrk2WmDjIdSoH0AVj5wSRc0EIZHAEzOqaGZCtDWQo+IXc9NiYmUYhMqg3oN6SJeMcDb7bkvYxXXJY6ZmGg4xLdJC9XBSQlZLA/hpB1/Hx0RaSBTZHBqzDZp1Z2ty2m4nAMEbPOjIFEhIUoRnLC3Rd3S0mBp9f90nGj5vdOpEyZPmK6RQISDjhK4zzeSQSxLi0koLA3FboOvEaLiDPBg1E/Y5KwMCtlMM6uFSoK0tglKzCZRsMgcqY42u1o4ai5e0xgqvYGO4LNMqn+3jfChOyDYihszQ63BEuMlyGpDTPABMqo6d2PekejIeiKLn0D7/+d5NMlUQ2FF2CCyhWlAGGmUwLDAhMnsIWxjBdhDqjDIZsnRaBCxFnTkVa7fHtWVwlYQXQzmxjo5TYWr0fbhP1JkH8HzyCygqstPs06o5L32GRUPt1HUNSmUQKEuXJ9Xk2Fh/XM0YczlG/FNfb36YUGrr9VjWi5AJo+ggUvbJ/W3tQPtXt7QCY7GyegWkRAK0NOpuVGbBPntlsLe+zUOZA9jX0BoB0mB0Nulo+BHThrduAcgwciUztrwUqrggUNOgKqEwxpcSNGkaNvNkEvtCcKOEni1hFb3y1MLC7NMscwxpyfcqUcrjSPNA6Oi4fZgafY9eO7cn1gCfcxbTMRQOh8hIrVSfnXVSyoLOKhACSeNGWdA6eXs2Fw1STQBbjQKMCVIGC+41PBYeOejgzY4jSiBHrX0uR6ZRkMQJSI3AMtY9DvXISbWsnrw0zB/2WjpxtYNQaz4A5JACVqN1ZPGlttOw3wXFoN0+j55zIK/1Dr2S5zQis0fMcWHh7tQZQjEQsozgFgGBVM2AjKeZ5j+BOPkAH3r0MpY3BLWmM+34BDo6bjemRk+5hOdTnExqAZ5jzVnlkxhoT1P0cfJh08kKk43mDKcmHhpCZp29vgjTDkC1nSHyDjQTog8wWhzKpuW4w2zT5qIGCUxzpOVb8p6D96J2wfD8HSQm+yw3NnD0YBCO9bQhYjJweadoT6JnyHIgQoxYSaKXoEmSJWvNjRoeCo8dFBwbZDzksDGQO+VYyNgczuT21pQEZ6NgglqrXjHGu5ZBnfjPbaplKeZSKMrmzB0CWqetnQp78oZBBQo+jh0ddwKmRt99SZ6jE2eoRJ9wPgXDU0wgT03TDJ6dSlhMn8RxYcjOk9iyvMFs1LBkJrtY7CTT71mJY4IoBARGRWR6FWs5mvELabBobkiOzvkBeluVuodJY04AGi/mtJtZgUHzEKWyz2xWcg6u7wwXT02q5lu24HW2xxayKTAJZFmchHY0DjcyBIYwZ+ypp6G2EMa0ss+oWgSoAJ8JpMZHRm0IHtr3gCZpcHR2kWc4nTo67kxMjZ58SZzxgC8knnD51RmfcnHiufMpi0dz7k5cCeho0Vnr3peBPH640YluaegHAVIR4rKU2UPTk1TPnEJDYwtj3m+YHIEUowVOKQQt51CZQ7DRbMHyYJFUKvkWtHl5uVMb3+mjO1XLUorm0WvfDarNEYEkA9syDt5TGSeF3EdPwCLNkjwZqhUGVAhgGhoI2kdH0CKBXXI8hGGV9gxwTjU2dHTcdZgafSdeO7dnm089bLrA2OdZa0bI7NTkKWt+Aac4LwPzoTbhGT24TlEXIDtzIq4Zj4IHXIhqvjpjI2lqh1hbJEhMjp2m+aKtKDFpoeiHGk3VdyhQw5uyBTycJCYMwTyRhqefcsHs3Vcgej5/iGyLQb6N7Vo5S34dOuAou0DXatQ6xcqI4HxlN8KYBCMS5nxsx47guRMKnRE2eElPi1Uvr08JroMICIxwIA8KIbKjxvauo+OuxdToSXjtfJoz0npdxoD7gSZAtcWnewVSkOhwunRyTwgBmTwTBxbJNPMNWwr0NhO2hS0doVoMux9y2RSXqIyxGsKwL1KBwZkSOBQ9AQmEjEhFW7nSidaJqcrUTh6gK8vHYK59VNsON8wf7XgqIPaomRI4QSmmdtwaWyXBBJDZchm55S4PQjRCzq0sFpwtjpSNGQgL7JQ9hJB9R8eHElOjJ148nIg+WSFTs1GXCm0w6gU1NJnFyZZxOtdJ1vntF8uAczoJXbrNgSZihANUc9wwWpUAY9wsaBTb7K45O51D2DbZB6O68EKEZFpNyfnJcGOn5NZV13Zla4WiaeO9lL2A9w4PrdVUu1/ys4U+fucIo72EJNjRxzjpG8atUQT09KgLuwXL7mssTwxqcw/uvto4UuVv5iktOs4nxJgAXeIFR2MFWrmj427D1OgJF8dliROSZ7bOV2zxmaxlnd8UpNroLs770ImqhgYJ+XJvqCPKRmg4gCyNbvD2pMk5kD2NzEObBbRJq0uLguo4p6T7I6YVGJFDG1Gb5IoMzqmxINLIrhlLtGEmKZtMOSE/MSm0c8gQWCKlvJRruSDLxKaJHSYJBR0W3O8I+9bMe2dO3awpLRz89iLU6U0jRTFBPm8xg2nO7BHFB9rjhT5F0RRi0I6Hd8EZCuPMjo57AKZG334x+7pOcO6G4LNZCAEdzmwpaKTJlVda8qoXR9lMY5u+6BXli5MtrKZltqQHqJqfszUDTYiShpI04c0WAIGydHirlNsIr2fu5wYam7Eoh8Sm5sNeRkiDUKGyoLEHoJBMDgfZhcbrCchFA+ySyNENJj1icnT0kB0ic3QaOFSIUimMq5SzDZv0yMwmLRIBuKp0SnenE6mlxYPwcOXq6LhHYmr0raqJgC+AqE2Gzt9QfTbnBen7DpkDEEomfK1u4Bgk50XORpcWi8LE3ZzHos96NeKnjK4m6RmydULYUqY/Y9jInkrIaEGJvXOqcqlaBcEkGQ3PnMycABQHpiPUaNPItknihPYQ7a6N9RRK5sRytkAlZ4XSNGA5xQqodaxhFZ0/PKEFga59nljtplqSm1WqPITGZV9G6x0d92hMjb7lIp7WPIPzZC+hldmYRq38IQRLChvoEJKEHhs56tKcyZEz36mkUQ+70h8oPl4RMxW2LEBxYY+3Q4jAStdaNCJUGKTJnGQgWFlW8GCs7JEjLVLcEBZKBYrc0DnzCAdgquLiEWUxgp8SmkgFmmQATST0QHLR6v8ckmT28OYf0ikjFIcjEHAs54BNOdF6AesJI2Jr2pLZyStbR8e9DlOjb754OH15MtdFAjWugDjpfaKTI822IOtyCgFtXTAJyzQ3TDbJVE9wQI2Imfg2x+MCbIuas4prGzbnMVkuA2JY7MqR1BDMgy3/ShwbjWtCGDWG5bE5225q2g0a5SXGo3ibGeaE11kcwHa2VlHUcLMGQYFmIX/csEutCXNBZOUodVtHRkxpQqWWgnxsPZDE6HwsJmYIWLCrjB0d91pMjb7pIp7KdQ1AwfnNl06Sx059KRuvFjYuXrq0jfAW2gJXl1ySqGqsuOrkETcvV7UVGExIGRicaGQUk/Z6pxLNhOC6YFiNfmwsw3ZLplGcqJ4FsT152ms+SXKfGuERg5WBFgCPMkxbliiImRlkPyVg04NwX4FoSRiftp1GCJqMFTYORGs0XmkdHfcZTI2+4eKxkxtbne1spdvoemcvLe29A0C2G8IEMh2QbVzk5TLVjYWpp73z2I6ZqR0zektrfdPM1NSH7Z552Ozmi3dsJsEQF/j3o8tvPbH69uMrq6NN4GB77Bnb6A5CjsiGxqe++/jOmSmX/Kdfttu0o8vrP3vNSdk2fflZ2x+zZ2tN5t+PLf/X3Mrb51bXkH/nZmyP3Qsv8ZaTKy+9dTEHAjRQBuLxYTu2fMPZOwaLJvCLN8wdXFkPItsMEZ5z4W4Yf/S6kzu09w/dMfPl+7bTMZp62ZGFf5tfFWvTc86fffHBxXcvryg84TSRb/Q1+3acMzP13EMLsjYLkvLnz2795J1bf+PIws2r69unpjbHoRxhwQ9MTz9ky8zH7twspkMiL5pfO7pwcC2e/b533459PFLE6+aXX7ewYvlLZrc9YhuP19UrazC+a3nt5GiEnB+xdeZTd8YCGk89OGfh0i0z37FXO7tp028dW7xyZc3yc87chfanD88vj0bbp6fqJNgyNXXG9NTDtm5+9PbmxBjHc48uHM2pGpdvxRw2e26FV80tv2kxZv65u7Z+3PYtlgv/vrjy+oWVK1fWj62PLtg8ffmWmW/PqRb+4uTSGxdXD6+tY2IXbp7+nJ1bPlp53ra0+vsnlrZi/TZt+s69O87bPL2wPvqZI/PUN236yG2bv3wWZ+ymnzw8f3x9tDoa7Zie+qkD3GXgXxZX3ra09vZlnN2bHrZ1Bjv7yTvG5vajh+Zw7LYruTE7PXXuzPRjtm++cPOMLb94ZP7kaNMO/fKygfkj1YO3BqGjBWriRbrd8Ekfpz3bsliVifUFxmm043yIdeK1FlUBMi2EI29wABvDhY7ec/7mfbcsj53Hxteev+M3H75312YdWYU8/X+O//SVUcsKX3jWtmdctvtj9m1t7puUWXN45D/f+p8no7K85GF7v/68HZjeFfMrD3rTQRv/+GH7vurs7Zr/1NOuPP6c6+KKLXzRGVufcfHuj57d8mcHF7/yf46G9VR48rk7fvXSPZSwApwCp/K4/zn2f48uyX8KjB5zzvpofebNt1rdPT117Ucc2IddHm165k0nn/2+uJBGjzjrSdedfEHUu1PjLy/e+4At049475HQN+CF585++74dX3/j8d8/fur5fMmurb9x9uy5HF1HLfFnJ5e+8n0nLH/v3u2/fNYshJProw+75sj1KkAP3TLzlov2QcCV/7NHFxaHUOIzd2z5rbNnH7AlLsipK2Llv2PP9t88m6mAb735xG+fiFmNLj8T7WffcOzVWXAn8HWz2150zuw2HOsNuPTqw1evnuJc+sKdW/703D2osFYfdM3hK/BEJXzuzi1/c/5ey8Yfn1j6mptjfwsXzEy/+oI9H7Y1auvXv+/E75+cXMYn793+q2fNvmd57cHXxlH4w3N2f83ubS87ufTluYCP3b759Rdyrc6/6tBNeOLNKAg/dHDu549OHmIclGfs3/koPQ1gzXdfecj2CaBKPu/MWT/HPO6m4/93btn2Fp+yffMLzp59aO5ChzG9CU/GOBC440PhwFnBy1anMC2qa/zY1xYRINOod99kzsAMx4Oy3LZYhVA0AG0Y01VzOA3+4MaFL/y3w2Iy7Xe//djGggi84talr37rkREuTqTF3nnayOw9bfDN7zx2AlcCjON2Yn3Td7376MaCCLz88PLXsBRq2u8fLoXc1KFZO8V1OwbvXeLE+uirrjoe8/eTkDFepE4NDvp+oUm1aXD/dl7e9AF/Obf8u8d9IzyW6itmt33FrrjX+7Vji29f4nPMTx2ed0HEFfbic2ZRbp5xeP7Hj0wWROA1CyufdsMxXM+hJ3wndXuAC/78Zp4oRrgRC+U0mJ3adGET8or5lecei3LzhoWVKojAa+ZXrl+NW1QAd8RVEFF8v3n3tn2qpDesrX9t1rVnHppzQcSTwdP37/i0vJXD4vzmsYUHNbdjuNlE+zfzQ4X6x8V4hnZBBPCcgfY7bjmxsSACOChfu6FAG3uzxANY9qfceoqro8XrF1c/6fpjoXQk9AEujgU2lCR0vvb49V3L8vJClQwFMouLVJYbEejKcF7AzbWtIOakKi83R8nI4cxB2fInA4HLdsxc82lnv+ZjzvisM/niAnjd4eX/d3gJ5L+7ZfHXro2C9Q3n7XjXJ559zSed/fRL4y7jqoW1p13h8wZ5AQ+h0RtgPz7/v47QbpbBndr0qoNLv35TnJHfdPaOdz/6wNWPPutpF8Yrmvcurj3tqhMP3T7zYxfu8nbR1uF6+7ELdnn7xN1bYn89OjZIzVijR58zetQ5o0efPXqUt3NEHcPfnVj+8ZvmIkNhfdMn7tjyY2ft9BbGTZtwY/hjZ8KyA+1D8Pzf7O+vnD07euiZo4ecFduDz/z2PdvHcm7atHT5mTdeesaRS8/Ynfdcr54/9a0Z7h/P1BWIC/pJt578n+XVX8gLGK+m8doThRKvW215xNaZPzpn9z9fuBc1xRbcuz3j0OTzzSlv9E6JhQeeecOlZ7z74v2hc56nuA9qgTp+3aVn3PSAMy7fEkfq/+Vd5++eWLTgYoc9aivsy05GZlSc3zt392+fs/vHzogFf8fy2jV6gf8XeRf2+NmtP3lg1z9csPcBejWDdL+rVI/Ol+quiS8avzF/8fHF/8jKCHzKji0vn1v6reR86+5t77l4/1WX7P/hfTts+Z+VtWdtWL3v2bv96GUHcE/90zk9xL92w7Igzxsu2IvKbvXQ+ghV23KHgSOHA6fLFRtKkgVegXUxW8jKZdgFuK6hkEWZ0+ZL0YKZvvZ8JwhdzVBPKUimi13h4m1bPuOMHb/5YcNrmb/WW3ivPTScVb/8kL0P3jlz8faZn3zgns89EAf77w8tZ1psLvE5sQZvOLbyY1ee4F4M4B699uhwMv3ypbsftG3LJdtmfuqS2c/ONxP/4djKR+zc8qwLdz/rwllsFzf3As+6gJZnnT/71Wds0w5qT7HvUfGHHXzTyWVtK2xPrFy5sMoZDvcogWfdPHfD0voikhRGo6/bt/1ZZ+/yFkbWxJlnnbXrWWfuetZZO3HP0o519crqm+ZX3rSw/KZ5b7gIdeyarMZSY7ksK8gEzpyZRlm0/IbF1c+64bivaQz6bF2Tr5hftgX3dHgp+tW7t6FQoqbgpZ/MJFgotC/htt6O+niyOVUuy1fi7x/nbp6ud9l8A4tVxUtjGTZVsfvdpmadOxMzObY+wsvbb7z5BErnNZfsR/XBU8glGvdA3qD9xJGFT7j+6I8emnsRnoEuP3P98jPfqNfFn5F3jihnNzQ3ocbvnVj6t6Uo0FidfTPT/5BPRVCfd9bs5VtncGR/5sxddQf6D6d5GwHI+RIblwV58GyKyn6J34PatOmvTvWy+v4MvHZWSeK1gbXUR7S8LH21wOIi5bKl68cbHmjbUgh+bVBx3C20LqRiiMpreBWufAN/DCxnl+7cfG7eiL1nbg22d87F8+ojd28+Y7NLOWLXH7ozToKr8cTrsWpfPG7mryvwJ66du3W5OU11pb0zT8pH79q8b9pvFHCVHpqf81y9uCaml862BCx+HcQJoPVaicx5Dufsx7/ryMe/+4jaox//niO/duv8KbIJH3vFkRP52opgQrTaKQgtOI53WU9yiV86svjx1x7jdp226496T1t81LVH9l156MKrD59I1xeOfx7Son0FPfGqGfI7lmJJz52Z5juSiY/KJw+8XB2r8uPYMkz8FHjktUc+/rqjj7pueDP3808/T+MNiyvffPOJT77+aH0K9BGayZ/NLZ3ULD5u2+Zv2xMf1qBy/Xt+5PLFs9uqouHl7UtOLH3zLScvuebIZ99w7FB+evO/9w+36v+8uPpTRxY+88bjB648VHfKn7UzMgCogBY+MT8aeu3Cyh+l8TPEfGeekI/evnlX84r4IVnjNr5J+oq5ZZTjy64+/MOH4k3nx+3a6pJ9Sjw0D8R78rOsDkMnKy4hXqsuWL7YdEXZQllctHTZLtnntC0hiEZNMlZ78JbdNLS+dJXHLgiwtIgRN+1F4RNu5sU2um4hDuQ5OOogrKlsrU/V66+DK0oVA2XbJD9/23Chfs7bmw8iRLtuKajn8EYJsbCy35bn50GclKB4Fk1awWM14ypa80G8lVPBTI8lPHF/fLh5w+r66+aaWwMzOcRAJsJowfoHgLcur+FuyM82uD968dmzqAjSTo16BW34VbPl92W9yON2ChzFVE+D918T/3N57U16ExO4bPP0y87d/UlZtk4HlODfObGEW1qr2Lun666wbgm/YNfW2empT808fs1rvOaCvb985q6PbF4KAK9eWEENOqbd/MJdW9960b7/Nbtttpn24fXR9x2c+4GDfFPvM5uS/ZOHo2b9TH64DLw+J/bpmsB1WfLOad4DBYbTL5e38N7VdZTjqzLwK2e3/sW5uy2fEn6jALiZn2l3DJjmlYPNlxAuMMtUUbCySOF2Axc/a5Hf8ku+XUMlHXdR1vUJUFUqGquVF2nNpFcluAVzwjhcPfzmx/oIr5StvgevAXk3pI9KNo2O5Jvle/kSAmXLBcITG6sguABe9lC+rgEmb8FGo4uzYr4HxTdmy+1InkDMb7tn3iSIvWAIRvTzjcLJbHmb3vKg/W+5fH+0l+///jN3tDMEPmHHli+cjcvpf9qbWWdDXjSNmeA8NSWgSfbD+3a85aJ97RaOBs87c9eleU+3e3rqkeNfWNkIvIJ+YvOVFL9qNi7MPIueSaJ9Ye77xx15ndcdHPDGhagR7bdMCr94YNf+vKTPmJm+zXkCKIKod9i+bnYbCtx/X7wfk79+de01Oejc+uh3ji/irLCKF9TtbSzK/X9dvP8dF+/7uQM7H7Utzr13r6z7/UHg4ds2/8G5u0888MyXn7fnO/cMa/LyfGV6cS7IXGZFHf+YDTP3V20uzrcsJm7ijuSU2o9TjMdu3/x9zbE4a3p66v2+//DGrML72hfbHfkZCy6huh/UZeYr06WE57Q4gMpTGGWI8GGzxV4JLnnm28srVpUiwtnTgs0hthiUR6+6Zfnd83FyfNRufmnuMbvj+fy9i2v/dHRJ4aOr59f++JZ4v/yjQcD8AQ6hGlFjCbtnpr70jG2PPzCcRgFN4DH5xP6epbXfu3WBxnWMtfInhzL/LuRXQk+7Bd++1HoC2FnLnEMaE4/YvvkRO/hdOQrbt/CtLiYML4DT9eUX7j1jwwUQ2ZhwPMDwKONjXbB5mgM1WzgaPGXfDn8LBHjPyvrX3XxioakLp0R771RfbQE+Nl8Y4mX1q7IuHF3DzVos4Ccl4cPy/qtujoDrU/6wU736+/79mGfcZP370irmafn94HN3bn3tBXux/d65u+s7lS86FpMBfuboAl4U/2VO9eD6yO947r/y0MwVB6euOIjX3Q/buvkH9+98dfNNnWtX1//q5NJ2EbC9cm4Z94zPP3v2mfvj85DaqXor0Phk7f5X52cdhY/VjfZj8ui8Y3ntT/MrPu9cXv2TvHstQgFPDL901uwX5ov0Xz+++Iv5FciNuGJ5bYlnDnF7nlHuV9B9IhaH6+N65AqiashV82WPXtezBRrTjg3w1U7V1UebL1omNr9SMUBeWcIoiXnoNt63tPaEdx794rcc/rK3HbYFrx2+8Zwd4D/+rKGWPfY/D3/bu45+3xXHP/kth47nHR8JUY61LzErjSjM8l3CqT958L4Lm4+MA8h/xpD/G648/u1XHv++a44/9r+Pnsga8fh925Uz97cF10p2lnEJsSy5CIkvuuoYt6uPftHVaq85diVeEoJZkPzS8/UlxxYewtla/unxwuOLX3TjsXb74fyydAu8hPzqvDN9+/La0zZ8vnk78XW7t9fL6s+76fjn3XjsSbecvOjqw+/LA/SEvKn5tB0x3I1r6w+8+vBjrz968dWH/QYl8OmneaPwa3dv/6ysMv9vcfUn8gXpB4T2BfJG/IG8X7t7m6eC192/dWzxqpW1H2/G+vSdWx43uy3uuDZt+tkj829ZWn3z4uo/5V1YlcJ6VW58/W7u/nePf/G73i58fPOWxf9634nvuOXE99568tNvOFbTbQktntHcqv/gofnDG15iP+GWk19+0/EvuOnYLXkg+PWDjgb+9ECXK16BonVV8ob15PcQ88ILwW0VzXT5sgecjTRKWQ5UH4OAIUxTHpJThcyowPz6phfeOP/yQ0sLDsSLu8v3XI4n0tGmB2/f/ILLh0rxf9638Nwb5q/Pb3o/77Ld33Y2XodqbuhiJho3wXesOPToxZeNVxxFPXT7zG9cPLwd86KDC8+9ZeHGfGH+KxfOfotvMJl4bM4EWMPu13o2K5B4xcllbSspLMcXPwdwhp+xc+sP531HwEfBG785cNtAgXvF/Eq73dDcl7Vor6vnHlvc+NbV7QFehL74HNzSB141v/KC44v+NAPAq1cUTcs/ccbOh2UtuHJ1HdWk7q3On5n+yWYyE3hm4/qxD7wmvm5+uT6p+KNzdl91Cb/vgu17s069Ym4Z+/7sM3ZelC97v+PWk5ddc+RX8u7y63dvw50jhF/S/7QB/nFx9VHXHX3M9Udfm6+pvyl3c+I+8Yv18dTmqamHN29TfnJ+gveR2zb/SuZEcf2t40vPO7Z4c1axXz9r19efppB9zPYt37YnyiXYT9rwFUU8Nb5sbhmv+q1iZ3Fja7nD0MH2/RSu22hVO7houph5JesK9DKWCx2bvDgrajAq3F5s7jAWX1pWW+EVNXaF43zBi9xHz27+6rO2/8ejDjzh/J0V8oTzdr7u4fs/f//YEf2E3Vt+7dLdTzl3F+cDRGYJDBwvH7J/5u5tP3F+vGAklByTeeJZO1/74H2fx//nN+ATd215/oWz330mplE5/XQShMCwGl5AVUaTJpgT4FsTDYOBXP+fOTD72HyxeVcD1/l3Nfcv33HLbXz193TAxfZPF+79kl1b68vSs1P8QvKLz57Fq1dbgJ3TU2+8cO+X7tpa7/oDYOJ29V8v2tu+Hp/AJ+3YUre0AO5DQ7p9qJtEjPUVs1sfsIXfd8H2Vfl6FsXo908s7Z+ZfsMFe5+4Z3s7PezRD+3b8ZJz4lnzKft2/Om5ux+1bXhnDilQ7P7xgr2Pz2yXbJnZme7Lt0yfk3X2K5s7vk9q/k/hd+/b8Zrz93xO84E1gFfcLzhr15P2jj9BjuNZzVPFS08uT3z1B6PumOJn7ljwV523x/8HqaPF1OhxF+RVqpIx/Ce8vHpZR9LEHgT/TIsuezoVMqXL3mQ0uJj5X9kElIaACc7jLlWPa6/dbFxKlFM2EqhZCeLNy6vH1jatro8esHVmJz/mBDnvtpAWo8fcPEoOETMRDwROkoxI2nhvXl4/tr6OM+sBm2d24LSnreFUqjBKpNEnfTPuRKB3zTtOVXao3GvrQvb3auCG6+qVtUds24w7ozCdCjetcqkPzEyfNf556z0EeCl67er6g1HdTl+p8eIaPtTW0D9ovE9rgtOTp9/px+24szA1+uLz86rDcvvyVutrNVzobEeTR4W2up5tDHYa1QKtoDRRDmgf/y/JaH3N4F7JdhI0H3LoaSCd9pwSFNdiWuBAi9qNq0vBNg4u9YMlQVEzIUd2iqYVUaoplu2w13bWYimcgJ5CwodmIn+tdlo6OjruJkyNvihr4sSFDdS1SlkPciSTi06SCcMV7r65vMEcC7SEBvnlZZKyeMS0ANFPqBZydJCHzDbKIc2iWimhpowRqeqdU8NGarV35lhEoNEaFYKK3IKz8o6oVS9+TVttdh0dHXc7/P1EX7G6aN3aCIlCqrZgM4eC3ymDqAykqaXFbxdmrGUAKiTbHcJs8pGT4Xyt0NDoUp7wlqBYh9vCKaGF0XUn/x8LQzzJjB0CsQhycbN9U7xFyLf2ENJGafO4TJsbjUyWSSTAwvdqMxaTGZjKENSOjo57Cvy+m75yyGu1vfL9PUQpbLIKVLEIsmpf1QjRJSeNgWnEBhLTYlBXKMj6QngYHQumkzvEgpOYZlVt0JzBc9DoTILZovUoGTtEYctR0Hq/HCtJuwCCbv0iSe4yQAGtsjmQVRiSXLb7tpCxHjTJNJLY0dFxT4NeMPLy1tWOR1z2EBuBVUBXM3tcz+mirFahYwTKVm1xq/+Ex4QQZMRj8OquirLKkyeANqqwOE5Iu1ywQLcKIWgpR5lTabKEhoUpE3qDbG/1tkPiiB40K6MJFCSXkbMdnwn3JfmydXR03PPhCuXa4YvflzFadLy+Jbs86cIOb9rJUjmwUKnYYlPgkASVRVngAiCycPhmyhyKEnD7GZHcPHQZPBxosNgVsiqXjbTX63d9B2gouJ4AWrkrT5Q/tc7jcG7pgsz9hay9Do5IZsJiI2BLR0fHvQe+T9TGC3i8ornY+crn5lrga97lwExXCmSzUVt45UIxGpKYKS9LmDgsWE7uDJBVXjmrHIit03pTZoabXEa/lvdksvxZxUYZ9sxG1bFiwuiN9mozQ9HCgkcZi0BbR0fHvRdTo886L67kup5xzbNY6Z7Larwvpos/PqXFQwUiXLQRFGQMi7pIVRmSNshpoZ4WdDUHm6ja2MRSaJgRmwLbNA0ukb2bFJoW3UQqtPEZtACBlpQ7OjruW/Dnznmpc9MVH0bUAtUItKGKEy9CrZrTeHHnBTIkWCxTcAY+BiYgg/gQilxTasb1TR+ZNurWkkkyG72WJTCJxuIcxOSOQBaHbg0Xm4fAZmZlsOzAzKMxQ+jo6LhvQZ87x+Yq4KqBG6GqJi402uBCQQRg5Cti87NYkInOXhgzqjbTkAQ+NdGicyw2qjDkoHhwFEUVP9rkeCzbncECi6CTVwYb8yP1GE5GRpmplmYRIhU7bR0dHfdl6P1EbC5wuOarCrhGtJVoKBbYVDSxBT+/YTPQkoqeRVMaAGEoQC5S9WZibY6S3LbeIFOFpNYuPIJQgozhVQkmPCgMrs5oVb4Z5UC1HqKjo+P+h/rcOWtBVQQWiNxCVR0BswiuKdiIKiveWprsa1mhSFMqqIxrooLgTQk3WiDggbbqNTa/jsZ8hntGe9FKqI18cJQKusNdIr11dHTcjzE1euy5rAQoEwArAh4Tcus1XJhs8Q2jMBjRolMUdITXJzP2FoKs1p3LpT/W8LjS2dJfOdVD5UADRXb7xLSXAh5OghalUaN0dHR0jMPfxdG7iigULhmWabesugOBG4S0YyPs0r1YcLSFKwPh9RZqO4qNSkuOQihnUSNBr80pw4ubO3Nkp8D45uU/G90eWs4X5rRAgFGjd3R0dGwAqiEKhKoM6kSUKlQNVRM8yh4lydUwaw0trR2vYa1WiOpU0HKDjAeTYMvCF0xqIsjCbA7J/PSqXJpMu5IwxJayK4TMfIHc0dHRcVvwd3FUZVw4UM6AkFVrWG5cv0pQjfNt11D+ZAfId6mSy6mYzYIz5P/Y481dVkw8zMTDCcOiFhZvzkCXNsdyDlB92yiLo/hQ2e3o6Oi4HVBNBFxcLEeVkWTBluJQlsp7MZU/6FFAJfv/MsOCzrWJbYW7fsnOQVQcI9yENDrEd3x4WChaG0JvMaV2dHR0fODQ76260LCmqLSxtVFFh8XLFccFyMYsl+holGCayxktaqMCKjzyoNW9W3wJRq+jXUyL5qI5pJVsgQkVCJdHcWBHR0fHBw19uuLbOpYbtS5q2KIMWdX3+CAFTUYw8OIXEpj+iCOi1Do8VFfSsivQXg6nzLTbkjk1QkS1OaF4Av1lcUdHx50KvHZuy1zJKj2uPqxEqmiUZaQl7aCgja/OqGahg4BHBdpYAmUVM6gR1YQ7P2QTvNnb0dHRcRdD94muhi5zfj3LSqR6F6pKIQWoskcIBJUzf2DirUqYQyCZA9CbVRIbKmlVQ2RwIFrANEd1dHR0fKigz1hclbzhEbJKnlU8WKR8c2cC2qaKufyFXRwYq/yFpThO6/z2qg2XW0sdHR0dH1L4//a5hLkqudLJAtU3gLbQiLZKIdkKURvhRUZyhVj2tslVUn9sgEzfXdJhd0dHR8fdC33uHDVO5Sk+b5Ec5QwtileWQttNZoGzUZtVSEVjVPuyOl1i8SGxo6Oj4x4Cv5/YlkVVrrFKBxXFK/83SLlc7PCgtyl2sHMzU1SSFUK/OB0dHR33SPhzZwiqawb6tqhBBlwBbeGWAl8Fuwi6kqa3iqC3jo6OjnsDfJ/oEuYf2vL9oMoYWtiho96pjwJKAa1fFKP1rWLZRe3fHOzo6LgXAjXR93fYfIvnSpc1Dg/fIfor1jKI39RBmTs6OjruA9B9YtVEdFXj/FrY5c/eUHMD2Frq6OjouC9gmq+XUddc76Lq+V3CZvOtIjbAbUdHR8d9EfkbENzyVTMKIlB1EJseHR0dHfd56DvbLH/r8WLZ1a/XwY6OjvslcJ+on+rCTWJHR0fH/R7TvRp2dHR0FHCf2NHR0dER6DWxo6OjY0CviR0dHR0Dek3s6OjoGNBrYkdHR8eAXhM7Ojo6BvSa2NHR0TGg18SOjo6OAb0mdnR0dAzoNbGjo6NjQK+JHR0dHQN6Tezo6OgY0GtiR0dHx4BeEzs6OjoG9JrY0dHRMaDXxI6Ojo4BvSZ2dHR0DOg1saOjo2NAr4kdHR0dA3pN7Ojo6BjQa2JHR0fHgF4TOzo6Ogb0mtjR0dExoNfEjo6OjgG9JnZ0dHQM6DWxo6OjY0CviR0dHR0Dek3s6OjoGNBrYkdHR8eAXhM7Ojo6BvSa2NHR0TFganT5mSHeRzF1xcGQNm166bm7v3J222fecOx1Cyu2jDZtWtMKbL7i4JpNmzb9ztmz37hneyh3Kv7P8cVvu+VkKJs2rT/wwNTUVCgdHR33ANy/7hOPr6MGbrp2dQ3lz9v6pk1H1tYX10dVEIHLt8yE1NHRcT/Dfb8mPnDzsI+uibeusS0cXBu9a6UtiZsuG6+Jx9dROW8b80q+ESea8E/ZvuWFZ83WdrqbxDakcGztdk2jo6Pjg8F9vyZevnUocLglXB6Njo4Xr1vW1t89XhPPUxn9u/nlL7rx2PYrDu698vDWKw4++JrDP3tk3oT3LK+deeWhA1ceOuPKQ/uuPPS2pdXPvuHYN9x84im3niz7JVcffv7RhQdcfXjPlYcffu2RV80tI/D1iyv/++BcbaPR6DZDgF8/tnAWBrrq8COvPfKHJxY//JojF111+LyrDsH4j/kmQEdHx52C+0FNbG76Dq+Prl2ZvNu6cW396vGaCLzs5NLn3Hj8FfMrS1JReN6zsv4jh+a/9KbjMmw6tD5CtiPro2Pro+++9eSrF1Y2656v7Desrj/54Nw1qxzu7ctr35pvIx4fjWqz5f2HvHt57btunTuoOv6fy2tfe/PJd66sXb+2/r61EYybmaCjo+NOw/2rJh5aW79udbL83bS6jmIUyqZNl+om8aePLFgFvmH3tpA2bfrLueW3Lq2Gknj9Ii2bN429EEYN+5rZraGo8qK6hXIanDLkTYvDneCeqamvnR0mA7gQd3R03Fm4f9XE61fXr23Kn4GbxJuat+oeuGVmfTR6cxa+M6enfvec3Y/aNiR552lK20R1+rjtm19yzu5QhCO39b7kKUMONu9+PnzbzO+fu3vi3vAvTi5NXXHQW5g6OjruKO4PNXHYR5Sz9pbQuHJ1vf3UBTX0RPOGoz+WadF6C2fPTN6w7ZmetJzuQ5jCKUPWePsY2N6/uNPRcRfj/nWfeHh9hBekls+fiX2/cmXttc0nFQ/cMg3G181u8/b42W0vOrb4H0vv72Xv9+zdfvOlB37v3LFbvI31b/Il9wbcgZCOjo47F/f9mrh5/N7qprxP/Pjt8RoUNdGCcemWmf0z0yhwP3fmrku3TKNcfvutw7esT4lvO9UXvFc3VLiNlgncgRDgwVtmnrF/h7cwdXR03FHc92sicF7zwvZf9HkI8Ok7t1iYG687D9jM+8oXHls8/+rDzz6ycMPa+sTr1fUN93N7N7zmBVbzY+XCbXzCcodCgA/ftvknDuzyFqaOjo47ivtFTXxg8/IZNc7CY7dHTZwA7g3R/tjhOavAGy/cu6spessb7t12nrImRv8B4Pa8uF4bjfoL6o6Ouw73u5pYuHzLzIc3X+cunDEzvbg+el9+6nLm9NTHbd9yTr75CCxvuJub/NRGuD0veydwypDZpuBes7L2N/P9S9odHXch7qc18eLN09unpx6xdfIrz7OqP4sbqt7+pibentezwJ11n/jhzSTfu7r+Rfml8cLbllZ/9NCctzB1dHTcUdxPauLkbl6kL2ZvvE909dw3M9ybHVwfPf/owq0f+P813vjm4G3ilCGP3bHl8c0XuR+0YV+uWFn7qSML3sLU0dFxR3E/qYmTte9c3fdtrImXJhM3khaAJx+cu37DtxpvE7fzdrLF6UL+5Nw9r7tg76+dues15+959yVnnHWqty87OjruFNxPa+KDZPnwbZOvnf0f+4BfO2u2Pq3+mtmtj2j+H8uHGL98dGHqioOfesMxlOanHpp/0+LKrc13v/dN3y+OYEfHhwz3/d+U/WDw9qXVczdPnzkzvd68qp3WFx43WowJ++loLd5/yFuWVh913dHQx/F5O7e88vy9oXR0dNwZ6DXxXoBfP7bw9EPzEz9x9tWzW1989u7t/XV0R8edil4T7zV4w8LKwbX1VX44PvVx2zfvaz4K7+jouLPQa2JHR0fHgH6v0dHR0TGg18SOjo6OAb0mdnR0dAzoNbGjo6NjwMyzztgZ4geHpx2ae9Pi6r8urrxR29uX125eW3/QqX5k4a7G0w/NvWZ+5TN3Dv8fbiPeurT63KMLj9m2+fZ/l+WfFlZecGzxM3Zs2fgHSP/i5NJLji+9/xGfqv8M84gN3xIH4FocbXrwXbNWSH54bbTx2+l3Oo6trX+gXwz605NLv39b69bR8SHGnXafiKLwo4fnf/BQbE+49eQX3HT8sqsPX7vhT+JtxGOuO/rbxxdDuUP4pptPfN6Nxyz/3fzKK+bjr4CeDletrP3M0YX2T53cJt61zJAjp/r7Af+1tApXKKcBCKiqoYwDro1/9+rOApK/5baSr49Gj7r2yO+fuOOH4HtuPfkJ18f63378x+Jtr1tHx4cYd+Zr5wdtmR5dfmZtf3zO7qtW11Ecw30a3LK6/ual1W0f3FeP/2Z+uf6YyYvPnv2j8b/0dFfje/fteNtF+0I5PRaa/6DSArFP2Xd3/kT2TWvrb1le2zL5V7Y+ALx+YWXjH5Pp6Lg34i58P/Grdm/77B1b2puUf15Y+c1jCy88tvjvzd/nfOlJ/gnlNyysvqS5VXzl3PJPH56vP/pu4CXq6miEl+cvOLbwBycWb8y/SorAufXRdavrznD16jo2u4B3Lq/+yYmlnz0y/4cnFm/zpnU0GmEUCK+ZX37O4fl/a+ZZeOPCys8fmf/bZm43r42N+Nr55V89uvC7xxdx/xgmYWHEv3yA2zHM8x2NC7HIAAFT9ejefcxB/gFYN8zqH2QH8+Rp/ujV+1bXX3x88a+UagLvXl77veOLWEAsY5g2bfqzk0z4jwsr7SH46zmuQLubBg7B38wt/9KRhTo6XP/RaOf0VBv+psWVXzm68Mcnlib+tAOAgbA+uDU+3ZNER8fdiLv2MxbUqa357tvTDs19wg3HXnBs8UXHFz/6+mPfpT/o/val1Z/Xq6dXzi//+jFeUW9YWHnktUfwuvufF1c+76bjn3D90Xcts3wsrI++7H0nvu2Wkx97/bE/P7n8jTef/Mhrj7rgPuPw/PJo0w2r6xCg/vjh+afmLwk++/D8h1979McOzyPka28++dBrj7w5//bAKfHqhRWM8vj3HX/Gofl3LK998vXHvvZ9J8InfOstJz/xhmN/enL5c286/sU3xk8Z/tGJpfpZwyfccvLTbzyOkvQLRxcecd3Rpze/aYgX7Bddffj5Rxe/8ZaTH3Hd0VdkTUEsqjaEl55YwuiffcMx7P5fzC1/1o3H60/sA4+76TjW7R8WVj7jRi4LmH93qrcI8JRz3tWHn3d04YcPzT/smiNhFX7hyPxDrj3ym8cXf+/EEpbx+3QLjzX8JR2CV8wvv1BFDTd9H3XtkS+86fgbF1ewm590/dEr8s+3YvUOXHn4ibee/Ov5ZRydL9D7FVj2q1fWQdaBYJn7pptPfPz1x1BVsf6Yw+9krVwajR5z3VHs1P+dW/6o645iX2zv6Ljn4E6uiWujkbeDa+u4OP97Ze1xu/gOOm43nnNk4Sl7t7/l4v3/etG+vz9/z68fX/yNYwsfsW3zv1zIV52/eOauN+nl5zMPz2+Z4v+uefn5e9ceeGB2asqVznjtwsp/X7zv1Rfs/e+L96MO4l4MxmsecAZeen/Wji0QTDNwL4Zszzpj5/9cwkH/6YK9uFP7k1PdPU1gBre0F+37/XN3v+HCvX94cuknmwnsn+bckO2H9+14+fwybnnCIeCeCGXlD8/Z/R8X73/bxfvB+ekjC0fytxevXFnHHJD5yKVnnDk9hZs12yfw0ds3rz/wwL9dtO/nDuz8y7nlt6nuP/XgHNbwzRdy3+H1b53V803hdfPLT7j15Hft3f6fF+/HXrc/HIk8P3ho/pfO3PWGC/f9vwv3/fOFe597bBG324/ctvkNF/CHJH5FLgjPPDS3S7uJQ7D8wAMY5Rn6Swwn1te/5KbjXzG7Fev89xfs/Zvz9rxyfuX/HF+EevHm6U/X+oOMyvu7J5Zeed6ev71g7zsu2f9ls1uffOtJ/wDlV73vxJZNm664ZD/24h0X77vxA/8Fto6Ouxp3Zk18z8r65vce8nbWVYdxcX7Hnu2/etYsXLgveOTWmedJBj5959aHbJn5Q90cGf7o8b+XV1H1vmb3Nmn8VZgv3rUVN2XH86/Ff/3ubQ/V704/aOvMw7fN+CUnsG1qaseG97MeunXm787f82P5wTqu20s33643vb5pd/wdvsds34L68qrmdux78o2/75NwXb5+N/zHqv785BJutSD8zJm7UFnqN7rx9PDxO/hHYPbNTH/Rrq2nqwhYNH+0/bn6QNbVBPfR379/x6P0twbhRWGCsPHg/cfS2nkzU7+W6/x/z9uzJ+um36N48t7YtY/bvuWhW2ZeqlfNBp6K0KJ0/uPi6tfMxiGAEYfgj08uz6+P3rq0dv3aev2Rws/dtfU3z5r1r65h/etvT78EN6HbNn+enguB5545Ozfa5JviV88vf/ve7V6Qh23d/LH5pxM7Ou45uDNr4oO2TP/ymbtwu/F/zp597fl7bnzAGb95dlyc71pZO2v8Nwu+dNfWt+crsoIt339wbuqKg96++yDvUN6ZzPa3YQ5MT9efn2+vycLM1BQ4P3Dw5OffeOyyqw9fcs2Rq27fjcmHN7+WiGn/R/Pe39m5F/4j9xN///7AzPQLz5p9zcLKp95w7LyrDn37LSf+vqmnlzV3bftnpjb+NX1g59SmS/LXHs/UWCfXR3hB+tbltRoa+MTT/IGtty6vYg6hqHqemb8C+Tat4db3Hqq1/Z+VNTwJ2VvwIXhKcwi+Lw7BKpJDeHjztZ7v2Lv9saryuE/fofVfH40w0L8srVb4OVcfhh1H8D3La/OjTWc0z0pfnpW3o+Oeg+H6uVPwvft2fPe+Hd+yZ/un7tx6XvNT1bPTUxNvfS2d6v11Xy4vUUmt7XUX7MVNjTyb2r+gMto0Wswcp/zY+j+XVh99/dFfOrr4+Tu3/uG5u09eduABzZTeDzY3n8DiNu2CJgo1q8XShp3AfdCtl57xp+fuxp3gy+eWP/PG46gFduGVe4uNsUDtUQEWvCDFTVdbfzf+xRhj59TUyrin1XCn3C4stt86e/IDeu/fH5wzeQhwy2zXSjM0bh4t4DnJtdecr5vd1oZjw2rs1Cr2dxA77uG4k2vi6fDwrTMTnz/iJuXRuuNo/vZy/JkUFAuUVG+4wfxh3acYy801jhJTpQHXpIUWf3pyCQPg1euT9+1AVcU1ffXq+sSvEJ4S/9J8JvtfS6sff5qbMmDiL6i89MTS59xw7Ja19a+Y3fbCs3e/Wj/4+udz8RZB+zHrajP5FhvvY036mO2b2683vvY0n048Ytvma1fXDuZbCjesrl2Tt8YoiJgY7vJqbX/+6MJzjvCt0s3N6m08BO9YjkNwkf7ydf2BbOCSqw9/wvX8vdt6TsKdKTLMjUYV/uCtMz96eB6zumDzDG6u/faocdd9K7Oj4w7jQ1QTn7R3+3Wr699xywncdh1aW3/Wobm/mV/5/uZLeVeurr9ybvljt2/58l1bf+LI/Ovml/GaEe0PHpz3q7ONQImpuypckgif+MRj7/QUrjl/QoKK/BU38RPk031/pQWu4b+dWz6xvv4LR+bfsLj6Lfn+5m0ClevvFlYw0JsXV69eWftVfYryGTn/9hvimvxtz6TwtP07X72w8oxDc29fWn3yrSd/sHmeaIHbsfNmpp90y0ncnB5dW//fB+eqyP7Avh0oxD9wcA5LcePq2nfdcvKV8yvP2D/8L6b3rqz99dzyJ+7Y8iW7tj778DxKMNbqtTgEh+Y+fSd34Qt2bf30HVuefngON+DXrqx9w80nDq6PvmcvDyLW/+/nV/5Z6//M/Tv/Ym75l48uYAKogBjx6pX1r9NbtN+1d8ezjyy85Pgibjb/6uTS8/RNA+P5Rxe+6MZjbzxNre/o+JDhQ1QTz98884rz9rx+YeXsqw6fedXhPzi59Ifn7P58vQ1/1sz0l+3a+n0H577iffzeyW+dPYsL79NuPL77ykNoP3XHlp87c5dyTGJhfVQ/0/+Vs1vfubL2KTcca//A3g/t3/l5O7c84/D8GVceesg1Rz5u+2YM9Bd51/Z+8Mhtmz/3puN7rjz8OyeW8EIeNzvhuC08YMvM88/aheLymOuPXnrNkb+aW/7ts2c/+lS3majmp3ztfDp83q6tv3v27J+eXH74dUf/dXH1pw9wTSZeyAPnbZ7+k3N3X7u6/uBrj+y/6vCBmeHPtVyyZeZvzt/z5qXVB15z5IKrj7zw+OJT9+9ABYQLUY/btfUpB+e+Rl88etHZs5+0Y8tjbziGQ/DpNx7/rJ1bPRzwO2fPnjMz/cjrjl5yzZFXzS0/58DOr9ITxuNmt92wtv4JNxzDbfW37d3+S2fuwq0lJvCR1x19y9La/8m3lZ95xs5v27Ptew/ObX3voSfp83HbgePro1f0P13dcQ8Av3IR4ocEt6yub57i35UPPXFsbX1maqr+vjvuI3A7g0vanzMY4OwdV9GWZW00wuvi9hMG432r67gpqz/Id3x9fc/p/67T380vf86Nx9960b6HbZ25amX98jv0f5BHo9H1q+t4OX/27Xv7ssXGfbT6spNLH71t80VbZubX+e1o1KPPu+n4f1y0D+XbzAnctLq+f3rqlP8B+fDa+rH1EZ6K2r+mD0wcguXR6KqVNaz/xiXFGh5ZG9VnQQU8IbWfpF2/uoZceMkceoMrltfu2Np2dNzV+FDXxHs4qia2n67eE/AlNx1/5/Lqmy/at3t6GiXpM244fnBt/arx72N2dHR88PiAb2Q67hb83IFdeK2Nl/Mfce2RvVcevmVtHS+Ew9fR0XHnod8nTgK3Yw9rvvFzj8Lfzi0fXh89atvMQ+6pM+zouLej18SOjo6OAf21c0dHR8eAD/Y+8eQ6f1zrrctrh9fWL9sy8/jZbXfLb2vf0/C6+eW/nV/5gf07zpyZfuppvksIPOdUXzNaGY1++sjClL65EqZT4TXzy38/v3LKDKfDq+aWX79w2yGY8KO2b/7K/h/vOu6X+KBq4h+fWHrSrSePro8+YuvM/umpf9L/cHj+Wbu+U9/jvWN48+Lqp95w9F2X7D//VN/huD34ghuPPWTLzC/l7yDcLfiNYwvfeevcOy7e98AtM9vfeyisG3D8sjN2b/hikGMhvOfi/e/nCyvPO7rwvQfnlh94wL/dcHvwC0f4E+i3ecSnrjj41P076juJG7Gun/z6/v07/E3s24+/PLn0pe870d+u6bgn446/dsYdx9fcfOLDts7g0n3bxfv/8cJ9116y/xt3b/uuW+dee6rf9buduGZ17eQH8mXmjXjl/MruU30v727BNv3umbc/1q9//945s2XZWBCBFx1f/Ex9lfr5p/kxsTuMJ++9Xb8HDo5/9ed0uMO/y33F7fhDFB0ddy/u+N+oesqtc1evrL3y/D31Gejemekv2LX12UcWbllb/9q8g/j7+eVXzi2/c3kNV/85+R3mf1lc+bfF1Qdtmfnr+eU/P7m8Nho9QF8Aftfy6p+cXP63pdVLNs8sj+IXYt6xtPoPCytgXru6tn9mqv3GNV6w/9+55X9aXFkdbbpI5JccX/zLueX9M9PLo9FHjX/H8M/1Y1ntl4p/5/ji3ukp/3QV6jjm+XbN89yc5z8trPzz4upHNHlwa/yQrTMzU1N/Q/Lq+mjTb59YRG24ePwLzP++tPrX8yvftXd7O9w7ltf+bG75y2a3fuTpv/z4dv7m48JPHti1vmnTH5xYesaGo/OmxZWXnljeOjWF+sL/7XfGTkzmL04u3aD/1/xXc8tvXVo9a2YK1RapqC6vnjsz7SeJG1fX37Wy7j+GhZC1EX8h/FXzy/+6yL/9UN8w/9el1a2bQr1VK/w3+q+WddP64uNLr5pfOXtm+tDaOhYZqSC/dmHl7+aXL9o847FeN7/8irnlNy+t3rw28ohY4b+YW/7vlbXLNvPr4v7e/j8vrLxyfvk/OJdRvTK4cmXtdQsr581Mv/D44sEM7+j40OCOv3be8d6DX7Zr2x+cO/nDKkujUf0iwxNuOYnT+mO3bV4cjf5ree3p+3fgaof9u289+YJji4/ZthlXyAM2T8P1v2aZ6lePLvzC0YVrV9cv3jz95bu24vXvsw7N/fiRhYdumcFVhEKza2rT/7twn4vdH51Y+l+4Ud0yg+v5P5fXfnDfjmcf2Pnga444HISJn5jFS8LHz279k3Pja31+Hff2i/Z9+LbNT7715POPLX70ts0roxFS/dC+HT+rN90wz187tlhL9J9Lq4+87uirz9/zmTu3foV+hhqF+9D66BFbZ95y8X5zjHrt3H6t509OLH31zSdwn/h+XnJ+760nn3ds8cRlB3Ab/oU3Hf+ts2a/rfkPcJ9xwzE8l2yf2nTr+uiRGHR5za+dH3IN/xvffy2tYkn/cXF159Sml5yz+yved+Izdmz5+4UVFLjrHnAGalz72nnzFQc/d+cWFO5HbZu5emX98Prod8+e/Qb9NmK9dn7z4upj9BMPX7hzyyvmVzDin5635/j66EtuOu5Fvmjz9Bsu3OeF9U8xvujs2Y/fvhnH/Q2Lq5+1YwuqNow4lH923h4sJsqrA5H/iXt3PO3Q3HOOLGD1sAt4IvzOPdufr/8F6Hl+6o4tqIxQ7/Ap2tFxBzDcxXxAuHZlbXHEH0wMvUEVRNyFoSD+9Xl73nTRvv+8eP+fn7v7p44s1B8JWd206Utntx697ABcz9y/4w9PLiHnd+/b8ZwDvDP6twv3oSDiIkdB/Mkzdv73Jfv/7aJ9rz1/z1z+UDZKBgril+3a+s5L9qMe/eyBnT9/dOG9K2uug0/cs32iIAJP2LMd1239F+nfPr504cw0CiJqKwriX567+18v2odUf3Xu7p87uvDS/L3b93OLctPaCKVz7rIDuODD9EEDBREFCE8AuOOenRp7+fxNN5+4bnXtnZfsu+WyA9dcsv/k+E9I4H4W5f71F+57y0X75kebUBD/4JzZ11yw9z8u2odahXvn4DVAQcTL+TdftP/QZQc+btvmlzQ/8Wtg9Edv24yS9PLz9x669AyU4Gcfnt/4u9wAbqjfdOHeay/Z/617tv8E/47N6snLDvzdBXsR+1WzW/98jr8K/KtnzX6Lai4ODQri6X563QkB1Hc8NyBt6B0dHxLcwZron716/2/b4bXq43Zt9Q89AF82u+0zd2xpf9j5O/IXm/0Xfjf+ZdGHbp352/P3PD1fP166ZQZVzEPilu3M6ak/z2L0Q/t3vuTs2XqH65T/z/cH9/M9sj/VBI6urb98fvmpZ9DyspNLn7Nzy+PyY9Yvnt2GquTKi3u8naf/BAO3YygBO6enHrjhf/7eMfjVvQsH8A27t+OmtX72FS9Ov23P9gv1AhMv1T9h/KclcLf1hVrqR2zbjNvqL9619X/pbhQlbM/UVP16WAvspn/BAQDNr75b7JqewtPSk245ecPqGl7qHr/sjN9p/iBi+9nOl89u+9jtW/z2xY/u34lqiFi7/EPcG3GbP72O0wPPDUgbekfHhwR3sCY+ZOvmA9NT78hfSz0l9NvaYwXl7Jnpt+UVfv7M9L58r82/BT1x4wPgltM/lP15Nx679OrDD7jmyPV5bb8NNbF5qw74+j3b62tAp7wKUbk+Eq/+VHd+T9fe16sicJ7jn3XUPDGBXY1nojpedieVwoL/VtS33HJy/5WHsOHeGepPH6bxyNo6XnW2P8eAe+SQhPqRC2DLVPwMorF1im9ohNLAf8XBwCGY+M1w4Bn7d+LZ4gXHFy+8+sin3XDsuUeHn/aawKXNlwQ+Ytvmq1bWvvHmEx9z3dG97z30k0eGW7/2bdTb/On1S071KqSj467GHT/tPmb75lPWxIdec+Siq/hz87NTU8vjVxmuzCorG3890H/yrf27S34/65eO4uXk1j/WD2XjPjF84z/4DIxSfT+F6ol7t+N13C2r6y89ufSVs1v9sS9uRtqfqgWWRlH+tk8h2zCfiRE33Nd+UMCs3ri4+hFb+R3P2j5x++bfV2X0L/t7iYyJwdt7PKztYlPgcFN/yt8l881+YeMROXvz9CvO3/ufF+37qTP4A4rPPDz/LTeP/RXDwnoznSffevKbbjmJIvuj+3e8+aJ9v3cO7wT9s5XbpoYTTss+honC3Z4JHR0fMtzxmohXZ/+6tPo83doU/uzkEp7/v3UP778evm3zu8eL5ntW1uq3rSYuyEL7VwRQuVCVRpef+V37duA1FDy4TzyqUoQXj1evrtefeL52ZW36vYd+RN+ORsjp8CR9cfIn9UuxvkkEHr51c/15AOPdOc/9M9Pt3et7V8ZeXZ5uF+4Ynqu30n7vnN2/efZsbX4d/YJjC9unpx62Zab+Lg3wX+NzXmiK4CJ/xDtkYGE0VkwLbd2EtPFe8stuOv7EW05+1LbNTzuDL4e/bnab/xJ0+7vcRv1ZBQz0G8cWn7l/xy+eOfvFs9su3zrjc2BVBNx319F5Pz+93tFxN+KO18Qn7t3xuTu3fO/Buacfmnv9wspbl1Z/9sj8k245+dHbNv9v/Xrzk/duf9PS6tMOzeF1H26CnnLryatW1uvvxk38cZIJvPjEIhLunZ7Ctf0z+n38966sPV4/Ousi9b37th+Ymfq+g3O36secv+bmE7g9rHfiblxd3/gH441v37Pt144tnjU99UW7oiZiSm9ZXvvBg3OH19aR7ftvPYmhn6Lq+Yhtm4+tjzCBq1fWXj639ET9QeTCnVsTn3Nk4cO3zmDE0AXv0U/r5ecT9m7HzH/92MK8fv66/QurQDsZ1Mf2zvcUbyUK7QLpDzmEXMC93m8eX3zpiSWszD8trLx+ceUz9YPbhn+X23INgZu7PdNT/7i4Cu/qaPSyk0vP1uTncnoY6HeOL960un6bP73e0XG34I7XROCvz9vznXu2//qxxU+94dhHXXf0Rw7NP27X1pedtxsvi+D96O1bfv+c2RcdWzzjqsPnXH347+dX/uK83Y851Vvm7RtZH71ty4dtmUGqHzk099T9Oz5n55anHpo/cOUhvCT/pB1bcHOKywy0PdPTf37unrcvrZ2tH3M+vj763XNm/UW2b9i9/WePLnxW/kH6CXzHnu0YzV86MXA/+yfn7P6DE4sHrjqMbK/iPPd8gr41/Sk7tvzIvh2YwKXXHPnWm0++YPz/xiycrth84PhbFZdvbWZVwN0ZasfbUab37fjf+3b8+OH5XVceevz7TtRfVTXaO64P6K8aGCij8UZvg+efNftFO7d+1c0nsDKfcsMx3DtjkWGf+F3uCfzCmbveuLBy+TVHtrz30HOPLvyVvq31Mt1gftz2zfunp775lpN4mnk/P73e0XE34s75XZzrV9fm1zc9YMv0Kd8DwivcvdPT9UEkwBuZ0eiUPyhtvG91ff/MlL/WAxkXub/UPRqNToxG7de2cZeBCjDxi9bIj1eC9RlOi9fNL3/ajcf/86L4kmML3LzMTm/a+H9L5tZHb1te9d8ORFrPauJXvj+U+J/l1fbjEWBiMhvVndNTE/8FcIJzYn0dz0yn3B3cxB061RenkcG/yw1hIhDZbl0bHZiest1/nruO2g2ra+fMTNcL8FP+9PrGnB0dHxrcOTXxXoErltfO3Tz9UdcewY3hX9553yjs6Oi4L+F+9FT81ENzu688dHBt9ON39L8zdnR03OdxP7pPfNfy6juW1z5jx5b+oqyjo+N0uB/VxI6Ojo7bRL9j6ujo6BjQa2JHR0fHgF4TOzo6Ogb0mtjR0dExoNfEjo6OjgG9JnZ0dHQM6DWxo6OjY0CviR0dHR0Dek3s6OjoGNBrYkdHR8eAXhM7Ojo6BvSa2NHR0TGg18SOjo6OAb0mdnR0dAzoNbGjo6NjQK+JHR0dHQN6Tezo6OgY0GtiR0dHx4BeEzs6OjoG9JrY0dHRMaDXxI6Ojo4BvSZ2dHR0DOg1saOjo2NAr4kdHR0dA3pN7Ojo6BjQa2JHR0fHgF4TOzo6OhKbNv1/Oryz0fTVz6kAAAAASUVORK5CYII=') - - $AlertMessage = If ($Request.headers.referer) { - "Potential Phishing page detected. Detected Information: Hosted at $($Request.headers.referer). Access by IP $($request.headers.'x-forwarded-for')" - } else { - "Potential Phishing page detected. Detected Information: Access by IP $($request.headers.'x-forwarded-for')" - } - Write-AlertMessage -message $AlertMessage -sev 'Alert' -tenant $Request.query.TenantId + #this has been switched to the external free service by cyberdrain at clone.cipp.app due to extreme numbers of executions if selfhosted. + param($Request, $TriggerMetadata) + if ($Request.body.Cloned) { + Write-AlertMessage -message $Request.body.AlertMessage -sev 'Alert' -tenant $Request.body.TenantId } # Associate values to output bindings by calling 'Push-OutputBinding'. Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ - StatusCode = [HttpStatusCode]::OK - ContentType = 'image/png' - Body = $bytes + StatusCode = [HttpStatusCode]::OK + Body = 'OK' }) - } diff --git a/Modules/CIPPCore/Public/Entrypoints/Invoke-TestResults.ps1 b/Modules/CIPPCore/Public/Entrypoints/Invoke-TestResults.ps1 deleted file mode 100644 index b8718793f559..000000000000 --- a/Modules/CIPPCore/Public/Entrypoints/Invoke-TestResults.ps1 +++ /dev/null @@ -1,16 +0,0 @@ -function Invoke-TestResults { - - Push-OutputBinding -Name QueueItem -Value ([pscustomobject]@{ - FunctionName = 'TestResults' - Body = @{ - Permissions = $true - Tenants = $true - GDAP = $true - } - }) - Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ - StatusCode = [HttpStatusCode]::OK - Body = "yes" - }) - -} \ No newline at end of file diff --git a/Modules/CIPPCore/Public/Entrypoints/Orchestrator Functions/Start-ApplicationOrchestrator.ps1 b/Modules/CIPPCore/Public/Entrypoints/Orchestrator Functions/Start-ApplicationOrchestrator.ps1 new file mode 100644 index 000000000000..eb4d4386aeac --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/Orchestrator Functions/Start-ApplicationOrchestrator.ps1 @@ -0,0 +1,22 @@ +function Start-ApplicationOrchestrator { + <# + .FUNCTIONALITY + Entrypoint + #> + [CmdletBinding(SupportsShouldProcess = $true)] + Param() + + Write-LogMessage -API 'IntuneApps' -message 'Started uploading applications to tenants' -sev Info + Write-Information 'Started uploading applications to tenants' + $InputObject = [PSCustomObject]@{ + OrchestratorName = 'ApplicationOrchestrator' + SkipLog = $true + QueueFunction = @{ + FunctionName = 'GetApplicationQueue' + } + } + + if ($PSCmdlet.ShouldProcess('Upload Applications')) { + return Start-NewOrchestration -FunctionName 'CIPPOrchestrator' -InputObject ($InputObject | ConvertTo-Json -Compress -Depth 5) + } +} diff --git a/Modules/CIPPCore/Public/Entrypoints/Orchestrator Functions/Start-AuditLogOrchestrator.ps1 b/Modules/CIPPCore/Public/Entrypoints/Orchestrator Functions/Start-AuditLogOrchestrator.ps1 new file mode 100644 index 000000000000..c0ccc91c3443 --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/Orchestrator Functions/Start-AuditLogOrchestrator.ps1 @@ -0,0 +1,101 @@ +function Start-AuditLogOrchestrator { + <# + .SYNOPSIS + Start the Audit Log Polling Orchestrator + #> + [CmdletBinding(SupportsShouldProcess = $true)] + param() + try { + $AuditLogSearchesTable = Get-CIPPTable -TableName 'AuditLogSearches' + $AuditLogSearches = Get-CIPPAzDataTableEntity @AuditLogSearchesTable -Filter "CippStatus eq 'Pending'" + + $ConfigTable = Get-CippTable -TableName 'WebhookRules' + $ConfigEntries = Get-CIPPAzDataTableEntity @ConfigTable + + $TenantList = Get-Tenants -IncludeErrors + # Round time down to nearest minute + $Now = Get-Date + $StartTime = ($Now.AddSeconds(-$Now.Seconds)).AddHours(-1) + $EndTime = $Now.AddSeconds(-$Now.Seconds) + + if (($AuditLogSearches | Measure-Object).Count -eq 0) { + Write-Information 'No audit log searches available' + } else { + $Queue = New-CippQueueEntry -Name 'Audit Log Collection' -Reference 'AuditLogCollection' -TotalTasks ($AuditLogSearches).Count + $Batch = $AuditLogSearches | Sort-Object -Property Tenant -Unique | Select-Object @{Name = 'TenantFilter'; Expression = { $_.Tenant } }, @{Name = 'QueueId'; Expression = { $Queue.RowKey } }, @{Name = 'FunctionName'; Expression = { 'AuditLogTenant' } } + + $InputObject = [PSCustomObject]@{ + OrchestratorName = 'AuditLogs' + Batch = @($Batch) + SkipLog = $true + } + if ($PSCmdlet.ShouldProcess('Start-AuditLogOrchestrator', 'Starting Audit Log Polling')) { + Start-NewOrchestration -FunctionName 'CIPPOrchestrator' -InputObject ($InputObject | ConvertTo-Json -Depth 5 -Compress) + } + } + + Write-Information 'Audit Logs: Creating new searches' + foreach ($Tenant in $TenantList) { + $Configuration = $ConfigEntries | Where-Object { ($_.Tenants -match $TenantFilter -or $_.Tenants -match 'AllTenants') } + if ($Configuration) { + $ServiceFilters = $Configuration | Select-Object -Property type | Sort-Object -Property type -Unique | ForEach-Object { $_.type.split('.')[1] } + try { + $LogSearch = @{ + StartTime = $StartTime + EndTime = $EndTime + ServiceFilters = $ServiceFilters + TenantFilter = $Tenant.defaultDomainName + ProcessLogs = $true + RecordTypeFilters = @( + 'exchangeAdmin', 'azureActiveDirectory', 'azureActiveDirectoryAccountLogon', 'dataCenterSecurityCmdlet', + 'complianceDLPSharePoint', 'complianceDLPExchange', 'azureActiveDirectoryStsLogon', 'skypeForBusinessPSTNUsage', + 'skypeForBusinessUsersBlocked', 'securityComplianceCenterEOPCmdlet', 'microsoftFlow', 'aeD', 'microsoftStream', + 'threatFinder', 'project', 'dataGovernance', 'securityComplianceAlerts', 'threatIntelligenceUrl', + 'securityComplianceInsights', 'mipLabel', 'workplaceAnalytics', 'powerAppsApp', 'powerAppsPlan', + 'threatIntelligenceAtpContent', 'labelContentExplorer', 'hygieneEvent', + 'dataInsightsRestApiAudit', 'informationBarrierPolicyApplication', 'microsoftTeamsAdmin', 'hrSignal', + 'informationWorkerProtection', 'campaign', 'dlpEndpoint', 'airInvestigation', 'quarantine', 'microsoftForms', + 'applicationAudit', 'complianceSupervisionExchange', 'customerKeyServiceEncryption', 'officeNative', + 'mipAutoLabelSharePointItem', 'mipAutoLabelSharePointPolicyLocation', 'secureScore', + 'mipAutoLabelExchangeItem', 'cortanaBriefing', 'search', 'wdatpAlerts', 'powerPlatformAdminDlp', + 'powerPlatformAdminEnvironment', 'mdatpAudit', 'sensitivityLabelPolicyMatch', 'sensitivityLabelAction', + 'sensitivityLabeledFileAction', 'attackSim', 'airManualInvestigation', 'securityComplianceRBAC', 'userTraining', + 'airAdminActionInvestigation', 'mstic', 'physicalBadgingSignal', 'aipDiscover', 'aipSensitivityLabelAction', + 'aipProtectionAction', 'aipFileDeleted', 'aipHeartBeat', 'mcasAlerts', 'onPremisesFileShareScannerDlp', + 'onPremisesSharePointScannerDlp', 'exchangeSearch', 'privacyDataMinimization', 'labelAnalyticsAggregate', + 'myAnalyticsSettings', 'securityComplianceUserChange', 'complianceDLPExchangeClassification', + 'complianceDLPEndpoint', 'mipExactDataMatch', 'msdeResponseActions', 'msdeGeneralSettings', 'msdeIndicatorsSettings', + 'ms365DCustomDetection', 'msdeRolesSettings', 'mapgAlerts', 'mapgPolicy', 'mapgRemediation', + 'privacyRemediationAction', 'privacyDigestEmail', 'mipAutoLabelSimulationProgress', 'mipAutoLabelSimulationCompletion', + 'mipAutoLabelProgressFeedback', 'dlpSensitiveInformationType', 'mipAutoLabelSimulationStatistics', + 'largeContentMetadata', 'microsoft365Group', 'cdpMlInferencingResult', 'filteringMailMetadata', + 'cdpClassificationMailItem', 'cdpClassificationDocument', 'officeScriptsRunAction', 'filteringPostMailDeliveryAction', + 'cdpUnifiedFeedback', 'tenantAllowBlockList', 'consumptionResource', 'healthcareSignal', 'dlpImportResult', + 'cdpCompliancePolicyExecution', 'multiStageDisposition', 'privacyDataMatch', 'filteringDocMetadata', + 'filteringEmailFeatures', 'powerBIDlp', 'filteringUrlInfo', 'filteringAttachmentInfo', 'coreReportingSettings', + 'complianceConnector', 'powerPlatformLockboxResourceAccessRequest', 'powerPlatformLockboxResourceCommand', + 'cdpPredictiveCodingLabel', 'cdpCompliancePolicyUserFeedback', 'webpageActivityEndpoint', 'omePortal', + 'cmImprovementActionChange', 'filteringUrlClick', 'mipLabelAnalyticsAuditRecord', 'filteringEntityEvent', + 'filteringRuleHits', 'filteringMailSubmission', 'labelExplorer', 'microsoftManagedServicePlatform', + 'powerPlatformServiceActivity', 'scorePlatformGenericAuditRecord', 'filteringTimeTravelDocMetadata', 'alert', + 'alertStatus', 'alertIncident', 'incidentStatus', 'case', 'caseInvestigation', 'recordsManagement', + 'privacyRemediation', 'dataShareOperation', 'cdpDlpSensitive', 'ehrConnector', 'filteringMailGradingResult', + 'microsoftTodoAudit', 'timeTravelFilteringDocMetadata', 'microsoftDefenderForIdentityAudit', + 'supervisoryReviewDayXInsight', 'defenderExpertsforXDRAdmin', 'cdpEdgeBlockedMessage', 'hostedRpa', + 'cdpContentExplorerAggregateRecord', 'cdpHygieneAttachmentInfo', 'cdpHygieneSummary', 'cdpPostMailDeliveryAction', + 'cdpEmailFeatures', 'cdpHygieneUrlInfo', 'cdpUrlClick', 'cdpPackageManagerHygieneEvent', 'filteringDocScan', + 'timeTravelFilteringDocScan', 'mapgOnboard' + ) + } + $NewSearch = New-CippAuditLogSearch @LogSearch + Write-Information "Created audit log search $($Tenant.defaultDomainName) - $($NewSearch.displayName)" + } catch { + Write-Information "Error creating audit log search $($Tenant.defaultDomainName) - $($_.Exception.Message)" + } + } + } + } catch { + Write-LogMessage -API 'Audit Logs' -message 'Error processing audit logs' -sev Error -LogData (Get-CippException -Exception $_) + Write-Information ( 'Audit logs error {0} line {1} - {2}' -f $_.InvocationInfo.ScriptName, $_.InvocationInfo.ScriptLineNumber, $_.Exception.Message) + } +} diff --git a/Modules/CIPPCore/Public/Entrypoints/Orchestrator Functions/Start-BPAOrchestrator.ps1 b/Modules/CIPPCore/Public/Entrypoints/Orchestrator Functions/Start-BPAOrchestrator.ps1 new file mode 100644 index 000000000000..fbe51460a0dc --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/Orchestrator Functions/Start-BPAOrchestrator.ps1 @@ -0,0 +1,69 @@ +function Start-BPAOrchestrator { + <# + .SYNOPSIS + Start the Best Practice Analyser + .DESCRIPTION + This function starts the Best Practice Analyser + .FUNCTIONALITY + Entrypoint + #> + [CmdletBinding(SupportsShouldProcess = $true)] + param( + $TenantFilter = 'AllTenants' + ) + + try { + if ($TenantFilter -ne 'AllTenants') { + Write-Verbose "TenantFilter: $TenantFilter" + if ($TenantFilter -notmatch '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$') { + $TenantFilter = @($TenantFilter) + } else { + Write-Verbose 'Got GUID: Looking up tenant' + $TenantFilter = Get-Tenants -TenantFilter $TenantFilter | Select-Object -ExpandProperty defaultDomainName + } + $TenantList = @($TenantFilter) + $Name = "Best Practice Analyser ($TenantFilter)" + } else { + $TenantList = (Get-Tenants).defaultDomainName + $Name = 'Best Practice Analyser' + } + + Write-Verbose 'Getting BPA templates' + $BPATemplateTable = Get-CippTable -tablename 'templates' + $Filter = "PartitionKey eq 'BPATemplate'" + $Templates = ((Get-CIPPAzDataTableEntity @BPATemplateTable -Filter $Filter).JSON | ConvertFrom-Json).Name + + Write-Verbose 'Creating orchestrator batch' + $BPAReports = foreach ($Tenant in $TenantList) { + foreach ($Template in $Templates) { + [PSCustomObject]@{ + FunctionName = 'BPACollectData' + Tenant = $Tenant + Template = $Template + QueueName = '{0} - {1}' -f $Template, $Tenant + } + } + } + + if (($BPAReports | Measure-Object).Count -eq 0) { + Write-Information 'No BPA reports to run' + return 0 + } + + if ($PSCmdlet.ShouldProcess($Name, 'Starting Orchestrator')) { + Write-LogMessage -API 'BestPracticeAnalyser' -message 'Starting Best Practice Analyser' -sev Info + $Queue = New-CippQueueEntry -Name $Name -TotalTasks ($BPAReports | Measure-Object).Count + $BPAReports = $BPAReports | Select-Object *, @{Name = 'QueueId'; Expression = { $Queue.RowKey } } + $InputObject = [PSCustomObject]@{ + Batch = @($BPAReports) + OrchestratorName = 'BPAOrchestrator' + SkipLog = $true + } + return Start-NewOrchestration -FunctionName 'CIPPOrchestrator' -InputObject ($InputObject | ConvertTo-Json -Compress -Depth 5) + } + } catch { + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -API 'BestPracticeAnalyser' -message "Could not start Best Practice Analyser: $($ErrorMessage.NormalizedError)" -sev Error -LogData $ErrorMessage + return $false + } +} diff --git a/Modules/CIPPCore/Public/Entrypoints/Orchestrator Functions/Start-DomainOrchestrator.ps1 b/Modules/CIPPCore/Public/Entrypoints/Orchestrator Functions/Start-DomainOrchestrator.ps1 new file mode 100644 index 000000000000..60c1d20600b7 --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/Orchestrator Functions/Start-DomainOrchestrator.ps1 @@ -0,0 +1,41 @@ +function Start-DomainOrchestrator { + <# + .SYNOPSIS + Start the Domain Orchestrator + .DESCRIPTION + This function starts the Domain Orchestrator + .FUNCTIONALITY + Entrypoint + #> + [CmdletBinding(SupportsShouldProcess = $true)] + param() + try { + $TenantList = Get-Tenants -IncludeAll + if (($TenantList | Measure-Object).Count -eq 0) { + Write-Information 'No tenants found' + return 0 + } + + $Queue = New-CippQueueEntry -Name 'Domain Analyser' -TotalTasks ($TenantList | Measure-Object).Count + $InputObject = [PSCustomObject]@{ + QueueFunction = [PSCustomObject]@{ + FunctionName = 'GetTenants' + DurableName = 'DomainAnalyserTenant' + QueueId = $Queue.RowKey + TenantParams = @{ + IncludeAll = $true + } + } + OrchestratorName = 'DomainAnalyser_Tenants' + SkipLog = $true + } + if ($PSCmdlet.ShouldProcess('Domain Analyser', 'Starting Orchestrator')) { + Write-LogMessage -API 'DomainAnalyser' -message 'Starting Domain Analyser' -sev Info + return Start-NewOrchestration -FunctionName 'CIPPOrchestrator' -InputObject ($InputObject | ConvertTo-Json -Compress -Depth 5) + } + } catch { + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -API 'DomainAnalyser' -message "Could not start Domain Analyser: $($ErrorMessage.NormalizedError)" -sev Error -LogData $ErrorMessage + return $false + } +} diff --git a/Modules/CIPPCore/Public/Entrypoints/Orchestrator Functions/Start-ExtensionOrchestrator.ps1 b/Modules/CIPPCore/Public/Entrypoints/Orchestrator Functions/Start-ExtensionOrchestrator.ps1 new file mode 100644 index 000000000000..55126c5080ca --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/Orchestrator Functions/Start-ExtensionOrchestrator.ps1 @@ -0,0 +1,23 @@ +function Start-ExtensionOrchestrator { + <# + .SYNOPSIS + Start the Extension Orchestrator + .FUNCTIONALITY + Entrypoint + #> + [CmdletBinding(SupportsShouldProcess = $true)] + param() + + $Table = Get-CIPPTable -TableName Extensionsconfig + + $Configuration = ((Get-AzDataTableEntity @Table).config | ConvertFrom-Json) + + Write-Host 'Started Scheduler for Extensions' + + # NinjaOne Extension + if ($Configuration.NinjaOne.Enabled -eq $True) { + if ($PSCmdlet.ShouldProcess('Invoke-NinjaOneExtensionScheduler')) { + Invoke-NinjaOneExtensionScheduler + } + } +} diff --git a/Modules/CIPPCore/Public/Entrypoints/Orchestrator Functions/Start-SchedulerOrchestrator.ps1 b/Modules/CIPPCore/Public/Entrypoints/Orchestrator Functions/Start-SchedulerOrchestrator.ps1 new file mode 100644 index 000000000000..c7463ec28e08 --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/Orchestrator Functions/Start-SchedulerOrchestrator.ps1 @@ -0,0 +1,63 @@ +function Start-SchedulerOrchestrator { + <# + .SYNOPSIS + Start the Scheduler Orchestrator + #> + [CmdletBinding(SupportsShouldProcess = $true)] + param() + + $Table = Get-CIPPTable -TableName SchedulerConfig + $Tenants = Get-CIPPAzDataTableEntity @Table | Where-Object -Property PartitionKey -NE 'WebhookAlert' + + $Tasks = foreach ($Tenant in $Tenants) { + if ($Tenant.tenant -ne 'AllTenants') { + [pscustomobject]@{ + Tenant = $Tenant.tenant + Tag = 'SingleTenant' + TenantID = $Tenant.tenantid + Type = $Tenant.type + RowKey = $Tenant.RowKey + } + } else { + Write-Information 'All tenants, doing them all' + $TenantList = Get-Tenants + foreach ($t in $TenantList) { + [pscustomobject]@{ + Tenant = $t.defaultDomainName + Tag = 'AllTenants' + TenantID = $t.customerId + Type = $Tenant.type + RowKey = $Tenant.RowKey + } + } + } + } + + if (($Tasks | Measure-Object).Count -eq 0) { + return + } + + $Queue = New-CippQueueEntry -Name 'Scheduler' -TotalTasks ($Tasks | Measure-Object).Count + + $Batch = foreach ($Task in $Tasks) { + [pscustomobject]@{ + Tenant = $task.tenant + Tenantid = $task.tenantid + Tag = $task.tag + Type = $task.type + QueueId = $Queue.RowKey + SchedulerRow = $Task.RowKey + QueueName = '{0} - {1}' -f $Task.Type, $task.tenant + FunctionName = "Scheduler$($Task.Type)" + } + } + $InputObject = [PSCustomObject]@{ + OrchestratorName = 'SchedulerOrchestrator' + Batch = @($Batch) + SkipLog = $true + } + + if ($PSCmdlet.ShouldProcess('Start-ScheduleOrchestrator', 'Starting Scheduler Orchestrator')) { + Start-NewOrchestration -FunctionName 'CIPPOrchestrator' -InputObject ($InputObject | ConvertTo-Json -Depth 5 -Compress) + } +} diff --git a/Modules/CIPPCore/Public/Entrypoints/Orchestrator Functions/Start-StandardsOrchestrator.ps1 b/Modules/CIPPCore/Public/Entrypoints/Orchestrator Functions/Start-StandardsOrchestrator.ps1 new file mode 100644 index 000000000000..76e689ef4952 --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/Orchestrator Functions/Start-StandardsOrchestrator.ps1 @@ -0,0 +1,13 @@ +function Start-StandardsOrchestrator { + <# + .SYNOPSIS + Start the Standards Orchestrator + #> + [CmdletBinding(SupportsShouldProcess = $true)] + param() + + if ($PSCmdlet.ShouldProcess('Start-StandardsOrchestrator', 'Starting Standards Orchestrator')) { + Write-LogMessage -API 'Standards' -message 'Starting Standards Schedule' -sev Info + Invoke-CIPPStandardsRun -tenantfilter 'allTenants' + } +} diff --git a/Modules/CIPPCore/Public/Entrypoints/Orchestrator Functions/Start-UpdatePermissionsOrchestrator.ps1 b/Modules/CIPPCore/Public/Entrypoints/Orchestrator Functions/Start-UpdatePermissionsOrchestrator.ps1 new file mode 100644 index 000000000000..08495c8fb763 --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/Orchestrator Functions/Start-UpdatePermissionsOrchestrator.ps1 @@ -0,0 +1,35 @@ +function Start-UpdatePermissionsOrchestrator { + <# + .SYNOPSIS + Start the Update Permissions Orchestrator + #> + [CmdletBinding(SupportsShouldProcess = $true)] + param() + + try { + $Tenants = Get-Tenants -IncludeAll | Where-Object { $_.customerId -ne $env:TenantID -and $_.Excluded -eq $false } + $CPVTable = Get-CIPPTable -TableName cpvtenants + $CPVRows = Get-CIPPAzDataTableEntity @CPVTable + $ModuleRoot = (Get-Module CIPPCore).ModuleBase + $SAMManifest = Get-Item -Path "$ModuleRoot\Public\SAMManifest.json" + $AdditionalPermissions = Get-Item -Path "$ModuleRoot\Public\AdditionalPermissions.json" + $Tenants = $Tenants | ForEach-Object { + $CPVRow = $CPVRows | Where-Object -Property Tenant -EQ $_.customerId + if (!$CPVRow -or $env:ApplicationID -notin $CPVRow.applicationId -or $SAMManifest.LastWriteTime.ToUniversalTime() -gt $CPVRow.Timestamp.DateTime -or $AdditionalPermissions.LastWriteTime.ToUniversalTime() -ge $CPVRow.Timestamp.DateTime -or $CPVRow.Timestamp.DateTime -le (Get-Date).AddDays(-7).ToUniversalTime() -or !$_.defaultDomainName) { + $_ + } + } + $TenantCount = ($Tenants | Measure-Object).Count + if ($TenantCount -gt 0) { + $Queue = New-CippQueueEntry -Name 'Update Permissions' -TotalTasks $TenantCount + $TenantBatch = $Tenants | Select-Object defaultDomainName, customerId, displayName, @{n = 'FunctionName'; exp = { 'UpdatePermissionsQueue' } }, @{n = 'QueueId'; exp = { $Queue.RowKey } } + $InputObject = [PSCustomObject]@{ + OrchestratorName = 'UpdatePermissionsOrchestrator' + Batch = @($TenantBatch) + } + Start-NewOrchestration -FunctionName 'CIPPOrchestrator' -InputObject ($InputObject | ConvertTo-Json -Depth 5 -Compress) + } else { + Write-Information 'No tenants require permissions update' + } + } catch {} +} diff --git a/Modules/CIPPCore/Public/Entrypoints/Orchestrator Functions/Start-UserTasksOrchestrator.ps1 b/Modules/CIPPCore/Public/Entrypoints/Orchestrator Functions/Start-UserTasksOrchestrator.ps1 new file mode 100644 index 000000000000..10aebb5c0767 --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/Orchestrator Functions/Start-UserTasksOrchestrator.ps1 @@ -0,0 +1,83 @@ +function Start-UserTasksOrchestrator { + <# + .SYNOPSIS + Start the User Tasks Orchestrator + #> + [CmdletBinding(SupportsShouldProcess = $true)] + param() + + $Table = Get-CippTable -tablename 'ScheduledTasks' + $Filter = "TaskState eq 'Planned' or TaskState eq 'Failed - Planned'" + $tasks = Get-CIPPAzDataTableEntity @Table -Filter $Filter + $Batch = [System.Collections.Generic.List[object]]::new() + $TenantList = Get-Tenants -IncludeErrors + foreach ($task in $tasks) { + $tenant = $task.Tenant + $currentUnixTime = [int64](([datetime]::UtcNow) - (Get-Date '1/1/1970')).TotalSeconds + if ($currentUnixTime -ge $task.ScheduledTime) { + try { + $null = Update-AzDataTableEntity @Table -Entity @{ + PartitionKey = $task.PartitionKey + RowKey = $task.RowKey + ExecutedTime = "$currentUnixTime" + TaskState = 'Running' + } + $task.Parameters = $task.Parameters | ConvertFrom-Json -AsHashtable + $task.AdditionalProperties = $task.AdditionalProperties | ConvertFrom-Json + + if (!$task.Parameters) { $task.Parameters = @{} } + $ScheduledCommand = [pscustomobject]@{ + Command = $task.Command + Parameters = $task.Parameters + TaskInfo = $task + FunctionName = 'ExecScheduledCommand' + } + + if ($task.Tenant -eq 'AllTenants') { + $AllTenantCommands = foreach ($Tenant in $TenantList) { + $NewParams = $task.Parameters.Clone() + $NewParams.TenantFilter = $Tenant.defaultDomainName + [pscustomobject]@{ + Command = $task.Command + Parameters = $NewParams + TaskInfo = $task + FunctionName = 'ExecScheduledCommand' + } + } + $Batch.AddRange($AllTenantCommands) + } else { + $ScheduledCommand.Parameters['TenantFilter'] = $task.Tenant + $Batch.Add($ScheduledCommand) + } + } catch { + $errorMessage = $_.Exception.Message + + $null = Update-AzDataTableEntity @Table -Entity @{ + PartitionKey = $task.PartitionKey + RowKey = $task.RowKey + Results = "$errorMessage" + ExecutedTime = "$currentUnixTime" + TaskState = 'Failed' + } + Write-LogMessage -API 'Scheduler_UserTasks' -tenant $tenant -message "Failed to execute task $($task.Name): $errorMessage" -sev Error + } + } + } + if (($Batch | Measure-Object).Count -gt 0) { + # Create queue entry + $Queue = New-CippQueueEntry -Name 'Scheduled Tasks' -TotalTasks ($Batch | Measure-Object).Count + $QueueId = $Queue.RowKey + $Batch = $Batch | Select-Object *, @{Name = 'QueueId'; Expression = { $QueueId } }, @{Name = 'QueueName'; Expression = { '{0} - {1}' -f $_.TaskInfo.Name, ($_.TaskInfo.Tenant -ne 'AllTenants' ? $_.TaskInfo.Tenant : $_.Parameters.TenantFilter) } } + + $InputObject = [PSCustomObject]@{ + OrchestratorName = 'UserTaskOrchestrator' + Batch = @($Batch) + SkipLog = $true + } + #Write-Host ($InputObject | ConvertTo-Json -Depth 10) + + if ($PSCmdlet.ShouldProcess('Start-UserTasksOrchestrator', 'Starting User Tasks Orchestrator')) { + Start-NewOrchestration -FunctionName 'CIPPOrchestrator' -InputObject ($InputObject | ConvertTo-Json -Depth 10 -Compress) + } + } +} diff --git a/Modules/CIPPCore/Public/Entrypoints/Orchestrator Functions/Start-WebhookOrchestrator.ps1 b/Modules/CIPPCore/Public/Entrypoints/Orchestrator Functions/Start-WebhookOrchestrator.ps1 new file mode 100644 index 000000000000..1ba797d3e10d --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/Orchestrator Functions/Start-WebhookOrchestrator.ps1 @@ -0,0 +1,40 @@ +function Start-WebhookOrchestrator { + <# + .SYNOPSIS + Start the Webhook Orchestrator + #> + [CmdletBinding(SupportsShouldProcess = $true)] + param() + try { + $webhookTable = Get-CIPPTable -tablename webhookTable + $Webhooks = Get-CIPPAzDataTableEntity @webhookTable -Property PartitionKey, RowKey + if (($Webhooks | Measure-Object).Count -eq 0) { + Write-Information 'No webhook subscriptions found. Exiting.' + return + } + + $WebhookIncomingTable = Get-CIPPTable -TableName WebhookIncoming + $WebhookIncoming = Get-CIPPAzDataTableEntity @WebhookIncomingTable -Property PartitionKey, RowKey + if (($WebhookIncoming | Measure-Object).Count -eq 0) { + Write-Information 'No webhook incoming found. Exiting.' + return + } + + Write-Information 'Processing webhooks' + + $InputObject = [PSCustomObject]@{ + OrchestratorName = 'WebhookOrchestrator' + QueueFunction = @{ + FunctionName = 'GetPendingWebhooks' + } + SkipLog = $true + } + if ($PSCmdlet.ShouldProcess('Start-WebhookOrchestrator', 'Starting Webhook Orchestrator')) { + Start-NewOrchestration -FunctionName 'CIPPOrchestrator' -InputObject ($InputObject | ConvertTo-Json -Depth 5 -Compress) + + } + } catch { + Write-LogMessage -API 'Webhooks' -message 'Error processing webhooks' -sev Error -LogData (Get-CippException -Exception $_) + Write-Information ( 'Webhook error {0} line {1} - {2}' -f $_.InvocationInfo.ScriptName, $_.InvocationInfo.ScriptLineNumber, $_.Exception.Message) + } +} diff --git a/Modules/CIPPCore/Public/Entrypoints/Timer Functions/Start-BillingTimer.ps1 b/Modules/CIPPCore/Public/Entrypoints/Timer Functions/Start-BillingTimer.ps1 new file mode 100644 index 000000000000..99500af4ed9f --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/Timer Functions/Start-BillingTimer.ps1 @@ -0,0 +1,30 @@ +function Start-BillingTimer { + <# + .SYNOPSIS + Start the Billing Timer + .DESCRIPTION + This function starts the Billing Timner + .FUNCTIONALITY + Entrypoint + #> + + [CmdletBinding(SupportsShouldProcess = $true)] + param() + try { + Write-LogMessage -API 'Scheduler_Billing' -tenant 'none' -message 'Starting billing processing.' -sev Info + + $Table = Get-CIPPTable -TableName Extensionsconfig + $Configuration = (Get-CIPPAzDataTableEntity @Table).config | ConvertFrom-Json -Depth 10 + foreach ($ConfigItem in $Configuration.psobject.properties.name) { + switch ($ConfigItem) { + 'Gradient' { + If ($Configuration.Gradient.enabled -and $Configuration.Gradient.BillingEnabled) { + New-GradientServiceSyncRun + } + } + } + } + } catch { + Write-LogMessage -API 'Scheduler_Billing' -tenant 'none' -message "Could not start billing processing $($_.Exception.Message)" -sev Error + } +} diff --git a/Modules/CIPPCore/Public/Entrypoints/Timer Functions/Start-CIPPGraphSubscriptionCleanupTimer.ps1 b/Modules/CIPPCore/Public/Entrypoints/Timer Functions/Start-CIPPGraphSubscriptionCleanupTimer.ps1 new file mode 100644 index 000000000000..65d1ea7c29e1 --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/Timer Functions/Start-CIPPGraphSubscriptionCleanupTimer.ps1 @@ -0,0 +1,19 @@ +function Start-CIPPGraphSubscriptionCleanupTimer { + <# + .SYNOPSIS + Remove CIPP Graph Subscriptions for all tenants except the partner tenant. + + .DESCRIPTION + Remove CIPP Graph Subscriptions for all tenants except the partner tenant. + #> + [CmdletBinding(SupportsShouldProcess = $true)] + param() + try { + $Tenants = Get-Tenants -IncludeAll | Where-Object { $_.customerId -ne $env:TenantID -and $_.Excluded -eq $false } + $Tenants | ForEach-Object { + if ($PSCmdlet.ShouldProcess($_.defaultDomainName, 'Remove-CIPPGraphSubscription')) { + Remove-CIPPGraphSubscription -cleanup $true -TenantFilter $_.defaultDomainName + } + } + } catch {} +} diff --git a/Modules/CIPPCore/Public/Entrypoints/Timer Functions/Start-CIPPGraphSubscriptionRenewalTimer.ps1 b/Modules/CIPPCore/Public/Entrypoints/Timer Functions/Start-CIPPGraphSubscriptionRenewalTimer.ps1 new file mode 100644 index 000000000000..ee96995ee6f4 --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/Timer Functions/Start-CIPPGraphSubscriptionRenewalTimer.ps1 @@ -0,0 +1,17 @@ +function Start-CIPPGraphSubscriptionRenewalTimer { + <# + .SYNOPSIS + Start the Graph Subscription Renewal Timer + #> + [CmdletBinding(SupportsShouldProcess = $true)] + param() + + if ($PSCmdlet.ShouldProcess('Start-CIPPGraphSubscriptionRenewalTimer', 'Starting Graph Subscription Renewal Timer')) { + try { + Write-LogMessage -API 'Scheduler_RenewGraphSubscriptions' -tenant 'none' -message 'Starting Graph Subscription Renewal' -sev Info + Invoke-CippGraphWebhookRenewal + } catch { + Write-LogMessage -API 'Scheduler_RenewGraphSubscriptions' -tenant 'none' -message 'Failed to renew graph subscriptions' -sev Info + } + } +} diff --git a/Modules/CIPPCore/Public/Entrypoints/Timer Functions/Start-CIPPProcessorQueue.ps1 b/Modules/CIPPCore/Public/Entrypoints/Timer Functions/Start-CIPPProcessorQueue.ps1 new file mode 100644 index 000000000000..a0d340bb6c8a --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/Timer Functions/Start-CIPPProcessorQueue.ps1 @@ -0,0 +1,36 @@ +function Start-CIPPProcessorQueue { + <# + .SYNOPSIS + Starts a specified function on the processor node + #> + [CmdletBinding(SupportsShouldProcess = $true)] + param() + + $QueueTable = Get-CIPPTable -tablename 'ProcessorQueue' + $QueueItems = Get-CIPPAzDataTableEntity @QueueTable -Filter "PartitionKey eq 'Function'" + + foreach ($QueueItem in $QueueItems) { + if ($PSCmdlet.ShouldProcess("Processing function $($QueueItem.ProcessorFunction)")) { + Write-Information "Running queued function $($QueueItem.ProcessorFunction)" + if ($QueueItem.Parameters) { + try { + $Parameters = $QueueItem.Parameters | ConvertFrom-Json -AsHashtable + } catch { + $Parameters = @{} + } + } else { + $Parameters = @{} + } + if (Get-Command -Name $QueueItem.ProcessorFunction -Module CIPPCore -ErrorAction SilentlyContinue) { + try { + Invoke-Command -ScriptBlock { & $QueueItem.ProcessorFunction @Parameters } + } catch { + Write-Warning "Failed to run function $($QueueItem.ProcessorFunction). Error: $($_.Exception.Message)" + } + } else { + Write-Warning "Function $($QueueItem.ProcessorFunction) not found" + } + Remove-AzDataTableEntity @QueueTable -Entity $QueueItem + } + } +} diff --git a/Modules/CIPPCore/Public/Entrypoints/Timer Functions/Start-CIPPStatsTimer.ps1 b/Modules/CIPPCore/Public/Entrypoints/Timer Functions/Start-CIPPStatsTimer.ps1 new file mode 100644 index 000000000000..83cbc4b344a1 --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/Timer Functions/Start-CIPPStatsTimer.ps1 @@ -0,0 +1,30 @@ +function Start-CIPPStatsTimer { + <# + .SYNOPSIS + Start the CIPP Stats Timer + #> + [CmdletBinding(SupportsShouldProcess = $true)] + param() + #These stats are sent to a central server to help us understand how many tenants are using the product, and how many are using the latest version, this information allows the CIPP team to make decisions about what features to support, and what features to deprecate. + #We will never ship any data that is related to your instance, all we care about is the number of tenants, and the version of the API you are running, and if you completed setup. + + if ($PSCmdlet.ShouldProcess('Start-CIPPStatsTimer', 'Starting CIPP Stats Timer')) { + if ($ENV:ApplicationID -ne 'LongApplicationID') { + $SetupComplete = $true + } + $TenantCount = (Get-Tenants -IncludeAll).count + + Set-Location (Get-Item $PSScriptRoot).Parent.FullName + $APIVersion = Get-Content 'version_latest.txt' | Out-String + + $SendingObject = [PSCustomObject]@{ + rgid = $env:WEBSITE_SITE_NAME + SetupComplete = $SetupComplete + RunningVersionAPI = $APIVersion.trim() + CountOfTotalTenants = $tenantcount + uid = $env:TenantID + } | ConvertTo-Json + + Invoke-RestMethod -Uri 'https://management.cipp.app/api/stats' -Method POST -Body $SendingObject -ContentType 'application/json' + } +} diff --git a/Modules/CIPPCore/Public/Entrypoints/Timer Functions/Start-UpdateTokensTimer.ps1 b/Modules/CIPPCore/Public/Entrypoints/Timer Functions/Start-UpdateTokensTimer.ps1 new file mode 100644 index 000000000000..1f7cd63a8d3b --- /dev/null +++ b/Modules/CIPPCore/Public/Entrypoints/Timer Functions/Start-UpdateTokensTimer.ps1 @@ -0,0 +1,41 @@ +function Start-UpdateTokensTimer { + <# + .SYNOPSIS + Start the Update Tokens Timer + #> + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSAvoidUsingConvertToSecureStringWithPlainText', '')] + [CmdletBinding(SupportsShouldProcess = $true)] + param() + if ($PSCmdlet.ShouldProcess('Start-UpdateTokensTimer', 'Starting Update Tokens Timer')) { + + # Get the current universal time in the default string format. + $currentUTCtime = (Get-Date).ToUniversalTime() + + $Refreshtoken = (Get-GraphToken -ReturnRefresh $true).Refresh_token + + if ($env:AzureWebJobsStorage -eq 'UseDevelopmentStorage=true') { + $Table = Get-CIPPTable -tablename 'DevSecrets' + $Secret = Get-CIPPAzDataTableEntity @Table -Filter "PartitionKey eq 'Secret' and RowKey eq 'Secret'" + if ($Secret) { + $Secret.RefreshToken = $Refreshtoken + Add-AzDataTableEntity @Table -Entity $Secret -Force + } else { + Write-LogMessage -message 'Could not update refresh token. Will try again in 7 days.' -sev 'CRITICAL' + } + } else { + if ($env:MSI_SECRET) { + Disable-AzContextAutosave -Scope Process | Out-Null + $AzSession = Connect-AzAccount -Identity + } + $KV = $ENV:WEBSITE_DEPLOYMENT_ID + if ($Refreshtoken) { + Set-AzKeyVaultSecret -VaultName $kv -Name 'RefreshToken' -SecretValue (ConvertTo-SecureString -String $Refreshtoken -AsPlainText -Force) + } else { + Write-LogMessage -message 'Could not update refresh token. Will try again in 7 days.' -sev 'CRITICAL' + } + } + + # Write an information log with the current time. + Write-Information "PowerShell timer trigger function ran! TIME: $currentUTCtime" + } +} diff --git a/Modules/CIPPCore/Public/Get-CIPPAuthentication.ps1 b/Modules/CIPPCore/Public/Get-CIPPAuthentication.ps1 index 9b1885d5c465..4018dd43154b 100644 --- a/Modules/CIPPCore/Public/Get-CIPPAuthentication.ps1 +++ b/Modules/CIPPCore/Public/Get-CIPPAuthentication.ps1 @@ -4,12 +4,12 @@ function Get-CIPPAuthentication { param ( $APIName = 'Get Keyvault Authentication' ) - $Variables = @('ApplicationId', 'ApplicationSecret', 'TenantId', 'RefreshToken') + $Variables = @('ApplicationID', 'ApplicationSecret', 'TenantID', 'RefreshToken') try { if ($env:AzureWebJobsStorage -eq 'UseDevelopmentStorage=true') { $Table = Get-CIPPTable -tablename 'DevSecrets' - $Secret = Get-CIPPAzDataTableEntity @Table -Filter "PartitionKey eq 'Secret' and RowKey eq 'Secret'" + $Secret = Get-AzDataTableEntity @Table -Filter "PartitionKey eq 'Secret' and RowKey eq 'Secret'" if (!$Secret) { throw 'Development variables not set' } @@ -20,9 +20,9 @@ function Get-CIPPAuthentication { } } else { Connect-AzAccount -Identity - + $keyvaultname = ($ENV:WEBSITE_DEPLOYMENT_ID -split '-')[0] $Variables | ForEach-Object { - Set-Item -Path ENV:$_ -Value (Get-AzKeyVaultSecret -VaultName $ENV:WEBSITE_DEPLOYMENT_ID -Name $_ -AsPlainText -ErrorAction Stop) -Force + Set-Item -Path ENV:$_ -Value (Get-AzKeyVaultSecret -VaultName $keyvaultname -Name $_ -AsPlainText -ErrorAction Stop) -Force } } $ENV:SetFromProfile = $true @@ -34,5 +34,3 @@ function Get-CIPPAuthentication { return $false } } - - diff --git a/Modules/CIPPCore/Public/Get-CIPPAzDatatableEntity.ps1 b/Modules/CIPPCore/Public/Get-CIPPAzDatatableEntity.ps1 index 60ee9464ab93..fd5676683860 100644 --- a/Modules/CIPPCore/Public/Get-CIPPAzDatatableEntity.ps1 +++ b/Modules/CIPPCore/Public/Get-CIPPAzDatatableEntity.ps1 @@ -17,47 +17,55 @@ function Get-CIPPAzDataTableEntity { foreach ($entity in $Results) { if ($entity.OriginalEntityId) { $entityId = $entity.OriginalEntityId - if (-not $mergedResults.ContainsKey($entityId)) { - $mergedResults[$entityId] = @{ + $partitionKey = $entity.PartitionKey + if (-not $mergedResults.ContainsKey($partitionKey)) { + $mergedResults[$partitionKey] = @{} + } + if (-not $mergedResults[$partitionKey].ContainsKey($entityId)) { + $mergedResults[$partitionKey][$entityId] = @{ Parts = New-Object 'System.Collections.ArrayList' } } - $mergedResults[$entityId]['Parts'].Add($entity) > $null + $mergedResults[$partitionKey][$entityId]['Parts'].Add($entity) > $null } else { - $mergedResults[$entity.RowKey] = @{ + $partitionKey = $entity.PartitionKey + if (-not $mergedResults.ContainsKey($partitionKey)) { + $mergedResults[$partitionKey] = @{} + } + $mergedResults[$partitionKey][$entity.RowKey] = @{ Entity = $entity Parts = New-Object 'System.Collections.ArrayList' } } } - # Second pass: Reassemble entities from parts $finalResults = @() - foreach ($entityId in $mergedResults.Keys) { - $entityData = $mergedResults[$entityId] - if ($entityData.Parts.Count -gt 0) { - $fullEntity = [PSCustomObject]@{} - $parts = $entityData.Parts | Sort-Object PartIndex - foreach ($part in $parts) { - foreach ($key in $part.PSObject.Properties.Name) { - if ($key -notin @('OriginalEntityId', 'PartIndex', 'PartitionKey', 'RowKey', 'Timestamp')) { - if ($fullEntity.PSObject.Properties[$key]) { - $fullEntity | Add-Member -MemberType NoteProperty -Name $key -Value ($fullEntity.$key + $part.$key) -Force - } else { - $fullEntity | Add-Member -MemberType NoteProperty -Name $key -Value $part.$key + foreach ($partitionKey in $mergedResults.Keys) { + foreach ($entityId in $mergedResults[$partitionKey].Keys) { + $entityData = $mergedResults[$partitionKey][$entityId] + if ($entityData.Parts.Count -gt 0) { + $fullEntity = [PSCustomObject]@{} + $parts = $entityData.Parts | Sort-Object PartIndex + foreach ($part in $parts) { + foreach ($key in $part.PSObject.Properties.Name) { + if ($key -notin @('OriginalEntityId', 'PartIndex', 'PartitionKey', 'RowKey', 'Timestamp')) { + if ($fullEntity.PSObject.Properties[$key]) { + $fullEntity | Add-Member -MemberType NoteProperty -Name $key -Value ($fullEntity.$key + $part.$key) -Force + } else { + $fullEntity | Add-Member -MemberType NoteProperty -Name $key -Value $part.$key + } } } } + $fullEntity | Add-Member -MemberType NoteProperty -Name 'PartitionKey' -Value $parts[0].PartitionKey -Force + $fullEntity | Add-Member -MemberType NoteProperty -Name 'RowKey' -Value $entityId -Force + $finalResults = $finalResults + @($fullEntity) + } else { + $finalResults = $finalResults + @($entityData.Entity) } - $fullEntity | Add-Member -MemberType NoteProperty -Name 'PartitionKey' -Value $parts[0].PartitionKey -Force - $fullEntity | Add-Member -MemberType NoteProperty -Name 'RowKey' -Value $entityId -Force - $finalResults = $finalResults + @($fullEntity) - } else { - $finalResults = $finalResults + @($entityData.Entity) } } - # Third pass: Process split properties and remerge them foreach ($entity in $finalResults) { if ($entity.SplitOverProps) { $splitInfoList = $entity.SplitOverProps | ConvertFrom-Json diff --git a/Modules/CIPPCore/Public/Get-CIPPBitlockerKey.ps1 b/Modules/CIPPCore/Public/Get-CIPPBitlockerKey.ps1 index a80a5d3b002e..b7aed6e35fc0 100644 --- a/Modules/CIPPCore/Public/Get-CIPPBitlockerKey.ps1 +++ b/Modules/CIPPCore/Public/Get-CIPPBitlockerKey.ps1 @@ -14,9 +14,8 @@ function Get-CIPPBitlockerKey { } return $GraphRequest } catch { - Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not add OOO for $($userid)" -Sev 'Error' -tenant $TenantFilter -LogData (Get-CippException -Exception $_) - return "Could not add out of office message for $($userid). Error: $($_.Exception.Message)" + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not retrieve bitlocker recovery key for $($device)" -Sev 'Error' -tenant $TenantFilter -LogData (Get-CippException -Exception $_) + return "Could not retrieve bitlocker recovery key for $($device). Error: $ErrorMessage" } } - - diff --git a/Modules/CIPPCore/Public/Get-CIPPDomainAnalyser.ps1 b/Modules/CIPPCore/Public/Get-CIPPDomainAnalyser.ps1 index 0bc50c4acaad..1d3ba51f1dd8 100644 --- a/Modules/CIPPCore/Public/Get-CIPPDomainAnalyser.ps1 +++ b/Modules/CIPPCore/Public/Get-CIPPDomainAnalyser.ps1 @@ -36,4 +36,4 @@ function Get-CIPPDomainAnalyser { $Results = @() } return $Results -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/Get-CIPPLAPSPassword.ps1 b/Modules/CIPPCore/Public/Get-CIPPLAPSPassword.ps1 index 06d74edae438..eeac2a740ac2 100644 --- a/Modules/CIPPCore/Public/Get-CIPPLAPSPassword.ps1 +++ b/Modules/CIPPCore/Public/Get-CIPPLAPSPassword.ps1 @@ -4,21 +4,21 @@ function Get-CIPPLapsPassword { param ( $device, $TenantFilter, - $APIName = "Get LAPS Password", + $APIName = 'Get LAPS Password', $ExecutingUser ) try { - $GraphRequest = (New-GraphGetRequest -noauthcheck $true -uri "https://graph.microsoft.com/beta/deviceLocalCredentials/$($device)?`$select=credentials" -tenantid $TenantFilter).credentials | Select-Object -First 1 | ForEach-Object { + $GraphRequest = (New-GraphGetRequest -noauthcheck $true -uri "https://graph.microsoft.com/beta/directory/deviceLocalCredentials/$($device)?`$select=credentials" -tenantid $TenantFilter).credentials | Select-Object -First 1 | ForEach-Object { $PlainText = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($_.passwordBase64)) $date = $_.BackupDateTime "The password for $($_.AccountName) is $($PlainText) generated at $($date)" } if ($GraphRequest) { return $GraphRequest } else { return "No LAPS password found for $device" } - } - catch { - Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not add OOO for $($userid)" -Sev "Error" -tenant $TenantFilter - return "Could not add out of office message for $($userid). Error: $($_.Exception.Message)" + } catch { + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not retrieve LAPS password for $($device). Error: $($ErrorMessage.NormalizedError)" -Sev 'Error' -tenant $TenantFilter -LogData $ErrorMessage + return "Could not retrieve LAPS password for $($device). Error: $($ErrorMessage.NormalizedError)" } } diff --git a/Modules/CIPPCore/Public/Get-CIPPLicenseOverview.ps1 b/Modules/CIPPCore/Public/Get-CIPPLicenseOverview.ps1 index 9668cd51b50e..2aaf6964e3ec 100644 --- a/Modules/CIPPCore/Public/Get-CIPPLicenseOverview.ps1 +++ b/Modules/CIPPCore/Public/Get-CIPPLicenseOverview.ps1 @@ -7,7 +7,7 @@ function Get-CIPPLicenseOverview { $ExecutingUser ) - + $LicRequest = New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/subscribedSkus' -tenantid $TenantFilter $SkuIDs = New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/directory/subscriptions' -tenantid $TenantFilter @@ -16,7 +16,7 @@ function Get-CIPPLicenseOverview { Licenses = $LicRequest } Set-Location (Get-Item $PSScriptRoot).FullName - $ConvertTable = Import-Csv Conversiontable.csv + $ConvertTable = Import-Csv ConversionTable.csv $LicenseTable = Get-CIPPTable -TableName ExcludedLicenses $ExcludedSkuList = Get-CIPPAzDataTableEntity @LicenseTable $GraphRequest = foreach ($singlereq in $RawGraphRequest) { @@ -25,7 +25,7 @@ function Get-CIPPLicenseOverview { if ($sku.skuId -in $ExcludedSkuList.GUID) { continue } $PrettyName = ($ConvertTable | Where-Object { $_.guid -eq $sku.skuid }).'Product_Display_Name' | Select-Object -Last 1 if (!$PrettyName) { $PrettyName = $sku.skuPartNumber } - + # Initialize $Term with the default value $TermInfo = foreach ($Subscription in $sku.subscriptionIds) { $SubInfo = $SkuIDs | Where-Object { $_.id -eq $Subscription } @@ -63,7 +63,7 @@ function Get-CIPPLicenseOverview { TermInfo = [string]($TermInfo | ConvertTo-Json -Depth 10 -Compress) 'PartitionKey' = 'License' 'RowKey' = "$($singlereq.Tenant) - $($sku.skuid)" - } + } } } return $GraphRequest diff --git a/Modules/CIPPCore/Public/Get-CIPPMFAState.ps1 b/Modules/CIPPCore/Public/Get-CIPPMFAState.ps1 index 28d526a9944d..712301b3dc77 100644 --- a/Modules/CIPPCore/Public/Get-CIPPMFAState.ps1 +++ b/Modules/CIPPCore/Public/Get-CIPPMFAState.ps1 @@ -17,39 +17,47 @@ function Get-CIPPMFAState { } } - $SecureDefaultsState = (New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/policies/identitySecurityDefaultsEnforcementPolicy' -tenantid $TenantFilter ).IsEnabled - $CAState = New-Object System.Collections.ArrayList + try { + $SecureDefaultsState = (New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/policies/identitySecurityDefaultsEnforcementPolicy' -tenantid $TenantFilter ).IsEnabled + } catch { + Write-Host "Secure Defaults not available: $($_.Exception.Message)" + } + $CAState = [System.Collections.Generic.List[object]]::new() Try { - $MFARegistration = (New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/reports/credentialUserRegistrationDetails' -tenantid $TenantFilter) + $MFARegistration = (New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/reports/authenticationMethods/userRegistrationDetails' -tenantid $TenantFilter) } catch { $CAState.Add('Not Licensed for Conditional Access') | Out-Null $MFARegistration = $null + Write-Host "User registration details not available: $($_.Exception.Message)" } if ($null -ne $MFARegistration) { - $CAPolicies = (New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/identity/conditionalAccess/policies' -tenantid $TenantFilter -ErrorAction Stop ) - + $CASuccess = $true try { - $ExcludeAllUsers = New-Object System.Collections.ArrayList - $ExcludeSpecific = New-Object System.Collections.ArrayList - + $CAPolicies = (New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/identity/conditionalAccess/policies' -tenantid $TenantFilter -ErrorAction Stop ) foreach ($Policy in $CAPolicies) { - if (($policy.grantControls.builtincontrols -eq 'mfa') -or ($policy.grantControls.authenticationStrength.requirementsSatisfied -eq 'mfa') -or ($policy.grantControls.customAuthenticationFactors -eq 'RequireDuoMfa')) { - if ($Policy.conditions.applications.includeApplications -ne 'All') { - Write-Host $Policy.conditions.applications.includeApplications - $CAState.Add("$($policy.displayName) - Specific Applications - $($policy.state)") | Out-Null - $Policy.conditions.users.excludeUsers.foreach({ $ExcludeSpecific.Add($_) | Out-Null }) - continue - } - if ($Policy.conditions.users.includeUsers -eq 'All') { - $CAState.Add("$($policy.displayName) - All Users - $($policy.state)") | Out-Null - $Policy.conditions.users.excludeUsers.foreach({ $ExcludeAllUsers.Add($_) | Out-Null }) - continue - } - } + $IsMFAControl = $policy.grantControls.builtincontrols -eq 'mfa' -or $Policy.grantControls.authenticationStrength.requirementsSatisfied -eq 'mfa' -or $Policy.grantControls.customAuthenticationFactors -eq 'RequireDuoMfa' + $IsAllApps = [bool]($Policy.conditions.applications.includeApplications -eq 'All') + $IsAllUsers = [bool]($Policy.conditions.users.includeUsers -eq 'All') + $Platforms = $Policy.conditions.clientAppTypes + + if ($IsMFAControl) { + $CAState.Add([PSCustomObject]@{ + DisplayName = $Policy.displayName + State = $Policy.state + IncludedApps = $Policy.conditions.applications.includeApplications + IncludedUsers = $Policy.conditions.users.includeUsers + ExcludedUsers = $Policy.conditions.users.excludeUsers + IsAllApps = $IsAllApps + IsAllUsers = $IsAllUsers + Platforms = $Platforms + }) + } } } catch { + $CASuccess = $false + $CAError = "CA policies not available: $($_.Exception.Message)" } } @@ -58,25 +66,36 @@ function Get-CIPPMFAState { # Interact with query parameters or the body of the request. $GraphRequest = $Users | ForEach-Object { - Write-Host 'Processing users' - $UserCAState = New-Object System.Collections.ArrayList + $UserCAState = [System.Collections.Generic.List[object]]::new() foreach ($CA in $CAState) { - if ($CA -like '*All Users*') { - if ($ExcludeAllUsers -contains $_.ObjectId) { $UserCAState.Add("Excluded from $($policy.displayName) - All Users") | Out-Null } - else { $UserCAState.Add($CA) | Out-Null } - } elseif ($CA -like '*Specific Applications*') { - if ($ExcludeSpecific -contains $_.ObjectId) { $UserCAState.Add("Excluded from $($policy.displayName) - Specific Applications") | Out-Null } - else { $UserCAState.Add($CA) | Out-Null } + if ($CA.IncludedUsers -eq 'All' -or $CA.IncludedUsers -contains $_.ObjectId) { + $UserCAState.Add([PSCustomObject]@{ + DisplayName = $CA.DisplayName + UserIncluded = ($CA.ExcludedUsers -notcontains $_.ObjectId) + AllApps = $CA.IsAllApps + PolicyState = $CA.State + Platforms = $CA.Platforms -join ', ' + }) + } + } + if ($UserCAState.UserIncluded -eq $true -and $UserCAState.PolicyState -eq 'enabled') { + if ($UserCAState.UserIncluded -eq $true -and $UserCAState.PolicyState -eq 'enabled' -and $UserCAState.AllApps) { + $CoveredByCA = 'Enforced - All Apps' + } else { + $CoveredByCA = 'Enforced - Specific Apps' + } + } else { + if ($CASuccess -eq $false) { + $CoveredByCA = $CAError } else { - Write-Host 'Adding to CA' - $UserCAState.Add($CA) | Out-Null + $CoveredByCA = 'Not Enforced' } } $PerUser = if ($PerUserMFAState -eq $null) { $null } else { ($PerUserMFAState | Where-Object -Property UserPrincipalName -EQ $_.UserPrincipalName).PerUserMFAState } - $MFARegUser = if (($MFARegistration | Where-Object -Property UserPrincipalName -EQ $_.UserPrincipalName).IsMFARegistered -eq $null) { $false } else { ($MFARegistration | Where-Object -Property UserPrincipalName -EQ $_.UserPrincipalName) } - + $MFARegUser = if (($MFARegistration | Where-Object -Property UserPrincipalName -EQ $_.userPrincipalName).isMFARegistered -eq $null) { $false } else { ($MFARegistration | Where-Object -Property UserPrincipalName -EQ $_.userPrincipalName) } + [PSCustomObject]@{ Tenant = $TenantFilter ID = $_.ObjectId @@ -85,14 +104,16 @@ function Get-CIPPMFAState { AccountEnabled = $_.accountEnabled PerUser = $PerUser isLicensed = $_.isLicensed - MFARegistration = $MFARegUser.IsMFARegistered - MFAMethods = $($MFARegUser.authMethods -join ', ') - CoveredByCA = ($UserCAState -join ', ') + MFARegistration = $MFARegUser.isMFARegistered + MFACapable = $MFARegUser.isMFACapable + MFAMethods = $MFARegUser.methodsRegistered + CoveredByCA = $CoveredByCA + CAPolicies = $UserCAState CoveredBySD = $SecureDefaultsState RowKey = [string]($_.UserPrincipalName).replace('#', '') PartitionKey = 'users' } - + } return $GraphRequest } diff --git a/Modules/CIPPCore/Public/Get-CIPPOutOfOffice.ps1 b/Modules/CIPPCore/Public/Get-CIPPOutOfOffice.ps1 index 2cbc13b0a4f3..caca21766253 100644 --- a/Modules/CIPPCore/Public/Get-CIPPOutOfOffice.ps1 +++ b/Modules/CIPPCore/Public/Get-CIPPOutOfOffice.ps1 @@ -3,22 +3,22 @@ function Get-CIPPOutOfOffice { param ( $userid, $TenantFilter, - $APIName = "Get Out of Office", + $APIName = 'Get Out of Office', $ExecutingUser ) try { - $OutOfOffice = New-ExoRequest -tenantid $TenantFilter -cmdlet "Get-MailboxAutoReplyConfiguration" -cmdParams @{Identity = $userid } -Anchor $userid + $OutOfOffice = New-ExoRequest -tenantid $TenantFilter -cmdlet 'Get-MailboxAutoReplyConfiguration' -cmdParams @{Identity = $userid } -Anchor $userid $Results = @{ - AutoReplyState = $OutOfOffice.AutoReplyState - StartTime = $OutOfOffice.StartTime.ToString("yyyy-MM-dd HH:mm") - EndTime = $OutOfOffice.EndTime.ToString("yyyy-MM-dd HH:mm") + AutoReplyState = $OutOfOffice.AutoReplyState + StartTime = $OutOfOffice.StartTime.ToString('yyyy-MM-dd HH:mm') + EndTime = $OutOfOffice.EndTime.ToString('yyyy-MM-dd HH:mm') InternalMessage = $OutOfOffice.InternalMessage ExternalMessage = $OutOfOffice.ExternalMessage } | ConvertTo-Json return $Results - } - catch { - return "Could not retrieve out of office message for $($userid). Error: $($_.Exception.Message)" + } catch { + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + return "Could not retrieve out of office message for $($userid). Error: $ErrorMessage" } } diff --git a/Modules/CIPPCore/Public/Get-CIPPPartnerAzSubscriptions.ps1 b/Modules/CIPPCore/Public/Get-CIPPPartnerAzSubscriptions.ps1 index ea67ec1a3f9e..9c06f76edd0a 100644 --- a/Modules/CIPPCore/Public/Get-CIPPPartnerAzSubscriptions.ps1 +++ b/Modules/CIPPCore/Public/Get-CIPPPartnerAzSubscriptions.ps1 @@ -1,7 +1,7 @@ function Get-CIPPPartnerAzSubscriptions { param ( $TenantFilter, - $APIName = "Get-CIPPPartnerAzSubscriptions" + $APIName = 'Get-CIPPPartnerAzSubscriptions' ) try { @@ -15,38 +15,39 @@ function Get-CIPPPartnerAzSubscriptions { $subsCache = [system.collections.generic.list[hashtable]]::new() try { try { - $usageRecords = (New-GraphGETRequest -Uri "https://api.partnercenter.microsoft.com/v1/customers/$($TenantFilter)/subscriptions/usagerecords" -scope "https://api.partnercenter.microsoft.com/user_impersonation").items + $usageRecords = (New-GraphGETRequest -Uri "https://api.partnercenter.microsoft.com/v1/customers/$($TenantFilter)/subscriptions/usagerecords" -scope 'https://api.partnercenter.microsoft.com/user_impersonation').items } catch { - throw "Unable to retrieve usagerecord(s): $($_.Exception.Message)" + $ErrorMessage = Get-CippException -Exception $_ + throw "Unable to retrieve usagerecord(s): $($ErrorMessage.NormalizedError)" } foreach ($usageRecord in $usageRecords) { # if condition probably needs more refining - if ($usageRecord.offerId -notlike "DZH318Z0BPS6*") { + if ($usageRecord.offerId -notlike 'DZH318Z0BPS6*') { # Legacy subscriptions are directly accessible $subDetails = @{ - tenantId = $tenantFilter + tenantId = $tenantFilter subscriptionId = ($usageRecord.id).ToLower() - isLegacy = $true - POR = "Legacy subscription" - status = $usageRecord.status + isLegacy = $true + POR = 'Legacy subscription' + status = $usageRecord.status } - + $subsCache.Add($subDetails) } else { # For modern subscriptions we need to dig a little deeper try { - $subid = (New-GraphGETRequest -Uri "https://api.partnercenter.microsoft.com/v1/customers/$($TenantFilter)/subscriptions/$($usageRecord.id)/azureEntitlements" -scope "https://api.partnercenter.microsoft.com/user_impersonation").items #| Where-Object { $_.status -eq "active" } - + $subid = (New-GraphGETRequest -Uri "https://api.partnercenter.microsoft.com/v1/customers/$($TenantFilter)/subscriptions/$($usageRecord.id)/azureEntitlements" -scope 'https://api.partnercenter.microsoft.com/user_impersonation').items #| Where-Object { $_.status -eq "active" } + foreach ($id in $subid) { $subDetails = @{ - tenantId = $tenantFilter + tenantId = $tenantFilter subscriptionId = ($id.id) - isLegacy = $false - POR = $id.partnerOnRecord - status = $id.status + isLegacy = $false + POR = $id.partnerOnRecord + status = $id.status } - + $subsCache.Add($subDetails) } } catch { @@ -59,6 +60,7 @@ function Get-CIPPPartnerAzSubscriptions { return $subsCache } catch { - Write-LogMessage -message "Unable to retrieve CSP Azure subscriptions for $($TenantFilter): $($_.Exception.Message)" -Sev 'ERROR' -API $APINAME + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -message "Unable to retrieve CSP Azure subscriptions for $($TenantFilter): $($ErrorMessage.NormalizedError)" -Sev 'ERROR' -API $APINAME -LogData $ErrorMessage } } diff --git a/Modules/CIPPCore/Public/Get-CIPPPerUserMFA.ps1 b/Modules/CIPPCore/Public/Get-CIPPPerUserMFA.ps1 index 5c525962009f..26a6033055ad 100644 --- a/Modules/CIPPCore/Public/Get-CIPPPerUserMFA.ps1 +++ b/Modules/CIPPCore/Public/Get-CIPPPerUserMFA.ps1 @@ -29,6 +29,7 @@ function Get-CIPPPerUserMFA { } } } catch { - "Failed to get MFA State for $id : $_" + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + "Failed to get MFA State for $id : $ErrorMessage" } -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/Get-CIPPSPOTenant.ps1 b/Modules/CIPPCore/Public/Get-CIPPSPOTenant.ps1 index 80f6e83453aa..fec489bc729d 100644 --- a/Modules/CIPPCore/Public/Get-CIPPSPOTenant.ps1 +++ b/Modules/CIPPCore/Public/Get-CIPPSPOTenant.ps1 @@ -24,4 +24,4 @@ function Get-CIPPSPOTenant { $Results = New-GraphPostRequest -scope "$AdminURL/.default" -tenantid $TenantFilter -Uri "$AdminURL/_vti_bin/client.svc/ProcessQuery" -Type POST -Body $XML -ContentType 'text/xml' -AddedHeaders $AdditionalHeaders $Results | Select-Object -Last 1 *, @{n = 'SharepointPrefix'; e = { $tenantName } }, @{n = 'TenantFilter'; e = { $TenantFilter } } -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/Get-CIPPSchemaExtensions.ps1 b/Modules/CIPPCore/Public/Get-CIPPSchemaExtensions.ps1 index b85edb06af86..ae3365ac1113 100644 --- a/Modules/CIPPCore/Public/Get-CIPPSchemaExtensions.ps1 +++ b/Modules/CIPPCore/Public/Get-CIPPSchemaExtensions.ps1 @@ -2,7 +2,7 @@ function Get-CIPPSchemaExtensions { [CmdletBinding()] Param() - $Schemas = New-GraphGetRequest -uri "https://graph.microsoft.com/beta/schemaExtensions?`$filter=owner eq '$($env:applicationid)' and status eq 'Available'" -NoAuthCheck $true -AsApp $true + $Schemas = New-GraphGetRequest -uri "https://graph.microsoft.com/beta/schemaExtensions?`$filter=owner eq '$($ENV:ApplicationID)' and status eq 'Available'" -NoAuthCheck $true -AsApp $true $SchemaDefinitions = [PSCustomObject]@( @{ @@ -81,4 +81,4 @@ function Get-CIPPSchemaExtensions { New-GraphPOSTRequest -type PATCH -Uri "https://graph.microsoft.com/v1.0/schemaExtensions/$($Schema.id)" -Body $PatchJson -AsApp $true -NoAuthCheck $true } } -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/Get-CIPPTimerFunctions.ps1 b/Modules/CIPPCore/Public/Get-CIPPTimerFunctions.ps1 new file mode 100644 index 000000000000..99bea5b3cd84 --- /dev/null +++ b/Modules/CIPPCore/Public/Get-CIPPTimerFunctions.ps1 @@ -0,0 +1,131 @@ +function Get-CIPPTimerFunctions { + [CmdletBinding()] + param( + [switch]$All, + [switch]$ResetToDefault + ) + + $ConfigTable = Get-CIPPTable -tablename Config + $Config = Get-CIPPAzDataTableEntity @ConfigTable -Filter "PartitionKey eq 'OffloadFunctions' and RowKey eq 'OffloadFunctions'" + + # Check running nodes + $VersionTable = Get-CIPPTable -tablename 'Version' + $Nodes = Get-CIPPAzDataTableEntity @VersionTable -Filter "PartitionKey eq 'Version' and RowKey ne 'Version'" | Where-Object { $_.RowKey -match '-' } + $AvailableNodes = $Nodes.RowKey | ForEach-Object { ($_ -split '-')[1] } + $FunctionName = $env:WEBSITE_SITE_NAME + + # Get node name + if ($FunctionName -match '-') { + $Node = ($FunctionName -split '-')[1] + } else { + $Node = 'http' + } + + $RunOnProcessor = $true + if ($Config -and $Config.state -eq $true) { + if ($env:CIPP_PROCESSOR -ne 'true' -and !$All.IsPresent) { + $RunOnProcessor = $false + } + } + + $CIPPCoreModuleRoot = Get-Module -Name CIPPCore | Select-Object -ExpandProperty ModuleBase + + if (!('NCronTab.Advanced.CrontabSchedule' -as [type])) { + try { + $NCronTab = Join-Path -Path $CIPPCoreModuleRoot -ChildPath 'lib\NCrontab.Advanced.dll' + Add-Type -Path $NCronTab + } catch {} + } + + $CIPPRoot = (Get-Item $CIPPCoreModuleRoot).Parent.Parent + $Orchestrators = Get-Content -Path $CIPPRoot\CIPPTimers.json | ConvertFrom-Json | Where-Object { $_.RunOnProcessor -eq $RunOnProcessor } + $Table = Get-CIPPTable -TableName 'CIPPTimers' + $RunOnProcessorTxt = if ($RunOnProcessor) { 'true' } else { 'false' } + $OrchestratorStatus = Get-CIPPAzDataTableEntity @Table -Filter "RunOnProcessor eq $RunOnProcessorTxt" + foreach ($Orchestrator in $Orchestrators) { + $Status = $OrchestratorStatus | Where-Object { $_.RowKey -eq $Orchestrator.Command } + if ($Status.Cron) { + $CronString = $Status.Cron + } else { + $CronString = $Orchestrator.Cron + } + $CronCount = ($CronString -split ' ' | Measure-Object).Count + if ($CronCount -eq 5) { + $Cron = [Ncrontab.Advanced.CrontabSchedule]::Parse($CronString) + } elseif ($CronCount -eq 6) { + $Cron = [Ncrontab.Advanced.CrontabSchedule]::Parse($CronString, [Ncrontab.Advanced.Enumerations.CronStringFormat]::WithSeconds) + } else { + Write-Warning "Invalid cron expression for $($Orchestrator.Command): $($Orchestrator.Cron)" + continue + } + + if ($Orchestrator.PreferredProcessor -and $AvailableNodes -contains $Orchestrator.PreferredProcessor -and $Node -ne $Orchestrator.PreferredProcessor) { + # only run on preferred processor when available + continue + } elseif ((!$Orchestrator.PreferredProcessor -or $AvailableNodes -notcontains $Orchestrator.PreferredProcessor) -and $Node -notin ('http', 'proc')) { + # Catchall function nodes + continue + } + + $Now = Get-Date + if ($All.IsPresent) { + $NextOccurrence = [datetime]$Cron.GetNextOccurrence($Now) + } else { + $NextOccurrences = $Cron.GetNextOccurrences($Now.AddMinutes(-15), $Now.AddMinutes(15)) + if (!$Status -or $Status.LastOccurrence -eq 'Never') { + $NextOccurrence = $NextOccurrences | Where-Object { $_ -le (Get-Date) } | Select-Object -First 1 + } else { + $NextOccurrence = $NextOccurrences | Where-Object { $_ -gt $Status.LastOccurrence.DateTime.ToLocalTime() -and $_ -le (Get-Date) } | Select-Object -First 1 + } + } + + if (Get-Command -Name $Orchestrator.Command -Module CIPPCore -ErrorAction SilentlyContinue) { + if ($NextOccurrence) { + if (!$Status) { + $Status = [pscustomobject]@{ + PartitionKey = 'Timer' + RowKey = $Orchestrator.Command + Cron = $CronString + LastOccurrence = 'Never' + NextOccurrence = $NextOccurrence.ToUniversalTime() + Status = 'Not Scheduled' + OrchestratorId = '' + RunOnProcessor = $RunOnProcessor + IsSystem = $Orchestrator.IsSystem ?? $false + PreferredProcessor = $Orchestrator.PreferredProcessor ?? '' + } + Add-CIPPAzDataTableEntity @Table -Entity $Status + } else { + if ($Orchestrator.IsSystem -eq $true -or $ResetToDefault.IsPresent) { + $Status.Cron = $CronString + } + $Status.NextOccurrence = $NextOccurrence.ToUniversalTime() + $PreferredProcessor = $Orchestrator.PreferredProcessor ?? '' + if ($Status.PSObject.Properites.Name -notcontains 'PreferredProcessor') { + $Status | Add-Member -MemberType NoteProperty -Name 'PreferredProcessor' -Value $PreferredProcessor -Force + } else { + $Status.PreferredProcessor = $PreferredProcessor + } + Add-CIPPAzDataTableEntity @Table -Entity $Status -Force + } + + [PSCustomObject]@{ + Command = $Orchestrator.Command + Cron = $CronString + NextOccurrence = $NextOccurrence.ToUniversalTime() + LastOccurrence = $Status.LastOccurrence.DateTime + Status = $Status.Status + OrchestratorId = $Status.OrchestratorId + RunOnProcessor = $Orchestrator.RunOnProcessor + IsSystem = $Orchestrator.IsSystem ?? $false + PreferredProcessor = $Orchestrator.PreferredProcessor ?? '' + } + } + } else { + if ($Status) { + Write-Warning "Timer function: $($Orchestrator.Command) does not exist" + Remove-CIPPAzDataTableEntity @Table -Entity $Status + } + } + } +} diff --git a/Modules/CIPPCore/Public/Get-SlackAlertBlocks.ps1 b/Modules/CIPPCore/Public/Get-SlackAlertBlocks.ps1 index 60e42aee5ced..52a0fbb2a1f8 100644 --- a/Modules/CIPPCore/Public/Get-SlackAlertBlocks.ps1 +++ b/Modules/CIPPCore/Public/Get-SlackAlertBlocks.ps1 @@ -262,4 +262,4 @@ function Get-SlackAlertBlocks { blocks = $Blocks } } -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/GraphHelper/Convert-SKUName.ps1 b/Modules/CIPPCore/Public/GraphHelper/Convert-SKUName.ps1 index 61e8e0acd4b6..1e5fda8371b9 100644 --- a/Modules/CIPPCore/Public/GraphHelper/Convert-SKUName.ps1 +++ b/Modules/CIPPCore/Public/GraphHelper/Convert-SKUName.ps1 @@ -10,7 +10,7 @@ function Convert-SKUname { ) if (!$ConvertTable) { Set-Location (Get-Item $PSScriptRoot).Parent.FullName - $ConvertTable = Import-Csv Conversiontable.csv + $ConvertTable = Import-Csv ConversionTable.csv } if ($skuname) { $ReturnedName = ($ConvertTable | Where-Object { $_.String_Id -eq $skuname } | Select-Object -Last 1).'Product_Display_Name' } if ($skuID) { $ReturnedName = ($ConvertTable | Where-Object { $_.guid -eq $skuid } | Select-Object -Last 1).'Product_Display_Name' } diff --git a/Modules/CIPPCore/Public/GraphHelper/Get-AuthorisedRequest.ps1 b/Modules/CIPPCore/Public/GraphHelper/Get-AuthorisedRequest.ps1 index f8891f84899d..f8147728a15c 100644 --- a/Modules/CIPPCore/Public/GraphHelper/Get-AuthorisedRequest.ps1 +++ b/Modules/CIPPCore/Public/GraphHelper/Get-AuthorisedRequest.ps1 @@ -10,14 +10,14 @@ function Get-AuthorisedRequest { [string]$Uri ) if (!$TenantID) { - $TenantID = $env:TenantId + $TenantID = $env:TenantID } - if ($Uri -like 'https://graph.microsoft.com/beta/contracts*' -or $Uri -like '*/customers/*' -or $Uri -eq 'https://graph.microsoft.com/v1.0/me/sendMail' -or $Uri -like '*/tenantRelationships/*') { + if ($Uri -like 'https://graph.microsoft.com/beta/contracts*' -or $Uri -like '*/customers/*' -or $Uri -eq 'https://graph.microsoft.com/v1.0/me/sendMail' -or $Uri -like '*/tenantRelationships/*' -or $Uri -like '*/security/partner/*') { return $true } $Tenants = Get-Tenants -IncludeErrors $SkipList = Get-Tenants -SkipList - if (($env:PartnerTenantAvailable -eq $true -and $SkipList.customerId -notcontains $TenantID -and $SkipList.defaultDomainName -notcontains $TenantID) -or (($Tenants.customerId -contains $TenantID -or $Tenants.defaultDomainName -contains $TenantID) -and $TenantID -ne $env:TenantId)) { + if (($env:PartnerTenantAvailable -eq $true -and $SkipList.customerId -notcontains $TenantID -and $SkipList.defaultDomainName -notcontains $TenantID) -or (($Tenants.customerId -contains $TenantID -or $Tenants.defaultDomainName -contains $TenantID) -and $TenantID -ne $env:TenantID)) { return $true } else { return $false diff --git a/Modules/CIPPCore/Public/GraphHelper/Get-CippSamPermissions.ps1 b/Modules/CIPPCore/Public/GraphHelper/Get-CippSamPermissions.ps1 new file mode 100644 index 000000000000..32ede8169d61 --- /dev/null +++ b/Modules/CIPPCore/Public/GraphHelper/Get-CippSamPermissions.ps1 @@ -0,0 +1,158 @@ +function Get-CippSamPermissions { + <# + .SYNOPSIS + This script retrieves the CIPP-SAM permissions. + + .DESCRIPTION + The Get-CippSamManifest function is used to retrieve the CIPP-SAM permissions either from the manifest files or table. + + .EXAMPLE + Get-CippSamManifest + Retrieves the CIPP SAM manifest located in the module root + + .FUNCTIONALITY + Internal + #> + [CmdletBinding(DefaultParameterSetName = 'Default')] + Param( + [Parameter(ParameterSetName = 'ManifestOnly')] + [switch]$ManifestOnly, + [Parameter(ParameterSetName = 'Default')] + [switch]$SavedOnly, + [Parameter(ParameterSetName = 'Diff')] + [switch]$NoDiff + ) + + if (!$SavedOnly.IsPresent) { + $ModuleBase = Get-Module -Name CIPPCore | Select-Object -ExpandProperty ModuleBase + $SamManifestFile = Get-Item (Join-Path $ModuleBase "Public\SAMManifest.json") + $AdditionalPermissions = Get-Item (Join-Path $ModuleBase "Public\AdditionalPermissions.json") + + $ServicePrincipals = New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/servicePrincipals?$top=999&$select=appId,displayName,appRoles,publishedPermissionScopes' -tenantid $env:TenantID -NoAuthCheck $true + $SAMManifest = Get-Content -Path $SamManifestFile.FullName | ConvertFrom-Json + $AdditionalPermissions = Get-Content -Path $AdditionalPermissions.FullName | ConvertFrom-Json + + $RequiredResources = $SAMManifest.requiredResourceAccess + + $AppIds = ($RequiredResources.resourceAppId + $AdditionalPermissions.resourceAppId) | Sort-Object -Unique + + $Permissions = @{} + foreach ($AppId in $AppIds) { + $ServicePrincipal = $ServicePrincipals | Where-Object -Property appId -EQ $AppId + $AppPermissions = [System.Collections.Generic.List[object]]@() + $ManifestPermissions = ($RequiredResources | Where-Object -Property resourceAppId -EQ $AppId).resourceAccess + $UnpublishedPermissions = ($AdditionalPermissions | Where-Object -Property resourceAppId -EQ $AppId).resourceAccess + + foreach ($Permission in $ManifestPermissions) { + $AppPermissions.Add($Permission) + } + if ($UnpublishedPermissions) { + foreach ($Permission in $UnpublishedPermissions) { + $AppPermissions.Add($Permission) + } + } + + $ApplicationPermissions = [system.collections.generic.list[object]]@() + $DelegatedPermissions = [system.collections.generic.list[object]]@() + foreach ($Permission in $AppPermissions) { + if ($Permission.id -match '^[a-f0-9]{8}-([a-f0-9]{4}-){3}[a-f0-9]{12}$') { + if ($Permission.type -eq 'Role') { + $PermissionName = ($ServicePrincipal.appRoles | Where-Object -Property id -EQ $Permission.id).value + } else { + $PermissionName = ($ServicePrincipal.publishedPermissionScopes | Where-Object -Property id -EQ $Permission.id).value + } + } else { + $PermissionName = $Permission.id + } + + if ($Permission.type -eq 'Role') { + $ApplicationPermissions.Add([PSCustomObject]@{ + id = $Permission.id + value = $PermissionName + + }) + } else { + $DelegatedPermissions.Add([PSCustomObject]@{ + id = $Permission.id + value = $PermissionName + }) + } + } + + $ServicePrincipal = $ServicePrincipals | Where-Object -Property appId -EQ $AppId + $Permissions.$AppId = @{ + applicationPermissions = @($ApplicationPermissions | Sort-Object -Property label) + delegatedPermissions = @($DelegatedPermissions | Sort-Object -Property label) + } + } + } + if ($ManifestOnly) { + return [PSCustomObject]@{ + Permissions = $Permissions + Type = 'Manifest' + } + } + + $Table = Get-CippTable -tablename 'AppPermissions' + $SavedPermissions = Get-CippAzDataTableEntity @Table -Filter "PartitionKey eq 'CIPP-SAM' and RowKey eq 'CIPP-SAM'" + if ($SavedPermissions.Permissions) { + $SavedPermissions.Permissions = $SavedPermissions.Permissions | ConvertFrom-Json + } else { + $SavedPermissions = @{ + Permissions = [PSCustomObject]@{} + } + } + + if ($SavedOnly.IsPresent) { + $SavedPermissions | Add-Member -MemberType NoteProperty -Name Type -Value 'Table' + return $SavedPermissions + } + + if (!$NoDiff -and $SavedPermissions.Permissions) { + $DiffPermissions = @{} + foreach ($AppId in $AppIds) { + $ManifestSpPermissions = $Permissions.$AppId + $SavedSpPermission = $SavedPermissions.Permissions.$AppId + $MissingApp = [System.Collections.Generic.List[object]]::new() + $MissingDelegated = [System.Collections.Generic.List[object]]::new() + foreach ($Permission in $ManifestSpPermissions.applicationPermissions) { + if ($SavedSpPermission.applicationPermissions.id -notcontains $Permission.id) { + $MissingApp.Add($Permission) + } + } + foreach ($Permission in $ManifestSpPermissions.delegatedPermissions) { + if ($SavedSpPermission.delegatedPermissions.id -notcontains $Permission.id) { + $MissingDelegated.Add($Permission) + } + } + if ($MissingApp -or $MissingDelegated) { + $DiffPermissions.$AppId = @{ + applicationPermissions = $MissingApp + delegatedPermissions = $MissingDelegated + } + } + } + } + + $SamAppPermissions = @{} + if (($SavedPermissions.Permissions.PSObject.Properties.Name | Measure-Object).Count -gt 0) { + $SamAppPermissions.Permissions = $SavedPermissions.Permissions + $SamAppPermissions.UpdatedBy = $SavedPermissions.UpdatedBy + $SamAppPermissions.Timestamp = $SavedPermissions.Timestamp.DateTime.ToString('yyyy-MM-ddTHH:mm:ssZ') + $SamAppPermissions.Type = 'Table' + } else { + $SamAppPermissions.Permissions = $Permissions + $SamAppPermissions.Type = 'Manifest' + $SamAppPermissions.UpdatedBy = 'CIPP' + $SamAppPermissions.Timestamp = $SamManifestFile.LastWriteTime.ToUniversalTime().ToString('yyyy-MM-ddTHH:mm:ssZ') + } + + if (!$NoDiff.IsPresent -and $SamAppPermissions.Type -eq 'Table') { + $SamAppPermissions.MissingPermissions = $DiffPermissions + } + + $SamAppPermissions = $SamAppPermissions | ConvertTo-Json -Depth 10 -Compress | ConvertFrom-Json + + return $SamAppPermissions +} + diff --git a/Modules/CIPPCore/Public/GraphHelper/Get-ClassicAPIToken.ps1 b/Modules/CIPPCore/Public/GraphHelper/Get-ClassicAPIToken.ps1 index ce7e48fa5247..5dc55d946cd8 100644 --- a/Modules/CIPPCore/Public/GraphHelper/Get-ClassicAPIToken.ps1 +++ b/Modules/CIPPCore/Public/GraphHelper/Get-ClassicAPIToken.ps1 @@ -11,7 +11,7 @@ function Get-ClassicAPIToken($tenantID, $Resource) { #Write-Host 'Using classic' $uri = "https://login.microsoftonline.com/$($TenantID)/oauth2/token" $Body = @{ - client_id = $env:ApplicationID + client_id = $ENV:ApplicationID client_secret = $env:ApplicationSecret resource = $Resource refresh_token = $env:RefreshToken @@ -42,4 +42,4 @@ function Get-ClassicAPIToken($tenantID, $Resource) { Throw "Failed to obtain Classic API Token for $TenantID - $_" } } -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/GraphHelper/Get-GraphToken.ps1 b/Modules/CIPPCore/Public/GraphHelper/Get-GraphToken.ps1 index b0021973a701..626dc7ba842a 100644 --- a/Modules/CIPPCore/Public/GraphHelper/Get-GraphToken.ps1 +++ b/Modules/CIPPCore/Public/GraphHelper/Get-GraphToken.ps1 @@ -1,4 +1,4 @@ -function Get-GraphToken($tenantid, $scope, $AsApp, $AppID, $refreshToken, $ReturnRefresh, $SkipCache) { +function Get-GraphToken($tenantid, $scope, $AsApp, $AppID, $AppSecret, $refreshToken, $ReturnRefresh, $SkipCache) { <# .FUNCTIONALITY Internal @@ -30,6 +30,15 @@ function Get-GraphToken($tenantid, $scope, $AsApp, $AppID, $refreshToken, $Retur } } + if ($null -ne $AppID -and $null -ne $AppSecret) { + $AuthBody = @{ + client_id = $AppID + client_secret = $AppSecret + scope = $Scope + grant_type = 'client_credentials' + } + } + if (!$tenantid) { $tenantid = $env:TenantID } $TokenKey = '{0}-{1}-{2}' -f $tenantid, $scope, $asApp @@ -57,9 +66,9 @@ function Get-GraphToken($tenantid, $scope, $AsApp, $AppID, $refreshToken, $Retur if (!$Tenant.RowKey) { $donotset = $true $Tenant = [pscustomobject]@{ - GraphErrorCount = $null - LastGraphTokenError = $null - LastGraphError = $null + GraphErrorCount = 0 + LastGraphTokenError = '' + LastGraphError = '' PartitionKey = 'TenantFailed' RowKey = 'Failed' } diff --git a/Modules/CIPPCore/Public/GraphHelper/Get-GraphTokenFromCert.ps1 b/Modules/CIPPCore/Public/GraphHelper/Get-GraphTokenFromCert.ps1 new file mode 100644 index 000000000000..8887a0c3bb95 --- /dev/null +++ b/Modules/CIPPCore/Public/GraphHelper/Get-GraphTokenFromCert.ps1 @@ -0,0 +1,117 @@ +function Get-GraphTokenFromCert { + param( + [Parameter(Mandatory = $true)] + [string]$TenantId, + + [Parameter(Mandatory = $true)] + [string]$AppId, + + [string]$Scope = 'https://graph.microsoft.com/.default', + [Parameter(Mandatory = $true)] + [System.Security.Cryptography.X509Certificates.X509Certificate2]$Certificate + ) + ######################################################### + # Create Bearer Token From Certificate for HBU Graph + ######################################################### + + # get sha256 hash of certificate + $sha256 = New-Object System.Security.Cryptography.SHA256CryptoServiceProvider + $hash = $sha256.ComputeHash($Certificate.RawData) + $hash = [Convert]::ToBase64String($hash) + + # Create JWT timestamp for expiration + $StartDate = (Get-Date '1970-01-01T00:00:00Z' ).ToUniversalTime() + $JWTExpirationTimeSpan = (New-TimeSpan -Start $StartDate -End (Get-Date).ToUniversalTime().AddMinutes(2)).TotalSeconds + $JWTExpiration = [math]::Round($JWTExpirationTimeSpan, 0) + + # Create JWT validity start timestamp + $NotBeforeExpirationTimeSpan = (New-TimeSpan -Start $StartDate -End ((Get-Date).ToUniversalTime())).TotalSeconds + $NotBefore = [math]::Round($NotBeforeExpirationTimeSpan, 0) + + # Create JWT header + $JWTHeader = @{ + alg = 'PS256' + typ = 'JWT' + # Use the CertificateBase64Hash and replace/strip to match web encoding of base64 + 'x5t#S256' = $hash -replace '\+', '-' -replace '/', '_' -replace '=' + } + + # Create JWT payload + $JWTPayLoad = @{ + # Issuer = your application + iss = $AppId + + # What endpoint is allowed to use this JWT + aud = "https://login.microsoftonline.com/$TenantId/oauth2/v2.0/token" + + # JWT ID: random guid + jti = [guid]::NewGuid() + + # Expiration timestamp + exp = $JWTExpiration + + # Not to be used before + nbf = $NotBefore + + # JWT Subject + sub = $AppId + } + + # Convert header and payload to base64 + $JWTHeaderToByte = [System.Text.Encoding]::UTF8.GetBytes(($JWTHeader | ConvertTo-Json)) + $EncodedHeader = [System.Convert]::ToBase64String($JWTHeaderToByte) + + $JWTPayLoadToByte = [System.Text.Encoding]::UTF8.GetBytes(($JWTPayload | ConvertTo-Json)) + $EncodedPayload = [System.Convert]::ToBase64String($JWTPayLoadToByte) + + # Join header and Payload with "." to create a valid (unsigned) JWT + $JWT = $EncodedHeader + '.' + $EncodedPayload + + # Get the private key object of your certificate + # $PrivateKey = $Certificate.PrivateKey + $PrivateKey = ([System.Security.Cryptography.X509Certificates.RSACertificateExtensions]::GetRSAPrivateKey($Certificate)) + + # Define RSA signature and hashing algorithm + $RSAPadding = [Security.Cryptography.RSASignaturePadding]::Pss + $HashAlgorithm = [Security.Cryptography.HashAlgorithmName]::SHA256 + + # Create a signature of the JWT + $Signature = [Convert]::ToBase64String( + $PrivateKey.SignData([System.Text.Encoding]::UTF8.GetBytes($JWT), $HashAlgorithm, $RSAPadding) + ) -replace '\+', '-' -replace '/', '_' -replace '=' + + # Join the signature to the JWT with "." + $JWT = $JWT + '.' + $Signature + + # Create a hash with body parameters + $Body = @{ + client_id = $AppId + client_assertion = $JWT + client_assertion_type = 'urn:ietf:params:oauth:client-assertion-type:jwt-bearer' + scope = $Scope + grant_type = 'client_credentials' + } + + $Url = "https://login.microsoftonline.com/$TenantId/oauth2/v2.0/token" + + # Use the self-generated JWT as Authorization + $Header = @{ + Authorization = "Bearer $JWT" + } + + # Splat the parameters for Invoke-Restmethod for cleaner code + $PostSplat = @{ + ContentType = 'application/x-www-form-urlencoded' + Method = 'POST' + Body = $Body + Uri = $Url + Headers = $Header + } + + try { + return Invoke-RestMethod @PostSplat + } catch { + Write-Error $_ + } + +} diff --git a/Modules/CIPPCore/Public/GraphHelper/Get-NormalizedError.ps1 b/Modules/CIPPCore/Public/GraphHelper/Get-NormalizedError.ps1 index 46f092f6aff3..1755a9f58378 100644 --- a/Modules/CIPPCore/Public/GraphHelper/Get-NormalizedError.ps1 +++ b/Modules/CIPPCore/Public/GraphHelper/Get-NormalizedError.ps1 @@ -21,16 +21,16 @@ function Get-NormalizedError { #We need to check if the message is in one of these fields, and if so, return it. if ($JSONMsg.error.innererror.message) { - Write-Host 'innererror.message found' + Write-Host "innererror.message found: $($JSONMsg.error.innererror.message)" $message = $JSONMsg.error.innererror.message } elseif ($JSONMsg.error.message) { - Write-Host 'error.message found' + Write-Host "error.message found: $($JSONMsg.error.message)" $message = $JSONMsg.error.message } elseif ($JSONMsg.error.details.message) { - Write-Host 'error.details.message found' + Write-Host "error.details.message found: $($JSONMsg.error.details.message)" $message = $JSONMsg.error.details.message } elseif ($JSONMsg.error.innererror.internalException.message) { - Write-Host 'error.innererror.internalException.message found' + Write-Host "error.innererror.internalException.message found: $($JSONMsg.error.innererror.internalException.message)" $message = $JSONMsg.error.innererror.internalException.message } diff --git a/Modules/CIPPCore/Public/GraphHelper/Get-Tenants.ps1 b/Modules/CIPPCore/Public/GraphHelper/Get-Tenants.ps1 index fc635a188857..446a1c5fc5ac 100644 --- a/Modules/CIPPCore/Public/GraphHelper/Get-Tenants.ps1 +++ b/Modules/CIPPCore/Public/GraphHelper/Get-Tenants.ps1 @@ -11,7 +11,8 @@ function Get-Tenants { [switch]$IncludeErrors, [switch]$SkipDomains, [switch]$TriggerRefresh, - [switch]$CleanOld + [switch]$CleanOld, + [string]$TenantFilter ) $TenantsTable = Get-CippTable -tablename 'Tenants' @@ -29,6 +30,24 @@ function Get-Tenants { } else { $Filter = "PartitionKey eq 'Tenants' and Excluded eq false and GraphErrorCount lt 50" } + + if ($TenantFilter) { + Write-Information "Getting tenant $TenantFilter" + if ($TenantFilter -match '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$') { + $Filter = "{0} and customerId eq '{1}'" -f $Filter, $TenantFilter + # create where-object scriptblock + $IncludedTenantFilter = [scriptblock]::Create("`$_.customerId -eq '$TenantFilter'") + $RelationshipFilter = " and customer/tenantId eq '$TenantFilter'" + } else { + $Filter = "{0} and defaultDomainName eq '{1}'" -f $Filter, $TenantFilter + $IncludedTenantFilter = [scriptblock]::Create("`$_.defaultDomainName -eq '$TenantFilter'") + $RelationshipFilter = '' + } + } else { + $IncludedTenantFilter = [scriptblock]::Create('$true') + $RelationshipFilter = '' + } + $IncludedTenantsCache = Get-CIPPAzDataTableEntity @TenantsTable -Filter $Filter if (($IncludedTenantsCache | Measure-Object).Count -eq 0) { @@ -36,7 +55,7 @@ function Get-Tenants { } if ($CleanOld) { - $GDAPRelationships = New-GraphGetRequest -uri "https://graph.microsoft.com/beta/tenantRelationships/delegatedAdminRelationships?`$filter=status eq 'active' and not startsWith(displayName,'MLT_')&`$select=customer,autoExtendDuration,endDateTime`$top=300" -NoAuthCheck:$true + $GDAPRelationships = New-GraphGetRequest -uri "https://graph.microsoft.com/beta/tenantRelationships/delegatedAdminRelationships?`$filter=status eq 'active' and not startsWith(displayName,'MLT_')&`$select=customer,autoExtendDuration,endDateTime&`$top=300" -NoAuthCheck:$true $GDAPList = foreach ($Relationship in $GDAPRelationships) { [PSCustomObject]@{ customerId = $Relationship.customer.tenantId @@ -55,7 +74,7 @@ function Get-Tenants { if (($BuildRequired -or $TriggerRefresh.IsPresent) -and $PartnerTenantState.state -ne 'owntenant') { #get the full list of tenants - $GDAPRelationships = New-GraphGetRequest -uri "https://graph.microsoft.com/beta/tenantRelationships/delegatedAdminRelationships?`$filter=status eq 'active' and not startsWith(displayName,'MLT_')&`$select=customer,autoExtendDuration,endDateTime&`$top=300" -NoAuthCheck:$true + $GDAPRelationships = New-GraphGetRequest -uri "https://graph.microsoft.com/beta/tenantRelationships/delegatedAdminRelationships?`$filter=status eq 'active' and not startsWith(displayName,'MLT_')$RelationshipFilter&`$select=customer,autoExtendDuration,endDateTime&`$top=300" -NoAuthCheck:$true $GDAPList = foreach ($Relationship in $GDAPRelationships) { [PSCustomObject]@{ customerId = $Relationship.customer.tenantId @@ -65,43 +84,49 @@ function Get-Tenants { } } - $ActiveRelationships = $GDAPList | Where-Object { $_.customerId -notin $SkipListCache.customerId } + $ActiveRelationships = $GDAPList | Where-Object $IncludedTenantFilter | Where-Object { $_.customerId -notin $SkipListCache.customerId } $TenantList = $ActiveRelationships | Group-Object -Property customerId | ForEach-Object { - #Write-Host "Processing $($_.Name) to add to tenant list." - $ExistingTenantInfo = Get-CIPPAzDataTableEntity @TenantsTable -Filter "PartitionKey eq 'Tenants' and RowKey eq '$($_.Name)'" + # Write-Host (ConvertTo-Json -InputObject $_ -Depth 10) + # Write-Host "Processing $($_.Name), $($_.displayName) to add to tenant list." + $ExistingTenantInfo = Get-CIPPAzDataTableEntity @TenantsTable -Filter "PartitionKey eq 'Tenants' and RowKey eq '$($_.Name)'" if ($TriggerRefresh.IsPresent -and $ExistingTenantInfo.customerId) { # Reset error count + Write-Host "Resetting error count for $($_.Name)" $ExistingTenantInfo.GraphErrorCount = 0 Add-CIPPAzDataTableEntity @TenantsTable -Entity $ExistingTenantInfo -Force | Out-Null } if ($ExistingTenantInfo -and $ExistingTenantInfo.RequiresRefresh -eq $false) { - #Write-Host 'Existing tenant found. We already have it cached, skipping.' + Write-Host 'Existing tenant found. We already have it cached, skipping.' $ExistingTenantInfo return } $LatestRelationship = $_.Group | Sort-Object -Property relationshipEnd | Select-Object -Last 1 $AutoExtend = ($_.Group | Where-Object { $_.autoExtend -eq $true } | Measure-Object).Count -gt 0 - - if (-not $SkipDomains.IsPresent) { + if (!$SkipDomains.IsPresent) { try { - #Write-Host "Getting domains for $($_.Name)." + Write-Host "Getting domains for $($_.Name)." $Domains = New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/domains?$top=999' -tenantid $LatestRelationship.customerId -NoAuthCheck:$true -ErrorAction Stop $defaultDomainName = ($Domains | Where-Object { $_.isDefault -eq $true }).id $initialDomainName = ($Domains | Where-Object { $_.isInitial -eq $true }).id } catch { try { #doing alternative method to temporarily get domains. Nightly refresh will fix this as it will be marked for renew. - $Domain = (New-GraphGetRequest -uri "https://graph.microsoft.com/v1.0/tenantRelationships/findTenantInformationByTenantId(tenantId='$($LatestRelationship.customerId)')" -NoAuthCheck:$true).defaultDomainName - $defaultDomainName = $Domain - $initialDomainName = $Domain + Write-Host 'Main method failed, trying alternative method.' + Write-Host "Domain variable is $Domain" + $Domain = (New-GraphGetRequest -uri "https://graph.microsoft.com/v1.0/tenantRelationships/findTenantInformationByTenantId(tenantId='$($LatestRelationship.customerId)')" -NoAuthCheck:$true ).defaultDomainName + Write-Host "Alternative method worked, got domain $Domain." $RequiresRefresh = $true - } catch { - Write-LogMessage -API 'Get-Tenants' -message "Tried adding $($LatestRelationship.customerId) to tenant list but failed to get domains - $($_.Exception.Message)" -level 'Critical' + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -API 'Get-Tenants' -message "Tried adding $($LatestRelationship.customerId) to tenant list but failed to get domains - $($_.Exception.Message)" -Sev 'Critical' -LogData $ErrorMessage + } finally { + $defaultDomainName = $Domain + $initialDomainName = $Domain } } + Write-Host 'finished getting domain' $Obj = [PSCustomObject]@{ PartitionKey = 'Tenants' @@ -124,9 +149,12 @@ function Get-Tenants { LastRefresh = (Get-Date).ToUniversalTime() } if ($Obj.defaultDomainName -eq 'Invalid' -or !$Obj.defaultDomainName) { - continue + Write-Host "We're skipping $($Obj.displayName) as it has an invalid default domain name. Something is up with this instance." + return } + Write-Host "Adding $($_.Name) to tenant list." Add-CIPPAzDataTableEntity @TenantsTable -Entity $Obj -Force | Out-Null + $Obj } } @@ -152,8 +180,8 @@ function Get-Tenants { }) | Out-Null } - foreach ($Tenant in $TenantList) { - if ($Tenant.defaultDomainName -eq 'Invalid' -or !$Tenant.defaultDomainName) { + foreach ($Tenant in $TenantList | Where-Object $IncludedTenantFilter) { + if ($Tenant.defaultDomainName -eq 'Invalid' -or [string]::IsNullOrWhiteSpace($Tenant.defaultDomainName)) { Write-LogMessage -API 'Get-Tenants' -message "We're skipping $($Tenant.displayName) as it has an invalid default domain name. Something is up with this instance." -level 'Critical' continue } diff --git a/Modules/CIPPCore/Public/GraphHelper/New-ExoBulkRequest.ps1 b/Modules/CIPPCore/Public/GraphHelper/New-ExoBulkRequest.ps1 index deb7f2fd1d56..277802cd8e3e 100644 --- a/Modules/CIPPCore/Public/GraphHelper/New-ExoBulkRequest.ps1 +++ b/Modules/CIPPCore/Public/GraphHelper/New-ExoBulkRequest.ps1 @@ -1,23 +1,72 @@ -function New-ExoBulkRequest ($tenantid, $cmdletArray, $useSystemMailbox, $Anchor, $NoAuthCheck, $Select) { +function New-ExoBulkRequest { <# .FUNCTIONALITY Internal #> + [CmdletBinding()] + param( + $tenantid, + $cmdletArray, + $useSystemMailbox, + $Anchor, + $NoAuthCheck, + $Select, + [switch]$Compliance, + [switch]$AsApp + ) if ((Get-AuthorisedRequest -TenantID $tenantid) -or $NoAuthCheck -eq $True) { - $token = Get-ClassicAPIToken -resource 'https://outlook.office365.com' -Tenantid $tenantid + if ($Compliance.IsPresent) { + $Resource = 'https://ps.compliance.protection.outlook.com' + } else { + $Resource = 'https://outlook.office365.com' + } + $Token = Get-GraphToken -Tenantid $tenantid -scope "$Resource/.default" -AsApp:$AsApp.IsPresent + $Tenant = Get-Tenants -IncludeErrors | Where-Object { $_.defaultDomainName -eq $tenantid -or $_.customerId -eq $tenantid } $Headers = @{ - Authorization = "Bearer $($token.access_token)" + Authorization = $Token.Authorization Prefer = 'odata.maxpagesize = 1000;odata.continue-on-error' 'parameter-based-routing' = $true 'X-AnchorMailbox' = $Anchor } + + if ($Compliance.IsPresent) { + if (!$Anchor) { + if (!$Tenant.initialDomainName -or $Tenant.initialDomainName -notlike '*onmicrosoft.com*') { + $OnMicrosoft = (New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/domains?$top=999' -tenantid $tenantid -NoAuthCheck $NoAuthCheck | Where-Object -Property isInitial -EQ $true).id + } else { + $OnMicrosoft = $Tenant.initialDomainName + } + $Headers.Anchor = "UPN:SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}@$($OnMicrosoft)" + } + if (!$Tenant.ComplianceUrl) { + Write-Verbose "Getting Compliance URL for $($tenant.defaultDomainName)" + $URL = "$Resource/adminapi/$ApiVersion/$($tenant.customerId)/EXOBanner('AutogenSession')?Version=$ModuleVersion" + Invoke-RestMethod -ResponseHeadersVariable ComplianceHeaders -MaximumRedirection 0 -ErrorAction SilentlyContinue -Uri $URL -Headers $Headers -SkipHttpErrorCheck | Out-Null + $RedirectedHost = ([System.Uri]($ComplianceHeaders.Location | Select-Object -First 1)).Host + $RedirectedHostname = '{0}.ps.compliance.protection.outlook.com' -f ($RedirectedHost -split '\.' | Select-Object -First 1) + $Resource = "https://$($RedirectedHostname)" + try { + $null = [System.Uri]$Resource + $Tenant | Add-Member -MemberType NoteProperty -Name ComplianceUrl -Value $Resource + $TenantTable = Get-CIPPTable -tablename 'Tenants' + Add-CIPPAzDataTableEntity @TenantTable -Entity $Tenant -Force + } catch { + Write-Error "Failed to get the Compliance URL for $($tenant.defaultDomainName), invalid URL - check the Anchor and try again." + return + } + } else { + $Resource = $Tenant.ComplianceUrl + } + Write-Verbose "Redirecting to $Resource" + } + try { if ($Select) { $Select = "`$select=$Select" } - $URL = "https://outlook.office365.com/adminapi/beta/$($tenant.customerId)/InvokeCommand?$Select" - $BatchURL = "https://outlook.office365.com/adminapi/beta/$($tenant.customerId)/`$batch" + $URL = "$Resource/adminapi/beta/$($tenant.customerId)/InvokeCommand?$Select" + $BatchURL = "$Resource/adminapi/beta/$($tenant.customerId)/`$batch" $BatchBodyObj = @{ requests = @() } @@ -84,4 +133,4 @@ function New-ExoBulkRequest ($tenantid, $cmdletArray, $useSystemMailbox, $Anchor } else { Write-Error 'Not allowed. You cannot manage your own tenant or tenants not under your scope' } -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/GraphHelper/New-ExoRequest.ps1 b/Modules/CIPPCore/Public/GraphHelper/New-ExoRequest.ps1 index fac7a03612a0..8572b6494df4 100644 --- a/Modules/CIPPCore/Public/GraphHelper/New-ExoRequest.ps1 +++ b/Modules/CIPPCore/Public/GraphHelper/New-ExoRequest.ps1 @@ -1,29 +1,71 @@ -function New-ExoRequest ($tenantid, $cmdlet, $cmdParams, $useSystemMailbox, $Anchor, $NoAuthCheck, $Select) { +function New-ExoRequest { <# .FUNCTIONALITY Internal #> + [CmdletBinding(DefaultParameterSetName = 'ExoRequest')] + Param( + [Parameter(Mandatory = $true, ParameterSetName = 'ExoRequest')] + [string]$cmdlet, + + [Parameter(Mandatory = $false, ParameterSetName = 'ExoRequest')] + $cmdParams, + + [Parameter(Mandatory = $false, ParameterSetName = 'ExoRequest')] + [string]$Select, + + [Parameter(Mandatory = $false, ParameterSetName = 'ExoRequest')] + [string]$Anchor, + + [Parameter(Mandatory = $false, ParameterSetName = 'ExoRequest')] + [bool]$useSystemMailbox, + + [string]$tenantid, + + [bool]$NoAuthCheck, + + [switch]$Compliance, + [ValidateSet('v1.0', 'beta')] + [string]$ApiVersion = 'beta', + + [Parameter(ParameterSetName = 'AvailableCmdlets')] + [switch]$AvailableCmdlets, + + $ModuleVersion = '3.5.1', + [switch]$AsApp + ) if ((Get-AuthorisedRequest -TenantID $tenantid) -or $NoAuthCheck -eq $True) { - $token = Get-ClassicAPIToken -resource 'https://outlook.office365.com' -Tenantid $tenantid - $Tenant = Get-Tenants -IncludeErrors | Where-Object { $_.defaultDomainName -eq $tenantid -or $_.customerId -eq $tenantid } + if ($Compliance.IsPresent) { + $Resource = 'https://ps.compliance.protection.outlook.com' + } else { + $Resource = 'https://outlook.office365.com' + } + $token = Get-GraphToken -Tenantid $tenantid -scope "$Resource/.default" -AsApp:$AsApp.IsPresent if ($cmdParams) { + #if cmdparams is a pscustomobject, convert to hashtable, otherwise leave as is $Params = $cmdParams } else { $Params = @{} } - $ExoBody = ConvertTo-Json -Depth 5 -InputObject @{ + $ExoBody = ConvertTo-Json -Depth 5 -Compress -InputObject @{ CmdletInput = @{ CmdletName = $cmdlet Parameters = $Params } } + + $Tenant = Get-Tenants -IncludeErrors | Where-Object { $_.defaultDomainName -eq $tenantid -or $_.customerId -eq $tenantid } + if (-not $Tenant -and $NoAuthCheck -eq $true) { + $Tenant = [PSCustomObject]@{ + customerId = $tenantid + } + } if (!$Anchor) { if ($cmdparams.Identity) { $Anchor = $cmdparams.Identity } if ($cmdparams.anr) { $Anchor = $cmdparams.anr } if ($cmdparams.User) { $Anchor = $cmdparams.User } if ($cmdparams.mailbox) { $Anchor = $cmdparams.mailbox } - if ($cmdlet -eq 'Set-AdminAuditLogConfig') { $anchor = "UPN:SystemMailbox{8cc370d3-822a-4ab8-a926-bb94bd0641a9}@$($OnMicrosoft)" } if (!$Anchor -or $useSystemMailbox) { if (!$Tenant.initialDomainName -or $Tenant.initialDomainName -notlike '*onmicrosoft.com*') { $OnMicrosoft = (New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/domains?$top=999' -tenantid $tenantid -NoAuthCheck $NoAuthCheck | Where-Object -Property isInitial -EQ $true).id @@ -31,51 +73,100 @@ function New-ExoRequest ($tenantid, $cmdlet, $cmdParams, $useSystemMailbox, $Anc $OnMicrosoft = $Tenant.initialDomainName } $anchor = "UPN:SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}@$($OnMicrosoft)" + if ($cmdlet -in 'Set-AdminAuditLogConfig', 'Get-AdminAuditLogConfig', 'Enable-OrganizationCustomization', 'Get-OrganizationConfig', 'Set-OrganizationConfig') { $anchor = "UPN:SystemMailbox{8cc370d3-822a-4ab8-a926-bb94bd0641a9}@$($OnMicrosoft)" } } - #if the anchor is a GUID, try looking up the user. - if ($Anchor -match '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$') { - $Anchor = New-GraphGetRequest -uri "https://graph.microsoft.com/beta/users/$Anchor" -tenantid $tenantid -NoAuthCheck $NoAuthCheck - if ($Anchor) { - $Anchor = $Anchor.UserPrincipalName - } else { - Write-Error "Failed to find user with GUID $Anchor" - } + } + #if the anchor is a GUID, try looking up the user. + if ($Anchor -match '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$') { + Write-Verbose "Anchor is a GUID, looking up user. GUID is $Anchor" + $NewAnchor = New-GraphGetRequest -uri "https://graph.microsoft.com/beta/users/$Anchor/?`$select=UserPrincipalName,id" -tenantid $tenantid -NoAuthCheck $NoAuthCheck + if ($NewAnchor) { + $Anchor = $NewAnchor.UserPrincipalName + Write-Verbose "Found GUID, using $Anchor" + } else { + Write-Error "Failed to find user with GUID $Anchor" } } - Write-Host "Using $Anchor" + + Write-Verbose "Using $Anchor" + $Headers = @{ - Authorization = "Bearer $($token.access_token)" - Prefer = 'odata.maxpagesize = 1000' - 'parameter-based-routing' = $true - 'X-AnchorMailbox' = $anchor + Authorization = $Token.Authorization + Prefer = 'odata.maxpagesize=1000' + 'X-AnchorMailbox' = $anchor + } + # Compliance API trickery. Capture Location headers on redirect, extract subdomain and prepend to compliance URL + if ($Compliance.IsPresent) { + if (!$Tenant.ComplianceUrl) { + Write-Verbose "Getting Compliance URL for $($tenant.defaultDomainName)" + $URL = "$Resource/adminapi/$ApiVersion/$($tenant.customerId)/EXOBanner('AutogenSession')?Version=$ModuleVersion" + Invoke-RestMethod -ResponseHeadersVariable ComplianceHeaders -MaximumRedirection 0 -ErrorAction SilentlyContinue -Uri $URL -Headers $Headers -SkipHttpErrorCheck | Out-Null + $RedirectedHost = ([System.Uri]($ComplianceHeaders.Location | Select-Object -First 1)).Host + $RedirectedHostname = '{0}.ps.compliance.protection.outlook.com' -f ($RedirectedHost -split '\.' | Select-Object -First 1) + $Resource = "https://$($RedirectedHostname)" + try { + $null = [System.Uri]$Resource + $Tenant | Add-Member -MemberType NoteProperty -Name ComplianceUrl -Value $Resource + $TenantTable = Get-CIPPTable -tablename 'Tenants' + Add-CIPPAzDataTableEntity @TenantTable -Entity $Tenant -Force + } catch { + Write-Error "Failed to get the Compliance URL for $($tenant.defaultDomainName), invalid URL - check the Anchor and try again." + return + } + } else { + $Resource = $Tenant.ComplianceUrl + } + Write-Verbose "Redirecting to $Resource" } - try { - if ($Select) { $Select = "`$select=$Select" } - $URL = "https://outlook.office365.com/adminapi/beta/$($tenant.customerId)/InvokeCommand?$Select" - - $ReturnedData = - do { - $Return = Invoke-RestMethod $URL -Method POST -Body $ExoBody -Headers $Headers -ContentType 'application/json; charset=utf-8' - $URL = $Return.'@odata.nextLink' - $Return - } until ($null -eq $URL) - - if ($ReturnedData.'@adminapi.warnings' -and $ReturnedData.value -eq $null) { - $ReturnedData.value = $ReturnedData.'@adminapi.warnings' + + if ($PSCmdlet.ParameterSetName -eq 'AvailableCmdlets') { + $Headers.CommandName = '*' + $URL = "$Resource/adminapi/v1.0/$($tenant.customerId)/EXOModuleFile?Version=$ModuleVersion" + Write-Verbose "GET [ $URL ]" + return (Invoke-RestMethod -Uri $URL -Headers $Headers).value.exportedCmdlets -split ',' | Where-Object { $_ } | Sort-Object + } + + if ($PSCmdlet.ParameterSetName -eq 'ExoRequest') { + try { + if ($Select) { $Select = "?`$select=$Select" } + $URL = "$Resource/adminapi/$ApiVersion/$($tenant.customerId)/InvokeCommand$Select" + + Write-Verbose "POST [ $URL ]" + $ReturnedData = do { + $ExoRequestParams = @{ + Uri = $URL + Method = 'POST' + Body = $ExoBody + Headers = $Headers + ContentType = 'application/json' + } + + $Return = Invoke-RestMethod @ExoRequestParams -ResponseHeadersVariable ResponseHeaders + $URL = $Return.'@odata.nextLink' + $Return + } until ($null -eq $URL) + + Write-Verbose ($ResponseHeaders | ConvertTo-Json) + if ($ReturnedData.'@adminapi.warnings' -and $ReturnedData.value -eq $null) { + $ReturnedData.value = $ReturnedData.'@adminapi.warnings' + } + } catch { + $ErrorMess = $($_.Exception.Message) + try { + $ReportedError = ($_.ErrorDetails.Message | ConvertFrom-Json -ErrorAction SilentlyContinue) + $Message = if ($ReportedError.error.details.message) { + $ReportedError.error.details.message + } elseif ($ReportedError.error.innererror) { + $ReportedError.error.innererror.internalException.message + } elseif ($ReportedError.error.message) { $ReportedError.error.message } + } catch { $Message = $_.ErrorDetails } + if ($null -eq $Message) { $Message = $ErrorMess } + throw $Message } - } catch { - $ErrorMess = $($_.Exception.Message) - $ReportedError = ($_.ErrorDetails | ConvertFrom-Json -ErrorAction SilentlyContinue) - $Message = if ($ReportedError.error.details.message) { - $ReportedError.error.details.message - } elseif ($ReportedError.error.message) { $ReportedError.error.message } - else { $ReportedError.error.innererror.internalException.message } - if ($null -eq $Message) { $Message = $ErrorMess } - throw $Message + return $ReturnedData.value } - return $ReturnedData.value } else { Write-Error 'Not allowed. You cannot manage your own tenant or tenants not under your scope' } -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/GraphHelper/New-GraphBulkRequest.ps1 b/Modules/CIPPCore/Public/GraphHelper/New-GraphBulkRequest.ps1 index ae2777fa2ac7..bbace99fdca5 100644 --- a/Modules/CIPPCore/Public/GraphHelper/New-GraphBulkRequest.ps1 +++ b/Modules/CIPPCore/Public/GraphHelper/New-GraphBulkRequest.ps1 @@ -23,7 +23,7 @@ function New-GraphBulkRequest { if (!$Tenant) { $Tenant = @{ GraphErrorCount = 0 - LastGraphError = $null + LastGraphError = '' PartitionKey = 'TenantFailed' RowKey = 'Failed' } @@ -54,14 +54,18 @@ function New-GraphBulkRequest { $Message = ($_.ErrorDetails.Message | ConvertFrom-Json -ErrorAction SilentlyContinue).error.message if ($null -eq $Message) { $Message = $($_.Exception.Message) } if ($Message -ne 'Request not applicable to target tenant.') { - $Tenant.LastGraphError = $Message + $Tenant.LastGraphError = $Message ?? '' $Tenant.GraphErrorCount++ Update-AzDataTableEntity @TenantsTable -Entity $Tenant } throw $Message } - $Tenant.LastGraphError = '' + if ($Tenant.PSObject.Properties.Name -notcontains 'LastGraphError') { + $Tenant | Add-Member -MemberType NoteProperty -Name 'LastGraphError' -Value '' -Force + } else { + $Tenant.LastGraphError = '' + } Update-AzDataTableEntity @TenantsTable -Entity $Tenant return $ReturnedData.responses diff --git a/Modules/CIPPCore/Public/GraphHelper/New-GraphGetRequest.ps1 b/Modules/CIPPCore/Public/GraphHelper/New-GraphGetRequest.ps1 index e5fe77f2e484..f2d95290f673 100644 --- a/Modules/CIPPCore/Public/GraphHelper/New-GraphGetRequest.ps1 +++ b/Modules/CIPPCore/Public/GraphHelper/New-GraphGetRequest.ps1 @@ -11,6 +11,7 @@ function New-GraphGetRequest { $noPagination, $NoAuthCheck, $skipTokenCache, + $Caller, [switch]$ComplexFilter, [switch]$CountOnly, [switch]$IncludeResponseHeaders @@ -36,7 +37,7 @@ function New-GraphGetRequest { if (!$Tenant) { $Tenant = @{ GraphErrorCount = 0 - LastGraphError = $null + LastGraphError = '' PartitionKey = 'TenantFailed' RowKey = 'Failed' } @@ -58,8 +59,11 @@ function New-GraphGetRequest { $Data.'@odata.count' $NextURL = $null } else { - if ($Data.PSObject.Properties.Name -contains 'value') { $data.value } else { ($Data) } + if ($Data.PSObject.Properties.Name -contains 'value') { $data.value } else { $Data } if ($noPagination) { + if ($Caller -eq 'Get-GraphRequestList') { + @{ 'nextLink' = $data.'@odata.nextLink' } + } $nextURL = $null } else { $NextPageUriFound = $false @@ -87,7 +91,11 @@ function New-GraphGetRequest { throw $Message } } until ([string]::IsNullOrEmpty($NextURL) -or $NextURL -is [object[]] -or ' ' -eq $NextURL) - $Tenant.LastGraphError = '' + if ($Tenant.PSObject.Properties.Name -notcontains 'LastGraphError') { + $Tenant | Add-Member -MemberType NoteProperty -Name 'LastGraphError' -Value '' -Force + } else { + $Tenant.LastGraphError = '' + } $Tenant.GraphErrorCount = 0 Update-AzDataTableEntity @TenantsTable -Entity $Tenant return $ReturnedData diff --git a/Modules/CIPPCore/Public/GraphHelper/New-TeamsRequest.ps1 b/Modules/CIPPCore/Public/GraphHelper/New-TeamsRequest.ps1 new file mode 100644 index 000000000000..64b85d354f46 --- /dev/null +++ b/Modules/CIPPCore/Public/GraphHelper/New-TeamsRequest.ps1 @@ -0,0 +1,23 @@ +function New-TeamsRequest { + [CmdletBinding()] + Param( + $TenantFilter, + $Cmdlet, + $CmdParams = @{}, + [switch]$AvailableCmdlets + ) + + if ($AvailableCmdlets) { + Get-Command -Module MicrosoftTeams | Select-Object Name + return + } + if (Get-Command -Module MicrosoftTeams -Name $Cmdlet) { + $TeamsToken = (Get-GraphToken -tenantid $TenantFilter -scope '48ac35b8-9aa8-4d74-927d-1f4a14a0b239/.default').Authorization -replace 'Bearer ' + $GraphToken = (Get-GraphToken -tenantid $TenantFilter).Authorization -replace 'Bearer ' + + $null = Connect-MicrosoftTeams -AccessTokens @($TeamsToken, $GraphToken) + & $Cmdlet @CmdParams + } else { + Write-Error "Cmdlet $Cmdlet not found in MicrosoftTeams module" + } +} diff --git a/Modules/CIPPCore/Public/GraphHelper/New-passwordString.ps1 b/Modules/CIPPCore/Public/GraphHelper/New-passwordString.ps1 index 5869c370108e..c8393455c326 100644 --- a/Modules/CIPPCore/Public/GraphHelper/New-passwordString.ps1 +++ b/Modules/CIPPCore/Public/GraphHelper/New-passwordString.ps1 @@ -23,7 +23,7 @@ function New-passwordString { $containsUppercase = $Password -cmatch '[A-Z]' $containsLowercase = $Password -cmatch '[a-z]' $containsDigit = $Password -cmatch '\d' - $containsSpecialChar = $Password -cmatch "[$%&*#]" + $containsSpecialChar = $Password -cmatch '[$%&*#]' $isComplex = $containsUppercase -and $containsLowercase -and $containsDigit -and $containsSpecialChar diff --git a/Modules/CIPPCore/Public/GraphHelper/Read-JwtAccessDetails.ps1 b/Modules/CIPPCore/Public/GraphHelper/Read-JwtAccessDetails.ps1 index 1fa4b612af40..ced968960b4b 100644 --- a/Modules/CIPPCore/Public/GraphHelper/Read-JwtAccessDetails.ps1 +++ b/Modules/CIPPCore/Public/GraphHelper/Read-JwtAccessDetails.ps1 @@ -32,7 +32,7 @@ function Read-JwtAccessDetails { # Convert base64 to json to object $tokenByteArray = [System.Convert]::FromBase64String($tokenPayload) - $tokenArray = [System.Text.Encoding]::ASCII.GetString($tokenByteArray) + $tokenArray = [System.Text.Encoding]::UTF8.GetString($tokenByteArray) $TokenObj = $tokenArray | ConvertFrom-Json # Convert token details to human readable diff --git a/Modules/CIPPCore/Public/GraphHelper/Write-CippFunctionStats.ps1 b/Modules/CIPPCore/Public/GraphHelper/Write-CippFunctionStats.ps1 index f73051f931a6..b8a2b05ed80c 100644 --- a/Modules/CIPPCore/Public/GraphHelper/Write-CippFunctionStats.ps1 +++ b/Modules/CIPPCore/Public/GraphHelper/Write-CippFunctionStats.ps1 @@ -6,8 +6,8 @@ function Write-CippFunctionStats { Param( [string]$FunctionType, $Entity, - $Start, - $End, + [datetime]$Start, + [datetime]$End, [string]$ErrorMsg = '' ) try { @@ -21,20 +21,25 @@ function Write-CippFunctionStats { # Flatten data to json string $StatEntity.PartitionKey = $FunctionType $StatEntity.RowKey = $RowKey - $StatEntity.Start = $Start - $StatEntity.End = $End + $StatEntity.Start = $Start.ToUniversalTime() + $StatEntity.End = $End.ToUniversalTime() $StatEntity.Duration = $Duration $StatEntity.DurationMS = $DurationMS $StatEntity.ErrorMsg = $ErrorMsg $Entity = [PSCustomObject]$Entity foreach ($Property in $Entity.PSObject.Properties.Name) { - if ($Entity.$Property.GetType().Name -in ('Hashtable', 'PSCustomObject', 'OrderedHashtable')) { - $StatEntity.$Property = [string]($Entity.$Property | ConvertTo-Json -Compress) - } elseif ($Property -notin ('ETag', 'RowKey', 'PartitionKey', 'Timestamp', 'LastRefresh')) { - $StatEntity.$Property = $Entity.$Property + if ($Entity.$Property) { + if ($Entity.$Property.GetType().Name -in ('Hashtable', 'PSCustomObject', 'OrderedHashtable')) { + $StatEntity.$Property = [string]($Entity.$Property | ConvertTo-Json -Compress) + } elseif ($Entity.$Property.GetType().Name -eq 'DateTime' -and $Entity.$Property.Kind -eq 'Local') { + $StatEntity.$Property = $Entity.$Property.ToUniversalTime() + } elseif ($Property -notin ('ETag', 'RowKey', 'PartitionKey', 'Timestamp', 'LastRefresh')) { + $StatEntity.$Property = $Entity.$Property + } } } $StatEntity = [PSCustomObject]$StatEntity + Add-CIPPAzDataTableEntity @Table -Entity $StatEntity -Force } catch { Write-Host "Exception logging stats $($_.Exception.Message)" diff --git a/Modules/CIPPCore/Public/GraphHelper/Write-LogMessage.ps1 b/Modules/CIPPCore/Public/GraphHelper/Write-LogMessage.ps1 index 08b06d792cc6..27560afaa984 100644 --- a/Modules/CIPPCore/Public/GraphHelper/Write-LogMessage.ps1 +++ b/Modules/CIPPCore/Public/GraphHelper/Write-LogMessage.ps1 @@ -25,7 +25,6 @@ function Write-LogMessage { if (!$tenant) { $tenant = 'None' } if (!$username) { $username = 'CIPP' } if ($sev -eq 'Debug' -and $env:DebugMode -ne $true) { - Write-Information 'Not writing to log file - Debug mode is not enabled.' return } $PartitionKey = (Get-Date -UFormat '%Y%m%d').ToString() @@ -36,8 +35,9 @@ function Write-LogMessage { 'Username' = [string]$username 'Severity' = [string]$sev 'SentAsAlert' = $false - 'PartitionKey' = $PartitionKey - 'RowKey' = ([guid]::NewGuid()).ToString() + 'PartitionKey' = [string]$PartitionKey + 'RowKey' = [string]([guid]::NewGuid()).ToString() + 'FunctionNode' = [string]$env:WEBSITE_SITE_NAME 'LogData' = [string]$LogData } @@ -48,4 +48,4 @@ function Write-LogMessage { $Table.Entity = $TableRow Add-CIPPAzDataTableEntity @Table | Out-Null -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/GraphRequests/Get-GraphRequestList.ps1 b/Modules/CIPPCore/Public/GraphRequests/Get-GraphRequestList.ps1 index 20620029e0e9..d32c1ff87f34 100644 --- a/Modules/CIPPCore/Public/GraphRequests/Get-GraphRequestList.ps1 +++ b/Modules/CIPPCore/Public/GraphRequests/Get-GraphRequestList.ps1 @@ -48,9 +48,10 @@ function Get-GraphRequestList { #> [CmdletBinding()] Param( - [string]$TenantFilter = $env:TenantId, + [string]$TenantFilter = $env:TenantID, [Parameter(Mandatory = $true)] [string]$Endpoint, + [string]$nextLink, [hashtable]$Parameters = @{}, [string]$QueueId, [string]$CippLink, @@ -63,7 +64,8 @@ function Get-GraphRequestList { [switch]$CountOnly, [switch]$NoAuthCheck, [switch]$ReverseTenantLookup, - [string]$ReverseTenantLookupProperty = 'tenantId' + [string]$ReverseTenantLookupProperty = 'tenantId', + [boolean]$AsApp = $false ) $SingleTenantThreshold = 8000 @@ -98,7 +100,6 @@ function Get-GraphRequestList { tenantid = $TenantFilter ComplexFilter = $true } - if ($NoPagination.IsPresent) { $GraphRequest.noPagination = $NoPagination.IsPresent } @@ -108,6 +109,9 @@ function Get-GraphRequestList { if ($NoAuthCheck.IsPresent) { $GraphRequest.noauthcheck = $NoAuthCheck.IsPresent } + if ($AsApp) { + $GraphRequest.asApp = $AsApp + } if ($Parameters.'$count' -and !$SkipCache.IsPresent -and !$NoPagination.IsPresent) { $Count = New-GraphGetRequest @GraphRequest -CountOnly -ErrorAction Stop if ($CountOnly.IsPresent) { return $Count } @@ -172,14 +176,18 @@ function Get-GraphRequestList { NoPagination = $using:NoPagination.IsPresent ReverseTenantLookupProperty = $using:ReverseTenantLookupProperty ReverseTenantLookup = $using:ReverseTenantLookup.IsPresent + NoAuthCheck = $using:NoAuthCheck.IsPresent + AsApp = $using:AsApp SkipCache = $true } try { + $DefaultDomainName = $_.defaultDomainName + Write-Host "Default domain name is $DefaultDomainName" Get-GraphRequestList @GraphRequestParams | Select-Object *, @{l = 'Tenant'; e = { $_.defaultDomainName } }, @{l = 'CippStatus'; e = { 'Good' } } } catch { [PSCustomObject]@{ - Tenant = $_.defaultDomainName + Tenant = $DefaultDomainName CippStatus = "Could not connect to tenant. $($_.Exception.message)" } } @@ -216,11 +224,11 @@ function Get-GraphRequestList { PartitionKey = $PartitionKey NoPagination = $NoPagination.IsPresent NoAuthCheck = $NoAuthCheck.IsPresent + AsApp = $AsApp ReverseTenantLookupProperty = $ReverseTenantLookupProperty ReverseTenantLookup = $ReverseTenantLookup.IsPresent } - #Push-OutputBinding -Name QueueItem -Value $QueueTenant } $InputObject = @{ @@ -271,8 +279,6 @@ function Get-GraphRequestList { } $InstanceId = Start-NewOrchestration -FunctionName 'CIPPOrchestrator' -InputObject ($InputObject | ConvertTo-Json -Depth 5 -Compress) - #Push-OutputBinding -Name QueueItem -Value $QueueTenant - [PSCustomObject]@{ QueueMessage = ('Loading {0} rows for {1}. Please check back after the job completes' -f $Count, $TenantFilter) QueueId = $Queue.RowKey @@ -283,14 +289,24 @@ function Get-GraphRequestList { } if (!$QueueThresholdExceeded) { - $GraphRequestResults = New-GraphGetRequest @GraphRequest -ErrorAction Stop | Select-Object *, @{l = 'Tenant'; e = { $TenantFilter } }, @{l = 'CippStatus'; e = { 'Good' } } + #nextLink should ONLY be used in direct calls with manual pagination. It should not be used in queueing + if ($nextLink) { $GraphRequest.uri = $nextLink } + + $GraphRequestResults = New-GraphGetRequest @GraphRequest -Caller 'Get-GraphRequestList' -ErrorAction Stop + $GraphRequestResults = $GraphRequestResults | Select-Object *, @{n = 'Tenant'; e = { $TenantFilter } }, @{n = 'CippStatus'; e = { 'Good' } } + if ($ReverseTenantLookup -and $GraphRequestResults) { - $TenantInfo = $GraphRequestResults.$ReverseTenantLookupProperty | Sort-Object -Unique | ForEach-Object { - New-GraphGetRequest -uri "https://graph.microsoft.com/beta/tenantRelationships/findTenantInformationByTenantId(tenantId='$_')" -noauthcheck $true -asApp:$true -tenant $env:TenantId - } - foreach ($Result in $GraphRequestResults) { - $Result | Select-Object @{n = 'TenantInfo'; e = { $TenantInfo | Where-Object { $Result.$ReverseTenantLookupProperty -eq $_.tenantId } } }, * + $ReverseLookupRequests = $GraphRequestResults.$ReverseTenantLookupProperty | Sort-Object -Unique | ForEach-Object { + @{ + id = $_ + url = "tenantRelationships/findTenantInformationByTenantId(tenantId='$_')" + method = 'GET' + } } + $TenantInfo = New-GraphBulkRequest -Requests @($ReverseLookupRequests) -tenantid $env:TenantID -NoAuthCheck $true -asapp $true + + $GraphRequestResults | Select-Object @{n = 'TenantInfo'; e = { Get-GraphBulkResultByID -Results @($TenantInfo) -ID $_.$ReverseTenantLookupProperty } }, * + } else { $GraphRequestResults } @@ -306,4 +322,4 @@ function Get-GraphRequestList { $_.Data | ConvertFrom-Json } } -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/Invoke-CIPPOffboardingJob.ps1 b/Modules/CIPPCore/Public/Invoke-CIPPOffboardingJob.ps1 index 70244fc0ff3b..2de463c0c811 100644 --- a/Modules/CIPPCore/Public/Invoke-CIPPOffboardingJob.ps1 +++ b/Modules/CIPPCore/Public/Invoke-CIPPOffboardingJob.ps1 @@ -12,7 +12,7 @@ function Invoke-CIPPOffboardingJob { if ($Options -is [string]) { $Options = $Options | ConvertFrom-Json } - $userid = (New-GraphGetRequest -uri "https://graph.microsoft.com/beta/users/$($username)" -tenantid $Tenantfilter).id + $userid = (New-GraphGetRequest -uri "https://graph.microsoft.com/beta/users/$($username)?`$select=id" -tenantid $Tenantfilter).id Write-Host "Running offboarding job for $username with options: $($Options | ConvertTo-Json -Depth 10)" $Return = switch ($Options) { { $_.'ConvertToShared' -eq 'true' } { @@ -50,14 +50,15 @@ function Invoke-CIPPOffboardingJob { Set-CIPPOutOfOffice -tenantFilter $tenantFilter -userid $username -InternalMessage $Options.OOO -ExternalMessage $Options.OOO -ExecutingUser $ExecutingUser -APIName $APIName -state 'Enabled' } { $_.'forward' -ne '' } { - if (!$options.keepcopy) { + if (!$Options.keepCopy) { Set-CIPPForwarding -userid $userid -username $username -tenantFilter $Tenantfilter -Forward $Options.forward -ExecutingUser $ExecutingUser -APIName $APIName } else { - Set-CIPPForwarding -userid $userid -username $username -tenantFilter $Tenantfilter -Forward $Options.forward -KeepCopy [boolean]$Options.keepCopy -ExecutingUser $ExecutingUser -APIName $APIName + $KeepCopy = [boolean]$Options.keepCopy + Set-CIPPForwarding -userid $userid -username $username -tenantFilter $Tenantfilter -Forward $Options.forward -KeepCopy $KeepCopy -ExecutingUser $ExecutingUser -APIName $APIName } } { $_.'RemoveLicenses' -eq 'true' } { - Remove-CIPPLicense -userid $userid -username $Username -tenantFilter $Tenantfilter -ExecutingUser $ExecutingUser -APIName $APIName + Remove-CIPPLicense -userid $userid -username $Username -tenantFilter $Tenantfilter -ExecutingUser $ExecutingUser -APIName $APIName -Schedule } { $_.'Deleteuser' -eq 'true' } { @@ -66,7 +67,7 @@ function Invoke-CIPPOffboardingJob { { $_.'removeRules' -eq 'true' } { Write-Host "Removing rules for $username" - Remove-CIPPRules -userid $userid -username $Username -tenantFilter $Tenantfilter -ExecutingUser $ExecutingUser -APIName $APIName + Remove-CIPPMailboxRule -userid $userid -username $Username -tenantFilter $Tenantfilter -ExecutingUser $ExecutingUser -APIName $APIName -RemoveAllRules } { $_.'removeMobile' -eq 'true' } { @@ -80,12 +81,22 @@ function Invoke-CIPPOffboardingJob { Remove-CIPPMailboxPermissions -PermissionsLevel @('FullAccess', 'SendAs', 'SendOnBehalf') -userid 'AllUsers' -AccessUser $UserName -TenantFilter $TenantFilter -APIName $APINAME -ExecutingUser $ExecutingUser } else { - $object = [PSCustomObject]@{ - TenantFilter = $tenantFilter - User = $username - executingUser = $ExecutingUser + $Queue = New-CippQueueEntry -Name "Offboarding - Mailbox Permissions: $Username" -TotalTasks 1 + $InputObject = [PSCustomObject]@{ + Batch = @( + [PSCustomObject]@{ + 'FunctionName' = 'ExecOffboardingMailboxPermissions' + 'TenantFilter' = $TenantFilter + 'User' = $Username + 'ExecutingUser' = $ExecutingUser + 'APINAME' = $APINAME + 'QueueId' = $Queue.RowKey + } + ) + OrchestratorName = "OffboardingMailboxPermissions_$Username" + SkipLog = $true } - Push-OutputBinding -Name offboardingmailbox -Value $object + $null = Start-NewOrchestration -FunctionName CIPPOrchestrator -InputObject ($InputObject | ConvertTo-Json -Depth 10) "Removal of permissions queued. This task will run in the background and send it's results to the logbook." } } diff --git a/Modules/CIPPCore/Public/Invoke-CIPPStandardsRun.ps1 b/Modules/CIPPCore/Public/Invoke-CIPPStandardsRun.ps1 index dee975be7ca1..0c1f3b3df1d3 100644 --- a/Modules/CIPPCore/Public/Invoke-CIPPStandardsRun.ps1 +++ b/Modules/CIPPCore/Public/Invoke-CIPPStandardsRun.ps1 @@ -3,12 +3,20 @@ function Invoke-CIPPStandardsRun { [CmdletBinding()] param( [Parameter(Mandatory = $false)] - [string]$TenantFilter = 'allTenants' + [string]$TenantFilter = 'allTenants', + [switch]$Force ) Write-Host "Starting process for standards - $($tenantFilter)" $AllTasks = Get-CIPPStandards -TenantFilter $TenantFilter + if ($Force.IsPresent) { + Write-Host 'Clearing Rerun Cache' + foreach ($Task in $AllTasks) { + $null = Test-CIPPRerun -Type Standard -Tenant $Task.Tenant -Settings @{} -API $Task.Standard + } + } + #For each item in our object, run the queue. $Queue = New-CippQueueEntry -Name "Applying Standards ($TenantFilter)" -TotalTasks ($AllTasks | Measure-Object).Count @@ -26,4 +34,4 @@ function Invoke-CIPPStandardsRun { $InstanceId = Start-NewOrchestration -FunctionName 'CIPPOrchestrator' -InputObject ($InputObject | ConvertTo-Json -Depth 5 -Compress) Write-Host "Started orchestration with ID = '$InstanceId'" #$Orchestrator = New-OrchestrationCheckStatusResponse -Request $Request -InstanceId $InstanceId -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/Invoke-RemoveAPDevice.ps1 b/Modules/CIPPCore/Public/Invoke-RemoveAPDevice.ps1 index 1c474b20a44f..db939b3ee098 100644 --- a/Modules/CIPPCore/Public/Invoke-RemoveAPDevice.ps1 +++ b/Modules/CIPPCore/Public/Invoke-RemoveAPDevice.ps1 @@ -20,19 +20,20 @@ Function Invoke-RemoveAPDevice { $Deviceid = $Request.Query.ID try { - if ($TenantFilter -eq $null -or $TenantFilter -eq 'null') { - $GraphRequest = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceManagement/windowsAutopilotDeviceIdentities/$Deviceid" -type DELETE + if ($null -eq $TenantFilter -or $TenantFilter -eq 'null') { + $null = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceManagement/windowsAutopilotDeviceIdentities/$Deviceid" -type DELETE } else { - $GraphRequest = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceManagement/windowsAutopilotDeviceIdentities/$Deviceid" -tenantid $TenantFilter -type DELETE + $null = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceManagement/windowsAutopilotDeviceIdentities/$Deviceid" -tenantid $TenantFilter -type DELETE } Write-LogMessage -user $request.headers.'x-ms-client-principal' -tenant $TenantFilter -API $APINAME -message "Deleted autopilot device $Deviceid" -Sev 'Info' $body = [pscustomobject]@{'Results' = 'Successfully deleted the autopilot device' } } catch { - Write-LogMessage -user $request.headers.'x-ms-client-principal' -tenant $TenantFilter -API $APINAME -message "Autopilot Delete API failed for $deviceid. The error is: $($_.Exception.Message)" -Sev 'Error' - $body = [pscustomobject]@{'Results' = "Failed to delete device: $($_.Exception.Message)" } + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $request.headers.'x-ms-client-principal' -tenant $TenantFilter -API $APINAME -message "Autopilot Delete API failed for $deviceid. The error is: $($ErrorMessage.NormalizedError)" -Sev 'Error' -LogData $ErrorMessage + $body = [pscustomobject]@{'Results' = "Failed to delete device: $($ErrorMessage.NormalizedError)" } } #force a sync, this can give "too many requests" if deleleting a bunch of devices though. - $GraphRequest = New-GraphPOSTRequest -uri 'https://graph.microsoft.com/beta/deviceManagement/windowsAutopilotSettings/sync' -tenantid $TenantFilter -type POST -body '{}' + $null = New-GraphPOSTRequest -uri 'https://graph.microsoft.com/beta/deviceManagement/windowsAutopilotSettings/sync' -tenantid $TenantFilter -type POST -body '{}' # Associate values to output bindings by calling 'Push-OutputBinding'. Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ diff --git a/Modules/CIPPCore/Public/Invoke-RemoveApp.ps1 b/Modules/CIPPCore/Public/Invoke-RemoveApp.ps1 index b154d77568eb..10430868b406 100644 --- a/Modules/CIPPCore/Public/Invoke-RemoveApp.ps1 +++ b/Modules/CIPPCore/Public/Invoke-RemoveApp.ps1 @@ -11,7 +11,8 @@ Function Invoke-RemoveApp { param($Request, $TriggerMetadata) $APIName = $TriggerMetadata.FunctionName - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + $User = $request.headers.'x-ms-client-principal' + Write-LogMessage -user $User -API $APINAME -message 'Accessed this API' -Sev 'Debug' # Interact with query parameters or the body of the request. $TenantFilter = $Request.Query.TenantFilter @@ -19,12 +20,13 @@ Function Invoke-RemoveApp { if (!$policyId) { exit } try { #$unAssignRequest = New-GraphPostRequest -uri "https://graph.microsoft.com/beta/deviceManagement/configurationPolicies('$($policyId)')/assign" -type POST -Body '{"assignments":[]}' -tenant $TenantFilter - $GraphRequest = New-GraphPostRequest -uri "https://graph.microsoft.com/beta/deviceAppManagement/mobileApps/$($policyId)" -type DELETE -tenant $TenantFilter - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Deleted $policyId" -Sev 'Info' -tenant $TenantFilter + $null = New-GraphPostRequest -uri "https://graph.microsoft.com/beta/deviceAppManagement/mobileApps/$($policyId)" -type DELETE -tenant $TenantFilter + Write-LogMessage -user $User -API $APINAME -message "Deleted $policyId" -Sev 'Info' -tenant $TenantFilter $body = [pscustomobject]@{'Results' = 'Successfully deleted the application' } } catch { - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Could not delete app $policyId. $($_.Exception.Message)" -Sev 'Error' -tenant $TenantFilter - $body = [pscustomobject]@{'Results' = "Could not delete this application: $($_.Exception.Message)" } + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $User -API $APINAME -message "Could not delete app $policyId. $($ErrorMessage.NormalizedError)" -Sev 'Error' -tenant $TenantFilter -LogData $ErrorMessage + $body = [pscustomobject]@{'Results' = "Could not delete this application: $($ErrorMessage.NormalizedError)" } } diff --git a/Modules/CIPPCore/Public/Invoke-RemoveBPATemplate.ps1 b/Modules/CIPPCore/Public/Invoke-RemoveBPATemplate.ps1 index b9ae2a8c13e1..6e247411b394 100644 --- a/Modules/CIPPCore/Public/Invoke-RemoveBPATemplate.ps1 +++ b/Modules/CIPPCore/Public/Invoke-RemoveBPATemplate.ps1 @@ -11,7 +11,8 @@ Function Invoke-RemoveBPATemplate { param($Request, $TriggerMetadata) $APIName = $TriggerMetadata.FunctionName - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + $User = $request.headers.'x-ms-client-principal' + Write-LogMessage -user $User -API $APINAME -message 'Accessed this API' -Sev 'Debug' $ID = $request.query.TemplateName try { @@ -20,11 +21,12 @@ Function Invoke-RemoveBPATemplate { $Filter = "PartitionKey eq 'BPATemplate' and RowKey eq '$id'" $ClearRow = Get-CIPPAzDataTableEntity @Table -Filter $Filter -Property PartitionKey, RowKey Remove-AzDataTableEntity @Table -Entity $clearRow - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Removed BPA Template with ID $ID." -Sev 'Info' + Write-LogMessage -user $User -API $APINAME -message "Removed BPA Template with ID $ID." -Sev 'Info' $body = [pscustomobject]@{'Results' = 'Successfully removed BPA Template' } } catch { - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Failed to remove BPA template $ID. $($_.Exception.Message)" -Sev 'Error' - $body = [pscustomobject]@{'Results' = "Failed to remove template: $($_.Exception.Message)" } + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $User -API $APINAME -message "Failed to remove BPA template $ID. $($ErrorMessage.NormalizedError)" -Sev 'Error' -LogData $ErrorMessage + $body = [pscustomobject]@{'Results' = "Failed to remove template: $($ErrorMessage.NormalizedError)" } } diff --git a/Modules/CIPPCore/Public/Invoke-RemoveCAPolicy.ps1 b/Modules/CIPPCore/Public/Invoke-RemoveCAPolicy.ps1 index da878e3dbba2..f84ed7466f45 100644 --- a/Modules/CIPPCore/Public/Invoke-RemoveCAPolicy.ps1 +++ b/Modules/CIPPCore/Public/Invoke-RemoveCAPolicy.ps1 @@ -11,20 +11,22 @@ Function Invoke-RemoveCAPolicy { param($Request, $TriggerMetadata) $APIName = $TriggerMetadata.FunctionName - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + $User = $request.headers.'x-ms-client-principal' + Write-LogMessage -user $User -API $APINAME -message 'Accessed this API' -Sev 'Debug' # Interact with query parameters or the body of the request. $TenantFilter = $Request.Query.TenantFilter $policyId = $Request.Query.GUID if (!$policyId) { exit } try { - $GraphRequest = New-GraphPostRequest -uri "https://graph.microsoft.com/v1.0/identity/conditionalAccess/policies/$($policyId)" -type DELETE -tenant $TenantFilter - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Deleted CA Policy $policyId" -Sev 'Info' -tenant $TenantFilter + $null = New-GraphPostRequest -uri "https://graph.microsoft.com/v1.0/identity/conditionalAccess/policies/$($policyId)" -type DELETE -tenant $TenantFilter + Write-LogMessage -user $User -API $APINAME -message "Deleted CA Policy $policyId" -Sev 'Info' -tenant $TenantFilter $body = [pscustomobject]@{'Results' = 'Successfully deleted the policy' } } catch { - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Could not delete CA policy $policyId. $($_.Exception.Message)" -Sev 'Error' -tenant $TenantFilter - $body = [pscustomobject]@{'Results' = "Could not delete policy: $($_.Exception.Message)" } + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $User -API $APINAME -message "Could not delete CA policy $policyId. $($ErrorMessage.NormalizedError)" -Sev 'Error' -tenant $TenantFilter -LogData $ErrorMessage + $body = [pscustomobject]@{'Results' = "Could not delete policy: $($ErrorMessage.NormalizedError)" } } diff --git a/Modules/CIPPCore/Public/Invoke-RemoveCATemplate.ps1 b/Modules/CIPPCore/Public/Invoke-RemoveCATemplate.ps1 index 7ff2f2bf5df8..b3024895b3a5 100644 --- a/Modules/CIPPCore/Public/Invoke-RemoveCATemplate.ps1 +++ b/Modules/CIPPCore/Public/Invoke-RemoveCATemplate.ps1 @@ -11,20 +11,22 @@ Function Invoke-RemoveCATemplate { param($Request, $TriggerMetadata) $APIName = $TriggerMetadata.FunctionName - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' - + $User = $request.headers.'x-ms-client-principal' $ID = $request.query.id + Write-LogMessage -user $User -API $APINAME -message 'Accessed this API' -Sev 'Debug' + try { $Table = Get-CippTable -tablename 'templates' $Filter = "PartitionKey eq 'CATemplate' and RowKey eq '$id'" $ClearRow = Get-CIPPAzDataTableEntity @Table -Filter $Filter -Property PartitionKey, RowKey Remove-AzDataTableEntity @Table -Entity $clearRow - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Removed Conditional Access Template with ID $ID." -Sev 'Info' + Write-LogMessage -user $User -API $APINAME -message "Removed Conditional Access Template with ID $ID." -Sev 'Info' $body = [pscustomobject]@{'Results' = 'Successfully removed Conditional Access Template' } } catch { - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Failed to remove Conditional Access template $ID. $($_.Exception.Message)" -Sev 'Error' - $body = [pscustomobject]@{'Results' = "Failed to remove template: $($_.Exception.Message)" } + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $User -API $APINAME -message "Failed to remove Conditional Access template $ID. $($ErrorMessage.NormalizedError)" -Sev 'Error' + $body = [pscustomobject]@{'Results' = "Failed to remove template: $($ErrorMessage.NormalizedError)" } } diff --git a/Modules/CIPPCore/Public/Invoke-RemoveContact.ps1 b/Modules/CIPPCore/Public/Invoke-RemoveContact.ps1 index fc34c0073005..3635459a6f1b 100644 --- a/Modules/CIPPCore/Public/Invoke-RemoveContact.ps1 +++ b/Modules/CIPPCore/Public/Invoke-RemoveContact.ps1 @@ -11,8 +11,9 @@ Function Invoke-RemoveContact { param($Request, $TriggerMetadata) $APIName = $TriggerMetadata.FunctionName - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' $Tenantfilter = $request.Query.tenantfilter + $User = $request.headers.'x-ms-client-principal' + Write-LogMessage -user $User -API $APINAME -message 'Accessed this API' -Sev 'Debug' $Params = @{ @@ -22,12 +23,13 @@ Function Invoke-RemoveContact { try { $Params = @{ Identity = $request.query.GUID } - $GraphRequest = New-ExoRequest -tenantid $Tenantfilter -cmdlet 'Remove-MailContact' -cmdParams $params -UseSystemMailbox $true + $null = New-ExoRequest -tenantid $Tenantfilter -cmdlet 'Remove-MailContact' -cmdParams $params -UseSystemMailbox $true $Result = "Deleted $($Request.query.guid)" - Write-LogMessage -API 'TransportRules' -tenant $tenantfilter -message "Deleted contact $($Request.query.guid)" -sev Debug + Write-LogMessage -user $User -API $APIName -tenant $tenantfilter -message "Deleted contact $($Request.query.guid)" -sev Debug } catch { - $ErrorMessage = Get-NormalizedError -Message $_.Exception - $Result = $ErrorMessage + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $User -API $APIName -tenant $tenantfilter -message "Failed to delete contact $($Request.query.guid). $($ErrorMessage.NormalizedError)" -sev Error -LogData $ErrorMessage + $Result = $ErrorMessage.NormalizedError } # Associate values to output bindings by calling 'Push-OutputBinding'. Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ diff --git a/Modules/CIPPCore/Public/Invoke-RemoveExConnector.ps1 b/Modules/CIPPCore/Public/Invoke-RemoveExConnector.ps1 index 79b201c068b4..84cdfc72e91c 100644 --- a/Modules/CIPPCore/Public/Invoke-RemoveExConnector.ps1 +++ b/Modules/CIPPCore/Public/Invoke-RemoveExConnector.ps1 @@ -11,19 +11,20 @@ Function Invoke-RemoveExConnector { param($Request, $TriggerMetadata) $APIName = $TriggerMetadata.FunctionName - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + $User = $request.headers.'x-ms-client-principal' + Write-LogMessage -user $User -API $APINAME -message 'Accessed this API' -Sev 'Debug' $Tenantfilter = $request.Query.tenantfilter try { $Params = @{ Identity = $request.query.GUID } - $GraphRequest = New-ExoRequest -tenantid $Tenantfilter -cmdlet "Remove-$($Request.query.Type)Connector" -cmdParams $params -useSystemMailbox $true + $null = New-ExoRequest -tenantid $Tenantfilter -cmdlet "Remove-$($Request.query.Type)Connector" -cmdParams $params -useSystemMailbox $true $Result = "Deleted $($Request.query.guid)" - Write-LogMessage -API 'TransportRules' -tenant $tenantfilter -message "Deleted transport rule $($Request.query.guid)" -sev Debug - } - catch { - $ErrorMessage = Get-NormalizedError -Message $_.Exception - $Result = $ErrorMessage + Write-LogMessage -user $User -API $APIName -tenant $tenantfilter -message "Deleted transport rule $($Request.query.guid)" -sev Debug + } catch { + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $User -API $APIName -tenant $tenantfilter -message "Failed deleting transport rule $($Request.query.guid). Error:$($ErrorMessage.NormalizedError)" -Sev Error -LogData $ErrorMessage + $Result = $ErrorMessage.NormalizedError } # Associate values to output bindings by calling 'Push-OutputBinding'. Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ diff --git a/Modules/CIPPCore/Public/Invoke-RemoveExConnectorTemplate.ps1 b/Modules/CIPPCore/Public/Invoke-RemoveExConnectorTemplate.ps1 index b12df6a3d0aa..f603904daec4 100644 --- a/Modules/CIPPCore/Public/Invoke-RemoveExConnectorTemplate.ps1 +++ b/Modules/CIPPCore/Public/Invoke-RemoveExConnectorTemplate.ps1 @@ -11,7 +11,8 @@ Function Invoke-RemoveExConnectorTemplate { param($Request, $TriggerMetadata) $APIName = $TriggerMetadata.FunctionName - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + $User = $request.headers.'x-ms-client-principal' + Write-LogMessage -user $User -API $APINAME -message 'Accessed this API' -Sev 'Debug' $ID = $request.query.id try { @@ -19,11 +20,12 @@ Function Invoke-RemoveExConnectorTemplate { $Filter = "PartitionKey eq 'ExConnectorTemplate' and RowKey eq '$id'" $ClearRow = Get-CIPPAzDataTableEntity @Table -Filter $Filter -Property PartitionKey, RowKey Remove-AzDataTableEntity @Table -Entity $clearRow - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Removed Exchange Connector Template with ID $ID." -Sev 'Info' + Write-LogMessage -user $User -API $APINAME -message "Removed Exchange Connector Template with ID $ID." -Sev 'Info' $body = [pscustomobject]@{'Results' = 'Successfully removed Exchange Connector Template' } } catch { - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Failed to remove Exchange Connector Template $ID. $($_.Exception.Message)" -Sev 'Error' - $body = [pscustomobject]@{'Results' = "Failed to remove template: $($_.Exception.Message)" } + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $User -API $APINAME -message "Failed to remove Exchange Connector Template $ID. $($ErrorMessage.NormalizedError)" -Sev 'Error' -LogData $ErrorMessage + $body = [pscustomobject]@{'Results' = "Failed to remove template: $($ErrorMessage.NormalizedError)" } } diff --git a/Modules/CIPPCore/Public/Invoke-RemoveGroupTemplate.ps1 b/Modules/CIPPCore/Public/Invoke-RemoveGroupTemplate.ps1 index 85e4346a2b81..51d5d9d03ce6 100644 --- a/Modules/CIPPCore/Public/Invoke-RemoveGroupTemplate.ps1 +++ b/Modules/CIPPCore/Public/Invoke-RemoveGroupTemplate.ps1 @@ -11,7 +11,8 @@ Function Invoke-RemoveGroupTemplate { param($Request, $TriggerMetadata) $APIName = $TriggerMetadata.FunctionName - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + $User = $request.headers.'x-ms-client-principal' + Write-LogMessage -user $User -API $APINAME -message 'Accessed this API' -Sev 'Debug' $ID = $request.query.id try { @@ -22,11 +23,12 @@ Function Invoke-RemoveGroupTemplate { Write-Host $Filter $ClearRow = Get-CIPPAzDataTableEntity @Table -Filter $Filter -Property PartitionKey, RowKey Remove-AzDataTableEntity @Table -Entity $clearRow - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Removed Intune Template with ID $ID." -Sev 'Info' + Write-LogMessage -user $User -API $APINAME -message "Removed Intune Template with ID $ID." -Sev 'Info' $body = [pscustomobject]@{'Results' = 'Successfully removed Template' } } catch { - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Failed to remove intune template $ID. $($_.Exception.Message)" -Sev 'Error' - $body = [pscustomobject]@{'Results' = "Failed to remove template: $($_.Exception.Message)" } + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $User -API $APINAME -message "Failed to remove intune template $ID. $($ErrorMessage.NormalizedError)" -Sev 'Error' -LogData $ErrorMessage + $body = [pscustomobject]@{'Results' = "Failed to remove template: $($ErrorMessage.NormalizedError)" } } diff --git a/Modules/CIPPCore/Public/Invoke-RemoveIntuneTemplate.ps1 b/Modules/CIPPCore/Public/Invoke-RemoveIntuneTemplate.ps1 index f1b2c51ca2bf..4c66d297fc66 100644 --- a/Modules/CIPPCore/Public/Invoke-RemoveIntuneTemplate.ps1 +++ b/Modules/CIPPCore/Public/Invoke-RemoveIntuneTemplate.ps1 @@ -11,7 +11,8 @@ Function Invoke-RemoveIntuneTemplate { param($Request, $TriggerMetadata) $APIName = $TriggerMetadata.FunctionName - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + $User = $request.headers.'x-ms-client-principal' + Write-LogMessage -user $User -API $APINAME -message 'Accessed this API' -Sev 'Debug' $ID = $request.query.id try { @@ -22,14 +23,14 @@ Function Invoke-RemoveIntuneTemplate { Write-Host $Filter $ClearRow = Get-CIPPAzDataTableEntity @Table -Filter $Filter -Property PartitionKey, RowKey Remove-AzDataTableEntity @Table -Entity $clearRow - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Removed Intune Template with ID $ID." -Sev 'Info' + Write-LogMessage -user $User -API $APINAME -message "Removed Intune Template with ID $ID." -Sev 'Info' $body = [pscustomobject]@{'Results' = 'Successfully removed Intune Template' } } catch { - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Failed to remove intune template $ID. $($_.Exception.Message)" -Sev 'Error' - $body = [pscustomobject]@{'Results' = "Failed to remove template: $($_.Exception.Message)" } + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $User -API $APINAME -message "Failed to remove intune template $ID. $($ErrorMessage.NormalizedError)" -Sev 'Error' -LogData $ErrorMessage + $body = [pscustomobject]@{'Results' = "Failed to remove template: $($ErrorMessage.NormalizedError)" } } - # Associate values to output bindings by calling 'Push-OutputBinding'. Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ StatusCode = [HttpStatusCode]::OK diff --git a/Modules/CIPPCore/Public/Invoke-RemovePolicy.ps1 b/Modules/CIPPCore/Public/Invoke-RemovePolicy.ps1 index c7805fb46a48..aa94e6d3213c 100644 --- a/Modules/CIPPCore/Public/Invoke-RemovePolicy.ps1 +++ b/Modules/CIPPCore/Public/Invoke-RemovePolicy.ps1 @@ -11,7 +11,8 @@ Function Invoke-RemovePolicy { param($Request, $TriggerMetadata) $APIName = $TriggerMetadata.FunctionName - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + $User = $request.headers.'x-ms-client-principal' + Write-LogMessage -user $User -API $APINAME -message 'Accessed this API' -Sev 'Debug' # Interact with query parameters or the body of the request. $TenantFilter = $Request.Query.TenantFilter @@ -20,13 +21,14 @@ Function Invoke-RemovePolicy { try { #$unAssignRequest = New-GraphPostRequest -uri "https://graph.microsoft.com/beta/deviceManagement/configurationPolicies('$($policyId)')/assign" -type POST -Body '{"assignments":[]}' -tenant $TenantFilter - $GraphRequest = New-GraphPostRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$($Request.Query.URLName)('$($policyId)')" -type DELETE -tenant $TenantFilter - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Deleted $policyId" -Sev 'Info' -tenant $TenantFilter + $null = New-GraphPostRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$($Request.Query.URLName)('$($policyId)')" -type DELETE -tenant $TenantFilter + Write-LogMessage -user $User -API $APINAME -message "Deleted $policyId" -Sev 'Info' -tenant $TenantFilter $body = [pscustomobject]@{'Results' = 'Successfully deleted the policy' } } catch { - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Could not delete policy $policyId. $($_.Exception.Message)" -Sev 'Error' -tenant $TenantFilter - $body = [pscustomobject]@{'Results' = "Could not delete policy: $($_.Exception.Message)" } + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $User -API $APINAME -message "Could not delete policy $policyId. $($ErrorMessage.NormalizedError)" -Sev 'Error' -tenant $TenantFilter -LogData $ErrorMessage + $body = [pscustomobject]@{'Results' = "Could not delete policy: $($ErrorMessage.NormalizedError)" } } diff --git a/Modules/CIPPCore/Public/Invoke-RemoveQueuedApp.ps1 b/Modules/CIPPCore/Public/Invoke-RemoveQueuedApp.ps1 index 1e1d3fd4de14..f1de92bdeab7 100644 --- a/Modules/CIPPCore/Public/Invoke-RemoveQueuedApp.ps1 +++ b/Modules/CIPPCore/Public/Invoke-RemoveQueuedApp.ps1 @@ -11,7 +11,8 @@ Function Invoke-RemoveQueuedApp { param($Request, $TriggerMetadata) $APIName = $TriggerMetadata.FunctionName - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + $User = $request.headers.'x-ms-client-principal' + Write-LogMessage -user $User -API $APINAME -message 'Accessed this API' -Sev 'Debug' $ID = $request.query.id try { @@ -19,14 +20,14 @@ Function Invoke-RemoveQueuedApp { $Filter = "PartitionKey eq 'apps' and RowKey eq '$id'" $ClearRow = Get-CIPPAzDataTableEntity @Table -Filter $Filter -Property PartitionKey, RowKey Remove-AzDataTableEntity @Table -Entity $clearRow - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Removed application queue for $ID." -Sev 'Info' + Write-LogMessage -user $User -API $APINAME -message "Removed application queue for $ID." -Sev 'Info' $body = [pscustomobject]@{'Results' = 'Successfully removed from queue.' } } catch { - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Failed to remove application queue for $ID. $($_.Exception.Message)" -Sev 'Error' + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $User -API $APINAME -message "Failed to remove application queue for $ID. $($ErrorMessage.NormalizedError)" -Sev 'Error' -LogData $ErrorMessage $body = [pscustomobject]@{'Results' = 'Failed to remove standard)' } } - # Associate values to output bindings by calling 'Push-OutputBinding'. Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ StatusCode = [HttpStatusCode]::OK diff --git a/Modules/CIPPCore/Public/Invoke-RemoveSpamfilter.ps1 b/Modules/CIPPCore/Public/Invoke-RemoveSpamfilter.ps1 index d1d0160aaa34..736b834d0d72 100644 --- a/Modules/CIPPCore/Public/Invoke-RemoveSpamfilter.ps1 +++ b/Modules/CIPPCore/Public/Invoke-RemoveSpamfilter.ps1 @@ -11,7 +11,8 @@ Function Invoke-RemoveSpamfilter { param($Request, $TriggerMetadata) $APIName = $TriggerMetadata.FunctionName - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + $User = $request.headers.'x-ms-client-principal' + Write-LogMessage -user $User -API $APINAME -message 'Accessed this API' -Sev 'Debug' $Tenantfilter = $request.Query.tenantfilter $Params = @{ @@ -24,10 +25,10 @@ Function Invoke-RemoveSpamfilter { $cmdlet = 'Remove-HostedContentFilterPolicy' $null = New-ExoRequest -tenantid $Tenantfilter -cmdlet $cmdlet -cmdParams $params -useSystemmailbox $true $Result = "Deleted $($Request.query.name)" - Write-LogMessage -API 'TransportRules' -tenant $tenantfilter -message "Deleted transport rule $($Request.query.name)" -sev Debug + Write-LogMessage -user $User -API 'TransportRules' -tenant $tenantfilter -message "Deleted transport rule $($Request.query.name)" -sev Debug } catch { - $ErrorMessage = Get-NormalizedError -Message $_.Exception - Write-LogMessage -API 'TransportRules' -tenant $tenantfilter -message "Failed deleting transport rule $($Request.query.name). Error:$ErrorMessage" -Sev Error + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $User -API 'TransportRules' -tenant $tenantfilter -message "Failed deleting transport rule $($Request.query.name). Error:$($ErrorMessage.NormalizedError)" -Sev Error -LogData $ErrorMessage $Result = $ErrorMessage } # Associate values to output bindings by calling 'Push-OutputBinding'. diff --git a/Modules/CIPPCore/Public/Invoke-RemoveSpamfilterTemplate.ps1 b/Modules/CIPPCore/Public/Invoke-RemoveSpamfilterTemplate.ps1 index eaa19ff08df6..8e4f8d870eed 100644 --- a/Modules/CIPPCore/Public/Invoke-RemoveSpamfilterTemplate.ps1 +++ b/Modules/CIPPCore/Public/Invoke-RemoveSpamfilterTemplate.ps1 @@ -11,7 +11,8 @@ Function Invoke-RemoveSpamfilterTemplate { param($Request, $TriggerMetadata) $APIName = $TriggerMetadata.FunctionName - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + $User = $request.headers.'x-ms-client-principal' + Write-LogMessage -user $User -API $APINAME -message 'Accessed this API' -Sev 'Debug' $ID = $request.query.id try { @@ -19,11 +20,12 @@ Function Invoke-RemoveSpamfilterTemplate { $Filter = "PartitionKey eq 'SpamfilterTemplate' and RowKey eq '$id'" $ClearRow = Get-CIPPAzDataTableEntity @Table -Filter $Filter -Property PartitionKey, RowKey Remove-AzDataTableEntity @Table -Entity $clearRow - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Removed Transport Rule Template with ID $ID." -Sev 'Info' + Write-LogMessage -user $User -API $APINAME -message "Removed Transport Rule Template with ID $ID." -Sev 'Info' $body = [pscustomobject]@{'Results' = 'Successfully removed Transport Rule Template' } } catch { - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Failed to remove Transport Rule template $ID. $($_.Exception.Message)" -Sev 'Error' - $body = [pscustomobject]@{'Results' = "Failed to remove template: $($_.Exception.Message)" } + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $User -API $APINAME -message "Failed to remove Transport Rule template $ID. $($ErrorMessage.NormalizedError)" -Sev 'Error' -LogData $ErrorMessage + $body = [pscustomobject]@{'Results' = "Failed to remove template: $($ErrorMessage.NormalizedError)" } } diff --git a/Modules/CIPPCore/Public/Invoke-RemoveStandard.ps1 b/Modules/CIPPCore/Public/Invoke-RemoveStandard.ps1 index 88d7f21e3212..06f864c69222 100644 --- a/Modules/CIPPCore/Public/Invoke-RemoveStandard.ps1 +++ b/Modules/CIPPCore/Public/Invoke-RemoveStandard.ps1 @@ -11,7 +11,8 @@ Function Invoke-RemoveStandard { param($Request, $TriggerMetadata) $APIName = $TriggerMetadata.FunctionName - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + $User = $request.headers.'x-ms-client-principal' + Write-LogMessage -user $User -API $APINAME -message 'Accessed this API' -Sev 'Debug' $ID = $request.query.id try { @@ -19,12 +20,13 @@ Function Invoke-RemoveStandard { $Filter = "PartitionKey eq 'standards' and RowKey eq '$id'" $ClearRow = Get-CIPPAzDataTableEntity @Table -Filter $Filter -Property PartitionKey, RowKey Remove-AzDataTableEntity @Table -Entity $clearRow - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Removed standards for $ID." -Sev 'Info' + Write-LogMessage -user $User -API $APINAME -message "Removed standards for $ID." -Sev 'Info' $body = [pscustomobject]@{'Results' = 'Successfully removed standards deployment' } } catch { - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Failed to remove standard for $ID. $($_.Exception.Message)" -Sev 'Error' + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $User -API $APINAME -message "Failed to remove standard for $ID. $($ErrorMessage.NormalizedError)" -Sev 'Error' $body = [pscustomobject]@{'Results' = 'Failed to remove standard)' } } diff --git a/Modules/CIPPCore/Public/Invoke-RemoveStandardTemplate.ps1 b/Modules/CIPPCore/Public/Invoke-RemoveStandardTemplate.ps1 index b7c11bd2d584..a60e7fe39b3f 100644 --- a/Modules/CIPPCore/Public/Invoke-RemoveStandardTemplate.ps1 +++ b/Modules/CIPPCore/Public/Invoke-RemoveStandardTemplate.ps1 @@ -11,20 +11,22 @@ Function Invoke-RemoveStandardTemplate { param($Request, $TriggerMetadata) $APIName = $TriggerMetadata.FunctionName - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + $User = $request.headers.'x-ms-client-principal' + Write-LogMessage -user $User -API $APINAME -message 'Accessed this API' -Sev 'Debug' - $ID = $request.query.ID + $ID = $request.body.ID try { $Table = Get-CippTable -tablename 'templates' $Filter = "PartitionKey eq 'StandardsTemplate' and RowKey eq '$id'" $ClearRow = Get-CIPPAzDataTableEntity @Table -Filter $Filter -Property PartitionKey, RowKey Remove-AzDataTableEntity @Table -Entity $clearRow - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Removed Standards Template named $($ClearRow.name) and id $($id)" -Sev 'Info' + Write-LogMessage -user $User -API $APINAME -message "Removed Standards Template named $($ClearRow.name) and id $($id)" -Sev 'Info' $body = [pscustomobject]@{'Results' = 'Successfully removed Template' } } catch { - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Failed to remove Standards template $ID. $($_.Exception.Message)" -Sev 'Error' - $body = [pscustomobject]@{'Results' = "Failed to remove template: $($_.Exception.Message)" } + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $User -API $APINAME -message "Failed to remove Standards template $ID. $($ErrorMessage.NormalizedError)" -Sev 'Error' -LogData $ErrorMessage + $body = [pscustomobject]@{'Results' = "Failed to remove template: $($ErrorMessage.NormalizedError)" } } diff --git a/Modules/CIPPCore/Public/Invoke-RemoveTransportRule.ps1 b/Modules/CIPPCore/Public/Invoke-RemoveTransportRule.ps1 index aa358ad25202..8db570555836 100644 --- a/Modules/CIPPCore/Public/Invoke-RemoveTransportRule.ps1 +++ b/Modules/CIPPCore/Public/Invoke-RemoveTransportRule.ps1 @@ -11,7 +11,8 @@ Function Invoke-RemoveTransportRule { param($Request, $TriggerMetadata) $APIName = $TriggerMetadata.FunctionName - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + $User = $request.headers.'x-ms-client-principal' + Write-LogMessage -user $User -API $APINAME -message 'Accessed this API' -Sev 'Debug' $Tenantfilter = $request.Query.tenantfilter @@ -23,9 +24,10 @@ Function Invoke-RemoveTransportRule { $cmdlet = 'Remove-TransportRule' $null = New-ExoRequest -tenantid $Tenantfilter -cmdlet $cmdlet -cmdParams $params -UseSystemMailbox $true $Result = "Deleted $($Request.query.guid)" - Write-LogMessage -API 'TransportRules' -tenant $tenantfilter -message "Deleted transport rule $($Request.query.guid)" -sev Debug + Write-LogMessage -user $User -API $APIName -tenant $tenantfilter -message "Deleted transport rule $($Request.query.guid)" -sev Debug } catch { $ErrorMessage = Get-NormalizedError -Message $_.Exception + Write-LogMessage -user $User -API $APIName -tenant $tenantfilter -message "Failed deleting transport rule $($Request.query.guid). Error:$($ErrorMessage.NormalizedError)" -Sev Error -LogData $ErrorMessage $Result = $ErrorMessage } # Associate values to output bindings by calling 'Push-OutputBinding'. diff --git a/Modules/CIPPCore/Public/Invoke-RemoveTransportRuleTemplate.ps1 b/Modules/CIPPCore/Public/Invoke-RemoveTransportRuleTemplate.ps1 index 3510d02b34a2..f01c97da7adb 100644 --- a/Modules/CIPPCore/Public/Invoke-RemoveTransportRuleTemplate.ps1 +++ b/Modules/CIPPCore/Public/Invoke-RemoveTransportRuleTemplate.ps1 @@ -11,7 +11,8 @@ Function Invoke-RemoveTransportRuleTemplate { param($Request, $TriggerMetadata) $APIName = $TriggerMetadata.FunctionName - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + $User = $request.headers.'x-ms-client-principal' + Write-LogMessage -user $User -API $APINAME -message 'Accessed this API' -Sev 'Debug' $ID = $request.query.id try { @@ -19,11 +20,12 @@ Function Invoke-RemoveTransportRuleTemplate { $Filter = "PartitionKey eq 'TransportTemplate' and RowKey eq '$id'" $ClearRow = Get-CIPPAzDataTableEntity @Table -Filter $Filter -Property PartitionKey, RowKey Remove-AzDataTableEntity @Table -Entity $clearRow - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Removed Transport Rule Template with ID $ID." -Sev 'Info' + Write-LogMessage -user $User -API $APINAME -message "Removed Transport Rule Template with ID $ID." -Sev 'Info' $body = [pscustomobject]@{'Results' = 'Successfully removed Transport Rule Template' } } catch { - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Failed to remove Transport Rule template $ID. $($_.Exception.Message)" -Sev 'Error' - $body = [pscustomobject]@{'Results' = "Failed to remove template: $($_.Exception.Message)" } + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $User -API $APINAME -message "Failed to remove Transport Rule template $ID. $($ErrorMessage.NormalizedError)" -Sev 'Error' -LogData $ErrorMessage + $body = [pscustomobject]@{'Results' = "Failed to remove template: $($ErrorMessage.NormalizedError)" } } diff --git a/Modules/CIPPCore/Public/Invoke-RemoveUser.ps1 b/Modules/CIPPCore/Public/Invoke-RemoveUser.ps1 index 040278ba9d80..a018e2ffd710 100644 --- a/Modules/CIPPCore/Public/Invoke-RemoveUser.ps1 +++ b/Modules/CIPPCore/Public/Invoke-RemoveUser.ps1 @@ -11,20 +11,22 @@ Function Invoke-RemoveUser { param($Request, $TriggerMetadata) $APIName = $TriggerMetadata.FunctionName - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' + $User = $request.headers.'x-ms-client-principal' + Write-LogMessage -user $User -API $APINAME -message 'Accessed this API' -Sev 'Debug' # Interact with query parameters or the body of the request. $TenantFilter = $Request.Query.TenantFilter $userid = $Request.Query.ID if (!$userid) { exit } try { - $GraphRequest = New-GraphPostRequest -uri "https://graph.microsoft.com/beta/users/$($userid)" -type DELETE -tenant $TenantFilter - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Deleted $userid" -Sev 'Info' -tenant $TenantFilter + $null = New-GraphPostRequest -uri "https://graph.microsoft.com/beta/users/$($userid)" -type DELETE -tenant $TenantFilter + Write-LogMessage -user $User -API $APINAME -message "Deleted $userid" -Sev 'Info' -tenant $TenantFilter $body = [pscustomobject]@{'Results' = 'Successfully deleted the user.' } } catch { - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Could not delete user $userid. $($_.Exception.Message)" -Sev 'Error' -tenant $TenantFilter - $body = [pscustomobject]@{'Results' = "Could not delete user: $($_.Exception.Message)" } + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $User -API $APINAME -message "Could not delete user $userid. $($ErrorMessage.NormalizedError)" -Sev 'Error' -tenant $TenantFilter -LogData $ErrorMessage + $body = [pscustomobject]@{'Results' = "Could not delete user: $($ErrorMessage.NormalizedError)" } } diff --git a/Modules/CIPPCore/Public/New-CIPPAPIConfig.ps1 b/Modules/CIPPCore/Public/New-CIPPAPIConfig.ps1 index 47d111209e0f..d09e17561641 100644 --- a/Modules/CIPPCore/Public/New-CIPPAPIConfig.ps1 +++ b/Modules/CIPPCore/Public/New-CIPPAPIConfig.ps1 @@ -3,55 +3,54 @@ function New-CIPPAPIConfig { [CmdletBinding()] param ( - $APIName = "CIPP API Config", + $APIName = 'CIPP API Config', $ExecutingUser, $resetpassword ) $null = Connect-AzAccount -Identity - $currentapp = (Get-AzKeyVaultSecret -VaultName $ENV:WEBSITE_DEPLOYMENT_ID -Name "CIPPAPIAPP" -AsPlainText) + $VaultName = ($ENV:WEBSITE_DEPLOYMENT_ID -split '-')[0] + $currentapp = (Get-AzKeyVaultSecret -VaultName $VaultName -Name 'CIPPAPIAPP' -AsPlainText) $subscription = $($ENV:WEBSITE_OWNER_NAME).Split('+')[0] try { if ($currentapp) { $APIApp = New-GraphGetRequest -uri "https://graph.microsoft.com/v1.0/applications(appid='$($currentapp)')" -NoAuthCheck $true - } - else { + } else { $CreateBody = @" {"api":{"oauth2PermissionScopes":[{"adminConsentDescription":"Allow the application to access CIPP-API on behalf of the signed-in user.","adminConsentDisplayName":"Access CIPP-API","id":"ba7ffeff-96ea-4ac4-9822-1bcfee9adaa4","isEnabled":true,"type":"User","userConsentDescription":"Allow the application to access CIPP-API on your behalf.","userConsentDisplayName":"Access CIPP-API","value":"user_impersonation"}]},"displayName":"CIPP-API","requiredResourceAccess":[{"resourceAccess":[{"id":"e1fe6dd8-ba31-4d61-89e7-88639da4683d","type":"Scope"}],"resourceAppId":"00000003-0000-0000-c000-000000000000"}],"signInAudience":"AzureADMyOrg","web":{"homePageUrl":"https://cipp.app","implicitGrantSettings":{"enableAccessTokenIssuance":false,"enableIdTokenIssuance":true},"redirectUris":["https://$($ENV:Website_hostname)/.auth/login/aad/callback"]}} "@ - Write-Host "Creating app" - $APIApp = New-GraphPOSTRequest -uri "https://graph.microsoft.com/v1.0/applications" -NoAuthCheck $true -type POST -body $CreateBody - Write-Host "Creating password" - $APIPassword = New-GraphPOSTRequest -uri "https://graph.microsoft.com/v1.0/applications/$($APIApp.id)/addPassword" -NoAuthCheck $true -type POST -body "{`"passwordCredential`":{`"displayName`":`"Generated by API Setup`"}}" - Write-Host "Adding App URL" - $APIIdUrl = New-GraphPOSTRequest -uri "https://graph.microsoft.com/v1.0/applications/$($APIApp.id)" -NoAuthCheck $true -type PATCH -body "{`"identifierUris`":[`"api://$($APIApp.appId)`"]}" - Write-Host "Adding serviceprincipal" - $ServicePrincipal = New-GraphPOSTRequest -uri "https://graph.microsoft.com/v1.0/serviceprincipals" -NoAuthCheck $true -type POST -body "{`"accountEnabled`":true,`"appId`":`"$($APIApp.appId)`",`"displayName`":`"CIPP-API`",`"tags`":[`"WindowsAzureActiveDirectoryIntegratedApp`",`"AppServiceIntegratedApp`"]}" + Write-Host 'Creating app' + $APIApp = New-GraphPOSTRequest -uri 'https://graph.microsoft.com/v1.0/applications' -NoAuthCheck $true -type POST -body $CreateBody + Write-Host 'Creating password' + $APIPassword = New-GraphPOSTRequest -uri "https://graph.microsoft.com/v1.0/applications/$($APIApp.id)/addPassword" -NoAuthCheck $true -type POST -body "{`"passwordCredential`":{`"displayName`":`"Generated by API Setup`"}}" + Write-Host 'Adding App URL' + $APIIdUrl = New-GraphPOSTRequest -uri "https://graph.microsoft.com/v1.0/applications/$($APIApp.id)" -NoAuthCheck $true -type PATCH -body "{`"identifierUris`":[`"api://$($APIApp.appId)`"]}" + Write-Host 'Adding serviceprincipal' + $ServicePrincipal = New-GraphPOSTRequest -uri 'https://graph.microsoft.com/v1.0/serviceprincipals' -NoAuthCheck $true -type POST -body "{`"accountEnabled`":true,`"appId`":`"$($APIApp.appId)`",`"displayName`":`"CIPP-API`",`"tags`":[`"WindowsAzureActiveDirectoryIntegratedApp`",`"AppServiceIntegratedApp`"]}" } if ($resetpassword) { - Write-Host "Removing all old passwords" + Write-Host 'Removing all old passwords' $RemovePasswords = New-GraphPOSTRequest -type Patch -uri "https://graph.microsoft.com/v1.0/applications/$($APIApp.id)/" -body '{"passwordCredentials":[]}' -NoAuthCheck $true - $passwordDate = (Get-Date).ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ss.fffZ") - $APIPassword = New-GraphPOSTRequest -uri "https://graph.microsoft.com/v1.0/applications/$($APIApp.id)/addPassword" -NoAuthCheck $true -type POST -body "{`"passwordCredential`":{`"displayName`":`"Generated by API Setup`"}}" - Write-LogMessage -user $ExecutingUser -API $APINAME -tenant 'None '-message "Reset CIPP API Password." -Sev "info" - } - else { - $CurrentSettings = New-GraphGetRequest -uri "https://management.azure.com/subscriptions/$($subscription)/resourceGroups/$ENV:WEBSITE_RESOURCE_GROUP/providers/Microsoft.Web/sites/$ENV:WEBSITE_SITE_NAME/Config/authsettingsV2/list?api-version=2018-11-01" -NoAuthCheck $true -scope "https://management.azure.com/.default" - Write-Host "setting settings" + $passwordDate = (Get-Date).ToUniversalTime().ToString('yyyy-MM-ddTHH:mm:ss.fffZ') + $APIPassword = New-GraphPOSTRequest -uri "https://graph.microsoft.com/v1.0/applications/$($APIApp.id)/addPassword" -NoAuthCheck $true -type POST -body "{`"passwordCredential`":{`"displayName`":`"Generated by API Setup`"}}" + Write-LogMessage -user $ExecutingUser -API $APINAME -tenant 'None '-message 'Reset CIPP API Password.' -Sev 'info' + } else { + $CurrentSettings = New-GraphGetRequest -uri "https://management.azure.com/subscriptions/$($subscription)/resourceGroups/$ENV:WEBSITE_RESOURCE_GROUP/providers/Microsoft.Web/sites/$ENV:WEBSITE_SITE_NAME/Config/authsettingsV2/list?api-version=2018-11-01" -NoAuthCheck $true -scope 'https://management.azure.com/.default' + Write-Host 'setting settings' $currentSettings.properties.identityProviders.azureActiveDirectory = @{ registration = @{ clientId = $APIApp.appId - openIdIssuer = "https://sts.windows.net/$($ENV:TenantId)/v2.0" + openIdIssuer = "https://sts.windows.net/$($ENV:TenantID)/v2.0" } validation = @{ allowedAudiences = @("api://$($APIApp.appId)") } } $currentBody = ConvertTo-Json -Depth 15 -InputObject ($currentSettings | Select-Object Properties) - Write-Host "writing to Azure" - $SetAPIAuth = New-GraphPOSTRequest -type "PUT" -uri "https://management.azure.com/subscriptions/$($subscription)/resourceGroups/$ENV:WEBSITE_RESOURCE_GROUP/providers/Microsoft.Web/sites/$ENV:WEBSITE_SITE_NAME/Config/authsettingsV2?api-version=2018-11-01" -scope "https://management.azure.com/.default" -NoAuthCheck $true -body $currentBody + Write-Host 'writing to Azure' + $SetAPIAuth = New-GraphPOSTRequest -type 'PUT' -uri "https://management.azure.com/subscriptions/$($subscription)/resourceGroups/$ENV:WEBSITE_RESOURCE_GROUP/providers/Microsoft.Web/sites/$ENV:WEBSITE_SITE_NAME/Config/authsettingsV2?api-version=2018-11-01" -scope 'https://management.azure.com/.default' -NoAuthCheck $true -body $currentBody $null = Set-AzKeyVaultSecret -VaultName $ENV:WEBSITE_DEPLOYMENT_ID -Name 'CIPPAPIAPP' -SecretValue (ConvertTo-SecureString -String $APIApp.AppID -AsPlainText -Force) - Write-LogMessage -user $ExecutingUser -API $APINAME -tenant 'None '-message "Successfully setup CIPP-API Access." -Sev "info" + Write-LogMessage -user $ExecutingUser -API $APINAME -tenant 'None '-message 'Successfully setup CIPP-API Access.' -Sev 'info' } return @{ ApplicationID = $APIApp.AppId @@ -59,12 +58,12 @@ function New-CIPPAPIConfig { Results = "API Enabled. Your API URL is https://$($ENV:Website_hostname). Your Application ID is $($APIApp.AppId) and your Application Secret is $($APIPassword.secretText) - Copy these keys, they are only shown once." } - } - catch { - Write-LogMessage -user $ExecutingUser -API $APINAME -tenant 'None' -message "Failed to setup CIPP-API Access: $($_.Exception.Message) Linenumber: $($_.InvocationInfo.ScriptLineNumber)" -Sev "Error" + } catch { + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $ExecutingUser -API $APINAME -tenant 'None' -message "Failed to setup CIPP-API Access: $($ErrorMessage.NormalizedError) Linenumber: $($_.InvocationInfo.ScriptLineNumber)" -Sev 'Error' -LogData $ErrorMessage return @{ - Results = " but could not set API configuration: $($_.Exception.Message)" + Results = " but could not set API configuration: $($ErrorMessage.NormalizedError)" } } -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/New-CIPPAlertTemplate.ps1 b/Modules/CIPPCore/Public/New-CIPPAlertTemplate.ps1 index ff9853aca307..ae0a2bf9a969 100644 --- a/Modules/CIPPCore/Public/New-CIPPAlertTemplate.ps1 +++ b/Modules/CIPPCore/Public/New-CIPPAlertTemplate.ps1 @@ -20,7 +20,18 @@ function New-CIPPAlertTemplate { $LocationInfo = $Data.CIPPLocationInfo | ConvertFrom-Json -ErrorAction SilentlyContinue | Select-Object * -ExcludeProperty Etag, PartitionKey, TimeStamp switch ($Data.Operation) { 'New-InboxRule' { - $Title = "$($TenantFilter) - New Rule Detected for $($data.UserId)" + # Test if the rule is a forwarding or redirect rule + $ForwardProperties = @('ForwardTo', 'RedirectTo') + foreach ($ForwardProperty in $ForwardProperties) { + if ($Data.PSobject.Properties.Name -contains $ForwardProperty) { + $FoundForwarding = $true + } + } + if ($FoundForwarding -eq $true) { + $Title = "$($TenantFilter) - New forwarding or redirect Rule Detected for $($data.UserId)" + } else { + $Title = "$($TenantFilter) - New Rule Detected for $($data.UserId)" + } $RuleTable = ($Data.CIPPParameters | ConvertFrom-Json | ConvertTo-Html -Fragment | Out-String).Replace('', '
') $IntroText = "

A new rule has been created for the user $($data.UserId). You should check if this rule is not malicious. The rule information can be found in the table below.

$RuleTable" @@ -33,7 +44,7 @@ function New-CIPPAlertTemplate { $ButtonText = 'Start BEC Investigation' $AfterButtonText = '

If you believe this is a suspect rule, you can click the button above to start the investigation.

' } - 'Set-inboxrule' { + 'Set-InboxRule' { $Title = "$($TenantFilter) - Rule Edit Detected for $($data.UserId)" $RuleTable = ($Data.CIPPParameters | ConvertFrom-Json | ConvertTo-Html -Fragment | Out-String).Replace('
', '
') $IntroText = "

A rule has been edited for the user $($data.UserId). You should check if this rule is not malicious. The rule information can be found in the table below.

$RuleTable" diff --git a/Modules/CIPPCore/Public/New-CIPPApplicationCopy.ps1 b/Modules/CIPPCore/Public/New-CIPPApplicationCopy.ps1 index da8b584954f8..24624dfd8e85 100644 --- a/Modules/CIPPCore/Public/New-CIPPApplicationCopy.ps1 +++ b/Modules/CIPPCore/Public/New-CIPPApplicationCopy.ps1 @@ -6,11 +6,11 @@ function New-CIPPApplicationCopy { ) $CurrentInfo = New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/servicePrincipals?$top=999' -tenantid $env:TenantID -NoAuthCheck $true try { - $ExistingApp = New-GraphGETRequest -uri "https://graph.microsoft.com/beta/Applications(appId='$($app)')" -tenantid $ENV:tenantid -NoAuthCheck $true + $ExistingApp = New-GraphGETRequest -uri "https://graph.microsoft.com/beta/Applications(appId='$($app)')" -tenantid $ENV:TenantID -NoAuthCheck $true $Type = 'Application' } catch { - $ExistingApp = New-GraphGETRequest -uri "https://graph.microsoft.com/beta/servicePrincipals(appId='$($app)')/oauth2PermissionGrants" -tenantid $ENV:tenantid -NoAuthCheck $true - $ExistingAppRoleAssignments = New-GraphGETRequest -uri "https://graph.microsoft.com/beta/servicePrincipals(appId='$($app)')/appRoleAssignments" -tenantid $ENV:tenantid -NoAuthCheck $true + $ExistingApp = New-GraphGETRequest -uri "https://graph.microsoft.com/beta/servicePrincipals(appId='$($app)')/oauth2PermissionGrants" -tenantid $ENV:TenantID -NoAuthCheck $true + $ExistingAppRoleAssignments = New-GraphGETRequest -uri "https://graph.microsoft.com/beta/servicePrincipals(appId='$($app)')/appRoleAssignments" -tenantid $ENV:TenantID -NoAuthCheck $true $Type = 'ServicePrincipal' } if (!$ExistingApp) { @@ -35,7 +35,7 @@ function New-CIPPApplicationCopy { $TenantInfo = New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/servicePrincipals?$top=999' -tenantid $Tenant -NoAuthCheck $true if ($App -Notin $TenantInfo.appId) { - $PostResults = New-GraphPostRequest 'https://graph.microsoft.com/beta/servicePrincipals' -type POST -tenantid $Tenant -body "{ `"appId`": `"$($App)`" }" + $null = New-GraphPostRequest 'https://graph.microsoft.com/beta/servicePrincipals' -type POST -tenantid $Tenant -body "{ `"appId`": `"$($App)`" }" Write-LogMessage -message "Added $App as a service principal" -tenant $tenant -API 'Application Copy' -sev Info } Add-CIPPApplicationPermission -RequiredResourceAccess $ApplicationResourceAccess -ApplicationId $App -Tenantfilter $Tenant diff --git a/Modules/CIPPCore/Public/New-CIPPBackup.ps1 b/Modules/CIPPCore/Public/New-CIPPBackup.ps1 index 722a1f09a18f..65e55aa03455 100644 --- a/Modules/CIPPCore/Public/New-CIPPBackup.ps1 +++ b/Modules/CIPPCore/Public/New-CIPPBackup.ps1 @@ -14,39 +14,41 @@ function New-CIPPBackup { 'CIPP' { try { $BackupTables = @( - 'bpa' 'Config' 'Domains' 'ExcludedLicenses' 'templates' 'standards' 'SchedulerConfig' + 'Extensions' ) $CSVfile = foreach ($CSVTable in $BackupTables) { $Table = Get-CippTable -tablename $CSVTable - Get-CIPPAzDataTableEntity @Table | Select-Object *, @{l = 'table'; e = { $CSVTable } } + Get-AzDataTableEntity @Table | Select-Object *, @{l = 'table'; e = { $CSVTable } } -ExcludeProperty DomainAnalyser } - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Created backup' -Sev 'Debug' - $CSVfile $RowKey = 'CIPPBackup' + '_' + (Get-Date).ToString('yyyy-MM-dd-HHmm') - $entity = [PSCustomObject]@{ + $CSVfile + $CSVFile = [string]($CSVfile | ConvertTo-Json -Compress -Depth 100) + $entity = @{ PartitionKey = 'CIPPBackup' - RowKey = $RowKey + RowKey = [string]$RowKey TenantFilter = 'CIPPBackup' - Backup = [string]($CSVfile | ConvertTo-Json -Compress -Depth 100) + Backup = $CSVfile } $Table = Get-CippTable -tablename 'CIPPBackup' try { - $Result = Add-CIPPAzDataTableEntity @Table -entity $entity -Force + $Result = Add-CIPPAzDataTableEntity @Table -Entity $entity -Force Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Created CIPP Backup' -Sev 'Debug' } catch { - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Failed to create backup for CIPP: $($_.Exception.Message)" -Sev 'Error' - [pscustomobject]@{'Results' = "Backup Creation failed: $($_.Exception.Message)" } + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Failed to create backup for CIPP: $($ErrorMessage.NormalizedError)" -Sev 'Error' -LogData $ErrorMessage + [pscustomobject]@{'Results' = "Backup Creation failed: $($ErrorMessage.NormalizedError)" } } } catch { - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Failed to create backup: $($_.Exception.Message)" -Sev 'Error' - [pscustomobject]@{'Results' = "Backup Creation failed: $($_.Exception.Message)" } + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Failed to create backup: $($ErrorMessage.NormalizedError)" -Sev 'Error' -LogData $ErrorMessage + [pscustomobject]@{'Results' = "Backup Creation failed: $($ErrorMessage.NormalizedError)" } } } @@ -73,8 +75,9 @@ function New-CIPPBackup { $Result } catch { $State = 'Failed to write backup to table storage' - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Failed to create backup for Conditional Access Policies: $($_.Exception.Message)" -Sev 'Error' - [pscustomobject]@{'Results' = "Backup Creation failed: $($_.Exception.Message)" } + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Failed to create backup for Conditional Access Policies: $($ErrorMessage.NormalizedError)" -Sev 'Error' -LogData $ErrorMessage + [pscustomobject]@{'Results' = "Backup Creation failed: $($ErrorMessage.NormalizedError)" } } } diff --git a/Modules/CIPPCore/Public/New-CIPPBackupTask.ps1 b/Modules/CIPPCore/Public/New-CIPPBackupTask.ps1 index a82bd4d1ac3a..d4f399a84f3e 100644 --- a/Modules/CIPPCore/Public/New-CIPPBackupTask.ps1 +++ b/Modules/CIPPCore/Public/New-CIPPBackupTask.ps1 @@ -11,7 +11,7 @@ function New-CIPPBackupTask { $Users = New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/users?$top=999' -tenantid $TenantFilter | Select-Object * -ExcludeProperty mail, provisionedPlans, onPrem*, *passwordProfile*, *serviceProvisioningErrors*, isLicenseReconciliationNeeded, isManagementRestricted, isResourceAccount, *date*, *external*, identities, deletedDateTime, isSipEnabled, assignedPlans, cloudRealtimeCommunicationInfo, deviceKeys, provisionedPlan, securityIdentifier #remove the property if the value is $null $Users | ForEach-Object { - $_.psobject.properties | Where-Object { $_.Value -eq $null } | ForEach-Object { + $_.psobject.properties | Where-Object { $null -eq $_.Value } | ForEach-Object { $_.psobject.properties.Remove($_.Name) } } @@ -50,7 +50,8 @@ function New-CIPPBackupTask { try { New-CIPPIntuneTemplate -TenantFilter $TenantFilter -URLName $URLName -ID $Policy.ID } catch { - "Failed to create a template of the Intune Configuration Policy with ID: $($Policy.id). Error: $($_.Exception.Message)" + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + "Failed to create a template of the Intune Configuration Policy with ID: $($Policy.id). Error: $ErrorMessage" } } } catch { @@ -74,6 +75,50 @@ function New-CIPPBackupTask { } } + 'antispam' { + Write-Host "Backup Anti-Spam Policies for $TenantFilter" + + $Policies = New-ExoRequest -tenantid $Tenantfilter -cmdlet 'Get-HostedContentFilterPolicy' | Select-Object * -ExcludeProperty *odata*, *data.type* + $Rules = New-ExoRequest -tenantid $Tenantfilter -cmdlet 'Get-HostedContentFilterRule' | Select-Object * -ExcludeProperty *odata*, *data.type* + + $Policies | ForEach-Object { + $_.psobject.properties | Where-Object { $null -eq $_.Value } | ForEach-Object { + $_.psobject.properties.Remove($_.Name) + } + } + + $Rules | ForEach-Object { + $_.psobject.properties | Where-Object { $null -eq $_.Value } | ForEach-Object { + $_.psobject.properties.Remove($_.Name) + } + } + + $JSON = @{ policies = $Policies; rules = $Rules } | ConvertTo-Json -Depth 10 + $JSON + } + + 'antiphishing' { + Write-Host "Backup Anti-Phishing Policies for $TenantFilter" + + $Policies = New-ExoRequest -tenantid $Tenantfilter -cmdlet 'Get-AntiPhishPolicy' | Select-Object * -ExcludeProperty *odata*, *data.type* + $Rules = New-ExoRequest -tenantid $Tenantfilter -cmdlet 'Get-AntiPhishRule' | Select-Object * -ExcludeProperty *odata*, *data.type* + + $Policies | ForEach-Object { + $_.psobject.properties | Where-Object { $null -eq $_.Value } | ForEach-Object { + $_.psobject.properties.Remove($_.Name) + } + } + + $Rules | ForEach-Object { + $_.psobject.properties | Where-Object { $null -eq $_.Value } | ForEach-Object { + $_.psobject.properties.Remove($_.Name) + } + } + + $JSON = @{ policies = $Policies; rules = $Rules } | ConvertTo-Json -Depth 10 + $JSON + } + 'CippWebhookAlerts' { Write-Host "Backup Webhook Alerts for $TenantFilter" $WebhookTable = Get-CIPPTable -TableName 'WebhookRules' diff --git a/Modules/CIPPCore/Public/New-CIPPCAPolicy.ps1 b/Modules/CIPPCore/Public/New-CIPPCAPolicy.ps1 index 26f9046c4d21..e75847a094cf 100644 --- a/Modules/CIPPCore/Public/New-CIPPCAPolicy.ps1 +++ b/Modules/CIPPCore/Public/New-CIPPCAPolicy.ps1 @@ -10,6 +10,9 @@ function New-CIPPCAPolicy { $APIName = 'Create CA Policy', $ExecutingUser ) + + $User = $request.headers.'x-ms-client-principal' + function Remove-EmptyArrays ($Object) { if ($Object -is [Array]) { foreach ($Item in $Object) { Remove-EmptyArrays $Item } @@ -23,7 +26,7 @@ function New-CIPPCAPolicy { foreach ($Name in @($Object.psobject.properties.Name)) { if ($Object.$Name -is [Array] -and $Object.$Name.get_Count() -eq 0) { $Object.PSObject.Properties.Remove($Name) - } elseif ($object.$name -eq $null) { + } elseif ($null -eq $object.$name) { $Object.PSObject.Properties.Remove($Name) } else { Remove-EmptyArrays $Object.$Name } } @@ -38,11 +41,11 @@ function New-CIPPCAPolicy { param($groupNames) return $groupNames | ForEach-Object { if (Test-IsGuid $_) { - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Already GUID, no need to replace: $_" -Sev 'Debug' + Write-LogMessage -user $User -API $APINAME -message "Already GUID, no need to replace: $_" -Sev 'Debug' $_ # it's a GUID, so we keep it } else { $groupId = ($groups | Where-Object -Property displayName -EQ $_).id # it's a display name, so we get the group ID - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Replaced group name $_ with ID $groupId" -Sev 'Debug' + Write-LogMessage -user $User -API $APINAME -message "Replaced group name $_ with ID $groupId" -Sev 'Debug' $groupId } } @@ -75,7 +78,7 @@ function New-CIPPCAPolicy { $Body = ConvertTo-Json -InputObject $JSONObj.GrantControls.authenticationStrength $GraphRequest = New-GraphPOSTRequest -uri 'https://graph.microsoft.com/beta/identity/conditionalAccess/authenticationStrength/policies' -body $body -Type POST -tenantid $tenantfilter $JSONObj.GrantControls.authenticationStrength = @{ id = $ExistingStrength.id } - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Created new Authentication Strength Policy: $($JSONObj.GrantControls.authenticationStrength.displayName)" -Sev 'Info' + Write-LogMessage -user $User -API $APINAME -message "Created new Authentication Strength Policy: $($JSONObj.GrantControls.authenticationStrength.displayName)" -Sev 'Info' } } @@ -90,13 +93,13 @@ function New-CIPPCAPolicy { id = ($CheckExististing | Where-Object -Property displayName -EQ $Location.displayName).id name = ($CheckExististing | Where-Object -Property displayName -EQ $Location.displayName).displayName } - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Matched a CA policy with the existing Named Location: $($location.displayName)" -Sev 'Info' + Write-LogMessage -user $User -API $APINAME -message "Matched a CA policy with the existing Named Location: $($location.displayName)" -Sev 'Info' } else { if ($location.countriesAndRegions) { $location.countriesAndRegions = @($location.countriesAndRegions) } $Body = ConvertTo-Json -InputObject $Location $GraphRequest = New-GraphPOSTRequest -uri 'https://graph.microsoft.com/beta/identity/conditionalAccess/namedLocations' -body $body -Type POST -tenantid $tenantfilter - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Created new Named Location: $($location.displayName)" -Sev 'Info' + Write-LogMessage -user $User -API $APINAME -message "Created new Named Location: $($location.displayName)" -Sev 'Info' [pscustomobject]@{ id = $GraphRequest.id name = $GraphRequest.displayName @@ -148,13 +151,14 @@ function New-CIPPCAPolicy { } } } catch { - throw "Failed to replace displayNames for conditional access rule $($JSONObj.displayName): $($_.exception.message)" - Write-LogMessage -API 'Standards' -tenant $tenant -message "Failed to replace displayNames for conditional access rule $($JSONObj.displayName)" -sev 'Error' + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -API 'Standards' -tenant $tenant -message "Failed to replace displayNames for conditional access rule $($JSONObj.displayName). Error: $($ErrorMessage.NormalizedError)" -sev 'Error' -LogData $ErrorMessage + throw "Failed to replace displayNames for conditional access rule $($JSONObj.displayName): $($ErrorMessage.NormalizedError)" } } } $JsonObj.PSObject.Properties.Remove('LocationInfo') - $RawJSON = $JSONObj | ConvertTo-Json -Depth 10 -Compress + $RawJSON = ConvertTo-Json -InputObject $JSONObj -Depth 10 -Compress Write-Host $RawJSON try { Write-Host 'Checking' @@ -166,17 +170,18 @@ function New-CIPPCAPolicy { } else { Write-Host "overwriting $($CheckExististing.id)" $PatchRequest = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/identity/conditionalAccess/policies/$($CheckExististing.id)" -tenantid $tenantfilter -type PATCH -body $RawJSON - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($Tenant) -message "Updated Conditional Access Policy $($JSONObj.Displayname) to the template standard." -Sev 'Info' + Write-LogMessage -user $User -API $APINAME -tenant $($Tenant) -message "Updated Conditional Access Policy $($JSONObj.Displayname) to the template standard." -Sev 'Info' return "Updated policy $displayname for $tenantfilter" } } else { Write-Host 'Creating' $CreateRequest = New-GraphPOSTRequest -uri 'https://graph.microsoft.com/beta/identity/conditionalAccess/policies' -tenantid $tenantfilter -type POST -body $RawJSON - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($Tenant) -message "Added Conditional Access Policy $($JSONObj.Displayname)" -Sev 'Info' + Write-LogMessage -user $User -API $APINAME -tenant $($Tenant) -message "Added Conditional Access Policy $($JSONObj.Displayname)" -Sev 'Info' return "Created policy $displayname for $tenantfilter" } } catch { - throw "Failed to create or update conditional access rule $($JSONObj.displayName): $($_.exception.message)" - Write-LogMessage -API 'Standards' -tenant $tenant -message "Failed to create or update conditional access rule $($JSONObj.displayName): $($_.exception.message) " -sev 'Error' + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -API 'Standards' -tenant $tenant -message "Failed to create or update conditional access rule $($JSONObj.displayName): $($ErrorMessage.NormalizedError) " -sev 'Error' -LogData $ErrorMessage + throw "Failed to create or update conditional access rule $($JSONObj.displayName): $($ErrorMessage.NormalizedError)" } } diff --git a/Modules/CIPPCore/Public/New-CIPPDeviceAction.ps1 b/Modules/CIPPCore/Public/New-CIPPDeviceAction.ps1 index 3e0312750dc8..8a1d2eaf5476 100644 --- a/Modules/CIPPCore/Public/New-CIPPDeviceAction.ps1 +++ b/Modules/CIPPCore/Public/New-CIPPDeviceAction.ps1 @@ -8,13 +8,13 @@ function New-CIPPDeviceAction { $ExecutingUser, $APINAME ) - try { - $GraphRequest = New-Graphpostrequest -uri "https://graph.microsoft.com/beta/deviceManagement/managedDevices('$DeviceFilter')/$($Action)" -type POST -tenantid $TenantFilter -body $ActionBody - Write-LogMessage -user $ExecutingUser -API $APINAME -tenant $TenantFilter -message "Queued $Action on $DeviceFilter" -Sev "Info" + try { + $null = New-Graphpostrequest -uri "https://graph.microsoft.com/beta/deviceManagement/managedDevices('$DeviceFilter')/$($Action)" -type POST -tenantid $TenantFilter -body $ActionBody + Write-LogMessage -user $ExecutingUser -API $APINAME -tenant $TenantFilter -message "Queued $Action on $DeviceFilter" -Sev 'Info' return "Queued $Action on $DeviceFilter" - } - catch { - Write-LogMessage -user $ExecutingUser -API $APINAME -tenant $TenantFilter -message "Failed to queue action $Action on $DeviceFilter : $($_.Exception.Message)" -Sev "Error" - return "Failed to queue action $Action on $DeviceFilter $($_.Exception.Message)" + } catch { + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $ExecutingUser -API $APINAME -tenant $TenantFilter -message "Failed to queue action $Action on $DeviceFilter : $($ErrorMessage.NormalizedError)" -Sev 'Error' -LogData $ErrorMessage + return "Failed to queue action $Action on $DeviceFilter $($ErrorMessage.NormalizedError)" } } diff --git a/Modules/CIPPCore/Public/New-CIPPOneDriveShortCut.ps1 b/Modules/CIPPCore/Public/New-CIPPOneDriveShortCut.ps1 index e140b1e6052c..d270b17efde3 100644 --- a/Modules/CIPPCore/Public/New-CIPPOneDriveShortCut.ps1 +++ b/Modules/CIPPCore/Public/New-CIPPOneDriveShortCut.ps1 @@ -6,33 +6,33 @@ function New-CIPPOneDriveShortCut { $userid, $URL, $TenantFilter, - $APIName = "Create OneDrive shortcut", + $APIName = 'Create OneDrive shortcut', $ExecutingUser ) Write-Host "Received $username and $userid. We're using $url and $TenantFilter" try { - $SiteInfo = New-GraphGetRequest -uri "https://graph.microsoft.com/beta/sites/" -tenantid $TenantFilter -asapp $true | Where-Object -Property weburl -EQ $url + $SiteInfo = New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/sites/' -tenantid $TenantFilter -asapp $true | Where-Object -Property weburl -EQ $url $ListItemUniqueId = (New-GraphGetRequest -uri "https://graph.microsoft.com/beta/sites/$($siteInfo.id)/drive?`$select=SharepointIds" -tenantid $TenantFilter -asapp $true).SharePointIds $body = [PSCustomObject]@{ name = "$($SiteInfo.displayName)" remoteItem = @{ sharepointIds = @{ listId = $($ListItemUniqueId.listid) - listItemUniqueId = "root" + listItemUniqueId = 'root' siteId = $($ListItemUniqueId.siteId) siteUrl = $($ListItemUniqueId.siteUrl) webId = $($ListItemUniqueId.webId) } } - '@microsoft.graph.conflictBehavior' = "rename" + '@microsoft.graph.conflictBehavior' = 'rename' } | ConvertTo-Json -Depth 10 New-GraphPOSTRequest -method POST "https://graph.microsoft.com/beta/users/$username/drive/root/children" -body $body -tenantid $TenantFilter -asapp $true - Write-LogMessage -message "Created OneDrive shortcut called $($SiteInfo.displayName) for $($username)" -Sev 'info' -API $APIName -user $ExecutingUser + Write-LogMessage -API $APIName -user $ExecutingUser -message "Created OneDrive shortcut called $($SiteInfo.displayName) for $($username)" -Sev 'info' return "Created OneDrive Shortcut for $username called $($SiteInfo.displayName) " - } - catch { - Write-LogMessage -message "Could not add Onedrive shortcut to $username : $($_.Exception.Message)" -Sev 'error' -API $APIName -user $ExecutingUser - return "Could not add Onedrive shortcut to $username : $($_.Exception.Message)" + } catch { + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not add Onedrive shortcut to $username : $($ErrorMessage.NormalizedError)" -Sev 'Error' -LogData $ErrorMessage + return "Could not add Onedrive shortcut to $username : $($ErrorMessage.NormalizedError)" } } diff --git a/Modules/CIPPCore/Public/New-CIPPRestoreTask.ps1 b/Modules/CIPPCore/Public/New-CIPPRestoreTask.ps1 index 8d48960d1899..d7499abfff5d 100644 --- a/Modules/CIPPCore/Public/New-CIPPRestoreTask.ps1 +++ b/Modules/CIPPCore/Public/New-CIPPRestoreTask.ps1 @@ -39,8 +39,9 @@ function New-CIPPRestoreTask { } } } catch { - "Could not restore user $($UPN): $($_.Exception.Message) " - Write-LogMessage -user $ExecutingUser -API $APINAME -message "Could not restore user $($UPN): $($_.Exception.Message) " -Sev 'error' + $ErrorMessage = Get-CippException -Exception $_ + "Could not restore user $($UPN): $($ErrorMessage.NormalizedError) " + Write-LogMessage -user $ExecutingUser -API $APINAME -message "Could not restore user $($UPN): $($ErrorMessage.NormalizedError) " -Sev 'Error' -LogData $ErrorMessage } } } @@ -74,8 +75,9 @@ function New-CIPPRestoreTask { } } } catch { - "Could not restore group $DisplayName $($_.Exception.Message) " - Write-LogMessage -user $ExecutingUser -API $APINAME -message "Could not restore group $DisplayName $($_.Exception.Message) " -Sev 'error' + $ErrorMessage = Get-CippException -Exception $_ + "Could not restore group $DisplayName : $($ErrorMessage.NormalizedError) " + Write-LogMessage -user $ExecutingUser -API $APINAME -message "Could not restore group $DisplayName : $($ErrorMessage.NormalizedError) " -Sev 'Error' -LogData $ErrorMessage } } } @@ -87,8 +89,9 @@ function New-CIPPRestoreTask { try { New-CIPPCAPolicy -replacePattern 'displayName' -Overwrite $overwrite -TenantFilter $TenantFilter -state 'donotchange' -RawJSON $JSON -APIName 'CIPP Restore' -ErrorAction SilentlyContinue } catch { - "Could not restore Conditional Access Policy $DisplayName $($_.Exception.Message) " - Write-LogMessage -user $ExecutingUser -API $APINAME -message "Could not restore Conditional Access Policy $DisplayName $($_.Exception.Message) " -Sev 'error' + $ErrorMessage = Get-CippException -Exception $_ + "Could not restore Conditional Access Policy $DisplayName : $($ErrorMessage.NormalizedError) " + Write-LogMessage -user $ExecutingUser -API $APINAME -message "Could not restore Conditional Access Policy $DisplayName : $($ErrorMessage.NormalizedError) " -Sev 'Error' -LogData $ErrorMessage } } } @@ -98,8 +101,9 @@ function New-CIPPRestoreTask { try { Set-CIPPIntunePolicy -TemplateType $backup.Type -TenantFilter $TenantFilter -DisplayName $backup.DisplayName -Description $backup.Description -RawJSON ($backup.TemplateJson) -ErrorAction SilentlyContinue } catch { - "Could not restore Intune Configuration $DisplayName $($_.Exception.Message) " - Write-LogMessage -user $ExecutingUser -API $APINAME -message "Could not restore Intune Configuration $DisplayName $($_.Exception.Message) " -Sev 'error' + $ErrorMessage = Get-CippException -Exception $_ + "Could not restore Intune Configuration $DisplayName : $($ErrorMessage.NormalizedError) " + Write-LogMessage -user $ExecutingUser -API $APINAME -message "Could not restore Intune Configuration $DisplayName : $($ErrorMessage.NormalizedError) " -Sev 'Error' -LogData $ErrorMessage } } #Convert the manual method to a function @@ -110,8 +114,9 @@ function New-CIPPRestoreTask { try { Set-CIPPIntunePolicy -TemplateType $backup.Type -TenantFilter $TenantFilter -DisplayName $backup.DisplayName -Description $backup.Description -RawJSON ($backup.TemplateJson) -ErrorAction SilentlyContinue } catch { - "Could not restore Intune Compliance $DisplayName $($_.Exception.Message) " - Write-LogMessage -user $ExecutingUser -API $APINAME -message "Could not restore Intune Configuration $DisplayName $($_.Exception.Message) " -Sev 'error' + $ErrorMessage = Get-CippException -Exception $_ + "Could not restore Intune Compliance $DisplayName : $($ErrorMessage.NormalizedError) " + Write-LogMessage -user $ExecutingUser -API $APINAME -message "Could not restore Intune Configuration $DisplayName : $($ErrorMessage.NormalizedError) " -Sev 'Error' -LogData $ErrorMessage } } @@ -123,13 +128,356 @@ function New-CIPPRestoreTask { try { Set-CIPPIntunePolicy -TemplateType $backup.Type -TenantFilter $TenantFilter -DisplayName $backup.DisplayName -Description $backup.Description -RawJSON ($backup.TemplateJson) -ErrorAction SilentlyContinue } catch { - "Could not restore Intune Protection $DisplayName $($_.Exception.Message) " - Write-LogMessage -user $ExecutingUser -API $APINAME -message "Could not restore Intune Configuration $DisplayName $($_.Exception.Message) " -Sev 'error' + $ErrorMessage = Get-CippException -Exception $_ + "Could not restore Intune Protection $DisplayName : $($ErrorMessage.NormalizedError) " + Write-LogMessage -user $ExecutingUser -API $APINAME -message "Could not restore Intune Configuration $DisplayName : $($ErrorMessage.NormalizedError) " -Sev 'Error' -LogData $ErrorMessage } } } + 'antispam' { + try { + $BackupConfig = $BackupData.antispam | ConvertFrom-Json | ConvertFrom-Json + $BackupPolicies = $BackupConfig.policies + $BackupRules = $BackupConfig.rules + $CurrentPolicies = New-ExoRequest -tenantid $Tenantfilter -cmdlet 'Get-HostedContentFilterPolicy' | Select-Object * -ExcludeProperty *odata*, *data.type* + $CurrentRules = New-ExoRequest -tenantid $Tenantfilter -cmdlet 'Get-HostedContentFilterRule' | Select-Object * -ExcludeProperty *odata*, *data.type* + } catch { + $ErrorMessage = Get-CippException -Exception $_ + "Could not obtain Anti-Spam Configuration: $($ErrorMessage.NormalizedError) " + Write-LogMessage -user $ExecutingUser -API $APINAME -message "Could not obtain Anti-Spam Configuration: $($ErrorMessage.NormalizedError) " -Sev 'Error' -LogData $ErrorMessage + } + + $policyparams = @( + 'AddXHeaderValue', + 'AdminDisplayName', + 'AllowedSenderDomains', + 'AllowedSenders', + 'BlockedSenderDomains', + 'BlockedSenders', + 'BulkQuarantineTag', + 'BulkSpamAction', + 'BulkThreshold', + 'DownloadLink', + 'EnableEndUserSpamNotifications', + 'EnableLanguageBlockList', + 'EnableRegionBlockList', + 'EndUserSpamNotificationCustomFromAddress', + 'EndUserSpamNotificationCustomFromName', + 'EndUserSpamNotificationCustomSubject', + 'EndUserSpamNotificationFrequency', + 'EndUserSpamNotificationLanguage', + 'EndUserSpamNotificationLimit', + 'HighConfidencePhishAction', + 'HighConfidencePhishQuarantineTag', + 'HighConfidenceSpamAction', + 'HighConfidenceSpamQuarantineTag', + 'IncreaseScoreWithBizOrInfoUrls', + 'IncreaseScoreWithImageLinks', + 'IncreaseScoreWithNumericIps', + 'IncreaseScoreWithRedirectToOtherPort', + 'InlineSafetyTipsEnabled', + 'IntraOrgFilterState', + 'LanguageBlockList', + 'MarkAsSpamBulkMail', + 'MarkAsSpamEmbedTagsInHtml', + 'MarkAsSpamEmptyMessages', + 'MarkAsSpamFormTagsInHtml', + 'MarkAsSpamFramesInHtml', + 'MarkAsSpamFromAddressAuthFail', + 'MarkAsSpamJavaScriptInHtml', + 'MarkAsSpamNdrBackscatter', + 'MarkAsSpamObjectTagsInHtml', + 'MarkAsSpamSensitiveWordList', + 'MarkAsSpamSpfRecordHardFail', + 'MarkAsSpamWebBugsInHtml', + 'ModifySubjectValue', + 'PhishQuarantineTag', + 'PhishSpamAction', + 'PhishZapEnabled', + 'QuarantineRetentionPeriod', + 'RedirectToRecipients', + 'RegionBlockList', + 'SpamAction', + 'SpamQuarantineTag', + 'SpamZapEnabled', + 'TestModeAction', + 'TestModeBccToRecipients' + ) + + $ruleparams = @( + 'Name', + 'HostedContentFilterPolicy', + 'Comments', + 'Enabled', + 'ExceptIfRecipientDomainIs', + 'ExceptIfSentTo', + 'ExceptIfSentToMemberOf', + 'Priority', + 'RecipientDomainIs', + 'SentTo', + 'SentToMemberOf' + ) + + foreach ($policy in $BackupPolicies) { + try { + if ($policy.Identity -in $CurrentPolicies.Identity) { + if ($overwrite) { + $cmdparams = @{ + Identity = $policy.Identity + } + + foreach ($param in $policyparams) { + if ($policy.PSObject.Properties[$param]) { + if ($param -eq 'IntraOrgFilterState' -and $policy.$param -eq 'Default') { + $cmdparams[$param] = 'HighConfidencePhish' + } else { + $cmdparams[$param] = $policy.$param + } + } + } + + New-ExoRequest -TenantId $Tenantfilter -cmdlet 'Set-HostedContentFilterPolicy' -cmdparams $cmdparams -UseSystemMailbox $true + + Write-LogMessage -message "Restored $($policy.Identity) from backup" -Sev 'info' + "Restored $($policy.Identity) from backup." + } + } else { + $cmdparams = @{ + Name = $policy.Name + } + + foreach ($param in $policyparams) { + if ($policy.PSObject.Properties[$param]) { + if ($param -eq 'IntraOrgFilterState' -and $policy.$param -eq 'Default') { + $cmdparams[$param] = 'HighConfidencePhish' + } else { + $cmdparams[$param] = $policy.$param + } + } + } + + New-ExoRequest -TenantId $Tenantfilter -cmdlet 'New-HostedContentFilterPolicy' -cmdparams $cmdparams -UseSystemMailbox $true + + Write-LogMessage -message "Restored $($policy.Identity) from backup" -Sev 'info' + "Restored $($policy.Identity) from backup." + } + } catch { + $ErrorMessage = Get-CippException -Exception $_ + "Could not restore Anti-spam policy $($policy.Identity) : $($ErrorMessage.NormalizedError) " + Write-LogMessage -user $ExecutingUser -API $APINAME -message "Could not restore Anti-spam policy $($policy.Identity) : $($ErrorMessage.NormalizedError) " -Sev 'Error' -LogData $ErrorMessage + } + } + + foreach ($rule in $BackupRules) { + try { + if ($rule.Identity -in $CurrentRules.Identity) { + if ($overwrite) { + $cmdparams = @{ + Identity = $rule.Identity + } + + foreach ($param in $ruleparams) { + if ($rule.PSObject.Properties[$param]) { + if ($param -eq 'Enabled') { + $cmdparams[$param] = if ($rule.State -eq 'Enabled') {$true} else {$false} + } else { + $cmdparams[$param] = $rule.$param + } + } + } + + New-ExoRequest -TenantId $Tenantfilter -cmdlet 'Set-HostedContentFilterRule' -cmdparams $cmdparams -UseSystemMailbox $true + + Write-LogMessage -message "Restored $($rule.Identity) from backup" -Sev 'info' + "Restored $($rule.Identity) from backup." + } + } else { + $cmdparams = @{ + Name = $rule.Name + } + + foreach ($param in $ruleparams) { + if ($rule.PSObject.Properties[$param]) { + if ($param -eq 'Enabled') { + $cmdparams[$param] = if ($rule.State -eq 'Enabled') {$true} else {$false} + } else { + $cmdparams[$param] = $rule.$param + } + } + } + + New-ExoRequest -TenantId $Tenantfilter -cmdlet 'New-HostedContentFilterRule' -cmdparams $cmdparams -UseSystemMailbox $true + + Write-LogMessage -message "Restored $($rule.Identity) from backup" -Sev 'info' + "Restored $($rule.Identity) from backup." + } + } catch { + $ErrorMessage = Get-CippException -Exception $_ + "Could not restore Anti-spam rule $($rule.Identity) : $($ErrorMessage.NormalizedError) " + Write-LogMessage -user $ExecutingUser -API $APINAME -message "Could not restore Anti-spam rule $($rule.Identity) : $($ErrorMessage.NormalizedError) " -Sev 'Error' -LogData $ErrorMessage + } + } + } + + 'antiphishing' { + try { + $BackupConfig = $BackupData.antiphishing | ConvertFrom-Json | ConvertFrom-Json + $BackupPolicies = $BackupConfig.policies + $BackupRules = $BackupConfig.rules + $CurrentPolicies = New-ExoRequest -tenantid $Tenantfilter -cmdlet 'Get-AntiPhishPolicy' | Select-Object * -ExcludeProperty *odata*, *data.type* + $CurrentRules = New-ExoRequest -tenantid $Tenantfilter -cmdlet 'Get-AntiPhishRule' | Select-Object * -ExcludeProperty *odata*, *data.type* + } catch { + $ErrorMessage = Get-CippException -Exception $_ + "Could not obtain Anti-Phishing Configuration: $($ErrorMessage.NormalizedError) " + Write-LogMessage -user $ExecutingUser -API $APINAME -message "Could not obtain Anti-Phishing Configuration: $($ErrorMessage.NormalizedError) " -Sev 'Error' -LogData $ErrorMessage + } + + $policyparams = @( + 'AdminDisplayName', + 'AuthenticationFailAction', + 'DmarcQuarantineAction', + 'DmarcRejectAction', + 'EnableFirstContactSafetyTips', + 'EnableMailboxIntelligence', + 'EnableMailboxIntelligenceProtection', + 'EnableOrganizationDomainsProtection', + 'EnableSimilarDomainsSafetyTips', + 'EnableSimilarUsersSafetyTips', + 'EnableSpoofIntelligence', + 'EnableTargetedDomainsProtection', + 'EnableTargetedUserProtection', + 'EnableUnauthenticatedSender', + 'EnableUnusualCharactersSafetyTips', + 'EnableViaTag', + 'ExcludedDomains', + 'ExcludedSenders', + 'HonorDmarcPolicy', + 'ImpersonationProtectionState', + 'MailboxIntelligenceProtectionAction', + 'MailboxIntelligenceProtectionActionRecipients', + 'MailboxIntelligenceQuarantineTag', + 'PhishThresholdLevel', + 'SimilarUsersSafetyTipsCustomText', + 'SpoofQuarantineTag', + 'TargetedDomainActionRecipients', + 'TargetedDomainProtectionAction', + 'TargetedDomainQuarantineTag', + 'TargetedDomainsToProtect', + 'TargetedUserActionRecipients', + 'TargetedUserProtectionAction', + 'TargetedUserQuarantineTag', + 'TargetedUsersToProtect' + ) + + $ruleparams = @( + 'Name', + 'AntiPhishPolicy', + 'Comments', + 'Enabled', + 'ExceptIfRecipientDomainIs', + 'ExceptIfSentTo', + 'ExceptIfSentToMemberOf', + 'Priority', + 'RecipientDomainIs', + 'SentTo', + 'SentToMemberOf' + ) + + foreach ($policy in $BackupPolicies) { + try { + if ($policy.Identity -in $CurrentPolicies.Identity) { + if ($overwrite) { + $cmdparams = @{ + Identity = $policy.Identity + } + + foreach ($param in $policyparams) { + if ($policy.PSObject.Properties[$param]) { + $cmdparams[$param] = $policy.$param + } + } + + New-ExoRequest -TenantId $Tenantfilter -cmdlet 'Set-AntiPhishPolicy' -cmdparams $cmdparams -UseSystemMailbox $true + + Write-LogMessage -message "Restored $($policy.Identity) from backup" -Sev 'info' + "Restored $($policy.Identity) from backup." + } + } else { + $cmdparams = @{ + Name = $policy.Name + } + + foreach ($param in $policyparams) { + if ($policy.PSObject.Properties[$param]) { + $cmdparams[$param] = $policy.$param + } + } + + New-ExoRequest -TenantId $Tenantfilter -cmdlet 'New-AntiPhishPolicy' -cmdparams $cmdparams -UseSystemMailbox $true + + Write-LogMessage -message "Restored $($policy.Identity) from backup" -Sev 'info' + "Restored $($policy.Identity) from backup." + } + } catch { + $ErrorMessage = Get-CippException -Exception $_ + "Could not restore Anti-phishing policy $($policy.Identity) : $($ErrorMessage.NormalizedError) " + Write-LogMessage -user $ExecutingUser -API $APINAME -message "Could not restore Anti-phishing policy $($policy.Identity) : $($ErrorMessage.NormalizedError) " -Sev 'Error' -LogData $ErrorMessage + } + } + + foreach ($rule in $BackupRules) { + try { + if ($rule.Identity -in $CurrentRules.Identity) { + if ($overwrite) { + $cmdparams = @{ + Identity = $rule.Identity + } + + foreach ($param in $ruleparams) { + if ($rule.PSObject.Properties[$param]) { + if ($param -eq 'Enabled') { + $cmdparams[$param] = if ($rule.State -eq 'Enabled') {$true} else {$false} + } else { + $cmdparams[$param] = $rule.$param + } + } + } + + New-ExoRequest -TenantId $Tenantfilter -cmdlet 'Set-AntiPhishRule' -cmdparams $cmdparams -UseSystemMailbox $true + + Write-LogMessage -message "Restored $($rule.Identity) from backup" -Sev 'info' + "Restored $($rule.Identity) from backup." + } + } else { + $cmdparams = @{ + Name = $rule.Name + } + + foreach ($param in $ruleparams) { + if ($rule.PSObject.Properties[$param]) { + if ($param -eq 'Enabled') { + $cmdparams[$param] = if ($rule.State -eq 'Enabled') {$true} else {$false} + } else { + $cmdparams[$param] = $rule.$param + } + } + } + + New-ExoRequest -TenantId $Tenantfilter -cmdlet 'New-AntiPhishRule' -cmdparams $cmdparams -UseSystemMailbox $true + + Write-LogMessage -message "Restored $($rule.Identity) from backup" -Sev 'info' + "Restored $($rule.Identity) from backup." + } + } catch { + $ErrorMessage = Get-CippException -Exception $_ + "Could not restore Anti-phishing rule $($rule.Identity) : $($ErrorMessage.NormalizedError) " + Write-LogMessage -user $ExecutingUser -API $APINAME -message "Could not restore Anti-phishing rule $($rule.Identity) : $($ErrorMessage.NormalizedError) " -Sev 'Error' -LogData $ErrorMessage + } + } + } + 'CippWebhookAlerts' { Write-Host "Restore Webhook Alerts for $TenantFilter" $WebhookTable = Get-CIPPTable -TableName 'WebhookRules' @@ -137,7 +485,8 @@ function New-CIPPRestoreTask { try { Add-CIPPAzDataTableEntity @WebhookTable -Entity $Backup -Force } catch { - "Could not restore Webhook Alerts $($_.Exception.Message)" + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + "Could not restore Webhook Alerts $ErrorMessage" } } 'CippScriptedAlerts' { @@ -147,7 +496,8 @@ function New-CIPPRestoreTask { try { Add-CIPPAzDataTableEntity @ScheduledTasks -Entity $Backup -Force } catch { - "Could not restore Scripted Alerts $($_.Exception.Message) " + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + "Could not restore Scripted Alerts $ErrorMessage " } } 'CippStandards' { @@ -157,7 +507,8 @@ function New-CIPPRestoreTask { try { Add-CIPPAzDataTableEntity @Table -Entity $StandardsBackup -Force } catch { - "Could not restore Standards $($_.Exception.Message) " + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + "Could not restore Standards $ErrorMessage " } } diff --git a/Modules/CIPPCore/Public/New-CIPPSharepointSite.ps1 b/Modules/CIPPCore/Public/New-CIPPSharepointSite.ps1 index ccf2e8b81b22..9cf2c95c301f 100644 --- a/Modules/CIPPCore/Public/New-CIPPSharepointSite.ps1 +++ b/Modules/CIPPCore/Public/New-CIPPSharepointSite.ps1 @@ -55,7 +55,6 @@ function New-CIPPSharepointSite { [string]$WebTemplateExtensionId, [Parameter(Mandatory = $false)] - [ValidatePattern('(\{|\()?[A-Za-z0-9]{4}([A-Za-z0-9]{4}\-?){4}[A-Za-z0-9]{12}(\}|\()?')] [string]$SensitivityLabel, [string]$Classification, @@ -76,7 +75,7 @@ function New-CIPPSharepointSite { $WebTemplate = 'SITEPAGEPUBLISHING#0' } 'Team' { - $WebTemplate = 'STS#0' + $WebTemplate = 'STS#3' } } @@ -128,7 +127,7 @@ function New-CIPPSharepointSite { $Request.Classification = $Classification } - Write-Verbose ($Request | ConvertTo-Json -Compress -Depth 10) + Write-Verbose (ConvertTo-Json -InputObject $Request -Compress -Depth 10) $body = @{ request = $Request @@ -140,6 +139,14 @@ function New-CIPPSharepointSite { 'accept' = 'application/json;odata.metadata=none' 'odata-version' = '4.0' } - New-GraphPostRequest -scope "$AdminUrl/.default" -uri "$AdminUrl/_api/SPSiteManager/create" -Body ($body | ConvertTo-Json -Compress -Depth 10) -tenantid $TenantFilter -ContentType 'application/json' -AddedHeaders $AddedHeaders + $Results = New-GraphPostRequest -scope "$AdminUrl/.default" -uri "$AdminUrl/_api/SPSiteManager/create" -Body ($body | ConvertTo-Json -Compress -Depth 10) -tenantid $TenantFilter -ContentType 'application/json' -AddedHeaders $AddedHeaders + } + + if ($Results.SiteStatus -eq '4') { + return 'This site already exists. Please choose a different site name.' } + if ($Results.SiteStatus -eq '2') { + return "The site $($SiteName) was created successfully." + } + } diff --git a/Modules/CIPPCore/Public/New-CIPPTAP.ps1 b/Modules/CIPPCore/Public/New-CIPPTAP.ps1 index 7b0427a5cf20..c997c6d62daf 100644 --- a/Modules/CIPPCore/Public/New-CIPPTAP.ps1 +++ b/Modules/CIPPCore/Public/New-CIPPTAP.ps1 @@ -3,20 +3,19 @@ function New-CIPPTAP { param ( $userid, $TenantFilter, - $APIName = "Create TAP", + $APIName = 'Create TAP', $ExecutingUser ) try { - $GraphRequest = New-GraphPostRequest -uri "https://graph.microsoft.com/beta/users/$($userid)/authentication/temporaryAccessPassMethods" -tenantid $TenantFilter -type POST -body "{}" -verbose - $GraphRequest - Write-LogMessage -user $ExecutingUser -API $APIName -message "Created Temporary Access Password (TAP) for $userid" -Sev "Info" -tenant $TenantFilter + $GraphRequest = New-GraphPostRequest -uri "https://graph.microsoft.com/beta/users/$($userid)/authentication/temporaryAccessPassMethods" -tenantid $TenantFilter -type POST -body '{}' -verbose + Write-LogMessage -user $ExecutingUser -API $APIName -message "Created Temporary Access Password (TAP) for $userid" -Sev 'Info' -tenant $TenantFilter return "The TAP for this user is $($GraphRequest.temporaryAccessPass) - This TAP is usable for the next $($GraphRequest.LifetimeInMinutes) minutes" - } - catch { - Write-LogMessage -user $ExecutingUser -API $APIName -message "Failed to created TAP for $($userid): $($_.Exception.Message)" -Sev "Error" -tenant $TenantFilter - Return "Failed to create TAP: $($_.Exception.Message)" + } catch { + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $ExecutingUser -API $APIName -message "Failed to created TAP for $($userid): $($ErrorMessage.NormalizedError)" -Sev 'Error' -tenant $TenantFilter -LogData $ErrorMessage + Return "Failed to create TAP: $($ErrorMessage.NormalizedError)" } } diff --git a/Modules/CIPPCore/Public/New-CIPPTemplateRun.ps1 b/Modules/CIPPCore/Public/New-CIPPTemplateRun.ps1 new file mode 100644 index 000000000000..6265eafb927b --- /dev/null +++ b/Modules/CIPPCore/Public/New-CIPPTemplateRun.ps1 @@ -0,0 +1,203 @@ +function New-CIPPTemplateRun { + [CmdletBinding()] + param ( + $TemplateSettings, + $TenantFilter + ) + $Table = Get-CippTable -tablename 'templates' + $ExistingTemplates = (Get-CIPPAzDataTableEntity @Table) | ForEach-Object { + $data = $_.JSON | ConvertFrom-Json -Depth 100 + $data | Add-Member -NotePropertyName 'GUID' -NotePropertyValue $_.RowKey -Force + $data | Add-Member -NotePropertyName 'PartitionKey' -NotePropertyValue $_.PartitionKey -Force + $data + } | Sort-Object -Property displayName + + + $Tasks = foreach ($key in $TemplateSettings.Keys) { + if ($TemplateSettings[$key] -eq $true) { + $key + } + } + + + foreach ($Task in $Tasks) { + Write-Host "Working on task $Task" + switch ($Task) { + 'ca' { + Write-Host "Template Conditional Access Policies for $TenantFilter" + $Policies = New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/conditionalAccess/policies?$top=999' -tenantid $TenantFilter + Write-Host 'Creating templates for found Conditional Access Policies' + foreach ($policy in $policies) { + try { + $Template = New-CIPPCATemplate -TenantFilter $TenantFilter -JSON $policy + #check existing templates, if the displayName is the same, overwrite it. + $ExistingPolicy = $ExistingTemplates | Where-Object { $_.displayName -eq $policy.displayName } | Select-Object -First 1 + if ($ExistingPolicy -and $ExistingPolicy.PartitionKey -eq 'CATemplate') { + "Policy $($policy.displayName) found, updating template" + Add-CIPPAzDataTableEntity @Table -Entity @{ + JSON = "$Template" + RowKey = $ExistingPolicy.GUID + PartitionKey = 'CATemplate' + GUID = $ExistingPolicy.GUID + } -Force + } else { + "Policy $($policy.displayName) not found in existing templates, creating new template" + $GUID = (New-Guid).GUID + Add-CIPPAzDataTableEntity @Table -Entity @{ + JSON = "$Template" + RowKey = "$GUID" + PartitionKey = 'CATemplate' + GUID = "$GUID" + } + } + + } catch { + "Failed to create a template of the Conditional Access Policy with ID: $($policy.id). Error: $($_.Exception.Message)" + } + } + } + 'intuneconfig' { + Write-Host "Backup Intune Configuration Policies for $TenantFilter" + $GraphURLS = @("https://graph.microsoft.com/beta/deviceManagement/deviceConfigurations?`$select=id,displayName,lastModifiedDateTime,roleScopeTagIds,microsoft.graph.unsupportedDeviceConfiguration/originalEntityTypeName&`$expand=assignments&top=1000" + 'https://graph.microsoft.com/beta/deviceManagement/windowsDriverUpdateProfiles' + "https://graph.microsoft.com/beta/deviceManagement/groupPolicyConfigurations?`$expand=assignments&top=999" + "https://graph.microsoft.com/beta/deviceAppManagement/mobileAppConfigurations?`$expand=assignments&`$filter=microsoft.graph.androidManagedStoreAppConfiguration/appSupportsOemConfig%20eq%20true" + 'https://graph.microsoft.com/beta/deviceManagement/configurationPolicies' + ) + + $Policies = foreach ($url in $GraphURLS) { + try { + $Policies = New-GraphGetRequest -uri "$($url)" -tenantid $TenantFilter + $URLName = (($url).split('?') | Select-Object -First 1) -replace 'https://graph.microsoft.com/beta/deviceManagement/', '' + foreach ($Policy in $Policies) { + try { + $Template = New-CIPPIntuneTemplate -TenantFilter $TenantFilter -URLName $URLName -ID $Policy.ID + $ExistingPolicy = $ExistingTemplates | Where-Object { $_.displayName -eq $Template.DisplayName } | Select-Object -First 1 + if ($ExistingPolicy -and $ExistingPolicy.PartitionKey -eq 'IntuneTemplate') { + "Policy $($Template.DisplayName) found, updating template" + $object = [PSCustomObject]@{ + Displayname = $Template.DisplayName + Description = $Template.Description + RAWJson = $Template.TemplateJson + Type = $Template.Type + GUID = $ExistingPolicy.GUID + } | ConvertTo-Json + + Add-CIPPAzDataTableEntity @Table -Entity @{ + JSON = "$object" + RowKey = $ExistingPolicy.GUID + PartitionKey = 'IntuneTemplate' + } -Force + } else { + "Policy $($Template.DisplayName) not found in existing templates, creating new template" + $GUID = (New-Guid).GUID + $object = [PSCustomObject]@{ + Displayname = $Template.DisplayName + Description = $Template.Description + RAWJson = $Template.TemplateJson + Type = $Template.Type + GUID = $GUID + } | ConvertTo-Json + + Add-CIPPAzDataTableEntity @Table -Entity @{ + JSON = "$object" + RowKey = "$GUID" + PartitionKey = 'IntuneTemplate' + } -Force + } + } catch { + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + "Failed to create a template of the Intune Configuration Policy with ID: $($Policy.id). Error: $ErrorMessage" + } + } + } catch { + Write-Host "Failed to backup $url" + } + } + } + 'intunecompliance' { + Write-Host "Backup Intune Compliance Policies for $TenantFilter" + New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/deviceManagement/deviceCompliancePolicies?$top=999' -tenantid $TenantFilter | ForEach-Object { + $Template = New-CIPPIntuneTemplate -TenantFilter $TenantFilter -URLName 'deviceCompliancePolicies' -ID $_.ID + $ExistingPolicy = $ExistingTemplates | Where-Object { $_.displayName -eq $Template.DisplayName } | Select-Object -First 1 + if ($ExistingPolicy -and $ExistingPolicy.PartitionKey -eq 'IntuneTemplate') { + "Policy $($Template.DisplayName) found, updating template" + $object = [PSCustomObject]@{ + Displayname = $Template.DisplayName + Description = $Template.Description + RAWJson = $Template.TemplateJson + Type = $Template.Type + GUID = $ExistingPolicy.GUID + } | ConvertTo-Json + + Add-CIPPAzDataTableEntity @Table -Entity @{ + JSON = "$object" + RowKey = $ExistingPolicy.GUID + PartitionKey = 'IntuneTemplate' + } -Force + } else { + "Policy $($Template.DisplayName) not found in existing templates, creating new template" + $GUID = (New-Guid).GUID + $object = [PSCustomObject]@{ + Displayname = $Template.DisplayName + Description = $Template.Description + RAWJson = $Template.TemplateJson + Type = $Template.Type + GUID = $GUID + } | ConvertTo-Json + + Add-CIPPAzDataTableEntity @Table -Entity @{ + JSON = "$object" + RowKey = "$GUID" + PartitionKey = 'IntuneTemplate' + } -Force + } + + } + } + + 'intuneprotection' { + Write-Host "Backup Intune Protection Policies for $TenantFilter" + New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/deviceAppManagement/managedAppPolicies?$top=999' -tenantid $TenantFilter | ForEach-Object { + $Template = New-CIPPIntuneTemplate -TenantFilter $TenantFilter -URLName 'managedAppPolicies' -ID $_.ID + $ExistingPolicy = $ExistingTemplates | Where-Object { $_.displayName -eq $Template.DisplayName } | Select-Object -First 1 + if ($ExistingPolicy -and $ExistingPolicy.PartitionKey -eq 'IntuneTemplate') { + "Policy $($Template.DisplayName) found, updating template" + $object = [PSCustomObject]@{ + Displayname = $Template.DisplayName + Description = $Template.Description + RAWJson = $Template.TemplateJson + Type = $Template.Type + GUID = $ExistingPolicy.GUID + } | ConvertTo-Json + + Add-CIPPAzDataTableEntity @Table -Entity @{ + JSON = "$object" + RowKey = $ExistingPolicy.GUID + PartitionKey = 'IntuneTemplate' + } -Force + } else { + "Policy $($Template.DisplayName) not found in existing templates, creating new template" + $GUID = (New-Guid).GUID + $object = [PSCustomObject]@{ + Displayname = $Template.DisplayName + Description = $Template.Description + RAWJson = $Template.TemplateJson + Type = $Template.Type + GUID = $GUID + } | ConvertTo-Json + + Add-CIPPAzDataTableEntity @Table -Entity @{ + JSON = "$object" + RowKey = "$GUID" + PartitionKey = 'IntuneTemplate' + } -Force + } + } + } + + } + } + return $BackupData +} + diff --git a/Modules/CIPPCore/Public/New-CIPPUserTask.ps1 b/Modules/CIPPCore/Public/New-CIPPUserTask.ps1 new file mode 100644 index 000000000000..6d00a366827f --- /dev/null +++ b/Modules/CIPPCore/Public/New-CIPPUserTask.ps1 @@ -0,0 +1,58 @@ +function New-CIPPUserTask { + [CmdletBinding()] + param ( + $userobj, + $APIName = 'New User Task', + $ExecutingUser + ) + $Results = [System.Collections.Generic.List[string]]::new() + + try { + $CreationResults = New-CIPPUser -userobj $UserObj -APIName $APINAME -ExecutingUser $request.headers.'x-ms-client-principal' + $results.add('Created New User.') + $results.add("Username: $($CreationResults.username)") + $results.add("Password: $($CreationResults.password)") + } catch { + $results.add("Failed to create user. $($_.Exception.Message)" ) + return @{'Results' = $results } + } + + try { + $licenses = (($UserObj | Select-Object 'License_*').psobject.properties | Where-Object { $_.value -EQ $true }).name -replace 'License_', '' + if ($licenses) { + $LicenseResults = Set-CIPPUserLicense -userid $CreationResults.username -TenantFilter $UserObj.tenantID -Licenses $licenses + $Results.Add($LicenseResults) + } + } catch { + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($userobj.tenantID) -message "Failed to assign the license. Error:$($_.Exception.Message)" -Sev 'Error' + $body = $results.add("Failed to assign the license. $($_.Exception.Message)") + } + + try { + if ($Userobj.AddedAliases) { + $AliasResults = Add-CIPPAlias -user $CreationResults.username -Aliases ($UserObj.AddedAliases -split '\s') -UserprincipalName $CreationResults.Username -TenantFilter $UserObj.tenantID -APIName $APINAME -ExecutingUser $request.headers.'x-ms-client-principal' + $results.add($AliasResults) + } + } catch { + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($userobj.tenantID) -message "Failed to create the Aliases. Error:$($_.Exception.Message)" -Sev 'Error' + $body = $results.add("Failed to create the Aliases: $($_.Exception.Message)") + } + if ($userobj.CopyFrom -ne '') { + $CopyFrom = Set-CIPPCopyGroupMembers -ExecutingUser $request.headers.'x-ms-client-principal' -CopyFromId $userObj.CopyFrom -UserID $CreationResults.Username -TenantFilter $UserObj.tenantID + $CopyFrom.Success | ForEach-Object { $results.Add($_) } + $CopyFrom.Error | ForEach-Object { $results.Add($_) } + } + + if ($userobj.setManager) { + $ManagerResult = Set-CIPPManager -user $CreationResults.username -Manager $userObj.setManager.value -TenantFilter $UserObj.tenantID -APIName 'Set Manager' -ExecutingUser $request.headers.'x-ms-client-principal' + $results.add($ManagerResult) + } + + return @{ + Results = $results + username = $CreationResults.username + password = $CreationResults.password + CopyFrom = $CopyFrom + } +} + diff --git a/Modules/CIPPCore/Public/New-CippUser.ps1 b/Modules/CIPPCore/Public/New-CippUser.ps1 new file mode 100644 index 000000000000..c45517f62d96 --- /dev/null +++ b/Modules/CIPPCore/Public/New-CippUser.ps1 @@ -0,0 +1,69 @@ +function New-CIPPUser { + [CmdletBinding()] + param ( + $userobj, + $Aliases = 'Scheduled', + $RestoreValues, + $APIName = 'New User', + $ExecutingUser + ) + + try { + $Aliases = ($UserObj.AddedAliases) -split '\s' + $password = if ($UserObj.password) { $UserObj.password } else { New-passwordString } + $UserprincipalName = "$($UserObj.Username)@$($UserObj.Domain)" + $BodyToship = [pscustomobject] @{ + 'givenName' = $UserObj.FirstName + 'surname' = $UserObj.LastName + 'accountEnabled' = $true + 'displayName' = $UserObj.DisplayName + 'department' = $UserObj.Department + 'mailNickname' = $UserObj.Username + 'userPrincipalName' = $UserprincipalName + 'usageLocation' = $UserObj.usageLocation + 'city' = $UserObj.City + 'country' = $UserObj.Country + 'jobtitle' = $UserObj.Jobtitle + 'mobilePhone' = $UserObj.MobilePhone + 'streetAddress' = $UserObj.streetAddress + 'postalCode' = $UserObj.PostalCode + 'companyName' = $UserObj.CompanyName + 'passwordProfile' = @{ + 'forceChangePasswordNextSignIn' = [bool]$UserObj.MustChangePass + 'password' = $password + } + } + if ($userobj.businessPhone) { $bodytoShip | Add-Member -NotePropertyName businessPhones -NotePropertyValue @($UserObj.businessPhone) } + if ($UserObj.addedAttributes) { + Write-Host 'Found added attribute' + Write-Host "Added attributes: $($UserObj.addedAttributes | ConvertTo-Json)" + $UserObj.addedAttributes.GetEnumerator() | ForEach-Object { + $results.add("Added property $($_.Key) with value $($_.value)") + $bodytoShip | Add-Member -NotePropertyName $_.Key -NotePropertyValue $_.Value + } + } + $bodyToShip = ConvertTo-Json -Depth 10 -InputObject $BodyToship -Compress + $GraphRequest = New-GraphPostRequest -uri 'https://graph.microsoft.com/beta/users' -tenantid $UserObj.tenantID -type POST -body $BodyToship -verbose + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($UserObj.tenantID) -message "Created user $($UserObj.displayname) with id $($GraphRequest.id) " -Sev 'Info' + + try { + $PasswordLink = New-PwPushLink -Payload $password + if ($PasswordLink) { + $password = $PasswordLink + } + } catch { + + } + $Results = @{ + Results = ('Created New User.') + Username = $UserprincipalName + Password = $password + } + } catch { + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($UserObj.tenantID) -message "Failed to create user. Error:$($_.Exception.Message)" -Sev 'Error' + $results = @{ Results = ("Failed to create user. $($_.Exception.Message)" ) } + throw "Failed to create user $($_.Exception.Message)" + } + return $Results +} + diff --git a/Modules/CIPPCore/Public/PermissionsTranslator.json b/Modules/CIPPCore/Public/PermissionsTranslator.json index 1a88f6dbf708..413ac8ae25e1 100644 --- a/Modules/CIPPCore/Public/PermissionsTranslator.json +++ b/Modules/CIPPCore/Public/PermissionsTranslator.json @@ -1019,7 +1019,7 @@ "displayName": "Read and write all user mailbox settings", "id": "f9156939-25cd-4ba8-abfe-7fabcf003749", "origin": "Application (Office 365 Exchange Online)", - "value": "Mailbox.Settings.ReadWrite" + "value": "MailboxSettings.ReadWrite" }, { "description": "Allows the app to read your organization's user flows, without a signed-in user.", diff --git a/Modules/CIPPCore/Public/Remove-CIPPCalendarInvites.ps1 b/Modules/CIPPCore/Public/Remove-CIPPCalendarInvites.ps1 index 22e57c2acff8..3c0d9c326024 100644 --- a/Modules/CIPPCore/Public/Remove-CIPPCalendarInvites.ps1 +++ b/Modules/CIPPCore/Public/Remove-CIPPCalendarInvites.ps1 @@ -9,13 +9,14 @@ function Remove-CIPPCalendarInvites { ) try { - - New-ExoRequest -tenantid $tenantFilter -cmdlet 'Remove-CalendarEvents' -Anchor $username -cmdParams @{Identity = $username; QueryWindowInDays = 730 ; CancelOrganizedMeetings = $true ; Confirm = $false} + + New-ExoRequest -tenantid $tenantFilter -cmdlet 'Remove-CalendarEvents' -Anchor $username -cmdParams @{Identity = $username; QueryWindowInDays = 730 ; CancelOrganizedMeetings = $true ; Confirm = $false } Write-LogMessage -user $ExecutingUser -API $APIName -message "Cancelled all calendar invites for $($username)" -Sev 'Info' -tenant $tenantFilter - "Cancelled all calendar invites for $($username)" + "Cancelled all calendar invites for $($username)" } catch { - Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not cancel calendar invites for $($username): $($_.Exception.Message)" -Sev 'Error' -tenant $tenantFilter - return "Could not cancel calendar invites for $($username). Error: $($_.Exception.Message)" + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not cancel calendar invites for $($username): $($ErrorMessage.NormalizedError)" -Sev 'Error' -tenant $tenantFilter -LogData $ErrorMessage + return "Could not cancel calendar invites for $($username). Error: $($ErrorMessage.NormalizedError)" } } diff --git a/Modules/CIPPCore/Public/Remove-CIPPGroup.ps1 b/Modules/CIPPCore/Public/Remove-CIPPGroup.ps1 index a99750cda781..4dcd10d02988 100644 --- a/Modules/CIPPCore/Public/Remove-CIPPGroup.ps1 +++ b/Modules/CIPPCore/Public/Remove-CIPPGroup.ps1 @@ -5,26 +5,26 @@ function Remove-CIPPGroup { $GroupType, $ID, $DisplayName, - $APIName = "Remove Group", + $APIName = 'Remove Group', $TenantFilter ) try { - if ($GroupType -eq "Distribution List" -or $GroupType -eq "Mail-Enabled Security") { - New-ExoRequest -tenantid $TenantFilter -cmdlet "Remove-DistributionGroup" -cmdParams @{Identity = $id; BypassSecurityGroupManagerCheck = $true } -useSystemMailbox $true - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($tenantfilter) -message "$($DisplayName) Deleted" -Sev "Info" + if ($GroupType -eq 'Distribution List' -or $GroupType -eq 'Mail-Enabled Security') { + New-ExoRequest -tenantid $TenantFilter -cmdlet 'Remove-DistributionGroup' -cmdParams @{Identity = $id; BypassSecurityGroupManagerCheck = $true } -useSystemMailbox $true + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($tenantfilter) -message "$($DisplayName) Deleted" -Sev 'Info' return "Successfully Deleted $($GroupType) group $($DisplayName)" - } - elseif ($GroupType -eq "Microsoft 365" -or $GroupType -eq "Security") { - $GraphRequest = New-GraphPostRequest -uri "https://graph.microsoft.com/v1.0/groups/$($ID)" -tenantid $TenantFilter -type Delete -verbose - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($tenantfilter) -message "$($DisplayName) Deleted" -Sev "Info" + + } elseif ($GroupType -eq 'Microsoft 365' -or $GroupType -eq 'Security') { + $null = New-GraphPostRequest -uri "https://graph.microsoft.com/v1.0/groups/$($ID)" -tenantid $TenantFilter -type Delete -verbose + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($tenantfilter) -message "$($DisplayName) Deleted" -Sev 'Info' return "Successfully Deleted $($GroupType) group $($DisplayName)" } - } - catch { - Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not delete $DisplayName" -Sev "Error" -tenant $TenantFilter - return "Could not delete $DisplayName. Error: $($_.Exception.Message)" + } catch { + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not delete $DisplayName. Error: $($ErrorMessage.NormalizedError)" -Sev 'Error' -tenant $TenantFilter -LogData $ErrorMessage + return "Could not delete $DisplayName. Error: $($ErrorMessage.NormalizedError)" } } diff --git a/Modules/CIPPCore/Public/Remove-CIPPGroupMember.ps1 b/Modules/CIPPCore/Public/Remove-CIPPGroupMember.ps1 index 54c6a33e1a9d..c434625a3537 100644 --- a/Modules/CIPPCore/Public/Remove-CIPPGroupMember.ps1 +++ b/Modules/CIPPCore/Public/Remove-CIPPGroupMember.ps1 @@ -1,28 +1,29 @@ function Remove-CIPPGroupMember( [string]$ExecutingUser, - [string]$GroupType, + [string]$GroupType, [string]$GroupId, - [string]$Member, + [string]$Member, [string]$TenantFilter, [string]$APIName = 'Remove Group Member' ) { try { if ($member -like '*#EXT#*') { $member = [System.Web.HttpUtility]::UrlEncode($member) } - $MemberIDs = 'https://graph.microsoft.com/v1.0/directoryObjects/' + (New-GraphGetRequest -uri "https://graph.microsoft.com/beta/users/$($member)" -tenantid $TenantFilter).id - $addmemberbody = "{ `"members@odata.bind`": $(ConvertTo-Json @($MemberIDs)) }" + # $MemberIDs = 'https://graph.microsoft.com/v1.0/directoryObjects/' + (New-GraphGetRequest -uri "https://graph.microsoft.com/beta/users/$($member)" -tenantid $TenantFilter).id + # $addmemberbody = "{ `"members@odata.bind`": $(ConvertTo-Json @($MemberIDs)) }" if ($GroupType -eq 'Distribution list' -or $GroupType -eq 'Mail-Enabled Security') { $Params = @{ Identity = $GroupId; Member = $member; BypassSecurityGroupManagerCheck = $true } - New-ExoRequest -tenantid $TenantFilter -cmdlet 'Remove-DistributionGroupMember' -cmdParams $params -UseSystemMailbox $true + New-ExoRequest -tenantid $TenantFilter -cmdlet 'Remove-DistributionGroupMember' -cmdParams $params -UseSystemMailbox $true } else { New-GraphPostRequest -uri "https://graph.microsoft.com/beta/groups/$($GroupId)/members/$($Member)/`$ref" -tenantid $TenantFilter -type DELETE -body '{}' -Verbose } $Message = "Successfully removed user $($Member) from $($GroupId)." Write-LogMessage -user $ExecutingUser -API $APIName -tenant $TenantFilter -message $Message -Sev 'Info' return $message + } catch { - $message = "Failed to remove user $($Member) from $($GroupId): $($_.Exception.Message)" - Write-LogMessage -user $ExecutingUser -API $APIName -tenant $TenantFilter -message $message -Sev 'error' - return $message + $ErrorMessage = Get-CippException -Exception $_ + $message = "Failed to remove user $($Member) from $($GroupId): $($ErrorMessage.NormalizedError)" + Write-LogMessage -user $ExecutingUser -API $APIName -tenant $TenantFilter -message $message -Sev 'error' -LogData $ErrorMessage + return $message } - } diff --git a/Modules/CIPPCore/Public/Remove-CIPPGroups.ps1 b/Modules/CIPPCore/Public/Remove-CIPPGroups.ps1 index e37df34f2bf0..e9cb0b078b23 100644 --- a/Modules/CIPPCore/Public/Remove-CIPPGroups.ps1 +++ b/Modules/CIPPCore/Public/Remove-CIPPGroups.ps1 @@ -17,16 +17,16 @@ function Remove-CIPPGroups { Import-Module '.\Modules\AzBobbyTables' Import-Module '.\Modules\CIPPCore' $group = $_ - - try { + + try { $Groupname = ($using:AllGroups | Where-Object -Property id -EQ $group).displayName $IsMailEnabled = ($using:AllGroups | Where-Object -Property id -EQ $group).mailEnabled - $IsM365Group = ($using:AllGroups | Where-Object { $_.id -eq $group -and $_.groupTypes -contains 'Unified' }) -ne $null + $IsM365Group = $null -ne ($using:AllGroups | Where-Object { $_.id -eq $group -and $_.groupTypes -contains 'Unified' }) if ($IsM365Group) { - $RemoveRequest = New-GraphPostRequest -uri "https://graph.microsoft.com/beta/groups/$_/members/$($using:userid)/`$ref" -tenantid $using:tenantFilter -type DELETE -body '' -Verbose + $null = New-GraphPostRequest -uri "https://graph.microsoft.com/beta/groups/$_/members/$($using:userid)/`$ref" -tenantid $using:tenantFilter -type DELETE -body '' -Verbose } elseif (-not $IsMailEnabled) { - $RemoveRequest = New-GraphPostRequest -uri "https://graph.microsoft.com/beta/groups/$_/members/$($using:userid)/`$ref" -tenantid $using:tenantFilter -type DELETE -body '' -Verbose + $null = New-GraphPostRequest -uri "https://graph.microsoft.com/beta/groups/$_/members/$($using:userid)/`$ref" -tenantid $using:tenantFilter -type DELETE -body '' -Verbose } elseif ($IsMailEnabled) { $Params = @{ Identity = $Groupname; Member = $using:userid ; BypassSecurityGroupManagerCheck = $true } New-ExoRequest -tenantid $using:tenantFilter -cmdlet 'Remove-DistributionGroupMember' -cmdParams $params -UseSystemMailbox $true @@ -35,13 +35,14 @@ function Remove-CIPPGroups { Write-LogMessage -user $using:ExecutingUser -API $($using:APIName) -message "Removed $($using:Username) from $groupname" -Sev 'Info' -tenant $using:TenantFilter "Successfully removed $($using:Username) from group $Groupname" } catch { - Write-LogMessage -user $using:ExecutingUser -API $($using:APIName) -message "Could not remove $($using:Username) from group $groupname" -Sev 'Error' -tenant $using:TenantFilter - "Could not remove $($using:Username) from group $($Groupname): $($_.Exception.Message). This is likely because its a Dynamic Group or synched with active directory" + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $using:ExecutingUser -API $($using:APIName) -message "Could not remove $($using:Username) from group $groupname : $($ErrorMessage.NormalizedError)" -Sev 'Error' -tenant $using:TenantFilter -LogData $ErrorMessage + "Could not remove $($using:Username) from group $($Groupname): $($ErrorMessage.NormalizedError). This is likely because its a Dynamic Group or synched with active directory" } } if (!$Returnval) { $Returnval = "$($Username) is not a member of any groups." Write-LogMessage -user $ExecutingUser -API $APIName -message "$($Username) is not a member of any groups" -Sev 'Info' -tenant $TenantFilter - } + } return $Returnval } diff --git a/Modules/CIPPCore/Public/Remove-CIPPLicense.ps1 b/Modules/CIPPCore/Public/Remove-CIPPLicense.ps1 index 68c037b495fc..6bf266fc7a7a 100644 --- a/Modules/CIPPCore/Public/Remove-CIPPLicense.ps1 +++ b/Modules/CIPPCore/Public/Remove-CIPPLicense.ps1 @@ -5,31 +5,57 @@ function Remove-CIPPLicense { $userid, $username, $APIName = 'Remove License', - $TenantFilter + $TenantFilter, + [switch]$Schedule ) - try { - $ConvertTable = Import-Csv Conversiontable.csv - $User = New-GraphGetRequest -uri "https://graph.microsoft.com/beta/users/$($userid)" -tenantid $tenantFilter - if (!$username) { $username = $User.userPrincipalName } - $CurrentLicenses = $User.assignedlicenses.skuid - $ConvertedLicense = $(($ConvertTable | Where-Object { $_.guid -in $CurrentLicenses }).'Product_Display_Name' | Sort-Object -Unique) -join ', ' - if ($CurrentLicenses) { - $LicensePayload = [PSCustomObject]@{ - addLicenses = @() - removeLicenses = @($CurrentLicenses) + if ($Schedule.IsPresent) { + $ScheduledTask = @{ + TenantFilter = $TenantFilter + Name = "Remove License: $Username" + Command = @{ + value = 'Remove-CIPPLicense' } - if ($PSCmdlet.ShouldProcess($userid, "Remove licenses: $ConvertedLicense")) { - $null = New-GraphPostRequest -uri "https://graph.microsoft.com/beta/users/$($userid)/assignlicense" -tenantid $tenantFilter -type POST -body (ConvertTo-Json -InputObject $LicensePayload -Compress -Depth 5) -verbose - Write-LogMessage -user $ExecutingUser -API $APIName -message "Removed licenses for $($username): $ConvertedLicense" -Sev 'Info' -tenant $TenantFilter + Parameters = [pscustomobject]@{ + userid = $userid + username = $username + APIName = 'Scheduled License Removal' + ExecutingUser = $ExecutingUser } - return "Removed licenses for $($Username): $ConvertedLicense" - } else { - Write-LogMessage -user $ExecutingUser -API $APIName -message "No licenses to remove for $username" -Sev 'Info' -tenant $TenantFilter - return "No licenses to remove for $username" + ScheduledTime = [int64](([datetime]::UtcNow).AddMinutes(5) - (Get-Date '1/1/1970')).TotalSeconds + PostExecution = @{ + Webhook = $false + Email = $false + PSA = $false + } + } + Add-CIPPScheduledTask -Task $ScheduledTask -hidden $false + return "Scheduled license removal for $username" + } else { + try { + $ConvertTable = Import-Csv ConversionTable.csv + $User = New-GraphGetRequest -uri "https://graph.microsoft.com/beta/users/$($userid)" -tenantid $tenantFilter + if (!$username) { $username = $User.userPrincipalName } + $CurrentLicenses = $User.assignedlicenses.skuid + $ConvertedLicense = $(($ConvertTable | Where-Object { $_.guid -in $CurrentLicenses }).'Product_Display_Name' | Sort-Object -Unique) -join ', ' + if ($CurrentLicenses) { + $LicensePayload = [PSCustomObject]@{ + addLicenses = @() + removeLicenses = @($CurrentLicenses) + } + if ($PSCmdlet.ShouldProcess($userid, "Remove licenses: $ConvertedLicense")) { + $null = New-GraphPostRequest -uri "https://graph.microsoft.com/beta/users/$($userid)/assignlicense" -tenantid $tenantFilter -type POST -body (ConvertTo-Json -InputObject $LicensePayload -Compress -Depth 5) -verbose + Write-LogMessage -user $ExecutingUser -API $APIName -message "Removed licenses for $($username): $ConvertedLicense" -Sev 'Info' -tenant $TenantFilter + } + return "Removed licenses for $($Username): $ConvertedLicense" + } else { + Write-LogMessage -user $ExecutingUser -API $APIName -message "No licenses to remove for $username" -Sev 'Info' -tenant $TenantFilter + return "No licenses to remove for $username" + } + } catch { + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not remove license for $username. Error: $($ErrorMessage.NormalizedError)" -Sev 'Error' -tenant $TenantFilter -LogData $ErrorMessage + return "Could not remove license for $($username). Error: $($ErrorMessage.NormalizedError)" } - } catch { - Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not remove license for $username" -Sev 'Error' -tenant $TenantFilter -LogData (Get-CippException -Exception $_) - return "Could not remove license for $($username). Error: $($_.Exception.Message)" } } diff --git a/Modules/CIPPCore/Public/Remove-CIPPMailboxPermissions.ps1 b/Modules/CIPPCore/Public/Remove-CIPPMailboxPermissions.ps1 index 7035a083ff0f..31c400a79d5c 100644 --- a/Modules/CIPPCore/Public/Remove-CIPPMailboxPermissions.ps1 +++ b/Modules/CIPPCore/Public/Remove-CIPPMailboxPermissions.ps1 @@ -11,7 +11,7 @@ function Remove-CIPPMailboxPermissions { try { if ($userid -eq 'AllUsers') { - $Mailboxes = New-ExoRequest -tenantid $TenantFilter -cmdlet 'get-mailbox' + $Mailboxes = New-ExoRequest -tenantid $TenantFilter -cmdlet 'Get-Mailbox' -Select UserPrincipalName $Mailboxes | ForEach-Object -Parallel { Import-Module '.\Modules\AzBobbyTables' Import-Module '.\Modules\CIPPCore' @@ -25,7 +25,7 @@ function Remove-CIPPMailboxPermissions { $MailboxPerms = New-ExoRequest -Anchor $UserId -tenantid $Tenantfilter -cmdlet 'Set-Mailbox' -cmdParams @{Identity = $userid; GrantSendonBehalfTo = @{'@odata.type' = '#Exchange.GenericHashTable'; remove = $AccessUser }; } if ($MailboxPerms -notlike '*completed successfully but no settings of*') { Write-LogMessage -user $ExecutingUser -API $APIName -message "Removed SendOnBehalf permissions for $($AccessUser) from $($userid)'s mailbox." -Sev 'Info' -tenant $TenantFilter - "Removed SendOnBehalf permissions for $($AccessUser) from $($userid)'s mailbox." + "Removed SendOnBehalf permissions for $($AccessUser) from $($userid)'s mailbox." } } 'SendAS' { @@ -36,7 +36,19 @@ function Remove-CIPPMailboxPermissions { } } 'FullAccess' { - $permissions = New-ExoRequest -tenantid $TenantFilter -cmdlet 'Remove-MailboxPermission' -cmdParams @{Identity = $userid; user = $AccessUser; accessRights = @('FullAccess') } -Anchor $userid + $ExoRequest = @{ + tenantid = $TenantFilter + cmdlet = 'Remove-MailboxPermission' + cmdParams = @{ + Identity = $userid + user = $AccessUser + accessRights = @('FullAccess') + Verbose = $true + } + Anchor = $userid + } + New-ExoRequest @ExoRequest + if ($permissions -notlike "*because the ACE doesn't exist on the object.*") { Write-LogMessage -user $ExecutingUser -API $APIName -message "Removed FullAccess permissions for $($AccessUser) from $($userid)'s mailbox." -Sev 'Info' -tenant $TenantFilter "Removed FullAccess permissions for $($AccessUser) from $($userid)'s mailbox." @@ -47,7 +59,8 @@ function Remove-CIPPMailboxPermissions { } return $Results } catch { - Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not remove mailbox permissions for $($userid). Error: $($_.Exception.Message)" -Sev 'Error' -tenant $TenantFilter - return "Could not remove mailbox permissions for $($userid). Error: $($_.Exception.Message)" + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not remove mailbox permissions for $($userid). Error: $($ErrorMessage.NormalizedError)" -Sev 'Error' -tenant $TenantFilter -LogData $ErrorMessage + return "Could not remove mailbox permissions for $($userid). Error: $($ErrorMessage.NormalizedError)" } } diff --git a/Modules/CIPPCore/Public/Remove-CIPPMailboxRule.ps1 b/Modules/CIPPCore/Public/Remove-CIPPMailboxRule.ps1 new file mode 100644 index 000000000000..82fa745d6f83 --- /dev/null +++ b/Modules/CIPPCore/Public/Remove-CIPPMailboxRule.ps1 @@ -0,0 +1,48 @@ +function Remove-CIPPMailboxRule { + [CmdletBinding()] + param ( + $userid, + $username, + $TenantFilter, + $APIName = 'Mailbox Rules Removal', + $ExecutingUser, + $RuleId, + $RuleName, + [switch]$RemoveAllRules + ) + + if ($RemoveAllRules.IsPresent -eq $true) { + # Delete all rules + try { + Write-Host "Checking rules for $username" + $rules = New-ExoRequest -tenantid $TenantFilter -cmdlet 'Get-InboxRule' -cmdParams @{Mailbox = $username; IncludeHidden = $true } | Where-Object { $_.Name -ne 'Junk E-Mail Rule' -and $_.Name -notlike 'Microsoft.Exchange.OOF.*' } + Write-Host "$($rules.count) rules found" + if ($null -eq $rules) { + Write-LogMessage -user $ExecutingUser -API $APIName -message "No Rules for $($username) to delete" -Sev 'Info' -tenant $TenantFilter + return "No rules for $($username) to delete" + } else { + ForEach ($rule in $rules) { + New-ExoRequest -tenantid $TenantFilter -cmdlet 'Remove-InboxRule' -Anchor $username -cmdParams @{Identity = $rule.Identity } + } + Write-LogMessage -user $ExecutingUser -API $APIName -message "Deleted Rules for $($username)" -Sev 'Info' -tenant $TenantFilter + return "Deleted Rules for $($username)" + } + } catch { + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not delete rules for $($username): $($ErrorMessage.NormalizedError)" -Sev 'Error' -tenant $TenantFilter -LogData $ErrorMessage + return "Could not delete rules for $($username). Error: $($ErrorMessage.NormalizedError)" + } + } else { + # Only delete 1 rule + try { + $null = New-ExoRequest -tenantid $TenantFilter -cmdlet 'Remove-InboxRule' -Anchor $username -cmdParams @{Identity = $RuleId } + Write-LogMessage -user $ExecutingUser -API $APIName -message "Deleted mailbox rule $($RuleName) for $($username)" -Sev 'Info' -tenant $TenantFilter + return "Deleted mailbox rule $($RuleName) for $($username)" + } catch { + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not delete rule for $($username): $($ErrorMessage.NormalizedError)" -Sev 'Error' -tenant $TenantFilter -LogData $ErrorMessage + return "Could not delete rule for $($username). Error: $($ErrorMessage.NormalizedError)" + } + } +} + diff --git a/Modules/CIPPCore/Public/Remove-CIPPMobileDevice.ps1 b/Modules/CIPPCore/Public/Remove-CIPPMobileDevice.ps1 index e5ae407bf35e..54706e3e97f3 100644 --- a/Modules/CIPPCore/Public/Remove-CIPPMobileDevice.ps1 +++ b/Modules/CIPPCore/Public/Remove-CIPPMobileDevice.ps1 @@ -17,11 +17,12 @@ function Remove-CIPPMobileDevice { "Could not remove device: $($_.FriendlyName)" } } - if (!$Devices) { $Devices ='No mobile devices have been removed as we could not find any' } + if (!$Devices) { $Devices = 'No mobile devices have been removed as we could not find any' } Write-LogMessage -user $ExecutingUser -API $APIName -message "Deleted mobile devices for $($username)" -Sev 'Info' -tenant $tenantFilter return $devices } catch { - Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not delete mobile devices for $($username): $($_.Exception.Message)" -Sev 'Error' -tenant $tenantFilter - return "Could not delete mobile devices for $($username). Error: $($_.Exception.Message)" + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not delete mobile devices for $($username): $($ErrorMessage.NormalizedError)" -Sev 'Error' -tenant $tenantFilter -LogData $ErrorMessage + return "Could not delete mobile devices for $($username). Error: $($ErrorMessage.NormalizedError)" } } diff --git a/Modules/CIPPCore/Public/Remove-CIPPRules.ps1 b/Modules/CIPPCore/Public/Remove-CIPPRules.ps1 deleted file mode 100644 index c7e481bd0943..000000000000 --- a/Modules/CIPPCore/Public/Remove-CIPPRules.ps1 +++ /dev/null @@ -1,31 +0,0 @@ -function Remove-CIPPRules { - [CmdletBinding()] - param ( - $userid, - $username, - $TenantFilter, - $APIName = "Rules Removal", - $ExecutingUser - ) - - try { - Write-Host "Checking rules for $username" - $rules = New-ExoRequest -tenantid $TenantFilter -cmdlet "Get-InboxRule" -cmdParams @{mailbox = $username } - Write-Host "$($rules.count) rules found" - if ($rules -eq $null) { - Write-LogMessage -user $ExecutingUser -API $APIName -message "No Rules for $($username) to delete" -Sev "Info" -tenant $TenantFilter - return "No rules for $($username) to delete" - } - else { - ForEach ($rule in $rules) { - New-ExoRequest -tenantid $TenantFilter -cmdlet "Remove-InboxRule" -Anchor $username -cmdParams @{Identity = $rule.Identity } - } - Write-LogMessage -user $ExecutingUser -API $APIName -message "Deleted Rules for $($username)" -Sev "Info" -tenant $TenantFilter - return "Deleted Rules for $($username)" - } - } - catch { - Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not delete rules for $($username): $($_.Exception.Message)" -Sev "Error" -tenant $TenantFilter - return "Could not delete rules for $($username). Error: $($_.Exception.Message)" - } -} diff --git a/Modules/CIPPCore/Public/Remove-CIPPUser.ps1 b/Modules/CIPPCore/Public/Remove-CIPPUser.ps1 index 788a4e3332d3..f144b7f1213f 100644 --- a/Modules/CIPPCore/Public/Remove-CIPPUser.ps1 +++ b/Modules/CIPPCore/Public/Remove-CIPPUser.ps1 @@ -4,19 +4,19 @@ function Remove-CIPPUser { $ExecutingUser, $userid, $username, - $APIName = "Remove User", + $APIName = 'Remove User', $TenantFilter ) try { - $DeleteRequest = New-GraphPostRequest -uri "https://graph.microsoft.com/beta/users/$($userid)" -type DELETE -tenant $TenantFilter - Write-LogMessage -user $ExecutingUser, -API $APIName -message "Deleted account $username" -Sev "Info" -tenant $TenantFilter + $null = New-GraphPostRequest -uri "https://graph.microsoft.com/beta/users/$($userid)" -type DELETE -tenant $TenantFilter + Write-LogMessage -user $ExecutingUser, -API $APIName -message "Deleted account $username" -Sev 'Info' -tenant $TenantFilter return "Deleted the user account $username" - } - catch { - Write-LogMessage -user $ExecutingUser, -API $APIName -message "Could not delete $username" -Sev "Error" -tenant $TenantFilter - return "Could not delete $username. Error: $($_.Exception.Message)" + } catch { + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $ExecutingUser, -API $APIName -message "Could not delete $username. Error: $($ErrorMessage.NormalizedError)" -Sev 'Error' -tenant $TenantFilter -LogData $ErrorMessage + return "Could not delete $username. Error: $($ErrorMessage.NormalizedError)" } } diff --git a/Modules/CIPPCore/Public/Request-CIPPSPOPersonalSite.ps1 b/Modules/CIPPCore/Public/Request-CIPPSPOPersonalSite.ps1 index 44f1764b674c..ec686280b938 100644 --- a/Modules/CIPPCore/Public/Request-CIPPSPOPersonalSite.ps1 +++ b/Modules/CIPPCore/Public/Request-CIPPSPOPersonalSite.ps1 @@ -42,10 +42,11 @@ function Request-CIPPSPOPersonalSite { try { $Request = New-GraphPostRequest -scope "$AdminURL/.default" -tenantid $TenantFilter -Uri "$AdminURL/_vti_bin/client.svc/ProcessQuery" -Type POST -Body $XML -ContentType 'text/xml' if (!$Request.IsComplete) { throw } - Write-LogMessage -user $ExecutingUser -API $APIName -message "Requested personal site for $($Users -join ', ')" -Sev 'Info' -tenant $TenantFilter - return "Requested personal site for $($Users -join ', ')" + Write-LogMessage -user $ExecutingUser -API $APIName -message "Requested personal site for $($UserEmails -join ', ')" -Sev 'Info' -tenant $TenantFilter + return "Requested personal site for $($UserEmails -join ', ')" } catch { - Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not request personal site for $($Users -join ', ')" -Sev 'Error' -tenant $TenantFilter - return "Could not request personal site for $($Users -join ', '). Error: $($_.Exception.Message)" + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not request personal site for $($UserEmails -join ', '). Error: $($ErrorMessage.NormalizedError)" -Sev 'Error' -tenant $TenantFilter -LogData $ErrorMessage + return "Could not request personal site for $($UserEmails -join ', '). Error: $($ErrorMessage.NormalizedError)" } -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/Revoke-CIPPSessions.ps1 b/Modules/CIPPCore/Public/Revoke-CIPPSessions.ps1 index a43996e3fe68..a20a0df59c8e 100644 --- a/Modules/CIPPCore/Public/Revoke-CIPPSessions.ps1 +++ b/Modules/CIPPCore/Public/Revoke-CIPPSessions.ps1 @@ -4,18 +4,18 @@ function Revoke-CIPPSessions { $ExecutingUser, $userid, $username, - $APIName = "Revoke Sessions", + $APIName = 'Revoke Sessions', $TenantFilter ) try { - $GraphRequest = New-GraphPostRequest -uri "https://graph.microsoft.com/beta/users/$($userid)/invalidateAllRefreshTokens" -tenantid $TenantFilter -type POST -body '{}' -verbose - Write-LogMessage -user $ExecutingUser -API $APIName -message "Revoked sessions for $($username)" -Sev "Info" -tenant $TenantFilter + $GraphRequest = New-GraphPostRequest -uri "https://graph.microsoft.com/beta/users/$($userid)/invalidateAllRefreshTokens" -tenantid $TenantFilter -type POST -body '{}' -verbose + Write-LogMessage -user $ExecutingUser -API $APIName -message "Revoked sessions for $($username)" -Sev 'Info' -tenant $TenantFilter return "Success. All sessions by $username have been revoked" - } - catch { - Write-LogMessage -user $ExecutingUser -API $APIName -message "Failed to revoke sessions for $($username): $($_.Exception.Message)" -Sev "Error" -tenant $TenantFilter - return "Revoke Session Failed: $($_.Exception.Message)" + } catch { + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $ExecutingUser -API $APIName -message "Failed to revoke sessions for $($username): $($ErrorMessage.NormalizedError)" -Sev 'Error' -tenant $TenantFilter -LogData $ErrorMessage + return "Revoke Session Failed: $($ErrorMessage.NormalizedError)" } } diff --git a/Modules/CIPPCore/Public/SAMManifest.json b/Modules/CIPPCore/Public/SAMManifest.json index 50a03c019af1..8d79357f0079 100644 --- a/Modules/CIPPCore/Public/SAMManifest.json +++ b/Modules/CIPPCore/Public/SAMManifest.json @@ -1,195 +1,618 @@ -{ - "isFallbackPublicClient": true, - "signInAudience": "AzureADMultipleOrgs", - "displayName": "CIPP-SAM", - "web": { - "redirectUris": [ - "https://login.microsoftonline.com/common/oauth2/nativeclient", - "https://localhost", - "http://localhost", - "http://localhost:8400" - ] - }, - "requiredResourceAccess": [ - { - "resourceAppId": "aeb86249-8ea3-49e2-900b-54cc8e308f85", - "resourceAccess": [ - { "id": "fc946a4f-bc4d-413b-a090-b2c86113ec4f", "type": "Scope" } - ] - }, - { - "resourceAppId": "fa3d9a0c-3fb0-42cc-9193-47c7ecd2edbd", - "resourceAccess": [ - { "id": "1cebfa2a-fb4d-419e-b5f9-839b4383e05a", "type": "Scope" } - ] - }, - { - "resourceAppId": "00000003-0000-0000-c000-000000000000", - "resourceAccess": [ - { "id": "aa07f155-3612-49b8-a147-6c590df35536", "type": "Scope" }, - { "id": "73e75199-7c3e-41bb-9357-167164dbb415", "type": "Scope" }, - { "id": "d01b97e9-cbc0-49fe-810a-750afd5527a3", "type": "Scope" }, - { "id": "46ca0847-7e6b-426e-9775-ea810a948356", "type": "Scope" }, - { "id": "dc38509c-b87d-4da0-bd92-6bec988bac4a", "type": "Scope" }, - { "id": "7427e0e9-2fba-42fe-b0c0-848c9e6a8182", "type": "Scope" }, - { "id": "ad902697-1014-4ef5-81ef-2b4301988e8c", "type": "Scope" }, - { "id": "572fea84-0151-49b2-9301-11cb16974376", "type": "Scope" }, - { "id": "e4c9e354-4dc5-45b8-9e7c-e1393b0b1a20", "type": "Scope" }, - { "id": "0883f392-0a7a-443d-8c76-16a6d39c7b63", "type": "Scope" }, - { "id": "7b3f05d5-f68c-4b8d-8c59-a2ecd12f24af", "type": "Scope" }, - { "id": "0c5e8a55-87a6-4556-93ab-adc52c4d862d", "type": "Scope" }, - { "id": "44642bfe-8385-4adc-8fc6-fe3cb2c375c3", "type": "Scope" }, - { "id": "662ed50a-ac44-4eef-ad86-62eed9be2a29", "type": "Scope" }, - { "id": "6aedf524-7e1c-45a7-bd76-ded8cab8d0fc", "type": "Scope" }, - { "id": "bac3b9c2-b516-4ef4-bd3b-c2ef73d8d804", "type": "Scope" }, - { "id": "11d4cd79-5ba5-460f-803f-e22c8ab85ccd", "type": "Scope" }, - { "id": "02e97553-ed7b-43d0-ab3c-f8bace0d040c", "type": "Scope" }, - { "id": "89fe6a52-be36-487e-b7d8-d061c450a026", "type": "Scope" }, - { "id": "a367ab51-6b49-43bf-a716-a1fb06d2a174", "type": "Scope" }, - { "id": "204e0828-b5ca-4ad8-b9f3-f32a958e7cc4", "type": "Scope" }, - { "id": "4e46008b-f24c-477d-8fff-7bb4ec7aafe0", "type": "Scope" }, - { "id": "0e263e50-5827-48a4-b97c-d940288653c7", "type": "Scope" }, - { "id": "e383f46e-2787-4529-855e-0e479a3ffac0", "type": "Scope" }, - { "id": "37f7f235-527c-4136-accd-4a02d197296e", "type": "Scope" }, - { "id": "14dad69e-099b-42c9-810b-d002981feec1", "type": "Scope" }, - { "id": "f6a3db3e-f7e8-4ed2-a414-557c8c9830be", "type": "Scope" }, - { "id": "0e755559-83fb-4b44-91d0-4cc721b9323e", "type": "Scope" }, - { "id": "a84a9652-ffd3-496e-a991-22ba5529156a", "type": "Scope" }, - { "id": "1d89d70c-dcac-4248-b214-903c457af83a", "type": "Scope" }, - { "id": "2b61aa8a-6d36-4b2f-ac7b-f29867937c53", "type": "Scope" }, - { "id": "ebf0f66e-9fb1-49e4-a278-222f76911cf4", "type": "Scope" }, - { "id": "bdfbf15f-ee85-4955-8675-146e8e5296b5", "type": "Scope" }, - { "id": "f81125ac-d3b7-4573-a3b2-7099cc39df9e", "type": "Scope" }, - { "id": "cac97e40-6730-457d-ad8d-4852fddab7ad", "type": "Scope" }, - { "id": "b7887744-6746-4312-813d-72daeaee7e2d", "type": "Scope" }, - { "id": "48971fc1-70d7-4245-af77-0beb29b53ee2", "type": "Scope" }, - { "id": "aec28ec7-4d02-4e8c-b864-50163aea77eb", "type": "Scope" }, - { "id": "a9ff19c2-f369-4a95-9a25-ba9d460efc8e", "type": "Scope" }, - { "id": "b98bfd41-87c6-45cc-b104-e2de4f0dafb9", "type": "Scope" }, - { "id": "2f9ee017-59c1-4f1d-9472-bd5529a7b311", "type": "Scope" }, - { "id": "951183d1-1a61-466f-a6d1-1fde911bfd95", "type": "Scope" }, - { "id": "637d7bec-b31e-4deb-acc9-24275642a2c9", "type": "Scope" }, - { "id": "101147cf-4178-4455-9d58-02b5c164e759", "type": "Scope" }, - { "id": "cc83893a-e232-4723-b5af-bd0b01bcfe65", "type": "Scope" }, - { "id": "233e0cf1-dd62-48bc-b65b-b38fe87fcf8e", "type": "Scope" }, - { "id": "d649fb7c-72b4-4eec-b2b4-b15acf79e378", "type": "Scope" }, - { "id": "485be79e-c497-4b35-9400-0e3fa7f2a5d4", "type": "Scope" }, - { "id": "9d8982ae-4365-4f57-95e9-d6032a4c0b87", "type": "Scope" }, - { "id": "48638b3c-ad68-4383-8ac4-e6880ee6ca57", "type": "Scope" }, - { "id": "39d65650-9d3e-4223-80db-a335590d027e", "type": "Scope" }, - { "id": "4a06efd2-f825-4e34-813e-82a57b03d1ee", "type": "Scope" }, - { "id": "f3bfad56-966e-4590-a536-82ecf548ac1e", "type": "Scope" }, - { "id": "4d135e65-66b8-41a8-9f8b-081452c91774", "type": "Scope" }, - { "id": "2eadaff8-0bce-4198-a6b9-2cfc35a30075", "type": "Scope" }, - { "id": "0c3e411a-ce45-4cd1-8f30-f99a3efa7b11", "type": "Scope" }, - { "id": "edb72de9-4252-4d03-a925-451deef99db7", "type": "Scope" }, - { "id": "767156cb-16ae-4d10-8f8b-41b657c8c8c8", "type": "Scope" }, - { "id": "7e823077-d88e-468f-a337-e18f1f0e6c7c", "type": "Scope" }, - { "id": "edd3c878-b384-41fd-95ad-e7407dd775be", "type": "Scope" }, - { "id": "40b534c3-9552-4550-901b-23879c90bcf9", "type": "Scope" }, - { "id": "7825d5d6-6049-4ce7-bdf6-3b8d53f4bcd0", "type": "Scope" }, - { "id": "2104a4db-3a2f-4ea0-9dba-143d457dc666", "type": "Scope" }, - { "id": "eda39fa6-f8cf-4c3c-a909-432c683e4c9b", "type": "Scope" }, - { "id": "55896846-df78-47a7-aa94-8d3d4442ca7f", "type": "Scope" }, - { "id": "128ca929-1a19-45e6-a3b8-435ec44a36ba", "type": "Scope" }, - { "id": "b27add92-efb2-4f16-84f5-8108ba77985c", "type": "Scope" }, - { "id": "3404d2bf-2b13-457e-a330-c24615765193", "type": "Scope" }, - { "id": "b955410e-7715-4a88-a940-dfd551018df3", "type": "Scope" }, - { "id": "5b07b0dd-2377-4e44-a38d-703f09a0dc3c", "type": "Role" }, - { "id": "19b94e34-907c-4f43-bde9-38b1909ed408", "type": "Role" }, - { "id": "999f8c63-0a38-4f1b-91fd-ed1947bdd1a9", "type": "Role" }, - { "id": "292d869f-3427-49a8-9dab-8c70152b74e9", "type": "Role" }, - { "id": "2f51be20-0bb4-4fed-bf7b-db946066c75e", "type": "Role" }, - { "id": "58ca0d9a-1575-47e1-a3cb-007ef2e4583b", "type": "Role" }, - { "id": "06a5fe6d-c49d-46a7-b082-56b1b14103c7", "type": "Role" }, - { "id": "246dd0d5-5bd0-4def-940b-0421030a5b68", "type": "Role" }, - { "id": "bf394140-e372-4bf9-a898-299cfc7564e5", "type": "Role" }, - { "id": "741f803b-c850-494e-b5df-cde7c675a1ca", "type": "Role" }, - { "id": "230c1aed-a721-4c5d-9cb4-a90514e508ef", "type": "Role" }, - { "id": "b633e1c5-b582-4048-a93e-9f11b44c7e96", "type": "Role" }, - { "id": "5b567255-7703-4780-807c-7be8301ae99b", "type": "Role" }, - { "id": "62a82d76-70ea-41e2-9197-370581804d09", "type": "Role" }, - { "id": "7ab1d382-f21e-4acd-a863-ba3e13f7da61", "type": "Role" }, - { "id": "1138cb37-bd11-4084-a2b7-9f71582aeddb", "type": "Role" }, - { "id": "78145de6-330d-4800-a6ce-494ff2d33d07", "type": "Role" }, - { "id": "9241abd9-d0e6-425a-bd4f-47ba86e767a4", "type": "Role" }, - { "id": "5b07b0dd-2377-4e44-a38d-703f09a0dc3c", "type": "Role" }, - { "id": "243333ab-4d21-40cb-a475-36241daa0842", "type": "Role" }, - { "id": "e330c4f0-4170-414e-a55a-2f022ec2b57b", "type": "Role" }, - { "id": "5ac13192-7ace-4fcf-b828-1a26f28068ee", "type": "Role" }, - { "id": "2f6817f8-7b12-4f0f-bc18-eeaf60705a9e", "type": "Role" }, - { "id": "dbaae8cf-10b5-4b86-a4a1-f871c94c6695", "type": "Role" }, - { "id": "bf7b1a76-6e77-406b-b258-bf5c7720e98f", "type": "Role" }, - { "id": "01c0a623-fc9b-48e9-b794-0756f8e8f067", "type": "Role" }, - { "id": "50483e42-d915-4231-9639-7fdb7fd190e5", "type": "Role" }, - { "id": "dbb9058a-0e50-45d7-ae91-66909b5d4664", "type": "Role" }, - { "id": "a82116e5-55eb-4c41-a434-62fe8a61c773", "type": "Role" }, - { "id": "f3a65bd4-b703-46df-8f7e-0174fea562aa", "type": "Role" }, - { "id": "59a6b24b-4225-4393-8165-ebaec5f55d7a", "type": "Role" }, - { "id": "0121dc95-1b9f-4aed-8bac-58c5ac466691", "type": "Role" }, - { "id": "3b55498e-47ec-484f-8136-9013221c06a9", "type": "Role" }, - { "id": "35930dcf-aceb-4bd1-b99a-8ffed403c974", "type": "Role" }, - { "id": "25f85f3c-f66c-4205-8cd5-de92dd7f0cec", "type": "Role" }, - { "id": "29c18626-4985-4dcd-85c0-193eef327366", "type": "Role" }, - { "id": "4437522e-9a86-4a41-a7da-e380edd4a97d", "type": "Role" }, - { "id": "34bf0e97-1971-4929-b999-9e2442d941d7", "type": "Role" }, - { "id": "45cc0394-e837-488b-a098-1918f48d186c", "type": "Role" }, - { "id": "be74164b-cff1-491c-8741-e671cb536e13", "type": "Role" }, - { "id": "2a60023f-3219-47ad-baa4-40e17cd02a1d", "type": "Role" }, - { "id": "338163d7-f101-4c92-94ba-ca46fe52447c", "type": "Role" }, - { "id": "cac88765-0581-4025-9725-5ebc13f729ee", "type": "Role" }, - { "id": "75359482-378d-4052-8f01-80520e7db3cd", "type": "Role" }, - { "id": "19dbc75e-c2e2-444c-a770-ec69d8559fc7", "type": "Role" }, - { "id": "b27a61ec-b99c-4d6a-b126-c4375d08ae30", "type": "Scope" }, - { "id": "84bccea3-f856-4a8a-967b-dbe0a3d53a64", "type": "Scope" }, - { "id": "280b3b69-0437-44b1-bc20-3b2fca1ee3e9", "type": "Scope" }, - { "id": "885f682f-a990-4bad-a642-36736a74b0c7", "type": "Scope" }, - { "id": "913b9306-0ce1-42b8-9137-6a7df690a760", "type": "Role" }, - { "id": "4c06a06a-098a-4063-868e-5dfee3827264", "type": "Scope" }, - { "id": "1bfefb4e-e0b5-418b-a88f-73c46d2cc8e9", "type": "Role" }, - { "id": "e67e6727-c080-415e-b521-e3f35d5248e9", "type": "Scope" }, - { "id": "b6890674-9dd5-4e42-bb15-5af07f541ae1", "type": "Role" }, - { "id": "9e4862a5-b68f-479e-848a-4e07e25c9916", "type": "Scope" }, - { "id": "bb6f654c-d7fd-4ae3-85c3-fc380934f515", "type": "Scope" }, - { "id": "e0a7cdbb-08b0-4697-8264-0069786e9674", "type": "Scope" }, - { "id": "19da66cb-0fb0-4390-b071-ebc76a349482", "type": "Role" } - ] - }, - { - "resourceAppId": "fc780465-2017-40d4-a0c5-307022471b92", - "resourceAccess": [ - { "id": "63a677ce-818c-4409-9d12-5c6d2e2a6bfe", "type": "Scope" }, - { "id": "41269fc5-d04d-4bfd-bce7-43a51cea049a", "type": "Role" } - ] - }, - { - "resourceAppId": "00000002-0000-0ff1-ce00-000000000000", - "resourceAccess": [ - { "id": "ab4f2b77-0b06-4fc1-a9de-02113fc2ab7c", "type": "Scope" }, - { "id": "bbd1ca91-75e0-4814-ad94-9c5dbbae3415", "type": "Scope" }, - { "id": "2e83d72d-8895-4b66-9eea-abb43449ab8b", "type": "Scope" }, - { "id": "dc50a0fb-09a3-484d-be87-e023b12c6440", "type": "Role" }, - { "id": "ef54d2bf-783f-4e0f-bca1-3210c0444d99", "type": "Role" }, - { "id": "f9156939-25cd-4ba8-abfe-7fabcf003749", "type": "Role" } - ] - }, - { - "resourceAppId": "00000003-0000-0ff1-ce00-000000000000", - "resourceAccess": [ - { "id": "56680e0d-d2a3-4ae1-80d8-3c4f2100e3d0", "type": "Scope" } - ] - }, - { - "resourceAppId": "48ac35b8-9aa8-4d74-927d-1f4a14a0b239", - "resourceAccess": [ - { "id": "e60370c1-e451-437e-aa6e-d76df38e5f15", "type": "Scope" } - ] - }, - { - "resourceAppId": "c5393580-f805-4401-95e8-94b7a6ef2fc2", - "resourceAccess": [ - { "id": "594c1fb6-4f81-4475-ae41-0c394909246c", "type": "Scope" } - ] - } - ] -} +{ + "isFallbackPublicClient": true, + "signInAudience": "AzureADMultipleOrgs", + "displayName": "CIPP-SAM", + "web": { + "redirectUris": [ + "https://login.microsoftonline.com/common/oauth2/nativeclient", + "https://localhost", + "http://localhost", + "http://localhost:8400" + ] + }, + "requiredResourceAccess": [ + { + "resourceAppId": "aeb86249-8ea3-49e2-900b-54cc8e308f85", + "resourceAccess": [ + { + "id": "fc946a4f-bc4d-413b-a090-b2c86113ec4f", + "type": "Scope" + } + ] + }, + { + "resourceAppId": "00000003-0000-0000-c000-000000000000", + "resourceAccess": [ + { + "id": "5b07b0dd-2377-4e44-a38d-703f09a0dc3c", + "type": "Role" + }, + { + "id": "19b94e34-907c-4f43-bde9-38b1909ed408", + "type": "Role" + }, + { + "id": "999f8c63-0a38-4f1b-91fd-ed1947bdd1a9", + "type": "Role" + }, + { + "id": "292d869f-3427-49a8-9dab-8c70152b74e9", + "type": "Role" + }, + { + "id": "2f51be20-0bb4-4fed-bf7b-db946066c75e", + "type": "Role" + }, + { + "id": "58ca0d9a-1575-47e1-a3cb-007ef2e4583b", + "type": "Role" + }, + { + "id": "06a5fe6d-c49d-46a7-b082-56b1b14103c7", + "type": "Role" + }, + { + "id": "246dd0d5-5bd0-4def-940b-0421030a5b68", + "type": "Role" + }, + { + "id": "bf394140-e372-4bf9-a898-299cfc7564e5", + "type": "Role" + }, + { + "id": "741f803b-c850-494e-b5df-cde7c675a1ca", + "type": "Role" + }, + { + "id": "230c1aed-a721-4c5d-9cb4-a90514e508ef", + "type": "Role" + }, + { + "id": "b633e1c5-b582-4048-a93e-9f11b44c7e96", + "type": "Role" + }, + { + "id": "5b567255-7703-4780-807c-7be8301ae99b", + "type": "Role" + }, + { + "id": "62a82d76-70ea-41e2-9197-370581804d09", + "type": "Role" + }, + { + "id": "7ab1d382-f21e-4acd-a863-ba3e13f7da61", + "type": "Role" + }, + { + "id": "1138cb37-bd11-4084-a2b7-9f71582aeddb", + "type": "Role" + }, + { + "id": "78145de6-330d-4800-a6ce-494ff2d33d07", + "type": "Role" + }, + { + "id": "9241abd9-d0e6-425a-bd4f-47ba86e767a4", + "type": "Role" + }, + { + "id": "243333ab-4d21-40cb-a475-36241daa0842", + "type": "Role" + }, + { + "id": "e330c4f0-4170-414e-a55a-2f022ec2b57b", + "type": "Role" + }, + { + "id": "5ac13192-7ace-4fcf-b828-1a26f28068ee", + "type": "Role" + }, + { + "id": "2f6817f8-7b12-4f0f-bc18-eeaf60705a9e", + "type": "Role" + }, + { + "id": "dbaae8cf-10b5-4b86-a4a1-f871c94c6695", + "type": "Role" + }, + { + "id": "bf7b1a76-6e77-406b-b258-bf5c7720e98f", + "type": "Role" + }, + { + "id": "01c0a623-fc9b-48e9-b794-0756f8e8f067", + "type": "Role" + }, + { + "id": "50483e42-d915-4231-9639-7fdb7fd190e5", + "type": "Role" + }, + { + "id": "dbb9058a-0e50-45d7-ae91-66909b5d4664", + "type": "Role" + }, + { + "id": "a82116e5-55eb-4c41-a434-62fe8a61c773", + "type": "Role" + }, + { + "id": "f3a65bd4-b703-46df-8f7e-0174fea562aa", + "type": "Role" + }, + { + "id": "59a6b24b-4225-4393-8165-ebaec5f55d7a", + "type": "Role" + }, + { + "id": "0121dc95-1b9f-4aed-8bac-58c5ac466691", + "type": "Role" + }, + { + "id": "3b55498e-47ec-484f-8136-9013221c06a9", + "type": "Role" + }, + { + "id": "35930dcf-aceb-4bd1-b99a-8ffed403c974", + "type": "Role" + }, + { + "id": "25f85f3c-f66c-4205-8cd5-de92dd7f0cec", + "type": "Role" + }, + { + "id": "29c18626-4985-4dcd-85c0-193eef327366", + "type": "Role" + }, + { + "id": "4437522e-9a86-4a41-a7da-e380edd4a97d", + "type": "Role" + }, + { + "id": "34bf0e97-1971-4929-b999-9e2442d941d7", + "type": "Role" + }, + { + "id": "45cc0394-e837-488b-a098-1918f48d186c", + "type": "Role" + }, + { + "id": "be74164b-cff1-491c-8741-e671cb536e13", + "type": "Role" + }, + { + "id": "2a60023f-3219-47ad-baa4-40e17cd02a1d", + "type": "Role" + }, + { + "id": "338163d7-f101-4c92-94ba-ca46fe52447c", + "type": "Role" + }, + { + "id": "cac88765-0581-4025-9725-5ebc13f729ee", + "type": "Role" + }, + { + "id": "75359482-378d-4052-8f01-80520e7db3cd", + "type": "Role" + }, + { + "id": "19dbc75e-c2e2-444c-a770-ec69d8559fc7", + "type": "Role" + }, + { + "id": "913b9306-0ce1-42b8-9137-6a7df690a760", + "type": "Role" + }, + { + "id": "1bfefb4e-e0b5-418b-a88f-73c46d2cc8e9", + "type": "Role" + }, + { + "id": "b6890674-9dd5-4e42-bb15-5af07f541ae1", + "type": "Role" + }, + { + "id": "19da66cb-0fb0-4390-b071-ebc76a349482", + "type": "Role" + }, + { + "id": "6931bccd-447a-43d1-b442-00a195474933", + "type": "Role" + }, + { + "id": "5e1e9171-754d-478c-812c-f1755a9a4c2d", + "type": "Role" + }, + { + "id": "aa07f155-3612-49b8-a147-6c590df35536", + "type": "Scope" + }, + { + "id": "73e75199-7c3e-41bb-9357-167164dbb415", + "type": "Scope" + }, + { + "id": "d01b97e9-cbc0-49fe-810a-750afd5527a3", + "type": "Scope" + }, + { + "id": "46ca0847-7e6b-426e-9775-ea810a948356", + "type": "Scope" + }, + { + "id": "dc38509c-b87d-4da0-bd92-6bec988bac4a", + "type": "Scope" + }, + { + "id": "7427e0e9-2fba-42fe-b0c0-848c9e6a8182", + "type": "Scope" + }, + { + "id": "ad902697-1014-4ef5-81ef-2b4301988e8c", + "type": "Scope" + }, + { + "id": "572fea84-0151-49b2-9301-11cb16974376", + "type": "Scope" + }, + { + "id": "e4c9e354-4dc5-45b8-9e7c-e1393b0b1a20", + "type": "Scope" + }, + { + "id": "0883f392-0a7a-443d-8c76-16a6d39c7b63", + "type": "Scope" + }, + { + "id": "7b3f05d5-f68c-4b8d-8c59-a2ecd12f24af", + "type": "Scope" + }, + { + "id": "0c5e8a55-87a6-4556-93ab-adc52c4d862d", + "type": "Scope" + }, + { + "id": "44642bfe-8385-4adc-8fc6-fe3cb2c375c3", + "type": "Scope" + }, + { + "id": "662ed50a-ac44-4eef-ad86-62eed9be2a29", + "type": "Scope" + }, + { + "id": "6aedf524-7e1c-45a7-bd76-ded8cab8d0fc", + "type": "Scope" + }, + { + "id": "bac3b9c2-b516-4ef4-bd3b-c2ef73d8d804", + "type": "Scope" + }, + { + "id": "11d4cd79-5ba5-460f-803f-e22c8ab85ccd", + "type": "Scope" + }, + { + "id": "02e97553-ed7b-43d0-ab3c-f8bace0d040c", + "type": "Scope" + }, + { + "id": "89fe6a52-be36-487e-b7d8-d061c450a026", + "type": "Scope" + }, + { + "id": "a367ab51-6b49-43bf-a716-a1fb06d2a174", + "type": "Scope" + }, + { + "id": "204e0828-b5ca-4ad8-b9f3-f32a958e7cc4", + "type": "Scope" + }, + { + "id": "4e46008b-f24c-477d-8fff-7bb4ec7aafe0", + "type": "Scope" + }, + { + "id": "0e263e50-5827-48a4-b97c-d940288653c7", + "type": "Scope" + }, + { + "id": "e383f46e-2787-4529-855e-0e479a3ffac0", + "type": "Scope" + }, + { + "id": "37f7f235-527c-4136-accd-4a02d197296e", + "type": "Scope" + }, + { + "id": "14dad69e-099b-42c9-810b-d002981feec1", + "type": "Scope" + }, + { + "id": "f6a3db3e-f7e8-4ed2-a414-557c8c9830be", + "type": "Scope" + }, + { + "id": "0e755559-83fb-4b44-91d0-4cc721b9323e", + "type": "Scope" + }, + { + "id": "a84a9652-ffd3-496e-a991-22ba5529156a", + "type": "Scope" + }, + { + "id": "1d89d70c-dcac-4248-b214-903c457af83a", + "type": "Scope" + }, + { + "id": "2b61aa8a-6d36-4b2f-ac7b-f29867937c53", + "type": "Scope" + }, + { + "id": "ebf0f66e-9fb1-49e4-a278-222f76911cf4", + "type": "Scope" + }, + { + "id": "bdfbf15f-ee85-4955-8675-146e8e5296b5", + "type": "Scope" + }, + { + "id": "f81125ac-d3b7-4573-a3b2-7099cc39df9e", + "type": "Scope" + }, + { + "id": "cac97e40-6730-457d-ad8d-4852fddab7ad", + "type": "Scope" + }, + { + "id": "b7887744-6746-4312-813d-72daeaee7e2d", + "type": "Scope" + }, + { + "id": "48971fc1-70d7-4245-af77-0beb29b53ee2", + "type": "Scope" + }, + { + "id": "aec28ec7-4d02-4e8c-b864-50163aea77eb", + "type": "Scope" + }, + { + "id": "a9ff19c2-f369-4a95-9a25-ba9d460efc8e", + "type": "Scope" + }, + { + "id": "b98bfd41-87c6-45cc-b104-e2de4f0dafb9", + "type": "Scope" + }, + { + "id": "2f9ee017-59c1-4f1d-9472-bd5529a7b311", + "type": "Scope" + }, + { + "id": "951183d1-1a61-466f-a6d1-1fde911bfd95", + "type": "Scope" + }, + { + "id": "637d7bec-b31e-4deb-acc9-24275642a2c9", + "type": "Scope" + }, + { + "id": "101147cf-4178-4455-9d58-02b5c164e759", + "type": "Scope" + }, + { + "id": "cc83893a-e232-4723-b5af-bd0b01bcfe65", + "type": "Scope" + }, + { + "id": "233e0cf1-dd62-48bc-b65b-b38fe87fcf8e", + "type": "Scope" + }, + { + "id": "d649fb7c-72b4-4eec-b2b4-b15acf79e378", + "type": "Scope" + }, + { + "id": "485be79e-c497-4b35-9400-0e3fa7f2a5d4", + "type": "Scope" + }, + { + "id": "9d8982ae-4365-4f57-95e9-d6032a4c0b87", + "type": "Scope" + }, + { + "id": "48638b3c-ad68-4383-8ac4-e6880ee6ca57", + "type": "Scope" + }, + { + "id": "39d65650-9d3e-4223-80db-a335590d027e", + "type": "Scope" + }, + { + "id": "4a06efd2-f825-4e34-813e-82a57b03d1ee", + "type": "Scope" + }, + { + "id": "f3bfad56-966e-4590-a536-82ecf548ac1e", + "type": "Scope" + }, + { + "id": "4d135e65-66b8-41a8-9f8b-081452c91774", + "type": "Scope" + }, + { + "id": "2eadaff8-0bce-4198-a6b9-2cfc35a30075", + "type": "Scope" + }, + { + "id": "0c3e411a-ce45-4cd1-8f30-f99a3efa7b11", + "type": "Scope" + }, + { + "id": "edb72de9-4252-4d03-a925-451deef99db7", + "type": "Scope" + }, + { + "id": "767156cb-16ae-4d10-8f8b-41b657c8c8c8", + "type": "Scope" + }, + { + "id": "7e823077-d88e-468f-a337-e18f1f0e6c7c", + "type": "Scope" + }, + { + "id": "edd3c878-b384-41fd-95ad-e7407dd775be", + "type": "Scope" + }, + { + "id": "40b534c3-9552-4550-901b-23879c90bcf9", + "type": "Scope" + }, + { + "id": "7825d5d6-6049-4ce7-bdf6-3b8d53f4bcd0", + "type": "Scope" + }, + { + "id": "2104a4db-3a2f-4ea0-9dba-143d457dc666", + "type": "Scope" + }, + { + "id": "eda39fa6-f8cf-4c3c-a909-432c683e4c9b", + "type": "Scope" + }, + { + "id": "55896846-df78-47a7-aa94-8d3d4442ca7f", + "type": "Scope" + }, + { + "id": "128ca929-1a19-45e6-a3b8-435ec44a36ba", + "type": "Scope" + }, + { + "id": "b27add92-efb2-4f16-84f5-8108ba77985c", + "type": "Scope" + }, + { + "id": "3404d2bf-2b13-457e-a330-c24615765193", + "type": "Scope" + }, + { + "id": "b955410e-7715-4a88-a940-dfd551018df3", + "type": "Scope" + }, + { + "id": "b27a61ec-b99c-4d6a-b126-c4375d08ae30", + "type": "Scope" + }, + { + "id": "84bccea3-f856-4a8a-967b-dbe0a3d53a64", + "type": "Scope" + }, + { + "id": "280b3b69-0437-44b1-bc20-3b2fca1ee3e9", + "type": "Scope" + }, + { + "id": "885f682f-a990-4bad-a642-36736a74b0c7", + "type": "Scope" + }, + { + "id": "4c06a06a-098a-4063-868e-5dfee3827264", + "type": "Scope" + }, + { + "id": "e67e6727-c080-415e-b521-e3f35d5248e9", + "type": "Scope" + }, + { + "id": "9e4862a5-b68f-479e-848a-4e07e25c9916", + "type": "Scope" + }, + { + "id": "bb6f654c-d7fd-4ae3-85c3-fc380934f515", + "type": "Scope" + }, + { + "id": "e0a7cdbb-08b0-4697-8264-0069786e9674", + "type": "Scope" + }, + { + "id": "818c620a-27a9-40bd-a6a5-d96f7d610b4b", + "type": "Scope" + }, + { + "id": "c5366453-9fb0-48a5-a156-24f0c49a4b84", + "type": "Scope" + } + ] + }, + { + "resourceAppId": "fa3d9a0c-3fb0-42cc-9193-47c7ecd2edbd", + "resourceAccess": [ + { + "id": "1cebfa2a-fb4d-419e-b5f9-839b4383e05a", + "type": "Scope" + } + ] + }, + { + "resourceAppId": "00000002-0000-0ff1-ce00-000000000000", + "resourceAccess": [ + { + "id": "dc50a0fb-09a3-484d-be87-e023b12c6440", + "type": "Role" + }, + { + "id": "ef54d2bf-783f-4e0f-bca1-3210c0444d99", + "type": "Role" + }, + { + "id": "f9156939-25cd-4ba8-abfe-7fabcf003749", + "type": "Role" + }, + { + "id": "ab4f2b77-0b06-4fc1-a9de-02113fc2ab7c", + "type": "Scope" + }, + { + "id": "bbd1ca91-75e0-4814-ad94-9c5dbbae3415", + "type": "Scope" + }, + { + "id": "2e83d72d-8895-4b66-9eea-abb43449ab8b", + "type": "Scope" + } + ] + }, + { + "resourceAppId": "00000003-0000-0ff1-ce00-000000000000", + "resourceAccess": [ + { + "id": "56680e0d-d2a3-4ae1-80d8-3c4f2100e3d0", + "type": "Scope" + } + ] + }, + { + "resourceAppId": "48ac35b8-9aa8-4d74-927d-1f4a14a0b239", + "resourceAccess": [ + { + "id": "e60370c1-e451-437e-aa6e-d76df38e5f15", + "type": "Scope" + } + ] + }, + { + "resourceAppId": "fc780465-2017-40d4-a0c5-307022471b92", + "resourceAccess": [ + { + "id": "41269fc5-d04d-4bfd-bce7-43a51cea049a", + "type": "Role" + }, + { + "id": "63a677ce-818c-4409-9d12-5c6d2e2a6bfe", + "type": "Scope" + } + ] + } + ] +} \ No newline at end of file diff --git a/Modules/CIPPCore/Public/Send-CIPPAlert.ps1 b/Modules/CIPPCore/Public/Send-CIPPAlert.ps1 index 89bd2ade79d2..f5610cd84e63 100644 --- a/Modules/CIPPCore/Public/Send-CIPPAlert.ps1 +++ b/Modules/CIPPCore/Public/Send-CIPPAlert.ps1 @@ -8,7 +8,9 @@ function Send-CIPPAlert { $JSONContent, $TenantFilter, $APIName = 'Send Alert', - $ExecutingUser + $ExecutingUser, + $TableName, + $RowKey = [string][guid]::NewGuid() ) Write-Information 'Shipping Alert' $Table = Get-CIPPTable -TableName SchedulerConfig @@ -39,10 +41,30 @@ function Send-CIPPAlert { Write-LogMessage -API 'Webhook Alerts' -message "Sent a webhook alert to email: $Title" -tenant $TenantFilter -sev info } catch { - Write-Information "Could not send webhook alert to email: $($_.Exception.message)" - Write-LogMessage -API 'Webhook Alerts' -message "Could not send webhook alerts to email. $($_.Exception.message)" -tenant $TenantFilter -sev info + $ErrorMessage = Get-CippException -Exception $_ + Write-Information "Could not send webhook alert to email: $($ErrorMessage.NormalizedError)" + Write-LogMessage -API 'Webhook Alerts' -message "Could not send webhook alerts to email. $($ErrorMessage.NormalizedError)" -tenant $TenantFilter -sev Error -LogData $ErrorMessage } + } + if ($Type -eq 'table' -and $TableName) { + Write-Information 'Trying to send to Table' + try { + $Table = Get-CIPPTable -TableName $TableName + $Alert = @{ + PartitionKey = $TenantFilter ?? 'Alert' + RowKey = $RowKey + Title = $Title + Data = [string]$JSONContent + Tenant = $TenantFilter + } + Add-CIPPAzDataTableEntity @Table -Entity $Alert + return $Alert.RowKey + } catch { + $ErrorMessage = Get-CippException -Exception $_ + Write-Information "Could not send alerts to table: $($ErrorMessage.NormalizedError)" + Write-LogMessage -API 'Webhook Alerts' -message "Could not send alerts to table: $($ErrorMessage.NormalizedError)" -tenant $TenantFilter -sev Error -LogData $ErrorMessage + } } if ($Type -eq 'webhook') { @@ -78,8 +100,9 @@ function Send-CIPPAlert { Write-LogMessage -API 'Webhook Alerts' -message "Sent Webhook alert $title to External webhook" -tenant $TenantFilter -sev info } catch { - Write-Information "Could not send alerts to webhook: $($_.Exception.message)" - Write-LogMessage -API 'Webhook Alerts' -message "Could not send alerts to webhook: $($_.Exception.message)" -tenant $TenantFilter -sev error -LogData (Get-CippException -Exception $_) + $ErrorMessage = Get-CippException -Exception $_ + Write-Information "Could not send alerts to webhook: $($ErrorMessage.NormalizedError)" + Write-LogMessage -API 'Webhook Alerts' -message "Could not send alerts to webhook: $($ErrorMessage.NormalizedError)" -tenant $TenantFilter -sev error -LogData $ErrorMessage } } Write-Information 'Trying to send to PSA' @@ -97,8 +120,9 @@ function Send-CIPPAlert { Write-LogMessage -API 'Webhook Alerts' -tenant $TenantFilter -message "Sent PSA alert $title" -sev info } catch { - Write-Information "Could not send alerts to ticketing system: $($_.Exception.message)" - Write-LogMessage -API 'Webhook Alerts' -tenant $TenantFilter -message "Could not send alerts to ticketing system: $($_.Exception.message)" -sev info + $ErrorMessage = Get-CippException -Exception $_ + Write-Information "Could not send alerts to ticketing system: $($ErrorMessage.NormalizedError)" + Write-LogMessage -API 'Webhook Alerts' -tenant $TenantFilter -message "Could not send alerts to ticketing system: $($ErrorMessage.NormalizedError)" -sev Error -LogData $ErrorMessage } } } diff --git a/Modules/CIPPCore/Public/Set-CIPPAlwaysShowFrom.ps1 b/Modules/CIPPCore/Public/Set-CIPPAlwaysShowFrom.ps1 new file mode 100644 index 000000000000..56a8b2575678 --- /dev/null +++ b/Modules/CIPPCore/Public/Set-CIPPAlwaysShowFrom.ps1 @@ -0,0 +1,89 @@ + +Function Set-CIPPAlwaysShowFrom { + <# + .SYNOPSIS + Sets the "Always Show From" property for a user or all users in a tenant. + + .DESCRIPTION + The Set-CIPPAlwaysShowFrom function is used to set the "Always Show From" property for a specified user or all users in a specified tenant. The "Always Show From" property determines whether the from field is always shown in Outlook. + + .PARAMETER UserID + Specifies the user ID for which to set the "Always Show From" property. This can be UserPrincipalName, SamAccountName, GUID or Email address. + This parameter is mandatory unless the RunOnAllUsersInTenant switch is used. + + .PARAMETER TenantFilter + Specifies the tenant for which to set the "Always Show From" property. This parameter is mandatory. + + .PARAMETER APIName + Specifies the name of the API. The default value is "Always Show From". + + .PARAMETER ExecutingUser + Specifies the user who is executing the function. + + .PARAMETER AlwaysShowFrom + Specifies whether to set the "Always Show From" property to true or false. This parameter is mandatory. + + .PARAMETER RunOnAllUsersInTenant + If this switch is present, the function will set the "Always Show From" property for all users in the specified tenant. + + .EXAMPLE + Set-CIPPAlwaysShowFrom -UserID "john.doe@example.com" -TenantFilter "example.com" -AlwaysShowFrom $true + Sets the "Always Show From" property to true for the user "john.doe@example.com" in the "example.com" tenant. + + .EXAMPLE + Set-CIPPAlwaysShowFrom -TenantFilter "example.com" -AlwaysShowFrom $true -RunOnAllUsersInTenant + Sets the "Always Show From" property to true for all users in the "example.com" tenant. + #> + [CmdletBinding(DefaultParameterSetName = 'User')] + param ( + [Parameter(Mandatory = $true, ParameterSetName = 'User')] + [Parameter(Mandatory = $false, ParameterSetName = 'AllUsers')] + [Alias('Username')][string]$UserID, + + [Parameter(Mandatory = $true, ParameterSetName = 'User')] + [Parameter(Mandatory = $true, ParameterSetName = 'AllUsers')] + $TenantFilter, + + [Parameter(ParameterSetName = 'User')] + [Parameter(ParameterSetName = 'AllUsers')] + $APIName = 'Always Show From', + + [Parameter(ParameterSetName = 'User')] + [Parameter(ParameterSetName = 'AllUsers')] + $ExecutingUser, + + [Parameter(Mandatory = $true, ParameterSetName = 'User')] + [Parameter(Mandatory = $true, ParameterSetName = 'AllUsers')] + [bool]$AlwaysShowFrom, + + [Parameter(ParameterSetName = 'AllUsers')] + [switch]$RunOnAllUsersInTenant + ) + + + if ($RunOnAllUsersInTenant.IsPresent -eq $true) { + $AllUsers = New-ExoRequest -tenantid $TenantFilter -cmdlet 'Get-Mailbox' -cmdParams @{ ResultSize = 'Unlimited' } + Write-LogMessage -user $ExecutingUser -API $APIName -message "Setting Always Show From to $AlwaysShowFrom for all $($AllUsers.Count) users in $TenantFilter" -Sev 'Info' -tenant $TenantFilter + $ErrorCount = 0 + foreach ($User in $AllUsers) { + try { + $null = New-ExoRequest -tenantid $TenantFilter -cmdlet 'Set-MailboxMessageConfiguration' -anchor $User.UserPrincipalName -cmdParams @{AlwaysShowFrom = $AlwaysShowFrom; Identity = $User.UserPrincipalName } + # Write-Information "Set Always Show From to $AlwaysShowFrom for $($User.UserPrincipalName)" + } catch { + $ErrorCount++ + } + } + Write-LogMessage -user $ExecutingUser -API $APIName -message "Set Always Show From to $AlwaysShowFrom for $($AllUsers.Count - $ErrorCount) users in $TenantFilter" -Sev 'Info' -tenant $TenantFilter + return "Set Always Show From to $AlwaysShowFrom for $($AllUsers.Count - $ErrorCount) users in $TenantFilter" + } else { + try { + $null = New-ExoRequest -tenantid $TenantFilter -cmdlet 'Set-MailboxMessageConfiguration' -anchor $UserID -cmdParams @{AlwaysShowFrom = $AlwaysShowFrom; Identity = $UserID } + Write-LogMessage -user $ExecutingUser -API $APIName -message "Set Always Show From to $AlwaysShowFrom for $UserID" -Sev 'Info' -tenant $TenantFilter + } catch { + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not set Always Show From to $AlwaysShowFrom for $UserID. Error: $($ErrorMessage.NormalizedError)" -Sev 'Error' -tenant $TenantFilter -LogData $ErrorMessage + return "Could not set Always Show From to $AlwaysShowFrom for $UserID. Error: $($ErrorMessage.NormalizedError)" + } + return "Set Always Show From to $AlwaysShowFrom for $UserID" + } +} diff --git a/Modules/CIPPCore/Public/Set-CIPPAssignedApplication.ps1 b/Modules/CIPPCore/Public/Set-CIPPAssignedApplication.ps1 index 1938c35fabb8..d070d7bea3c2 100644 --- a/Modules/CIPPCore/Public/Set-CIPPAssignedApplication.ps1 +++ b/Modules/CIPPCore/Public/Set-CIPPAssignedApplication.ps1 @@ -109,12 +109,14 @@ function Set-CIPPAssignedApplication { ) } if ($PSCmdlet.ShouldProcess($GroupName, "Assigning Application $ApplicationId")) { + Start-Sleep -Seconds 1 $null = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceAppManagement/mobileApps/$($ApplicationId)/assign" -tenantid $TenantFilter -type POST -body ($DefaultAssignmentObject | ConvertTo-Json -Compress -Depth 10) Write-LogMessage -user $ExecutingUser -API $APIName -message "Assigned Application to $($GroupName)" -Sev 'Info' -tenant $TenantFilter } return "Assigned Application to $($GroupName)" } catch { - Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not assign application to $GroupName" -Sev 'Error' -tenant $TenantFilter -LogData (Get-CippException -Exception $_) - return "Could not assign application to $GroupName. Error: $($_.Exception.Message)" + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not assign application to $GroupName. Error: $($ErrorMessage.NormalizedError)" -Sev 'Error' -tenant $TenantFilter -LogData $ErrorMessage + return "Could not assign application to $GroupName. Error: $($ErrorMessage.NormalizedError)" } } diff --git a/Modules/CIPPCore/Public/Set-CIPPAssignedPolicy.ps1 b/Modules/CIPPCore/Public/Set-CIPPAssignedPolicy.ps1 index 2999f0705b17..08f88bd167c6 100644 --- a/Modules/CIPPCore/Public/Set-CIPPAssignedPolicy.ps1 +++ b/Modules/CIPPCore/Public/Set-CIPPAssignedPolicy.ps1 @@ -48,10 +48,10 @@ function Set-CIPPAssignedPolicy { } default { $GroupNames = $GroupName.Split(',') - $GroupIds = New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/groups' -tenantid $TenantFilter | ForEach-Object { + $GroupIds = New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/groups?$select=id,displayName&$top=999' -tenantid $TenantFilter | ForEach-Object { $Group = $_ foreach ($SingleName in $GroupNames) { - if ($_.displayname -like $SingleName) { + if ($_.displayName -like $SingleName) { $group.id } } @@ -69,15 +69,17 @@ function Set-CIPPAssignedPolicy { $assignmentsObject = [PSCustomObject]@{ assignments = @($assignmentsObject) } + + $AssignJSON = ($assignmentsObject | ConvertTo-Json -Depth 10 -Compress) + Write-Host "AssignJSON: $AssignJSON" if ($PSCmdlet.ShouldProcess($GroupName, "Assigning policy $PolicyId")) { - Write-Host "https://graph.microsoft.com/beta/$($PlatformType)/$Type('$($PolicyId)')/assign" - $null = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/$($PlatformType)/$Type('$($PolicyId)')/assign" -tenantid $tenantFilter -type POST -body ($assignmentsObject | ConvertTo-Json -Depth 10) - Write-LogMessage -user $ExecutingUser -API $APIName -message "Assigned Policy to $($GroupName)" -Sev 'Info' -tenant $TenantFilter + Write-Host "https://graph.microsoft.com/beta/$($PlatformType)/$Type('$($PolicyId)')/assign" + $null = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/$($PlatformType)/$Type('$($PolicyId)')/assign" -tenantid $tenantFilter -type POST -body $AssignJSON + Write-LogMessage -user $ExecutingUser -API $APIName -message "Assigned $GroupName to Policy $PolicyId" -Sev 'Info' -tenant $TenantFilter } - - return "Assigned policy to $($GroupName) Policy ID is $($PolicyId)." } catch { - Write-LogMessage -user $ExecutingUser -API $APIName -message "Failed to assign Policy to $GroupName. Policy ID is $($PolicyId)." -Sev 'Error' -tenant $TenantFilter -LogData (Get-CippException -Exception $_) - return "Could not assign policy to $GroupName. Policy ID is $($PolicyId). Error: $($_.Exception.Message)" + #$ErrorMessage = Get-CippException -Exception $_ + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + Write-LogMessage -user $ExecutingUser -API $APIName -message "Failed to assign $GroupName to Policy $PolicyId, using Platform $PlatformType and $Type. The error is:$ErrorMessage" -Sev 'Error' -tenant $TenantFilter -LogData $ErrorMessage } } diff --git a/Modules/CIPPCore/Public/Set-CIPPAuthenticationPolicy.ps1 b/Modules/CIPPCore/Public/Set-CIPPAuthenticationPolicy.ps1 index 380e7b2a4b30..77cdabfa6374 100644 --- a/Modules/CIPPCore/Public/Set-CIPPAuthenticationPolicy.ps1 +++ b/Modules/CIPPCore/Public/Set-CIPPAuthenticationPolicy.ps1 @@ -21,9 +21,9 @@ function Set-CIPPAuthenticationPolicy { $CurrentInfo = New-GraphGetRequest -Uri "https://graph.microsoft.com/beta/policies/authenticationmethodspolicy/authenticationMethodConfigurations/$AuthenticationMethodId" -tenantid $Tenant $CurrentInfo.state = $State } catch { - $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message - Write-LogMessage -user $ExecutingUser -API $APIName -tenant $Tenant -message "Could not get CurrentInfo for $AuthenticationMethodId. Error:$ErrorMessage" -sev Error - Return "Could not get CurrentInfo for $AuthenticationMethodId. Error:$($_.exception.message)" + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $ExecutingUser -API $APIName -tenant $Tenant -message "Could not get CurrentInfo for $AuthenticationMethodId. Error:$($ErrorMessage.NormalizedError)" -sev Error -LogData $ErrorMessage + Return "Could not get CurrentInfo for $AuthenticationMethodId. Error:$($ErrorMessage.NormalizedError)" } switch ($AuthenticationMethodId) { @@ -118,8 +118,8 @@ function Set-CIPPAuthenticationPolicy { return "Set $AuthenticationMethodId state to $State $OptionalLogMessage" } catch { - Get-NormalizedError -Message $_.Exception.Message - Write-LogMessage -user $ExecutingUser -API $APIName -tenant $Tenant -message "Failed to $State $AuthenticationMethodId Support: $ErrorMessage" -sev Error -LogData (Get-CippException -Exception $_) - return "Failed to $State $AuthenticationMethodId Support: $ErrorMessage" + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $ExecutingUser -API $APIName -tenant $Tenant -message "Failed to $State $AuthenticationMethodId Support: $ErrorMessage" -sev Error -LogData $ErrorMessage + return "Failed to $State $AuthenticationMethodId Support. Error: $($ErrorMessage.NormalizedError)" } -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/Set-CIPPCAExclusion.ps1 b/Modules/CIPPCore/Public/Set-CIPPCAExclusion.ps1 index d9b4658a7405..9f66cf3e74c5 100644 --- a/Modules/CIPPCore/Public/Set-CIPPCAExclusion.ps1 +++ b/Modules/CIPPCore/Public/Set-CIPPCAExclusion.ps1 @@ -9,7 +9,7 @@ function Set-CIPPCAExclusion { $executingUser ) try { - $CheckExististing = New-GraphGETRequest -uri "https://graph.microsoft.com/beta/identity/conditionalAccess/policies/$($PolicyId)" -tenantid $TenantFilter + $CheckExististing = New-GraphGETRequest -uri "https://graph.microsoft.com/beta/identity/conditionalAccess/policies/$($PolicyId)" -tenantid $TenantFilter -AsApp $true if ($ExclusionType -eq 'add') { $NewExclusions = [pscustomobject]@{ conditions = [pscustomobject]@{ users = [pscustomobject]@{ @@ -19,7 +19,7 @@ function Set-CIPPCAExclusion { } $RawJson = ConvertTo-Json -Depth 10 -InputObject $NewExclusions if ($PSCmdlet.ShouldProcess($PolicyId, "Add exclusion for $UserID")) { - New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/identity/conditionalAccess/policies/$($CheckExististing.id)" -tenantid $tenantfilter -type PATCH -body $RawJSON + New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/identity/conditionalAccess/policies/$($CheckExististing.id)" -tenantid $tenantfilter -type PATCH -body $RawJSON -AsApp $true } } @@ -32,7 +32,7 @@ function Set-CIPPCAExclusion { } $RawJson = ConvertTo-Json -Depth 10 -InputObject $NewExclusions if ($PSCmdlet.ShouldProcess($PolicyId, "Remove exclusion for $UserID")) { - New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/identity/conditionalAccess/policies/$($CheckExististing.id)" -tenantid $tenantfilter -type PATCH -body $RawJSON + New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/identity/conditionalAccess/policies/$($CheckExististing.id)" -tenantid $tenantfilter -type PATCH -body $RawJSON -AsApp $true } } "Successfully performed $($ExclusionType) exclusion for $username from policy $($PolicyId)" @@ -41,4 +41,4 @@ function Set-CIPPCAExclusion { "Failed to $($ExclusionType) user exclusion for $username from policy $($PolicyId): $($_.Exception.Message)" Write-LogMessage -user $executingUser -API 'Set-CIPPConditionalAccessExclusion' -message "Failed to $($ExclusionType) user exclusion for $username from policy $($PolicyId): $_" -Sev 'Error' -tenant $TenantFilter -LogData (Get-CippException -Exception $_) } -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/Set-CIPPCPVConsent.ps1 b/Modules/CIPPCore/Public/Set-CIPPCPVConsent.ps1 index 5d530312d6f0..db069f4f6032 100644 --- a/Modules/CIPPCore/Public/Set-CIPPCPVConsent.ps1 +++ b/Modules/CIPPCore/Public/Set-CIPPCPVConsent.ps1 @@ -9,6 +9,7 @@ function Set-CIPPCPVConsent { $Results = [System.Collections.Generic.List[string]]::new() $Tenant = Get-Tenants -IncludeAll | Where-Object -Property customerId -EQ $TenantFilter | Select-Object -First 1 $TenantName = $Tenant.displayName + $User = $request.headers.'x-ms-client-principal' if ($TenantFilter -eq $env:TenantID) { return @('Cannot modify CPV consent on partner tenant') @@ -19,18 +20,19 @@ function Set-CIPPCPVConsent { if ($ResetSP) { try { - if ($PSCmdlet.ShouldProcess($ENV:ApplicationId, "Delete Service Principal from $TenantName")) { - $null = New-GraphPostRequest -Type DELETE -noauthcheck $true -uri "https://api.partnercenter.microsoft.com/v1/customers/$($TenantFilter)/applicationconsents/$($ENV:ApplicationId)" -scope 'https://api.partnercenter.microsoft.com/.default' -tenantid $env:TenantID + if ($PSCmdlet.ShouldProcess($ENV:ApplicationID, "Delete Service Principal from $TenantName")) { + $null = New-GraphPostRequest -Type DELETE -noauthcheck $true -uri "https://api.partnercenter.microsoft.com/v1/customers/$($TenantFilter)/applicationconsents/$($ENV:ApplicationID)" -scope 'https://api.partnercenter.microsoft.com/.default' -tenantid $env:TenantID } $Results.add("Deleted Service Principal from $TenantName") } catch { - $Results.add("Error deleting SP - $($_.Exception.Message)") + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + $Results.add("Error deleting SP - $($ErrorMessage)") } } try { $AppBody = @{ - ApplicationId = $($ENV:applicationId) + ApplicationId = $($ENV:ApplicationID) ApplicationGrants = @( @{ EnterpriseApplicationId = '00000003-0000-0000-c000-000000000000' @@ -43,13 +45,13 @@ function Set-CIPPCPVConsent { ) } | ConvertTo-Json - if ($PSCmdlet.ShouldProcess($ENV:ApplicationId, "Add Service Principal to $TenantName")) { + if ($PSCmdlet.ShouldProcess($ENV:ApplicationID, "Add Service Principal to $TenantName")) { $null = New-GraphpostRequest -body $AppBody -Type POST -noauthcheck $true -uri "https://api.partnercenter.microsoft.com/v1/customers/$($TenantFilter)/applicationconsents" -scope 'https://api.partnercenter.microsoft.com/.default' -tenantid $env:TenantID $Table = Get-CIPPTable -TableName cpvtenants $unixtime = [int64](([datetime]::UtcNow) - (Get-Date '1/1/1970')).TotalSeconds $GraphRequest = @{ LastApply = "$unixtime" - applicationId = "$($ENV:applicationId)" + applicationId = "$($ENV:ApplicationID)" Tenant = "$($tenantfilter)" PartitionKey = 'Tenant' RowKey = "$($tenantfilter)" @@ -57,15 +59,15 @@ function Set-CIPPCPVConsent { Add-CIPPAzDataTableEntity @Table -Entity $GraphRequest -Force } $Results.add("Successfully added CPV Application to tenant $($TenantName)") | Out-Null - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Added our Service Principal to $($TenantName)" -Sev 'Info' -tenant $Tenant.defaultDomainName -tenantId $TenantFilter + Write-LogMessage -user $User -API $APINAME -message "Added our Service Principal to $($TenantName)" -Sev 'Info' -tenant $Tenant.defaultDomainName -tenantId $TenantFilter } catch { - $ErrorMessage = Get-NormalizedError -message $_.Exception.Message - if ($ErrorMessage -like '*Permission entry already exists*') { + $ErrorMessage = Get-CippException -Exception $_ + if ($ErrorMessage.NormalizedError -like '*Permission entry already exists*') { $Table = Get-CIPPTable -TableName cpvtenants $unixtime = [int64](([datetime]::UtcNow) - (Get-Date '1/1/1970')).TotalSeconds $GraphRequest = @{ LastApply = "$unixtime" - applicationId = "$($ENV:applicationId)" + applicationId = "$($ENV:ApplicationID)" Tenant = "$($tenantfilter)" PartitionKey = 'Tenant' RowKey = "$($tenantfilter)" @@ -73,8 +75,8 @@ function Set-CIPPCPVConsent { Add-CIPPAzDataTableEntity @Table -Entity $GraphRequest -Force return @("We've already added our Service Principal to $($TenantName)") } - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Could not add our Service Principal to the client tenant $($TenantName): $($_.Exception.message)" -Sev 'Error' -tenant $Tenant.defaultDomainName -tenantId $TenantFilter -LogData (Get-CippException -Exception $_) - return @("Could not add our Service Principal to the client tenant $($TenantName): $ErrorMessage") + Write-LogMessage -user $User -API $APINAME -message "Could not add our Service Principal to the client tenant $($TenantName): $($ErrorMessage.NormalizedError)" -Sev 'Error' -tenant $Tenant.defaultDomainName -tenantId $TenantFilter -LogData $ErrorMessage + return @("Could not add our Service Principal to the client tenant $($TenantName). Error: $($ErrorMessage.NormalizedError)") } return $Results } diff --git a/Modules/CIPPCore/Public/Set-CIPPCopyGroupMembers.ps1 b/Modules/CIPPCore/Public/Set-CIPPCopyGroupMembers.ps1 index 0d437374b69e..7711dd0c7f26 100644 --- a/Modules/CIPPCore/Public/Set-CIPPCopyGroupMembers.ps1 +++ b/Modules/CIPPCore/Public/Set-CIPPCopyGroupMembers.ps1 @@ -5,30 +5,96 @@ function Set-CIPPCopyGroupMembers { [string]$UserId, [string]$CopyFromId, [string]$TenantFilter, - [string]$APIName = 'Copy User Groups' + [string]$APIName = 'Copy User Groups', + [switch]$ExchangeOnly ) - $MemberIDs = 'https://graph.microsoft.com/v1.0/directoryObjects/' + (New-GraphGetRequest -uri "https://graph.microsoft.com/beta/users/$UserId" -tenantid $TenantFilter).id - $AddMemberBody = "{ `"members@odata.bind`": $(ConvertTo-Json @($MemberIDs)) }" + + $Requests = @( + @{ + id = 'User' + url = 'users/{0}' -f $UserId + method = 'GET' + } + @{ + id = 'UserMembership' + url = 'users/{0}/memberOf' -f $UserId + method = 'GET' + } + @{ + id = 'CopyFromMembership' + url = 'users/{0}/memberOf' -f $CopyFromId + method = 'GET' + } + ) + $Results = New-GraphBulkRequest -Requests $Requests -tenantid $TenantFilter + $User = ($Results | Where-Object { $_.id -eq 'User' }).body + $CurrentMemberships = ($Results | Where-Object { $_.id -eq 'UserMembership' }).body.value + $CopyFromMemberships = ($Results | Where-Object { $_.id -eq 'CopyFromMembership' }).body.value + + Write-Information ($Results | ConvertTo-Json -Depth 10) + + $ODataBind = 'https://graph.microsoft.com/v1.0/directoryObjects/{0}' -f $User.id + $AddMemberBody = @{ + '@odata.id' = $ODataBind + } | ConvertTo-Json -Compress $Success = [System.Collections.Generic.List[string]]::new() $Errors = [System.Collections.Generic.List[string]]::new() - (New-GraphGETRequest -uri "https://graph.microsoft.com/beta/users/$CopyFromId/memberOf" -tenantid $TenantFilter) | Where-Object { $_.GroupTypes -notin 'herohero' } | ForEach-Object { + $Memberships = $CopyFromMemberships | Where-Object { $_.'@odata.type' -eq '#microsoft.graph.group' -and $_.groupTypes -notcontains 'DynamicMembership' -and $_.onPremisesSyncEnabled -ne $true -and $_.visibility -ne 'Public' -and $CurrentMemberships.id -notcontains $_.id } + $ScheduleExchangeGroupTask = $false + foreach ($MailGroup in $Memberships) { try { - $MailGroup = $_ - if ($PSCmdlet.ShouldProcess($_.displayName, "Add $UserId to group")) { - if ($MailGroup.MailEnabled -and $Mailgroup.ResourceProvisioningOptions -notin 'Team') { - $Params = @{ Identity = $MailGroup.mail; Member = $UserId; BypassSecurityGroupManagerCheck = $true } - $null = New-ExoRequest -tenantid $TenantFilter -cmdlet 'Add-DistributionGroupMember' -cmdParams $params -UseSystemMailbox $true - } else { - $null = New-GraphPostRequest -uri "https://graph.microsoft.com/beta/groups/$($_.id)" -tenantid $TenantFilter -type patch -body $AddMemberBody -Verbose + if ($PSCmdlet.ShouldProcess($MailGroup.displayName, "Add $UserId to group")) { + if ($MailGroup.MailEnabled -and $Mailgroup.ResourceProvisioningOptions -notcontains 'Team' -and $MailGroup.groupTypes -notcontains 'Unified') { + $Params = @{ Identity = $MailGroup.mailNickname; Member = $UserId; BypassSecurityGroupManagerCheck = $true } + try { + $null = New-ExoRequest -tenantid $TenantFilter -cmdlet 'Add-DistributionGroupMember' -cmdParams $params -UseSystemMailbox $true + } catch { + if ($_.Exception.Message -match 'Ex94914C|Microsoft.Exchange.Configuration.Tasks.ManagementObjectNotFoundException') { + if (($User.assignedLicenses | Measure-Object).Count -gt 0 -and !$ExchangeOnly.IsPresent) { + $ScheduleExchangeGroupTask = $true + } else { + throw $_ + } + } else { + throw $_ + } + } + } elseif (!$ExchangeOnly.IsPresent) { + $null = New-GraphPostRequest -uri "https://graph.microsoft.com/beta/groups/$($MailGroup.id)/members/`$ref" -tenantid $TenantFilter -body $AddMemberBody -Verbose + } + } + + if ($ScheduleExchangeGroupTask) { + $TaskBody = [PSCustomObject]@{ + TenantFilter = $TenantFilter + Name = "Copy Exchange Group Membership: $UserId from $CopyFromId" + Command = @{ + value = 'Set-CIPPCopyGroupMembers' + } + Parameters = [PSCustomObject]@{ + UserId = $UserId + CopyFromId = $CopyFromId + TenantFilter = $TenantFilter + ExchangeOnly = $true + } + ScheduledTime = [int64](([datetime]::UtcNow).AddMinutes(5) - (Get-Date '1/1/1970')).TotalSeconds + PostExecution = @{ + Webhook = $false + Email = $false + PSA = $false + } } + Add-CIPPScheduledTask -Task $TaskBody -hidden $false + $Errors.Add("We've scheduled a task to add $UserId to the Exchange group $($MailGroup.displayName)") | Out-Null + } else { + Write-LogMessage -user $ExecutingUser -API $APIName -message "Added $UserId to group $($MailGroup.displayName)" -Sev 'Info' -tenant $TenantFilter + $Success.Add("Added user to group: $($MailGroup.displayName)") | Out-Null } - Write-LogMessage -user $ExecutingUser -API $APIName -message "Added $UserId to group $($_.displayName)" -Sev 'Info' -tenant $TenantFilter - $Success.Add("Added group: $($MailGroup.displayName)") | Out-Null } catch { - $NormalizedError = Get-NormalizedError -message $($_.Exception.Message) - $Errors.Add("We've failed to add the group $($MailGroup.displayName): $NormalizedError") | Out-Null - Write-LogMessage -user $ExecutingUser -API $APIName -tenant $TenantFilter -message "Group adding failed for group $($_.displayName): $($_.Exception.Message)" -Sev 'Error' -LogData (Get-CippException -Exception $_) + $ErrorMessage = Get-CippException -Exception $_ + $Errors.Add("We've failed to add the group $($MailGroup.displayName): $($ErrorMessage.NormalizedError)") | Out-Null + Write-LogMessage -user $ExecutingUser -API $APIName -tenant $TenantFilter -message "Group adding failed for group $($_.displayName): $($ErrorMessage.NormalizedError)" -Sev 'Error' -LogData $ErrorMessage } } diff --git a/Modules/CIPPCore/Public/Set-CIPPDefaultAPDeploymentProfile.ps1 b/Modules/CIPPCore/Public/Set-CIPPDefaultAPDeploymentProfile.ps1 index e685491b262d..592425f6d973 100644 --- a/Modules/CIPPCore/Public/Set-CIPPDefaultAPDeploymentProfile.ps1 +++ b/Modules/CIPPCore/Public/Set-CIPPDefaultAPDeploymentProfile.ps1 @@ -18,6 +18,9 @@ function Set-CIPPDefaultAPDeploymentProfile { $Language = 'os-default', $APIName = 'Add Default Enrollment Status Page' ) + + $User = $request.headers.'x-ms-client-principal-name' + try { $ObjBody = [pscustomobject]@{ '@odata.type' = '#microsoft.graph.azureADWindowsAutopilotDeploymentProfile' @@ -47,7 +50,7 @@ function Set-CIPPDefaultAPDeploymentProfile { if ($_.id -ne $Profiles[0].id) { if ($PSCmdlet.ShouldProcess($_.displayName, 'Delete duplicate Autopilot profile')) { $null = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceManagement/windowsAutopilotDeploymentProfiles/$($_.id)" -tenantid $tenantfilter -type DELETE - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APIName -tenant $($tenantfilter) -message "Deleted duplicate Autopilot profile $($displayname)" -Sev 'Info' + Write-LogMessage -user $User -API $APIName -tenant $($tenantfilter) -message "Deleted duplicate Autopilot profile $($displayname)" -Sev 'Info' } } } @@ -55,25 +58,31 @@ function Set-CIPPDefaultAPDeploymentProfile { } if (!$Profiles) { if ($PSCmdlet.ShouldProcess($displayName, 'Add Autopilot profile')) { + $Type = 'Add' $GraphRequest = New-GraphPostRequest -uri 'https://graph.microsoft.com/beta/deviceManagement/windowsAutopilotDeploymentProfiles' -body $body -tenantid $tenantfilter - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APIName -tenant $($tenantfilter) -message "Added Autopilot profile $($displayname)" -Sev 'Info' + Write-LogMessage -user $User -API $APIName -tenant $($tenantfilter) -message "Added Autopilot profile $($displayname)" -Sev 'Info' } } else { - #patch the profile + $Type = 'Edit' $null = New-GraphPostRequest -uri "https://graph.microsoft.com/beta/deviceManagement/windowsAutopilotDeploymentProfiles/$($Profiles.id)" -tenantid $tenantfilter -body $body -type PATCH - $GraphRequest = $Profiles + $GraphRequest = $Profiles | Select-Object -Last 1 } if ($AssignTo -eq $true) { $AssignBody = '{"target":{"@odata.type":"#microsoft.graph.allDevicesAssignmentTarget"}}' if ($PSCmdlet.ShouldProcess($AssignTo, "Assign Autopilot profile $displayname")) { - $null = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceManagement/windowsAutopilotDeploymentProfiles/$($GraphRequest.id)/assignments" -tenantid $tenantfilter -type POST -body $AssignBody - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APIName -tenant $($tenantfilter) -message "Assigned autopilot profile $($Displayname) to $AssignTo" -Sev 'Info' + #Get assignments + $Assignments = New-GraphGETRequest -uri "https://graph.microsoft.com/beta/deviceManagement/windowsAutopilotDeploymentProfiles/$($GraphRequest.id)/assignments" -tenantid $tenantfilter + if (!$Assignments) { + $null = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceManagement/windowsAutopilotDeploymentProfiles/$($GraphRequest.id)/assignments" -tenantid $tenantfilter -type POST -body $AssignBody + } + Write-LogMessage -user $User -API $APIName -tenant $($tenantfilter) -message "Assigned autopilot profile $($Displayname) to $AssignTo" -Sev 'Info' } } - "Successfully added profile for $($tenantfilter)" + "Successfully $($Type)ed profile for $($tenantfilter)" } catch { - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APIName -tenant $($tenantfilter) -message "Failed adding Autopilot Profile $($Displayname). Error: $($_.Exception.Message)" -Sev 'Error' -LogData (Get-CippException -Exception $_) - throw "Failed to add profile for $($tenantfilter): $($_.Exception.Message)" + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $User -API $APIName -tenant $($tenantfilter) -message "Failed $($Type)ing Autopilot Profile $($Displayname). Error: $($ErrorMessage.NormalizedError)" -Sev 'Error' -LogData $ErrorMessage + throw "Failed to add profile for $($tenantfilter): $($ErrorMessage.NormalizedError)" } } diff --git a/Modules/CIPPCore/Public/Set-CIPPDefaultAPEnrollment.ps1 b/Modules/CIPPCore/Public/Set-CIPPDefaultAPEnrollment.ps1 index 798dfdb71553..d0533c020201 100644 --- a/Modules/CIPPCore/Public/Set-CIPPDefaultAPEnrollment.ps1 +++ b/Modules/CIPPCore/Public/Set-CIPPDefaultAPEnrollment.ps1 @@ -13,6 +13,9 @@ function Set-CIPPDefaultAPEnrollment { $ExecutingUser, $APIName = 'Add Default Enrollment Status Page' ) + + $User = $request.headers.'x-ms-client-principal-name' + try { $ObjBody = [pscustomobject]@{ '@odata.type' = '#microsoft.graph.windows10EnrollmentCompletionPageConfiguration' @@ -37,10 +40,11 @@ function Set-CIPPDefaultAPEnrollment { if ($PSCmdlet.ShouldProcess($ExistingStatusPage.ID, 'Set Default Enrollment Status Page')) { $null = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceManagement/deviceEnrollmentConfigurations/$($ExistingStatusPage.ID)" -body $body -Type PATCH -tenantid $($TenantFilter) "Successfully changed default enrollment status page for $($($TenantFilter))" - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($TenantFilter) -message "Added Autopilot Enrollment Status Page $($Displayname)" -Sev 'Info' + Write-LogMessage -user $User -API $APINAME -tenant $($TenantFilter) -message "Added Autopilot Enrollment Status Page $($Displayname)" -Sev 'Info' } } catch { - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($TenantFilter) -message "Failed adding Autopilot Enrollment Status Page $($Displayname). Error: $($_.Exception.Message)" -Sev 'Error' - throw "Failed to change default enrollment status page for $($($TenantFilter)): $($_.Exception.Message)" + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $User -API $APINAME -tenant $($TenantFilter) -message "Failed adding Autopilot Enrollment Status Page $($Displayname). Error: $($ErrorMessage.NormalizedError)" -Sev 'Error' -LogData $ErrorMessage + throw "Failed to change default enrollment status page for $($($TenantFilter)): $($ErrorMessage.NormalizedError)" } } diff --git a/Modules/CIPPCore/Public/Set-CIPPForwarding.ps1 b/Modules/CIPPCore/Public/Set-CIPPForwarding.ps1 index d8ebfe422845..23bce649ca3e 100644 --- a/Modules/CIPPCore/Public/Set-CIPPForwarding.ps1 +++ b/Modules/CIPPCore/Public/Set-CIPPForwarding.ps1 @@ -66,7 +66,8 @@ function Set-CIPPForwarding { Write-LogMessage -user $ExecutingUser -API $APIName -message $Message -Sev 'Info' -tenant $TenantFilter return $Message } catch { - Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not add forwarding for $($username)" -Sev 'Error' -tenant $TenantFilter - return "Could not add forwarding for $($username). Error: $($_.Exception.Message)" + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not add forwarding for $($username). Error: $($ErrorMessage.NormalizedError)" -Sev 'Error' -tenant $TenantFilter -LogData $ErrorMessage + return "Could not add forwarding for $($username). Error: $($ErrorMessage.NormalizedError)" } } diff --git a/Modules/CIPPCore/Public/Set-CIPPGDAPAutoExtend.ps1 b/Modules/CIPPCore/Public/Set-CIPPGDAPAutoExtend.ps1 index c07889459ac7..4143c122d706 100644 --- a/Modules/CIPPCore/Public/Set-CIPPGDAPAutoExtend.ps1 +++ b/Modules/CIPPCore/Public/Set-CIPPGDAPAutoExtend.ps1 @@ -8,12 +8,12 @@ function Set-CIPPGDAPAutoExtend { ) $ReturnedData = if ($All -eq $true) { - $Relationships = New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/tenantRelationships/delegatedAdminRelationships' -tenantid $env:tenantid -NoAuthCheck $true | Where-Object -Property autoExtendDuration -EQ 'PT0S' + $Relationships = New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/tenantRelationships/delegatedAdminRelationships' -tenantid $env:TenantID -NoAuthCheck $true | Where-Object -Property autoExtendDuration -EQ 'PT0S' foreach ($Relation in $Relationships) { try { $AddedHeader = @{'If-Match' = $Relation.'@odata.etag' } if ($PSCmdlet.ShouldProcess($Relation.id, "Set auto renew for $($Relation.customer.displayName)")) { - $null = New-GraphPostRequest -uri "https://graph.microsoft.com/beta/tenantRelationships/delegatedAdminRelationships/$($Relation.id)" -tenantid $env:tenantid -type PATCH -body '{"autoExtendDuration":"P180D"}' -Verbose -NoAuthCheck $true -AddedHeaders $AddedHeader + $null = New-GraphPostRequest -uri "https://graph.microsoft.com/beta/tenantRelationships/delegatedAdminRelationships/$($Relation.id)" -tenantid $env:TenantID -type PATCH -body '{"autoExtendDuration":"P180D"}' -Verbose -NoAuthCheck $true -AddedHeaders $AddedHeader Write-LogMessage -user $ExecutingUser -API $APIName -message "Successfully set auto renew for tenant $($Relation.customer.displayName) with ID $($RelationShipid)" -Sev 'Info' @("Successfully set auto renew for tenant $($Relation.customer.displayName) with ID $($Relation.id)" ) } @@ -25,10 +25,10 @@ function Set-CIPPGDAPAutoExtend { } } else { try { - $Relationship = New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/tenantRelationships/delegatedAdminRelationships' -tenantid $env:tenantid -NoAuthCheck $true | Where-Object -Property id -EQ $RelationShipid + $Relationship = New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/tenantRelationships/delegatedAdminRelationships' -tenantid $env:TenantID -NoAuthCheck $true | Where-Object -Property id -EQ $RelationShipid $AddedHeader = @{'If-Match' = $Relationship.'@odata.etag' } if ($PSCmdlet.ShouldProcess($RelationShipid, "Set auto renew for $($Relationship.customer.displayName)")) { - $null = New-GraphPostRequest -uri "https://graph.microsoft.com/beta/tenantRelationships/delegatedAdminRelationships/$($RelationShipid)" -tenantid $env:tenantid -type PATCH -body '{"autoExtendDuration":"P180D"}' -Verbose -NoAuthCheck $true -AddedHeaders $AddedHeader + $null = New-GraphPostRequest -uri "https://graph.microsoft.com/beta/tenantRelationships/delegatedAdminRelationships/$($RelationShipid)" -tenantid $env:TenantID -type PATCH -body '{"autoExtendDuration":"P180D"}' -Verbose -NoAuthCheck $true -AddedHeaders $AddedHeader write-LogMessage -user $ExecutingUser -API $APIName -message "Successfully set auto renew for tenant $($Relationship.customer.displayName) with ID $($RelationShipid)" -Sev 'Info' @("Successfully set auto renew for tenant $($Relationship.customer.displayName) with ID $($RelationShipid)" ) } diff --git a/Modules/CIPPCore/Public/Set-CIPPGDAPInviteGroups.ps1 b/Modules/CIPPCore/Public/Set-CIPPGDAPInviteGroups.ps1 index c648d1300446..bfba35fa1103 100644 --- a/Modules/CIPPCore/Public/Set-CIPPGDAPInviteGroups.ps1 +++ b/Modules/CIPPCore/Public/Set-CIPPGDAPInviteGroups.ps1 @@ -28,7 +28,8 @@ function Set-CIPPGDAPInviteGroups { Start-Sleep -Milliseconds 100 } } catch { - Write-LogMessage -API $APINAME -message "GDAP Group mapping failed for $($Relationship.customer.displayName) - Group: $($role.GroupId) - Exception: $($_.Exception.Message)" -Sev Error -LogData (Get-CippException -Exception $_) + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -API $APINAME -message "GDAP Group mapping failed for $($Relationship.customer.displayName) - Group: $($role.GroupId) - Exception: $($ErrorMessage.NormalizedError)" -Sev Error -LogData $ErrorMessage return $false } } @@ -57,7 +58,7 @@ function Set-CIPPGDAPInviteGroups { SkipLog = $true } #Write-Information ($InputObject | ConvertTo-Json) - $InstanceId = Start-NewOrchestration -FunctionName 'CIPPOrchestrator' -InputObject ($InputObject | ConvertTo-Json -Depth 5 -Compress) + $InstanceId = Start-NewOrchestration -FunctionName 'CIPPOrchestrator' -InputObject (ConvertTo-Json -InputObject $InputObject -Depth 5 -Compress) Write-Information "Started GDAP Invite orchestration with ID = '$InstanceId'" } } diff --git a/Modules/CIPPCore/Public/Set-CIPPGraphSubscription.ps1 b/Modules/CIPPCore/Public/Set-CIPPGraphSubscription.ps1 index 1efd17294e93..c5cd14a1a7aa 100644 --- a/Modules/CIPPCore/Public/Set-CIPPGraphSubscription.ps1 +++ b/Modules/CIPPCore/Public/Set-CIPPGraphSubscription.ps1 @@ -5,16 +5,16 @@ function Set-CIPPGraphSubscription { $RenewSubscriptions, $Resource, $EventType, - $APIName = "Set Graph Webhook", + $APIName = 'Set Graph Webhook', $ExecutingUser ) if ($RenewSubscriptions) { - $RenewalDate = (Get-Date).AddDays(1).ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ss.fffZ") + $RenewalDate = (Get-Date).AddDays(1).ToUniversalTime().ToString('yyyy-MM-ddTHH:mm:ss.fffZ') $body = @{ - "expirationDateTime" = "$RenewalDate" + 'expirationDateTime' = "$RenewalDate" } | ConvertTo-Json - $ExistingSub = (New-GraphGetRequest -uri "https://graph.microsoft.com/beta/subscriptions" -tenantid $TenantFilter) | ForEach-Object { + $null = (New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/subscriptions' -tenantid $TenantFilter) | ForEach-Object { try { $GraphRequest = New-GraphPostRequest -uri "https://graph.microsoft.com/beta/subscriptions/$($_.id)" -tenantid $TenantFilter -type PATCH -body $body -Verbose $WebhookTable = Get-CIPPTable -TableName webhookTable @@ -22,13 +22,13 @@ function Set-CIPPGraphSubscription { $WebhookRow = Get-CIPPAzDataTableEntity @WebhookTable | Where-Object { $_.WebhookNotificationUrl -eq $GraphRequest.notificationUrl } $WebhookRow.Expiration = $RenewalDate $null = Add-CIPPAzDataTableEntity @WebhookTable -Entity $WebhookRow -Force - return "Renewed $($GraphRequest.notificationUrl)" + return "Renewed $($GraphRequest.notificationUrl)" - } - catch { - Write-LogMessage -user $ExecutingUser -API $APIName -message "Failed to renew Webhook Subscription: $($_.Exception.Message)" -Sev "Error" -tenant $TenantFilter - return "Failed to renew Webhook Subscription $($WebhookRow.RowKey): $($_.Exception.Message)" + } catch { + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $ExecutingUser -API $APIName -message "Failed to renew Webhook Subscription: $($ErrorMessage.NormalizedError)" -Sev 'Error' -tenant $TenantFilter -LogData $ErrorMessage + return "Failed to renew Webhook Subscription $($WebhookRow.RowKey): $($ErrorMessage.NormalizedError)" } } } -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/Set-CIPPGroupAuthentication.ps1 b/Modules/CIPPCore/Public/Set-CIPPGroupAuthentication.ps1 index 13b224a70efa..e8d65c89fb5a 100644 --- a/Modules/CIPPCore/Public/Set-CIPPGroupAuthentication.ps1 +++ b/Modules/CIPPCore/Public/Set-CIPPGroupAuthentication.ps1 @@ -1,31 +1,29 @@ function Set-CIPPGroupAuthentication( [string]$ExecutingUser, - [string]$GroupType, - [string]$Id, - [string]$OnlyAllowInternalString, + [string]$GroupType, + [string]$Id, + [string]$OnlyAllowInternalString, [string]$TenantFilter, - [string]$APIName = "Group Sender Authentication" + [string]$APIName = 'Group Sender Authentication' ) { try { - $OnlyAllowInternal = if ($OnlyAllowInternalString -eq 'true') { "true" } else { "false" } - $messageSuffix = if ($OnlyAllowInternal -eq 'true') { "inside the organisation." } else { "inside and outside the organisation." } + $OnlyAllowInternal = if ($OnlyAllowInternalString -eq 'true') { 'true' } else { 'false' } + $messageSuffix = if ($OnlyAllowInternal -eq 'true') { 'inside the organisation.' } else { 'inside and outside the organisation.' } - if ($GroupType -eq "Distribution List" -or $GroupType -eq "Mail-Enabled Security") { - New-ExoRequest -tenantid $TenantFilter -cmdlet "Set-DistributionGroup" -cmdParams @{Identity = $Id; RequireSenderAuthenticationEnabled = $OnlyAllowInternal } - } - elseif ($GroupType -eq "Microsoft 365") { - New-ExoRequest -tenantid $TenantFilter -cmdlet "Set-UnifiedGroup" -cmdParams @{Identity = $Id; RequireSenderAuthenticationEnabled = $OnlyAllowInternal } - } - elseif ($GroupType -eq "Security") { - Write-LogMessage -user $ExecutingUser -API $APIName -tenant $TenantFilter -message "This setting cannot be set on a security group." -Sev "Error" + if ($GroupType -eq 'Distribution List' -or $GroupType -eq 'Mail-Enabled Security') { + New-ExoRequest -tenantid $TenantFilter -cmdlet 'Set-DistributionGroup' -cmdParams @{Identity = $Id; RequireSenderAuthenticationEnabled = $OnlyAllowInternal } + } elseif ($GroupType -eq 'Microsoft 365') { + New-ExoRequest -tenantid $TenantFilter -cmdlet 'Set-UnifiedGroup' -cmdParams @{Identity = $Id; RequireSenderAuthenticationEnabled = $OnlyAllowInternal } + } elseif ($GroupType -eq 'Security') { + Write-LogMessage -user $ExecutingUser -API $APIName -tenant $TenantFilter -message 'This setting cannot be set on a security group.' -Sev 'Error' return "$GroupType's group cannot have this setting changed" } - - Write-LogMessage -user $ExecutingUser -API $APIName -tenant $TenantFilter -message "$Id set to allow messages from people $messageSuffix" -Sev "Info" + + Write-LogMessage -user $ExecutingUser -API $APIName -tenant $TenantFilter -message "$Id set to allow messages from people $messageSuffix" -Sev 'Info' return "Set $GroupType group $Id to allow messages from people $messageSuffix" - } - catch { - Write-LogMessage -user $ExecutingUser -API $APIName -tenant $TenantFilter -message "Delivery Management failed: $($_.Exception.Message)" -Sev "Error" - return "Failed. $($_.Exception.Message)" + } catch { + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $ExecutingUser -API $APIName -tenant $TenantFilter -message "Delivery Management failed: $($ErrorMessage.NormalizedError)" -Sev 'Error' -LogData $ErrorMessage + return "Failed. $($ErrorMessage.NormalizedError)" } } diff --git a/Modules/CIPPCore/Public/Set-CIPPGroupGAL.ps1 b/Modules/CIPPCore/Public/Set-CIPPGroupGAL.ps1 index aec510dfe806..0da6ddf798a6 100644 --- a/Modules/CIPPCore/Public/Set-CIPPGroupGAL.ps1 +++ b/Modules/CIPPCore/Public/Set-CIPPGroupGAL.ps1 @@ -1,25 +1,29 @@ function Set-CIPPGroupGAL( [string]$ExecutingUser, - [string]$GroupType, - [string]$Id, - [string]$HiddenString, + [string]$GroupType, + [string]$Id, + [string]$HiddenString, [string]$TenantFilter, - [string]$APIName = "Group GAL Status" + [string]$APIName = 'Group GAL Status' ) { - $Hidden = if ($HiddenString -eq 'true') { "true" } else { "false" } - $messageSuffix = if ($Hidden -eq 'true') { "hidden" } else { "unhidden" } + $Hidden = if ($HiddenString -eq 'true') { 'true' } else { 'false' } + $messageSuffix = if ($Hidden -eq 'true') { 'hidden' } else { 'unhidden' } - if ($GroupType -eq "Distribution List" -or $GroupType -eq "Mail-Enabled Security") { - New-ExoRequest -tenantid $TenantFilter -cmdlet "Set-DistributionGroup" -cmdParams @{Identity = $Id; HiddenFromAddressListsEnabled = $Hidden } - } - elseif ($GroupType -eq "Microsoft 365") { - New-ExoRequest -tenantid $TenantFilter -cmdlet "Set-UnifiedGroup" -cmdParams @{Identity = $Id; HiddenFromAddressListsEnabled = $Hidden } - } - elseif ($GroupType -eq "Security") { - Write-LogMessage -user $ExecutingUser -API $APIName -tenant $TenantFilter -message "This setting cannot be set on a security group." -Sev "Error" - return "$GroupType's group cannot have this setting changed" + try { + if ($GroupType -eq 'Distribution List' -or $GroupType -eq 'Mail-Enabled Security') { + New-ExoRequest -tenantid $TenantFilter -cmdlet 'Set-DistributionGroup' -cmdParams @{Identity = $Id; HiddenFromAddressListsEnabled = $Hidden } + } elseif ($GroupType -eq 'Microsoft 365') { + New-ExoRequest -tenantid $TenantFilter -cmdlet 'Set-UnifiedGroup' -cmdParams @{Identity = $Id; HiddenFromAddressListsEnabled = $Hidden } + } elseif ($GroupType -eq 'Security') { + Write-LogMessage -user $ExecutingUser -API $APIName -tenant $TenantFilter -message 'This setting cannot be set on a security group.' -Sev 'Error' + return "$GroupType's group cannot have this setting changed" + } + } catch { + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $ExecutingUser -API $APIName -tenant $TenantFilter -message "$Id $messageSuffix from GAL failed: $($ErrorMessage.NormalizedError)" -Sev 'Error' -LogData $ErrorMessage + return "Failed. $($ErrorMessage.NormalizedError)" } - - Write-LogMessage -user $ExecutingUser -API $APIName -tenant $TenantFilter -message "$Id $messageSuffix from GAL" -Sev "Info" + + Write-LogMessage -user $ExecutingUser -API $APIName -tenant $TenantFilter -message "$Id $messageSuffix from GAL" -Sev 'Info' return "Successfully $messageSuffix $GroupType group $Id from GAL." } diff --git a/Modules/CIPPCore/Public/Set-CIPPHideFromGAL.ps1 b/Modules/CIPPCore/Public/Set-CIPPHideFromGAL.ps1 index 31daa7020fd4..13c70a474602 100644 --- a/Modules/CIPPCore/Public/Set-CIPPHideFromGAL.ps1 +++ b/Modules/CIPPCore/Public/Set-CIPPHideFromGAL.ps1 @@ -3,18 +3,18 @@ function Set-CIPPHideFromGAL { param ( $userid, $tenantFilter, - $APIName = "Hide From Address List", + $APIName = 'Hide From Address List', [bool]$HideFromGAL, $ExecutingUser ) - $Text = if ($HideFromGAL) { "hidden" } else { "unhidden" } + $Text = if ($HideFromGAL) { 'hidden' } else { 'unhidden' } try { - $Request = New-ExoRequest -tenantid $TenantFilter -cmdlet "Set-mailbox" -cmdParams @{Identity = $userid ; HiddenFromAddressListsEnabled = $HideFromGAL } - Write-LogMessage -user $ExecutingUser -API $APINAME -tenant $($tenantfilter) -message "$($userid) $Text from GAL" -Sev "Info" + $null = New-ExoRequest -tenantid $TenantFilter -cmdlet 'Set-mailbox' -cmdParams @{Identity = $userid ; HiddenFromAddressListsEnabled = $HideFromGAL } + Write-LogMessage -user $ExecutingUser -API $APINAME -tenant $($tenantfilter) -message "$($userid) $Text from GAL" -Sev 'Info' return "Successfully $Text $($userid) from GAL." - } - catch { - Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not hide $($userid) from address list" -Sev "Error" -tenant $TenantFilter - return "Could not hide $($userid) from address list. Error: $($_.Exception.Message)" + } catch { + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not hide $($userid) from address list. Error: $($ErrorMessage.NormalizedError)" -Sev 'Error' -tenant $TenantFilter -LogData $ErrorMessage + return "Could not hide $($userid) from address list. Error: $($ErrorMessage.NormalizedError)" } } diff --git a/Modules/CIPPCore/Public/Set-CIPPIntunePolicy.ps1 b/Modules/CIPPCore/Public/Set-CIPPIntunePolicy.ps1 index 45ffd9fad2e1..96959041a08f 100644 --- a/Modules/CIPPCore/Public/Set-CIPPIntunePolicy.ps1 +++ b/Modules/CIPPCore/Public/Set-CIPPIntunePolicy.ps1 @@ -13,12 +13,17 @@ function Set-CIPPIntunePolicy { switch ($TemplateType) { 'AppProtection' { $TemplateType = ($RawJSON | ConvertFrom-Json).'@odata.type' -replace '#microsoft.graph.', '' - $TemplateTypeURL = "$($TemplateType)s" + $PolicyFile = $RawJSON | ConvertFrom-Json + $Null = $PolicyFile | Add-Member -MemberType NoteProperty -Name 'description' -Value $description -Force + $null = $PolicyFile | Add-Member -MemberType NoteProperty -Name 'displayName' -Value $displayname -Force + $RawJSON = ConvertTo-Json -InputObject $PolicyFile -Depth 20 + $TemplateTypeURL = if ($TemplateType -eq 'windowsInformationProtectionPolicy') { 'windowsInformationProtectionPolicies' } else { "$($TemplateType)s" } $CheckExististing = New-GraphGETRequest -uri "https://graph.microsoft.com/beta/deviceAppManagement/$TemplateTypeURL" -tenantid $tenantFilter if ($displayname -in $CheckExististing.displayName) { $PostType = 'edited' - $ExistingID = $CheckExististing | Where-Object -Property displayName -EQ $PolicyName + $ExistingID = $CheckExististing | Where-Object -Property displayName -EQ $displayname $CreateRequest = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceAppManagement/$TemplateTypeURL/$($ExistingID.Id)" -tenantid $tenantFilter -type PATCH -body $RawJSON + $CreateRequest = $CheckExististing | Where-Object -Property displayName -EQ $DisplayName } else { $PostType = 'added' $CreateRequest = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceAppManagement/$TemplateTypeURL" -tenantid $tenantFilter -type POST -body $RawJSON @@ -29,17 +34,18 @@ function Set-CIPPIntunePolicy { $CheckExististing = New-GraphGETRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$TemplateTypeURL" -tenantid $tenantFilter $JSON = $RawJSON | ConvertFrom-Json | Select-Object * -ExcludeProperty id, createdDateTime, lastModifiedDateTime, version, 'scheduledActionsForRule@odata.context', '@odata.context' $JSON.scheduledActionsForRule = @($JSON.scheduledActionsForRule | Select-Object * -ExcludeProperty 'scheduledActionConfigurations@odata.context') - $RawJSON = ConvertTo-Json -InputObject $JSON -Depth 20 -Compress - Write-Host $RawJSON if ($displayname -in $CheckExististing.displayName) { + $RawJSON = ConvertTo-Json -InputObject $JSON -Depth 20 -Compress $PostType = 'edited' - $ExistingID = $CheckExististing | Where-Object -Property displayName -EQ $PolicyName - $CreateRequest = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$TemplateTypeURL/$($ExistingID.Id)" -tenantid $tenantFilter -type PATCH -body $RawJSON - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($tenantFilter) -message "Updated policy $($PolicyName) to template defaults" -Sev 'info' + $ExistingID = $CheckExististing | Where-Object -Property displayName -EQ $displayname + $CreateRequest = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$TemplateTypeURL/$($ExistingID.Id)" -tenantid $tenantFilter -type PUT -body $RawJSON + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($tenantFilter) -message "Updated policy $($DisplayName) to template defaults" -Sev 'info' + $CreateRequest = $CheckExististing | Where-Object -Property displayName -EQ $DisplayName } else { + $RawJSON = ConvertTo-Json -InputObject $JSON -Depth 20 -Compress $PostType = 'added' $CreateRequest = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$TemplateTypeURL" -tenantid $tenantFilter -type POST -body $RawJSON - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($tenantFilter) -message "Added policy $($PolicyName) via template" -Sev 'info' + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($tenantFilter) -message "Added policy $($DisplayName) via template" -Sev 'info' } } 'Admin' { @@ -48,13 +54,14 @@ function Set-CIPPIntunePolicy { $CheckExististing = New-GraphGETRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$TemplateTypeURL" -tenantid $tenantFilter if ($displayname -in $CheckExististing.displayName) { $ExistingID = $CheckExististing | Where-Object -Property displayName -EQ $displayname - $ExistingData = New-GraphGETRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$TemplateTypeURL('$($existingId.id)')/definitionValues" -tenantid $tenantFilter + $ExistingData = New-GraphGETRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$TemplateTypeURL('$($ExistingID.id)')/definitionValues" -tenantid $tenantFilter $DeleteJson = $RawJSON | ConvertFrom-Json -Depth 10 $DeleteJson.deletedIds = @($ExistingData.id) $DeleteJson.added = @() $DeleteJson = ConvertTo-Json -Depth 10 -InputObject $DeleteJson - $DeleteRequest = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$TemplateTypeURL('$($existingId.id)')/updateDefinitionValues" -tenantid $tenantFilter -type POST -body $DeleteJson - $CreateRequest = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$TemplateTypeURL('$($existingId.id)')/updateDefinitionValues" -tenantid $tenantFilter -type POST -body $RawJSON + $DeleteRequest = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$TemplateTypeURL('$($ExistingID.id)')/updateDefinitionValues" -tenantid $tenantFilter -type POST -body $DeleteJson + $CreateRequest = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$TemplateTypeURL('$($ExistingID.id)')/updateDefinitionValues" -tenantid $tenantFilter -type POST -body $RawJSON + $CreateRequest = $CheckExististing | Where-Object -Property displayName -EQ $DisplayName Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($tenantFilter) -message "Updated policy $($Displayname) to template defaults" -Sev 'info' $PostType = 'edited' } else { @@ -67,49 +74,55 @@ function Set-CIPPIntunePolicy { } 'Device' { $TemplateTypeURL = 'deviceConfigurations' - - $PolicyName = ($RawJSON | ConvertFrom-Json).displayName + $PolicyFile = $RawJSON | ConvertFrom-Json + $Null = $PolicyFile | Add-Member -MemberType NoteProperty -Name 'description' -Value "$description" -Force + $null = $PolicyFile | Add-Member -MemberType NoteProperty -Name 'displayName' -Value $displayname -Force + $RawJSON = ConvertTo-Json -InputObject $PolicyFile -Depth 20 $CheckExististing = New-GraphGETRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$TemplateTypeURL" -tenantid $tenantFilter - if ($PolicyName -in $CheckExististing.displayName) { + if ($PolicyFile.displayName -in $CheckExististing.displayName) { $PostType = 'edited' - $ExistingID = $CheckExististing | Where-Object -Property displayName -EQ $PolicyName + Write-Host 'hit' + $ExistingID = $CheckExististing | Where-Object -Property displayName -EQ $DisplayName + Write-Host "https://graph.microsoft.com/beta/deviceManagement/$TemplateTypeURL/$($ExistingID.Id)" $CreateRequest = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$TemplateTypeURL/$($ExistingID.Id)" -tenantid $tenantFilter -type PATCH -body $RawJSON - $CreateRequest = $CheckExististing | Where-Object -Property displayName -EQ $PolicyName - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($tenantFilter) -message "Updated policy $($PolicyName) to template defaults" -Sev 'info' + $CreateRequest = $CheckExististing | Where-Object -Property displayName -EQ $DisplayName + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($tenantFilter) -message "Updated policy $($DisplayName) to template defaults" -Sev 'info' } else { $PostType = 'added' $CreateRequest = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$TemplateTypeURL" -tenantid $tenantFilter -type POST -body $RawJSON - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($tenantFilter) -message "Added policy $($PolicyName) via template" -Sev 'info' + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($tenantFilter) -message "Added policy $($DisplayName) via template" -Sev 'info' } } 'Catalog' { $TemplateTypeURL = 'configurationPolicies' - $PolicyName = ($RawJSON | ConvertFrom-Json).Name + $DisplayName = ($RawJSON | ConvertFrom-Json).Name $CheckExististing = New-GraphGETRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$TemplateTypeURL" -tenantid $tenantFilter - if ($PolicyName -in $CheckExististing.name) { - $ExistingID = $CheckExististing | Where-Object -Property Name -EQ $PolicyName + if ($DisplayName -in $CheckExististing.name) { + $ExistingID = $CheckExististing | Where-Object -Property Name -EQ $DisplayName $CreateRequest = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$TemplateTypeURL/$($ExistingID.Id)" -tenantid $tenantFilter -type PUT -body $RawJSON - $CreateRequest = $CheckExististing | Where-Object -Property Name -EQ $PolicyName + $CreateRequest = $CheckExististing | Where-Object -Property Name -EQ $DisplayName $PostType = 'edited' } else { $PostType = 'added' $CreateRequest = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$TemplateTypeURL" -tenantid $tenantFilter -type POST -body $RawJSON - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($tenantFilter) -message "Added policy $($PolicyName) via template" -Sev 'info' + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($tenantFilter) -message "Added policy $($DisplayName) via template" -Sev 'info' } } 'windowsDriverUpdateProfiles' { $TemplateTypeURL = 'windowsDriverUpdateProfiles' - $PolicyName = ($RawJSON | ConvertFrom-Json).Name + $DisplayName = ($RawJSON | ConvertFrom-Json).Name $CheckExististing = New-GraphGETRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$TemplateTypeURL" -tenantid $tenantFilter - if ($PolicyName -in $CheckExististing.name) { + if ($DisplayName -in $CheckExististing.name) { $PostType = 'edited' - $ExistingID = $CheckExististing | Where-Object -Property Name -EQ $PolicyName + $ExistingID = $CheckExististing | Where-Object -Property displayName -EQ $displayname $CreateRequest = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$TemplateTypeURL/$($ExistingID.Id)" -tenantid $tenantFilter -type PUT -body $RawJSON + $CreateRequest = $CheckExististing | Where-Object -Property displayName -EQ $DisplayName + } else { $PostType = 'added' $CreateRequest = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$TemplateTypeURL" -tenantid $tenantFilter -type POST -body $RawJSON - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($tenantFilter) -message "Added policy $($PolicyName) via template" -Sev 'info' + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($tenantFilter) -message "Added policy $($DisplayName) via template" -Sev 'info' } } @@ -117,14 +130,14 @@ function Set-CIPPIntunePolicy { Write-LogMessage -user $ExecutingUser -API $APINAME -tenant $($tenantFilter) -message "$($PostType) policy $($Displayname)" -Sev 'Info' if ($AssignTo) { Write-Host "Assigning policy to $($AssignTo) with ID $($CreateRequest.id) and type $TemplateTypeURL for tenant $tenantFilter" + Write-Host "ID is $($CreateRequest.id)" Set-CIPPAssignedPolicy -GroupName $AssignTo -PolicyId $CreateRequest.id -Type $TemplateTypeURL -TenantFilter $tenantFilter } - "Successfully $($PostType) policy for $($tenantFilter) with display name $($Displayname)" + return "Successfully $($PostType) policy for $($tenantFilter) with display name $($Displayname)" } catch { - "Failed to add or set policy for $($tenantFilter) with display name $($Displayname): $($_.Exception.Message)" - Write-LogMessage -user $ExecutingUser -API $APINAME -tenant $($tenantFilter) -message "Failed $($PostType) policy $($Displayname). Error: $($_.Exception.Message)" -Sev 'Error' - continue + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $ExecutingUser -API $APINAME -tenant $($tenantFilter) -message "Failed $($PostType) policy $($Displayname). Error: $($ErrorMessage.NormalizedError)" -Sev 'Error' -LogData $ErrorMessage + throw "Failed to add or set policy for $($tenantFilter) with display name $($Displayname): $($ErrorMessage.NormalizedError)" } - return $ReturnValue } diff --git a/Modules/CIPPCore/Public/Set-CIPPIntuneTemplate.ps1 b/Modules/CIPPCore/Public/Set-CIPPIntuneTemplate.ps1 index 65f40a06449d..b216c5b56672 100644 --- a/Modules/CIPPCore/Public/Set-CIPPIntuneTemplate.ps1 +++ b/Modules/CIPPCore/Public/Set-CIPPIntuneTemplate.ps1 @@ -8,8 +8,8 @@ function Set-CIPPIntuneTemplate { $templateType ) - if (!$DisplayName) { throw "You must enter a displayname" } - if ($null -eq ($RawJSON | ConvertFrom-Json)) { throw "the JSON is invalid" } + if (!$DisplayName) { throw 'You must enter a displayname' } + if ($null -eq ($RawJSON | ConvertFrom-Json)) { throw 'the JSON is invalid' } $object = [PSCustomObject]@{ Displayname = $DisplayName @@ -24,9 +24,9 @@ function Set-CIPPIntuneTemplate { JSON = "$object" RowKey = "$GUID" GUID = "$GUID" - PartitionKey = "IntuneTemplate" + PartitionKey = 'IntuneTemplate' } - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Created intune policy template named $($Request.body.displayname) with GUID $GUID" -Sev "Debug" + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Created intune policy template named $($Request.body.displayname) with GUID $GUID" -Sev 'Debug' - return "Successfully added template" + return 'Successfully added template' } diff --git a/Modules/CIPPCore/Public/Set-CIPPMailboxAccess.ps1 b/Modules/CIPPCore/Public/Set-CIPPMailboxAccess.ps1 index f19762545ac1..e9efdf9eaa10 100644 --- a/Modules/CIPPCore/Public/Set-CIPPMailboxAccess.ps1 +++ b/Modules/CIPPCore/Public/Set-CIPPMailboxAccess.ps1 @@ -5,25 +5,24 @@ function Set-CIPPMailboxAccess { $AccessUser, [bool]$Automap, $TenantFilter, - $APIName = "Manage Shared Mailbox Access", + $APIName = 'Manage Shared Mailbox Access', $ExecutingUser, [array]$AccessRights ) try { - $permissions = New-ExoRequest -tenantid $TenantFilter -cmdlet "Add-MailboxPermission" -cmdParams @{Identity = $userid; user = $AccessUser; automapping = $Automap; accessRights = $AccessRights; InheritanceType = "all" } -Anchor $userid - + $null = New-ExoRequest -tenantid $TenantFilter -cmdlet 'Add-MailboxPermission' -cmdParams @{Identity = $userid; user = $AccessUser; automapping = $Automap; accessRights = $AccessRights; InheritanceType = 'all' } -Anchor $userid + if ($Automap) { - Write-LogMessage -user $ExecutingUser -API $APIName -message "Gave $AccessRights permissions to $($AccessUser) on $($userid) with automapping" -Sev "Info" -tenant $TenantFilter + Write-LogMessage -user $ExecutingUser -API $APIName -message "Gave $AccessRights permissions to $($AccessUser) on $($userid) with automapping" -Sev 'Info' -tenant $TenantFilter return "added $($AccessUser) to $($userid) Shared Mailbox with automapping, with the following permissions: $AccessRights" - } - else { - Write-LogMessage -user $ExecutingUser -API $APIName -message "Gave $AccessRights permissions to $($AccessUser) on $($userid) without automapping" -Sev "Info" -tenant $TenantFilter + } else { + Write-LogMessage -user $ExecutingUser -API $APIName -message "Gave $AccessRights permissions to $($AccessUser) on $($userid) without automapping" -Sev 'Info' -tenant $TenantFilter return "added $($AccessUser) to $($userid) Shared Mailbox without automapping, with the following permissions: $AccessRights" } - } - catch { - Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not add mailbox permissions for $($AccessUser) on $($userid)" -Sev "Error" -tenant $TenantFilter - return "Could not add shared mailbox permissions for $($userid). Error: $($_.Exception.Message)" + } catch { + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not add mailbox permissions for $($AccessUser) on $($userid). Error: $($ErrorMessage.NormalizedError)" -Sev 'Error' -tenant $TenantFilter -LogData $ErrorMessage + return "Could not add shared mailbox permissions for $($userid). Error: $($ErrorMessage.NormalizedError)" } } diff --git a/Modules/CIPPCore/Public/Set-CIPPMailboxArchive.ps1 b/Modules/CIPPCore/Public/Set-CIPPMailboxArchive.ps1 index 8ab1795e7fb5..0df033a87d15 100644 --- a/Modules/CIPPCore/Public/Set-CIPPMailboxArchive.ps1 +++ b/Modules/CIPPCore/Public/Set-CIPPMailboxArchive.ps1 @@ -4,19 +4,21 @@ function Set-CIPPMailboxArchive { $ExecutingUser, $userid, $username, - $APIName = "Mailbox Archive", + $APIName = 'Mailbox Archive', $TenantFilter, [bool]$ArchiveEnabled ) + $User = $request.headers.'x-ms-client-principal-name' + Try { if (!$username) { $username = $userid } - New-ExoRequest -tenantid $TenantFilter -cmdlet "Enable-Mailbox" -cmdParams @{Identity = $userid; Archive = $ArchiveEnabled } + $null = New-ExoRequest -tenantid $TenantFilter -cmdlet 'Enable-Mailbox' -cmdParams @{Identity = $userid; Archive = $ArchiveEnabled } "Successfully set archive for $username to $ArchiveEnabled" - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($tenantfilter) -message "Successfully set archive for $username to $ArchiveEnabled" -Sev "Info" - } - catch { - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($tenantfilter) -message "Failed to set archive $($_.Exception.Message)" -Sev "Error" - "Failed. $($_.Exception.Message)" + Write-LogMessage -user $User -API $APINAME -tenant $($tenantfilter) -message "Successfully set archive for $username to $ArchiveEnabled" -Sev 'Info' + } catch { + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $User -API $APINAME -tenant $($tenantfilter) -message "Failed to set archive for $username. Error: $($ErrorMessage.NormalizedError)" -Sev 'Error' -LogData $ErrorMessage + "Failed. $($ErrorMessage.NormalizedError)" } } diff --git a/Modules/CIPPCore/Public/Set-CIPPMailboxLocale.ps1 b/Modules/CIPPCore/Public/Set-CIPPMailboxLocale.ps1 new file mode 100644 index 000000000000..ae7093b7714e --- /dev/null +++ b/Modules/CIPPCore/Public/Set-CIPPMailboxLocale.ps1 @@ -0,0 +1,24 @@ +function Set-CippMailboxLocale { + [CmdletBinding()] + param ( + $ExecutingUser, + $locale, + $username, + $APIName = 'Mailbox Locale', + $TenantFilter + ) + + try { + $null = New-ExoRequest -tenantid $TenantFilter -cmdlet 'Set-MailboxRegionalConfiguration' -cmdParams @{ + Identity = $username + Language = $locale + LocalizeDefaultFolderName = $true + } -Anchor $username + Write-LogMessage -user $ExecutingUser -API $APIName -message "set locale for $($username) to a $locale" -Sev 'Info' -tenant $TenantFilter + return "set locale for $($username) to a $locale" + } catch { + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not set locale for $($username). Error: $($ErrorMessage.NormalizedError)" -Sev 'Error' -tenant $TenantFilter -LogData $ErrorMessage + return "Could not set locale for $username. Error: $($ErrorMessage.NormalizedError)" + } +} diff --git a/Modules/CIPPCore/Public/Set-CIPPMailboxType.ps1 b/Modules/CIPPCore/Public/Set-CIPPMailboxType.ps1 index 03fc1236f269..f139908ade52 100644 --- a/Modules/CIPPCore/Public/Set-CIPPMailboxType.ps1 +++ b/Modules/CIPPCore/Public/Set-CIPPMailboxType.ps1 @@ -4,20 +4,20 @@ function Set-CIPPMailboxType { $ExecutingUser, $userid, $username, - $APIName = "Mailbox Conversion", + $APIName = 'Mailbox Conversion', $TenantFilter, [Parameter()] - [ValidateSet('shared', 'Regular', 'Room', 'Equipment')]$MailboxType + [ValidateSet('Shared', 'Regular', 'Room', 'Equipment')]$MailboxType ) try { - $Mailbox = New-ExoRequest -tenantid $TenantFilter -cmdlet "Set-mailbox" -cmdParams @{Identity = $userid; type = $MailboxType } -Anchor $username - Write-LogMessage -user $ExecutingUser -API $APIName -message "Converted $($username) to a $MailboxType mailbox" -Sev "Info" -tenant $TenantFilter - if (!$username) { $username = $userid } - return "Converted $($username) to a $MailboxType mailbox" - } - catch { - Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not convert $username to $MailboxType mailbox" -Sev "Error" -tenant $TenantFilter - return "Could not convert $($username) to a $MailboxType mailbox. Error: $($_.Exception.Message)" + if ([string]::IsNullOrWhiteSpace($username)) { $username = $userid } + $null = New-ExoRequest -tenantid $TenantFilter -cmdlet 'Set-Mailbox' -cmdParams @{Identity = $userid; Type = $MailboxType } -Anchor $username + Write-LogMessage -user $ExecutingUser -API $APIName -message "Converted $($username) to a $MailboxType mailbox" -Sev 'Info' -tenant $TenantFilter + return "Converted $username to a $MailboxType mailbox" + } catch { + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not convert $username to $MailboxType mailbox. Error: $($ErrorMessage.NormalizedError)" -Sev 'Error' -tenant $TenantFilter -LogData $ErrorMessage + return "Could not convert $username to a $MailboxType mailbox. Error: $($ErrorMessage.NormalizedError)" } } diff --git a/Modules/CIPPCore/Public/Set-CIPPManager.ps1 b/Modules/CIPPCore/Public/Set-CIPPManager.ps1 new file mode 100644 index 000000000000..0b7c68c710fc --- /dev/null +++ b/Modules/CIPPCore/Public/Set-CIPPManager.ps1 @@ -0,0 +1,22 @@ +function Set-CIPPManager { + [CmdletBinding()] + param ( + $user, + $Manager, + $TenantFilter, + $APIName = 'Set Manager', + $ExecutingUser + ) + + try { + $ManagerBody = [PSCustomObject]@{'@odata.id' = "https://graph.microsoft.com/beta/users/$($Manager)" } + $ManagerBodyJSON = ConvertTo-Json -Compress -Depth 10 -InputObject $ManagerBody + New-GraphPostRequest -uri "https://graph.microsoft.com/beta/users/$($User)/manager/`$ref" -tenantid $TenantFilter -type PUT -body $ManagerBodyJSON -Verbose + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $UserObj.tenantID -message "Set $user's manager to $Manager" -Sev 'Info' + } catch { + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($UserObj.tenantID) -message "Failed to Set Manager. Error:$($_.Exception.Message)" -Sev 'Error' + throw "Failed to set manager: $($_.Exception.Message)" + } + return "Set $user's manager to $Manager" +} + diff --git a/Modules/CIPPCore/Public/Set-CIPPMessageCopy.ps1 b/Modules/CIPPCore/Public/Set-CIPPMessageCopy.ps1 index 745c138bebae..dae07baf9bf4 100644 --- a/Modules/CIPPCore/Public/Set-CIPPMessageCopy.ps1 +++ b/Modules/CIPPCore/Public/Set-CIPPMessageCopy.ps1 @@ -4,16 +4,16 @@ function Set-CIPPMessageCopy { $userid, $MessageCopyForSentAsEnabled, $TenantFilter, - $APIName = "Manage OneDrive Access", + $APIName = 'Manage OneDrive Access', $ExecutingUser ) Try { - New-ExoRequest -tenantid $TenantFilter -cmdlet "Set-mailbox" -cmdParams @{Identity = $userid; MessageCopyForSentAsEnabled = $MessageCopyForSentAsEnabled } - Write-LogMessage -user $ExecutingUser -API $APINAME -tenant $($tenantfilter) -message "Successfully set MessageCopyForSentAsEnabled as $MessageCopyForSentAsEnabled on $($userid)." -Sev "Info" + New-ExoRequest -tenantid $TenantFilter -cmdlet 'Set-Mailbox' -cmdParams @{Identity = $userid; MessageCopyForSentAsEnabled = $MessageCopyForSentAsEnabled } + Write-LogMessage -user $ExecutingUser -API $APINAME -tenant $($tenantfilter) -message "Successfully set MessageCopyForSentAsEnabled as $MessageCopyForSentAsEnabled on $($userid)." -Sev 'Info' return "Successfully set MessageCopyForSentAsEnabled as $MessageCopyForSentAsEnabled on $($userid)." + } catch { + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $ExecutingUser -API $APINAME -tenant $($tenantfilter) -message "set MessageCopyForSentAsEnabled to $MessageCopyForSentAsEnabled failed: $($ErrorMessage.NormalizedError)" -Sev 'Error' -LogData $ErrorMessage + return "set MessageCopyForSentAsEnabled to $MessageCopyForSentAsEnabled failed - $($ErrorMessage.NormalizedError)" } - catch { - Write-LogMessage -user $ExecutingUser -API $APINAME -tenant $($tenantfilter) -message "set MessageCopyForSentAsEnabled to $MessageCopyForSentAsEnabled failed: $($_.Exception.Message)" -Sev "Error" - return "set MessageCopyForSentAsEnabled to $MessageCopyForSentAsEnabled failed - $($_.Exception.Message)" - } -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/Set-CIPPMobileDevice.ps1 b/Modules/CIPPCore/Public/Set-CIPPMobileDevice.ps1 index f3a3392eeb75..830a02cd2564 100644 --- a/Modules/CIPPCore/Public/Set-CIPPMobileDevice.ps1 +++ b/Modules/CIPPCore/Public/Set-CIPPMobileDevice.ps1 @@ -6,41 +6,39 @@ function Set-CIPPMobileDevice( [string]$TenantFilter, [string]$Delete, [string]$Guid, - [string]$APIName = "Mobile Device" + [string]$APIName = 'Mobile Device' ) { - + try { - if ($Quarantine -eq "false") { - New-ExoRequest -tenantid $TenantFilter -cmdlet "Set-CASMailbox" -cmdParams @{Identity = $UserId; ActiveSyncAllowedDeviceIDs = @{'@odata.type' = '#Exchange.GenericHashTable'; add = $DeviceId } } - Write-LogMessage -user $ExecutingUser -API $APIName -tenant $TenantFilter -message "Allow Active Sync Device for $UserId" -Sev "Info" + if ($Quarantine -eq 'false') { + New-ExoRequest -tenantid $TenantFilter -cmdlet 'Set-CASMailbox' -cmdParams @{Identity = $UserId; ActiveSyncAllowedDeviceIDs = @{'@odata.type' = '#Exchange.GenericHashTable'; add = $DeviceId } } + Write-LogMessage -user $ExecutingUser -API $APIName -tenant $TenantFilter -message "Allow Active Sync Device for $UserId" -Sev 'Info' return "Allowed Active Sync Device for $UserId" - } - elseif ($Quarantine -eq "true") { - New-ExoRequest -tenantid $TenantFilter -cmdlet "Set-CASMailbox" -cmdParams @{Identity = $UserId; ActiveSyncBlockedDeviceIDs = @{'@odata.type' = '#Exchange.GenericHashTable'; add = $DeviceId } } - Write-LogMessage -user $ExecutingUser -API $APIName -tenant $TenantFilter -message "Blocked Active Sync Device for $UserId" -Sev "Info" + } elseif ($Quarantine -eq 'true') { + New-ExoRequest -tenantid $TenantFilter -cmdlet 'Set-CASMailbox' -cmdParams @{Identity = $UserId; ActiveSyncBlockedDeviceIDs = @{'@odata.type' = '#Exchange.GenericHashTable'; add = $DeviceId } } + Write-LogMessage -user $ExecutingUser -API $APIName -tenant $TenantFilter -message "Blocked Active Sync Device for $UserId" -Sev 'Info' return "Blocked Active Sync Device for $UserId" } - } - catch { + } catch { + $ErrorMessage = Get-CippException -Exception $_ if ($Quarantine -eq 'false') { - Write-LogMessage -user $ExecutingUser -API $APIName -tenant $TenantFilter -message "Failed to Allow Active Sync Device for $($UserId): $($_.Exception.Message)" -Sev "Error" - return "Failed to Allow Active Sync Device for $($UserId): $($_.Exception.Message)" - } - elseif ($Quarantine -eq 'true') { - Write-LogMessage -user $ExecutingUser -API $APIName -tenant $TenantFilter -message "Failed to Block Active Sync Device for $($UserId): $($_.Exception.Message)" -Sev "Error" - return "Failed to Block Active Sync Device for $($UserId): $($_.Exception.Message)" + Write-LogMessage -user $ExecutingUser -API $APIName -tenant $TenantFilter -message "Failed to Allow Active Sync Device for $($UserId): $($ErrorMessage.NormalizedError)" -Sev 'Error' -LogData $ErrorMessage + return "Failed to Allow Active Sync Device for $($UserId): $($ErrorMessage.NormalizedError)" + } elseif ($Quarantine -eq 'true') { + Write-LogMessage -user $ExecutingUser -API $APIName -tenant $TenantFilter -message "Failed to Block Active Sync Device for $($UserId): $($ErrorMessage.NormalizedError)" -Sev 'Error' -LogData $ErrorMessage + return "Failed to Block Active Sync Device for $($UserId): $($ErrorMessage.NormalizedError)" } } try { if ($Delete -eq 'true') { - New-ExoRequest -tenant $TenantFilter -cmdlet "Remove-MobileDevice" -cmdParams @{Identity = $Guid; Confirm = $false } -UseSystemMailbox $true - Write-LogMessage -user $ExecutingUser -API $APIName -tenant $TenantFilter -message "Deleted Active Sync Device for $UserId" -Sev "Info" + New-ExoRequest -tenant $TenantFilter -cmdlet 'Remove-MobileDevice' -cmdParams @{Identity = $Guid; Confirm = $false } -UseSystemMailbox $true + Write-LogMessage -user $ExecutingUser -API $APIName -tenant $TenantFilter -message "Deleted Active Sync Device for $UserId" -Sev 'Info' return "Deleted Active Sync Device for $UserId" } - } - catch { - Write-LogMessage -user $ExecutingUser -API $APIName -tenant $TenantFilter -message "Failed to delete Mobile Device $($Guid): $($_.Exception.Message)" -Sev "Error" - return "Failed to delete Mobile Device $($Guid): $($_.Exception.Message)" + } catch { + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $ExecutingUser -API $APIName -tenant $TenantFilter -message "Failed to delete Mobile Device $($Guid): $($ErrorMessage.NormalizedError)" -Sev 'Error' -LogData $ErrorMessage + return "Failed to delete Mobile Device $($Guid): $($ErrorMessage.NormalizedError)" } } diff --git a/Modules/CIPPCore/Public/Set-CIPPNamedLocation.ps1 b/Modules/CIPPCore/Public/Set-CIPPNamedLocation.ps1 new file mode 100644 index 000000000000..2a5eb8477915 --- /dev/null +++ b/Modules/CIPPCore/Public/Set-CIPPNamedLocation.ps1 @@ -0,0 +1,47 @@ +function Set-CIPPNamedLocation { + [CmdletBinding(SupportsShouldProcess = $true)] + param( + $NamedLocationId, + $TenantFilter, + #$change should be one of 'addip','addlocation','removeip','removelocation' + [ValidateSet('addip', 'addlocation', 'removeip', 'removelocation')] + $change, + $content, + $APIName = 'Set Named Location', + $ExecutingUser + ) + + try { + $NamedLocations = New-GraphGetRequest -uri "https://graph.microsoft.com/beta/identity/conditionalAccess/namedLocations/$NamedLocationId" -Tenantid $tenantfilter + switch ($change) { + 'addip' { + $NamedLocations.ipRanges = @($NamedLocations.ipRanges + @{ cidrAddress = $content; '@odata.type' = '#microsoft.graph.iPv4CidrRange' }) + } + 'addlocation' { + $NamedLocations.countriesAndRegions = $NamedLocations.countriesAndRegions + $content + } + 'removeip' { + $NamedLocations.ipRanges = @($NamedLocations.ipRanges | Where-Object -Property cidrAddress -NE $content) + } + 'removelocation' { + $NamedLocations.countriesAndRegions = @($NamedLocations.countriesAndRegions | Where-Object { $_ -NE $content }) + } + } + if ($PSCmdlet.ShouldProcess($GroupName, "Assigning Application $ApplicationId")) { + #Remove unneeded propertie + if ($change -like '*location*') { + $NamedLocations = $NamedLocations | Select-Object '@odata.type', 'displayName', 'countriesAndRegions', 'includeUnknownCountriesAndRegions' + } else { + $NamedLocations = $NamedLocations | Select-Object '@odata.type', 'displayName', 'ipRanges', 'isTrusted' + } + + $null = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/identity/conditionalAccess/namedLocations/$NamedLocationId" -tenantid $TenantFilter -type PATCH -body $($NamedLocations | ConvertTo-Json -Compress -Depth 10) + Write-LogMessage -user $ExecutingUser -API $APIName -message "Edited named location. Change: $change with content $($content)" -Sev 'Info' -tenant $TenantFilter + } + return "Edited named location. Change: $change with content $($content)" + } catch { + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $ExecutingUser -API $APIName -message "Failed to edit named location: $($ErrorMessage.NormalizedError)" -Sev 'Error' -tenant $TenantFilter -LogData $ErrorMessage + return "Failed to edit named location. Error: $($ErrorMessage.NormalizedError)" + } +} diff --git a/Modules/CIPPCore/Public/Set-CIPPOutOfoffice.ps1 b/Modules/CIPPCore/Public/Set-CIPPOutOfoffice.ps1 index ee1266ca949d..116c503486c1 100644 --- a/Modules/CIPPCore/Public/Set-CIPPOutOfoffice.ps1 +++ b/Modules/CIPPCore/Public/Set-CIPPOutOfoffice.ps1 @@ -20,16 +20,17 @@ function Set-CIPPOutOfOffice { $EndTime = (Get-Date $StartTime).AddDays(7) } if ($State -ne 'Scheduled') { - $OutOfOffice = New-ExoRequest -tenantid $TenantFilter -cmdlet 'Set-MailboxAutoReplyConfiguration' -cmdParams @{Identity = $userid; AutoReplyState = $State; InternalMessage = $InternalMessage; ExternalMessage = $ExternalMessage } -Anchor $userid + $null = New-ExoRequest -tenantid $TenantFilter -cmdlet 'Set-MailboxAutoReplyConfiguration' -cmdParams @{Identity = $userid; AutoReplyState = $State; InternalMessage = $InternalMessage; ExternalMessage = $ExternalMessage } -Anchor $userid Write-LogMessage -user $ExecutingUser -API $APIName -message "Set Out-of-office for $($userid) to $state" -Sev 'Info' -tenant $TenantFilter return "Set Out-of-office for $($userid) to $state." } else { - $OutOfOffice = New-ExoRequest -tenantid $TenantFilter -cmdlet 'Set-MailboxAutoReplyConfiguration' -cmdParams @{Identity = $userid; AutoReplyState = $State; InternalMessage = $InternalMessage; ExternalMessage = $ExternalMessage; StartTime = $StartTime; EndTime = $EndTime } -Anchor $userid + $null = New-ExoRequest -tenantid $TenantFilter -cmdlet 'Set-MailboxAutoReplyConfiguration' -cmdParams @{Identity = $userid; AutoReplyState = $State; InternalMessage = $InternalMessage; ExternalMessage = $ExternalMessage; StartTime = $StartTime; EndTime = $EndTime } -Anchor $userid Write-LogMessage -user $ExecutingUser -API $APIName -message "Scheduled Out-of-office for $($userid) between $StartTime and $EndTime" -Sev 'Info' -tenant $TenantFilter return "Scheduled Out-of-office for $($userid) between $($StartTime.toString()) and $($EndTime.toString())" } } catch { - Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not add OOO for $($userid)" -Sev 'Error' -tenant $TenantFilter -LogData (Get-CippException -Exception $_) - return "Could not add out of office message for $($userid). Error: $($_.Exception.Message)" + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not add OOO for $($userid). Error: $($ErrorMessage.NormalizedError)" -Sev 'Error' -tenant $TenantFilter -LogData $ErrorMessage + return "Could not add out of office message for $($userid). Error: $($ErrorMessage.NormalizedError)" } } diff --git a/Modules/CIPPCore/Public/Set-CIPPPerUserMFA.ps1 b/Modules/CIPPCore/Public/Set-CIPPPerUserMFA.ps1 index f7f88a53fe11..f1fd6b5c2121 100644 --- a/Modules/CIPPCore/Public/Set-CIPPPerUserMFA.ps1 +++ b/Modules/CIPPCore/Public/Set-CIPPPerUserMFA.ps1 @@ -63,7 +63,8 @@ function Set-CIPPPerUserMFA { Set-CIPPUserSchemaProperties -TenantFilter $TenantFilter -Users $Users Write-LogMessage -user $executingUser -API 'Set-CIPPPerUserMFA' -message "Successfully set Per user MFA State to $State for $id" -Sev 'Info' -tenant $TenantFilter } catch { - "Failed to set MFA State for $id : $_" - Write-LogMessage -user $executingUser -API 'Set-CIPPPerUserMFA' -message "Failed to set MFA State to $State for $id : $_" -Sev 'Error' -tenant $TenantFilter + $ErrorMessage = Get-CippException -Exception $_ + "Failed to set MFA State for $id. Error: $($ErrorMessage.NormalizedError)" + Write-LogMessage -user $executingUser -API 'Set-CIPPPerUserMFA' -message "Failed to set MFA State to $State for $id. Error: $($ErrorMessage.NormalizedError)" -Sev 'Error' -tenant $TenantFilter -LogData $ErrorMessage } -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/Set-CIPPProfilePhoto.ps1 b/Modules/CIPPCore/Public/Set-CIPPProfilePhoto.ps1 index 5ea431302eec..fb829701390c 100644 --- a/Modules/CIPPCore/Public/Set-CIPPProfilePhoto.ps1 +++ b/Modules/CIPPCore/Public/Set-CIPPProfilePhoto.ps1 @@ -15,7 +15,8 @@ function Set-CIPPProfilePhoto { "Successfully set profile photo for $id" Write-LogMessage -user $executingUser -API 'Set-CIPPUserProfilePhoto' -message "Successfully set profile photo for $id" -Sev 'Info' -tenant $TenantFilter } catch { - "Failed to set profile photo for $id : $_" - Write-LogMessage -user $executingUser -API 'Set-CIPPUserProfilePhoto' -message "Failed to set profile photo for $id : $_" -Sev 'Error' -tenant $TenantFilter + $ErrorMessage = Get-CippException -Exception $_ + "Failed to set profile photo for $id. Error: $($ErrorMessage.NormalizedError)" + Write-LogMessage -user $executingUser -API 'Set-CIPPUserProfilePhoto' -message "Failed to set profile photo for $id. Error: $($ErrorMessage.NormalizedError)" -Sev 'Error' -tenant $TenantFilter -LogData $ErrorMessage } -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/Set-CIPPResetPassword.ps1 b/Modules/CIPPCore/Public/Set-CIPPResetPassword.ps1 index aff8463210be..e4d69e2c05d7 100644 --- a/Modules/CIPPCore/Public/Set-CIPPResetPassword.ps1 +++ b/Modules/CIPPCore/Public/Set-CIPPResetPassword.ps1 @@ -17,7 +17,8 @@ function Set-CIPPResetPassword { } } | ConvertTo-Json -Compress - $GraphRequest = New-GraphPostRequest -uri "https://graph.microsoft.com/v1.0/users/$($userid)" -tenantid $TenantFilter -type PATCH -body $passwordProfile -verbose + $UserDetails = New-GraphGetRequest -uri "https://graph.microsoft.com/v1.0/users/$($UserId)?`$select=onPremisesSyncEnabled" -noPagination $true -tenantid $TenantFilter -verbose + $null = New-GraphPostRequest -uri "https://graph.microsoft.com/v1.0/users/$($userid)" -tenantid $TenantFilter -type PATCH -body $passwordProfile -verbose #PWPush $PasswordLink = New-PwPushLink -Payload $password @@ -25,9 +26,15 @@ function Set-CIPPResetPassword { $password = $PasswordLink } Write-LogMessage -user $ExecutingUser -API $APIName -message "Reset the password for $($userid). User must change password is set to $forceChangePasswordNextSignIn" -Sev 'Info' -tenant $TenantFilter - return "Reset the password for $($userid). User must change password is set to $forceChangePasswordNextSignIn. The new password is $password" + + if($UserDetails.onPremisesSyncEnabled -eq $true){ + return "Reset the password for $($userid). User must change password is set to $forceChangePasswordNextSignIn. The new password is $password. WARNING: This user is AD synced. Please confirm passthrough or writeback is enabled." + }else{ + return "Reset the password for $($userid). User must change password is set to $forceChangePasswordNextSignIn. The new password is $password" + } } catch { - Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not reset password for $($userid)" -Sev 'Error' -tenant $TenantFilter - return "Could not reset password for $($userid). Error: $($_.Exception.Message)" + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not reset password for $($userid). Error: $($ErrorMessage.NormalizedError)" -Sev 'Error' -tenant $TenantFilter -LogData $ErrorMessage + return "Could not reset password for $($userid). Error: $($ErrorMessage.NormalizedError)" } } diff --git a/Modules/CIPPCore/Public/Set-CIPPSAMAdminRoles.ps1 b/Modules/CIPPCore/Public/Set-CIPPSAMAdminRoles.ps1 new file mode 100644 index 000000000000..ad6f503215c2 --- /dev/null +++ b/Modules/CIPPCore/Public/Set-CIPPSAMAdminRoles.ps1 @@ -0,0 +1,94 @@ +function Set-CIPPSAMAdminRoles { + <# + .SYNOPSIS + Set SAM roles + .DESCRIPTION + Set SAM roles on a tenant + .PARAMETER TenantFilter + Tenant to apply the SAM roles to + .FUNCTIONALITY + Internal + #> + [CmdletBinding()] + param( + [Parameter(Mandatory = $true)] + [string]$TenantFilter + ) + + $ActionLogs = [System.Collections.Generic.List[object]]::new() + + $SAMRolesTable = Get-CIPPTable -tablename 'SAMRoles' + $Roles = Get-CIPPAzDataTableEntity @SAMRolesTable + + $SAMRoles = $Roles.Roles | ConvertFrom-Json + $Tenants = $Roles.Tenants | ConvertFrom-Json + + if (($SAMRoles | Measure-Object).count -gt 0 -and $Tenants -contains $TenantFilter -or $Tenants -contains 'AllTenants') { + $AppMemberOf = New-GraphGetRequest -uri "https://graph.microsoft.com/beta/servicePrincipals(appId='$($ENV:ApplicationID)')/memberOf/#microsoft.graph.directoryRole" -tenantid $TenantFilter -AsApp $true + + $sp = (New-GraphGetRequest -uri "https://graph.microsoft.com/beta/servicePrincipals(appId='$($ENV:ApplicationID)')?`$select=id,displayName" -tenantid $TenantFilter -AsApp $true) + $id = $sp.id + + $Requests = $SAMRoles | Where-Object { $AppMemberOf.roleTemplateId -notcontains $_.value } | ForEach-Object { + # Batch add service principal to directoryRole + [PSCustomObject]@{ + 'id' = $_.label + 'headers' = @{ + 'Content-Type' = 'application/json' + } + 'url' = "directoryRoles(roleTemplateId='$($_.value)')/members/`$ref" + 'method' = 'POST' + 'body' = @{ + '@odata.id' = "https://graph.microsoft.com/v1.0/directoryObjects/$($id)" + } + } + } + if (($Requests | Measure-Object).count -gt 0) { + $HasFailures = $false + try { + $null = New-ExoRequest -cmdlet 'New-ServicePrincipal' -cmdParams @{AppId = $ENV:ApplicationID; ObjectId = $id; DisplayName = 'CIPP-SAM' } -Compliance -tenantid $TenantFilter -useSystemMailbox $true -AsApp + $ActionLogs.Add('Added Service Principal to Compliance Center') + } catch { + $ActionLogs.Add('Service Principal already added to Compliance Center') + } + try { + $null = New-ExoRequest -cmdlet 'New-ServicePrincipal' -cmdParams @{AppId = $ENV:ApplicationID; ObjectId = $id; DisplayName = 'CIPP-SAM' } -tenantid $TenantFilter -useSystemMailbox $true -AsApp + $ActionLogs.Add('Added Service Principal to Exchange Online') + } catch { + $ActionLogs.Add('Service Principal already added to Exchange Online') + } + + Write-Verbose ($Requests | ConvertTo-Json -Depth 5) + $Results = New-GraphBulkRequest -tenantid $TenantFilter -Requests @($Requests) + $Results | ForEach-Object { + if ($_.status -eq 204) { + $ActionLogs.Add("Added service principal to directory role $($_.id)") + } else { + $ActionLogs.Add("Failed to add service principal to directoryRole $($_.id)") + Write-Verbose ($_ | ConvertTo-Json -Depth 5) + $HasFailures = $true + } + } + $LogMessage = @{ + 'API' = 'Set-CIPPSAMAdminRoles' + 'tenant' = $TenantFilter + 'tenantid' = (Get-Tenants -TenantFilter $TenantFilter -IncludeErrors).custom + 'message' = '' + 'LogData' = $ActionLogs + } + if ($HasFailures) { + $LogMessage.message = 'Errors occurred while setting Admin Roles for CIPP-SAM' + $LogMessage.sev = 'Error' + } else { + $LogMessage.message = 'Successfully set Admin Roles for CIPP-SAM' + $LogMessage.sev = 'Info' + } + Write-LogMessage @LogMessage + } else { + $ActionLogs.Add('Service principal already exists in all requested Admin Roles') + } + } else { + $ActionLogs.Add('No SAM roles found or tenant not added to CIPP-SAM roles') + } + $ActionLogs +} diff --git a/Modules/CIPPCore/Public/Set-CIPPSharePointPerms.ps1 b/Modules/CIPPCore/Public/Set-CIPPSharePointPerms.ps1 index d7c6419c32df..2a0a97be79a2 100644 --- a/Modules/CIPPCore/Public/Set-CIPPSharePointPerms.ps1 +++ b/Modules/CIPPCore/Public/Set-CIPPSharePointPerms.ps1 @@ -1,27 +1,27 @@ function Set-CIPPSharePointPerms { - [CmdletBinding()] - param ( - $userid, - $OnedriveAccessUser, - $TenantFilter, - $APIName = 'Manage SharePoint Owner', - $RemovePermission, - $ExecutingUser, - $URL - ) - if ($RemovePermission -eq $true) { - $SiteAdmin = 'false' - } else { - $SiteAdmin = 'true' - } - - try { - if (!$URL) { - $URL = (New-GraphGetRequest -uri "https://graph.microsoft.com/v1.0/users/$($UserId)/Drives" -asapp $true -tenantid $TenantFilter).WebUrl + [CmdletBinding()] + param ( + $userid, + $OnedriveAccessUser, + $TenantFilter, + $APIName = 'Manage SharePoint Owner', + $RemovePermission, + $ExecutingUser, + $URL + ) + if ($RemovePermission -eq $true) { + $SiteAdmin = 'false' + } else { + $SiteAdmin = 'true' } - $tenantName = (New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/sites/root' -asApp $true -tenantid $TenantFilter).id.Split('.')[0] - $AdminUrl = "https://$($tenantName)-admin.sharepoint.com" - $XML = @" + + try { + if (!$URL) { + $URL = (New-GraphGetRequest -uri "https://graph.microsoft.com/v1.0/users/$($UserId)/Drives" -asapp $true -tenantid $TenantFilter).WebUrl + } + $tenantName = (New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/sites/root' -asApp $true -tenantid $TenantFilter).id.Split('.')[0] + $AdminUrl = "https://$($tenantName)-admin.sharepoint.com" + $XML = @" @@ -38,19 +38,20 @@ function Set-CIPPSharePointPerms { "@ - $request = New-GraphPostRequest -scope "$AdminURL/.default" -tenantid $TenantFilter -Uri "$AdminURL/_vti_bin/client.svc/ProcessQuery" -Type POST -Body $XML -ContentType 'text/xml' - Write-Host $($request) - if (!$request.ErrorInfo.ErrorMessage) { - $Message = "$($OnedriveAccessUser) has been $($RemovePermission ? 'removed from' : 'given') access to $URL" - Write-LogMessage -user $ExecutingUser -API $APIName -message $Message -Sev 'Info' -tenant $TenantFilter - return $Message - } else { - $message = "Failed to change access: $($request.ErrorInfo.ErrorMessage)" - Write-LogMessage -user $ExecutingUser -API $APIName -message $message -Sev 'Info' -tenant $TenantFilter - return $message + $request = New-GraphPostRequest -scope "$AdminURL/.default" -tenantid $TenantFilter -Uri "$AdminURL/_vti_bin/client.svc/ProcessQuery" -Type POST -Body $XML -ContentType 'text/xml' + Write-Host $($request) + if (!$request.ErrorInfo.ErrorMessage) { + $Message = "$($OnedriveAccessUser) has been $($RemovePermission ? 'removed from' : 'given') access to $URL" + Write-LogMessage -user $ExecutingUser -API $APIName -message $Message -Sev 'Info' -tenant $TenantFilter + return $Message + } else { + $message = "Failed to change access: $($request.ErrorInfo.ErrorMessage)" + Write-LogMessage -user $ExecutingUser -API $APIName -message $message -Sev 'Info' -tenant $TenantFilter + return $message + } + } catch { + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not add new owner to $($OnedriveAccessUser) on $URL. Error: $($ErrorMessage.NormalizedError)" -Sev 'Error' -tenant $TenantFilter -LogData $ErrorMessage + return "Could not add owner for $($URL). Error: $($ErrorMessage.NormalizedError)" } - } catch { - Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not add new owner to $($OnedriveAccessUser) on $URL" -Sev 'Error' -tenant $TenantFilter - return "Could not add owner for $($URL). Error: $($_.Exception.Message)" - } } diff --git a/Modules/CIPPCore/Public/Set-CIPPSignInState.ps1 b/Modules/CIPPCore/Public/Set-CIPPSignInState.ps1 index 4c99b82c84df..793f8f6f8c6a 100644 --- a/Modules/CIPPCore/Public/Set-CIPPSignInState.ps1 +++ b/Modules/CIPPCore/Public/Set-CIPPSignInState.ps1 @@ -13,12 +13,19 @@ function Set-CIPPSignInState { accountEnabled = [bool]$AccountEnabled } $body = ConvertTo-Json -InputObject $body -Compress -Depth 5 + $UserDetails = New-GraphGetRequest -uri "https://graph.microsoft.com/v1.0/users/$($UserId)?`$select=onPremisesSyncEnabled" -noPagination $true -tenantid $TenantFilter -verbose $null = New-GraphPostRequest -uri "https://graph.microsoft.com/v1.0/users/$($UserId)" -tenantid $TenantFilter -type PATCH -body $body -verbose Write-LogMessage -user $ExecutingUser -API $APIName -message "Set account enabled state to $AccountEnabled for $UserId" -Sev 'Info' -tenant $TenantFilter - return "Set account enabled state to $AccountEnabled for $UserId" + + if ($UserDetails.onPremisesSyncEnabled -eq $true) { + return 'WARNING: User is AD Sync enabled. Please enable/disable in AD.' + } else { + return "Set account enabled state to $AccountEnabled for $UserId" + } + } catch { - Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not disable sign in for $UserId. Error: $($_.Exception.Message)" -Sev 'Error' -tenant $TenantFilter - return "Could not disable $UserId. Error: $($_.Exception.Message)" + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not disable sign in for $UserId. Error: $($ErrorMessage.NormalizedError)" -Sev 'Error' -tenant $TenantFilter -LogData $ErrorMessage + return "Could not disable $UserId. Error: $($ErrorMessage.NormalizedError)" } } - diff --git a/Modules/CIPPCore/Public/Set-CIPPSignature.ps1 b/Modules/CIPPCore/Public/Set-CIPPSignature.ps1 index e3ad3c8dd83e..81a985bf6d36 100644 --- a/Modules/CIPPCore/Public/Set-CIPPSignature.ps1 +++ b/Modules/CIPPCore/Public/Set-CIPPSignature.ps1 @@ -16,12 +16,13 @@ function Set-CIPPSignature { $SignatureProfile = @' [{"name":"Roaming_New_Signature","itemClass":"","id":"","scope":"AdeleV@M365x42953883.OnMicrosoft.com","parentSetting":"","secondaryKey":"","type":"String","timestamp":638296273181532792,"metadata":"","value":"Kelvin","isFirstSync":"true","source":"UserOverride"}] '@ - $GraphRequest = New-GraphPostRequest -uri 'https://substrate.office.com/ows/beta/outlookcloudsettings/settings/global' -tenantid $TenantFilter -type PATCH -contentType 'application/json' -verbose -scope 'https://outlook.office.com/.default' + $null = New-GraphPostRequest -uri 'https://substrate.office.com/ows/beta/outlookcloudsettings/settings/global' -tenantid $TenantFilter -type PATCH -contentType 'application/json' -verbose -scope 'https://outlook.office.com/.default' Write-LogMessage -user $ExecutingUser -API $APIName -message "Set Out-of-office for $($userid) to $state" -Sev 'Info' -tenant $TenantFilter return "Set Out-of-office for $($userid) to $state." } catch { - Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not add OOO for $($userid)" -Sev 'Error' -tenant $TenantFilter - return "Could not add out of office message for $($userid). Error: $($_.Exception.Message)" + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $ExecutingUser -API $APIName -message "Could not add OOO for $($userid). Error: $($ErrorMessage.NormalizedError)" -Sev 'Error' -tenant $TenantFilter -LogData $ErrorMessage + return "Could not add out of office message for $($userid). Error: $($ErrorMessage.NormalizedError)" } } diff --git a/Modules/CIPPCore/Public/Set-CIPPUserJITAdmin.ps1 b/Modules/CIPPCore/Public/Set-CIPPUserJITAdmin.ps1 index e25bf6443acd..51da2f11d762 100644 --- a/Modules/CIPPCore/Public/Set-CIPPUserJITAdmin.ps1 +++ b/Modules/CIPPCore/Public/Set-CIPPUserJITAdmin.ps1 @@ -50,6 +50,8 @@ function Set-CIPPUserJITAdmin { switch ($Action) { 'Create' { $Password = New-passwordString + $Schema = Get-CIPPSchemaExtensions | Where-Object { $_.id -match '_cippUser' } + $Body = @{ givenName = $User.FirstName surname = $User.LastName @@ -62,6 +64,10 @@ function Set-CIPPUserJITAdmin { forceChangePasswordNextSignInWithMfa = $false password = $Password } + $Schema.id = @{ + jitAdminEnabled = $false + jitAdminExpiration = $Expiration.ToUniversalTime().ToString('yyyy-MM-ddTHH:mm:ssZ') + } } $Json = ConvertTo-Json -Depth 5 -InputObject $Body try { @@ -77,8 +83,9 @@ function Set-CIPPUserJITAdmin { password = $Password } } catch { - Write-Information "Error creating user: $($_.Exception.Message)" - throw $_.Exception.Message + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + Write-Information "Error creating user: $ErrorMessage" + throw $ErrorMessage } } 'AddRoles' { @@ -119,7 +126,8 @@ function Set-CIPPUserJITAdmin { $null = New-GraphPOSTRequest -type DELETE -uri "https://graph.microsoft.com/beta/users/$($UserObj.id)" -tenantid $TenantFilter return "Deleted user $($UserObj.displayName) ($($UserObj.userPrincipalName)) with id $($UserObj.id)" } catch { - return "Error deleting user $($UserObj.displayName) ($($UserObj.userPrincipalName)): $($_.Exception.Message)" + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + return "Error deleting user $($UserObj.displayName) ($($UserObj.userPrincipalName)): $ErrorMessage" } } 'DisableUser' { @@ -135,9 +143,11 @@ function Set-CIPPUserJITAdmin { Set-CIPPUserJITAdminProperties -TenantFilter $TenantFilter -UserId $User.UserPrincipalName -Clear | Out-Null return "Disabled user $($UserObj.displayName) ($($UserObj.userPrincipalName))" } catch { - return "Error disabling user $($UserObj.displayName) ($($UserObj.userPrincipalName)): $($_.Exception.Message)" + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + return "Error disabling user $($UserObj.displayName) ($($UserObj.userPrincipalName)): $ErrorMessage" + } } } } -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/Set-CIPPUserJITAdminProperties.ps1 b/Modules/CIPPCore/Public/Set-CIPPUserJITAdminProperties.ps1 index c6203128f2f9..b4b2bd5fe88f 100644 --- a/Modules/CIPPCore/Public/Set-CIPPUserJITAdminProperties.ps1 +++ b/Modules/CIPPCore/Public/Set-CIPPUserJITAdminProperties.ps1 @@ -7,25 +7,28 @@ function Set-CIPPUserJITAdminProperties { $Expiration, [switch]$Clear ) - - $Schema = Get-CIPPSchemaExtensions | Where-Object { $_.id -match '_cippUser' } - if ($Clear.IsPresent) { - $Body = [PSCustomObject]@{ - "$($Schema.id)" = @{ - jitAdminEnabled = $null - jitAdminExpiration = $null + try { + $Schema = Get-CIPPSchemaExtensions | Where-Object { $_.id -match '_cippUser' } + if ($Clear.IsPresent) { + $Body = [PSCustomObject]@{ + "$($Schema.id)" = @{ + jitAdminEnabled = $null + jitAdminExpiration = $null + } } - } - } else { - $Body = [PSCustomObject]@{ - "$($Schema.id)" = @{ - jitAdminEnabled = $Enabled.IsPresent - jitAdminExpiration = $Expiration.ToUniversalTime().ToString('yyyy-MM-ddTHH:mm:ssZ') + } else { + $Body = [PSCustomObject]@{ + "$($Schema.id)" = @{ + jitAdminEnabled = $Enabled.IsPresent + jitAdminExpiration = $Expiration.ToUniversalTime().ToString('yyyy-MM-ddTHH:mm:ssZ') + } } } + + $Json = ConvertTo-Json -Depth 5 -InputObject $Body + Write-Information $Json + New-GraphPOSTRequest -type PATCH -Uri "https://graph.microsoft.com/beta/users/$UserId" -Body $Json -tenantid $TenantFilter | Out-Null + } catch { + Write-Information "Error setting JIT Admin properties: $($_.Exception.Message) - $($_.InvocationInfo.PositionMessage)" } - - $Json = ConvertTo-Json -Depth 5 -InputObject $Body - Write-Information $Json - New-GraphPOSTRequest -type PATCH -Uri "https://graph.microsoft.com/beta/users/$UserId" -Body $Json -tenantid $TenantFilter | Out-Null -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/Set-CIPPUserLicense.ps1 b/Modules/CIPPCore/Public/Set-CIPPUserLicense.ps1 new file mode 100644 index 000000000000..142eed413627 --- /dev/null +++ b/Modules/CIPPCore/Public/Set-CIPPUserLicense.ps1 @@ -0,0 +1,25 @@ +function Set-CIPPUserLicense { + [CmdletBinding()] + param ( + $userid, + $TenantFilter, + $Licenses + ) + + Write-Host "Lics are: $licences" + $LicenseBody = if ($licenses.count -ge 2) { + $liclist = foreach ($license in $Licenses) { '{"disabledPlans": [],"skuId": "' + $license + '" },' } + '{"addLicenses": [' + $LicList + '], "removeLicenses": [ ] }' + } else { + '{"addLicenses": [ {"disabledPlans": [],"skuId": "' + $licenses + '" }],"removeLicenses": [ ]}' + } + Write-Host $LicenseBody + try { + $LicRequest = New-GraphPostRequest -uri "https://graph.microsoft.com/beta/users/$($UserId)/assignlicense" -tenantid $TenantFilter -type POST -body $LicenseBody -verbose + } catch { + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($UserObj.tenantid) -message "Failed to assign the license. Error:$($_.Exception.Message)" -Sev 'Error' + throw "Failed to assign the license. $($_.Exception.Message)" + } + Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($UserObj.tenantid) -message "Assigned user $($UserObj.DisplayName) license $($licences)" -Sev 'Info' + return 'Assigned licenses.' +} diff --git a/Modules/CIPPCore/Public/Set-CIPPUserSchemaProperties.ps1 b/Modules/CIPPCore/Public/Set-CIPPUserSchemaProperties.ps1 index b006a27069ef..975bd401e179 100644 --- a/Modules/CIPPCore/Public/Set-CIPPUserSchemaProperties.ps1 +++ b/Modules/CIPPCore/Public/Set-CIPPUserSchemaProperties.ps1 @@ -43,4 +43,4 @@ function Set-CIPPUserSchemaProperties { if ($PSCmdlet.ShouldProcess("User: $($Users.userId -join ', ')", 'Set Schema Properties')) { $Requests = New-GraphBulkRequest -tenantid $tenantfilter -Requests @($Requests) } -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/Standards/Get-CIPPStandards.ps1 b/Modules/CIPPCore/Public/Standards/Get-CIPPStandards.ps1 index 58626e946e74..b3ec11c8c96b 100644 --- a/Modules/CIPPCore/Public/Standards/Get-CIPPStandards.ps1 +++ b/Modules/CIPPCore/Public/Standards/Get-CIPPStandards.ps1 @@ -64,7 +64,7 @@ function Get-CIPPStandards { } else { foreach ($Setting in $CurrentStandard.PSObject.Properties.Name) { # Write-Host "$Setting - Current: $($CurrentStandard.$Setting) | Computed: $($ComputedStandards[$StandardName].$($Setting))" - if ($CurrentStandard.$Setting -ne $false -and $CurrentStandard.$Setting -ne $ComputedStandards[$StandardName].$($Setting) -and ![string]::IsNullOrWhiteSpace($CurrentStandard.$Setting)) { + if ($CurrentStandard.$Setting -ne $false -and ($CurrentStandard.$Setting -ne $ComputedStandards[$StandardName].$($Setting) -and ![string]::IsNullOrWhiteSpace($CurrentStandard.$Setting -or (Compare-Object $CurrentStandard.$Setting $ComputedStandards[$StandardName].$($Setting))))) { #Write-Host "Overriding $Setting for $StandardName at tenant level" if ($ComputedStandards[$StandardName].PSObject.Properties.Name -contains $Setting) { $ComputedStandards[$StandardName].$($Setting) = $CurrentStandard.$Setting diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardAPConfig.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardAPConfig.ps1 index 59f5203229fa..c9f10dd78b14 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardAPConfig.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardAPConfig.ps1 @@ -4,6 +4,7 @@ function Invoke-CIPPStandardAPConfig { Internal #> param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'APConfig' If ($Settings.remediate -eq $true) { diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardAPESP.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardAPESP.ps1 index 478541ac8140..303a30afd009 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardAPESP.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardAPESP.ps1 @@ -5,6 +5,10 @@ function Invoke-CIPPStandardAPESP { #> param($Tenant, $Settings) If ($Settings.remediate -eq $true) { + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'APESP' + if ($Rerun -eq $true) { + exit 0 + } try { $Parameters = @{ TenantFilter = $Tenant diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardActivityBasedTimeout.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardActivityBasedTimeout.ps1 index a09e427fbbf8..c60f21c24419 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardActivityBasedTimeout.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardActivityBasedTimeout.ps1 @@ -1,37 +1,37 @@ function Invoke-CIPPStandardActivityBasedTimeout { <# .FUNCTIONALITY - Internal - .APINAME - ActivityBasedTimeout - .CAT - Global Standards - .TAG - "mediumimpact" - "CIS" - "spo_idle_session_timeout" - .HELPTEXT - Enables and sets Idle session timeout for Microsoft 365 to 1 hour. This policy affects most M365 web apps - .ADDEDCOMPONENT - {"type":"Select","label":"Select value","name":"standards.ActivityBasedTimeout.timeout","values":[{"label":"1 Hour","value":"01:00:00"},{"label":"3 Hours","value":"03:00:00"},{"label":"6 Hours","value":"06:00:00"},{"label":"12 Hours","value":"12:00:00"},{"label":"24 Hours","value":"1.00:00:00"}]} - .LABEL - Enable Activity based Timeout - .IMPACT - Medium Impact - .POWERSHELLEQUIVALENT - Portal or Graph API - .RECOMMENDEDBY - "CIS" - .DOCSDESCRIPTION - Enables and sets Idle session timeout for Microsoft 365 to 1 hour. This policy affects most M365 web apps - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) ActivityBasedTimeout + .SYNOPSIS + (Label) Enable Activity based Timeout + .DESCRIPTION + (Helptext) Enables and sets Idle session timeout for Microsoft 365 to 1 hour. This policy affects most M365 web apps + (DocsDescription) Enables and sets Idle session timeout for Microsoft 365 to 1 hour. This policy affects most M365 web apps + .NOTES + CAT + Global Standards + TAG + "mediumimpact" + "CIS" + "spo_idle_session_timeout" + ADDEDCOMPONENT + {"type":"Select","label":"Select value","name":"standards.ActivityBasedTimeout.timeout","values":[{"label":"1 Hour","value":"01:00:00"},{"label":"3 Hours","value":"03:00:00"},{"label":"6 Hours","value":"06:00:00"},{"label":"12 Hours","value":"12:00:00"},{"label":"24 Hours","value":"1.00:00:00"}]} + IMPACT + Medium Impact + POWERSHELLEQUIVALENT + Portal or Graph API + RECOMMENDEDBY + "CIS" + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + #$Rerun -Type Standard -Tenant $Tenant -API 'ActivityBasedTimeout' -Settings $Settings # Input validation if ([string]::IsNullOrWhiteSpace($Settings.timeout) -or $Settings.timeout -eq 'Select a value' ) { @@ -91,8 +91,3 @@ function Invoke-CIPPStandardActivityBasedTimeout { } } - - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardAddDKIM.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardAddDKIM.ps1 index 5cb6a387ad32..338019dd8faf 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardAddDKIM.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardAddDKIM.ps1 @@ -1,35 +1,36 @@ function Invoke-CIPPStandardAddDKIM { <# .FUNCTIONALITY - Internal - .APINAME - AddDKIM - .CAT - Exchange Standards - .TAG - "lowimpact" - "CIS" - .HELPTEXT - Enables DKIM for all domains that currently support it - .ADDEDCOMPONENT - .LABEL - Enables DKIM for all domains that currently support it - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - New-DkimSigningConfig and Set-DkimSigningConfig - .RECOMMENDEDBY - "CIS" - .DOCSDESCRIPTION - Enables DKIM for all domains that currently support it - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) AddDKIM + .SYNOPSIS + (Label) Enables DKIM for all domains that currently support it + .DESCRIPTION + (Helptext) Enables DKIM for all domains that currently support it + (DocsDescription) Enables DKIM for all domains that currently support it + .NOTES + CAT + Exchange Standards + TAG + "lowimpact" + "CIS" + ADDEDCOMPONENT + IMPACT + Low Impact + POWERSHELLEQUIVALENT + New-DkimSigningConfig and Set-DkimSigningConfig + RECOMMENDEDBY + "CIS" + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + #$Rerun -Type Standard -Tenant $Tenant -API 'AddDKIM' -Settings $Settings + $AllDomains = (New-GraphGetRequest -uri 'https://graph.microsoft.com/v1.0/domains?$top=999' -tenantid $Tenant | Where-Object { $_.supportedServices -contains 'Email' -or $_.id -like '*mail.onmicrosoft.com' }).id $DKIM = (New-ExoRequest -tenantid $tenant -cmdlet 'Get-DkimSigningConfig') | Select-Object Domain, Enabled, Status @@ -107,7 +108,3 @@ function Invoke-CIPPStandardAddDKIM { Add-CIPPBPAField -FieldName 'DKIM' -FieldValue $DKIMState -StoreAs bool -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardAnonReportDisable.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardAnonReportDisable.ps1 index 9255be3c1bff..b22029ba886c 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardAnonReportDisable.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardAnonReportDisable.ps1 @@ -1,35 +1,34 @@ function Invoke-CIPPStandardAnonReportDisable { <# .FUNCTIONALITY - Internal - .APINAME - AnonReportDisable - .CAT - Global Standards - .TAG - "lowimpact" - .HELPTEXT - Shows usernames instead of pseudo anonymised names in reports. This standard is required for reporting to work correctly. - .DOCSDESCRIPTION - Microsoft announced some APIs and reports no longer return names, to comply with compliance and legal requirements in specific countries. This proves an issue for a lot of MSPs because those reports are often helpful for engineers. This standard applies a setting that shows usernames in those API calls / reports. - .ADDEDCOMPONENT - .LABEL - Enable Usernames instead of pseudo anonymised names in reports - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Update-MgBetaAdminReportSetting -BodyParameter @{displayConcealedNames = $true} - .RECOMMENDEDBY - .DOCSDESCRIPTION - Shows usernames instead of pseudo anonymised names in reports. This standard is required for reporting to work correctly. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) AnonReportDisable + .SYNOPSIS + (Label) Enable Usernames instead of pseudo anonymised names in reports + .DESCRIPTION + (Helptext) Shows usernames instead of pseudo anonymised names in reports. This standard is required for reporting to work correctly. + (DocsDescription) Microsoft announced some APIs and reports no longer return names, to comply with compliance and legal requirements in specific countries. This proves an issue for a lot of MSPs because those reports are often helpful for engineers. This standard applies a setting that shows usernames in those API calls / reports. + .NOTES + CAT + Global Standards + TAG + "lowimpact" + ADDEDCOMPONENT + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Update-MgBetaAdminReportSetting -BodyParameter @{displayConcealedNames = \$true} + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + #$Rerun -Type Standard -Tenant $Tenant -API 'allowOTPTokens' -Settings $Settings + $CurrentInfo = New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/admin/reportSettings' -tenantid $Tenant -AsApp $true If ($Settings.remediate -eq $true) { @@ -58,7 +57,3 @@ function Invoke-CIPPStandardAnonReportDisable { Add-CIPPBPAField -FieldName 'AnonReport' -FieldValue $CurrentInfo.displayConcealedNames -StoreAs bool -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardAntiPhishPolicy.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardAntiPhishPolicy.ps1 index 3a245863f65b..65396b677490 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardAntiPhishPolicy.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardAntiPhishPolicy.ps1 @@ -1,59 +1,60 @@ function Invoke-CIPPStandardAntiPhishPolicy { - <# - .FUNCTIONALITY - Internal - .APINAME - AntiPhishPolicy - .CAT - Defender Standards - .TAG - "lowimpact" - "CIS" - "mdo_safeattachments" - "mdo_highconfidencespamaction" - "mdo_highconfidencephishaction" - "mdo_phisspamacation" - "mdo_spam_notifications_only_for_admins" - "mdo_antiphishingpolicies" - .HELPTEXT - This creates a Anti-Phishing policy that automatically enables Mailbox Intelligence and spoofing, optional switches for Mailtips. - .ADDEDCOMPONENT - {"type":"number","label":"Phishing email threshold. (Default 1)","name":"standards.AntiPhishPolicy.PhishThresholdLevel","default":1} - {"type":"boolean","label":"Show first contact safety tip","name":"standards.AntiPhishPolicy.EnableFirstContactSafetyTips","default":true} - {"type":"boolean","label":"Show user impersonation safety tip","name":"standards.AntiPhishPolicy.EnableSimilarUsersSafetyTips","default":true} - {"type":"boolean","label":"Show domain impersonation safety tip","name":"standards.AntiPhishPolicy.EnableSimilarDomainsSafetyTips","default":true} - {"type":"boolean","label":"Show user impersonation unusual characters safety tip","name":"standards.AntiPhishPolicy.EnableUnusualCharactersSafetyTips","default":true} - {"type":"Select","label":"If the message is detected as spoof by spoof intelligence","name":"standards.AntiPhishPolicy.AuthenticationFailAction","values":[{"label":"Quarantine the message","value":"Quarantine"},{"label":"Move to Junk Folder","value":"MoveToJmf"}]} - {"type":"Select","label":"Quarantine policy for Spoof","name":"standards.AntiPhishPolicy.SpoofQuarantineTag","values":[{"label":"AdminOnlyAccessPolicy","value":"AdminOnlyAccessPolicy"},{"label":"DefaultFullAccessPolicy","value":"DefaultFullAccessPolicy"},{"label":"DefaultFullAccessWithNotificationPolicy","value":"DefaultFullAccessWithNotificationPolicy"}]} - {"type":"Select","label":"If a message is detected as user impersonation","name":"standards.AntiPhishPolicy.TargetedUserProtectionAction","values":[{"label":"Move to Junk Folder","value":"MoveToJmf"},{"label":"Delete the message before its delivered","value":"Delete"},{"label":"Quarantine the message","value":"Quarantine"}]} - {"type":"Select","label":"Quarantine policy for user impersonation","name":"standards.AntiPhishPolicy.TargetedUserQuarantineTag","values":[{"label":"AdminOnlyAccessPolicy","value":"AdminOnlyAccessPolicy"},{"label":"DefaultFullAccessPolicy","value":"DefaultFullAccessPolicy"},{"label":"DefaultFullAccessWithNotificationPolicy","value":"DefaultFullAccessWithNotificationPolicy"}]} - {"type":"Select","label":"If a message is detected as domain impersonation","name":"standards.AntiPhishPolicy.TargetedDomainProtectionAction","values":[{"label":"Move to Junk Folder","value":"MoveToJmf"},{"label":"Delete the message before its delivered","value":"Delete"},{"label":"Quarantine the message","value":"Quarantine"}]} - {"type":"Select","label":"Quarantine policy for domain impersonation","name":"standards.AntiPhishPolicy.TargetedDomainQuarantineTag","values":[{"label":"DefaultFullAccessWithNotificationPolicy","value":"DefaultFullAccessWithNotificationPolicy"},{"label":"AdminOnlyAccessPolicy","value":"AdminOnlyAccessPolicy"},{"label":"DefaultFullAccessPolicy","value":"DefaultFullAccessPolicy"}]} - {"type":"Select","label":"If Mailbox Intelligence detects an impersonated user","name":"standards.AntiPhishPolicy.MailboxIntelligenceProtectionAction","values":[{"label":"Move to Junk Folder","value":"MoveToJmf"},{"label":"Delete the message before its delivered","value":"Delete"},{"label":"Quarantine the message","value":"Quarantine"}]} - {"type":"Select","label":"Apply quarantine policy","name":"standards.AntiPhishPolicy.MailboxIntelligenceQuarantineTag","values":[{"label":"AdminOnlyAccessPolicy","value":"AdminOnlyAccessPolicy"},{"label":"DefaultFullAccessPolicy","value":"DefaultFullAccessPolicy"},{"label":"DefaultFullAccessWithNotificationPolicy","value":"DefaultFullAccessWithNotificationPolicy"}]} - .LABEL - Default Anti-Phishing Policy - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Set-AntiphishPolicy or New-AntiphishPolicy - .RECOMMENDEDBY - "CIS" - .DOCSDESCRIPTION - This creates a Anti-Phishing policy that automatically enables Mailbox Intelligence and spoofing, optional switches for Mailtips. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block - #> - - - - + <# + .FUNCTIONALITY + Internal + .COMPONENT + (APIName) AntiPhishPolicy + .SYNOPSIS + (Label) Default Anti-Phishing Policy + .DESCRIPTION + (Helptext) This creates a Anti-Phishing policy that automatically enables Mailbox Intelligence and spoofing, optional switches for Mailtips. + (DocsDescription) This creates a Anti-Phishing policy that automatically enables Mailbox Intelligence and spoofing, optional switches for Mailtips. + .NOTES + CAT + Defender Standards + TAG + "lowimpact" + "CIS" + "mdo_safeattachments" + "mdo_highconfidencespamaction" + "mdo_highconfidencephishaction" + "mdo_phisspamacation" + "mdo_spam_notifications_only_for_admins" + "mdo_antiphishingpolicies" + "mdo_phishthresholdlevel" + ADDEDCOMPONENT + {"type":"number","label":"Phishing email threshold. (Default 1)","name":"standards.AntiPhishPolicy.PhishThresholdLevel","default":1} + {"type":"boolean","label":"Show first contact safety tip","name":"standards.AntiPhishPolicy.EnableFirstContactSafetyTips","default":true} + {"type":"boolean","label":"Show user impersonation safety tip","name":"standards.AntiPhishPolicy.EnableSimilarUsersSafetyTips","default":true} + {"type":"boolean","label":"Show domain impersonation safety tip","name":"standards.AntiPhishPolicy.EnableSimilarDomainsSafetyTips","default":true} + {"type":"boolean","label":"Show user impersonation unusual characters safety tip","name":"standards.AntiPhishPolicy.EnableUnusualCharactersSafetyTips","default":true} + {"type":"Select","label":"If the message is detected as spoof by spoof intelligence","name":"standards.AntiPhishPolicy.AuthenticationFailAction","values":[{"label":"Quarantine the message","value":"Quarantine"},{"label":"Move to Junk Folder","value":"MoveToJmf"}]} + {"type":"Select","label":"Quarantine policy for Spoof","name":"standards.AntiPhishPolicy.SpoofQuarantineTag","values":[{"label":"AdminOnlyAccessPolicy","value":"AdminOnlyAccessPolicy"},{"label":"DefaultFullAccessPolicy","value":"DefaultFullAccessPolicy"},{"label":"DefaultFullAccessWithNotificationPolicy","value":"DefaultFullAccessWithNotificationPolicy"}]} + {"type":"Select","label":"If a message is detected as user impersonation","name":"standards.AntiPhishPolicy.TargetedUserProtectionAction","values":[{"label":"Move to Junk Folder","value":"MoveToJmf"},{"label":"Delete the message before its delivered","value":"Delete"},{"label":"Quarantine the message","value":"Quarantine"}]} + {"type":"Select","label":"Quarantine policy for user impersonation","name":"standards.AntiPhishPolicy.TargetedUserQuarantineTag","values":[{"label":"AdminOnlyAccessPolicy","value":"AdminOnlyAccessPolicy"},{"label":"DefaultFullAccessPolicy","value":"DefaultFullAccessPolicy"},{"label":"DefaultFullAccessWithNotificationPolicy","value":"DefaultFullAccessWithNotificationPolicy"}]} + {"type":"Select","label":"If a message is detected as domain impersonation","name":"standards.AntiPhishPolicy.TargetedDomainProtectionAction","values":[{"label":"Move to Junk Folder","value":"MoveToJmf"},{"label":"Delete the message before its delivered","value":"Delete"},{"label":"Quarantine the message","value":"Quarantine"}]} + {"type":"Select","label":"Quarantine policy for domain impersonation","name":"standards.AntiPhishPolicy.TargetedDomainQuarantineTag","values":[{"label":"DefaultFullAccessWithNotificationPolicy","value":"DefaultFullAccessWithNotificationPolicy"},{"label":"AdminOnlyAccessPolicy","value":"AdminOnlyAccessPolicy"},{"label":"DefaultFullAccessPolicy","value":"DefaultFullAccessPolicy"}]} + {"type":"Select","label":"If Mailbox Intelligence detects an impersonated user","name":"standards.AntiPhishPolicy.MailboxIntelligenceProtectionAction","values":[{"label":"Move to Junk Folder","value":"MoveToJmf"},{"label":"Delete the message before its delivered","value":"Delete"},{"label":"Quarantine the message","value":"Quarantine"}]} + {"type":"Select","label":"Apply quarantine policy","name":"standards.AntiPhishPolicy.MailboxIntelligenceQuarantineTag","values":[{"label":"AdminOnlyAccessPolicy","value":"AdminOnlyAccessPolicy"},{"label":"DefaultFullAccessPolicy","value":"DefaultFullAccessPolicy"},{"label":"DefaultFullAccessWithNotificationPolicy","value":"DefaultFullAccessWithNotificationPolicy"}]} + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Set-AntiphishPolicy or New-AntiphishPolicy + RECOMMENDEDBY + "CIS" + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards + #> param($Tenant, $Settings) - $PolicyName = 'Default Anti-Phishing Policy' + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'AntiPhishPolicy' - $CurrentState = New-ExoRequest -tenantid $Tenant -cmdlet 'Get-AntiPhishPolicy' | - Where-Object -Property Name -EQ $PolicyName | + $PolicyList = @('Default Anti-Phishing Policy', 'Office365 AntiPhish Default (Default)') + $ExistingPolicy = New-ExoRequest -tenantid $Tenant -cmdlet 'Get-AntiPhishPolicy' | Where-Object -Property Name -In $PolicyList + $PolicyName = $ExistingPolicy.Name + $CurrentState = $ExistingPolicy | Select-Object Name, Enabled, PhishThresholdLevel, EnableMailboxIntelligence, EnableMailboxIntelligenceProtection, EnableSpoofIntelligence, EnableFirstContactSafetyTips, EnableSimilarUsersSafetyTips, EnableSimilarDomainsSafetyTips, EnableUnusualCharactersSafetyTips, EnableUnauthenticatedSender, EnableViaTag, AuthenticationFailAction, SpoofQuarantineTag, MailboxIntelligenceProtectionAction, MailboxIntelligenceQuarantineTag, TargetedUserProtectionAction, TargetedUserQuarantineTag, TargetedDomainProtectionAction, TargetedDomainQuarantineTag, EnableOrganizationDomainsProtection $StateIsCorrect = ($CurrentState.Name -eq $PolicyName) -and @@ -180,7 +181,3 @@ function Invoke-CIPPStandardAntiPhishPolicy { } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardAppDeploy.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardAppDeploy.ps1 index 0b5ba7f47945..8bc576d56eb1 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardAppDeploy.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardAppDeploy.ps1 @@ -5,7 +5,7 @@ function Invoke-CIPPStandardAppDeploy { .COMPONENT (APIName) AppDeploy .SYNOPSIS - Deploy Application + (Label) Deploy Application .DESCRIPTION (Helptext) Deploys selected applications to the tenant. Use a comma separated list of application IDs to deploy multiple applications. Permissions will be copied from the source application. (DocsDescription) Uses the CIPP functionality that deploys applications across an entire tenant base as a standard. @@ -16,8 +16,6 @@ function Invoke-CIPPStandardAppDeploy { "lowimpact" ADDEDCOMPONENT {"type":"input","name":"standards.AppDeploy.appids","label":"Application IDs, comma separated"} - LABEL - Deploy Application IMPACT Low Impact POWERSHELLEQUIVALENT @@ -32,6 +30,10 @@ function Invoke-CIPPStandardAppDeploy { param($Tenant, $Settings) If ($Settings.remediate -eq $true) { + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'AppDeploy' + if ($Rerun -eq $true) { + exit 0 + } $AppsToAdd = $Settings.appids -split ',' foreach ($App In $AppsToAdd) { try { diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardAtpPolicyForO365.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardAtpPolicyForO365.ps1 index 3d09454aaaf1..7ed7a78334c9 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardAtpPolicyForO365.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardAtpPolicyForO365.ps1 @@ -1,39 +1,39 @@ function Invoke-CIPPStandardAtpPolicyForO365 { - <# - .FUNCTIONALITY - Internal - .APINAME - AtpPolicyForO365 - .CAT - Defender Standards - .TAG - "lowimpact" - "CIS" - .HELPTEXT - This creates a Atp policy that enables Defender for Office 365 for Sharepoint, OneDrive and Microsoft Teams. - .ADDEDCOMPONENT - {"type":"boolean","label":"Allow people to click through Protected View even if Safe Documents identified the file as malicious","name":"standards.AtpPolicyForO365.AllowSafeDocsOpen","default":false} - .LABEL - Default Atp Policy For O365 - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Set-AtpPolicyForO365 - .RECOMMENDEDBY - "CIS" - .DOCSDESCRIPTION - This creates a Atp policy that enables Defender for Office 365 for Sharepoint, OneDrive and Microsoft Teams. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block - #> - - - - + <# + .FUNCTIONALITY + Internal + .COMPONENT + (APIName) AtpPolicyForO365 + .SYNOPSIS + (Label) Default Atp Policy For O365 + .DESCRIPTION + (Helptext) This creates a Atp policy that enables Defender for Office 365 for Sharepoint, OneDrive and Microsoft Teams. + (DocsDescription) This creates a Atp policy that enables Defender for Office 365 for Sharepoint, OneDrive and Microsoft Teams. + .NOTES + CAT + Defender Standards + TAG + "lowimpact" + "CIS" + ADDEDCOMPONENT + {"type":"boolean","label":"Allow people to click through Protected View even if Safe Documents identified the file as malicious","name":"standards.AtpPolicyForO365.AllowSafeDocsOpen","default":false} + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Set-AtpPolicyForO365 + RECOMMENDEDBY + "CIS" + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards + #> param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'AtpPolicyForO365' + $CurrentState = New-ExoRequest -tenantid $Tenant -cmdlet 'Get-AtpPolicyForO365' | - Select-Object EnableATPForSPOTeamsODB, EnableSafeDocs, AllowSafeDocsOpen + Select-Object EnableATPForSPOTeamsODB, EnableSafeDocs, AllowSafeDocsOpen $StateIsCorrect = ($CurrentState.EnableATPForSPOTeamsODB -eq $true) -and ($CurrentState.EnableSafeDocs -eq $true) -and @@ -73,7 +73,3 @@ function Invoke-CIPPStandardAtpPolicyForO365 { } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardAuditLog.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardAuditLog.ps1 index 17d7c440b840..65b3c7878a00 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardAuditLog.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardAuditLog.ps1 @@ -1,36 +1,37 @@ function Invoke-CIPPStandardAuditLog { <# .FUNCTIONALITY - Internal - .APINAME - AuditLog - .CAT - Global Standards - .TAG - "lowimpact" - "CIS" - "mip_search_auditlog" - .HELPTEXT - Enables the Unified Audit Log for tracking and auditing activities. Also runs Enable-OrganizationCustomization if necessary. - .ADDEDCOMPONENT - .LABEL - Enable the Unified Audit Log - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Enable-OrganizationCustomization - .RECOMMENDEDBY - "CIS" - .DOCSDESCRIPTION - Enables the Unified Audit Log for tracking and auditing activities. Also runs Enable-OrganizationCustomization if necessary. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) AuditLog + .SYNOPSIS + (Label) Enable the Unified Audit Log + .DESCRIPTION + (Helptext) Enables the Unified Audit Log for tracking and auditing activities. Also runs Enable-OrganizationCustomization if necessary. + (DocsDescription) Enables the Unified Audit Log for tracking and auditing activities. Also runs Enable-OrganizationCustomization if necessary. + .NOTES + CAT + Global Standards + TAG + "lowimpact" + "CIS" + "mip_search_auditlog" + ADDEDCOMPONENT + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Enable-OrganizationCustomization + RECOMMENDEDBY + "CIS" + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'AuditLog' + Write-Host ($Settings | ConvertTo-Json) $AuditLogEnabled = (New-ExoRequest -tenantid $Tenant -cmdlet 'Get-AdminAuditLogConfig' -Select UnifiedAuditLogIngestionEnabled).UnifiedAuditLogIngestionEnabled @@ -75,7 +76,3 @@ function Invoke-CIPPStandardAuditLog { Add-CIPPBPAField -FieldName 'AuditLog' -FieldValue $AuditLogEnabled -StoreAs bool -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardAutoExpandArchive.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardAutoExpandArchive.ps1 index 432923a068d1..e746e10799ea 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardAutoExpandArchive.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardAutoExpandArchive.ps1 @@ -1,35 +1,34 @@ function Invoke-CIPPStandardAutoExpandArchive { <# .FUNCTIONALITY - Internal - .APINAME - AutoExpandArchive - .CAT - Exchange Standards - .TAG - "lowimpact" - .HELPTEXT - Enables auto-expanding archives for the tenant - .DOCSDESCRIPTION - Enables auto-expanding archives for the tenant. Does not enable archives for users. - .ADDEDCOMPONENT - .LABEL - Enable Auto-expanding archives - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Set-OrganizationConfig -AutoExpandingArchive - .RECOMMENDEDBY - .DOCSDESCRIPTION - Enables auto-expanding archives for the tenant - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) AutoExpandArchive + .SYNOPSIS + (Label) Enable Auto-expanding archives + .DESCRIPTION + (Helptext) Enables auto-expanding archives for the tenant + (DocsDescription) Enables auto-expanding archives for the tenant. Does not enable archives for users. + .NOTES + CAT + Exchange Standards + TAG + "lowimpact" + ADDEDCOMPONENT + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Set-OrganizationConfig -AutoExpandingArchive + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'AutoExpandArchive' + $CurrentState = (New-ExoRequest -tenantid $Tenant -cmdlet 'Get-OrganizationConfig').AutoExpandingArchiveEnabled If ($Settings.remediate -eq $true) { @@ -62,7 +61,3 @@ function Invoke-CIPPStandardAutoExpandArchive { Add-CIPPBPAField -FieldName 'AutoExpandingArchive' -FieldValue $CurrentState -StoreAs bool -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardBookings.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardBookings.ps1 index b42cf95556c3..77f42776c954 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardBookings.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardBookings.ps1 @@ -1,36 +1,34 @@ function Invoke-CIPPStandardBookings { <# .FUNCTIONALITY - Internal - .APINAME - Bookings - .CAT - Exchange Standards - .TAG - "mediumimpact" - .HELPTEXT - Sets the state of Bookings on the tenant. Bookings is a scheduling tool that allows users to book appointments with others both internal and external. - .DOCSDESCRIPTION - Sets the state of Bookings on the tenant. Bookings is a scheduling tool that allows users to book appointments with others both internal and external. - .ADDEDCOMPONENT - {"type":"Select","label":"Select value","name":"standards.Bookings.state","values":[{"label":"Enabled","value":"true"},{"label":"Disabled","value":"false"}]} - .LABEL - Set Bookings state - .IMPACT - Medium Impact - .POWERSHELLEQUIVALENT - Set-OrganizationConfig -BookingsEnabled - .RECOMMENDEDBY - .DOCSDESCRIPTION - Sets the state of Bookings on the tenant. Bookings is a scheduling tool that allows users to book appointments with others both internal and external. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) Bookings + .SYNOPSIS + (Label) Set Bookings state + .DESCRIPTION + (Helptext) Sets the state of Bookings on the tenant. Bookings is a scheduling tool that allows users to book appointments with others both internal and external. + (DocsDescription) Sets the state of Bookings on the tenant. Bookings is a scheduling tool that allows users to book appointments with others both internal and external. + .NOTES + CAT + Exchange Standards + TAG + "mediumimpact" + ADDEDCOMPONENT + {"type":"Select","label":"Select value","name":"standards.Bookings.state","values":[{"label":"Enabled","value":"true"},{"label":"Disabled","value":"false"}]} + IMPACT + Medium Impact + POWERSHELLEQUIVALENT + Set-OrganizationConfig -BookingsEnabled + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'Bookings' $CurrentState = (New-ExoRequest -tenantid $Tenant -cmdlet 'Get-OrganizationConfig').BookingsEnabled $WantedState = if ($Settings.state -eq 'true') { $true } else { $false } @@ -74,7 +72,3 @@ function Invoke-CIPPStandardBookings { } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardBranding.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardBranding.ps1 index bd53e1c635e7..41e4616c230c 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardBranding.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardBranding.ps1 @@ -1,40 +1,40 @@ function Invoke-CIPPStandardBranding { <# .FUNCTIONALITY - Internal - .APINAME - Branding - .CAT - Global Standards - .TAG - "lowimpact" - .HELPTEXT - Sets the branding for the tenant. This includes the login page, and the Office 365 portal. - .ADDEDCOMPONENT - {"type":"input","name":"standards.Branding.signInPageText","label":"Sign-in page text"} - {"type":"input","name":"standards.Branding.usernameHintText","label":"Username hint Text"} - {"type":"boolean","name":"standards.Branding.hideAccountResetCredentials","label":"Hide self-service password reset"} - {"type":"Select","label":"Visual Template","name":"standards.Branding.layoutTemplateType","values":[{"label":"Full-screen background","value":"default"},{"label":"Parial-screen background","value":"verticalSplit"}]} - {"type":"boolean","name":"standards.Branding.isHeaderShown","label":"Show header"} - {"type":"boolean","name":"standards.Branding.isFooterShown","label":"Show footer"} - .LABEL - Set branding for the tenant - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Portal only - .RECOMMENDEDBY - .DOCSDESCRIPTION - Sets the branding for the tenant. This includes the login page, and the Office 365 portal. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) Branding + .SYNOPSIS + (Label) Set branding for the tenant + .DESCRIPTION + (Helptext) Sets the branding for the tenant. This includes the login page, and the Office 365 portal. + (DocsDescription) Sets the branding for the tenant. This includes the login page, and the Office 365 portal. + .NOTES + CAT + Global Standards + TAG + "lowimpact" + ADDEDCOMPONENT + {"type":"input","name":"standards.Branding.signInPageText","label":"Sign-in page text"} + {"type":"input","name":"standards.Branding.usernameHintText","label":"Username hint Text"} + {"type":"boolean","name":"standards.Branding.hideAccountResetCredentials","label":"Hide self-service password reset"} + {"type":"Select","label":"Visual Template","name":"standards.Branding.layoutTemplateType","values":[{"label":"Full-screen background","value":"default"},{"label":"Partial-screen background","value":"verticalSplit"}]} + {"type":"boolean","name":"standards.Branding.isHeaderShown","label":"Show header"} + {"type":"boolean","name":"standards.Branding.isFooterShown","label":"Show footer"} + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Portal only + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'Branding' + $TenantId = Get-Tenants | Where-Object -Property defaultDomainName -EQ $Tenant try { @@ -98,7 +98,3 @@ function Invoke-CIPPStandardBranding { Add-CIPPBPAField -FieldName 'Branding' -FieldValue [bool]$StateIsCorrect -StoreAs bool -Tenant $Tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardCloudMessageRecall.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardCloudMessageRecall.ps1 index 0c2fcedfcca8..b4e94b12f969 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardCloudMessageRecall.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardCloudMessageRecall.ps1 @@ -1,36 +1,34 @@ function Invoke-CIPPStandardCloudMessageRecall { <# .FUNCTIONALITY - Internal - .APINAME - CloudMessageRecall - .CAT - Exchange Standards - .TAG - "lowimpact" - .HELPTEXT - Sets the Cloud Message Recall state for the tenant. This allows users to recall messages from the cloud. - .DOCSDESCRIPTION - Sets the default state for Cloud Message Recall for the tenant. By default this is enabled. You can read more about the feature [here.](https://techcommunity.microsoft.com/t5/exchange-team-blog/cloud-based-message-recall-in-exchange-online/ba-p/3744714) - .ADDEDCOMPONENT - {"type":"Select","label":"Select value","name":"standards.CloudMessageRecall.state","values":[{"label":"Enabled","value":"true"},{"label":"Disabled","value":"false"}]} - .LABEL - Set Cloud Message Recall state - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Set-OrganizationConfig -MessageRecallEnabled - .RECOMMENDEDBY - .DOCSDESCRIPTION - Sets the Cloud Message Recall state for the tenant. This allows users to recall messages from the cloud. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) CloudMessageRecall + .SYNOPSIS + (Label) Set Cloud Message Recall state + .DESCRIPTION + (Helptext) Sets the Cloud Message Recall state for the tenant. This allows users to recall messages from the cloud. + (DocsDescription) Sets the default state for Cloud Message Recall for the tenant. By default this is enabled. You can read more about the feature [here.](https://techcommunity.microsoft.com/t5/exchange-team-blog/cloud-based-message-recall-in-exchange-online/ba-p/3744714) + .NOTES + CAT + Exchange Standards + TAG + "lowimpact" + ADDEDCOMPONENT + {"type":"Select","label":"Select value","name":"standards.CloudMessageRecall.state","values":[{"label":"Enabled","value":"true"},{"label":"Disabled","value":"false"}]} + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Set-OrganizationConfig -MessageRecallEnabled + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'CloudMessageRecall' $CurrentState = (New-ExoRequest -tenantid $Tenant -cmdlet 'Get-OrganizationConfig').MessageRecallEnabled $WantedState = if ($Settings.state -eq 'true') { $true } else { $false } @@ -75,7 +73,3 @@ function Invoke-CIPPStandardCloudMessageRecall { } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardConditionalAccess.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardConditionalAccess.ps1 index c3c047f35421..81e978febdc7 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardConditionalAccess.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardConditionalAccess.ps1 @@ -4,6 +4,7 @@ function Invoke-CIPPStandardConditionalAccess { Internal #> param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'ConditionalAccess' If ($Settings.remediate -eq $true) { diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDelegateSentItems.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDelegateSentItems.ps1 index 819ba429fa25..0a50dd6bcc86 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDelegateSentItems.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDelegateSentItems.ps1 @@ -1,37 +1,38 @@ function Invoke-CIPPStandardDelegateSentItems { <# .FUNCTIONALITY - Internal - .APINAME - DelegateSentItems - .CAT - Exchange Standards - .TAG - "mediumimpact" - .HELPTEXT - Sets emails sent as and on behalf of shared mailboxes to also be stored in the shared mailbox sent items folder - .DOCSDESCRIPTION - This makes sure that e-mails sent from shared mailboxes or delegate mailboxes, end up in the mailbox of the shared/delegate mailbox instead of the sender, allowing you to keep replies in the same mailbox as the original e-mail. - .ADDEDCOMPONENT - .LABEL - Set mailbox Sent Items delegation (Sent items for shared mailboxes) - .IMPACT - Medium Impact - .POWERSHELLEQUIVALENT - Set-Mailbox - .RECOMMENDEDBY - .DOCSDESCRIPTION - Sets emails sent as and on behalf of shared mailboxes to also be stored in the shared mailbox sent items folder - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) DelegateSentItems + .SYNOPSIS + (Label) Set mailbox Sent Items delegation (Sent items for shared mailboxes) + .DESCRIPTION + (Helptext) Sets emails sent as and on behalf of shared mailboxes to also be stored in the shared mailbox sent items folder + (DocsDescription) This makes sure that e-mails sent from shared mailboxes or delegate mailboxes, end up in the mailbox of the shared/delegate mailbox instead of the sender, allowing you to keep replies in the same mailbox as the original e-mail. + .NOTES + CAT + Exchange Standards + TAG + "mediumimpact" + ADDEDCOMPONENT + IMPACT + Medium Impact + POWERSHELLEQUIVALENT + Set-Mailbox + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> + param($Tenant, $Settings) + #$Rerun -Type Standard -Tenant $Tenant -API 'DelegateSentItems' -Settings $Settings - param($Tenant, $Settings) $Mailboxes = New-ExoRequest -tenantid $Tenant -cmdlet 'Get-Mailbox' -cmdParams @{ RecipientTypeDetails = @('UserMailbox', 'SharedMailbox') } | - Where-Object { $_.MessageCopyForSendOnBehalfEnabled -eq $false -or $_.MessageCopyForSentAsEnabled -eq $false } + Where-Object { $_.MessageCopyForSendOnBehalfEnabled -eq $false -or $_.MessageCopyForSentAsEnabled -eq $false } Write-Host "Mailboxes: $($Mailboxes.count)" If ($Settings.remediate -eq $true) { Write-Host 'Time to remediate' @@ -77,7 +78,3 @@ function Invoke-CIPPStandardDelegateSentItems { Add-CIPPBPAField -FieldName 'DelegateSentItems' -FieldValue $Filtered -StoreAs json -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDeletedUserRentention.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDeletedUserRentention.ps1 index 012a8555188e..54308b5f7a9f 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDeletedUserRentention.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDeletedUserRentention.ps1 @@ -1,32 +1,35 @@ function Invoke-CIPPStandardDeletedUserRentention { <# .FUNCTIONALITY - Internal - .APINAME - DeletedUserRentention - .CAT - SharePoint Standards - .TAG - "lowimpact" - .HELPTEXT - Sets the retention period for deleted users OneDrive to 1 year/365 days - .DOCSDESCRIPTION - When a OneDrive user gets deleted, the personal SharePoint site is saved for 1 year and data can be retrieved from it. - .ADDEDCOMPONENT - .LABEL - Retain a deleted user OneDrive for 1 year - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Update-MgBetaAdminSharepointSetting - .RECOMMENDEDBY - .DOCSDESCRIPTION - Sets the retention period for deleted users OneDrive to 1 year/365 days - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) DeletedUserRentention + .SYNOPSIS + (Label) Set deleted user retention time in OneDrive + .DESCRIPTION + (Helptext) Sets the retention period for deleted users OneDrive to the specified period of time. The default is 30 days. + (DocsDescription) When a OneDrive user gets deleted, the personal SharePoint site is saved for selected amount of time that data can be retrieved from it. + .NOTES + CAT + SharePoint Standards + TAG + "lowimpact" + ADDEDCOMPONENT + {"type":"Select","name":"standards.DeletedUserRentention.Days","label":"Retention time (Default 30 days)","values":[{"label":"30 days","value":"30"},{"label":"90 days","value":"90"},{"label":"1 year","value":"365"},{"label":"2 years","value":"730"},{"label":"3 years","value":"1095"},{"label":"4 years","value":"1460"},{"label":"5 years","value":"1825"},{"label":"6 years","value":"2190"},{"label":"7 years","value":"2555"},{"label":"8 years","value":"2920"},{"label":"9 years","value":"3285"},{"label":"10 years","value":"3650"}]} + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Update-MgBetaAdminSharepointSetting + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'DeletedUserRetention' + $CurrentInfo = New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/admin/sharepoint/settings' -tenantid $Tenant -AsApp $true if ($Settings.report -eq $true) { @@ -39,7 +42,7 @@ function Invoke-CIPPStandardDeletedUserRentention { Return } - # Backwards compatibility for pre v5.10.0 + # Backwards compatibility for v5.9.4 and back if ($null -eq $Settings.Days) { $WantedState = 365 } else { @@ -47,7 +50,6 @@ function Invoke-CIPPStandardDeletedUserRentention { } $StateSetCorrectly = if ($CurrentInfo.deletedUserPersonalSiteRetentionPeriodInDays -eq $WantedState) { $true } else { $false } - $RetentionInYears = $WantedState / 365 If ($Settings.remediate -eq $true) { Write-Host 'Time to remediate' @@ -60,25 +62,21 @@ function Invoke-CIPPStandardDeletedUserRentention { $body = ConvertTo-Json -InputObject $body -Depth 5 -Compress New-GraphPostRequest -tenantid $tenant -Uri 'https://graph.microsoft.com/beta/admin/sharepoint/settings' -AsApp $true -Type PATCH -Body $body -ContentType 'application/json' - Write-LogMessage -API 'Standards' -tenant $tenant -message "Set deleted user rentention of OneDrive to $RetentionInYears year(s)" -sev Info + Write-LogMessage -API 'Standards' -tenant $tenant -message "Set deleted user rentention of OneDrive to $WantedState days(s)" -sev Info } catch { $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message - Write-LogMessage -API 'Standards' -tenant $tenant -message "Failed to set deleted user rentention of OneDrive to $RetentionInYears year(s). Error: $ErrorMessage" -sev Error + Write-LogMessage -API 'Standards' -tenant $tenant -message "Failed to set deleted user rentention of OneDrive to $WantedState days(s). Error: $ErrorMessage" -sev Error } } else { - Write-LogMessage -API 'Standards' -tenant $tenant -message "Deleted user rentention of OneDrive is already set to $RetentionInYears year(s)" -sev Info + Write-LogMessage -API 'Standards' -tenant $tenant -message "Deleted user rentention of OneDrive is already set to $WantedState days(s)" -sev Info } } if ($Settings.alert -eq $true) { if ($StateSetCorrectly -eq $true) { - Write-LogMessage -API 'Standards' -tenant $tenant -message "Deleted user rentention of OneDrive is set to $RetentionInYears year(s)" -sev Info + Write-LogMessage -API 'Standards' -tenant $tenant -message "Deleted user rentention of OneDrive is set to $WantedState days(s)" -sev Info } else { - Write-LogMessage -API 'Standards' -tenant $tenant -message "Deleted user rentention of OneDrive is not set to $RetentionInYears year(s). Value is: $($CurrentInfo.deletedUserPersonalSiteRetentionPeriodInDays) " -sev Alert + Write-LogMessage -API 'Standards' -tenant $tenant -message "Deleted user rentention of OneDrive is not set to $WantedState days(s). Value is: $($CurrentInfo.deletedUserPersonalSiteRetentionPeriodInDays) day(s)." -sev Alert } } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableAddShortcutsToOneDrive.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableAddShortcutsToOneDrive.ps1 index 1cfb91402bca..0b6ef68a16bb 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableAddShortcutsToOneDrive.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableAddShortcutsToOneDrive.ps1 @@ -1,127 +1,75 @@ function Invoke-CIPPStandardDisableAddShortcutsToOneDrive { <# .FUNCTIONALITY - Internal - .APINAME - DisableAddShortcutsToOneDrive - .CAT - SharePoint Standards - .TAG - "mediumimpact" - .HELPTEXT - When the feature is disabled the option Add shortcut to OneDrive will be removed. Any folders that have already been added will remain on the user's computer. - .DISABLEDFEATURES - - .ADDEDCOMPONENT - .LABEL - Disable Add Shortcuts To OneDrive - .IMPACT - Medium Impact - .POWERSHELLEQUIVALENT - Graph API or Portal - .RECOMMENDEDBY - .DOCSDESCRIPTION - When the feature is disabled the option Add shortcut to OneDrive will be removed. Any folders that have already been added will remain on the user's computer. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) DisableAddShortcutsToOneDrive + .SYNOPSIS + (Label) Set Add Shortcuts To OneDrive button state + .DESCRIPTION + (Helptext) If disabled, the button Add shortcut to OneDrive will be removed and users in the tenant will no longer be able to add new shortcuts to their OneDrive. Existing shortcuts will remain functional + (DocsDescription) If disabled, the button Add shortcut to OneDrive will be removed and users in the tenant will no longer be able to add new shortcuts to their OneDrive. Existing shortcuts will remain functional + .NOTES + CAT + SharePoint Standards + TAG + "mediumimpact" + ADDEDCOMPONENT + {"type":"Select","label":"Add Shortcuts To OneDrive button state","name":"standards.DisableAddShortcutsToOneDrive.state","values":[{"label":"Disabled","value":"true"},{"label":"Enabled","value":"false"}]} + IMPACT + Medium Impact + POWERSHELLEQUIVALENT + Set-SPOTenant -DisableAddShortcutsToOneDrive \$true or \$false + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'DisableAddShortcutsToOneDrive' - If ($Settings.remediate -eq $true) { - Write-Host 'Time to remediate' + $CurrentState = Get-CIPPSPOTenant -TenantFilter $Tenant | Select-Object _ObjectIdentity_, TenantFilter, DisableAddToOneDrive - function GetTenantRequestXml { - return @' - - - - - - - - - - - - - -'@ - } - - function GetDisableAddShortcutsToOneDriveXml { - param( - [string]$identity - ) - - # the json object gives us a space and a newline :( - $identity = $identity.Replace(' ', '') - $identity = $identity.Replace("`n", ' ') - return @" - - - - true - - - - - - -"@ - } - - $log = @{ - API = 'Standards' - tenant = $tenant - message = '' - sev = 'Info' - } + if ($Settings.report -eq $true) { + Add-CIPPBPAField -FieldName 'OneDriveAddShortcutButtonDisabled' -FieldValue $CurrentState.DisableAddToOneDrive -StoreAs bool -Tenant $Tenant + } - try { - $tenantName = (New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/sites/root' -asApp $true -tenantid $TenantFilter).id.Split('.')[0] - $AdminUrl = "https://$($tenantName)-admin.sharepoint.com" - $graphRequest = @{ - 'scope' = "$AdminURL/.default" - 'tenantid' = $tenant - 'uri' = "$AdminURL/_vti_bin/client.svc/ProcessQuery" - 'type' = 'POST' - 'body' = GetTenantRequestXml - 'ContentType' = 'text/xml' - } + # Input validation + if (([string]::IsNullOrWhiteSpace($Settings.state) -or $Settings.state -eq 'Select a value') -and ($Settings.remediate -eq $true -or $Settings.alert -eq $true)) { + Write-LogMessage -API 'Standards' -tenant $tenant -message 'DisableAddShortcutsToOneDrive: Invalid state parameter set' -sev Error + Return + } - $response = New-GraphPostRequest @graphRequest - if (!$response.ErrorInfo.ErrorMessage) { - $log.message = 'Received Tenant from Sharepoint' - Write-LogMessage @log - } + $WantedState = [System.Convert]::ToBoolean($Settings.state) + $StateIsCorrect = if ($CurrentState.DisableAddToOneDrive -eq $WantedState) { $true } else { $false } + $HumanReadableState = if ($WantedState -eq $true) { 'disabled' } else { 'enabled' } - $graphRequest.Body = GetDisableAddShortcutsToOneDriveXml -identity $response._ObjectIdentity_ - $response = New-GraphPostRequest @graphRequest + If ($Settings.remediate -eq $true) { + Write-Host 'Time to remediate' - if (!$response.ErrorInfo.ErrorMessage) { - $log.message = "Set DisableAddShortcutsToOneDrive to True on $tenant" - } else { - $log.message = "Unable to set DisableAddShortcutsToOneDrive to True ` - on $($Tenant, $Settings): $($response.ErrorInfo.ErrorMessage)" + if ($StateIsCorrect -eq $false) { + try { + $CurrentState | Set-CIPPSPOTenant -Properties @{DisableAddToOneDrive = $WantedState } + Write-LogMessage -API 'Standards' -tenant $tenant -message "Successfully set the Add Shortcuts To OneDrive Button to $HumanReadableState" -sev Info + } catch { + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -API 'Standards' -tenant $tenant -message "Failed to set the Add Shortcuts To OneDrive Button to $HumanReadableState. Error: $($ErrorMessage.NormalizedError)" -sev Error -LogData $ErrorMessage } - } catch { - $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message - $log.message = "Failed to set OneDrive shortcut: $ErrorMessage" - $log.sev = 'Error' + } else { + Write-LogMessage -API 'Standards' -tenant $tenant -message "The Add Shortcuts To OneDrive Button is already set to the wanted of $HumanReadableState" -sev Info } - Write-LogMessage @log } -} - + if ($Settings.alert -eq $true) { + if ($StateIsCorrect -eq $true) { + Write-LogMessage -API 'Standards' -tenant $tenant -message "The Add Shortcuts To OneDrive Button is already set to the wanted state of $HumanReadableState" -sev Info + } else { + Write-LogMessage -API 'Standards' -tenant $tenant -message "The Add Shortcuts To OneDrive Button Button is not set to the wanted state of $HumanReadableState" -sev Alert + } + } +} diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableAdditionalStorageProviders.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableAdditionalStorageProviders.ps1 index 242a4fa64d3c..8d66e0d16441 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableAdditionalStorageProviders.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableAdditionalStorageProviders.ps1 @@ -1,38 +1,37 @@ function Invoke-CIPPStandardDisableAdditionalStorageProviders { <# .FUNCTIONALITY - Internal - .APINAME - DisableAdditionalStorageProviders - .CAT - Exchange Standards - .TAG - "lowimpact" - "CIS" - "exo_storageproviderrestricted" - .HELPTEXT - Disables the ability for users to open files in Outlook on the Web, from other providers such as Box, Dropbox, Facebook, Google Drive, OneDrive Personal, etc. - .DOCSDESCRIPTION - Disables additional storage providers in OWA. This is to prevent users from using personal storage providers like Dropbox, Google Drive, etc. Usually this has little user impact. - .ADDEDCOMPONENT - .LABEL - Disable additional storage providers in OWA - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Get-OwaMailboxPolicy | Set-OwaMailboxPolicy -AdditionalStorageProvidersEnabled $False - .RECOMMENDEDBY - "CIS" - .DOCSDESCRIPTION - Disables the ability for users to open files in Outlook on the Web, from other providers such as Box, Dropbox, Facebook, Google Drive, OneDrive Personal, etc. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) DisableAdditionalStorageProviders + .SYNOPSIS + (Label) Disable additional storage providers in OWA + .DESCRIPTION + (Helptext) Disables the ability for users to open files in Outlook on the Web, from other providers such as Box, Dropbox, Facebook, Google Drive, OneDrive Personal, etc. + (DocsDescription) Disables additional storage providers in OWA. This is to prevent users from using personal storage providers like Dropbox, Google Drive, etc. Usually this has little user impact. + .NOTES + CAT + Exchange Standards + TAG + "lowimpact" + "CIS" + "exo_storageproviderrestricted" + ADDEDCOMPONENT + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Get-OwaMailboxPolicy \| Set-OwaMailboxPolicy -AdditionalStorageProvidersEnabled \$False + RECOMMENDEDBY + "CIS" + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'DisableAdditionalStorageProviders' + $AdditionalStorageProvidersState = New-ExoRequest -tenantid $Tenant -cmdlet 'Get-OwaMailboxPolicy' -cmdParams @{Identity = 'OwaMailboxPolicy-Default' } if ($Settings.remediate -eq $true) { @@ -64,7 +63,3 @@ function Invoke-CIPPStandardDisableAdditionalStorageProviders { Add-CIPPBPAField -FieldName 'AdditionalStorageProvidersEnabled' -FieldValue $AdditionalStorageProvidersState.AdditionalStorageProvidersEnabled -StoreAs bool -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableAppCreation.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableAppCreation.ps1 index 624f7d20f1f1..246bc951d3f2 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableAppCreation.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableAppCreation.ps1 @@ -1,37 +1,37 @@ function Invoke-CIPPStandardDisableAppCreation { <# .FUNCTIONALITY - Internal - .APINAME - DisableAppCreation - .CAT - Entra (AAD) Standards - .TAG - "lowimpact" - "CIS" - .HELPTEXT - Disables the ability for users to create App registrations in the tenant. - .DOCSDESCRIPTION - Disables the ability for users to create applications in Entra. Done to prevent breached accounts from creating an app to maintain access to the tenant, even after the breached account has been secured. - .ADDEDCOMPONENT - .LABEL - Disable App creation by users - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Update-MgPolicyAuthorizationPolicy - .RECOMMENDEDBY - "CIS" - .DOCSDESCRIPTION - Disables the ability for users to create App registrations in the tenant. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) DisableAppCreation + .SYNOPSIS + (Label) Disable App creation by users + .DESCRIPTION + (Helptext) Disables the ability for users to create App registrations in the tenant. + (DocsDescription) Disables the ability for users to create applications in Entra. Done to prevent breached accounts from creating an app to maintain access to the tenant, even after the breached account has been secured. + .NOTES + CAT + Entra (AAD) Standards + TAG + "lowimpact" + "CIS" + ADDEDCOMPONENT + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Update-MgPolicyAuthorizationPolicy + RECOMMENDEDBY + "CIS" + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> + param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'DisableAppCreation' - - param($Tenant, $Settings) $CurrentInfo = New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/policies/authorizationPolicy/authorizationPolicy?$select=defaultUserRolePermissions' -tenantid $Tenant If ($Settings.remediate -eq $true) { @@ -64,7 +64,3 @@ function Invoke-CIPPStandardDisableAppCreation { Add-CIPPBPAField -FieldName 'UserAppCreationDisabled' -FieldValue $State -StoreAs bool -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableBasicAuthSMTP.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableBasicAuthSMTP.ps1 index ea9a2c14fc1d..279366265065 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableBasicAuthSMTP.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableBasicAuthSMTP.ps1 @@ -1,35 +1,34 @@ function Invoke-CIPPStandardDisableBasicAuthSMTP { <# .FUNCTIONALITY - Internal - .APINAME - DisableBasicAuthSMTP - .CAT - Global Standards - .TAG - "mediumimpact" - .HELPTEXT - Disables SMTP AUTH for the organization and all users. This is the default for new tenants. - .DOCSDESCRIPTION - Disables SMTP basic authentication for the tenant and all users with it explicitly enabled. - .ADDEDCOMPONENT - .LABEL - Disable SMTP Basic Authentication - .IMPACT - Medium Impact - .POWERSHELLEQUIVALENT - Set-TransportConfig -SmtpClientAuthenticationDisabled $true - .RECOMMENDEDBY - .DOCSDESCRIPTION - Disables SMTP AUTH for the organization and all users. This is the default for new tenants. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) DisableBasicAuthSMTP + .SYNOPSIS + (Label) Disable SMTP Basic Authentication + .DESCRIPTION + (Helptext) Disables SMTP AUTH for the organization and all users. This is the default for new tenants. + (DocsDescription) Disables SMTP basic authentication for the tenant and all users with it explicitly enabled. + .NOTES + CAT + Global Standards + TAG + "mediumimpact" + ADDEDCOMPONENT + IMPACT + Medium Impact + POWERSHELLEQUIVALENT + Set-TransportConfig -SmtpClientAuthenticationDisabled \$true + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'DisableBasicAuthSMTP' + $CurrentInfo = New-ExoRequest -tenantid $Tenant -cmdlet 'Get-TransportConfig' $SMTPusers = New-ExoRequest -tenantid $Tenant -cmdlet 'Get-CASMailbox' -cmdParams @{ ResultSize = 'Unlimited' } | Where-Object { ($_.SmtpClientAuthenticationDisabled -eq $false) } @@ -95,7 +94,3 @@ function Invoke-CIPPStandardDisableBasicAuthSMTP { } } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableEmail.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableEmail.ps1 index 09b6fa9ca8d3..561418da57e0 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableEmail.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableEmail.ps1 @@ -1,33 +1,34 @@ function Invoke-CIPPStandardDisableEmail { <# .FUNCTIONALITY - Internal - .APINAME - DisableEmail - .CAT - Entra (AAD) Standards - .TAG - "highimpact" - .HELPTEXT - This blocks users from using email as an MFA method. This disables the email OTP option for guest users, and instead promts them to create a Microsoft account. - .ADDEDCOMPONENT - .LABEL - Disables Email as an MFA method - .IMPACT - High Impact - .POWERSHELLEQUIVALENT - Update-MgBetaPolicyAuthenticationMethodPolicyAuthenticationMethodConfiguration - .RECOMMENDEDBY - .DOCSDESCRIPTION - This blocks users from using email as an MFA method. This disables the email OTP option for guest users, and instead promts them to create a Microsoft account. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) DisableEmail + .SYNOPSIS + (Label) Disables Email as an MFA method + .DESCRIPTION + (Helptext) This blocks users from using email as an MFA method. This disables the email OTP option for guest users, and instead promts them to create a Microsoft account. + (DocsDescription) This blocks users from using email as an MFA method. This disables the email OTP option for guest users, and instead promts them to create a Microsoft account. + .NOTES + CAT + Entra (AAD) Standards + TAG + "highimpact" + ADDEDCOMPONENT + IMPACT + High Impact + POWERSHELLEQUIVALENT + Update-MgBetaPolicyAuthenticationMethodPolicyAuthenticationMethodConfiguration + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'DisableEmail' + $CurrentInfo = New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/policies/authenticationmethodspolicy/authenticationMethodConfigurations/Email' -tenantid $Tenant $State = if ($CurrentInfo.state -eq 'enabled') { $true } else { $false } @@ -51,7 +52,3 @@ function Invoke-CIPPStandardDisableEmail { Add-CIPPBPAField -FieldName 'DisableEmail' -FieldValue $State -StoreAs bool -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableExternalCalendarSharing.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableExternalCalendarSharing.ps1 index 1646b7b36dc1..c8cf1818902f 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableExternalCalendarSharing.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableExternalCalendarSharing.ps1 @@ -1,38 +1,37 @@ function Invoke-CIPPStandardDisableExternalCalendarSharing { <# .FUNCTIONALITY - Internal - .APINAME - DisableExternalCalendarSharing - .CAT - Exchange Standards - .TAG - "lowimpact" - "CIS" - "exo_individualsharing" - .HELPTEXT - Disables the ability for users to share their calendar with external users. Only for the default policy, so exclusions can be made if needed. - .DOCSDESCRIPTION - Disables external calendar sharing for the entire tenant. This is not a widely used feature, and it's therefore unlikely that this will impact users. Only for the default policy, so exclusions can be made if needed by making a new policy and assigning it to users. - .ADDEDCOMPONENT - .LABEL - Disable external calendar sharing - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Get-SharingPolicy | Set-SharingPolicy -Enabled $False - .RECOMMENDEDBY - "CIS" - .DOCSDESCRIPTION - Disables the ability for users to share their calendar with external users. Only for the default policy, so exclusions can be made if needed. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) DisableExternalCalendarSharing + .SYNOPSIS + (Label) Disable external calendar sharing + .DESCRIPTION + (Helptext) Disables the ability for users to share their calendar with external users. Only for the default policy, so exclusions can be made if needed. + (DocsDescription) Disables external calendar sharing for the entire tenant. This is not a widely used feature, and it's therefore unlikely that this will impact users. Only for the default policy, so exclusions can be made if needed by making a new policy and assigning it to users. + .NOTES + CAT + Exchange Standards + TAG + "lowimpact" + "CIS" + "exo_individualsharing" + ADDEDCOMPONENT + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Get-SharingPolicy \| Set-SharingPolicy -Enabled \$False + RECOMMENDEDBY + "CIS" + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'DisableExternalCalendarSharing' + $CurrentInfo = New-ExoRequest -tenantid $Tenant -cmdlet 'Get-SharingPolicy' | Where-Object { $_.Default -eq $true } if ($Settings.remediate -eq $true) { @@ -66,7 +65,3 @@ function Invoke-CIPPStandardDisableExternalCalendarSharing { Add-CIPPBPAField -FieldName 'ExternalCalendarSharingDisabled' -FieldValue $CurrentInfo.Enabled -StoreAs bool -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableGuestDirectory.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableGuestDirectory.ps1 index 62b17aef5b46..ed98f8f5378d 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableGuestDirectory.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableGuestDirectory.ps1 @@ -1,35 +1,34 @@ function Invoke-CIPPStandardDisableGuestDirectory { <# .FUNCTIONALITY - Internal - .APINAME - DisableGuestDirectory - .CAT - Global Standards - .TAG - "lowimpact" - .HELPTEXT - Disables Guest access to enumerate directory objects. This prevents guest users from seeing other users or guests in the directory. - .DOCSDESCRIPTION - Sets it so guests can view only their own user profile. Permission to view other users isn't allowed. Also restricts guest users from seeing the membership of groups they're in. See exactly what get locked down in the [Microsoft documentation.](https://learn.microsoft.com/en-us/entra/fundamentals/users-default-permissions) - .ADDEDCOMPONENT - .LABEL - Restrict guest user access to directory objects - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Set-AzureADMSAuthorizationPolicy -GuestUserRoleId '2af84b1e-32c8-42b7-82bc-daa82404023b' - .RECOMMENDEDBY - .DOCSDESCRIPTION - Disables Guest access to enumerate directory objects. This prevents guest users from seeing other users or guests in the directory. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) DisableGuestDirectory + .SYNOPSIS + (Label) Restrict guest user access to directory objects + .DESCRIPTION + (Helptext) Disables Guest access to enumerate directory objects. This prevents guest users from seeing other users or guests in the directory. + (DocsDescription) Sets it so guests can view only their own user profile. Permission to view other users isn't allowed. Also restricts guest users from seeing the membership of groups they're in. See exactly what get locked down in the [Microsoft documentation.](https://learn.microsoft.com/en-us/entra/fundamentals/users-default-permissions) + .NOTES + CAT + Global Standards + TAG + "lowimpact" + ADDEDCOMPONENT + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Set-AzureADMSAuthorizationPolicy -GuestUserRoleId '2af84b1e-32c8-42b7-82bc-daa82404023b' + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'DisableGuestDirectory' + $CurrentInfo = New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/policies/authorizationPolicy/authorizationPolicy' -tenantid $Tenant If ($Settings.remediate -eq $true) { @@ -62,7 +61,3 @@ function Invoke-CIPPStandardDisableGuestDirectory { Add-CIPPBPAField -FieldName 'DisableGuestDirectory' -FieldValue $CurrentInfo.guestUserRoleId -StoreAs bool -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableGuests.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableGuests.ps1 index e654cd9b5dc7..4ef37eab9c29 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableGuests.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableGuests.ps1 @@ -1,35 +1,36 @@ function Invoke-CIPPStandardDisableGuests { <# .FUNCTIONALITY - Internal - .APINAME - DisableGuests - .CAT - Entra (AAD) Standards - .TAG - "mediumimpact" - .HELPTEXT - Blocks login for guest users that have not logged in for 90 days - .ADDEDCOMPONENT - .LABEL - Disable Guest accounts that have not logged on for 90 days - .IMPACT - Medium Impact - .POWERSHELLEQUIVALENT - Graph API - .RECOMMENDEDBY - .DOCSDESCRIPTION - Blocks login for guest users that have not logged in for 90 days - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) DisableGuests + .SYNOPSIS + (Label) Disable Guest accounts that have not logged on for 90 days + .DESCRIPTION + (Helptext) Blocks login for guest users that have not logged in for 90 days + (DocsDescription) Blocks login for guest users that have not logged in for 90 days + .NOTES + CAT + Entra (AAD) Standards + TAG + "mediumimpact" + ADDEDCOMPONENT + IMPACT + Medium Impact + POWERSHELLEQUIVALENT + Graph API + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'DisableGuests' + $Lookup = (Get-Date).AddDays(-90).ToUniversalTime().ToString('o') - $GraphRequest = New-GraphGetRequest -uri "https://graph.microsoft.com/beta/users?`$filter=(signInActivity/lastNonInteractiveSignInDateTime le $Lookup)&`$select=id,UserPrincipalName,signInActivity,mail,userType,accountEnabled" -scope 'https://graph.microsoft.com/.default' -tenantid $Tenant | Where-Object { $_.userType -EQ 'Guest' -and $_.AccountEnabled -EQ $true } + $GraphRequest = New-GraphGetRequest -uri "https://graph.microsoft.com/beta/users?`$filter=(signInActivity/lastSuccessfulSignInDateTime le $Lookup)&`$select=id,UserPrincipalName,signInActivity,mail,userType,accountEnabled" -scope 'https://graph.microsoft.com/.default' -tenantid $Tenant | Where-Object { $_.userType -EQ 'Guest' -and $_.AccountEnabled -EQ $true } If ($Settings.remediate -eq $true) { @@ -61,7 +62,3 @@ function Invoke-CIPPStandardDisableGuests { Add-CIPPBPAField -FieldName 'DisableGuests' -FieldValue $filtered -StoreAs json -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableM365GroupUsers.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableM365GroupUsers.ps1 index 558ce91bf77f..01dedb2141f1 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableM365GroupUsers.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableM365GroupUsers.ps1 @@ -1,35 +1,34 @@ function Invoke-CIPPStandardDisableM365GroupUsers { <# .FUNCTIONALITY - Internal - .APINAME - DisableM365GroupUsers - .CAT - Entra (AAD) Standards - .TAG - "lowimpact" - .HELPTEXT - Restricts M365 group creation to certain admin roles. This disables the ability to create Teams, Sharepoint sites, Planner, etc - .DOCSDESCRIPTION - Users by default are allowed to create M365 groups. This restricts M365 group creation to certain admin roles. This disables the ability to create Teams, SharePoint sites, Planner, etc - .ADDEDCOMPONENT - .LABEL - Disable M365 Group creation by users - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Update-MgBetaDirectorySetting - .RECOMMENDEDBY - .DOCSDESCRIPTION - Restricts M365 group creation to certain admin roles. This disables the ability to create Teams, Sharepoint sites, Planner, etc - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) DisableM365GroupUsers + .SYNOPSIS + (Label) Disable M365 Group creation by users + .DESCRIPTION + (Helptext) Restricts M365 group creation to certain admin roles. This disables the ability to create Teams, Sharepoint sites, Planner, etc + (DocsDescription) Users by default are allowed to create M365 groups. This restricts M365 group creation to certain admin roles. This disables the ability to create Teams, SharePoint sites, Planner, etc + .NOTES + CAT + Entra (AAD) Standards + TAG + "lowimpact" + ADDEDCOMPONENT + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Update-MgBetaDirectorySetting + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'DisableM365GroupUsers' + $CurrentState = (New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/settings' -tenantid $tenant) | Where-Object -Property displayname -EQ 'Group.unified' If ($Settings.remediate -eq $true) { @@ -79,7 +78,3 @@ function Invoke-CIPPStandardDisableM365GroupUsers { } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableOutlookAddins.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableOutlookAddins.ps1 index 39b2b91a764e..d72f7dd493fb 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableOutlookAddins.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableOutlookAddins.ps1 @@ -1,38 +1,36 @@ function Invoke-CIPPStandardDisableOutlookAddins { <# .FUNCTIONALITY - Internal - .APINAME - DisableOutlookAddins - .CAT - Exchange Standards - .TAG - "mediumimpact" - "CIS" - "exo_outlookaddins" - .HELPTEXT - Disables the ability for users to install add-ins in Outlook. This is to prevent users from installing malicious add-ins. - .DOCSDESCRIPTION - Disables users from being able to install add-ins in Outlook. Only admins are able to approve add-ins for the users. This is done to reduce the threat surface for data exfiltration. - .ADDEDCOMPONENT - .LABEL - Disable users from installing add-ins in Outlook - .IMPACT - Medium Impact - .POWERSHELLEQUIVALENT - Get-ManagementRoleAssignment | Remove-ManagementRoleAssignment - .RECOMMENDEDBY - "CIS" - .DOCSDESCRIPTION - Disables the ability for users to install add-ins in Outlook. This is to prevent users from installing malicious add-ins. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) DisableOutlookAddins + .SYNOPSIS + (Label) Disable users from installing add-ins in Outlook + .DESCRIPTION + (Helptext) Disables the ability for users to install add-ins in Outlook. This is to prevent users from installing malicious add-ins. + (DocsDescription) Disables users from being able to install add-ins in Outlook. Only admins are able to approve add-ins for the users. This is done to reduce the threat surface for data exfiltration. + .NOTES + CAT + Exchange Standards + TAG + "mediumimpact" + "CIS" + "exo_outlookaddins" + ADDEDCOMPONENT + IMPACT + Medium Impact + POWERSHELLEQUIVALENT + Get-ManagementRoleAssignment \| Remove-ManagementRoleAssignment + RECOMMENDEDBY + "CIS" + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'DisableOutlookAddins' $CurrentInfo = New-ExoRequest -tenantid $Tenant -cmdlet 'Get-RoleAssignmentPolicy' | Where-Object { $_.IsDefault -eq $true } $Roles = @('My Custom Apps', 'My Marketplace Apps', 'My ReadWriteMailbox Apps') @@ -82,7 +80,3 @@ function Invoke-CIPPStandardDisableOutlookAddins { Add-CIPPBPAField -FieldName 'DisabledOutlookAddins' -FieldValue $State -StoreAs bool -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableReshare.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableReshare.ps1 index 26db5c11c88a..c508ea8beea4 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableReshare.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableReshare.ps1 @@ -1,37 +1,36 @@ function Invoke-CIPPStandardDisableReshare { <# .FUNCTIONALITY - Internal - .APINAME - DisableReshare - .CAT - SharePoint Standards - .TAG - "highimpact" - "CIS" - .HELPTEXT - Disables the ability for external users to share files they don't own. Sharing links can only be made for People with existing access - .DOCSDESCRIPTION - Disables the ability for external users to share files they don't own. Sharing links can only be made for People with existing access. This is a tenant wide setting and overrules any settings set on the site level - .ADDEDCOMPONENT - .LABEL - Disable Resharing by External Users - .IMPACT - High Impact - .POWERSHELLEQUIVALENT - Update-MgBetaAdminSharepointSetting - .RECOMMENDEDBY - "CIS" - .DOCSDESCRIPTION - Disables the ability for external users to share files they don't own. Sharing links can only be made for People with existing access - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) DisableReshare + .SYNOPSIS + (Label) Disable Resharing by External Users + .DESCRIPTION + (Helptext) Disables the ability for external users to share files they don't own. Sharing links can only be made for People with existing access + (DocsDescription) Disables the ability for external users to share files they don't own. Sharing links can only be made for People with existing access. This is a tenant wide setting and overrules any settings set on the site level + .NOTES + CAT + SharePoint Standards + TAG + "highimpact" + "CIS" + ADDEDCOMPONENT + IMPACT + High Impact + POWERSHELLEQUIVALENT + Update-MgBetaAdminSharepointSetting + RECOMMENDEDBY + "CIS" + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'DisableReshare' + $CurrentInfo = New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/admin/sharepoint/settings' -tenantid $Tenant -AsApp $true If ($Settings.remediate -eq $true) { @@ -62,7 +61,3 @@ function Invoke-CIPPStandardDisableReshare { Add-CIPPBPAField -FieldName 'DisableReshare' -FieldValue $CurrentInfo.isResharingByExternalUsersEnabled -StoreAs bool -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableSMS.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableSMS.ps1 index 30454df4cba6..27fa3455b2c7 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableSMS.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableSMS.ps1 @@ -1,35 +1,34 @@ function Invoke-CIPPStandardDisableSMS { <# .FUNCTIONALITY - Internal - .APINAME - DisableSMS - .CAT - Entra (AAD) Standards - .TAG - "highimpact" - .HELPTEXT - This blocks users from using SMS as an MFA method. If a user only has SMS as a MFA method, they will be unable to log in. - .DOCSDESCRIPTION - Disables SMS as an MFA method for the tenant. If a user only has SMS as a MFA method, they will be unable to sign in. - .ADDEDCOMPONENT - .LABEL - Disables SMS as an MFA method - .IMPACT - High Impact - .POWERSHELLEQUIVALENT - Update-MgBetaPolicyAuthenticationMethodPolicyAuthenticationMethodConfiguration - .RECOMMENDEDBY - .DOCSDESCRIPTION - This blocks users from using SMS as an MFA method. If a user only has SMS as a MFA method, they will be unable to log in. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) DisableSMS + .SYNOPSIS + (Label) Disables SMS as an MFA method + .DESCRIPTION + (Helptext) This blocks users from using SMS as an MFA method. If a user only has SMS as a MFA method, they will be unable to log in. + (DocsDescription) Disables SMS as an MFA method for the tenant. If a user only has SMS as a MFA method, they will be unable to sign in. + .NOTES + CAT + Entra (AAD) Standards + TAG + "highimpact" + ADDEDCOMPONENT + IMPACT + High Impact + POWERSHELLEQUIVALENT + Update-MgBetaPolicyAuthenticationMethodPolicyAuthenticationMethodConfiguration + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'DisableSMS' + $CurrentInfo = New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/policies/authenticationmethodspolicy/authenticationMethodConfigurations/SMS' -tenantid $Tenant $State = if ($CurrentInfo.state -eq 'enabled') { $true } else { $false } @@ -53,7 +52,3 @@ function Invoke-CIPPStandardDisableSMS { Add-CIPPBPAField -FieldName 'DisableSMS' -FieldValue $State -StoreAs bool -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableSecurityGroupUsers.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableSecurityGroupUsers.ps1 index df6a6d327447..4e3c6d546ff0 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableSecurityGroupUsers.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableSecurityGroupUsers.ps1 @@ -1,33 +1,34 @@ function Invoke-CIPPStandardDisableSecurityGroupUsers { <# .FUNCTIONALITY - Internal - .APINAME - DisableSecurityGroupUsers - .CAT - Entra (AAD) Standards - .TAG - "mediumimpact" - .HELPTEXT - Completely disables the creation of security groups by users. This also breaks the ability to manage groups themselves, or create Teams - .ADDEDCOMPONENT - .LABEL - Disable Security Group creation by users - .IMPACT - Medium Impact - .POWERSHELLEQUIVALENT - Update-MgBetaPolicyAuthorizationPolicy - .RECOMMENDEDBY - .DOCSDESCRIPTION - Completely disables the creation of security groups by users. This also breaks the ability to manage groups themselves, or create Teams - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) DisableSecurityGroupUsers + .SYNOPSIS + (Label) Disable Security Group creation by users + .DESCRIPTION + (Helptext) Completely disables the creation of security groups by users. This also breaks the ability to manage groups themselves, or create Teams + (DocsDescription) Completely disables the creation of security groups by users. This also breaks the ability to manage groups themselves, or create Teams + .NOTES + CAT + Entra (AAD) Standards + TAG + "mediumimpact" + ADDEDCOMPONENT + IMPACT + Medium Impact + POWERSHELLEQUIVALENT + Update-MgBetaPolicyAuthorizationPolicy + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'DisableSecurityGroupUsers' + $CurrentInfo = New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/policies/authorizationPolicy/authorizationPolicy' -tenantid $Tenant If ($Settings.remediate -eq $true) { @@ -59,7 +60,3 @@ function Invoke-CIPPStandardDisableSecurityGroupUsers { Add-CIPPBPAField -FieldName 'DisableSecurityGroupUsers' -FieldValue $CurrentInfo.defaultUserRolePermissions.allowedToCreateSecurityGroups -StoreAs bool -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableSelfServiceLicenses.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableSelfServiceLicenses.ps1 index fa8b5cb537e2..331879a3b7b1 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableSelfServiceLicenses.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableSelfServiceLicenses.ps1 @@ -1,69 +1,75 @@ function Invoke-CIPPStandardDisableSelfServiceLicenses { <# .FUNCTIONALITY - Internal - .APINAME - DisableSelfServiceLicenses - .CAT - Entra (AAD) Standards - .TAG - "mediumimpact" - .HELPTEXT - This standard disables all self service licenses and enables all exclusions - .ADDEDCOMPONENT - .LABEL - Disable Self Service Licensing - .IMPACT - Medium Impact - .POWERSHELLEQUIVALENT - Update-MSCommerceProductPolicy -PolicyId AllowSelfServicePurchase -ProductId {productId} -Value "Disabled" - .RECOMMENDEDBY - .DOCSDESCRIPTION - This standard disables all self service licenses and enables all exclusions - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) DisableSelfServiceLicenses + .SYNOPSIS + (Label) Disable Self Service Licensing + .DESCRIPTION + (Helptext) This standard disables all self service licenses and enables all exclusions + (DocsDescription) This standard disables all self service licenses and enables all exclusions + .NOTES + CAT + Entra (AAD) Standards + TAG + "mediumimpact" + ADDEDCOMPONENT + {"type":"input","name":"standards.DisableSelfServiceLicenses.Exclusions","label":"License Ids to exclude from this standard"} + IMPACT + Medium Impact + POWERSHELLEQUIVALENT + Set-MsolCompanySettings -AllowAdHocSubscriptions \$false + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'DisableSelfServiceLicenses' + + # disable for now - MS enforced role requirement + Write-LogMessage -API 'Standards' -tenant $tenant -message 'Self Service Licenses cannot be disabled' -sev Error + return - #Write-LogMessage -API 'Standards' -tenant $tenant -message 'Self Service Licenses cannot be disabled' -sev Error try { - $selfServiceItems = (New-GraphGETRequest -scope "aeb86249-8ea3-49e2-900b-54cc8e308f85/.default" -uri "https://licensing.m365.microsoft.com/v1.0/policies/AllowSelfServicePurchase/products" -tenantid $Tenant).items - #$selfServiceItems = (Invoke-RestMethod -Method GET -Uri "https://licensing.m365.microsoft.com/v1.0/policies/AllowSelfServicePurchase/products" -Headers $header).items + $selfServiceItems = (New-GraphGETRequest -scope 'aeb86249-8ea3-49e2-900b-54cc8e308f85/.default' -uri 'https://licensing.m365.microsoft.com/v1.0/policies/AllowSelfServicePurchase/products' -tenantid $Tenant).items } catch { Write-LogMessage -API 'Standards' -tenant $tenant -message "Failed to retrieve self service products: $($_.Exception.Message)" -sev Error throw "Failed to retrieve self service products: $($_.Exception.Message)" } if ($settings.remediate) { - if ($settings.exclusions -like "*;*") { - $exclusions = $settings.Exclusions -split(';') + if ($settings.exclusions -like '*;*') { + $exclusions = $settings.Exclusions -split (';') } else { - $exclusions = $settings.Exclusions -split(',') + $exclusions = $settings.Exclusions -split (',') } $selfServiceItems | ForEach-Object { $body = $null - if ($_.policyValue -eq "Enabled" -AND ($_.productId -in $exclusions)) { + if ($_.policyValue -eq 'Enabled' -AND ($_.productId -in $exclusions)) { # Self service is enabled on product and productId is in exclusions, skip } - if ($_.policyValue -eq "Disabled" -AND ($_.productId -in $exclusions)) { + if ($_.policyValue -eq 'Disabled' -AND ($_.productId -in $exclusions)) { # Self service is disabled on product and productId is in exclusions, enable $body = '{ "policyValue": "Enabled" }' } - if ($_.policyValue -eq "Enabled" -AND ($_.productId -notin $exclusions)) { + if ($_.policyValue -eq 'Enabled' -AND ($_.productId -notin $exclusions)) { # Self service is enabled on product and productId is NOT in exclusions, disable $body = '{ "policyValue": "Disabled" }' } - if ($_.policyValue -eq "Disabled" -AND ($_.productId -notin $exclusions)) { + if ($_.policyValue -eq 'Disabled' -AND ($_.productId -notin $exclusions)) { # Self service is disabled on product and productId is NOT in exclusions, skip } try { if ($body) { $product = $_ - New-GraphPOSTRequest -scope "aeb86249-8ea3-49e2-900b-54cc8e308f85/.default" -uri "https://licensing.m365.microsoft.com/v1.0/policies/AllowSelfServicePurchase/products/$($product.productId)" -tenantid $Tenant -body $body -type PUT + New-GraphPOSTRequest -scope 'aeb86249-8ea3-49e2-900b-54cc8e308f85/.default' -uri "https://licensing.m365.microsoft.com/v1.0/policies/AllowSelfServicePurchase/products/$($product.productId)" -tenantid $Tenant -body $body -type PUT } } catch { Write-LogMessage -API 'Standards' -tenant $tenant -message "Failed to set product status for $($product.productId) with body $($body) for reason: $($_.Exception.Message)" -sev Error @@ -79,7 +85,7 @@ function Invoke-CIPPStandardDisableSelfServiceLicenses { } if ($Settings.alert) { - $selfServiceItemsToAlert = $selfServiceItems | Where-Object { $_.policyValue -eq "Enabled"} + $selfServiceItemsToAlert = $selfServiceItems | Where-Object { $_.policyValue -eq 'Enabled' } if (!$selfServiceItemsToAlert) { Write-LogMessage -API 'Standards' -tenant $tenant -message 'All self-service licenses are disabled' -sev Info } else { @@ -91,7 +97,3 @@ function Invoke-CIPPStandardDisableSelfServiceLicenses { #Add-CIPPBPAField -FieldName '????' -FieldValue "????" -StoreAs bool -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableSharePointLegacyAuth.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableSharePointLegacyAuth.ps1 index b562d10dbd3e..dda4ba27b51b 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableSharePointLegacyAuth.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableSharePointLegacyAuth.ps1 @@ -1,37 +1,36 @@ function Invoke-CIPPStandardDisableSharePointLegacyAuth { <# .FUNCTIONALITY - Internal - .APINAME - DisableSharePointLegacyAuth - .CAT - SharePoint Standards - .TAG - "mediumimpact" - "CIS" - .HELPTEXT - Disables the ability to authenticate with SharePoint using legacy authentication methods. Any applications that use legacy authentication will need to be updated to use modern authentication. - .DOCSDESCRIPTION - Disables the ability for users and applications to access SharePoint via legacy basic authentication. This will likely not have any user impact, but will block systems/applications depending on basic auth or the SharePointOnlineCredentials class. - .ADDEDCOMPONENT - .LABEL - Disable legacy basic authentication for SharePoint - .IMPACT - Medium Impact - .POWERSHELLEQUIVALENT - Set-SPOTenant -LegacyAuthProtocolsEnabled $false - .RECOMMENDEDBY - "CIS" - .DOCSDESCRIPTION - Disables the ability to authenticate with SharePoint using legacy authentication methods. Any applications that use legacy authentication will need to be updated to use modern authentication. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) DisableSharePointLegacyAuth + .SYNOPSIS + (Label) Disable legacy basic authentication for SharePoint + .DESCRIPTION + (Helptext) Disables the ability to authenticate with SharePoint using legacy authentication methods. Any applications that use legacy authentication will need to be updated to use modern authentication. + (DocsDescription) Disables the ability for users and applications to access SharePoint via legacy basic authentication. This will likely not have any user impact, but will block systems/applications depending on basic auth or the SharePointOnlineCredentials class. + .NOTES + CAT + SharePoint Standards + TAG + "mediumimpact" + "CIS" + "spo_legacy_auth" + ADDEDCOMPONENT + IMPACT + Medium Impact + POWERSHELLEQUIVALENT + Set-SPOTenant -LegacyAuthProtocolsEnabled \$false + RECOMMENDEDBY + "CIS" + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'DisableSharePointLegacyAuth' $CurrentInfo = New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/admin/sharepoint/settings?$select=isLegacyAuthProtocolsEnabled' -tenantid $Tenant -AsApp $true @@ -64,7 +63,3 @@ function Invoke-CIPPStandardDisableSharePointLegacyAuth { Add-CIPPBPAField -FieldName 'SharePointLegacyAuthEnabled' -FieldValue $CurrentInfo.isLegacyAuthProtocolsEnabled -StoreAs bool -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableSharedMailbox.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableSharedMailbox.ps1 index c60ffd274664..5b92504f7938 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableSharedMailbox.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableSharedMailbox.ps1 @@ -1,38 +1,37 @@ function Invoke-CIPPStandardDisableSharedMailbox { <# .FUNCTIONALITY - Internal - .APINAME - DisableSharedMailbox - .CAT - Exchange Standards - .TAG - "mediumimpact" - "CIS" - .HELPTEXT - Blocks login for all accounts that are marked as a shared mailbox. This is Microsoft best practice to prevent direct logons to shared mailboxes. - .DOCSDESCRIPTION - Shared mailboxes can be directly logged into if the password is reset, this presents a security risk as do all shared login credentials. Microsoft's recommendation is to disable the user account for shared mailboxes. It would be a good idea to review the sign-in reports to establish potential impact. - .ADDEDCOMPONENT - .LABEL - Disable Shared Mailbox AAD accounts - .IMPACT - Medium Impact - .POWERSHELLEQUIVALENT - Get-Mailbox & Update-MgUser - .RECOMMENDEDBY - "CIS" - .DOCSDESCRIPTION - Blocks login for all accounts that are marked as a shared mailbox. This is Microsoft best practice to prevent direct logons to shared mailboxes. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) DisableSharedMailbox + .SYNOPSIS + (Label) Disable Shared Mailbox AAD accounts + .DESCRIPTION + (Helptext) Blocks login for all accounts that are marked as a shared mailbox. This is Microsoft best practice to prevent direct logons to shared mailboxes. + (DocsDescription) Shared mailboxes can be directly logged into if the password is reset, this presents a security risk as do all shared login credentials. Microsoft's recommendation is to disable the user account for shared mailboxes. It would be a good idea to review the sign-in reports to establish potential impact. + .NOTES + CAT + Exchange Standards + TAG + "mediumimpact" + "CIS" + ADDEDCOMPONENT + IMPACT + Medium Impact + POWERSHELLEQUIVALENT + Get-Mailbox & Update-MgUser + RECOMMENDEDBY + "CIS" + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) - $UserList = New-GraphGetRequest -uri 'https://graph.microsoft.com/v1.0/users?$top=999&$filter=accountEnabled eq true' -Tenantid $tenant -scope 'https://graph.microsoft.com/.default' + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'DisableSharedMailbox' + + $UserList = New-GraphGetRequest -uri 'https://graph.microsoft.com/v1.0/users?$top=999&$filter=accountEnabled eq true' -Tenantid $tenant -scope 'https://graph.microsoft.com/.default' $SharedMailboxList = (New-GraphGetRequest -uri "https://outlook.office365.com/adminapi/beta/$($Tenant)/Mailbox" -Tenantid $tenant -scope ExchangeOnline | Where-Object { $_.RecipientTypeDetails -EQ 'SharedMailbox' -or $_.RecipientTypeDetails -eq 'SchedulingMailbox' -and $_.UserPrincipalName -in $UserList.UserPrincipalName }) If ($Settings.remediate -eq $true) { @@ -65,7 +64,3 @@ function Invoke-CIPPStandardDisableSharedMailbox { Add-CIPPBPAField -FieldName 'DisableSharedMailbox' -FieldValue $SharedMailboxList -StoreAs json -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableTNEF.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableTNEF.ps1 index 1db22507ede0..2b544afad213 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableTNEF.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableTNEF.ps1 @@ -1,36 +1,34 @@ function Invoke-CIPPStandardDisableTNEF { <# .FUNCTIONALITY - Internal - .APINAME - DisableTNEF - .CAT - Exchange Standards - .TAG - "lowimpact" - .HELPTEXT - Disables Transport Neutral Encapsulation Format (TNEF)/winmail.dat for the tenant. TNEF can cause issues if the recipient is not using a client supporting TNEF. - .DOCSDESCRIPTION - Disables Transport Neutral Encapsulation Format (TNEF)/winmail.dat for the tenant. TNEF can cause issues if the recipient is not using a client supporting TNEF. Cannot be overridden by the user. For more information, see [Microsoft's documentation.](https://learn.microsoft.com/en-us/exchange/mail-flow/content-conversion/tnef-conversion?view=exchserver-2019) - .ADDEDCOMPONENT - .LABEL - Disable TNEF/winmail.dat - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Set-RemoteDomain -Identity 'Default' -TNEFEnabled $false - .RECOMMENDEDBY - .DOCSDESCRIPTION - Disables Transport Neutral Encapsulation Format (TNEF)/winmail.dat for the tenant. TNEF can cause issues if the recipient is not using a client supporting TNEF. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) DisableTNEF + .SYNOPSIS + (Label) Disable TNEF/winmail.dat + .DESCRIPTION + (Helptext) Disables Transport Neutral Encapsulation Format (TNEF)/winmail.dat for the tenant. TNEF can cause issues if the recipient is not using a client supporting TNEF. + (DocsDescription) Disables Transport Neutral Encapsulation Format (TNEF)/winmail.dat for the tenant. TNEF can cause issues if the recipient is not using a client supporting TNEF. Cannot be overridden by the user. For more information, see [Microsoft's documentation.](https://learn.microsoft.com/en-us/exchange/mail-flow/content-conversion/tnef-conversion?view=exchserver-2019) + .NOTES + CAT + Exchange Standards + TAG + "lowimpact" + ADDEDCOMPONENT + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Set-RemoteDomain -Identity 'Default' -TNEFEnabled \$false + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - - param ($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'DisableTNEF' + $CurrentState = New-ExoRequest -tenantid $Tenant -cmdlet 'Get-RemoteDomain' -cmdParams @{Identity = 'Default' } if ($Settings.remediate -eq $true) { @@ -63,7 +61,3 @@ function Invoke-CIPPStandardDisableTNEF { } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableTenantCreation.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableTenantCreation.ps1 index 30eef38a9254..1101af93c9ec 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableTenantCreation.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableTenantCreation.ps1 @@ -1,37 +1,36 @@ function Invoke-CIPPStandardDisableTenantCreation { <# .FUNCTIONALITY - Internal - .APINAME - DisableTenantCreation - .CAT - Entra (AAD) Standards - .TAG - "lowimpact" - "CIS" - .HELPTEXT - Restricts creation of M365 tenants to the Global Administrator or Tenant Creator roles. - .DOCSDESCRIPTION - Users by default are allowed to create M365 tenants. This disables that so only admins can create new M365 tenants. - .ADDEDCOMPONENT - .LABEL - Disable M365 Tenant creation by users - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Update-MgPolicyAuthorizationPolicy - .RECOMMENDEDBY - "CIS" - .DOCSDESCRIPTION - Restricts creation of M365 tenants to the Global Administrator or Tenant Creator roles. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) DisableTenantCreation + .SYNOPSIS + (Label) Disable M365 Tenant creation by users + .DESCRIPTION + (Helptext) Restricts creation of M365 tenants to the Global Administrator or Tenant Creator roles. + (DocsDescription) Users by default are allowed to create M365 tenants. This disables that so only admins can create new M365 tenants. + .NOTES + CAT + Entra (AAD) Standards + TAG + "lowimpact" + "CIS" + ADDEDCOMPONENT + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Update-MgPolicyAuthorizationPolicy + RECOMMENDEDBY + "CIS" + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'DisableTenantCreation' + $CurrentInfo = New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/policies/authorizationPolicy/authorizationPolicy' -tenantid $Tenant $State = $CurrentInfo.defaultUserRolePermissions.allowedToCreateTenants @@ -63,7 +62,3 @@ function Invoke-CIPPStandardDisableTenantCreation { Add-CIPPBPAField -FieldName 'DisableTenantCreation' -FieldValue $State -StoreAs bool -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableUserSiteCreate.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableUserSiteCreate.ps1 index b47e17c3ccc6..4b0c9b4287b9 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableUserSiteCreate.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableUserSiteCreate.ps1 @@ -1,68 +1,64 @@ function Invoke-CIPPStandardDisableUserSiteCreate { <# .FUNCTIONALITY - Internal - .APINAME - DisableUserSiteCreate - .CAT - SharePoint Standards - .TAG - "highimpact" - .HELPTEXT - Disables users from creating new SharePoint sites - .DOCSDESCRIPTION - Disables standard users from creating SharePoint sites, also disables the ability to fully create teams - .ADDEDCOMPONENT - .LABEL - Disable site creation by standard users - .IMPACT - High Impact - .POWERSHELLEQUIVALENT - Update-MgAdminSharepointSetting - .RECOMMENDEDBY - .DOCSDESCRIPTION - Disables users from creating new SharePoint sites - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) DisableUserSiteCreate + .SYNOPSIS + (Label) Disable site creation by standard users + .DESCRIPTION + (Helptext) Disables users from creating new SharePoint sites + (DocsDescription) Disables standard users from creating SharePoint sites, also disables the ability to fully create teams + .NOTES + CAT + SharePoint Standards + TAG + "highimpact" + ADDEDCOMPONENT + IMPACT + High Impact + POWERSHELLEQUIVALENT + Update-MgAdminSharepointSetting + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'DisableUserSiteCreate' + $CurrentInfo = New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/admin/sharepoint/settings' -tenantid $Tenant -AsApp $true If ($Settings.remediate -eq $true) { - if ($CurrentInfo.isSiteCreationEnabled) { + if ($CurrentInfo.isSiteCreationEnabled -or $CurrentInfo.isSiteCreationUIEnabled) { try { - $body = '{"isSiteCreationEnabled": false}' + $body = '{"isSiteCreationEnabled": false, "isSiteCreationUIEnabled": false}' $null = New-GraphPostRequest -tenantid $tenant -Uri 'https://graph.microsoft.com/beta/admin/sharepoint/settings' -AsApp $true -Type patch -Body $body -ContentType 'application/json' - Write-LogMessage -API 'Standards' -tenant $tenant -message 'Disabled standard users from creating sites' -sev Info + Write-LogMessage -API 'Standards' -tenant $tenant -message 'Disabled standard users from creating sites and adjusted UI setting' -sev Info } catch { $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message Write-LogMessage -API 'Standards' -tenant $tenant -message "Failed to disable standard users from creating sites: $ErrorMessage" -sev Error } } else { - Write-LogMessage -API 'Standards' -tenant $tenant -message 'Standard users are already disabled from creating sites' -sev Info + Write-LogMessage -API 'Standards' -tenant $tenant -message 'Standard users are already disabled from creating sites and UI setting is adjusted' -sev Info } } if ($Settings.alert -eq $true) { - if ($CurrentInfo.isSiteCreationEnabled -eq $false) { - Write-LogMessage -API 'Standards' -tenant $tenant -message 'Standard users are not allowed to create sites' -sev Info + if ($CurrentInfo.isSiteCreationEnabled -eq $false -and $CurrentInfo.isSiteCreationUIEnabled -eq $false) { + Write-LogMessage -API 'Standards' -tenant $tenant -message 'Standard users are not allowed to create sites and UI setting is disabled' -sev Info } else { - Write-LogMessage -API 'Standards' -tenant $tenant -message 'Standard users are allowed to create sites' -sev Alert + Write-LogMessage -API 'Standards' -tenant $tenant -message 'Standard users are allowed to create sites or UI setting is enabled' -sev Alert } } if ($Settings.report -eq $true) { Add-CIPPBPAField -FieldName 'DisableUserSiteCreate' -FieldValue $CurrentInfo.isSiteCreationEnabled -StoreAs bool -Tenant $tenant + Add-CIPPBPAField -FieldName 'DisableUserSiteCreateUI' -FieldValue $CurrentInfo.isSiteCreationUIEnabled -StoreAs bool -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableViva.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableViva.ps1 index efc8ef960fa4..ed80354f77eb 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableViva.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableViva.ps1 @@ -1,35 +1,33 @@ function Invoke-CIPPStandardDisableViva { <# .FUNCTIONALITY - Internal - .APINAME - DisableViva - .CAT - Exchange Standards - .TAG - "lowimpact" - .HELPTEXT - Disables the daily viva reports for all users. - .DOCSDESCRIPTION - Disables the daily viva reports for all users. - .ADDEDCOMPONENT - .LABEL - Disable daily Insight/Viva reports - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Set-UserBriefingConfig - .RECOMMENDEDBY - .DOCSDESCRIPTION - Disables the daily viva reports for all users. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) DisableViva + .SYNOPSIS + (Label) Disable daily Insight/Viva reports + .DESCRIPTION + (Helptext) Disables the daily viva reports for all users. + (DocsDescription) Disables the daily viva reports for all users. + .NOTES + CAT + Exchange Standards + TAG + "lowimpact" + ADDEDCOMPONENT + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Set-UserBriefingConfig + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'DisableViva' try { # TODO This does not work without Global Admin permissions for some reason. Throws an "EXCEPTION: Tenant admin role is required" error. -Bobby @@ -71,7 +69,3 @@ function Invoke-CIPPStandardDisableViva { } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableVoice.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableVoice.ps1 index 7d8fc7b30d80..3aac080f0ede 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableVoice.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableVoice.ps1 @@ -1,32 +1,34 @@ function Invoke-CIPPStandardDisableVoice { <# .FUNCTIONALITY - Internal - .APINAME - DisableVoice - .CAT - Entra (AAD) Standards - .TAG - "highimpact" - .HELPTEXT - This blocks users from using Voice call as an MFA method. If a user only has Voice as a MFA method, they will be unable to log in. - .DOCSDESCRIPTION - Disables Voice call as an MFA method for the tenant. If a user only has Voice call as a MFA method, they will be unable to sign in. - .ADDEDCOMPONENT - .LABEL - Disables Voice call as an MFA method - .IMPACT - High Impact - .DOCSDESCRIPTION - This blocks users from using Voice call as an MFA method. If a user only has Voice as a MFA method, they will be unable to log in. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) DisableVoice + .SYNOPSIS + (Label) Disables Voice call as an MFA method + .DESCRIPTION + (Helptext) This blocks users from using Voice call as an MFA method. If a user only has Voice as a MFA method, they will be unable to log in. + (DocsDescription) Disables Voice call as an MFA method for the tenant. If a user only has Voice call as a MFA method, they will be unable to sign in. + .NOTES + CAT + Entra (AAD) Standards + TAG + "highimpact" + ADDEDCOMPONENT + IMPACT + High Impact + POWERSHELLEQUIVALENT + Update-MgBetaPolicyAuthenticationMethodPolicyAuthenticationMethodConfiguration + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'DisableVoice' + $CurrentInfo = New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/policies/authenticationmethodspolicy/authenticationMethodConfigurations/Voice' -tenantid $Tenant $State = if ($CurrentInfo.state -eq 'enabled') { $true } else { $false } @@ -50,7 +52,3 @@ function Invoke-CIPPStandardDisableVoice { Add-CIPPBPAField -FieldName 'DisableVoice' -FieldValue $State -StoreAs bool -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisablex509Certificate.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisablex509Certificate.ps1 index b79fa98643c2..7914097c7097 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisablex509Certificate.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisablex509Certificate.ps1 @@ -1,35 +1,34 @@ function Invoke-CIPPStandardDisablex509Certificate { <# .FUNCTIONALITY - Internal - .APINAME - Disablex509Certificate - .CAT - Entra (AAD) Standards - .TAG - "highimpact" - .HELPTEXT - This blocks users from using Certificates as an MFA method. - .DOCSDESCRIPTION - This blocks users from using Certificates as an MFA method. - .ADDEDCOMPONENT - .LABEL - Disables Certificates as an MFA method - .IMPACT - High Impact - .POWERSHELLEQUIVALENT - Update-MgBetaPolicyAuthenticationMethodPolicyAuthenticationMethodConfiguration - .RECOMMENDEDBY - .DOCSDESCRIPTION - This blocks users from using Certificates as an MFA method. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) Disablex509Certificate + .SYNOPSIS + (Label) Disables Certificates as an MFA method + .DESCRIPTION + (Helptext) This blocks users from using Certificates as an MFA method. + (DocsDescription) This blocks users from using Certificates as an MFA method. + .NOTES + CAT + Entra (AAD) Standards + TAG + "highimpact" + ADDEDCOMPONENT + IMPACT + High Impact + POWERSHELLEQUIVALENT + Update-MgBetaPolicyAuthenticationMethodPolicyAuthenticationMethodConfiguration + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'Disablex509Certificate' + $CurrentInfo = New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/policies/authenticationmethodspolicy/authenticationMethodConfigurations/x509Certificate' -tenantid $Tenant $State = if ($CurrentInfo.state -eq 'enabled') { $true } else { $false } @@ -54,7 +53,3 @@ function Invoke-CIPPStandardDisablex509Certificate { } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEXODisableAutoForwarding.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEXODisableAutoForwarding.ps1 new file mode 100644 index 000000000000..bbfb458bab6f --- /dev/null +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEXODisableAutoForwarding.ps1 @@ -0,0 +1,68 @@ +function Invoke-CIPPStandardEXODisableAutoForwarding { + <# + .FUNCTIONALITY + Internal + .COMPONENT + (APIName) EXODisableAutoForwarding + .SYNOPSIS + (Label) Disable automatic forwarding to external recipients + .DESCRIPTION + (Helptext) Disables the ability for users to automatically forward e-mails to external recipients. + (DocsDescription) Disables the ability for users to automatically forward e-mails to external recipients. This is to prevent data exfiltration. Please check if there are any legitimate use cases for this feature before implementing, like forwarding invoices and such. + .NOTES + CAT + Exchange Standards + TAG + "highimpact" + "CIS" + "mdo_autoforwardingmode" + "mdo_blockmailforward" + ADDEDCOMPONENT + IMPACT + High Impact + POWERSHELLEQUIVALENT + Set-HostedOutboundSpamFilterPolicy -AutoForwardingMode 'Off' + RECOMMENDEDBY + "CIS" + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards + #> + + param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'EXODisableAutoForwarding' + + $CurrentInfo = New-ExoRequest -tenantid $Tenant -cmdlet 'Get-HostedOutboundSpamFilterPolicy' -cmdparams @{Identity = 'Default' } -useSystemMailbox $true + $StateIsCorrect = $CurrentInfo.AutoForwardingMode -eq 'Off' + + If ($Settings.remediate -eq $true) { + Write-Host 'Time to remediate!' + + if ($StateIsCorrect -eq $false) { + try { + New-ExoRequest -tenantid $tenant -cmdlet 'Set-HostedOutboundSpamFilterPolicy' -cmdparams @{ Identity = 'Default'; AutoForwardingMode = 'Off' } -useSystemMailbox $true + Write-LogMessage -API 'Standards' -tenant $tenant -message 'Disabled auto forwarding' -sev Info + } catch { + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -API 'Standards' -tenant $tenant -message "Could not disable auto forwarding. $($ErrorMessage.NormalizedError)" -sev Error + } + } else { + Write-LogMessage -API 'Standards' -tenant $tenant -message 'Auto forwarding is already disabled.' -sev Info + } + } + + if ($Settings.alert -eq $true) { + + if ($StateIsCorrect -eq $true) { + Write-LogMessage -API 'Standards' -tenant $tenant -message 'Auto forwarding is disabled.' -sev Info + } else { + Write-LogMessage -API 'Standards' -tenant $tenant -message 'Auto forwarding is not disabled.' -sev Alert + } + } + + if ($Settings.report -eq $true) { + Add-CIPPBPAField -FieldName 'AutoForwardingDisabled' -FieldValue $StateIsCorrect -StoreAs bool -Tenant $tenant + } + +} diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEnableAppConsentRequests.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEnableAppConsentRequests.ps1 index 4c427bac19d1..c11dde73038f 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEnableAppConsentRequests.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEnableAppConsentRequests.ps1 @@ -1,38 +1,37 @@ function Invoke-CIPPStandardEnableAppConsentRequests { <# .FUNCTIONALITY - Internal - .APINAME - EnableAppConsentRequests - .CAT - Entra (AAD) Standards - .TAG - "lowimpact" - "CIS" - .HELPTEXT - Enables App consent admin requests for the tenant via the GA role. Does not overwrite existing reviewer settings - .DOCSDESCRIPTION - Enables the ability for users to request admin consent for applications. Should be used in conjunction with the "Require admin consent for applications" standards - .ADDEDCOMPONENT - {"type":"AdminRolesMultiSelect","label":"App Consent Reviewer Roles","name":"standards.EnableAppConsentRequests.ReviewerRoles"} - .LABEL - Enable App consent admin requests - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Update-MgPolicyAdminConsentRequestPolicy - .RECOMMENDEDBY - "CIS" - .DOCSDESCRIPTION - Enables App consent admin requests for the tenant via the GA role. Does not overwrite existing reviewer settings - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) EnableAppConsentRequests + .SYNOPSIS + (Label) Enable App consent admin requests + .DESCRIPTION + (Helptext) Enables App consent admin requests for the tenant via the GA role. Does not overwrite existing reviewer settings + (DocsDescription) Enables the ability for users to request admin consent for applications. Should be used in conjunction with the "Require admin consent for applications" standards + .NOTES + CAT + Entra (AAD) Standards + TAG + "lowimpact" + "CIS" + ADDEDCOMPONENT + {"type":"AdminRolesMultiSelect","label":"App Consent Reviewer Roles","name":"standards.EnableAppConsentRequests.ReviewerRoles"} + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Update-MgPolicyAdminConsentRequestPolicy + RECOMMENDEDBY + "CIS" + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'EnableAppConsentRequests' + $CurrentInfo = New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/policies/adminConsentRequestPolicy' -tenantid $Tenant If ($Settings.remediate -eq $true) { @@ -106,7 +105,3 @@ function Invoke-CIPPStandardEnableAppConsentRequests { Add-CIPPBPAField -FieldName 'EnableAppConsentAdminRequests' -FieldValue $CurrentInfo.isEnabled -StoreAs bool -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEnableCustomerLockbox.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEnableCustomerLockbox.ps1 index daabff2b8ccc..666fd5f9ce27 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEnableCustomerLockbox.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEnableCustomerLockbox.ps1 @@ -1,38 +1,36 @@ function Invoke-CIPPStandardEnableCustomerLockbox { <# .FUNCTIONALITY - Internal - .APINAME - EnableCustomerLockbox - .CAT - Global Standards - .TAG - "lowimpact" - "CIS" - "CustomerLockBoxEnabled" - .HELPTEXT - Enables Customer Lockbox that offers an approval process for Microsoft support to access organization data - .DOCSDESCRIPTION - Customer Lockbox ensures that Microsoft can't access your content to do service operations without your explicit approval. Customer Lockbox ensures only authorized requests allow access to your organizations data. - .ADDEDCOMPONENT - .LABEL - Enable Customer Lockbox - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Set-OrganizationConfig -CustomerLockBoxEnabled $true - .RECOMMENDEDBY - "CIS" - .DOCSDESCRIPTION - Enables Customer Lockbox that offers an approval process for Microsoft support to access organization data - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) EnableCustomerLockbox + .SYNOPSIS + (Label) Enable Customer Lockbox + .DESCRIPTION + (Helptext) Enables Customer Lockbox that offers an approval process for Microsoft support to access organization data + (DocsDescription) Customer Lockbox ensures that Microsoft can't access your content to do service operations without your explicit approval. Customer Lockbox ensures only authorized requests allow access to your organizations data. + .NOTES + CAT + Global Standards + TAG + "lowimpact" + "CIS" + "CustomerLockBoxEnabled" + ADDEDCOMPONENT + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Set-OrganizationConfig -CustomerLockBoxEnabled \$true + RECOMMENDEDBY + "CIS" + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'EnableCustomerLockbox' $CustomerLockboxStatus = (New-ExoRequest -tenantid $Tenant -cmdlet 'Get-OrganizationConfig').CustomerLockboxEnabled if ($Settings.remediate -eq $true) { @@ -67,7 +65,3 @@ function Invoke-CIPPStandardEnableCustomerLockbox { Add-CIPPBPAField -FieldName 'CustomerLockboxEnabled' -FieldValue $CustomerLockboxStatus -StoreAs bool -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEnableFIDO2.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEnableFIDO2.ps1 index f7111785c042..a0f164c7e1f2 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEnableFIDO2.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEnableFIDO2.ps1 @@ -1,35 +1,34 @@ function Invoke-CIPPStandardEnableFIDO2 { <# .FUNCTIONALITY - Internal - .APINAME - EnableFIDO2 - .CAT - Entra (AAD) Standards - .TAG - "lowimpact" - .HELPTEXT - Enables the FIDO2 authenticationMethod for the tenant - .DOCSDESCRIPTION - Enables FIDO2 capabilities for the tenant. This allows users to use FIDO2 keys like a Yubikey for authentication. - .ADDEDCOMPONENT - .LABEL - Enable FIDO2 capabilities - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Update-MgBetaPolicyAuthenticationMethodPolicyAuthenticationMethodConfiguration - .RECOMMENDEDBY - .DOCSDESCRIPTION - Enables the FIDO2 authenticationMethod for the tenant - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) EnableFIDO2 + .SYNOPSIS + (Label) Enable FIDO2 capabilities + .DESCRIPTION + (Helptext) Enables the FIDO2 authenticationMethod for the tenant + (DocsDescription) Enables FIDO2 capabilities for the tenant. This allows users to use FIDO2 keys like a Yubikey for authentication. + .NOTES + CAT + Entra (AAD) Standards + TAG + "lowimpact" + ADDEDCOMPONENT + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Update-MgBetaPolicyAuthenticationMethodPolicyAuthenticationMethodConfiguration + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'EnableFIDO2' + $CurrentInfo = New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/policies/authenticationmethodspolicy/authenticationMethodConfigurations/Fido2' -tenantid $Tenant $State = if ($CurrentInfo.state -eq 'enabled') { $true } else { $false } @@ -57,7 +56,3 @@ function Invoke-CIPPStandardEnableFIDO2 { } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEnableHardwareOAuth.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEnableHardwareOAuth.ps1 index eaf297caf78e..62a53daef0f3 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEnableHardwareOAuth.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEnableHardwareOAuth.ps1 @@ -1,35 +1,34 @@ function Invoke-CIPPStandardEnableHardwareOAuth { <# .FUNCTIONALITY - Internal - .APINAME - EnableHardwareOAuth - .CAT - Entra (AAD) Standards - .TAG - "lowimpact" - .HELPTEXT - Enables the HardwareOath authenticationMethod for the tenant. This allows you to use hardware tokens for generating 6 digit MFA codes. - .DOCSDESCRIPTION - Enables Hardware OAuth tokens for the tenant. This allows users to use hardware tokens like a Yubikey for authentication. - .ADDEDCOMPONENT - .LABEL - Enable Hardware OAuth tokens - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Update-MgBetaPolicyAuthenticationMethodPolicyAuthenticationMethodConfiguration - .RECOMMENDEDBY - .DOCSDESCRIPTION - Enables the HardwareOath authenticationMethod for the tenant. This allows you to use hardware tokens for generating 6 digit MFA codes. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) EnableHardwareOAuth + .SYNOPSIS + (Label) Enable Hardware OAuth tokens + .DESCRIPTION + (Helptext) Enables the HardwareOath authenticationMethod for the tenant. This allows you to use hardware tokens for generating 6 digit MFA codes. + (DocsDescription) Enables Hardware OAuth tokens for the tenant. This allows users to use hardware tokens like a Yubikey for authentication. + .NOTES + CAT + Entra (AAD) Standards + TAG + "lowimpact" + ADDEDCOMPONENT + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Update-MgBetaPolicyAuthenticationMethodPolicyAuthenticationMethodConfiguration + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'EnableHardwareOAuth' + $CurrentInfo = New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/policies/authenticationmethodspolicy/authenticationMethodConfigurations/HardwareOath' -tenantid $Tenant $State = if ($CurrentInfo.state -eq 'enabled') { $true } else { $false } @@ -55,8 +54,3 @@ function Invoke-CIPPStandardEnableHardwareOAuth { Add-CIPPBPAField -FieldName 'EnableHardwareOAuth' -FieldValue $State -StoreAs bool -Tenant $tenant } } - - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEnableLitigationHold.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEnableLitigationHold.ps1 index cecc5e565a4f..a9ec00f799e7 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEnableLitigationHold.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEnableLitigationHold.ps1 @@ -1,36 +1,36 @@ function Invoke-CIPPStandardEnableLitigationHold { - <# - .FUNCTIONALITY - Internal - .APINAME - EnableLitigationHold - .CAT - Exchange Standards - .TAG - "lowimpact" - .HELPTEXT - Enables litigation hold for all UserMailboxes with a valid license. - .ADDEDCOMPONENT - .LABEL - Enable Litigation Hold for all users - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Set-Mailbox -LitigationHoldEnabled $true - .RECOMMENDEDBY - .DOCSDESCRIPTION - Enables litigation hold for all UserMailboxes with a valid license. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block - #> - - - + <# + .FUNCTIONALITY + Internal + .COMPONENT + (APIName) EnableLitigationHold + .SYNOPSIS + (Label) Enable Litigation Hold for all users + .DESCRIPTION + (Helptext) Enables litigation hold for all UserMailboxes with a valid license. + (DocsDescription) Enables litigation hold for all UserMailboxes with a valid license. + .NOTES + CAT + Exchange Standards + TAG + "lowimpact" + ADDEDCOMPONENT + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Set-Mailbox -LitigationHoldEnabled \$true + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards + #> param($Tenant, $Settings) - - $MailboxesNoLitHold = New-ExoRequest -tenantid $Tenant -cmdlet 'Get-Mailbox' -cmdparams @{ Filter = 'LitigationHoldEnabled -eq "False"'} | Where-Object {$_.PersistedCapabilities -contains "BPOS_S_DlpAddOn" -or $_.PersistedCapabilities -contains "BPOS_S_Enterprise"} - + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'EnableLitigationHold' + + $MailboxesNoLitHold = New-ExoRequest -tenantid $Tenant -cmdlet 'Get-Mailbox' -cmdparams @{ Filter = 'LitigationHoldEnabled -eq "False"' } | Where-Object { $_.PersistedCapabilities -contains 'BPOS_S_DlpAddOn' -or $_.PersistedCapabilities -contains 'BPOS_S_Enterprise' } + If ($Settings.remediate -eq $true) { if ($null -eq $MailboxesNoLitHold) { @@ -76,7 +76,3 @@ function Invoke-CIPPStandardEnableLitigationHold { Add-CIPPBPAField -FieldName 'EnableLitHold' -FieldValue $filtered -StoreAs json -Tenant $Tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEnableMailTips.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEnableMailTips.ps1 index 1abee9433d86..eb46db683cf9 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEnableMailTips.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEnableMailTips.ps1 @@ -1,38 +1,38 @@ function Invoke-CIPPStandardEnableMailTips { <# .FUNCTIONALITY - Internal - .APINAME - EnableMailTips - .CAT - Exchange Standards - .TAG - "lowimpact" - "CIS" - "exo_mailtipsenabled" - .HELPTEXT - Enables all MailTips in Outlook. MailTips are the notifications Outlook and Outlook on the web shows when an email you create, meets some requirements - .ADDEDCOMPONENT - {"type":"number","name":"standards.EnableMailTips.MailTipsLargeAudienceThreshold","label":"Number of recipients to trigger the large audience MailTip (Default is 25)","placeholder":"Enter a profile name","default":25} - .LABEL - Enable all MailTips - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Set-OrganizationConfig - .RECOMMENDEDBY - "CIS" - .DOCSDESCRIPTION - Enables all MailTips in Outlook. MailTips are the notifications Outlook and Outlook on the web shows when an email you create, meets some requirements - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) EnableMailTips + .SYNOPSIS + (Label) Enable all MailTips + .DESCRIPTION + (Helptext) Enables all MailTips in Outlook. MailTips are the notifications Outlook and Outlook on the web shows when an email you create, meets some requirements + (DocsDescription) Enables all MailTips in Outlook. MailTips are the notifications Outlook and Outlook on the web shows when an email you create, meets some requirements + .NOTES + CAT + Exchange Standards + TAG + "lowimpact" + "CIS" + "exo_mailtipsenabled" + ADDEDCOMPONENT + {"type":"number","name":"standards.EnableMailTips.MailTipsLargeAudienceThreshold","label":"Number of recipients to trigger the large audience MailTip (Default is 25)","placeholder":"Enter a profile name","default":25} + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Set-OrganizationConfig + RECOMMENDEDBY + "CIS" + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'EnableMailTips' + $MailTipsState = New-ExoRequest -tenantid $Tenant -cmdlet 'Get-OrganizationConfig' | Select-Object MailTipsAllTipsEnabled, MailTipsExternalRecipientsTipsEnabled, MailTipsGroupMetricsEnabled, MailTipsLargeAudienceThreshold $StateIsCorrect = if ($MailTipsState.MailTipsAllTipsEnabled -and $MailTipsState.MailTipsExternalRecipientsTipsEnabled -and $MailTipsState.MailTipsGroupMetricsEnabled -and $MailTipsState.MailTipsLargeAudienceThreshold -eq $Settings.MailTipsLargeAudienceThreshold) { $true } else { $false } @@ -66,7 +66,3 @@ function Invoke-CIPPStandardEnableMailTips { } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEnableMailboxAuditing.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEnableMailboxAuditing.ps1 index e085bb128d8a..160019c15e88 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEnableMailboxAuditing.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEnableMailboxAuditing.ps1 @@ -1,38 +1,37 @@ function Invoke-CIPPStandardEnableMailboxAuditing { <# .FUNCTIONALITY - Internal - .APINAME - EnableMailboxAuditing - .CAT - Exchange Standards - .TAG - "lowimpact" - "CIS" - "exo_mailboxaudit" - .HELPTEXT - Enables Mailbox auditing for all mailboxes and on tenant level. Disables audit bypass on all mailboxes. Unified Audit Log needs to be enabled for this standard to function. - .DOCSDESCRIPTION - Enables mailbox auditing on tenant level and for all mailboxes. Disables audit bypass on all mailboxes. By default Microsoft does not enable mailbox auditing for Resource Mailboxes, Public Folder Mailboxes and DiscoverySearch Mailboxes. Unified Audit Log needs to be enabled for this standard to function. - .ADDEDCOMPONENT - .LABEL - Enable Mailbox auditing - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Set-OrganizationConfig -AuditDisabled $false - .RECOMMENDEDBY - "CIS" - .DOCSDESCRIPTION - Enables Mailbox auditing for all mailboxes and on tenant level. Disables audit bypass on all mailboxes. Unified Audit Log needs to be enabled for this standard to function. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) EnableMailboxAuditing + .SYNOPSIS + (Label) Enable Mailbox auditing + .DESCRIPTION + (Helptext) Enables Mailbox auditing for all mailboxes and on tenant level. Disables audit bypass on all mailboxes. Unified Audit Log needs to be enabled for this standard to function. + (DocsDescription) Enables mailbox auditing on tenant level and for all mailboxes. Disables audit bypass on all mailboxes. By default Microsoft does not enable mailbox auditing for Resource Mailboxes, Public Folder Mailboxes and DiscoverySearch Mailboxes. Unified Audit Log needs to be enabled for this standard to function. + .NOTES + CAT + Exchange Standards + TAG + "lowimpact" + "CIS" + "exo_mailboxaudit" + ADDEDCOMPONENT + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Set-OrganizationConfig -AuditDisabled \$false + RECOMMENDEDBY + "CIS" + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'EnableMailboxAuditing' + $AuditState = (New-ExoRequest -tenantid $Tenant -cmdlet 'Get-OrganizationConfig').AuditDisabled if ($Settings.remediate -eq $true) { @@ -120,7 +119,3 @@ function Invoke-CIPPStandardEnableMailboxAuditing { } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEnableOnlineArchiving.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEnableOnlineArchiving.ps1 index 90a20d59b356..29083290b99a 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEnableOnlineArchiving.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEnableOnlineArchiving.ps1 @@ -1,33 +1,33 @@ function Invoke-CIPPStandardEnableOnlineArchiving { <# .FUNCTIONALITY - Internal - .APINAME - EnableOnlineArchiving - .CAT - Exchange Standards - .TAG - "lowimpact" - .HELPTEXT - Enables the In-Place Online Archive for all UserMailboxes with a valid license. - .ADDEDCOMPONENT - .LABEL - Enable Online Archive for all users - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Enable-Mailbox -Archive $true - .RECOMMENDEDBY - .DOCSDESCRIPTION - Enables the In-Place Online Archive for all UserMailboxes with a valid license. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) EnableOnlineArchiving + .SYNOPSIS + (Label) Enable Online Archive for all users + .DESCRIPTION + (Helptext) Enables the In-Place Online Archive for all UserMailboxes with a valid license. + (DocsDescription) Enables the In-Place Online Archive for all UserMailboxes with a valid license. + .NOTES + CAT + Exchange Standards + TAG + "lowimpact" + ADDEDCOMPONENT + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Enable-Mailbox -Archive \$true + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'EnableOnlineArchiving' $MailboxPlans = @( 'ExchangeOnline', 'ExchangeOnlineEnterprise' ) $MailboxesNoArchive = $MailboxPlans | ForEach-Object { @@ -80,7 +80,3 @@ function Invoke-CIPPStandardEnableOnlineArchiving { Add-CIPPBPAField -FieldName 'EnableOnlineArchiving' -FieldValue $filtered -StoreAs json -Tenant $Tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEnablePronouns.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEnablePronouns.ps1 index 7d20bcee6666..915bf8ecc044 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEnablePronouns.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEnablePronouns.ps1 @@ -1,33 +1,33 @@ function Invoke-CIPPStandardEnablePronouns { <# .FUNCTIONALITY - Internal - .APINAME - EnablePronouns - .CAT - Global Standards - .TAG - "lowimpact" - .HELPTEXT - Enables the Pronouns feature for the tenant. This allows users to set their pronouns in their profile. - .ADDEDCOMPONENT - .LABEL - Enable Pronouns - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Update-MgBetaAdminPeoplePronoun -IsEnabledInOrganization:$true - .RECOMMENDEDBY - .DOCSDESCRIPTION - Enables the Pronouns feature for the tenant. This allows users to set their pronouns in their profile. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) EnablePronouns + .SYNOPSIS + (Label) Enable Pronouns + .DESCRIPTION + (Helptext) Enables the Pronouns feature for the tenant. This allows users to set their pronouns in their profile. + (DocsDescription) Enables the Pronouns feature for the tenant. This allows users to set their pronouns in their profile. + .NOTES + CAT + Global Standards + TAG + "lowimpact" + ADDEDCOMPONENT + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Update-MgBetaAdminPeoplePronoun -IsEnabledInOrganization:\$true + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param ($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'EnablePronouns' $Uri = 'https://graph.microsoft.com/v1.0/admin/people/pronouns' try { @@ -71,7 +71,3 @@ function Invoke-CIPPStandardEnablePronouns { Add-CIPPBPAField -FieldName 'PronounsEnabled' -FieldValue $CurrentState.isEnabledInOrganization -StoreAs bool -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardExConnector.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardExConnector.ps1 index 84a3258ad940..d0d5dfafd657 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardExConnector.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardExConnector.ps1 @@ -4,6 +4,8 @@ function Invoke-CIPPStandardExConnector { Internal #> param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'ExConnector' + If ($Settings.remediate -eq $true) { $APINAME = 'Standards' diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardExcludedfileExt.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardExcludedfileExt.ps1 index 28ab4c8ca495..dc204f253833 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardExcludedfileExt.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardExcludedfileExt.ps1 @@ -1,34 +1,35 @@ function Invoke-CIPPStandardExcludedfileExt { <# .FUNCTIONALITY - Internal - .APINAME - ExcludedfileExt - .CAT - SharePoint Standards - .TAG - "highimpact" - .HELPTEXT - Sets the file extensions that are excluded from syncing with OneDrive. These files will be blocked from upload. '*.' is automatically added to the extension and can be omitted. - .ADDEDCOMPONENT - {"type":"input","name":"standards.ExcludedfileExt.ext","label":"Extensions, Comma separated"} - .LABEL - Exclude File Extensions from Syncing - .IMPACT - High Impact - .POWERSHELLEQUIVALENT - Update-MgAdminSharepointSetting - .RECOMMENDEDBY - .DOCSDESCRIPTION - Sets the file extensions that are excluded from syncing with OneDrive. These files will be blocked from upload. '*.' is automatically added to the extension and can be omitted. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) ExcludedfileExt + .SYNOPSIS + (Label) Exclude File Extensions from Syncing + .DESCRIPTION + (Helptext) Sets the file extensions that are excluded from syncing with OneDrive. These files will be blocked from upload. '*.' is automatically added to the extension and can be omitted. + (DocsDescription) Sets the file extensions that are excluded from syncing with OneDrive. These files will be blocked from upload. '\*.' is automatically added to the extension and can be omitted. + .NOTES + CAT + SharePoint Standards + TAG + "highimpact" + ADDEDCOMPONENT + {"type":"input","name":"standards.ExcludedfileExt.ext","label":"Extensions, Comma separated"} + IMPACT + High Impact + POWERSHELLEQUIVALENT + Update-MgAdminSharepointSetting + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'ExcludedfileExt' + $CurrentInfo = New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/admin/sharepoint/settings' -tenantid $Tenant -AsApp $true $Exts = ($Settings.ext -replace ' ', '') -split ',' # Add a wildcard to the extensions since thats what the SP admin center does @@ -77,7 +78,3 @@ function Invoke-CIPPStandardExcludedfileExt { Add-CIPPBPAField -FieldName 'ExcludedfileExt' -FieldValue $CurrentInfo.excludedFileExtensionsForSyncApp -StoreAs json -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardExternalMFATrusted.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardExternalMFATrusted.ps1 index 619455fdb0e7..bc133d544d89 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardExternalMFATrusted.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardExternalMFATrusted.ps1 @@ -1,34 +1,34 @@ function Invoke-CIPPStandardExternalMFATrusted { <# .FUNCTIONALITY - Internal - .APINAME - ExternalMFATrusted - .CAT - Entra (AAD) Standards - .TAG - "lowimpact" - .HELPTEXT - Sets the state of the Cross-tenant access setting to trust external MFA. This allows guest users to use their home tenant MFA to access your tenant. - .ADDEDCOMPONENT - {"type":"Select","label":"Select value","name":"standards.ExternalMFATrusted.state","values":[{"label":"Enabled","value":"true"},{"label":"Disabled","value":"false"}]} - .LABEL - Sets the Cross-tenant access setting to trust external MFA - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Update-MgBetaPolicyCrossTenantAccessPolicyDefault - .RECOMMENDEDBY - .DOCSDESCRIPTION - Sets the state of the Cross-tenant access setting to trust external MFA. This allows guest users to use their home tenant MFA to access your tenant. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) ExternalMFATrusted + .SYNOPSIS + (Label) Sets the Cross-tenant access setting to trust external MFA + .DESCRIPTION + (Helptext) Sets the state of the Cross-tenant access setting to trust external MFA. This allows guest users to use their home tenant MFA to access your tenant. + (DocsDescription) Sets the state of the Cross-tenant access setting to trust external MFA. This allows guest users to use their home tenant MFA to access your tenant. + .NOTES + CAT + Entra (AAD) Standards + TAG + "lowimpact" + ADDEDCOMPONENT + {"type":"Select","label":"Select value","name":"standards.ExternalMFATrusted.state","values":[{"label":"Enabled","value":"true"},{"label":"Disabled","value":"false"}]} + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Update-MgBetaPolicyCrossTenantAccessPolicyDefault + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'ExternalMFATrusted' $ExternalMFATrusted = (New-GraphGetRequest -uri 'https://graph.microsoft.com/v1.0/policies/crossTenantAccessPolicy/default?$select=inboundTrust' -tenantid $Tenant) $WantedState = if ($Settings.state -eq 'true') { $true } else { $false } @@ -73,7 +73,3 @@ function Invoke-CIPPStandardExternalMFATrusted { } } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardFocusedInbox.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardFocusedInbox.ps1 index 9a9655ac22a4..e7e625e88253 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardFocusedInbox.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardFocusedInbox.ps1 @@ -1,36 +1,34 @@ function Invoke-CIPPStandardFocusedInbox { <# .FUNCTIONALITY - Internal - .APINAME - FocusedInbox - .CAT - Exchange Standards - .TAG - "lowimpact" - .HELPTEXT - Sets the default Focused Inbox state for the tenant. This can be overridden by the user. - .DOCSDESCRIPTION - Sets the default Focused Inbox state for the tenant. This can be overridden by the user in their Outlook settings. For more information, see [Microsoft's documentation.](https://support.microsoft.com/en-us/office/focused-inbox-for-outlook-f445ad7f-02f4-4294-a82e-71d8964e3978) - .ADDEDCOMPONENT - {"type":"Select","label":"Select value","name":"standards.FocusedInbox.state","values":[{"label":"Enabled","value":"enabled"},{"label":"Disabled","value":"disabled"}]} - .LABEL - Set Focused Inbox state - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Set-OrganizationConfig -FocusedInboxOn $true or $false - .RECOMMENDEDBY - .DOCSDESCRIPTION - Sets the default Focused Inbox state for the tenant. This can be overridden by the user. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) FocusedInbox + .SYNOPSIS + (Label) Set Focused Inbox state + .DESCRIPTION + (Helptext) Sets the default Focused Inbox state for the tenant. This can be overridden by the user. + (DocsDescription) Sets the default Focused Inbox state for the tenant. This can be overridden by the user in their Outlook settings. For more information, see [Microsoft's documentation.](https://support.microsoft.com/en-us/office/focused-inbox-for-outlook-f445ad7f-02f4-4294-a82e-71d8964e3978) + .NOTES + CAT + Exchange Standards + TAG + "lowimpact" + ADDEDCOMPONENT + {"type":"Select","label":"Select value","name":"standards.FocusedInbox.state","values":[{"label":"Enabled","value":"enabled"},{"label":"Disabled","value":"disabled"}]} + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Set-OrganizationConfig -FocusedInboxOn \$true or \$false + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'FocusedInbox' # Input validation if ([string]::IsNullOrWhiteSpace($Settings.state) -or $Settings.state -eq 'Select a value') { @@ -72,7 +70,3 @@ function Invoke-CIPPStandardFocusedInbox { Add-CIPPBPAField -FieldName 'FocusedInboxCorrectState' -FieldValue $StateIsCorrect -StoreAs bool -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardGlobalQuarantineNotifications.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardGlobalQuarantineNotifications.ps1 index a99543882349..b282c7301cd3 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardGlobalQuarantineNotifications.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardGlobalQuarantineNotifications.ps1 @@ -1,36 +1,34 @@ function Invoke-CIPPStandardGlobalQuarantineNotifications { <# .FUNCTIONALITY - Internal - .APINAME - GlobalQuarantineNotifications - .CAT - Exchange Standards - .TAG - "lowimpact" - .HELPTEXT - Sets the Global Quarantine Notification Interval to the selected value. Determines how often the quarantine notification is sent to users. - .DOCSDESCRIPTION - Sets the global quarantine notification interval for the tenant. This is the time between the quarantine notification emails are sent out to users. Default is 24 hours. - .ADDEDCOMPONENT - {"type":"Select","label":"Select value","name":"standards.GlobalQuarantineNotifications.NotificationInterval","values":[{"label":"4 hours","value":"04:00:00"},{"label":"1 day/Daily","value":"1.00:00:00"},{"label":"7 days/Weekly","value":"7.00:00:00"}]} - .LABEL - Set Global Quarantine Notification Interval - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Set-QuarantinePolicy -EndUserSpamNotificationFrequency - .RECOMMENDEDBY - .DOCSDESCRIPTION - Sets the Global Quarantine Notification Interval to the selected value. Determines how often the quarantine notification is sent to users. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) GlobalQuarantineNotifications + .SYNOPSIS + (Label) Set Global Quarantine Notification Interval + .DESCRIPTION + (Helptext) Sets the Global Quarantine Notification Interval to the selected value. Determines how often the quarantine notification is sent to users. + (DocsDescription) Sets the global quarantine notification interval for the tenant. This is the time between the quarantine notification emails are sent out to users. Default is 24 hours. + .NOTES + CAT + Exchange Standards + TAG + "lowimpact" + ADDEDCOMPONENT + {"type":"Select","label":"Select value","name":"standards.GlobalQuarantineNotifications.NotificationInterval","values":[{"label":"4 hours","value":"04:00:00"},{"label":"1 day/Daily","value":"1.00:00:00"},{"label":"7 days/Weekly","value":"7.00:00:00"}]} + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Set-QuarantinePolicy -EndUserSpamNotificationFrequency + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param ($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'GlobalQuarantineNotifications' $CurrentState = New-ExoRequest -tenantid $Tenant -cmdlet 'Get-QuarantinePolicy' -cmdParams @{ QuarantinePolicyType = 'GlobalQuarantinePolicy' } @@ -82,7 +80,3 @@ function Invoke-CIPPStandardGlobalQuarantineNotifications { } } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardGroupTemplate.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardGroupTemplate.ps1 index 62d7a7678aca..032aac507abc 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardGroupTemplate.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardGroupTemplate.ps1 @@ -4,6 +4,8 @@ function Invoke-CIPPStandardGroupTemplate { Internal #> param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'GroupTemplate' + If ($Settings.remediate -eq $true) { foreach ($Template in $Settings.TemplateList) { diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardIntuneTemplate.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardIntuneTemplate.ps1 index 66f253ef721c..eec9dafd00db 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardIntuneTemplate.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardIntuneTemplate.ps1 @@ -4,125 +4,42 @@ function Invoke-CIPPStandardIntuneTemplate { Internal #> param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'intuneTemplate' + If ($Settings.remediate -eq $true) { Write-Host 'starting template deploy' $APINAME = 'Standards' foreach ($Template in $Settings.TemplateList) { - Write-Host 'working on template deploy' + Write-Host "working on template deploy: $($Template | ConvertTo-Json)" try { $Table = Get-CippTable -tablename 'templates' $Filter = "PartitionKey eq 'IntuneTemplate'" $Request = @{body = $null } - $Request.body = (Get-AzDataTableEntity @Table -Filter $Filter | Where-Object -Property RowKey -Like "$($template.value)*").JSON | ConvertFrom-Json + $Request.body = (Get-CIPPAzDataTableEntity @Table -Filter $Filter | Where-Object -Property RowKey -Like "$($template.value)*").JSON | ConvertFrom-Json $displayname = $request.body.Displayname $description = $request.body.Description $RawJSON = $Request.body.RawJSON + $TemplateTypeURL = $Request.body.Type - switch ($Request.body.Type) { - 'AppProtection' { - $TemplateType = ($RawJSON | ConvertFrom-Json).'@odata.type' -replace '#microsoft.graph.', '' - $TemplateTypeURL = "$($TemplateType)s" - $CheckExististing = New-GraphGETRequest -uri "https://graph.microsoft.com/beta/deviceAppManagement/$TemplateTypeURL" -tenantid $tenant - if ($displayname -in $CheckExististing.displayName) { - $ExistingID = $CheckExististing | Where-Object -Property displayName -EQ $PolicyName - $CreateRequest = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceAppManagement/$TemplateTypeURL/$($ExistingID.Id)" -tenantid $tenant -type PATCH -body $RawJSON - } else { - $CreateRequest = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceAppManagement/$TemplateTypeURL" -tenantid $tenant -type POST -body $RawJSON - } - } - 'deviceCompliancePolicies' { - $TemplateTypeURL = 'deviceCompliancePolicies' - $CheckExististing = New-GraphGETRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$TemplateTypeURL" -tenantid $tenant - - $JSON = $RawJSON | ConvertFrom-Json | Select-Object * -ExcludeProperty id, createdDateTime, lastModifiedDateTime, version, 'scheduledActionsForRule@odata.context', '@odata.context' - $JSON.scheduledActionsForRule = @($JSON.scheduledActionsForRule | Select-Object * -ExcludeProperty 'scheduledActionConfigurations@odata.context') - $RawJSON = ConvertTo-Json -InputObject $JSON -Depth 20 -Compress - Write-Host $RawJSON - if ($displayname -in $CheckExististing.displayName) { - $ExistingID = $CheckExististing | Where-Object -Property displayName -EQ $PolicyName - $CreateRequest = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$TemplateTypeURL/$($ExistingID.Id)" -tenantid $tenant -type PATCH -body $RawJSON - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($Tenant) -message "Updated policy $($PolicyName) to template defaults" -Sev 'info' - } else { - $CreateRequest = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$TemplateTypeURL" -tenantid $tenant -type POST -body $RawJSON - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($Tenant) -message "Added policy $($PolicyName) via template" -Sev 'info' - } - } - 'Admin' { - $TemplateTypeURL = 'groupPolicyConfigurations' - $CreateBody = '{"description":"' + $description + '","displayName":"' + $displayname + '","roleScopeTagIds":["0"]}' - $CheckExististing = New-GraphGETRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$TemplateTypeURL" -tenantid $tenant - if ($displayname -in $CheckExististing.displayName) { - $ExistingID = $CheckExististing | Where-Object -Property displayName -EQ $displayname - $ExistingData = New-GraphGETRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$TemplateTypeURL('$($existingId.id)')/definitionValues" -tenantid $tenant - $DeleteJson = $RawJSON | ConvertFrom-Json -Depth 10 - $DeleteJson.deletedIds = @($ExistingData.id) - $DeleteJson.added = @() - $DeleteJson = ConvertTo-Json -Depth 10 -InputObject $DeleteJson - $DeleteRequest = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$TemplateTypeURL('$($existingId.id)')/updateDefinitionValues" -tenantid $tenant -type POST -body $DeleteJson - $CreateRequest = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$TemplateTypeURL('$($existingId.id)')/updateDefinitionValues" -tenantid $tenant -type POST -body $RawJSON - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($Tenant) -message "Updated policy $($Displayname) to template defaults" -Sev 'info' - - } else { - $CreateRequest = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$TemplateTypeURL" -tenantid $tenant -type POST -body $CreateBody - $UpdateRequest = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$TemplateTypeURL('$($CreateRequest.id)')/updateDefinitionValues" -tenantid $tenant -type POST -body $RawJSON - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($Tenant) -message "Added policy $($Displayname) to template defaults" -Sev 'info' - - } - } - 'Device' { - $TemplateTypeURL = 'deviceConfigurations' - $PolicyName = ($RawJSON | ConvertFrom-Json).displayName - $CheckExististing = New-GraphGETRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$TemplateTypeURL" -tenantid $tenant - if ($PolicyName -in $CheckExististing.displayName) { - $ExistingID = $CheckExististing | Where-Object -Property displayName -EQ $PolicyName - $CreateRequest = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$TemplateTypeURL/$($ExistingID.Id)" -tenantid $tenant -type PATCH -body $RawJSON - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($Tenant) -message "Updated policy $($PolicyName) to template defaults" -Sev 'info' - - } else { - $CreateRequest = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$TemplateTypeURL" -tenantid $tenant -type POST -body $RawJSON - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($Tenant) -message "Added policy $($PolicyName) via template" -Sev 'info' - - } - } - 'Catalog' { - $TemplateTypeURL = 'configurationPolicies' - $PolicyName = ($RawJSON | ConvertFrom-Json).Name - $CheckExististing = New-GraphGETRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$TemplateTypeURL" -tenantid $tenant - if ($PolicyName -in $CheckExististing.name) { - $ExistingID = $CheckExististing | Where-Object -Property Name -EQ $PolicyName - $CreateRequest = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$TemplateTypeURL/$($ExistingID.Id)" -tenantid $tenant -type PUT -body $RawJSON - - } else { - $CreateRequest = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$TemplateTypeURL" -tenantid $tenant -type POST -body $RawJSON - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($Tenant) -message "Added policy $($PolicyName) via template" -Sev 'info' - } - } - 'windowsDriverUpdateProfiles' { - $TemplateTypeURL = 'windowsDriverUpdateProfiles' - $PolicyName = ($RawJSON | ConvertFrom-Json).Name - $CheckExististing = New-GraphGETRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$TemplateTypeURL" -tenantid $tenant - if ($PolicyName -in $CheckExististing.name) { - $ExistingID = $CheckExististing | Where-Object -Property Name -EQ $PolicyName - $CreateRequest = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$TemplateTypeURL/$($ExistingID.Id)" -tenantid $tenant -type PUT -body $RawJSON - - } else { - $CreateRequest = New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceManagement/$TemplateTypeURL" -tenantid $tenant -type POST -body $RawJSON - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $($Tenant) -message "Added policy $($PolicyName) via template" -Sev 'info' - } - } - - } + Set-CIPPIntunePolicy -TemplateType $Request.body.Type -Description $description -DisplayName $displayname -RawJSON $RawJSON -AssignTo $Template.AssignedTo -tenantFilter $Tenant + #Legacy assign, only required for older templates. if ($Settings.AssignTo) { Write-Host "Assigning Policy to $($Settings.AssignTo) the create ID is $($CreateRequest)" if ($Settings.AssignTo -eq 'customGroup') { $Settings.AssignTo = $Settings.customGroup } - Set-CIPPAssignedPolicy -PolicyId $CreateRequest.id -TenantFilter $tenant -GroupName $Settings.AssignTo -Type $TemplateTypeURL + if ($ExistingID) { + Set-CIPPAssignedPolicy -PolicyId $ExistingID.id -TenantFilter $tenant -GroupName $Settings.AssignTo -Type $TemplateTypeURL + Write-LogMessage -API 'Standards' -tenant $tenant -message "Successfully updated Intune Template $PolicyName policy for $($Tenant)" -sev 'Info' + } else { + Set-CIPPAssignedPolicy -PolicyId $CreateRequest.id -TenantFilter $tenant -GroupName $Settings.AssignTo -Type $TemplateTypeURL + Write-LogMessage -API 'Standards' -tenant $tenant -message "Successfully created Intune Template $PolicyName policy for $($Tenant)" -sev 'Info' + } } - Write-LogMessage -API 'Standards' -tenant $tenant -message "Successfully added Intune Template policy for $($Tenant)" -sev 'Info' + } catch { $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message - Write-LogMessage -API 'Standards' -tenant $tenant -message "Failed to create or update Intune Template: $ErrorMessage" -sev 'Error' + Write-LogMessage -API 'Standards' -tenant $tenant -message "Failed to create or update Intune Template $PolicyName, Error: $ErrorMessage" -sev 'Error' } } } diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardLegacyMFACleanup.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardLegacyMFACleanup.ps1 index 282d7ebc4778..aed46df835f2 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardLegacyMFACleanup.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardLegacyMFACleanup.ps1 @@ -1,37 +1,32 @@ function Invoke-CIPPStandardLegacyMFACleanup { <# .FUNCTIONALITY - Internal - .APINAME - LegacyMFACleanup - .CAT - Entra (AAD) Standards - .TAG - "mediumimpact" - .HELPTEXT - This standard currently does not function and can be safely disabled - .ADDEDCOMPONENT - .LABEL - Remove Legacy MFA if SD or CA is active - .IMPACT - Medium Impact - .POWERSHELLEQUIVALENT - Set-MsolUser -StrongAuthenticationRequirements $null - .RECOMMENDEDBY - .DOCSDESCRIPTION - This standard currently does not function and can be safely disabled - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) LegacyMFACleanup + .SYNOPSIS + (Label) Remove Legacy MFA if SD or CA is active + .DESCRIPTION + (Helptext) This standard currently does not function and can be safely disabled + (DocsDescription) This standard currently does not function and can be safely disabled + .NOTES + CAT + Entra (AAD) Standards + TAG + "mediumimpact" + ADDEDCOMPONENT + IMPACT + Medium Impact + POWERSHELLEQUIVALENT + Set-MsolUser -StrongAuthenticationRequirements \$null + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) Write-LogMessage -API 'Standards' -tenant $tenant -message 'Per User MFA APIs have been disabled.' -sev Info } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardMailContacts.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardMailContacts.ps1 index 724357d3ef55..b161378639ce 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardMailContacts.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardMailContacts.ps1 @@ -1,41 +1,38 @@ function Invoke-CIPPStandardMailContacts { <# .FUNCTIONALITY - Internal - .APINAME - MailContacts - .CAT - Global Standards - .TAG - "lowimpact" - .HELPTEXT - Defines the email address to receive general updates and information related to M365 subscriptions. Leave a contact field blank if you do not want to update the contact information. - .DOCSDESCRIPTION - Defines the email address to receive general updates and information related to M365 subscriptions. Leave a contact field blank if you do not want to update the contact information. - .DISABLEDFEATURES - - .ADDEDCOMPONENT - {"type":"input","name":"standards.MailContacts.GeneralContact","label":"General Contact"} - {"type":"input","name":"standards.MailContacts.SecurityContact","label":"Security Contact"} - {"type":"input","name":"standards.MailContacts.MarketingContact","label":"Marketing Contact"} - {"type":"input","name":"standards.MailContacts.TechContact","label":"Technical Contact"} - .LABEL - Set contact e-mails - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Set-MsolCompanyContactInformation - .RECOMMENDEDBY - .DOCSDESCRIPTION - Defines the email address to receive general updates and information related to M365 subscriptions. Leave a contact field blank if you do not want to update the contact information. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) MailContacts + .SYNOPSIS + (Label) Set contact e-mails + .DESCRIPTION + (Helptext) Defines the email address to receive general updates and information related to M365 subscriptions. Leave a contact field blank if you do not want to update the contact information. + (DocsDescription) Defines the email address to receive general updates and information related to M365 subscriptions. Leave a contact field blank if you do not want to update the contact information. + .NOTES + CAT + Global Standards + TAG + "lowimpact" + ADDEDCOMPONENT + {"type":"input","name":"standards.MailContacts.GeneralContact","label":"General Contact"} + {"type":"input","name":"standards.MailContacts.SecurityContact","label":"Security Contact"} + {"type":"input","name":"standards.MailContacts.MarketingContact","label":"Marketing Contact"} + {"type":"input","name":"standards.MailContacts.TechContact","label":"Technical Contact"} + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Set-MsolCompanyContactInformation + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'MailContacts' + $TenantID = (New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/organization' -tenantid $tenant) $CurrentInfo = New-GraphGetRequest -Uri "https://graph.microsoft.com/beta/organization/$($TenantID.id)" -tenantid $Tenant $contacts = $settings @@ -95,7 +92,3 @@ function Invoke-CIPPStandardMailContacts { Add-CIPPBPAField -FieldName 'MailContacts' -FieldValue $CurrentInfo -StoreAs json -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardMalwareFilterPolicy.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardMalwareFilterPolicy.ps1 index 79fa04d4c3fc..f9cd47acee18 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardMalwareFilterPolicy.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardMalwareFilterPolicy.ps1 @@ -1,55 +1,64 @@ function Invoke-CIPPStandardMalwareFilterPolicy { - <# - .FUNCTIONALITY - Internal - .APINAME - MalwareFilterPolicy - .CAT - Defender Standards - .TAG - "lowimpact" - "CIS" - "mdo_zapspam" - "mdo_zapphish" - "mdo_zapmalware" - .HELPTEXT - This creates a Malware filter policy that enables the default File filter and Zero-hour auto purge for malware. - .ADDEDCOMPONENT - {"type":"Select","label":"FileTypeAction","name":"standards.MalwareFilterPolicy.FileTypeAction","values":[{"label":"Reject","value":"Reject"},{"label":"Quarantine the message","value":"Quarantine"}]} - {"type":"Select","label":"QuarantineTag","name":"standards.MalwareFilterPolicy.QuarantineTag","values":[{"label":"AdminOnlyAccessPolicy","value":"AdminOnlyAccessPolicy"},{"label":"DefaultFullAccessPolicy","value":"DefaultFullAccessPolicy"},{"label":"DefaultFullAccessWithNotificationPolicy","value":"DefaultFullAccessWithNotificationPolicy"}]} - {"type":"boolean","label":"Enable Internal Sender Admin Notifications","name":"standards.MalwareFilterPolicy.EnableInternalSenderAdminNotifications"} - {"type":"input","name":"standards.MalwareFilterPolicy.InternalSenderAdminAddress","label":"Internal Sender Admin Address"} - {"type":"boolean","label":"Enable External Sender Admin Notifications","name":"standards.MalwareFilterPolicy.EnableExternalSenderAdminNotifications"} - {"type":"input","name":"standards.MalwareFilterPolicy.ExternalSenderAdminAddress","label":"External Sender Admin Address"} - .LABEL - Default Malware Filter Policy - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Set-MalwareFilterPolicy or New-MalwareFilterPolicy - .RECOMMENDEDBY - "CIS" - .DOCSDESCRIPTION - This creates a Malware filter policy that enables the default File filter and Zero-hour auto purge for malware. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block - #> - - - - + <# + .FUNCTIONALITY + Internal + .COMPONENT + (APIName) MalwareFilterPolicy + .SYNOPSIS + (Label) Default Malware Filter Policy + .DESCRIPTION + (Helptext) This creates a Malware filter policy that enables the default File filter and Zero-hour auto purge for malware. + (DocsDescription) This creates a Malware filter policy that enables the default File filter and Zero-hour auto purge for malware. + .NOTES + CAT + Defender Standards + TAG + "lowimpact" + "CIS" + "mdo_zapspam" + "mdo_zapphish" + "mdo_zapmalware" + ADDEDCOMPONENT + {"type":"Select","label":"FileTypeAction","name":"standards.MalwareFilterPolicy.FileTypeAction","values":[{"label":"Reject","value":"Reject"},{"label":"Quarantine the message","value":"Quarantine"}]} + {"type":"input","name":"standards.MalwareFilterPolicy.OptionalFileTypes","label":"Optional File Types, Comma separated"} + {"type":"Select","label":"QuarantineTag","name":"standards.MalwareFilterPolicy.QuarantineTag","values":[{"label":"AdminOnlyAccessPolicy","value":"AdminOnlyAccessPolicy"},{"label":"DefaultFullAccessPolicy","value":"DefaultFullAccessPolicy"},{"label":"DefaultFullAccessWithNotificationPolicy","value":"DefaultFullAccessWithNotificationPolicy"}]} + {"type":"boolean","label":"Enable Internal Sender Admin Notifications","name":"standards.MalwareFilterPolicy.EnableInternalSenderAdminNotifications"} + {"type":"input","name":"standards.MalwareFilterPolicy.InternalSenderAdminAddress","label":"Internal Sender Admin Address"} + {"type":"boolean","label":"Enable External Sender Admin Notifications","name":"standards.MalwareFilterPolicy.EnableExternalSenderAdminNotifications"} + {"type":"input","name":"standards.MalwareFilterPolicy.ExternalSenderAdminAddress","label":"External Sender Admin Address"} + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Set-MalwareFilterPolicy or New-MalwareFilterPolicy + RECOMMENDEDBY + "CIS" + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards + #> param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'MalwareFilterPolicy' + $PolicyName = 'Default Malware Policy' $CurrentState = New-ExoRequest -tenantid $Tenant -cmdlet 'Get-MalwareFilterPolicy' | - Where-Object -Property Name -EQ $PolicyName | - Select-Object Name, EnableFileFilter, FileTypeAction, FileTypes, ZapEnabled, QuarantineTag, EnableInternalSenderAdminNotifications, InternalSenderAdminAddress, EnableExternalSenderAdminNotifications, ExternalSenderAdminAddress + Where-Object -Property Name -EQ $PolicyName | + Select-Object Name, EnableFileFilter, FileTypeAction, FileTypes, ZapEnabled, QuarantineTag, EnableInternalSenderAdminNotifications, InternalSenderAdminAddress, EnableExternalSenderAdminNotifications, ExternalSenderAdminAddress + + $DefaultFileTypes = @('ace', 'ani', 'apk', 'app', 'appx', 'arj', 'bat', 'cab', 'cmd', 'com', 'deb', 'dex', 'dll', 'docm', 'elf', 'exe', 'hta', 'img', 'iso', 'jar', 'jnlp', 'kext', 'lha', 'lib', 'library', 'lnk', 'lzh', 'macho', 'msc', 'msi', 'msix', 'msp', 'mst', 'pif', 'ppa', 'ppam', 'reg', 'rev', 'scf', 'scr', 'sct', 'sys', 'uif', 'vb', 'vbe', 'vbs', 'vxd', 'wsc', 'wsf', 'wsh', 'xll', 'xz', 'z') + + if ($null -eq $Settings.OptionalFileTypes) { + $ExpectedFileTypes = $DefaultFileTypes + } else { + $ExpectedFileTypes = $DefaultFileTypes + @($Settings.OptionalFileTypes.Split(',').Trim()) + } $StateIsCorrect = ($CurrentState.Name -eq $PolicyName) -and ($CurrentState.EnableFileFilter -eq $true) -and ($CurrentState.FileTypeAction -eq $Settings.FileTypeAction) -and - ($null -ne $CurrentState.FileTypes) -and + (!(Compare-Object -ReferenceObject $CurrentState.FileTypes -DifferenceObject $ExpectedFileTypes)) -and ($CurrentState.ZapEnabled -eq $true) -and ($CurrentState.QuarantineTag -eq $Settings.QuarantineTag) -and ($CurrentState.EnableInternalSenderAdminNotifications -eq $Settings.EnableInternalSenderAdminNotifications) -and @@ -60,8 +69,8 @@ function Invoke-CIPPStandardMalwareFilterPolicy { $AcceptedDomains = New-ExoRequest -tenantid $Tenant -cmdlet 'Get-AcceptedDomain' $RuleState = New-ExoRequest -tenantid $Tenant -cmdlet 'Get-MalwareFilterRule' | - Where-Object -Property Name -EQ "CIPP $PolicyName" | - Select-Object Name, MalwareFilterPolicy, Priority, RecipientDomainIs + Where-Object -Property Name -EQ "CIPP $PolicyName" | + Select-Object Name, MalwareFilterPolicy, Priority, RecipientDomainIs $RuleStateIsCorrect = ($RuleState.Name -eq "CIPP $PolicyName") -and ($RuleState.MalwareFilterPolicy -eq $PolicyName) -and @@ -75,6 +84,7 @@ function Invoke-CIPPStandardMalwareFilterPolicy { } else { $cmdparams = @{ EnableFileFilter = $true + FileTypes = $ExpectedFileTypes FileTypeAction = $Settings.FileTypeAction ZapEnabled = $true QuarantineTag = $Settings.QuarantineTag @@ -84,12 +94,6 @@ function Invoke-CIPPStandardMalwareFilterPolicy { ExternalSenderAdminAddress = $Settings.ExternalSenderAdminAddress } - if ($null -eq $CurrentState.FileTypes) { - $cmdparams.Add('FileTypes', @('ace', 'ani', 'apk', 'app', 'appx', 'arj', 'bat', 'cab', 'cmd', 'com', 'deb', 'dex', 'dll', 'docm', 'elf', 'exe', 'hta', 'img', 'iso', 'jar', 'jnlp', 'kext', 'lha', 'lib', 'library', 'lnk', 'lzh', 'macho', 'msc', 'msi', 'msix', 'msp', 'mst', 'pif', 'ppa', 'ppam', 'reg', 'rev', 'scf', 'scr', 'sct', 'sys', 'uif', 'vb', 'vbe', 'vbs', 'vxd', 'wsc', 'wsf', 'wsh', 'xll', 'xz', 'z')) - } else { - $cmdparams.Add('FileTypes', $CurrentState.FileTypes) - } - if ($CurrentState.Name -eq $PolicyName) { try { $cmdparams.Add('Identity', $PolicyName) @@ -154,7 +158,3 @@ function Invoke-CIPPStandardMalwareFilterPolicy { } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardMessageExpiration.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardMessageExpiration.ps1 index b5012d7aefea..0c65a52ac51c 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardMessageExpiration.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardMessageExpiration.ps1 @@ -1,35 +1,33 @@ function Invoke-CIPPStandardMessageExpiration { <# .FUNCTIONALITY - Internal - .APINAME - MessageExpiration - .CAT - Exchange Standards - .TAG - "lowimpact" - .HELPTEXT - Sets the transport message configuration to timeout a message at 12 hours. - .DOCSDESCRIPTION - Expires messages in the transport queue after 12 hours. Makes the NDR for failed messages show up faster for users. Default is 24 hours. - .ADDEDCOMPONENT - .LABEL - Lower Transport Message Expiration to 12 hours - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Set-TransportConfig -MessageExpirationTimeout 12.00:00:00 - .RECOMMENDEDBY - .DOCSDESCRIPTION - Sets the transport message configuration to timeout a message at 12 hours. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) MessageExpiration + .SYNOPSIS + (Label) Lower Transport Message Expiration to 12 hours + .DESCRIPTION + (Helptext) Sets the transport message configuration to timeout a message at 12 hours. + (DocsDescription) Expires messages in the transport queue after 12 hours. Makes the NDR for failed messages show up faster for users. Default is 24 hours. + .NOTES + CAT + Exchange Standards + TAG + "lowimpact" + ADDEDCOMPONENT + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Set-TransportConfig -MessageExpirationTimeout 12.00:00:00 + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'MessageExpiration' $MessageExpiration = (New-ExoRequest -tenantid $Tenant -cmdlet 'Get-TransportConfig').messageExpiration @@ -60,7 +58,3 @@ function Invoke-CIPPStandardMessageExpiration { Add-CIPPBPAField -FieldName 'messageExpiration' -FieldValue $MessageExpiration -StoreAs bool -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardNudgeMFA.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardNudgeMFA.ps1 index 116b3d4ed40f..593035bbf4a0 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardNudgeMFA.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardNudgeMFA.ps1 @@ -1,37 +1,35 @@ function Invoke-CIPPStandardNudgeMFA { <# .FUNCTIONALITY - Internal - .APINAME - NudgeMFA - .CAT - Entra (AAD) Standards - .TAG - "lowimpact" - .HELPTEXT - Sets the state of the registration campaign for the tenant - .DOCSDESCRIPTION - Sets the state of the registration campaign for the tenant. If enabled nudges users to set up the Microsoft Authenticator during sign-in. - .ADDEDCOMPONENT - {"type":"Select","label":"Select value","name":"standards.NudgeMFA.state","values":[{"label":"Enabled","value":"enabled"},{"label":"Disabled","value":"disabled"}]} - {"type":"number","name":"standards.NudgeMFA.snoozeDurationInDays","label":"Number of days to allow users to skip registering Authenticator (0-14, default is 1)","default":1} - .LABEL - Sets the state for the request to setup Authenticator - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Update-MgPolicyAuthenticationMethodPolicy - .RECOMMENDEDBY - .DOCSDESCRIPTION - Sets the state of the registration campaign for the tenant - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) NudgeMFA + .SYNOPSIS + (Label) Sets the state for the request to setup Authenticator + .DESCRIPTION + (Helptext) Sets the state of the registration campaign for the tenant + (DocsDescription) Sets the state of the registration campaign for the tenant. If enabled nudges users to set up the Microsoft Authenticator during sign-in. + .NOTES + CAT + Entra (AAD) Standards + TAG + "lowimpact" + ADDEDCOMPONENT + {"type":"Select","label":"Select value","name":"standards.NudgeMFA.state","values":[{"label":"Enabled","value":"enabled"},{"label":"Disabled","value":"disabled"}]} + {"type":"number","name":"standards.NudgeMFA.snoozeDurationInDays","label":"Number of days to allow users to skip registering Authenticator (0-14, default is 1)","default":1} + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Update-MgPolicyAuthenticationMethodPolicy + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'NudgeMFA' $CurrentInfo = New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/policies/authenticationMethodsPolicy' -tenantid $Tenant $State = if ($CurrentInfo.registrationEnforcement.authenticationMethodsRegistrationCampaign.state -eq 'enabled') { $true } else { $false } @@ -47,7 +45,7 @@ function Invoke-CIPPStandardNudgeMFA { Return } # Input validation - if (($Settings.snoozeDurationInDays -lt 0 -or $Settings.snoozeDurationInDays -gt 15) -and ($Settings.remediate -eq $true -or $Settings.alert -eq $true)) { + if (([Int32]$Settings.snoozeDurationInDays -lt 0 -or [Int32]$Settings.snoozeDurationInDays -gt 15) -and ($Settings.remediate -eq $true -or $Settings.alert -eq $true)) { Write-LogMessage -API 'Standards' -tenant $tenant -message 'NudgeMFA: Invalid snoozeDurationInDays parameter set' -sev Error Return } @@ -61,6 +59,7 @@ function Invoke-CIPPStandardNudgeMFA { $Body = $CurrentInfo $body.registrationEnforcement.authenticationMethodsRegistrationCampaign.state = $Settings.state $body.registrationEnforcement.authenticationMethodsRegistrationCampaign.snoozeDurationInDays = $Settings.snoozeDurationInDays + $body.registrationEnforcement.authenticationMethodsRegistrationCampaign.enforceRegistrationAfterAllowedSnoozes = $true $body = ConvertTo-Json -Depth 10 -InputObject ($body | Select-Object registrationEnforcement) New-GraphPostRequest -tenantid $tenant -Uri 'https://graph.microsoft.com/beta/policies/authenticationMethodsPolicy' -Type patch -Body $body -ContentType 'application/json' @@ -85,7 +84,3 @@ function Invoke-CIPPStandardNudgeMFA { } } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardOauthConsent.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardOauthConsent.ps1 index 036bd6f011d0..92d7f64d612f 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardOauthConsent.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardOauthConsent.ps1 @@ -1,38 +1,37 @@ function Invoke-CIPPStandardOauthConsent { <# .FUNCTIONALITY - Internal - .APINAME - OauthConsent - .CAT - Entra (AAD) Standards - .TAG - "mediumimpact" - "CIS" - .HELPTEXT - Disables users from being able to consent to applications, except for those specified in the field below - .DOCSDESCRIPTION - Requires users to get administrator consent before sharing data with applications. You can preapprove specific applications. - .ADDEDCOMPONENT - {"type":"input","name":"standards.OauthConsent.AllowedApps","label":"Allowed application IDs, comma separated"} - .LABEL - Require admin consent for applications (Prevent OAuth phishing) - .IMPACT - Medium Impact - .POWERSHELLEQUIVALENT - Update-MgPolicyAuthorizationPolicy - .RECOMMENDEDBY - "CIS" - .DOCSDESCRIPTION - Disables users from being able to consent to applications, except for those specified in the field below - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) OauthConsent + .SYNOPSIS + (Label) Require admin consent for applications (Prevent OAuth phishing) + .DESCRIPTION + (Helptext) Disables users from being able to consent to applications, except for those specified in the field below + (DocsDescription) Requires users to get administrator consent before sharing data with applications. You can preapprove specific applications. + .NOTES + CAT + Entra (AAD) Standards + TAG + "mediumimpact" + "CIS" + ADDEDCOMPONENT + {"type":"input","name":"standards.OauthConsent.AllowedApps","label":"Allowed application IDs, comma separated"} + IMPACT + Medium Impact + POWERSHELLEQUIVALENT + Update-MgPolicyAuthorizationPolicy + RECOMMENDEDBY + "CIS" + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($tenant, $settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'OauthConsent' + $State = New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/policies/authorizationPolicy/authorizationPolicy' -tenantid $tenant $StateIsCorrect = if ($State.permissionGrantPolicyIdsAssignedToDefaultUserRole -eq 'managePermissionGrantsForSelf.cipp-consent-policy') { $true } else { $false } @@ -75,7 +74,3 @@ function Invoke-CIPPStandardOauthConsent { Add-CIPPBPAField -FieldName 'OauthConsent' -FieldValue $StateIsCorrect -StoreAs bool -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardOauthConsentLowSec.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardOauthConsentLowSec.ps1 index ba94c4f77843..d336e2d7528b 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardOauthConsentLowSec.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardOauthConsentLowSec.ps1 @@ -1,34 +1,34 @@ function Invoke-CIPPStandardOauthConsentLowSec { <# .FUNCTIONALITY - Internal - .APINAME - OauthConsentLowSec - .CAT - Entra (AAD) Standards - .TAG - "mediumimpact" - .HELPTEXT - Sets the default oauth consent level so users can consent to applications that have low risks. - .DOCSDESCRIPTION - Allows users to consent to applications with low assigned risk. - .LABEL - Allow users to consent to applications with low security risk (Prevent OAuth phishing. Lower impact, less secure) - .IMPACT - Medium Impact - .POWERSHELLEQUIVALENT - Update-MgPolicyAuthorizationPolicy - .RECOMMENDEDBY - .DOCSDESCRIPTION - Sets the default oauth consent level so users can consent to applications that have low risks. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) OauthConsentLowSec + .SYNOPSIS + (Label) Allow users to consent to applications with low security risk (Prevent OAuth phishing. Lower impact, less secure) + .DESCRIPTION + (Helptext) Sets the default oauth consent level so users can consent to applications that have low risks. + (DocsDescription) Allows users to consent to applications with low assigned risk. + .NOTES + CAT + Entra (AAD) Standards + TAG + "mediumimpact" + "IntegratedApps" + IMPACT + Medium Impact + POWERSHELLEQUIVALENT + Update-MgPolicyAuthorizationPolicy + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'OauthConsentLowSec' + $State = (New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/policies/authorizationPolicy/authorizationPolicy' -tenantid $tenant) If ($Settings.remediate -eq $true) { try { @@ -59,7 +59,3 @@ function Invoke-CIPPStandardOauthConsentLowSec { Add-CIPPBPAField -FieldName 'OauthConsentLowSec' -FieldValue $State.permissionGrantPolicyIdsAssignedToDefaultUserRole -StoreAs bool -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardOutBoundSpamAlert.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardOutBoundSpamAlert.ps1 index 8ab6cab3d30e..316fd3495bab 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardOutBoundSpamAlert.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardOutBoundSpamAlert.ps1 @@ -1,38 +1,37 @@ function Invoke-CIPPStandardOutBoundSpamAlert { <# .FUNCTIONALITY - Internal - .APINAME - OutBoundSpamAlert - .CAT - Exchange Standards - .TAG - "lowimpact" - "CIS" - .HELPTEXT - Set the Outbound Spam Alert e-mail address - .DOCSDESCRIPTION - Sets the e-mail address to which outbound spam alerts are sent. - .ADDEDCOMPONENT - {"type":"input","name":"standards.OutBoundSpamAlert.OutboundSpamContact","label":"Outbound spam contact"} - .LABEL - Set Outbound Spam Alert e-mail - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Set-HostedOutboundSpamFilterPolicy - .RECOMMENDEDBY - "CIS" - .DOCSDESCRIPTION - Set the Outbound Spam Alert e-mail address - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) OutBoundSpamAlert + .SYNOPSIS + (Label) Set Outbound Spam Alert e-mail + .DESCRIPTION + (Helptext) Set the Outbound Spam Alert e-mail address + (DocsDescription) Sets the e-mail address to which outbound spam alerts are sent. + .NOTES + CAT + Exchange Standards + TAG + "lowimpact" + "CIS" + ADDEDCOMPONENT + {"type":"input","name":"standards.OutBoundSpamAlert.OutboundSpamContact","label":"Outbound spam contact"} + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Set-HostedOutboundSpamFilterPolicy + RECOMMENDEDBY + "CIS" + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'OutBoundSpamAlert' + $CurrentInfo = New-ExoRequest -tenantid $Tenant -cmdlet 'Get-HostedOutboundSpamFilterPolicy' -useSystemMailbox $true If ($Settings.remediate -eq $true) { @@ -64,7 +63,3 @@ function Invoke-CIPPStandardOutBoundSpamAlert { Add-CIPPBPAField -FieldName 'OutboundSpamAlert' -FieldValue $CurrentInfo.NotifyOutboundSpam -StoreAs bool -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardPWcompanionAppAllowedState.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardPWcompanionAppAllowedState.ps1 index 8148322ca651..cc104b002d9a 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardPWcompanionAppAllowedState.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardPWcompanionAppAllowedState.ps1 @@ -1,36 +1,34 @@ function Invoke-CIPPStandardPWcompanionAppAllowedState { <# .FUNCTIONALITY - Internal - .APINAME - PWcompanionAppAllowedState - .CAT - Entra (AAD) Standards - .TAG - "lowimpact" - .HELPTEXT - Sets the state of Authenticator Lite, Authenticator lite is a companion app for passwordless authentication. - .DOCSDESCRIPTION - Sets the Authenticator Lite state to enabled. This allows users to use the Authenticator Lite built into the Outlook app instead of the full Authenticator app. - .ADDEDCOMPONENT - {"type":"Select","label":"Select value","name":"standards.PWcompanionAppAllowedState.state","values":[{"label":"Enabled","value":"enabled"},{"label":"Disabled","value":"disabled"}]} - .LABEL - Set Authenticator Lite state - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Update-MgBetaPolicyAuthenticationMethodPolicyAuthenticationMethodConfiguration - .RECOMMENDEDBY - .DOCSDESCRIPTION - Sets the state of Authenticator Lite, Authenticator lite is a companion app for passwordless authentication. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) PWcompanionAppAllowedState + .SYNOPSIS + (Label) Set Authenticator Lite state + .DESCRIPTION + (Helptext) Sets the state of Authenticator Lite, Authenticator lite is a companion app for passwordless authentication. + (DocsDescription) Sets the Authenticator Lite state to enabled. This allows users to use the Authenticator Lite built into the Outlook app instead of the full Authenticator app. + .NOTES + CAT + Entra (AAD) Standards + TAG + "lowimpact" + ADDEDCOMPONENT + {"type":"Select","label":"Select value","name":"standards.PWcompanionAppAllowedState.state","values":[{"label":"Enabled","value":"enabled"},{"label":"Disabled","value":"disabled"}]} + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Update-MgBetaPolicyAuthenticationMethodPolicyAuthenticationMethodConfiguration + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'PWcompanionAppAllowedState' $authenticatorFeaturesState = (New-GraphGetRequest -tenantid $tenant -Uri 'https://graph.microsoft.com/beta/policies/authenticationMethodsPolicy/authenticationMethodConfigurations/microsoftAuthenticator' -Type GET) $authstate = if ($authenticatorFeaturesState.featureSettings.companionAppAllowedState.state -eq 'enabled') { $true } else { $false } @@ -85,7 +83,3 @@ function Invoke-CIPPStandardPWcompanionAppAllowedState { } } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardPWdisplayAppInformationRequiredState.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardPWdisplayAppInformationRequiredState.ps1 index 83b2b276195e..57eac0a60f0d 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardPWdisplayAppInformationRequiredState.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardPWdisplayAppInformationRequiredState.ps1 @@ -1,37 +1,36 @@ function Invoke-CIPPStandardPWdisplayAppInformationRequiredState { <# .FUNCTIONALITY - Internal - .APINAME - PWdisplayAppInformationRequiredState - .CAT - Entra (AAD) Standards - .TAG - "lowimpact" - "CIS" - .HELPTEXT - Enables the MS authenticator app to display information about the app that is requesting authentication. This displays the application name. - .DOCSDESCRIPTION - Allows users to use Passwordless with Number Matching and adds location information from the last request - .ADDEDCOMPONENT - .LABEL - Enable Passwordless with Location information and Number Matching - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Update-MgBetaPolicyAuthenticationMethodPolicyAuthenticationMethodConfiguration - .RECOMMENDEDBY - "CIS" - .DOCSDESCRIPTION - Enables the MS authenticator app to display information about the app that is requesting authentication. This displays the application name. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) PWdisplayAppInformationRequiredState + .SYNOPSIS + (Label) Enable Passwordless with Location information and Number Matching + .DESCRIPTION + (Helptext) Enables the MS authenticator app to display information about the app that is requesting authentication. This displays the application name. + (DocsDescription) Allows users to use Passwordless with Number Matching and adds location information from the last request + .NOTES + CAT + Entra (AAD) Standards + TAG + "lowimpact" + "CIS" + ADDEDCOMPONENT + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Update-MgBetaPolicyAuthenticationMethodPolicyAuthenticationMethodConfiguration + RECOMMENDEDBY + "CIS" + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'PWdisplayAppInformationRequiredState' + $CurrentInfo = New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/policies/authenticationMethodsPolicy/authenticationMethodConfigurations/microsoftAuthenticator' -tenantid $Tenant $State = if ($CurrentInfo.state -eq 'enabled') { $true } else { $false } @@ -55,7 +54,3 @@ function Invoke-CIPPStandardPWdisplayAppInformationRequiredState { Add-CIPPBPAField -FieldName 'PWdisplayAppInformationRequiredState' -FieldValue $State -StoreAs bool -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardPasswordExpireDisabled.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardPasswordExpireDisabled.ps1 index c4b2bff28cd7..cf62c6c9ed55 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardPasswordExpireDisabled.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardPasswordExpireDisabled.ps1 @@ -1,38 +1,37 @@ function Invoke-CIPPStandardPasswordExpireDisabled { <# .FUNCTIONALITY - Internal - .APINAME - PasswordExpireDisabled - .CAT - Entra (AAD) Standards - .TAG - "lowimpact" - "CIS" - "PWAgePolicyNew" - .HELPTEXT - Disables the expiration of passwords for the tenant by setting the password expiration policy to never expire for any user. - .DOCSDESCRIPTION - Sets passwords to never expire for tenant, recommended to use in conjunction with secure password requirements. - .ADDEDCOMPONENT - .LABEL - Do not expire passwords - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Update-MgDomain - .RECOMMENDEDBY - "CIS" - .DOCSDESCRIPTION - Disables the expiration of passwords for the tenant by setting the password expiration policy to never expire for any user. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) PasswordExpireDisabled + .SYNOPSIS + (Label) Do not expire passwords + .DESCRIPTION + (Helptext) Disables the expiration of passwords for the tenant by setting the password expiration policy to never expire for any user. + (DocsDescription) Sets passwords to never expire for tenant, recommended to use in conjunction with secure password requirements. + .NOTES + CAT + Entra (AAD) Standards + TAG + "lowimpact" + "CIS" + "PWAgePolicyNew" + ADDEDCOMPONENT + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Update-MgDomain + RECOMMENDEDBY + "CIS" + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'PasswordExpireDisabled' + $GraphRequest = New-GraphGetRequest -uri 'https://graph.microsoft.com/v1.0/domains' -tenantid $Tenant $DomainswithoutPassExpire = $GraphRequest | Where-Object -Property passwordValidityPeriodInDays -NE '2147483647' @@ -72,7 +71,3 @@ function Invoke-CIPPStandardPasswordExpireDisabled { Add-CIPPBPAField -FieldName 'PasswordExpireDisabled' -FieldValue $DomainswithoutPassExpire -StoreAs json -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardPerUserMFA.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardPerUserMFA.ps1 index 5f08753147f6..e0aa9df16f0c 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardPerUserMFA.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardPerUserMFA.ps1 @@ -1,36 +1,37 @@ function Invoke-CIPPStandardPerUserMFA { <# .FUNCTIONALITY - Internal - .APINAME - PerUserMFA - .CAT - Entra (AAD) Standards - .TAG - "highimpact" - .HELPTEXT - Enables per user MFA for all users. - .ADDEDCOMPONENT - .LABEL - Enables per user MFA for all users. - .IMPACT - High Impact - .POWERSHELLEQUIVALENT - Graph API - .RECOMMENDEDBY - .DOCSDESCRIPTION - Enables per user MFA for all users. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) PerUserMFA + .SYNOPSIS + (Label) Enables per user MFA for all users. + .DESCRIPTION + (Helptext) Enables per user MFA for all users. + (DocsDescription) Enables per user MFA for all users. + .NOTES + CAT + Entra (AAD) Standards + TAG + "highimpact" + ADDEDCOMPONENT + IMPACT + High Impact + POWERSHELLEQUIVALENT + Graph API + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'PerUserMFA' - $GraphRequest = New-GraphGetRequest -uri "https://graph.microsoft.com/beta/users?`$top=999&`$select=UserPrincipalName,accountEnabled" -scope 'https://graph.microsoft.com/.default' -tenantid $Tenant | Where-Object { $_.AccountEnabled -EQ $true } - $int = 0 + + $GraphRequest = New-GraphGetRequest -uri "https://graph.microsoft.com/beta/users?`$top=999&`$select=userPrincipalName,displayName,accountEnabled&`$filter=userType eq 'Member' and accountEnabled eq true and displayName ne 'On-Premises Directory Synchronization Service Account'&`$count=true" -tenantid $Tenant -ComplexFilter + $int = 0 $Requests = foreach ($id in $GraphRequest.userPrincipalName) { @{ id = $int++ @@ -38,12 +39,16 @@ function Invoke-CIPPStandardPerUserMFA { url = "/users/$id/authentication/requirements" } } - $UsersWithoutMFA = (New-GraphBulkRequest -tenantid $tenant -scope 'https://graph.microsoft.com/.default' -Requests @($Requests) -asapp $true).body | Where-Object { $_.perUserMfaState -ne 'enforced' } | Select-Object peruserMFAState, @{Name = 'UserPrincipalName'; Expression = { [System.Web.HttpUtility]::UrlDecode($_.'@odata.context'.split("'")[1]) } } - + if ($Requests) { + $UsersWithoutMFA = (New-GraphBulkRequest -tenantid $tenant -Requests @($Requests) -asapp $true).body | Where-Object { $_.perUserMfaState -ne 'enforced' } | Select-Object peruserMFAState, @{Name = 'userPrincipalName'; Expression = { [System.Web.HttpUtility]::UrlDecode($_.'@odata.context'.split("'")[1]) } } + } else { + $UsersWithoutMFA = @() + } + If ($Settings.remediate -eq $true) { - if ($UsersWithoutMFA) { + if (($UsersWithoutMFA | Measure-Object).Count -gt 0) { try { - $MFAMessage = Set-CIPPPeruserMFA -TenantFilter $Tenant -UserId $UsersWithoutMFA.UserPrincipalName -State 'enforced' + $MFAMessage = Set-CIPPPerUserMFA -TenantFilter $Tenant -userId @($UsersWithoutMFA.userPrincipalName) -State 'enforced' Write-LogMessage -API 'Standards' -tenant $tenant -message $MFAMessage -sev Info } catch { $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message @@ -52,9 +57,8 @@ function Invoke-CIPPStandardPerUserMFA { } } if ($Settings.alert -eq $true) { - - if ($UsersWithoutMFA) { - Write-LogMessage -API 'Standards' -tenant $tenant -message "The following accounts do not have Legacy MFA Enforced: $($UsersWithoutMFA.UserPrincipalName -join ', ')" -sev Alert + if (($UsersWithoutMFA.userPrincipalName | Measure-Object).Count -gt 0) { + Write-LogMessage -API 'Standards' -tenant $tenant -message "The following accounts do not have Legacy MFA Enforced: $($UsersWithoutMFA.userPrincipalName -join ', ')" -sev Alert } else { Write-LogMessage -API 'Standards' -tenant $tenant -message 'No accounts do not have legacy per user MFA Enforced' -sev Info } @@ -63,7 +67,3 @@ function Invoke-CIPPStandardPerUserMFA { Add-CIPPBPAField -FieldName 'LegacyMFAUsers' -FieldValue $UsersWithoutMFA -StoreAs json -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardPhishProtection.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardPhishProtection.ps1 index 1ed18b3104f5..e07f2e3c4dcf 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardPhishProtection.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardPhishProtection.ps1 @@ -1,36 +1,37 @@ function Invoke-CIPPStandardPhishProtection { <# .FUNCTIONALITY - Internal - .APINAME - PhishProtection - .CAT - Global Standards - .TAG - "lowimpact" - .HELPTEXT - Adds branding to the logon page that only appears if the url is not login.microsoftonline.com. This potentially prevents AITM attacks via EvilNginx. This will also automatically generate alerts if a clone of your login page has been found when set to Remediate. - .ADDEDCOMPONENT - .LABEL - Enable Phishing Protection system via branding CSS - .IMPACT - Low Impact - .DISABLEDFEATURES - - .POWERSHELLEQUIVALENT - Portal only - .RECOMMENDEDBY - "CIPP" - .DOCSDESCRIPTION - Adds branding to the logon page that only appears if the url is not login.microsoftonline.com. This potentially prevents AITM attacks via EvilNginx. This will also automatically generate alerts if a clone of your login page has been found when set to Remediate. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block - #> - - + Internal + .COMPONENT + (APIName) PhishProtection + .SYNOPSIS + (Label) Enable Phishing Protection system via branding CSS + .DESCRIPTION + (Helptext) Adds branding to the logon page that only appears if the url is not login.microsoftonline.com. This potentially prevents AITM attacks via EvilNginx. This will also automatically generate alerts if a clone of your login page has been found when set to Remediate. + (DocsDescription) Adds branding to the logon page that only appears if the url is not login.microsoftonline.com. This potentially prevents AITM attacks via EvilNginx. This will also automatically generate alerts if a clone of your login page has been found when set to Remediate. + .NOTES + CAT + Global Standards + TAG + "lowimpact" + ADDEDCOMPONENT + IMPACT + Low Impact + DISABLEDFEATURES + POWERSHELLEQUIVALENT + Portal only + RECOMMENDEDBY + "CIPP" + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards + #> param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'PhishProtection' + $TenantId = Get-Tenants | Where-Object -Property defaultDomainName -EQ $tenant try { @@ -40,7 +41,7 @@ function Invoke-CIPPStandardPhishProtection { } $CSS = @" .ext-sign-in-box { - background-image: url($($Settings.URL)/api/PublicPhishingCheck?Tenantid=$($tenant)); + background-image: url(https://clone.cipp.app/api/PublicPhishingCheck?Tenantid=$($tenant)&URL=$($Settings.URL)); } "@ If ($Settings.remediate -eq $true) { @@ -83,7 +84,3 @@ function Invoke-CIPPStandardPhishProtection { Add-CIPPBPAField -FieldName 'PhishProtection' -FieldValue $authstate -StoreAs bool -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardQuarantineRequestAlert.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardQuarantineRequestAlert.ps1 new file mode 100644 index 000000000000..9dba79606f3f --- /dev/null +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardQuarantineRequestAlert.ps1 @@ -0,0 +1,91 @@ +function Invoke-CIPPStandardQuarantineRequestAlert { + <# + .FUNCTIONALITY + Internal + .COMPONENT + (APIName) QuarantineRequestAlert + .SYNOPSIS + (Label) Quarantine Release Request Alert + .DESCRIPTION + (Helptext) Sets a e-mail address to alert when a User requests to release a quarantined message. + (DocsDescription) Sets a e-mail address to alert when a User requests to release a quarantined message. This is useful for monitoring and ensuring that the correct messages are released. + .NOTES + CAT + Defender Standards + TAG + "lowimpact" + ADDEDCOMPONENT + {"type":"input","name":"standards.QuarantineRequestAlert.NotifyUser","label":"E-mail to receive the alert"} + IMPACT + Low Impact + POWERSHELLEQUIVALENT + New-ProtectionAlert and Set-ProtectionAlert + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards + #> + + param ($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'QuarantineRequestAlert' + + $PolicyName = 'CIPP User requested to release a quarantined message' + + $CurrentState = New-ExoRequest -TenantId $Tenant -cmdlet 'Get-ProtectionAlert' -Compliance | + Where-Object { $_.Name -eq $PolicyName } | + Select-Object -Property * + + $StateIsCorrect = ($CurrentState.NotifyUser -contains $Settings.NotifyUser) + + if ($Settings.remediate -eq $true) { + if ($StateIsCorrect -eq $true) { + Write-LogMessage -API 'Standards' -Tenant $Tenant -Message 'Quarantine Request Alert is configured correctly' -sev Info + } else { + $cmdparams = @{ + 'NotifyUser' = $Settings.NotifyUser + 'Category' = 'ThreatManagement' + 'Operation' = 'QuarantineRequestReleaseMessage' + 'Severity' = 'Informational' + 'AggregationType' = 'None' + } + + if ($CurrentState.Name -eq $PolicyName) { + try { + $cmdparams += @{ + 'Identity' = $PolicyName + } + New-ExoRequest -TenantId $Tenant -cmdlet 'Set-ProtectionAlert' -Compliance -cmdparams $cmdparams -UseSystemMailbox $true + Write-LogMessage -API 'Standards' -Tenant $Tenant -Message 'Successfully configured Quarantine Request Alert' -sev Info + } catch { + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + Write-LogMessage -API 'Standards' -Tenant $Tenant -Message "Failed to configure Quarantine Request Alert. Error: $ErrorMessage" -sev Error + } + } else { + try { + $cmdparams += @{ + 'Name' = $PolicyName + 'ThreatType' = 'Activity' + } + New-ExoRequest -TenantId $Tenant -cmdlet 'New-ProtectionAlert' -Compliance -cmdparams $cmdparams -UseSystemMailbox $true + Write-LogMessage -API 'Standards' -Tenant $Tenant -Message 'Successfully created Quarantine Request Alert' -sev Info + } catch { + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + Write-LogMessage -API 'Standards' -Tenant $Tenant -Message "Failed to create Quarantine Request Alert. Error: $ErrorMessage" -sev Error + } + } + } + } + + if ($Settings.alert -eq $true) { + if ($StateIsCorrect -eq $true) { + Write-LogMessage -API 'Standards' -Tenant $Tenant -Message 'Quarantine Request Alert is enabled' -sev Info + } else { + Write-LogMessage -API 'Standards' -Tenant $Tenant -Message 'Quarantine Request Alert is disabled' -sev Info + } + } + + if ($Settings.report -eq $true) { + Add-CIPPBPAField -FieldName 'QuarantineRequestAlert' -FieldValue $StateIsCorrect -StoreAs bool -Tenant $Tenant + } +} diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardRotateDKIM.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardRotateDKIM.ps1 index 135d55c06641..e5e04e8e136a 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardRotateDKIM.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardRotateDKIM.ps1 @@ -1,35 +1,36 @@ function Invoke-CIPPStandardRotateDKIM { <# .FUNCTIONALITY - Internal - .APINAME - RotateDKIM - .CAT - Exchange Standards - .TAG - "lowimpact" - "CIS" - .HELPTEXT - Rotate DKIM keys that are 1024 bit to 2048 bit - .ADDEDCOMPONENT - .LABEL - Rotate DKIM keys that are 1024 bit to 2048 bit - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Rotate-DkimSigningConfig - .RECOMMENDEDBY - "CIS" - .DOCSDESCRIPTION - Rotate DKIM keys that are 1024 bit to 2048 bit - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) RotateDKIM + .SYNOPSIS + (Label) Rotate DKIM keys that are 1024 bit to 2048 bit + .DESCRIPTION + (Helptext) Rotate DKIM keys that are 1024 bit to 2048 bit + (DocsDescription) Rotate DKIM keys that are 1024 bit to 2048 bit + .NOTES + CAT + Exchange Standards + TAG + "lowimpact" + "CIS" + ADDEDCOMPONENT + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Rotate-DkimSigningConfig + RECOMMENDEDBY + "CIS" + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'RotateDKIM' + $DKIM = (New-ExoRequest -tenantid $tenant -cmdlet 'Get-DkimSigningConfig') | Where-Object { $_.Selector1KeySize -Eq 1024 -and $_.Enabled -eq $true } If ($Settings.remediate -eq $true) { @@ -62,7 +63,3 @@ function Invoke-CIPPStandardRotateDKIM { Add-CIPPBPAField -FieldName 'DKIM' -FieldValue $DKIM -StoreAs json -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSPAzureB2B.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSPAzureB2B.ps1 index 940bad58b135..0531386edce1 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSPAzureB2B.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSPAzureB2B.ps1 @@ -5,7 +5,7 @@ function Invoke-CIPPStandardSPAzureB2B { .COMPONENT (APIName) SPAzureB2B .SYNOPSIS - Enable SharePoint and OneDrive integration with Azure AD B2B + (Label) Enable SharePoint and OneDrive integration with Azure AD B2B .DESCRIPTION (Helptext) Ensure SharePoint and OneDrive integration with Azure AD B2B is enabled (DocsDescription) Ensure SharePoint and OneDrive integration with Azure AD B2B is enabled @@ -16,27 +16,29 @@ function Invoke-CIPPStandardSPAzureB2B { "lowimpact" "CIS" ADDEDCOMPONENT - LABEL - Enable SharePoint and OneDrive integration with Azure AD B2B IMPACT Low Impact POWERSHELLEQUIVALENT - Set-SPOTenant -EnableAzureADB2BIntegration $true + Set-SPOTenant -EnableAzureADB2BIntegration \$true RECOMMENDEDBY "CIS 3.0" UPDATECOMMENTBLOCK Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'SPAzureB2B' + $CurrentState = Get-CIPPSPOTenant -TenantFilter $Tenant | - Select-Object -Property EnableAzureADB2BIntegration + Select-Object -Property EnableAzureADB2BIntegration $StateIsCorrect = ($CurrentState.EnableAzureADB2BIntegration -eq $true) if ($Settings.remediate -eq $true) { if ($StateIsCorrect -eq $true) { - Write-LogMessage -API 'Standards' -Message 'SharePoint Azure B2B is already enabled' -Sev Info + Write-LogMessage -API 'Standards' -Tenant $Tenant -Message 'SharePoint Azure B2B is already enabled' -Sev Info } else { $Properties = @{ EnableAzureADB2BIntegration = $true @@ -44,19 +46,19 @@ function Invoke-CIPPStandardSPAzureB2B { try { Get-CIPPSPOTenant -TenantFilter $Tenant | Set-CIPPSPOTenant -Properties $Properties - Write-LogMessage -API 'Standards' -Message 'Successfully set the SharePoint Azure B2B to enabled' -Sev Info + Write-LogMessage -API 'Standards' -Tenant $Tenant -Message 'Successfully set the SharePoint Azure B2B to enabled' -Sev Info } catch { $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message - Write-LogMessage -API 'Standards' -Message "Failed to set the SharePoint Azure B2B to enabled. Error: $ErrorMessage" -Sev Error + Write-LogMessage -API 'Standards' -Tenant $Tenant -Message "Failed to set the SharePoint Azure B2B to enabled. Error: $ErrorMessage" -Sev Error } } } if ($Settings.alert -eq $true) { if ($StateIsCorrect -eq $true) { - Write-LogMessage -API 'Standards' -Message 'SharePoint Azure B2B is enabled' -Sev Info + Write-LogMessage -API 'Standards' -Tenant $Tenant -Message 'SharePoint Azure B2B is enabled' -Sev Info } else { - Write-LogMessage -API 'Standards' -Message 'SharePoint Azure B2B is not enabled' -Sev Alert + Write-LogMessage -API 'Standards' -Tenant $Tenant -Message 'SharePoint Azure B2B is not enabled' -Sev Alert } } diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSPDirectSharing.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSPDirectSharing.ps1 index 9cfaf3c10317..e27cc33a94ee 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSPDirectSharing.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSPDirectSharing.ps1 @@ -5,7 +5,7 @@ function Invoke-CIPPStandardSPDirectSharing { .COMPONENT (APIName) SPDirectSharing .SYNOPSIS - Default sharing to Direct users + (Label) Default sharing to Direct users .DESCRIPTION (Helptext) Ensure default link sharing is set to Direct in SharePoint and OneDrive (DocsDescription) Ensure default link sharing is set to Direct in SharePoint and OneDrive @@ -16,8 +16,6 @@ function Invoke-CIPPStandardSPDirectSharing { "mediumimpact" "CIS" ADDEDCOMPONENT - LABEL - Default sharing to Direct users IMPACT Medium Impact POWERSHELLEQUIVALENT @@ -26,17 +24,21 @@ function Invoke-CIPPStandardSPDirectSharing { "CIS 3.0" UPDATECOMMENTBLOCK Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'SPDirectSharing' + $CurrentState = Get-CIPPSPOTenant -TenantFilter $Tenant | - Select-Object -Property DefaultSharingLinkType + Select-Object -Property DefaultSharingLinkType - $StateIsCorrect = ($CurrentState.DefaultSharingLinkType -eq 'Direct') + $StateIsCorrect = ($CurrentState.DefaultSharingLinkType -eq 'Direct' -or $CurrentState.DefaultSharingLinkType -eq 1) if ($Settings.remediate -eq $true) { if ($StateIsCorrect -eq $true) { - Write-LogMessage -API 'Standards' -Message 'SharePoint Sharing Restriction is already enabled' -Sev Info + Write-LogMessage -API 'Standards' -Tenant $Tenant -Message 'SharePoint Sharing Restriction is already enabled' -Sev Info } else { $Properties = @{ DefaultSharingLinkType = 1 @@ -44,19 +46,19 @@ function Invoke-CIPPStandardSPDirectSharing { try { Get-CIPPSPOTenant -TenantFilter $Tenant | Set-CIPPSPOTenant -Properties $Properties - Write-LogMessage -API 'Standards' -Message 'Successfully set the SharePoint Sharing Restriction to Direct' -Sev Info + Write-LogMessage -API 'Standards' -Tenant $Tenant -Message 'Successfully set the SharePoint Sharing Restriction to Direct' -Sev Info } catch { $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message - Write-LogMessage -API 'Standards' -Message "Failed to set the SharePoint Sharing Restriction to Direct. Error: $ErrorMessage" -Sev Error + Write-LogMessage -API 'Standards' -Tenant $Tenant -Message "Failed to set the SharePoint Sharing Restriction to Direct. Error: $ErrorMessage" -Sev Error } } } if ($Settings.alert -eq $true) { if ($StateIsCorrect -eq $true) { - Write-LogMessage -API 'Standards' -Message 'SharePoint Sharing Restriction is enabled' -Sev Info + Write-LogMessage -API 'Standards' -Tenant $Tenant -Message 'SharePoint Sharing Restriction is enabled' -Sev Info } else { - Write-LogMessage -API 'Standards' -Message 'SharePoint Sharing Restriction is not enabled' -Sev Alert + Write-LogMessage -API 'Standards' -Tenant $Tenant -Message 'SharePoint Sharing Restriction is not enabled' -Sev Alert } } diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSPDisableLegacyWorkflows.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSPDisableLegacyWorkflows.ps1 new file mode 100644 index 000000000000..b499216b3bf6 --- /dev/null +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSPDisableLegacyWorkflows.ps1 @@ -0,0 +1,69 @@ +function Invoke-CIPPStandardSPDisableLegacyWorkflows { + <# + .FUNCTIONALITY + Internal + .COMPONENT + (APIName) SPDisableLegacyWorkflows + .SYNOPSIS + (Label) Disable Legacy Workflows + .DESCRIPTION + (Helptext) Disables the creation of new SharePoint 2010 and 2013 classic workflows and removes the 'Return to classic SharePoint' link on modern SharePoint list and library pages. + (DocsDescription) Disables the creation of new SharePoint 2010 and 2013 classic workflows and removes the 'Return to classic SharePoint' link on modern SharePoint list and library pages. + .NOTES + CAT + SharePoint Standards + TAG + "lowimpact" + ADDEDCOMPONENT + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Set-SPOTenant -DisableWorkflow2010 \$true -DisableWorkflow2013 \$true -DisableBackToClassic \$true + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards + #> + param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'SPDisableLegacyWorkflows' + + $CurrentState = Get-CIPPSPOTenant -TenantFilter $Tenant | + Select-Object -Property * + + $StateIsCorrect = ($CurrentState.StopNew2010Workflows -eq $true) -and + ($CurrentState.StopNew2013Workflows -eq $true) -and + ($CurrentState.DisableBackToClassic -eq $true) + + if ($Settings.remediate -eq $true) { + if ($StateIsCorrect -eq $true) { + Write-LogMessage -API 'Standards' -Tenant $Tenant -Message 'Legacy Workflows are already disabled.' -Sev Info + } else { + $Properties = @{ + StopNew2010Workflows = $true + StopNew2013Workflows = $true + DisableBackToClassic = $true + } + + try { + Get-CIPPSPOTenant -TenantFilter $Tenant | Set-CIPPSPOTenant -Properties $Properties + Write-LogMessage -API 'Standards' -Tenant $Tenant -Message 'Successfully disabled Legacy Workflows' -Sev Info + } catch { + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + Write-LogMessage -API 'Standards' -Tenant $Tenant -Message "Failed to disable Legacy Workflows. Error: $ErrorMessage" -Sev Error + } + } + } + + if ($Settings.alert -eq $true) { + if ($StateIsCorrect -eq $true) { + Write-LogMessage -API 'Standards' -Tenant $Tenant -Message 'Legacy Workflows are disabled' -Sev Info + } else { + Write-LogMessage -API 'Standards' -Tenant $Tenant -Message 'Legacy Workflows are enabled' -Sev Info + } + } + + if ($Settings.report -eq $true) { + Add-CIPPBPAField -FieldName 'SPDisableLegacyWorkflows' -FieldValue $StateIsCorrect -StoreAs bool -Tenant $Tenant + } +} diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSPDisallowInfectedFiles.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSPDisallowInfectedFiles.ps1 index 42f3498e4a3e..383f77ae20d0 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSPDisallowInfectedFiles.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSPDisallowInfectedFiles.ps1 @@ -5,7 +5,7 @@ function Invoke-CIPPStandardSPDisallowInfectedFiles { .COMPONENT (APIName) SPDisallowInfectedFiles .SYNOPSIS - Disallow downloading infected files from SharePoint + (Label) Disallow downloading infected files from SharePoint .DESCRIPTION (Helptext) Ensure Office 365 SharePoint infected files are disallowed for download (DocsDescription) Ensure Office 365 SharePoint infected files are disallowed for download @@ -16,27 +16,29 @@ function Invoke-CIPPStandardSPDisallowInfectedFiles { "lowimpact" "CIS" ADDEDCOMPONENT - LABEL - Disallow downloading infected files from SharePoint IMPACT Low Impact POWERSHELLEQUIVALENT - Set-SPOTenant -DisallowInfectedFileDownload $true + Set-SPOTenant -DisallowInfectedFileDownload \$true RECOMMENDEDBY "CIS 3.0" UPDATECOMMENTBLOCK Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'SPDisallowInfectedFiles' + $CurrentState = Get-CIPPSPOTenant -TenantFilter $Tenant | - Select-Object -Property DisallowInfectedFileDownload + Select-Object -Property DisallowInfectedFileDownload $StateIsCorrect = ($CurrentState.DisallowInfectedFileDownload -eq $true) if ($Settings.remediate -eq $true) { if ($StateIsCorrect -eq $true) { - Write-LogMessage -API 'Standards' -Message 'Downloading Sharepoint infected files are already disallowed.' -Sev Info + Write-LogMessage -API 'Standards' -tenant $tenant -Message 'Downloading Sharepoint infected files are already disallowed.' -Sev Info } else { $Properties = @{ DisallowInfectedFileDownload = $true @@ -44,19 +46,19 @@ function Invoke-CIPPStandardSPDisallowInfectedFiles { try { Get-CIPPSPOTenant -TenantFilter $Tenant | Set-CIPPSPOTenant -Properties $Properties - Write-LogMessage -API 'Standards' -Message 'Successfully disallowed downloading SharePoint infected files.' -Sev Info + Write-LogMessage -API 'Standards' -tenant $tenant -Message 'Successfully disallowed downloading SharePoint infected files.' -Sev Info } catch { $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message - Write-LogMessage -API 'Standards' -Message "Failed to disallow downloading Sharepoint infected files. Error: $ErrorMessage" -Sev Error + Write-LogMessage -API 'Standards' -tenant $tenant -Message "Failed to disallow downloading Sharepoint infected files. Error: $ErrorMessage" -Sev Error } } } if ($Settings.alert -eq $true) { if ($StateIsCorrect -eq $true) { - Write-LogMessage -API 'Standards' -Message 'Downloading Sharepoint infected files are disallowed.' -Sev Info + Write-LogMessage -API 'Standards' -tenant $tenant -Message 'Downloading Sharepoint infected files are disallowed.' -Sev Info } else { - Write-LogMessage -API 'Standards' -Message 'Downloading Sharepoint infected files are allowed.' -Sev Alert + Write-LogMessage -API 'Standards' -tenant $tenant -Message 'Downloading Sharepoint infected files are allowed.' -Sev Alert } } diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSPEmailAttestation.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSPEmailAttestation.ps1 index 140c65607780..ded1d34833c5 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSPEmailAttestation.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSPEmailAttestation.ps1 @@ -5,7 +5,7 @@ function Invoke-CIPPStandardSPEmailAttestation { .COMPONENT (APIName) SPEmailAttestation .SYNOPSIS - Require reauthentication with verification code + (Label) Require reauthentication with verification code .DESCRIPTION (Helptext) Ensure reauthentication with verification code is restricted (DocsDescription) Ensure reauthentication with verification code is restricted @@ -17,49 +17,51 @@ function Invoke-CIPPStandardSPEmailAttestation { "CIS" ADDEDCOMPONENT {"type":"number","name":"standards.SPEmailAttestation.Days","label":"Require reauth every X Days (Default 15)"} - LABEL - Require reauthentication with verification code IMPACT Medium Impact POWERSHELLEQUIVALENT - Set-SPOTenant -EmailAttestationRequired $true -EmailAttestationReAuthDays 15 + Set-SPOTenant -EmailAttestationRequired \$true -EmailAttestationReAuthDays 15 RECOMMENDEDBY "CIS 3.0" UPDATECOMMENTBLOCK Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'SPEmailAttestation' + $CurrentState = Get-CIPPSPOTenant -TenantFilter $Tenant | - Select-Object -Property EmailAttestationReAuthDays, EmailAttestationRequired + Select-Object -Property EmailAttestationReAuthDays, EmailAttestationRequired $StateIsCorrect = ($CurrentState.EmailAttestationReAuthDays -eq $Settings.Days) -and ($CurrentState.EmailAttestationRequired -eq $true) if ($Settings.remediate -eq $true) { if ($StateIsCorrect -eq $true) { - Write-LogMessage -API 'Standards' -Message 'Sharepoint reauthentication with verification code is already restriction.' -Sev Info + Write-LogMessage -API 'Standards' -Tenant $Tenant -Message 'Sharepoint reauthentication with verification code is already restricted.' -Sev Info } else { $Properties = @{ EmailAttestationReAuthDays = $Settings.Days - EmailAttestationRequired = $true + EmailAttestationRequired = $true } try { Get-CIPPSPOTenant -TenantFilter $Tenant | Set-CIPPSPOTenant -Properties $Properties - Write-LogMessage -API 'Standards' -Message 'Successfully set reauthentication with verification code restriction.' -Sev Info + Write-LogMessage -API 'Standards' -Tenant $Tenant -Message 'Successfully set reauthentication with verification code restriction.' -Sev Info } catch { $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message - Write-LogMessage -API 'Standards' -Message "Failed to set reauthentication with verification code restriction. Error: $ErrorMessage" -Sev Error + Write-LogMessage -API 'Standards' -Tenant $Tenant -Message "Failed to set reauthentication with verification code restriction. Error: $ErrorMessage" -Sev Error } } } if ($Settings.alert -eq $true) { if ($StateIsCorrect -eq $true) { - Write-LogMessage -API 'Standards' -Message 'Reauthentication with verification code is restriction' -Sev Info + Write-LogMessage -API 'Standards' -Tenant $Tenant -Message 'Reauthentication with verification code is restricted.' -Sev Info } else { - Write-LogMessage -API 'Standards' -Message 'Reauthentication with verification code is not restricted' -Sev Alert + Write-LogMessage -API 'Standards' -Tenant $Tenant -Message 'Reauthentication with verification code is not restricted.' -Sev Alert } } diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSPExternalUserExpiration.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSPExternalUserExpiration.ps1 index f05818c0d120..6957bee42020 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSPExternalUserExpiration.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSPExternalUserExpiration.ps1 @@ -5,7 +5,7 @@ function Invoke-CIPPStandardSPExternalUserExpiration { .COMPONENT (APIName) SPExternalUserExpiration .SYNOPSIS - Set guest access to expire automatically + (Label) Set guest access to expire automatically .DESCRIPTION (Helptext) Ensure guest access to a site or OneDrive will expire automatically (DocsDescription) Ensure guest access to a site or OneDrive will expire automatically @@ -17,49 +17,51 @@ function Invoke-CIPPStandardSPExternalUserExpiration { "CIS" ADDEDCOMPONENT {"type":"number","name":"standards.SPExternalUserExpiration.Days","label":"Days until expiration (Default 60)"} - LABEL - Set guest access to expire automatically IMPACT Medium Impact POWERSHELLEQUIVALENT - Set-SPOTenant -ExternalUserExpireInDays 30 -ExternalUserExpirationRequired $True + Set-SPOTenant -ExternalUserExpireInDays 30 -ExternalUserExpirationRequired \$True RECOMMENDEDBY "CIS 3.0" UPDATECOMMENTBLOCK Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'SPExternalUserExpiration' + $CurrentState = Get-CIPPSPOTenant -TenantFilter $Tenant | - Select-Object -Property ExternalUserExpireInDays, ExternalUserExpirationRequired + Select-Object -Property ExternalUserExpireInDays, ExternalUserExpirationRequired $StateIsCorrect = ($CurrentState.ExternalUserExpireInDays -eq $Settings.Days) -and ($CurrentState.ExternalUserExpirationRequired -eq $true) if ($Settings.remediate -eq $true) { if ($StateIsCorrect -eq $true) { - Write-LogMessage -API 'Standards' -Message 'Sharepoint External User Expiration is already enabled.' -Sev Info + Write-LogMessage -API 'Standards' -Tenant $Tenant -Message 'Sharepoint External User Expiration is already enabled.' -Sev Info } else { $Properties = @{ - ExternalUserExpireInDays = $Settings.Days + ExternalUserExpireInDays = $Settings.Days ExternalUserExpirationRequired = $true } try { Get-CIPPSPOTenant -TenantFilter $Tenant | Set-CIPPSPOTenant -Properties $Properties - Write-LogMessage -API 'Standards' -Message 'Successfully set External User Expiration' -Sev Info + Write-LogMessage -API 'Standards' -Tenant $Tenant -Message 'Successfully set External User Expiration' -Sev Info } catch { $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message - Write-LogMessage -API 'Standards' -Message "Failed to set External User Expiration. Error: $ErrorMessage" -Sev Error + Write-LogMessage -API 'Standards' -Tenant $Tenant -Message "Failed to set External User Expiration. Error: $ErrorMessage" -Sev Error } } } if ($Settings.alert -eq $true) { if ($StateIsCorrect -eq $true) { - Write-LogMessage -API 'Standards' -Message 'External User Expiration is enabled' -Sev Info + Write-LogMessage -API 'Standards' -Tenant $Tenant -Message 'External User Expiration is enabled' -Sev Info } else { - Write-LogMessage -API 'Standards' -Message 'External User Expiration is not enabled' -Sev Alert + Write-LogMessage -API 'Standards' -Tenant $Tenant -Message 'External User Expiration is not enabled' -Sev Alert } } diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSPSyncButtonState.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSPSyncButtonState.ps1 new file mode 100644 index 000000000000..11029ff97972 --- /dev/null +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSPSyncButtonState.ps1 @@ -0,0 +1,72 @@ +function Invoke-CIPPStandardSPSyncButtonState { + <# + .FUNCTIONALITY + Internal + .COMPONENT + (APIName) SPSyncButtonState + .SYNOPSIS + (Label) Set SharePoint sync button state + .DESCRIPTION + (Helptext) If disabled, users in the tenant will no longer be able to use the Sync button to sync SharePoint content on all sites. However, existing synced content will remain functional on the user's computer. + (DocsDescription) If disabled, users in the tenant will no longer be able to use the Sync button to sync SharePoint content on all sites. However, existing synced content will remain functional on the user's computer. + .NOTES + CAT + SharePoint Standards + TAG + "mediumimpact" + ADDEDCOMPONENT + {"type":"Select","label":"SharePoint Sync Button state","name":"standards.SPSyncButtonState.state","values":[{"label":"Disabled","value":"true"},{"label":"Enabled","value":"false"}]} + IMPACT + Medium Impact + POWERSHELLEQUIVALENT + Set-SPOTenant -HideSyncButtonOnTeamSite \$true or \$false + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards + #> + + param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'SPSyncButtonState' + + $CurrentState = Get-CIPPSPOTenant -TenantFilter $Tenant | Select-Object _ObjectIdentity_, TenantFilter, HideSyncButtonOnDocLib + $WantedState = [System.Convert]::ToBoolean($Settings.state) + $StateIsCorrect = if ($CurrentState.HideSyncButtonOnDocLib -eq $WantedState) { $true } else { $false } + $HumanReadableState = if ($WantedState -eq $true) { 'disabled' } else { 'enabled' } + + if ($Settings.report -eq $true) { + Add-CIPPBPAField -FieldName 'SPSyncButtonDisabled' -FieldValue $CurrentState.HideSyncButtonOnDocLib -StoreAs bool -Tenant $Tenant + } + + # Input validation + if (([string]::IsNullOrWhiteSpace($Settings.state) -or $Settings.state -eq 'Select a value') -and ($Settings.remediate -eq $true -or $Settings.alert -eq $true)) { + Write-LogMessage -API 'Standards' -tenant $tenant -message 'SPSyncButtonState: Invalid state parameter set' -sev Error + Return + } + + if ($Settings.remediate -eq $true) { + Write-Host 'Time to remediate' + + if ($StateIsCorrect -eq $false) { + try { + $CurrentState | Set-CIPPSPOTenant -Properties @{HideSyncButtonOnDocLib = $WantedState } + Write-LogMessage -API 'Standards' -tenant $tenant -message "Successfully set the SharePoint Sync Button state to $HumanReadableState" -sev Info + } catch { + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -API 'Standards' -tenant $tenant -message "Failed to set the SharePoint Sync Button state to $HumanReadableState. Error: $($ErrorMessage.NormalizedError)" -sev Error -LogData $ErrorMessage + } + } else { + Write-LogMessage -API 'Standards' -tenant $tenant -message "The SharePoint Sync Button is already set to the wanted state of $HumanReadableState" -sev Info + } + + } + + if ($Settings.alert -eq $true) { + if ($StateIsCorrect -eq $true) { + Write-LogMessage -API 'Standards' -tenant $tenant -message "The SharePoint Sync Button is already set to the wanted state of $HumanReadableState" -sev Info + } else { + Write-LogMessage -API 'Standards' -tenant $tenant -message "The SharePoint Sync Button is not set to the wanted state of $HumanReadableState" -sev Alert + } + } +} diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSafeAttachmentPolicy.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSafeAttachmentPolicy.ps1 index dc080914f7b8..f05f04f2daa9 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSafeAttachmentPolicy.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSafeAttachmentPolicy.ps1 @@ -1,51 +1,52 @@ function Invoke-CIPPStandardSafeAttachmentPolicy { - <# - .FUNCTIONALITY - Internal - .APINAME - SafeAttachmentPolicy - .CAT - Defender Standards - .TAG - "lowimpact" - "CIS" - "mdo_safedocuments" - "mdo_commonattachmentsfilter" - "mdo_safeattachmentpolicy" - .HELPTEXT - This creates a Safe Attachment policy - .ADDEDCOMPONENT - {"type":"Select","label":"Action","name":"standards.SafeAttachmentPolicy.Action","values":[{"label":"Allow","value":"Allow"},{"label":"Block","value":"Block"},{"label":"DynamicDelivery","value":"DynamicDelivery"}]} - {"type":"Select","label":"QuarantineTag","name":"standards.SafeAttachmentPolicy.QuarantineTag","values":[{"label":"AdminOnlyAccessPolicy","value":"AdminOnlyAccessPolicy"},{"label":"DefaultFullAccessPolicy","value":"DefaultFullAccessPolicy"},{"label":"DefaultFullAccessWithNotificationPolicy","value":"DefaultFullAccessWithNotificationPolicy"}]} - {"type":"boolean","label":"Redirect","name":"standards.SafeAttachmentPolicy.Redirect"} - {"type":"input","name":"standards.SafeAttachmentPolicy.RedirectAddress","label":"Redirect Address"} - .LABEL - Default Safe Attachment Policy - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Set-SafeAttachmentPolicy or New-SafeAttachmentPolicy - .RECOMMENDEDBY - "CIS" - .DOCSDESCRIPTION - This creates a Safe Attachment policy - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block - #> - - - - + <# + .FUNCTIONALITY + Internal + .COMPONENT + (APIName) SafeAttachmentPolicy + .SYNOPSIS + (Label) Default Safe Attachment Policy + .DESCRIPTION + (Helptext) This creates a Safe Attachment policy + (DocsDescription) This creates a Safe Attachment policy + .NOTES + CAT + Defender Standards + TAG + "lowimpact" + "CIS" + "mdo_safedocuments" + "mdo_commonattachmentsfilter" + "mdo_safeattachmentpolicy" + ADDEDCOMPONENT + {"type":"Select","label":"Action","name":"standards.SafeAttachmentPolicy.Action","values":[{"label":"Allow","value":"Allow"},{"label":"Block","value":"Block"},{"label":"DynamicDelivery","value":"DynamicDelivery"}]} + {"type":"Select","label":"QuarantineTag","name":"standards.SafeAttachmentPolicy.QuarantineTag","values":[{"label":"AdminOnlyAccessPolicy","value":"AdminOnlyAccessPolicy"},{"label":"DefaultFullAccessPolicy","value":"DefaultFullAccessPolicy"},{"label":"DefaultFullAccessWithNotificationPolicy","value":"DefaultFullAccessWithNotificationPolicy"}]} + {"type":"boolean","label":"Redirect","name":"standards.SafeAttachmentPolicy.Redirect"} + {"type":"input","name":"standards.SafeAttachmentPolicy.RedirectAddress","label":"Redirect Address"} + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Set-SafeAttachmentPolicy or New-SafeAttachmentPolicy + RECOMMENDEDBY + "CIS" + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards + #> param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'SafeAttachmentPolicy' + $PolicyName = 'Default Safe Attachment Policy' $CurrentState = New-ExoRequest -tenantid $Tenant -cmdlet 'Get-SafeAttachmentPolicy' | - Where-Object -Property Name -EQ $PolicyName | - Select-Object Name, Enable, Action, QuarantineTag, Redirect, RedirectAddress + Where-Object -Property Name -EQ $PolicyName | + Select-Object Name, Enable, Action, QuarantineTag, Redirect, RedirectAddress $StateIsCorrect = ($CurrentState.Name -eq $PolicyName) -and ($CurrentState.Enable -eq $true) -and + ($CurrentState.Action -eq $Settings.Action) -and ($CurrentState.QuarantineTag -eq $Settings.QuarantineTag) -and ($CurrentState.Redirect -eq $Settings.Redirect) -and (($null -eq $Settings.RedirectAddress) -or ($CurrentState.RedirectAddress -eq $Settings.RedirectAddress)) @@ -53,8 +54,8 @@ function Invoke-CIPPStandardSafeAttachmentPolicy { $AcceptedDomains = New-ExoRequest -tenantid $Tenant -cmdlet 'Get-AcceptedDomain' $RuleState = New-ExoRequest -tenantid $Tenant -cmdlet 'Get-SafeAttachmentRule' | - Where-Object -Property Name -EQ "CIPP $PolicyName" | - Select-Object Name, SafeAttachmentPolicy, Priority, RecipientDomainIs + Where-Object -Property Name -EQ "CIPP $PolicyName" | + Select-Object Name, SafeAttachmentPolicy, Priority, RecipientDomainIs $RuleStateIsCorrect = ($RuleState.Name -eq "CIPP $PolicyName") -and ($RuleState.SafeAttachmentPolicy -eq $PolicyName) -and @@ -68,6 +69,7 @@ function Invoke-CIPPStandardSafeAttachmentPolicy { } else { $cmdparams = @{ Enable = $true + Action = $Settings.Action QuarantineTag = $Settings.QuarantineTag Redirect = $Settings.Redirect RedirectAddress = $Settings.RedirectAddress @@ -137,7 +139,3 @@ function Invoke-CIPPStandardSafeAttachmentPolicy { } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSafeLinksPolicy.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSafeLinksPolicy.ps1 index 92220f54e19c..3eded0a38efd 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSafeLinksPolicy.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSafeLinksPolicy.ps1 @@ -1,46 +1,46 @@ function Invoke-CIPPStandardSafeLinksPolicy { - <# - .FUNCTIONALITY - Internal - .APINAME - SafeLinksPolicy - .CAT - Defender Standards - .TAG - "lowimpact" - "CIS" - "mdo_safelinksforemail" - "mdo_safelinksforOfficeApps" - .HELPTEXT - This creates a safelink policy that automatically scans, tracks, and and enables safe links for Email, Office, and Teams for both external and internal senders - .ADDEDCOMPONENT - {"type":"boolean","label":"AllowClickThrough","name":"standards.SafeLinksPolicy.AllowClickThrough"} - {"type":"boolean","label":"DisableUrlRewrite","name":"standards.SafeLinksPolicy.DisableUrlRewrite"} - {"type":"boolean","label":"EnableOrganizationBranding","name":"standards.SafeLinksPolicy.EnableOrganizationBranding"} - .LABEL - Default SafeLinks Policy - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Set-SafeLinksPolicy or New-SafeLinksPolicy - .RECOMMENDEDBY - "CIS" - .DOCSDESCRIPTION - This creates a safelink policy that automatically scans, tracks, and and enables safe links for Email, Office, and Teams for both external and internal senders - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block - #> - - - - + <# + .FUNCTIONALITY + Internal + .COMPONENT + (APIName) SafeLinksPolicy + .SYNOPSIS + (Label) Default SafeLinks Policy + .DESCRIPTION + (Helptext) This creates a safelink policy that automatically scans, tracks, and and enables safe links for Email, Office, and Teams for both external and internal senders + (DocsDescription) This creates a safelink policy that automatically scans, tracks, and and enables safe links for Email, Office, and Teams for both external and internal senders + .NOTES + CAT + Defender Standards + TAG + "lowimpact" + "CIS" + "mdo_safelinksforemail" + "mdo_safelinksforOfficeApps" + ADDEDCOMPONENT + {"type":"boolean","label":"AllowClickThrough","name":"standards.SafeLinksPolicy.AllowClickThrough"} + {"type":"boolean","label":"DisableUrlRewrite","name":"standards.SafeLinksPolicy.DisableUrlRewrite"} + {"type":"boolean","label":"EnableOrganizationBranding","name":"standards.SafeLinksPolicy.EnableOrganizationBranding"} + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Set-SafeLinksPolicy or New-SafeLinksPolicy + RECOMMENDEDBY + "CIS" + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards + #> param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'SafeLinksPolicy' + $PolicyName = 'Default SafeLinks Policy' $CurrentState = New-ExoRequest -tenantid $Tenant -cmdlet 'Get-SafeLinksPolicy' | - Where-Object -Property Name -EQ $PolicyName | - Select-Object Name, EnableSafeLinksForEmail, EnableSafeLinksForTeams, EnableSafeLinksForOffice, TrackClicks, AllowClickThrough, ScanUrls, EnableForInternalSenders, DeliverMessageAfterScan, DisableUrlRewrite, EnableOrganizationBranding + Where-Object -Property Name -EQ $PolicyName | + Select-Object Name, EnableSafeLinksForEmail, EnableSafeLinksForTeams, EnableSafeLinksForOffice, TrackClicks, AllowClickThrough, ScanUrls, EnableForInternalSenders, DeliverMessageAfterScan, DisableUrlRewrite, EnableOrganizationBranding $StateIsCorrect = ($CurrentState.Name -eq $PolicyName) -and ($CurrentState.EnableSafeLinksForEmail -eq $true) -and @@ -57,8 +57,8 @@ function Invoke-CIPPStandardSafeLinksPolicy { $AcceptedDomains = New-ExoRequest -tenantid $Tenant -cmdlet 'Get-AcceptedDomain' $RuleState = New-ExoRequest -tenantid $Tenant -cmdlet 'Get-SafeLinksRule' | - Where-Object -Property Name -EQ "CIPP $PolicyName" | - Select-Object Name, SafeLinksPolicy, Priority, RecipientDomainIs + Where-Object -Property Name -EQ "CIPP $PolicyName" | + Select-Object Name, SafeLinksPolicy, Priority, RecipientDomainIs $RuleStateIsCorrect = ($RuleState.Name -eq "CIPP $PolicyName") -and ($RuleState.SafeLinksPolicy -eq $PolicyName) -and @@ -147,7 +147,3 @@ function Invoke-CIPPStandardSafeLinksPolicy { } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSafeSendersDisable.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSafeSendersDisable.ps1 index de39be25829d..fd70ad3b2f77 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSafeSendersDisable.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSafeSendersDisable.ps1 @@ -1,35 +1,35 @@ function Invoke-CIPPStandardSafeSendersDisable { <# .FUNCTIONALITY - Internal - .APINAME - SafeSendersDisable - .CAT - Exchange Standards - .TAG - "mediumimpact" - .HELPTEXT - Loops through all users and removes the Safe Senders list. This is to prevent SPF bypass attacks, as the Safe Senders list is not checked by SPF. - .ADDEDCOMPONENT - .DISABLEDFEATURES - - .LABEL - Remove Safe Senders to prevent SPF bypass - .IMPACT - Medium Impact - .POWERSHELLEQUIVALENT - Set-MailboxJunkEmailConfiguration - .RECOMMENDEDBY - .DOCSDESCRIPTION - Loops through all users and removes the Safe Senders list. This is to prevent SPF bypass attacks, as the Safe Senders list is not checked by SPF. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block - #> - - + Internal + .COMPONENT + (APIName) SafeSendersDisable + .SYNOPSIS + (Label) Remove Safe Senders to prevent SPF bypass + .DESCRIPTION + (Helptext) Loops through all users and removes the Safe Senders list. This is to prevent SPF bypass attacks, as the Safe Senders list is not checked by SPF. + (DocsDescription) Loops through all users and removes the Safe Senders list. This is to prevent SPF bypass attacks, as the Safe Senders list is not checked by SPF. + .NOTES + CAT + Exchange Standards + TAG + "mediumimpact" + ADDEDCOMPONENT + DISABLEDFEATURES + IMPACT + Medium Impact + POWERSHELLEQUIVALENT + Set-MailboxJunkEmailConfiguration + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards + #> param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'SafeSendersDisable' If ($Settings.remediate -eq $true) { try { @@ -62,7 +62,3 @@ function Invoke-CIPPStandardSafeSendersDisable { } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSecurityDefaults.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSecurityDefaults.ps1 index d563d8c1fd4e..916e42043fa7 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSecurityDefaults.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSecurityDefaults.ps1 @@ -1,35 +1,34 @@ function Invoke-CIPPStandardSecurityDefaults { <# .FUNCTIONALITY - Internal - .APINAME - SecurityDefaults - .CAT - Entra (AAD) Standards - .TAG - "highimpact" - .HELPTEXT - Enables security defaults for the tenant, for newer tenants this is enabled by default. Do not enable this feature if you use Conditional Access. - .DOCSDESCRIPTION - Enables SD for the tenant, which disables all forms of basic authentication and enforces users to configure MFA. Users are only prompted for MFA when a logon is considered 'suspect' by Microsoft. - .ADDEDCOMPONENT - .LABEL - Enable Security Defaults - .IMPACT - High Impact - .POWERSHELLEQUIVALENT - [Read more here](https://www.cyberdrain.com/automating-with-powershell-enabling-secure-defaults-and-sd-explained/) - .RECOMMENDEDBY - .DOCSDESCRIPTION - Enables security defaults for the tenant, for newer tenants this is enabled by default. Do not enable this feature if you use Conditional Access. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) SecurityDefaults + .SYNOPSIS + (Label) Enable Security Defaults + .DESCRIPTION + (Helptext) Enables security defaults for the tenant, for newer tenants this is enabled by default. Do not enable this feature if you use Conditional Access. + (DocsDescription) Enables SD for the tenant, which disables all forms of basic authentication and enforces users to configure MFA. Users are only prompted for MFA when a logon is considered 'suspect' by Microsoft. + .NOTES + CAT + Entra (AAD) Standards + TAG + "highimpact" + ADDEDCOMPONENT + IMPACT + High Impact + POWERSHELLEQUIVALENT + [Read more here](https://www.cyberdrain.com/automating-with-powershell-enabling-secure-defaults-and-sd-explained/) + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'SecurityDefaults' + $SecureDefaultsState = (New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/policies/identitySecurityDefaultsEnforcementPolicy' -tenantid $tenant) If ($Settings.remediate -eq $true) { @@ -62,7 +61,3 @@ function Invoke-CIPPStandardSecurityDefaults { Add-CIPPBPAField -FieldName 'SecurityDefaults' -FieldValue $SecureDefaultsState.IsEnabled -StoreAs bool -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSendFromAlias.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSendFromAlias.ps1 index 14b551316e11..051d46d2a0cb 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSendFromAlias.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSendFromAlias.ps1 @@ -1,35 +1,34 @@ function Invoke-CIPPStandardSendFromAlias { <# .FUNCTIONALITY - Internal - .APINAME - SendFromAlias - .CAT - Exchange Standards - .TAG - "mediumimpact" - .HELPTEXT - Enables the ability for users to send from their alias addresses. - .DOCSDESCRIPTION - Allows users to change the 'from' address to any set in their Azure AD Profile. - .ADDEDCOMPONENT - .LABEL - Allow users to send from their alias addresses - .IMPACT - Medium Impact - .POWERSHELLEQUIVALENT - Set-Mailbox - .RECOMMENDEDBY - .DOCSDESCRIPTION - Enables the ability for users to send from their alias addresses. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) SendFromAlias + .SYNOPSIS + (Label) Allow users to send from their alias addresses + .DESCRIPTION + (Helptext) Enables the ability for users to send from their alias addresses. + (DocsDescription) Allows users to change the 'from' address to any set in their Azure AD Profile. + .NOTES + CAT + Exchange Standards + TAG + "mediumimpact" + ADDEDCOMPONENT + IMPACT + Medium Impact + POWERSHELLEQUIVALENT + Set-Mailbox + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'SendFromAlias' + $CurrentInfo = (New-ExoRequest -tenantid $Tenant -cmdlet 'Get-OrganizationConfig').SendFromAliasEnabled If ($Settings.remediate -eq $true) { @@ -59,7 +58,3 @@ function Invoke-CIPPStandardSendFromAlias { Add-CIPPBPAField -FieldName 'SendFromAlias' -FieldValue $CurrentInfo -StoreAs bool -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSendReceiveLimitTenant.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSendReceiveLimitTenant.ps1 index a9ba445828ed..a0997a9869da 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSendReceiveLimitTenant.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSendReceiveLimitTenant.ps1 @@ -1,44 +1,44 @@ function Invoke-CIPPStandardSendReceiveLimitTenant { <# .FUNCTIONALITY - Internal - .APINAME - SendReceiveLimitTenant - .CAT - Exchange Standards - .TAG - "lowimpact" - .HELPTEXT - Sets the Send and Receive limits for new users. Valid values are 1MB to 150MB - .ADDEDCOMPONENT - {"type":"number","name":"standards.SendReceiveLimitTenant.SendLimit","label":"Send limit in MB (Default is 35)","default":35} - {"type":"number","name":"standards.SendReceiveLimitTenant.ReceiveLimit","label":"Receive Limit in MB (Default is 36)","default":36} - .LABEL - Set send/receive size limits - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Set-MailboxPlan - .RECOMMENDEDBY - .DOCSDESCRIPTION - Sets the Send and Receive limits for new users. Valid values are 1MB to 150MB - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) SendReceiveLimitTenant + .SYNOPSIS + (Label) Set send/receive size limits + .DESCRIPTION + (Helptext) Sets the Send and Receive limits for new users. Valid values are 1MB to 150MB + (DocsDescription) Sets the Send and Receive limits for new users. Valid values are 1MB to 150MB + .NOTES + CAT + Exchange Standards + TAG + "lowimpact" + ADDEDCOMPONENT + {"type":"number","name":"standards.SendReceiveLimitTenant.SendLimit","label":"Send limit in MB (Default is 35)","default":35} + {"type":"number","name":"standards.SendReceiveLimitTenant.ReceiveLimit","label":"Receive Limit in MB (Default is 36)","default":36} + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Set-MailboxPlan + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'SendReceiveLimitTenant' # Input validation - if ($Settings.SendLimit -lt 1 -or $Settings.SendLimit -gt 150) { + if ([Int32]$Settings.SendLimit -lt 1 -or [Int32]$Settings.SendLimit -gt 150) { Write-LogMessage -API 'Standards' -tenant $tenant -message 'SendReceiveLimitTenant: Invalid SendLimit parameter set' -sev Error Return } # Input validation - if ($Settings.ReceiveLimit -lt 1 -or $Settings.ReceiveLimit -gt 150) { + if ([Int32]$Settings.ReceiveLimit -lt 1 -or [Int32]$Settings.ReceiveLimit -gt 150) { Write-LogMessage -API 'Standards' -tenant $tenant -message 'SendReceiveLimitTenant: Invalid ReceiveLimit parameter set' -sev Error Return } @@ -88,7 +88,3 @@ function Invoke-CIPPStandardSendReceiveLimitTenant { Add-CIPPBPAField -FieldName 'SendReceiveLimit' -FieldValue $NotSetCorrectly -StoreAs json -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardShortenMeetings.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardShortenMeetings.ps1 index 3fe19fbad3c4..fdd67d8dbfa1 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardShortenMeetings.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardShortenMeetings.ps1 @@ -1,36 +1,36 @@ function Invoke-CIPPStandardShortenMeetings { <# .FUNCTIONALITY - Internal - .APINAME - ShortenMeetings - .CAT - Exchange Standards - .TAG - "mediumimpact" - .HELPTEXT - Sets the shorten meetings settings on a tenant level. This will shorten meetings by the selected amount of minutes. Valid values are 0 to 29. Short meetings are under 60 minutes, long meetings are over 60 minutes. - .ADDEDCOMPONENT - {"type":"Select","label":"Select value","name":"standards.ShortenMeetings.ShortenEventScopeDefault","values":[{"label":"Disabled/None","value":"None"},{"label":"End early","value":"EndEarly"},{"label":"Start late","value":"StartLate"}]} - {"type":"number","name":"standards.ShortenMeetings.DefaultMinutesToReduceShortEventsBy","label":"Minutes to reduce short calendar events by (Default is 5)","default":5} - {"type":"number","name":"standards.ShortenMeetings.DefaultMinutesToReduceLongEventsBy","label":"Minutes to reduce long calendar events by (Default is 10)","default":10} - .LABEL - Set shorten meetings state - .IMPACT - Medium Impact - .POWERSHELLEQUIVALENT - Set-OrganizationConfig -ShortenEventScopeDefault -DefaultMinutesToReduceShortEventsBy -DefaultMinutesToReduceLongEventsBy - .RECOMMENDEDBY - .DOCSDESCRIPTION - Sets the shorten meetings settings on a tenant level. This will shorten meetings by the selected amount of minutes. Valid values are 0 to 29. Short meetings are under 60 minutes, long meetings are over 60 minutes. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) ShortenMeetings + .SYNOPSIS + (Label) Set shorten meetings state + .DESCRIPTION + (Helptext) Sets the shorten meetings settings on a tenant level. This will shorten meetings by the selected amount of minutes. Valid values are 0 to 29. Short meetings are under 60 minutes, long meetings are over 60 minutes. + (DocsDescription) Sets the shorten meetings settings on a tenant level. This will shorten meetings by the selected amount of minutes. Valid values are 0 to 29. Short meetings are under 60 minutes, long meetings are over 60 minutes. + .NOTES + CAT + Exchange Standards + TAG + "mediumimpact" + ADDEDCOMPONENT + {"type":"Select","label":"Select value","name":"standards.ShortenMeetings.ShortenEventScopeDefault","values":[{"label":"Disabled/None","value":"None"},{"label":"End early","value":"EndEarly"},{"label":"Start late","value":"StartLate"}]} + {"type":"number","name":"standards.ShortenMeetings.DefaultMinutesToReduceShortEventsBy","label":"Minutes to reduce short calendar events by (Default is 5)","default":5} + {"type":"number","name":"standards.ShortenMeetings.DefaultMinutesToReduceLongEventsBy","label":"Minutes to reduce long calendar events by (Default is 10)","default":10} + IMPACT + Medium Impact + POWERSHELLEQUIVALENT + Set-OrganizationConfig -ShortenEventScopeDefault -DefaultMinutesToReduceShortEventsBy -DefaultMinutesToReduceLongEventsBy + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'ShortenMeetings' # Input validation if ([Int32]$Settings.DefaultMinutesToReduceShortEventsBy -lt 0 -or [Int32]$Settings.DefaultMinutesToReduceShortEventsBy -gt 29) { @@ -43,7 +43,7 @@ function Invoke-CIPPStandardShortenMeetings { } $CurrentState = New-ExoRequest -tenantid $Tenant -cmdlet 'Get-OrganizationConfig' | - Select-Object -Property ShortenEventScopeDefault, DefaultMinutesToReduceShortEventsBy, DefaultMinutesToReduceLongEventsBy + Select-Object -Property ShortenEventScopeDefault, DefaultMinutesToReduceShortEventsBy, DefaultMinutesToReduceLongEventsBy $CorrectState = if ($CurrentState.ShortenEventScopeDefault -eq $Settings.ShortenEventScopeDefault -and $CurrentState.DefaultMinutesToReduceShortEventsBy -eq $Settings.DefaultMinutesToReduceShortEventsBy -and $CurrentState.DefaultMinutesToReduceLongEventsBy -eq $Settings.DefaultMinutesToReduceLongEventsBy) { $true } else { $false } @@ -82,7 +82,3 @@ function Invoke-CIPPStandardShortenMeetings { } } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSpamFilterPolicy.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSpamFilterPolicy.ps1 new file mode 100644 index 000000000000..c2b983accdb4 --- /dev/null +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSpamFilterPolicy.ps1 @@ -0,0 +1,177 @@ +function Invoke-CIPPStandardSpamFilterPolicy { + <# + .FUNCTIONALITY + Internal + .COMPONENT + (APIName) SpamFilterPolicy + .SYNOPSIS + (Label) Default Spam Filter Policy + .DESCRIPTION + (Helptext) This standard creates a Spam filter policy similar to the default strict policy. + (DocsDescription) This standard creates a Spam filter policy similar to the default strict policy. + .NOTES + CAT + Defender Standards + TAG + "mediumimpact" + ADDEDCOMPONENT + {"type":"number","label":"Bulk email threshold (Default 7)","name":"standards.SpamFilterPolicy.BulkThreshold","default":7} + {"type":"Select","label":"Spam Action","name":"standards.SpamFilterPolicy.SpamAction","values":[{"label":"Quarantine the message","value":"Quarantine"},{"label":"Move message to Junk Email folder","value":"MoveToJmf"}]} + {"type":"Select","label":"Spam Quarantine Tag","name":"standards.SpamFilterPolicy.SpamQuarantineTag","values":[{"label":"AdminOnlyAccessPolicy","value":"AdminOnlyAccessPolicy"},{"label":"DefaultFullAccessPolicy","value":"DefaultFullAccessPolicy"},{"label":"DefaultFullAccessWithNotificationPolicy","value":"DefaultFullAccessWithNotificationPolicy"}]} + {"type":"Select","label":"High Confidence Spam Action","name":"standards.SpamFilterPolicy.HighConfidenceSpamAction","values":[{"label":"Quarantine the message","value":"Quarantine"},{"label":"Move message to Junk Email folder","value":"MoveToJmf"}]} + {"type":"Select","label":"High Confidence Spam Quarantine Tag","name":"standards.SpamFilterPolicy.HighConfidenceSpamQuarantineTag","values":[{"label":"AdminOnlyAccessPolicy","value":"AdminOnlyAccessPolicy"},{"label":"DefaultFullAccessPolicy","value":"DefaultFullAccessPolicy"},{"label":"DefaultFullAccessWithNotificationPolicy","value":"DefaultFullAccessWithNotificationPolicy"}]} + {"type":"Select","label":"Bulk Spam Action","name":"standards.SpamFilterPolicy.BulkSpamAction","values":[{"label":"Quarantine the message","value":"Quarantine"},{"label":"Move message to Junk Email folder","value":"MoveToJmf"}]} + {"type":"Select","label":"Bulk Quarantine Tag","name":"standards.SpamFilterPolicy.BulkQuarantineTag","values":[{"label":"AdminOnlyAccessPolicy","value":"AdminOnlyAccessPolicy"},{"label":"DefaultFullAccessPolicy","value":"DefaultFullAccessPolicy"},{"label":"DefaultFullAccessWithNotificationPolicy","value":"DefaultFullAccessWithNotificationPolicy"}]} + {"type":"Select","label":"Phish Spam Action","name":"standards.SpamFilterPolicy.PhishSpamAction","values":[{"label":"Quarantine the message","value":"Quarantine"},{"label":"Move message to Junk Email folder","value":"MoveToJmf"}]} + {"type":"Select","label":"Phish Quarantine Tag","name":"standards.SpamFilterPolicy.PhishQuarantineTag","values":[{"label":"AdminOnlyAccessPolicy","value":"AdminOnlyAccessPolicy"},{"label":"DefaultFullAccessPolicy","value":"DefaultFullAccessPolicy"},{"label":"DefaultFullAccessWithNotificationPolicy","value":"DefaultFullAccessWithNotificationPolicy"}]} + {"type":"Select","label":"High Confidence Phish Quarantine Tag","name":"standards.SpamFilterPolicy.HighConfidencePhishQuarantineTag","values":[{"label":"AdminOnlyAccessPolicy","value":"AdminOnlyAccessPolicy"},{"label":"DefaultFullAccessPolicy","value":"DefaultFullAccessPolicy"},{"label":"DefaultFullAccessWithNotificationPolicy","value":"DefaultFullAccessWithNotificationPolicy"}]} + IMPACT + Medium Impact + POWERSHELLEQUIVALENT + New-HostedContentFilterPolicy or Set-HostedContentFilterPolicy + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards + #> + + param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'SpamFilterPolicy' + + $PolicyName = 'CIPP Default Spam Filter Policy' + + $CurrentState = New-ExoRequest -TenantId $Tenant -cmdlet 'Get-HostedContentFilterPolicy' | + Where-Object -Property Name -EQ $PolicyName | + Select-Object -Property * + + $StateIsCorrect = ($CurrentState.Name -eq $PolicyName) -and + ($CurrentState.SpamAction -eq $Settings.SpamAction) -and + ($CurrentState.SpamQuarantineTag -eq $Settings.SpamQuarantineTag) -and + ($CurrentState.HighConfidenceSpamAction -eq $Settings.HighConfidenceSpamAction) -and + ($CurrentState.HighConfidenceSpamQuarantineTag -eq $Settings.HighConfidenceSpamQuarantineTag) -and + ($CurrentState.BulkSpamAction -eq $Settings.BulkSpamAction) -and + ($CurrentState.BulkQuarantineTag -eq $Settings.BulkQuarantineTag) -and + ($CurrentState.PhishSpamAction -eq $Settings.PhishSpamAction) -and + ($CurrentState.PhishQuarantineTag -eq $Settings.PhishQuarantineTag) -and + ($CurrentState.HighConfidencePhishAction -eq 'Quarantine') -and + ($CurrentState.HighConfidencePhishQuarantineTag -eq $Settings.HighConfidencePhishQuarantineTag) -and + ($CurrentState.BulkThreshold -eq $Settings.BulkThreshold) -and + ($CurrentState.QuarantineRetentionPeriod -eq 30) -and + ($CurrentState.IncreaseScoreWithNumericIps -eq 'On') -and + ($CurrentState.IncreaseScoreWithRedirectToOtherPort -eq 'On') -and + ($CurrentState.MarkAsSpamEmptyMessages -eq 'On') -and + ($CurrentState.MarkAsSpamJavaScriptInHtml -eq 'On') -and + ($CurrentState.MarkAsSpamSpfRecordHardFail -eq 'On') -and + ($CurrentState.MarkAsSpamFromAddressAuthFail -eq 'On') -and + ($CurrentState.MarkAsSpamNdrBackscatter -eq 'On') -and + ($CurrentState.MarkAsSpamBulkMail -eq 'On') -and + ($CurrentState.InlineSafetyTipsEnabled -eq $true) -and + ($CurrentState.PhishZapEnabled -eq $true) -and + ($CurrentState.SpamZapEnabled -eq $true) + + $AcceptedDomains = New-ExoRequest -TenantId $Tenant -cmdlet 'Get-AcceptedDomain' + + $RuleState = New-ExoRequest -TenantId $Tenant -cmdlet 'Get-HostedContentFilterRule' | + Where-Object -Property Name -EQ $PolicyName | + Select-Object -Property * + + $RuleStateIsCorrect = ($RuleState.Name -eq $PolicyName) -and + ($RuleState.HostedContentFilterPolicy -eq $PolicyName) -and + ($RuleState.Priority -eq 0) -and + (!(Compare-Object -ReferenceObject $RuleState.RecipientDomainIs -DifferenceObject $AcceptedDomains.Name)) + + if ($Settings.remediate -eq $true) { + if ($StateIsCorrect -eq $true) { + Write-LogMessage -API 'Standards' -Tenant $Tenant -message 'Spam Filter Policy already correctly configured' -sev Info + } else { + $cmdparams = @{ + SpamAction = $Settings.SpamAction + SpamQuarantineTag = $Settings.SpamQuarantineTag + HighConfidenceSpamAction = $Settings.HighConfidenceSpamAction + HighConfidenceSpamQuarantineTag = $Settings.HighConfidenceSpamQuarantineTag + BulkSpamAction = $Settings.BulkSpamAction + BulkQuarantineTag = $Settings.BulkQuarantineTag + PhishSpamAction = $Settings.PhishSpamAction + PhishQuarantineTag = $Settings.PhishQuarantineTag + HighConfidencePhishAction = 'Quarantine' + HighConfidencePhishQuarantineTag = $Settings.HighConfidencePhishQuarantineTag + BulkThreshold = $Settings.BulkThreshold + QuarantineRetentionPeriod = 30 + IncreaseScoreWithNumericIps = 'On' + IncreaseScoreWithRedirectToOtherPort = 'On' + MarkAsSpamEmptyMessages = 'On' + MarkAsSpamJavaScriptInHtml = 'On' + MarkAsSpamSpfRecordHardFail = 'On' + MarkAsSpamFromAddressAuthFail = 'On' + MarkAsSpamNdrBackscatter = 'On' + MarkAsSpamBulkMail = 'On' + InlineSafetyTipsEnabled = $true + PhishZapEnabled = $true + SpamZapEnabled = $true + } + + if ($CurrentState.Name -eq $PolicyName) { + try { + $cmdparams.Add('Identity', $PolicyName) + New-ExoRequest -TenantId $Tenant -cmdlet 'Set-HostedContentFilterPolicy' -cmdparams $cmdparams -UseSystemMailbox $true + Write-LogMessage -API 'Standards' -Tenant $Tenant -message 'Updated Spam Filter Policy' -sev Info + } catch { + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + Write-LogMessage -API 'Standards' -Tenant $Tenant -message "Failed to update Spam Filter Policy. Error: $ErrorMessage" -sev Error + } + } else { + try { + $cmdparams.Add('Name', $PolicyName) + New-ExoRequest -TenantId $Tenant -cmdlet 'New-HostedContentFilterPolicy' -cmdparams $cmdparams -UseSystemMailbox $true + Write-LogMessage -API 'Standards' -Tenant $Tenant -message 'Created Spam Filter Policy' -sev Info + } catch { + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + Write-LogMessage -API 'Standards' -Tenant $Tenant -message "Failed to create Spam Filter Policy. Error: $ErrorMessage" -sev Error + } + } + } + + if ($RuleStateIsCorrect -eq $false) { + $cmdparams = @{ + HostedContentFilterPolicy = $PolicyName + Priority = 0 + RecipientDomainIs = $AcceptedDomains.Name + } + + if ($RuleState.Name -eq $PolicyName) { + try { + $cmdparams.Add('Identity', "$PolicyName") + New-ExoRequest -TenantId $Tenant -cmdlet 'Set-HostedContentFilterRule' -cmdparams $cmdparams -UseSystemMailbox $true + Write-LogMessage -API 'Standards' -Tenant $Tenant -message 'Updated Spam Filter Rule' -sev Info + } catch { + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + Write-LogMessage -API 'Standards' -Tenant $Tenant -message "Failed to update Spam Filter Rule. Error: $ErrorMessage" -sev Error + } + } else { + try { + $cmdparams.Add('Name', "$PolicyName") + New-ExoRequest -TenantId $Tenant -cmdlet 'New-HostedContentFilterRule' -cmdparams $cmdparams -UseSystemMailbox $true + Write-LogMessage -API 'Standards' -Tenant $Tenant -message 'Created Spam Filter Rule' -sev Info + } catch { + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + Write-LogMessage -API 'Standards' -Tenant $Tenant -message "Failed to create Spam Filter Rule. Error: $ErrorMessage" -sev Error + } + } + } + } + + if ($Settings.alert -eq $true) { + + if ($StateIsCorrect -eq $true) { + Write-LogMessage -API 'Standards' -Tenant $Tenant -message 'Spam Filter Policy is enabled' -sev Info + } else { + Write-LogMessage -API 'Standards' -Tenant $Tenant -message 'Spam Filter Policy is not enabled' -sev Alert + } + } + + if ($Settings.report -eq $true) { + Add-CIPPBPAField -FieldName 'SpamFilterPolicy' -FieldValue $StateIsCorrect -StoreAs bool -Tenant $tenant + } + +} diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSpoofWarn.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSpoofWarn.ps1 index 17e4762e44f8..b8487b3d5889 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSpoofWarn.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSpoofWarn.ps1 @@ -1,38 +1,36 @@ function Invoke-CIPPStandardSpoofWarn { <# .FUNCTIONALITY - Internal - .APINAME - SpoofWarn - .CAT - Exchange Standards - .TAG - "lowimpact" - "CIS" - .HELPTEXT - Adds or removes indicators to e-mail messages received from external senders in Outlook. Works on all Outlook clients/OWA - .DOCSDESCRIPTION - Adds or removes indicators to e-mail messages received from external senders in Outlook. You can read more about this feature on [Microsoft's Exchange Team Blog.](https://techcommunity.microsoft.com/t5/exchange-team-blog/native-external-sender-callouts-on-email-in-outlook/ba-p/2250098) - .ADDEDCOMPONENT - {"type":"Select","label":"Select value","name":"standards.SpoofWarn.state","values":[{"label":"Enabled","value":"enabled"},{"label":"Disabled","value":"disabled"}]} - .LABEL - Enable or disable 'external' warning in Outlook - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - et-ExternalInOutlook –Enabled $true or $false - .RECOMMENDEDBY - "CIS" - .DOCSDESCRIPTION - Adds or removes indicators to e-mail messages received from external senders in Outlook. Works on all Outlook clients/OWA - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) SpoofWarn + .SYNOPSIS + (Label) Enable or disable 'external' warning in Outlook + .DESCRIPTION + (Helptext) Adds or removes indicators to e-mail messages received from external senders in Outlook. Works on all Outlook clients/OWA + (DocsDescription) Adds or removes indicators to e-mail messages received from external senders in Outlook. You can read more about this feature on [Microsoft's Exchange Team Blog.](https://techcommunity.microsoft.com/t5/exchange-team-blog/native-external-sender-callouts-on-email-in-outlook/ba-p/2250098) + .NOTES + CAT + Exchange Standards + TAG + "lowimpact" + "CIS" + ADDEDCOMPONENT + {"type":"Select","label":"Select value","name":"standards.SpoofWarn.state","values":[{"label":"Enabled","value":"enabled"},{"label":"Disabled","value":"disabled"}]} + IMPACT + Low Impact + POWERSHELLEQUIVALENT + et-ExternalInOutlook –Enabled \$true or \$false + RECOMMENDEDBY + "CIS" + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'SpoofWarn' $CurrentInfo = (New-ExoRequest -tenantid $Tenant -cmdlet 'Get-ExternalInOutlook') @@ -74,7 +72,3 @@ function Invoke-CIPPStandardSpoofWarn { } } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardTAP.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardTAP.ps1 index fc53152bb426..1343aa7fe806 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardTAP.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardTAP.ps1 @@ -1,36 +1,34 @@ function Invoke-CIPPStandardTAP { <# .FUNCTIONALITY - Internal - .APINAME - TAP - .CAT - Entra (AAD) Standards - .TAG - "lowimpact" - .HELPTEXT - Enables TAP and sets the default TAP lifetime to 1 hour. This configuration also allows you to select is a TAP is single use or multi-logon. - .DOCSDESCRIPTION - Enables Temporary Password generation for the tenant. - .ADDEDCOMPONENT - {"type":"Select","label":"Select TAP Lifetime","name":"standards.TAP.config","values":[{"label":"Only Once","value":"true"},{"label":"Multiple Logons","value":"false"}]} - .LABEL - Enable Temporary Access Passwords - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Update-MgBetaPolicyAuthenticationMethodPolicyAuthenticationMethodConfiguration - .RECOMMENDEDBY - .DOCSDESCRIPTION - Enables TAP and sets the default TAP lifetime to 1 hour. This configuration also allows you to select is a TAP is single use or multi-logon. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) TAP + .SYNOPSIS + (Label) Enable Temporary Access Passwords + .DESCRIPTION + (Helptext) Enables TAP and sets the default TAP lifetime to 1 hour. This configuration also allows you to select is a TAP is single use or multi-logon. + (DocsDescription) Enables Temporary Password generation for the tenant. + .NOTES + CAT + Entra (AAD) Standards + TAG + "lowimpact" + ADDEDCOMPONENT + {"type":"Select","label":"Select TAP Lifetime","name":"standards.TAP.config","values":[{"label":"Only Once","value":"true"},{"label":"Multiple Logons","value":"false"}]} + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Update-MgBetaPolicyAuthenticationMethodPolicyAuthenticationMethodConfiguration + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'TAP' $CurrentInfo = New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/policies/authenticationmethodspolicy/authenticationMethodConfigurations/TemporaryAccessPass' -tenantid $Tenant $State = if ($CurrentInfo.state -eq 'enabled') { $true } else { $false } @@ -61,7 +59,3 @@ function Invoke-CIPPStandardTAP { } } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardTeamsEmailIntegration.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardTeamsEmailIntegration.ps1 new file mode 100644 index 000000000000..0d80dcc1947f --- /dev/null +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardTeamsEmailIntegration.ps1 @@ -0,0 +1,71 @@ +Function Invoke-CIPPStandardTeamsEmailIntegration { + <# + .FUNCTIONALITY + Internal + .COMPONENT + (APIName) TeamsEmailIntegration + .SYNOPSIS + (Label) Disallow emails to be sent to channel email addresses + .DESCRIPTION + (Helptext) Should users be allowed to send emails directly to a channel email addresses? + (DocsDescription) Teams channel email addresses are an optional feature that allows users to email the Teams channel directly. + .NOTES + CAT + Teams Standards + TAG + "lowimpact" + ADDEDCOMPONENT + {"type":"boolean","name":"standards.TeamsEmailIntegration.AllowEmailIntoChannel","label":"Allow channel emails"} + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Set-CsTeamsClientConfiguration -AllowEmailIntoChannel \$false + RECOMMENDEDBY + "CIS 3.0" + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards + #> + + param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'TeamsEmailIntegration' + + $CurrentState = New-TeamsRequest -TenantFilter $Tenant -Cmdlet 'Get-CsTeamsClientConfiguration' -CmdParams @{Identity = 'Global' } + | Select-Object AllowEmailIntoChannel + + if ($null -eq $Settings.AllowEmailIntoChannel) { $Settings.AllowEmailIntoChannel = $false } + + $StateIsCorrect = ($CurrentState.AllowEmailIntoChannel -eq $Settings.AllowEmailIntoChannel) + + if ($Settings.remediate -eq $true) { + if ($StateIsCorrect -eq $true) { + Write-LogMessage -API 'Standards' -tenant $Tenant -message 'Teams Email Integration settings already set.' -sev Info + } else { + $cmdparams = @{ + Identity = 'Global' + AllowEmailIntoChannel = $Settings.AllowEmailIntoChannel + } + + try { + New-TeamsRequest -TenantFilter $Tenant -Cmdlet 'Set-CsTeamsClientConfiguration' -CmdParams $cmdparams + Write-LogMessage -API 'Standards' -tenant $Tenant -message 'Updated Teams Email Integration settings' -sev Info + } catch { + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + Write-LogMessage -API 'Standards' -tenant $Tenant -message "Failed to set Teams Email Integration settings. Error: $ErrorMessage" -sev Error + } + } + } + + if ($Settings.alert -eq $true) { + if ($StateIsCorrect -eq $true) { + Write-LogMessage -API 'Standards' -tenant $Tenant -message 'Teams Email Integration settings is set correctly.' -sev Info + } else { + Write-LogMessage -API 'Standards' -tenant $Tenant -message 'Teams Email Integration settings is not set correctly.' -sev Alert + } + } + + if ($Setings.report -eq $true) { + Add-CIPPBPAField -FieldName 'TeamsEmailIntoChannel' -FieldValue $StateIsCorrect -StoreAs bool -Tenant $Tenant + } +} diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardTeamsExternalAccessPolicy.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardTeamsExternalAccessPolicy.ps1 new file mode 100644 index 000000000000..195addd804f4 --- /dev/null +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardTeamsExternalAccessPolicy.ps1 @@ -0,0 +1,78 @@ +Function Invoke-CIPPStandardTeamsExternalAccessPolicy { + <# + .FUNCTIONALITY + Internal + .COMPONENT + (APIName) TeamsExternalAccessPolicy + .SYNOPSIS + (Label) External Access Settings for Microsoft Teams + .DESCRIPTION + (Helptext) Sets the properties of the Global external access policy. + (DocsDescription) Sets the properties of the Global external access policy. External access policies determine whether or not your users can: 1) communicate with users who have Session Initiation Protocol (SIP) accounts with a federated organization; 2) communicate with users who are using custom applications built with Azure Communication Services; 3) access Skype for Business Server over the Internet, without having to log on to your internal network; 4) communicate with users who have SIP accounts with a public instant messaging (IM) provider such as Skype; and, 5) communicate with people who are using Teams with an account that's not managed by an organization. + .NOTES + CAT + Teams Standards + TAG + "mediumimpact" + ADDEDCOMPONENT + {"type":"boolean","name":"standards.TeamsExternalAccessPolicy.EnableFederationAccess","label":"Allow communication from trusted organizations"} + {"type":"boolean","name":"standards.TeamsExternalAccessPolicy.EnablePublicCloudAccess","label":"Allow user to communicate with Skype users"} + {"type":"boolean","name":"standards.TeamsExternalAccessPolicy.EnableTeamsConsumerAccess","label":"Allow communication with unmanaged Teams accounts"} + IMPACT + Medium Impact + POWERSHELLEQUIVALENT + Set-CsExternalAccessPolicy + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards + #> + + param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'TeamsExternalAccessPolicy' + + $CurrentState = New-TeamsRequest -TenantFilter $Tenant -Cmdlet 'Get-CsExternalAccessPolicy' -CmdParams @{Identity = 'Global' } + | Select-Object * + + if ($null -eq $Settings.EnableFederationAccess) { $Settings.EnableFederationAccess = $false } + if ($null -eq $Settings.EnablePublicCloudAccess) { $Settings.EnablePublicCloudAccess = $false } + if ($null -eq $Settings.EnableTeamsConsumerAccess) { $Settings.EnableTeamsConsumerAccess = $false } + + $StateIsCorrect = ($CurrentState.EnableFederationAccess -eq $Settings.EnableFederationAccess) -and + ($CurrentState.EnablePublicCloudAccess -eq $Settings.EnablePublicCloudAccess) -and + ($CurrentState.EnableTeamsConsumerAccess -eq $Settings.EnableTeamsConsumerAccess) + + if ($Settings.remediate -eq $true) { + if ($StateIsCorrect -eq $true) { + Write-LogMessage -API 'Standards' -tenant $Tenant -message 'External Access Policy already set.' -sev Info + } else { + $cmdparams = @{ + Identity = 'Global' + EnableFederationAccess = $Settings.EnableFederationAccess + EnablePublicCloudAccess = $Settings.EnablePublicCloudAccess + EnableTeamsConsumerAccess = $Settings.EnableTeamsConsumerAccess + } + + try { + New-TeamsRequest -TenantFilter $Tenant -Cmdlet 'Set-CsExternalAccessPolicy' -CmdParams $cmdparams + Write-LogMessage -API 'Standards' -tenant $Tenant -message 'Updated External Access Policy' -sev Info + } catch { + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + Write-LogMessage -API 'Standards' -tenant $Tenant -message "Failed to set External Access Policy. Error: $ErrorMessage" -sev Error + } + } + } + + if ($Settings.alert -eq $true) { + if ($StateIsCorrect -eq $true) { + Write-LogMessage -API 'Standards' -tenant $Tenant -message 'External Access Policy is set correctly.' -sev Info + } else { + Write-LogMessage -API 'Standards' -tenant $Tenant -message 'External Access Policy is not set correctly.' -sev Alert + } + } + + if ($Setings.report -eq $true) { + Add-CIPPBPAField -FieldName 'TeamsExternalAccessPolicy' -FieldValue $StateIsCorrect -StoreAs bool -Tenant $Tenant + } +} diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardTeamsExternalFileSharing.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardTeamsExternalFileSharing.ps1 new file mode 100644 index 000000000000..dc21121c0e3f --- /dev/null +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardTeamsExternalFileSharing.ps1 @@ -0,0 +1,86 @@ +Function Invoke-CIPPStandardTeamsExternalFileSharing { + <# + .FUNCTIONALITY + Internal + .COMPONENT + (APIName) TeamsExternalFileSharing + .SYNOPSIS + (Label) Define approved cloud storage services for external file sharing in Teams + .DESCRIPTION + (Helptext) Ensure external file sharing in Teams is enabled for only approved cloud storage services. + (DocsDescription) Ensure external file sharing in Teams is enabled for only approved cloud storage services. + .NOTES + CAT + Teams Standards + TAG + "lowimpact" + ADDEDCOMPONENT + {"type":"boolean","name":"standards.TeamsExternalFileSharing.AllowGoogleDrive","label":"Allow Google Drive"} + {"type":"boolean","name":"standards.TeamsExternalFileSharing.AllowShareFile","label":"Allow ShareFile"} + {"type":"boolean","name":"standards.TeamsExternalFileSharing.AllowBox","label":"Allow Box"} + {"type":"boolean","name":"standards.TeamsExternalFileSharing.AllowDropBox","label":"Allow Dropbox"} + {"type":"boolean","name":"standards.TeamsExternalFileSharing.AllowEgnyte","label":"Allow Egnyte"} + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Set-CsTeamsClientConfiguration -AllowGoogleDrive \$false -AllowShareFile \$false -AllowBox \$false -AllowDropBox \$false -AllowEgnyte \$false + RECOMMENDEDBY + "CIS 3.0" + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards + #> + + param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'TeamsExternalFileSharing' + + $CurrentState = New-TeamsRequest -TenantFilter $Tenant -Cmdlet 'Get-CsTeamsClientConfiguration' + | Select-Object AllowGoogleDrive, AllowShareFile, AllowBox, AllowDropBox, AllowEgnyte + + if ($null -eq $Settings.AllowGoogleDrive) { $Settings.AllowGoogleDrive = $false } + if ($null -eq $Settings.AllowShareFile) { $Settings.AllowShareFile = $false } + if ($null -eq $Settings.AllowBox) { $Settings.AllowBox = $false } + if ($null -eq $Settings.AllowDropBox) { $Settings.AllowDropBox = $false } + if ($null -eq $Settings.AllowEgnyte) { $Settings.AllowEgnyte = $false } + + $StateIsCorrect = ($CurrentState.AllowGoogleDrive -eq $Settings.AllowGoogleDrive) -and + ($CurrentState.AllowShareFile -eq $Settings.AllowShareFile) -and + ($CurrentState.AllowBox -eq $Settings.AllowBox) -and + ($CurrentState.AllowDropBox -eq $Settings.AllowDropBox) -and + ($CurrentState.AllowEgnyte -eq $Settings.AllowEgnyte) + + if ($Settings.remediate -eq $true) { + if ($StateIsCorrect -eq $true) { + Write-LogMessage -API 'Standards' -tenant $Tenant -message 'Teams External File Sharing already set.' -sev Info + } else { + $cmdparams = @{ + AllowGoogleDrive = $Settings.AllowGoogleDrive + AllowShareFile = $Settings.AllowShareFile + AllowBox = $Settings.AllowBox + AllowDropBox = $Settings.AllowDropBox + AllowEgnyte = $Settings.AllowEgnyte + } + + try { + New-TeamsRequest -TenantFilter $Tenant -Cmdlet 'Set-CsTeamsClientConfiguration' -CmdParams $cmdparams + Write-LogMessage -API 'Standards' -tenant $Tenant -message 'Updated Teams External File Sharing' -sev Info + } catch { + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + Write-LogMessage -API 'Standards' -tenant $Tenant -message "Failed to set Teams External File Sharing. Error: $ErrorMessage" -sev Error + } + } + } + + if ($Settings.alert -eq $true) { + if ($StateIsCorrect -eq $true) { + Write-LogMessage -API 'Standards' -tenant $Tenant -message 'Teams External File Sharing is set correctly.' -sev Info + } else { + Write-LogMessage -API 'Standards' -tenant $Tenant -message 'Teams External File Sharing is not set correctly.' -sev Alert + } + } + + if ($Setings.report -eq $true) { + Add-CIPPBPAField -FieldName 'TeamsExternalFileSharing' -FieldValue $StateIsCorrect -StoreAs bool -Tenant $Tenant + } +} diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardTeamsFederationConfiguration.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardTeamsFederationConfiguration.ps1 new file mode 100644 index 000000000000..13a4705338c3 --- /dev/null +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardTeamsFederationConfiguration.ps1 @@ -0,0 +1,113 @@ +Function Invoke-CIPPStandardTeamsFederationConfiguration { + <# + .FUNCTIONALITY + Internal + .COMPONENT + (APIName) TeamsFederationConfiguration + .SYNOPSIS + (Label) Federation Configuration for Microsoft Teams + .DESCRIPTION + (Helptext) Sets the properties of the Global federation configuration. + (DocsDescription) Sets the properties of the Global federation configuration. Federation configuration settings determine whether or not your users can communicate with users who have SIP accounts with a federated organization. + .NOTES + CAT + Teams Standards + TAG + "mediumimpact" + ADDEDCOMPONENT + {"type":"boolean","name":"standards.TeamsFederationConfiguration.AllowTeamsConsumer","label":"Allow users to communicate with other organizations"} + {"type":"boolean","name":"standards.TeamsFederationConfiguration.AllowPublicUsers","label":"Allow users to communicate with Skype Users"} + {"type":"Select","name":"standards.TeamsFederationConfiguration.DomainControl","label":"Communication Mode","values":[{"label":"Allow all external domains","value":"AllowAllExternal"},{"label":"Block all external domains","value":"BlockAllExternal"},{"label":"Allow specific external domains","value":"AllowSpecificExternal"},{"label":"Block specific external domains","value":"BlockSpecificExternal"}]} + {"type":"input","name":"standards.TeamsFederationConfiguration.DomainList","label":"Domains, Comma separated"} + IMPACT + Medium Impact + POWERSHELLEQUIVALENT + Set-CsTenantFederationConfiguration + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards + #> + + param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'TeamsFederationConfiguration' + + $CurrentState = New-TeamsRequest -TenantFilter $Tenant -Cmdlet 'Get-CsTenantFederationConfiguration' -CmdParams @{Identity = 'Global' } + | Select-Object * + + Switch ($Settings.DomainControl) { + 'AllowAllExternal' { + $AllowFederatedUsers = $true + $AllowedDomainsAsAList = 'AllowAllKnownDomains' + $BlockedDomains = @() + } + 'BlockAllExternal' { + $AllowFederatedUsers = $false + $AllowedDomainsAsAList = 'AllowAllKnownDomains' + $BlockedDomains = @() + } + 'AllowSpecificExternal' { + $AllowFederatedUsers = $true + $BlockedDomains = @() + if ($null -ne $Settings.DomainList) { + $AllowedDomainsAsAList = @($Settings.DomainList).Split(',').Trim() + } else { + $AllowedDomainsAsAList = @() + } + } + 'BlockSpecificExternal' { + $AllowFederatedUsers = $true + $AllowedDomainsAsAList = 'AllowAllKnownDomains' + if ($null -ne $Settings.DomainList) { + $BlockedDomains = @($Settings.DomainList).Split(',').Trim() + } else { + $BlockedDomains = @() + } + } + } + + # TODO : Add proper validation for the domain list + # $CurrentState.AllowedDomains returns a PSObject System.Object and adds a Domain= for each allowed domain, ex {Domain=example.com, Domain=example2.com} + + $StateIsCorrect = ($CurrentState.AllowTeamsConsumer -eq $Settings.AllowTeamsConsumer) -and + ($CurrentState.AllowPublicUsers -eq $Settings.AllowPublicUsers) -and + ($CurrentState.AllowFederatedUsers -eq $AllowFederatedUsers) -and + ($CurrentState.AllowedDomains -eq $AllowedDomainsAsAList) -and + ($CurrentState.BlockedDomains -eq $BlockedDomains) + + if ($Settings.remediate -eq $true) { + if ($StateIsCorrect -eq $true) { + Write-LogMessage -API 'Standards' -tenant $Tenant -message 'Federation Configuration already set.' -sev Info + } else { + $cmdparams = @{ + Identity = 'Global' + AllowTeamsConsumer = $Settings.AllowTeamsConsumer + AllowPublicUsers = $Settings.AllowPublicUsers + AllowFederatedUsers = $AllowFederatedUsers + AllowedDomainsAsAList = $AllowedDomainsAsAList + BlockedDomains = $BlockedDomains + } + + try { + New-TeamsRequest -TenantFilter $Tenant -Cmdlet 'Set-CsTenantFederationConfiguration' -CmdParams $cmdparams + Write-LogMessage -API 'Standards' -tenant $Tenant -message 'Updated Federation Configuration Policy' -sev Info + } catch { + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + Write-LogMessage -API 'Standards' -tenant $Tenant -message "Failed to set Federation Configuration Policy. Error: $ErrorMessage" -sev Error + } + } + } + + if ($Settings.alert -eq $true) { + if ($StateIsCorrect -eq $true) { + Write-LogMessage -API 'Standards' -tenant $Tenant -message 'Federation Configuration is set correctly.' -sev Info + } else { + Write-LogMessage -API 'Standards' -tenant $Tenant -message 'Federation Configuration is not set correctly.' -sev Alert + } + } + + if ($Setings.report -eq $true) { + Add-CIPPBPAField -FieldName 'FederationConfiguration' -FieldValue $StateIsCorrect -StoreAs bool -Tenant $Tenant + } +} diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardTeamsGlobalMeetingPolicy.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardTeamsGlobalMeetingPolicy.ps1 new file mode 100644 index 000000000000..ee90cb769e04 --- /dev/null +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardTeamsGlobalMeetingPolicy.ps1 @@ -0,0 +1,82 @@ +Function Invoke-CIPPStandardTeamsGlobalMeetingPolicy { + <# + .FUNCTIONALITY + Internal + .COMPONENT + (APIName) TeamsGlobalMeetingPolicy + .SYNOPSIS + (Label) Define Global Meeting Policy for Teams + .DESCRIPTION + (Helptext) Defines the CIS recommended global meeting policy for Teams. This includes AllowAnonymousUsersToJoinMeeting, AllowAnonymousUsersToStartMeeting, AutoAdmittedUsers, AllowPSTNUsersToBypassLobby, MeetingChatEnabledType, DesignatedPresenterRoleMode, AllowExternalParticipantGiveRequestControl + (DocsDescription) Defines the CIS recommended global meeting policy for Teams. This includes AllowAnonymousUsersToJoinMeeting, AllowAnonymousUsersToStartMeeting, AutoAdmittedUsers, AllowPSTNUsersToBypassLobby, MeetingChatEnabledType, DesignatedPresenterRoleMode, AllowExternalParticipantGiveRequestControl + .NOTES + CAT + Teams Standards + TAG + "lowimpact" + ADDEDCOMPONENT + {"type":"Select","name":"standards.TeamsGlobalMeetingPolicy.DesignatedPresenterRoleMode","label":"Default value of the `Who can present?`","values":[{"label":"EveryoneUserOverride","value":"EveryoneUserOverride"},{"label":"EveryoneInCompanyUserOverride","value":"EveryoneInCompanyUserOverride"},{"label":"EveryoneInSameAndFederatedCompanyUserOverride","value":"EveryoneInSameAndFederatedCompanyUserOverride"},{"label":"OrganizerOnlyUserOverride","value":"OrganizerOnlyUserOverride"}]} + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Set-CsTeamsMeetingPolicy -AllowAnonymousUsersToJoinMeeting \$false -AllowAnonymousUsersToStartMeeting \$false -AutoAdmittedUsers EveryoneInCompanyExcludingGuests -AllowPSTNUsersToBypassLobby \$false -MeetingChatEnabledType EnabledExceptAnonymous -DesignatedPresenterRoleMode \$DesignatedPresenterRoleMode -AllowExternalParticipantGiveRequestControl \$false + RECOMMENDEDBY + "CIS 3.0" + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards + #> + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'TeamsGlobalMeetingPolicy' + + param($Tenant, $Settings) + $CurrentState = New-TeamsRequest -TenantFilter $Tenant -Cmdlet 'Get-CsTeamsMeetingPolicy' -CmdParams @{Identity = 'Global' } + | Select-Object AllowAnonymousUsersToJoinMeeting, AllowAnonymousUsersToStartMeeting, AutoAdmittedUsers, AllowPSTNUsersToBypassLobby, MeetingChatEnabledType, DesignatedPresenterRoleMode, AllowExternalParticipantGiveRequestControl + + if ($null -eq $Settings.DesignatedPresenterRoleMode) { $Settings.DesignatedPresenterRoleMode = $CurrentState.DesignatedPresenterRoleMode } + + $StateIsCorrect = ($CurrentState.AllowAnonymousUsersToJoinMeeting -eq $false) -and + ($CurrentState.AllowAnonymousUsersToStartMeeting -eq $false) -and + ($CurrentState.AutoAdmittedUsers -eq 'EveryoneInCompanyExcludingGuests') -and + ($CurrentState.AllowPSTNUsersToBypassLobby -eq $false) -and + ($CurrentState.MeetingChatEnabledType -eq 'EnabledExceptAnonymous') -and + ($CurrentState.DesignatedPresenterRoleMode -eq $Settings.DesignatedPresenterRoleMode) -and + ($CurrentState.AllowExternalParticipantGiveRequestControl -eq $false) + + if ($Settings.remediate -eq $true) { + if ($StateIsCorrect -eq $true) { + Write-LogMessage -API 'Standards' -tenant $Tenant -message 'Teams Global Policy already set.' -sev Info + } else { + $cmdparams = @{ + Identity = 'Global' + AllowAnonymousUsersToJoinMeeting = $false + AllowAnonymousUsersToStartMeeting = $false + AutoAdmittedUsers = 'EveryoneInCompanyExcludingGuests' + AllowPSTNUsersToBypassLobby = $false + MeetingChatEnabledType = 'EnabledExceptAnonymous' + DesignatedPresenterRoleMode = $Settings.DesignatedPresenterRoleMode + AllowExternalParticipantGiveRequestControl = $false + } + + try { + New-TeamsRequest -TenantFilter $Tenant -Cmdlet 'Set-CsTeamsMeetingPolicy' -CmdParams $cmdparams + Write-LogMessage -API 'Standards' -tenant $Tenant -message 'Updated Teams Global Policy' -sev Info + } catch { + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + Write-LogMessage -API 'Standards' -tenant $Tenant -message "Failed to set Teams Global Policy. Error: $ErrorMessage" -sev Error + } + } + } + + if ($Settings.alert -eq $true) { + if ($StateIsCorrect -eq $true) { + Write-LogMessage -API 'Standards' -tenant $Tenant -message 'Teams Global Policy is set correctly.' -sev Info + } else { + Write-LogMessage -API 'Standards' -tenant $Tenant -message 'Teams Global Policy is not set correctly.' -sev Alert + } + } + + if ($Setings.report -eq $true) { + Add-CIPPBPAField -FieldName 'TeamsGlobalMeetingPolicy' -FieldValue $StateIsCorrect -StoreAs bool -Tenant $Tenant + } +} diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardTeamsMeetingsByDefault.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardTeamsMeetingsByDefault.ps1 index 7945d9e4a2f3..93a2a288845b 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardTeamsMeetingsByDefault.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardTeamsMeetingsByDefault.ps1 @@ -1,34 +1,34 @@ function Invoke-CIPPStandardTeamsMeetingsByDefault { <# .FUNCTIONALITY - Internal - .APINAME - TeamsMeetingsByDefault - .CAT - Exchange Standards - .TAG - "lowimpact" - .HELPTEXT - Sets the default state for automatically turning meetings into Teams meetings for the tenant. This can be overridden by the user in Outlook. - .ADDEDCOMPONENT - {"type":"Select","label":"Select value","name":"standards.TeamsMeetingsByDefault.state","values":[{"label":"Enabled","value":"true"},{"label":"Disabled","value":"false"}]} - .LABEL - Set Teams Meetings by default state - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Set-OrganizationConfig -OnlineMeetingsByDefaultEnabled - .RECOMMENDEDBY - .DOCSDESCRIPTION - Sets the default state for automatically turning meetings into Teams meetings for the tenant. This can be overridden by the user in Outlook. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) TeamsMeetingsByDefault + .SYNOPSIS + (Label) Set Teams Meetings by default state + .DESCRIPTION + (Helptext) Sets the default state for automatically turning meetings into Teams meetings for the tenant. This can be overridden by the user in Outlook. + (DocsDescription) Sets the default state for automatically turning meetings into Teams meetings for the tenant. This can be overridden by the user in Outlook. + .NOTES + CAT + Exchange Standards + TAG + "lowimpact" + ADDEDCOMPONENT + {"type":"Select","label":"Select value","name":"standards.TeamsMeetingsByDefault.state","values":[{"label":"Enabled","value":"true"},{"label":"Disabled","value":"false"}]} + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Set-OrganizationConfig -OnlineMeetingsByDefaultEnabled + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'TeamsMeetingsByDefault' $CurrentState = (New-ExoRequest -tenantid $Tenant -cmdlet 'Get-OrganizationConfig').OnlineMeetingsByDefaultEnabled $WantedState = if ($Settings.state -eq 'true') { $true } else { $false } @@ -70,7 +70,3 @@ function Invoke-CIPPStandardTeamsMeetingsByDefault { } } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardTenantDefaultTimezone.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardTenantDefaultTimezone.ps1 index 180b8323ca23..cbc223e26374 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardTenantDefaultTimezone.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardTenantDefaultTimezone.ps1 @@ -1,35 +1,34 @@ function Invoke-CIPPStandardTenantDefaultTimezone { <# .FUNCTIONALITY - Internal - .APINAME - TenantDefaultTimezone - .CAT - SharePoint Standards - .TAG - "lowimpact" - .HELPTEXT - Sets the default timezone for the tenant. This will be used for all new users and sites. - .ADDEDCOMPONENT - {"type":"TimezoneSelect","name":"standards.TenantDefaultTimezone.Timezone","label":"Timezone"} - .LABEL - Set Default Timezone for Tenant - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Update-MgBetaAdminSharepointSetting - .RECOMMENDEDBY - .DOCSDESCRIPTION - Sets the default timezone for the tenant. This will be used for all new users and sites. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) TenantDefaultTimezone + .SYNOPSIS + (Label) Set Default Timezone for Tenant + .DESCRIPTION + (Helptext) Sets the default timezone for the tenant. This will be used for all new users and sites. + (DocsDescription) Sets the default timezone for the tenant. This will be used for all new users and sites. + .NOTES + CAT + SharePoint Standards + TAG + "lowimpact" + ADDEDCOMPONENT + {"type":"TimezoneSelect","name":"standards.TenantDefaultTimezone.Timezone","label":"Timezone"} + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Update-MgBetaAdminSharepointSetting + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'TenantDefaultTimezone' $CurrentState = New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/admin/sharepoint/settings' -tenantid $Tenant -AsApp $true $ExpectedTimezone = $Settings.Timezone.value @@ -68,7 +67,3 @@ function Invoke-CIPPStandardTenantDefaultTimezone { } } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardTransportRuleTemplate.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardTransportRuleTemplate.ps1 index ad65a91db297..9586aeb3cd6d 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardTransportRuleTemplate.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardTransportRuleTemplate.ps1 @@ -4,6 +4,7 @@ function Invoke-CIPPStandardTransportRuleTemplate { Internal #> param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'TransportRuleTemplate' If ($Settings.remediate -eq $true) { diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardUndoOauth.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardUndoOauth.ps1 index f662a8f200f3..1cc77638ff88 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardUndoOauth.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardUndoOauth.ps1 @@ -1,33 +1,34 @@ function Invoke-CIPPStandardUndoOauth { <# .FUNCTIONALITY - Internal - .APINAME - UndoOauth - .CAT - Entra (AAD) Standards - .TAG - "highimpact" - .HELPTEXT - Disables App consent and set to Allow user consent for apps - .ADDEDCOMPONENT - .LABEL - Undo App Consent Standard - .IMPACT - High Impact - .POWERSHELLEQUIVALENT - Update-MgPolicyAuthorizationPolicy - .RECOMMENDEDBY - .DOCSDESCRIPTION - Disables App consent and set to Allow user consent for apps - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) UndoOauth + .SYNOPSIS + (Label) Undo App Consent Standard + .DESCRIPTION + (Helptext) Disables App consent and set to Allow user consent for apps + (DocsDescription) Disables App consent and set to Allow user consent for apps + .NOTES + CAT + Entra (AAD) Standards + TAG + "highimpact" + ADDEDCOMPONENT + IMPACT + High Impact + POWERSHELLEQUIVALENT + Update-MgPolicyAuthorizationPolicy + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'UndoOauth' + $CurrentState = New-GraphGetRequest -tenantid $Tenant -Uri 'https://graph.microsoft.com/beta/policies/authorizationPolicy/authorizationPolicy?$select=permissionGrantPolicyIdsAssignedToDefaultUserRole' $State = if ($CurrentState.permissionGrantPolicyIdsAssignedToDefaultUserRole -eq 'ManagePermissionGrantsForSelf.microsoft-user-default-legacy') { $true } else { $false } @@ -60,7 +61,3 @@ function Invoke-CIPPStandardUndoOauth { Add-CIPPBPAField -FieldName 'UndoOauth' -FieldValue $State -StoreAs bool -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardUserReportDestinationEmail.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardUserReportDestinationEmail.ps1 deleted file mode 100644 index 98466f02cec4..000000000000 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardUserReportDestinationEmail.ps1 +++ /dev/null @@ -1,79 +0,0 @@ -function Invoke-CIPPStandardUserReportDestinationEmail { - <# - .FUNCTIONALITY - Internal - .APINAME - UserReportDestinationEmail - .CAT - Exchange Standards - .TAG - "mediumimpact" - .HELPTEXT - Sets the destination for email when users report them as spam or phishing. Works well together with the 'Set the state of the built-in Report button in Outlook standard'. - .ADDEDCOMPONENT - {"type":"input","name":"standards.UserReportDestinationEmail.Email","label":"Destination email address"} - .LABEL - Set the destination email for user reported emails - .IMPACT - Medium Impact - .POWERSHELLEQUIVALENT - New-ReportSubmissionRule or Set-ReportSubmissionRule - .RECOMMENDEDBY - .DOCSDESCRIPTION - Sets the destination for email when users report them as spam or phishing. Works well together with the 'Set the state of the built-in Report button in Outlook standard'. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block - #> - - - param($Tenant, $Settings) - - # Input validation - if (([string]::IsNullOrWhiteSpace($Settings.Email) -or $Settings.Email -eq 'Select a value' -or $Settings.Email -notmatch '@') -and - ($Settings.remediate -eq $true -or $Settings.alert -eq $true)) { - Write-LogMessage -API 'Standards' -tenant $tenant -message 'UserReportDestinationEmail: Invalid Email parameter set' -sev Error - Return - } - - $CurrentState = New-ExoRequest -tenantid $Tenant -cmdlet 'Get-ReportSubmissionRule' - $StateIsCorrect = if ($CurrentState.SentTo -eq $Settings.Email) { $true } else { $false } - - # Write-Host 'Current State:' - # Write-Host (ConvertTo-Json -InputObject $CurrentState -Depth 5) - # Write-Host 'State is correct: ' $StateIsCorrect - - If ($Settings.remediate -eq $true) { - Write-Host 'Time to remediate!' - - if ($StateIsCorrect -eq $false) { - try { - if ($null -eq $CurrentState) { - New-ExoRequest -tenantid $Tenant -cmdlet 'New-ReportSubmissionRule' -cmdParams @{ Name = 'DefaultReportSubmissionRule'; ReportSubmissionPolicy = 'DefaultReportSubmissionPolicy'; SentTo = ($Settings.Email.Trim()); } -UseSystemMailbox $true - Write-LogMessage -API 'Standards' -tenant $tenant -message "User Report Destination Email set to $($Settings.Email)." -sev Info - } else { - New-ExoRequest -tenantid $Tenant -cmdlet 'Set-ReportSubmissionRule' -cmdParams @{ Identity = $CurrentState.Identity; SentTo = ($Settings.Email.Trim()) } -UseSystemMailbox $true - Write-LogMessage -API 'Standards' -tenant $tenant -message "User Report Destination Email set to $($Settings.Email)." -sev Info - } - } catch { - $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message - Write-LogMessage -API 'Standards' -tenant $tenant -message "Could not set User Report Destination Email to $($Settings.Email). Error: $ErrorMessage" -sev Error - } - } else { - Write-LogMessage -API 'Standards' -tenant $tenant -message "User Report Destination Email is already set to $($Settings.Email)." -sev Info - } - } - - if ($Settings.alert -eq $true) { - if ($StateIsCorrect) { - Write-LogMessage -API 'Standards' -tenant $tenant -message "User Report Destination Email is set to $($Settings.Email)." -sev Info - } else { - Write-LogMessage -API 'Standards' -tenant $tenant -message "User Report Destination Email is not set to $($Settings.Email)." -sev Alert - } - } - - if ($Settings.report -eq $true) { - Add-CIPPBPAField -FieldName 'UserReportDestinationEmail' -FieldValue $StateIsCorrect -StoreAs bool -Tenant $tenant - } -} - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardUserSubmissions.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardUserSubmissions.ps1 index 4e1c15e55651..985d040aab8e 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardUserSubmissions.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardUserSubmissions.ps1 @@ -1,87 +1,172 @@ function Invoke-CIPPStandardUserSubmissions { <# .FUNCTIONALITY - Internal - .APINAME - UserSubmissions - .CAT - Exchange Standards - .TAG - "mediumimpact" - .HELPTEXT - Set the state of the spam submission button in Outlook - .DOCSDESCRIPTION - Set the state of the built-in Report button in Outlook. This gives the users the ability to report emails as spam or phish. - .ADDEDCOMPONENT - {"type":"Select","label":"Select value","name":"standards.UserSubmissions.state","values":[{"label":"Enabled","value":"enable"},{"label":"Disabled","value":"disable"}]} - .LABEL - Set the state of the built-in Report button in Outlook - .IMPACT - Medium Impact - .POWERSHELLEQUIVALENT - New-ReportSubmissionPolicy or Set-ReportSubmissionPolicy - .RECOMMENDEDBY - .DOCSDESCRIPTION - Set the state of the spam submission button in Outlook - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) UserSubmissions + .SYNOPSIS + (Label) Set the state of the built-in Report button in Outlook + .DESCRIPTION + (Helptext) Set the state of the spam submission button in Outlook + (DocsDescription) Set the state of the built-in Report button in Outlook. This gives the users the ability to report emails as spam or phish. + .NOTES + CAT + Exchange Standards + TAG + "mediumimpact" + ADDEDCOMPONENT + {"type":"Select","label":"Select value","name":"standards.UserSubmissions.state","values":[{"label":"Enabled","value":"enable"},{"label":"Disabled","value":"disable"}]} + {"type":"input","name":"standards.UserSubmissions.email","label":"Destination email address"} + IMPACT + Medium Impact + POWERSHELLEQUIVALENT + New-ReportSubmissionPolicy or Set-ReportSubmissionPolicy and New-ReportSubmissionRule or Set-ReportSubmissionRule + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> + param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'UserSubmissions' + # Input validation + if ($Settings.remediate -eq $true -or $Settings.alert -eq $true) { + if (!($Settings.state -eq 'enable' -or $Settings.state -eq 'disable')) { + Write-LogMessage -API 'Standards' -tenant $tenant -message 'UserSubmissions: Invalid state parameter set' -sev Error + Return + } + if (!([string]::IsNullOrWhiteSpace($Settings.email))) { + if ($Settings.email -notmatch '@') { + Write-LogMessage -API 'Standards' -tenant $tenant -message 'UserSubmissions: Invalid Email parameter set' -sev Error + Return + } + } + } - param($Tenant, $Settings) + $PolicyState = New-ExoRequest -tenantid $Tenant -cmdlet 'Get-ReportSubmissionPolicy' + $RuleState = New-ExoRequest -tenantid $Tenant -cmdlet 'Get-ReportSubmissionRule' + + if ($Settings.state -eq 'enable') { + if (([string]::IsNullOrWhiteSpace($Settings.email))) { + $PolicyIsCorrect = ($PolicyState.EnableReportToMicrosoft -eq $true) -and + ($PolicyState.ReportJunkToCustomizedAddress -eq $false) -and + ($PolicyState.ReportNotJunkToCustomizedAddress -eq $false) -and + ($PolicyState.ReportPhishToCustomizedAddress -eq $false) + $RuleIsCorrect = $true + } else { + $PolicyIsCorrect = ($PolicyState.EnableReportToMicrosoft -eq $true) -and + ($PolicyState.ReportJunkToCustomizedAddress -eq $true) -and + ($PolicyState.ReportJunkAddresses -eq $Settings.email) -and + ($PolicyState.ReportNotJunkToCustomizedAddress -eq $true) -and + ($PolicyState.ReportNotJunkAddresses -eq $Settings.email) -and + ($PolicyState.ReportPhishToCustomizedAddress -eq $true) -and + ($PolicyState.ReportPhishAddresses -eq $Settings.email) + $RuleIsCorrect = ($RuleState.State -eq 'Enabled') -and + ($RuleSteate.SentTo -eq $Settings.email) + } + } else { + if ($PolicyState.length -eq 0) { + $PolicyIsCorrect = $true + $RuleIsCorrect = $true + } else { + $PolicyIsCorrect = ($PolicyState.EnableReportToMicrosoft -eq $false) -and + ($PolicyState.ReportJunkToCustomizedAddress -eq $false) -and + ($PolicyState.ReportNotJunkToCustomizedAddress -eq $false) -and + ($PolicyState.ReportPhishToCustomizedAddress -eq $false) + $RuleIsCorrect = $true + } + } + + $StateIsCorrect = $PolicyIsCorrect -and $RuleIsCorrect - $Policy = New-ExoRequest -tenantid $Tenant -cmdlet 'Get-ReportSubmissionPolicy' if ($Settings.report -eq $true) { - if ($Policy.length -eq 0) { + if ($PolicyState.length -eq 0) { Add-CIPPBPAField -FieldName 'UserSubmissionPolicy' -FieldValue $false -StoreAs bool -Tenant $tenant } else { - Add-CIPPBPAField -FieldName 'UserSubmissionPolicy' -FieldValue $Policy.EnableReportToMicrosoft -StoreAs bool -Tenant $tenant + Add-CIPPBPAField -FieldName 'UserSubmissionPolicy' -FieldValue $StateIsCorrect -StoreAs bool -Tenant $tenant } } - # Input validation - if ([string]::IsNullOrWhiteSpace($Settings.state) -or $Settings.state -eq 'Select a value') { - Write-LogMessage -API 'Standards' -tenant $tenant -message 'UserSubmissions: Invalid state parameter set' -sev Error - Return - } - - If ($Settings.remediate -eq $true) { - $Status = if ($Settings.state -eq 'enable') { $true } else { $false } # If policy is set correctly, log and skip setting the policy - if ($Policy.EnableReportToMicrosoft -eq $status) { - Write-LogMessage -API 'Standards' -tenant $tenant -message "User Submission policy is already set to $status." -sev Info + if ($StateIsCorrect -eq $true) { + Write-LogMessage -API 'Standards' -tenant $Tenant -message 'User Submission policy is already configured' -sev Info } else { if ($Settings.state -eq 'enable') { - # Policy is not set correctly, enable the policy. Create new policy if it does not exist - try { - if ($Policy.length -eq 0) { - New-ExoRequest -tenantid $Tenant -cmdlet 'New-ReportSubmissionPolicy' -UseSystemMailbox $true - Write-LogMessage -API 'Standards' -tenant $tenant -message "User Submission policy set to $status." -sev Info - } else { - New-ExoRequest -tenantid $Tenant -cmdlet 'Set-ReportSubmissionPolicy' -cmdParams @{ EnableReportToMicrosoft = $status; Identity = $($Policy.Identity); } -UseSystemMailbox $true - Write-LogMessage -API 'Standards' -tenant $tenant -message "User Submission policy set to $status." -sev Info + if (([string]::IsNullOrWhiteSpace($Settings.email))) { + $PolicyParams = @{ + EnableReportToMicrosoft = $true + ReportJunkToCustomizedAddress = $false + ReportNotJunkToCustomizedAddress = $false + ReportPhishToCustomizedAddress = $false } + } else { + $PolicyParams = @{ + EnableReportToMicrosoft = $true + ReportJunkToCustomizedAddress = $true + ReportJunkAddresses = $Settings.email + ReportNotJunkToCustomizedAddress = $true + ReportNotJunkAddresses = $Settings.email + ReportPhishToCustomizedAddress = $true + ReportPhishAddresses = $Settings.email + } + $RuleParams = @{ + SentTo = $Settings.email + } + } + } else { + $PolicyParams = @{ + EnableReportToMicrosoft = $false + ReportJunkToCustomizedAddress = $false + ReportNotJunkToCustomizedAddress = $false + ReportPhishToCustomizedAddress = $false + } + } + + if ($PolicyState.length -eq 0) { + try { + New-ExoRequest -tenantid $Tenant -cmdlet 'New-ReportSubmissionPolicy' -cmdparams $PolicyParams -UseSystemMailbox $true + Write-LogMessage -API 'Standards' -tenant $tenant -message 'User Submission policy created.' -sev Info } catch { $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message - Write-LogMessage -API 'Standards' -tenant $tenant -message "Could not set User Submission policy to $status. Error: $ErrorMessage" -sev Error + Write-LogMessage -API 'Standards' -tenant $Tenant -message "Failed to create User Submission policy. Error: $ErrorMessage" -sev Error } } else { - # Policy is not set correctly, disable the policy. try { - if ($Policy.length -eq 0) { - Write-LogMessage -API 'Standards' -tenant $tenant -message "User Submission policy set to $status." -sev Info - } else { - New-ExoRequest -tenantid $Tenant -cmdlet 'Set-ReportSubmissionPolicy' -cmdParams @{ EnableReportToMicrosoft = $status; Identity = $($Policy.Identity); EnableThirdPartyAddress = $status; ReportJunkToCustomizedAddress = $status; ReportNotJunkToCustomizedAddress = $status; ReportPhishToCustomizedAddress = $status; } -UseSystemMailbox $true - Write-LogMessage -API 'Standards' -tenant $tenant -message "User Submission policy set to $status." -sev Info - } + $PolicyParams.Add('Identity', 'DefaultReportSubmissionPolicy') + New-ExoRequest -tenantid $Tenant -cmdlet 'Set-ReportSubmissionPolicy' -cmdParams $PolicyParams -UseSystemMailbox $true + Write-LogMessage -API 'Standards' -tenant $tenant -message "User Submission policy state set to $($Settings.state)." -sev Info } catch { $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message - Write-LogMessage -API 'Standards' -tenant $tenant -message "Could not set User Submission policy to $status. Error: $ErrorMessage" -sev Error + Write-LogMessage -API 'Standards' -tenant $Tenant -message "Failed to set User Submission policy state to $($Settings.state). Error: $ErrorMessage" -sev Error + } + } + + if ($RuleParams) { + if ($RuleState.length -eq 0) { + try { + $RuleParams.Add('Name', 'DefaultReportSubmissionRule') + $RuleParams.Add('ReportSubmissionPolicy', 'DefaultReportSubmissionPolicy') + New-ExoRequest -tenantid $Tenant -cmdlet 'New-ReportSubmissionRule' -cmdparams $RuleParams -UseSystemMailbox $true + Write-LogMessage -API 'Standards' -tenant $tenant -message 'User Submission rule created.' -sev Info + } catch { + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + Write-LogMessage -API 'Standards' -tenant $Tenant -message "Failed to create User Submission rule. Error: $ErrorMessage" -sev Error + } + } else { + try { + $RuleParams.Add('Identity', 'DefaultReportSubmissionRule') + New-ExoRequest -tenantid $Tenant -cmdlet 'Set-ReportSubmissionRule' -cmdParams $RuleParams -UseSystemMailbox $true + Write-LogMessage -API 'Standards' -tenant $tenant -message 'User Submission rule set to enabled.' -sev Info + } catch { + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + Write-LogMessage -API 'Standards' -tenant $Tenant -message "Failed to enable User Submission rule. Error: $ErrorMessage" -sev Error + } } } } @@ -89,18 +174,14 @@ function Invoke-CIPPStandardUserSubmissions { if ($Settings.alert -eq $true) { - if ($Policy.length -eq 0) { - Write-LogMessage -API 'Standards' -tenant $tenant -message 'User Submission policy is not set.' -sev Alert + if ($StateIsCorrect -eq $true) { + Write-LogMessage -API 'Standards' -tenant $tenant -message 'User Submission policy is properly configured.' -sev Info } else { if ($Policy.EnableReportToMicrosoft -eq $true) { - Write-LogMessage -API 'Standards' -tenant $tenant -message 'User Submission policy is enabled.' -sev Info + Write-LogMessage -API 'Standards' -tenant $tenant -message 'User Submission policy is enabled but incorrectly configured' -sev Alert } else { Write-LogMessage -API 'Standards' -tenant $tenant -message 'User Submission policy is disabled.' -sev Alert } } } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardallowOAuthTokens.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardallowOAuthTokens.ps1 index 1c26284c9315..bf8077378cb0 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardallowOAuthTokens.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardallowOAuthTokens.ps1 @@ -1,51 +1,37 @@ function Invoke-CIPPStandardallowOAuthTokens { <# .FUNCTIONALITY - Internal - .APINAME - allowOAuthTokens - .CAT - Entra (AAD) Standards - .TAG - "lowimpact" - .HELPTEXT - Allows you to use any software OAuth token generator - .DOCSDESCRIPTION - Enables OTP Software OAuth tokens for the tenant. This allows users to use OTP codes generated via software, like a password manager to be used as an authentication method. - .ADDEDCOMPONENT - .LABEL - Enable OTP Software OAuth tokens - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Update-MgBetaPolicyAuthenticationMethodPolicyAuthenticationMethodConfiguration - .RECOMMENDEDBY - .DOCSDESCRIPTION - Allows you to use any software OAuth token generator - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) allowOAuthTokens + .SYNOPSIS + (Label) Enable OTP Software OAuth tokens + .DESCRIPTION + (Helptext) Allows you to use any software OAuth token generator + (DocsDescription) Enables OTP Software OAuth tokens for the tenant. This allows users to use OTP codes generated via software, like a password manager to be used as an authentication method. + .NOTES + CAT + Entra (AAD) Standards + TAG + "lowimpact" + ADDEDCOMPONENT + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Update-MgBetaPolicyAuthenticationMethodPolicyAuthenticationMethodConfiguration + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + #$Rerun -Type Standard -Tenant $Tenant -API 'AddDKIM' -Settings $Settings $CurrentInfo = New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/policies/authenticationMethodsPolicy/authenticationMethodConfigurations/softwareOath' -tenantid $Tenant $State = if ($CurrentInfo.state -eq 'enabled') { $true } else { $false } - if ($Settings.report -eq $true) { - Add-CIPPBPAField -FieldName 'softwareOath' -FieldValue $State -StoreAs bool -Tenant $tenant - } - - # Input validation - if (([string]::IsNullOrWhiteSpace($Settings.state) -or $Settings.state -eq 'Select a value') -and ($Settings.remediate -eq $true -or $Settings.alert -eq $true)) { - Write-LogMessage -API 'Standards' -tenant $tenant -message 'allowOAuthTokens: Invalid state parameter set' -sev Error - Return - } - - - If ($Settings.remediate -eq $true) { if ($State) { Write-LogMessage -API 'Standards' -tenant $tenant -message 'Software OTP/oAuth tokens is already enabled.' -sev Info @@ -63,9 +49,8 @@ function Invoke-CIPPStandardallowOAuthTokens { } } + if ($Settings.report -eq $true) { + Add-CIPPBPAField -FieldName 'softwareOath' -FieldValue $State -StoreAs bool -Tenant $tenant + } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardallowOTPTokens.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardallowOTPTokens.ps1 index 57dd7c7adb49..7f5d0a442113 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardallowOTPTokens.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardallowOTPTokens.ps1 @@ -1,35 +1,34 @@ function Invoke-CIPPStandardallowOTPTokens { <# .FUNCTIONALITY - Internal - .APINAME - allowOTPTokens - .CAT - Entra (AAD) Standards - .TAG - "lowimpact" - .HELPTEXT - Allows you to use MS authenticator OTP token generator - .DOCSDESCRIPTION - Allows you to use Microsoft Authenticator OTP token generator. Useful for using the NPS extension as MFA on VPN clients. - .ADDEDCOMPONENT - .LABEL - Enable OTP via Authenticator - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Update-MgBetaPolicyAuthenticationMethodPolicyAuthenticationMethodConfiguration - .RECOMMENDEDBY - .DOCSDESCRIPTION - Allows you to use MS authenticator OTP token generator - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) allowOTPTokens + .SYNOPSIS + (Label) Enable OTP via Authenticator + .DESCRIPTION + (Helptext) Allows you to use MS authenticator OTP token generator + (DocsDescription) Allows you to use Microsoft Authenticator OTP token generator. Useful for using the NPS extension as MFA on VPN clients. + .NOTES + CAT + Entra (AAD) Standards + TAG + "lowimpact" + ADDEDCOMPONENT + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Update-MgBetaPolicyAuthenticationMethodPolicyAuthenticationMethodConfiguration + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + #$Rerun -Type Standard -Tenant $Tenant -API 'allowOTPTokens' -Settings $Settings + $CurrentInfo = New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/policies/authenticationMethodsPolicy/authenticationMethodConfigurations/microsoftAuthenticator' -tenantid $Tenant If ($Settings.remediate -eq $true) { @@ -53,7 +52,3 @@ function Invoke-CIPPStandardallowOTPTokens { } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardcalDefault.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardcalDefault.ps1 index e716d72e8651..a67b9132dedb 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardcalDefault.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardcalDefault.ps1 @@ -1,38 +1,36 @@ function Invoke-CIPPStandardcalDefault { <# .FUNCTIONALITY - Internal - .APINAME - calDefault - .CAT - Exchange Standards - .TAG - "lowimpact" - .HELPTEXT - Sets the default sharing level for the default calendar, for all users - .DOCSDESCRIPTION - Sets the default sharing level for the default calendar for all users in the tenant. You can read about the different sharing levels [here.](https://learn.microsoft.com/en-us/powershell/module/exchange/set-mailboxfolderpermission?view=exchange-ps#-accessrights) - .DISABLEDFEATURES - - .ADDEDCOMPONENT - {"type":"Select","label":"Select Sharing Level","name":"standards.calDefault.permissionlevel","values":[{"label":"Owner - The user can create, read, edit, and delete all items in the folder, and create subfolders. The user is both folder owner and folder contact.","value":"Owner"},{"label":"Publishing Editor - The user can create, read, edit, and delete all items in the folder, and create subfolders.","value":"PublishingEditor"},{"label":"Editor - The user can create items in the folder. The contents of the folder do not appear.","value":"Editor"},{"label":"Publishing Author. The user can read, create all items/subfolders. Can modify and delete only items they create.","value":"PublishingAuthor"},{"label":"Author - The user can create and read items, and modify and delete items that they create.","value":"Author"},{"label":"Non Editing Author - The user has full read access and create items. Can can delete only own items.","value":"NonEditingAuthor"},{"label":"Reviewer - The user can read all items in the folder.","value":"Reviewer"},{"label":"Contributor - The user can create items and folders.","value":"Contributor"},{"label":"Availability Only - Indicates that the user can view only free/busy time within the calendar.","value":"AvailabilityOnly"},{"label":"Limited Details - The user can view free/busy time within the calendar and the subject and location of appointments.","value":"LimitedDetails"},{"label":"None - The user has no permissions on the folder.","value":"none"}]} - .LABEL - Set Sharing Level for Default calendar - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Set-MailboxFolderPermission - .RECOMMENDEDBY - .DOCSDESCRIPTION - Sets the default sharing level for the default calendar, for all users - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block - #> - - + Internal + .COMPONENT + (APIName) calDefault + .SYNOPSIS + (Label) Set Sharing Level for Default calendar + .DESCRIPTION + (Helptext) Sets the default sharing level for the default calendar, for all users + (DocsDescription) Sets the default sharing level for the default calendar for all users in the tenant. You can read about the different sharing levels [here.](https://learn.microsoft.com/en-us/powershell/module/exchange/set-mailboxfolderpermission?view=exchange-ps#-accessrights) + .NOTES + CAT + Exchange Standards + TAG + "lowimpact" + DISABLEDFEATURES + ADDEDCOMPONENT + {"type":"Select","label":"Select Sharing Level","name":"standards.calDefault.permissionlevel","values":[{"label":"Owner - The user can create, read, edit, and delete all items in the folder, and create subfolders. The user is both folder owner and folder contact.","value":"Owner"},{"label":"Publishing Editor - The user can create, read, edit, and delete all items in the folder, and create subfolders.","value":"PublishingEditor"},{"label":"Editor - The user can create items in the folder. The contents of the folder do not appear.","value":"Editor"},{"label":"Publishing Author. The user can read, create all items/subfolders. Can modify and delete only items they create.","value":"PublishingAuthor"},{"label":"Author - The user can create and read items, and modify and delete items that they create.","value":"Author"},{"label":"Non Editing Author - The user has full read access and create items. Can can delete only own items.","value":"NonEditingAuthor"},{"label":"Reviewer - The user can read all items in the folder.","value":"Reviewer"},{"label":"Contributor - The user can create items and folders.","value":"Contributor"},{"label":"Availability Only - Indicates that the user can view only free/busy time within the calendar.","value":"AvailabilityOnly"},{"label":"Limited Details - The user can view free/busy time within the calendar and the subject and location of appointments.","value":"LimitedDetails"},{"label":"None - The user has no permissions on the folder.","value":"none"}]} + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Set-MailboxFolderPermission + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards + #> param($Tenant, $Settings, $QueueItem) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'calDefault' # Input validation if ([string]::IsNullOrWhiteSpace($Settings.permissionlevel) -or $Settings.permissionlevel -eq 'Select a value') { @@ -65,48 +63,44 @@ function Invoke-CIPPStandardcalDefault { $Mailbox = $_ try { New-ExoRequest -tenantid $Tenant -cmdlet 'Get-MailboxFolderStatistics' -cmdParams @{identity = $Mailbox.UserPrincipalName; FolderScope = 'Calendar' } -Anchor $Mailbox.UserPrincipalName | Where-Object { $_.FolderType -eq 'Calendar' } | - ForEach-Object { - try { - New-ExoRequest -tenantid $Tenant -cmdlet 'Set-MailboxFolderPermission' -cmdparams @{Identity = "$($Mailbox.UserPrincipalName):$($_.FolderId)"; User = 'Default'; AccessRights = $Settings.permissionlevel } -Anchor $Mailbox.UserPrincipalName - Write-LogMessage -API 'Standards' -tenant $Tenant -message "Set default folder permission for $($Mailbox.UserPrincipalName):\$($_.Name) to $($Settings.permissionlevel)" -sev Debug - $SuccessCounter++ - } catch { - $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message - Write-Host "Setting cal failed: $ErrorMessage" - Write-LogMessage -API 'Standards' -tenant $Tenant -message "Could not set default calendar permissions for $($Mailbox.UserPrincipalName). Error: $ErrorMessage" -sev Error - } + ForEach-Object { + try { + New-ExoRequest -tenantid $Tenant -cmdlet 'Set-MailboxFolderPermission' -cmdparams @{Identity = "$($Mailbox.UserPrincipalName):$($_.FolderId)"; User = 'Default'; AccessRights = $Settings.permissionlevel } -Anchor $Mailbox.UserPrincipalName + Write-LogMessage -API 'Standards' -tenant $Tenant -message "Set default folder permission for $($Mailbox.UserPrincipalName):\$($_.Name) to $($Settings.permissionlevel)" -sev Debug + $SuccessCounter++ + } catch { + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + Write-Host "Setting cal failed: $ErrorMessage" + Write-LogMessage -API 'Standards' -tenant $Tenant -message "Could not set default calendar permissions for $($Mailbox.UserPrincipalName). Error: $ErrorMessage" -sev Error } - } catch { - $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message - Write-LogMessage -API 'Standards' -tenant $Tenant -message "Could not set default calendar permissions for $($Mailbox.UserPrincipalName). Error: $ErrorMessage" -sev Error - } - $processedMailboxes++ - if ($processedMailboxes % 25 -eq 0) { - $LastRun = @{ - RowKey = 'calDefaults' - PartitionKey = $Tenant - totalMailboxes = $TotalMailboxes - processedMailboxes = $processedMailboxes - currentSuccessCount = $SuccessCounter - } - Add-CIPPAzDataTableEntity @LastRunTable -Entity $LastRun -Force - Write-Host "Processed $processedMailboxes mailboxes" } + } catch { + $ErrorMessage = Get-NormalizedError -Message $_.Exception.Message + Write-LogMessage -API 'Standards' -tenant $Tenant -message "Could not set default calendar permissions for $($Mailbox.UserPrincipalName). Error: $ErrorMessage" -sev Error } - - $LastRun = @{ - RowKey = 'calDefaults' - PartitionKey = $Tenant - totalMailboxes = $TotalMailboxes - processedMailboxes = $processedMailboxes - currentSuccessCount = $SuccessCounter + $processedMailboxes++ + if ($processedMailboxes % 25 -eq 0) { + $LastRun = @{ + RowKey = 'calDefaults' + PartitionKey = $Tenant + totalMailboxes = $TotalMailboxes + processedMailboxes = $processedMailboxes + currentSuccessCount = $SuccessCounter + } + Add-CIPPAzDataTableEntity @LastRunTable -Entity $LastRun -Force + Write-Host "Processed $processedMailboxes mailboxes" } - Add-CIPPAzDataTableEntity @LastRunTable -Entity $LastRun -Force - - Write-LogMessage -API 'Standards' -tenant $Tenant -message "Successfully set default calendar permissions for $SuccessCounter out of $TotalMailboxes mailboxes." -sev Info } - } - - + $LastRun = @{ + RowKey = 'calDefaults' + PartitionKey = $Tenant + totalMailboxes = $TotalMailboxes + processedMailboxes = $processedMailboxes + currentSuccessCount = $SuccessCounter + } + Add-CIPPAzDataTableEntity @LastRunTable -Entity $LastRun -Force + Write-LogMessage -API 'Standards' -tenant $Tenant -message "Successfully set default calendar permissions for $SuccessCounter out of $TotalMailboxes mailboxes." -sev Info + } +} diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandarddisableMacSync.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandarddisableMacSync.ps1 index 42f8977f066e..aeb24bbe8d7a 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandarddisableMacSync.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandarddisableMacSync.ps1 @@ -1,33 +1,34 @@ function Invoke-CIPPStandarddisableMacSync { <# .FUNCTIONALITY - Internal - .APINAME - disableMacSync - .CAT - SharePoint Standards - .TAG - "highimpact" - .HELPTEXT - Disables the ability for Mac devices to sync with OneDrive. - .ADDEDCOMPONENT - .LABEL - Do not allow Mac devices to sync using OneDrive - .IMPACT - High Impact - .POWERSHELLEQUIVALENT - Update-MgAdminSharepointSetting - .RECOMMENDEDBY - .DOCSDESCRIPTION - Disables the ability for Mac devices to sync with OneDrive. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) disableMacSync + .SYNOPSIS + (Label) Do not allow Mac devices to sync using OneDrive + .DESCRIPTION + (Helptext) Disables the ability for Mac devices to sync with OneDrive. + (DocsDescription) Disables the ability for Mac devices to sync with OneDrive. + .NOTES + CAT + SharePoint Standards + TAG + "highimpact" + ADDEDCOMPONENT + IMPACT + High Impact + POWERSHELLEQUIVALENT + Update-MgAdminSharepointSetting + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'disableMacSync' + $CurrentInfo = New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/admin/sharepoint/settings' -tenantid $Tenant -AsApp $true If ($Settings.remediate -eq $true) { @@ -60,7 +61,3 @@ function Invoke-CIPPStandarddisableMacSync { Add-CIPPBPAField -FieldName 'MacSync' -FieldValue $CurrentInfo.isMacSyncAppEnabled -StoreAs bool -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardintuneBrandingProfile.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardintuneBrandingProfile.ps1 index 1a15822c6e38..c4e9be0222af 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardintuneBrandingProfile.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardintuneBrandingProfile.ps1 @@ -1,72 +1,72 @@ function Invoke-CIPPStandardintuneBrandingProfile { - <# - .FUNCTIONALITY - Internal - .APINAME - intuneBrandingProfile - .CAT - Intune Standards - .TAG - "lowimpact" - .HELPTEXT - Sets the branding profile for the Intune Company Portal app. This is a tenant wide setting and overrules any settings set on the app level. - .ADDEDCOMPONENT - {"type":"input","name":"standards.intuneBrandingProfile.displayName","label":"Organization name"} - {"type":"boolean","name":"standards.intuneBrandingProfile.showLogo","label":"Show logo"} - {"type":"boolean","name":"standards.intuneBrandingProfile.showDisplayNameNextToLogo","label":"Show organization name next to logo"} - {"type":"input","name":"standards.intuneBrandingProfile.contactITName","label":"Contact IT name"} - {"type":"input","name":"standards.intuneBrandingProfile.contactITPhoneNumber","label":"Contact IT phone number"} - {"type":"input","name":"standards.intuneBrandingProfile.contactITEmailAddress","label":"Contact IT email address"} - {"type":"input","name":"standards.intuneBrandingProfile.contactITNotes","label":"Contact IT notes"} - {"type":"input","name":"standards.intuneBrandingProfile.onlineSupportSiteName","label":"Online support site name"} - {"type":"input","name":"standards.intuneBrandingProfile.onlineSupportSiteUrl","label":"Online support site URL"} - {"type":"input","name":"standards.intuneBrandingProfile.privacyUrl","label":"Privacy statement URL"} - .LABEL - Set Intune Company Portal branding profile - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Graph API - .RECOMMENDEDBY - .DOCSDESCRIPTION - Sets the branding profile for the Intune Company Portal app. This is a tenant wide setting and overrules any settings set on the app level. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block - #> - - - - + <# + .FUNCTIONALITY + Internal + .COMPONENT + (APIName) intuneBrandingProfile + .SYNOPSIS + (Label) Set Intune Company Portal branding profile + .DESCRIPTION + (Helptext) Sets the branding profile for the Intune Company Portal app. This is a tenant wide setting and overrules any settings set on the app level. + (DocsDescription) Sets the branding profile for the Intune Company Portal app. This is a tenant wide setting and overrules any settings set on the app level. + .NOTES + CAT + Intune Standards + TAG + "lowimpact" + ADDEDCOMPONENT + {"type":"input","name":"standards.intuneBrandingProfile.displayName","label":"Organization name"} + {"type":"boolean","name":"standards.intuneBrandingProfile.showLogo","label":"Show logo"} + {"type":"boolean","name":"standards.intuneBrandingProfile.showDisplayNameNextToLogo","label":"Show organization name next to logo"} + {"type":"input","name":"standards.intuneBrandingProfile.contactITName","label":"Contact IT name"} + {"type":"input","name":"standards.intuneBrandingProfile.contactITPhoneNumber","label":"Contact IT phone number"} + {"type":"input","name":"standards.intuneBrandingProfile.contactITEmailAddress","label":"Contact IT email address"} + {"type":"input","name":"standards.intuneBrandingProfile.contactITNotes","label":"Contact IT notes"} + {"type":"input","name":"standards.intuneBrandingProfile.onlineSupportSiteName","label":"Online support site name"} + {"type":"input","name":"standards.intuneBrandingProfile.onlineSupportSiteUrl","label":"Online support site URL"} + {"type":"input","name":"standards.intuneBrandingProfile.privacyUrl","label":"Privacy statement URL"} + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Graph API + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards + #> param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'intuneBrandingProfile' + $CurrentState = New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/deviceManagement/intuneBrandingProfiles/c3a59481-1bf2-46ce-94b3-66eec07a8d60/' -tenantid $Tenant -AsApp $true - $StateIsCorrect = ((-not $Settings.displayName) -or ($CurrentState.displayName -eq $Settings.displayName)) -and - ((-not $Settings.showLogo) -or ($CurrentState.showLogo -eq $Settings.showLogo)) -and + $StateIsCorrect = ((-not $Settings.displayName) -or ($CurrentState.displayName -eq $Settings.displayName)) -and + ((-not $Settings.showLogo) -or ($CurrentState.showLogo -eq $Settings.showLogo)) -and ((-not $Settings.showDisplayNameNextToLogo) -or ($CurrentState.showDisplayNameNextToLogo -eq $Settings.showDisplayNameNextToLogo)) -and - ((-not $Settings.contactITName) -or ($CurrentState.contactITName -eq $Settings.contactITName)) -and - ((-not $Settings.contactITPhoneNumber) -or ($CurrentState.contactITPhoneNumber -eq $Settings.contactITPhoneNumber)) -and - ((-not $Settings.contactITEmailAddress) -or ($CurrentState.contactITEmailAddress -eq $Settings.contactITEmailAddress)) -and - ((-not $Settings.contactITNotes) -or ($CurrentState.contactITNotes -eq $Settings.contactITNotes)) -and - ((-not $Settings.onlineSupportSiteName) -or ($CurrentState.onlineSupportSiteName -eq $Settings.onlineSupportSiteName)) -and - ((-not $Settings.onlineSupportSiteUrl) -or ($CurrentState.onlineSupportSiteUrl -eq $Settings.onlineSupportSiteUrl)) -and - ((-not $Settings.privacyUrl) -or ($CurrentState.privacyUrl -eq $Settings.privacyUrl)) + ((-not $Settings.contactITName) -or ($CurrentState.contactITName -eq $Settings.contactITName)) -and + ((-not $Settings.contactITPhoneNumber) -or ($CurrentState.contactITPhoneNumber -eq $Settings.contactITPhoneNumber)) -and + ((-not $Settings.contactITEmailAddress) -or ($CurrentState.contactITEmailAddress -eq $Settings.contactITEmailAddress)) -and + ((-not $Settings.contactITNotes) -or ($CurrentState.contactITNotes -eq $Settings.contactITNotes)) -and + ((-not $Settings.onlineSupportSiteName) -or ($CurrentState.onlineSupportSiteName -eq $Settings.onlineSupportSiteName)) -and + ((-not $Settings.onlineSupportSiteUrl) -or ($CurrentState.onlineSupportSiteUrl -eq $Settings.onlineSupportSiteUrl)) -and + ((-not $Settings.privacyUrl) -or ($CurrentState.privacyUrl -eq $Settings.privacyUrl)) if ($Settings.remediate -eq $true) { if ($StateIsCorrect -eq $true) { Write-LogMessage -API 'Standards' -tenant $tenant -message 'Intune Branding Profile is already correctly configured' -sev Info } else { $Body = @{} - if ($Settings.displayName) { $Body.displayName = $Settings.displayName } - if ($Settings.showLogo) { $Body.showLogo = $Settings.showLogo } - if ($Settings.showDisplayNameNextToLogo) { $Body.showDisplayNameNextToLogo = $Settings.showDisplayNameNextToLogo } - if ($Settings.contactITName) { $Body.contactITName = $Settings.contactITName } - if ($Settings.contactITPhoneNumber) { $Body.contactITPhoneNumber = $Settings.contactITPhoneNumber } - if ($Settings.contactITEmailAddress) { $Body.contactITEmailAddress = $Settings.contactITEmailAddress } - if ($Settings.contactITNotes) { $Body.contactITNotes = $Settings.contactITNotes } - if ($Settings.onlineSupportSiteName) { $Body.onlineSupportSiteName = $Settings.onlineSupportSiteName } - if ($Settings.onlineSupportSiteUrl) { $Body.onlineSupportSiteUrl = $Settings.onlineSupportSiteUrl } - if ($Settings.privacyUrl) { $Body.privacyUrl = $Settings.privacyUrl } + if ($Settings.displayName) { $Body.displayName = $Settings.displayName } + if ($Settings.showLogo) { $Body.showLogo = $Settings.showLogo } + if ($Settings.showDisplayNameNextToLogo) { $Body.showDisplayNameNextToLogo = $Settings.showDisplayNameNextToLogo } + if ($Settings.contactITName) { $Body.contactITName = $Settings.contactITName } + if ($Settings.contactITPhoneNumber) { $Body.contactITPhoneNumber = $Settings.contactITPhoneNumber } + if ($Settings.contactITEmailAddress) { $Body.contactITEmailAddress = $Settings.contactITEmailAddress } + if ($Settings.contactITNotes) { $Body.contactITNotes = $Settings.contactITNotes } + if ($Settings.onlineSupportSiteName) { $Body.onlineSupportSiteName = $Settings.onlineSupportSiteName } + if ($Settings.onlineSupportSiteUrl) { $Body.onlineSupportSiteUrl = $Settings.onlineSupportSiteUrl } + if ($Settings.privacyUrl) { $Body.privacyUrl = $Settings.privacyUrl } $cmdparams = @{ tenantid = $tenant @@ -99,7 +99,3 @@ function Invoke-CIPPStandardintuneBrandingProfile { Add-CIPPBPAField -FieldName 'intuneBrandingProfile' -FieldValue [bool]$StateIsCorrect -StoreAs bool -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardintuneDeviceReg.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardintuneDeviceReg.ps1 index 9dbcdbba602c..beb6174fbdcc 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardintuneDeviceReg.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardintuneDeviceReg.ps1 @@ -1,34 +1,35 @@ function Invoke-CIPPStandardintuneDeviceReg { <# .FUNCTIONALITY - Internal - .APINAME - intuneDeviceReg - .CAT - Intune Standards - .TAG - "mediumimpact" - .HELPTEXT - sets the maximum number of devices that can be registered by a user. A value of 0 disables device registration by users - .ADDEDCOMPONENT - {"type":"number","name":"standards.intuneDeviceReg.max","label":"Maximum devices (Enter 2147483647 for unlimited.)"} - .LABEL - Set Maximum Number of Devices per user - .IMPACT - Medium Impact - .POWERSHELLEQUIVALENT - Update-MgBetaPolicyDeviceRegistrationPolicy - .RECOMMENDEDBY - .DOCSDESCRIPTION - sets the maximum number of devices that can be registered by a user. A value of 0 disables device registration by users - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) intuneDeviceReg + .SYNOPSIS + (Label) Set Maximum Number of Devices per user + .DESCRIPTION + (Helptext) sets the maximum number of devices that can be registered by a user. A value of 0 disables device registration by users + (DocsDescription) sets the maximum number of devices that can be registered by a user. A value of 0 disables device registration by users + .NOTES + CAT + Intune Standards + TAG + "mediumimpact" + ADDEDCOMPONENT + {"type":"number","name":"standards.intuneDeviceReg.max","label":"Maximum devices (Enter 2147483647 for unlimited.)"} + IMPACT + Medium Impact + POWERSHELLEQUIVALENT + Update-MgBetaPolicyDeviceRegistrationPolicy + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'intuneDeviceReg' + $PreviousSetting = New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/policies/deviceRegistrationPolicy' -tenantid $Tenant $StateIsCorrect = if ($PreviousSetting.userDeviceQuota -eq $Settings.max) { $true } else { $false } @@ -63,7 +64,3 @@ function Invoke-CIPPStandardintuneDeviceReg { Add-CIPPBPAField -FieldName 'intuneDeviceReg' -FieldValue $StateIsCorrect -StoreAs bool -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardintuneDeviceRetirementDays.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardintuneDeviceRetirementDays.ps1 index 1ea419e2639d..6e8792d71df7 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardintuneDeviceRetirementDays.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardintuneDeviceRetirementDays.ps1 @@ -1,34 +1,34 @@ function Invoke-CIPPStandardintuneDeviceRetirementDays { <# .FUNCTIONALITY - Internal - .APINAME - intuneDeviceRetirementDays - .CAT - Intune Standards - .TAG - "lowimpact" - .HELPTEXT - A value between 0 and 270 is supported. A value of 0 disables retirement, retired devices are removed from Intune after the specified number of days. - .ADDEDCOMPONENT - {"type":"number","name":"standards.intuneDeviceRetirementDays.days","label":"Maximum days (0 equals disabled)"} - .LABEL - Set inactive device retirement days - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Graph API - .RECOMMENDEDBY - .DOCSDESCRIPTION - A value between 0 and 270 is supported. A value of 0 disables retirement, retired devices are removed from Intune after the specified number of days. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) intuneDeviceRetirementDays + .SYNOPSIS + (Label) Set inactive device retirement days + .DESCRIPTION + (Helptext) A value between 0 and 270 is supported. A value of 0 disables retirement, retired devices are removed from Intune after the specified number of days. + (DocsDescription) A value between 0 and 270 is supported. A value of 0 disables retirement, retired devices are removed from Intune after the specified number of days. + .NOTES + CAT + Intune Standards + TAG + "lowimpact" + ADDEDCOMPONENT + {"type":"number","name":"standards.intuneDeviceRetirementDays.days","label":"Maximum days (0 equals disabled)"} + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Graph API + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'intuneDeviceRetirementDays' $CurrentInfo = (New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/deviceManagement/managedDeviceCleanupSettings' -tenantid $Tenant) $StateIsCorrect = if ($PreviousSetting.DeviceInactivityBeforeRetirementInDays -eq $Settings.days) { $true } else { $false } @@ -63,7 +63,3 @@ function Invoke-CIPPStandardintuneDeviceRetirementDays { Add-CIPPBPAField -FieldName 'intuneDeviceRetirementDays' -FieldValue $StateIsCorrect -StoreAs bool -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardintuneRequireMFA.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardintuneRequireMFA.ps1 index 79c0d352d1c9..dfce677e2bc3 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardintuneRequireMFA.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardintuneRequireMFA.ps1 @@ -1,32 +1,33 @@ function Invoke-CIPPStandardintuneRequireMFA { <# .FUNCTIONALITY - Internal - .APINAME - intuneRequireMFA - .CAT - Intune Standards - .TAG - "mediumimpact" - .HELPTEXT - Requires MFA for all users to register devices with Intune. This is useful when not using Conditional Access. - .LABEL - Require Multifactor Authentication to register or join devices with Microsoft Entra - .IMPACT - Medium Impact - .POWERSHELLEQUIVALENT - Update-MgBetaPolicyDeviceRegistrationPolicy - .RECOMMENDEDBY - .DOCSDESCRIPTION - Requires MFA for all users to register devices with Intune. This is useful when not using Conditional Access. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) intuneRequireMFA + .SYNOPSIS + (Label) Require Multifactor Authentication to register or join devices with Microsoft Entra + .DESCRIPTION + (Helptext) Requires MFA for all users to register devices with Intune. This is useful when not using Conditional Access. + (DocsDescription) Requires MFA for all users to register devices with Intune. This is useful when not using Conditional Access. + .NOTES + CAT + Intune Standards + TAG + "mediumimpact" + IMPACT + Medium Impact + POWERSHELLEQUIVALENT + Update-MgBetaPolicyDeviceRegistrationPolicy + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'intuneRequireMFA' + $PreviousSetting = New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/policies/deviceRegistrationPolicy' -tenantid $Tenant If ($Settings.remediate -eq $true) { @@ -60,7 +61,3 @@ function Invoke-CIPPStandardintuneRequireMFA { Add-CIPPBPAField -FieldName 'intuneRequireMFA' -FieldValue $RequireMFA -StoreAs bool -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardlaps.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardlaps.ps1 index b159a5d5796f..307e631cd868 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardlaps.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardlaps.ps1 @@ -1,35 +1,34 @@ function Invoke-CIPPStandardlaps { <# .FUNCTIONALITY - Internal - .APINAME - laps - .CAT - Entra (AAD) Standards - .TAG - "lowimpact" - .HELPTEXT - Enables the tenant to use LAPS. You must still create a policy for LAPS to be active on all devices. Use the template standards to deploy this by default. - .DOCSDESCRIPTION - Enables the LAPS functionality on the tenant. Prerequisite for using Windows LAPS via Azure AD. - .ADDEDCOMPONENT - .LABEL - Enable LAPS on the tenant - .IMPACT - Low Impact - .POWERSHELLEQUIVALENT - Portal or Graph API - .RECOMMENDEDBY - .DOCSDESCRIPTION - Enables the tenant to use LAPS. You must still create a policy for LAPS to be active on all devices. Use the template standards to deploy this by default. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) laps + .SYNOPSIS + (Label) Enable LAPS on the tenant + .DESCRIPTION + (Helptext) Enables the tenant to use LAPS. You must still create a policy for LAPS to be active on all devices. Use the template standards to deploy this by default. + (DocsDescription) Enables the LAPS functionality on the tenant. Prerequisite for using Windows LAPS via Azure AD. + .NOTES + CAT + Entra (AAD) Standards + TAG + "lowimpact" + ADDEDCOMPONENT + IMPACT + Low Impact + POWERSHELLEQUIVALENT + Portal or Graph API + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'laps' + $PreviousSetting = New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/policies/deviceRegistrationPolicy' -tenantid $Tenant If ($Settings.remediate -eq $true) { @@ -62,7 +61,3 @@ function Invoke-CIPPStandardlaps { Add-CIPPBPAField -FieldName 'laps' -FieldValue $PreviousSetting.localAdminPassword.isEnabled -StoreAs bool -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardsharingCapability.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardsharingCapability.ps1 index 1f0f3f7e9f5d..a8c962b2f0a0 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardsharingCapability.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardsharingCapability.ps1 @@ -1,36 +1,36 @@ function Invoke-CIPPStandardsharingCapability { <# .FUNCTIONALITY - Internal - .APINAME - sharingCapability - .CAT - SharePoint Standards - .TAG - "highimpact" - "CIS" - .HELPTEXT - Sets the default sharing level for OneDrive and Sharepoint. This is a tenant wide setting and overrules any settings set on the site level - .ADDEDCOMPONENT - {"type":"Select","label":"Select Sharing Level","name":"standards.sharingCapability.Level","values":[{"label":"Users can share only with people in the organization. No external sharing is allowed.","value":"disabled"},{"label":"Users can share with new and existing guests. Guests must sign in or provide a verification code.","value":"externalUserSharingOnly"},{"label":"Users can share with anyone by using links that do not require sign-in.","value":"externalUserAndGuestSharing"},{"label":"Users can share with existing guests (those already in the directory of the organization).","value":"existingExternalUserSharingOnly"}]} - .LABEL - Set Sharing Level for OneDrive and Sharepoint - .IMPACT - High Impact - .POWERSHELLEQUIVALENT - Update-MgBetaAdminSharepointSetting - .RECOMMENDEDBY - "CIS" - .DOCSDESCRIPTION - Sets the default sharing level for OneDrive and Sharepoint. This is a tenant wide setting and overrules any settings set on the site level - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) sharingCapability + .SYNOPSIS + (Label) Set Sharing Level for OneDrive and Sharepoint + .DESCRIPTION + (Helptext) Sets the default sharing level for OneDrive and Sharepoint. This is a tenant wide setting and overrules any settings set on the site level + (DocsDescription) Sets the default sharing level for OneDrive and Sharepoint. This is a tenant wide setting and overrules any settings set on the site level + .NOTES + CAT + SharePoint Standards + TAG + "highimpact" + "CIS" + ADDEDCOMPONENT + {"type":"Select","label":"Select Sharing Level","name":"standards.sharingCapability.Level","values":[{"label":"Users can share only with people in the organization. No external sharing is allowed.","value":"disabled"},{"label":"Users can share with new and existing guests. Guests must sign in or provide a verification code.","value":"externalUserSharingOnly"},{"label":"Users can share with anyone by using links that do not require sign-in.","value":"externalUserAndGuestSharing"},{"label":"Users can share with existing guests (those already in the directory of the organization).","value":"existingExternalUserSharingOnly"}]} + IMPACT + High Impact + POWERSHELLEQUIVALENT + Update-MgBetaAdminSharepointSetting + RECOMMENDEDBY + "CIS" + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'sharingCapability' $CurrentInfo = New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/admin/sharepoint/settings' -tenantid $Tenant -AsApp $true @@ -39,7 +39,7 @@ function Invoke-CIPPStandardsharingCapability { } # Input validation - if (([string]::IsNullOrWhiteSpace($Settings.sharingCapability) -or $Settings.sharingCapability -eq 'Select a value') -and ($Settings.remediate -eq $true -or $Settings.alert -eq $true)) { + if (([string]::IsNullOrWhiteSpace($Settings.Level -or $Settings.Level -eq 'Select a value') -and ($Settings.remediate -eq $true -or $Settings.alert -eq $true))) { Write-LogMessage -API 'Standards' -tenant $tenant -message 'sharingCapability: Invalid sharingCapability parameter set' -sev Error Return } @@ -70,7 +70,3 @@ function Invoke-CIPPStandardsharingCapability { } } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardsharingDomainRestriction.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardsharingDomainRestriction.ps1 index c148a249f8e0..9ea89a31897b 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardsharingDomainRestriction.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardsharingDomainRestriction.ps1 @@ -1,37 +1,37 @@ function Invoke-CIPPStandardsharingDomainRestriction { - <# - .FUNCTIONALITY - Internal - .APINAME - sharingDomainRestriction - .CAT - SharePoint Standards - .TAG - "highimpact" - "CIS" - .HELPTEXT - Restricts sharing to only users with the specified domain. This is useful for organizations that only want to share with their own domain. - .ADDEDCOMPONENT - {"type":"Select","name":"standards.sharingDomainRestriction.Mode","label":"Limit external sharing by domains","values":[{"label":"Off","value":"none"},{"label":"Restirct sharing to specific domains","value":"allowList"},{"label":"Block sharing to specific domains","value":"blockList"}]} - {"type":"input","name":"standards.sharingDomainRestriction.Domains","label":"Domains to allow/block, comma separated"} - .LABEL - Restrict sharing to a specific domain - .IMPACT - High Impact - .POWERSHELLEQUIVALENT - Update-MgAdminSharepointSetting - .RECOMMENDEDBY - .DOCSDESCRIPTION - Restricts sharing to only users with the specified domain. This is useful for organizations that only want to share with their own domain. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block - #> - - - - + <# + .FUNCTIONALITY + Internal + .COMPONENT + (APIName) sharingDomainRestriction + .SYNOPSIS + (Label) Restrict sharing to a specific domain + .DESCRIPTION + (Helptext) Restricts sharing to only users with the specified domain. This is useful for organizations that only want to share with their own domain. + (DocsDescription) Restricts sharing to only users with the specified domain. This is useful for organizations that only want to share with their own domain. + .NOTES + CAT + SharePoint Standards + TAG + "highimpact" + "CIS" + ADDEDCOMPONENT + {"type":"Select","name":"standards.sharingDomainRestriction.Mode","label":"Limit external sharing by domains","values":[{"label":"Off","value":"none"},{"label":"Restrict sharing to specific domains","value":"allowList"},{"label":"Block sharing to specific domains","value":"blockList"}]} + {"type":"input","name":"standards.sharingDomainRestriction.Domains","label":"Domains to allow/block, comma separated"} + IMPACT + High Impact + POWERSHELLEQUIVALENT + Update-MgAdminSharepointSetting + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards + #> param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'sharingDomainRestriction' + $CurrentState = New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/admin/sharepoint/settings' -tenantid $Tenant -AsApp $true if ($Settings.Mode -eq 'none' -or $null -eq $Settings.Mode) { @@ -88,7 +88,3 @@ function Invoke-CIPPStandardsharingDomainRestriction { Add-CIPPBPAField -FieldName 'sharingDomainRestriction' -FieldValue [bool]$StateIsCorrect -StoreAs bool -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardunmanagedSync.ps1 b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardunmanagedSync.ps1 index cc7f13e36fa8..4e2ad5693119 100644 --- a/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardunmanagedSync.ps1 +++ b/Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardunmanagedSync.ps1 @@ -1,33 +1,34 @@ function Invoke-CIPPStandardunmanagedSync { <# .FUNCTIONALITY - Internal - .APINAME - unmanagedSync - .CAT - SharePoint Standards - .TAG - "highimpact" - .HELPTEXT - The unmanaged Sync standard has been temporarily disabled and does nothing. - .ADDEDCOMPONENT - .LABEL - Only allow users to sync OneDrive from AAD joined devices - .IMPACT - High Impact - .POWERSHELLEQUIVALENT - Update-MgAdminSharepointSetting - .RECOMMENDEDBY - .DOCSDESCRIPTION - The unmanaged Sync standard has been temporarily disabled and does nothing. - .UPDATECOMMENTBLOCK - Run the Tools\Update-StandardsComments.ps1 script to update this comment block + Internal + .COMPONENT + (APIName) unmanagedSync + .SYNOPSIS + (Label) Only allow users to sync OneDrive from AAD joined devices + .DESCRIPTION + (Helptext) The unmanaged Sync standard has been temporarily disabled and does nothing. + (DocsDescription) The unmanaged Sync standard has been temporarily disabled and does nothing. + .NOTES + CAT + SharePoint Standards + TAG + "highimpact" + ADDEDCOMPONENT + IMPACT + High Impact + POWERSHELLEQUIVALENT + Update-MgAdminSharepointSetting + RECOMMENDEDBY + UPDATECOMMENTBLOCK + Run the Tools\Update-StandardsComments.ps1 script to update this comment block + .LINK + https://docs.cipp.app/user-documentation/tenant/standards/edit-standards #> - - - param($Tenant, $Settings) + ##$Rerun -Type Standard -Tenant $Tenant -Settings $Settings 'unmanagedSync' + $CurrentInfo = New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/admin/sharepoint/settings' -tenantid $Tenant -AsApp $true If ($Settings.remediate -eq $true) { @@ -59,7 +60,3 @@ function Invoke-CIPPStandardunmanagedSync { Add-CIPPBPAField -FieldName 'unmanagedSync' -FieldValue $CurrentInfo.isUnmanagedSyncAppForTenantRestricted -StoreAs bool -Tenant $tenant } } - - - - diff --git a/Modules/CIPPCore/Public/Test-CIPPAccessPermissions.ps1 b/Modules/CIPPCore/Public/Test-CIPPAccessPermissions.ps1 index f8a83a85bcaf..ff9878957e2b 100644 --- a/Modules/CIPPCore/Public/Test-CIPPAccessPermissions.ps1 +++ b/Modules/CIPPCore/Public/Test-CIPPAccessPermissions.ps1 @@ -5,7 +5,9 @@ function Test-CIPPAccessPermissions { $APIName = 'Access Check', $ExecutingUser ) - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Started permissions check' -Sev 'Debug' + + $User = $request.headers.'x-ms-client-principal-name' + Write-LogMessage -user $User -API $APINAME -message 'Started permissions check' -Sev 'Debug' $Messages = [System.Collections.Generic.List[string]]::new() $ErrorMessages = [System.Collections.Generic.List[string]]::new() $MissingPermissions = [System.Collections.Generic.List[string]]::new() @@ -29,7 +31,7 @@ function Test-CIPPAccessPermissions { $null = Get-CIPPAuthentication $GraphToken = Get-GraphToken -returnRefresh $true -SkipCache $true if ($GraphToken) { - $GraphPermissions = New-GraphGetRequest -uri "https://graph.microsoft.com/beta/myorganization/applications?`$filter=appId eq '$env:ApplicationID'" -NoAuthCheck $true + $GraphPermissions = New-GraphGetRequest -uri "https://graph.microsoft.com/beta/myorganization/applications(appId='$env:ApplicationID')" -NoAuthCheck $true } if ($env:MSI_SECRET) { try { @@ -52,18 +54,20 @@ function Test-CIPPAccessPermissions { $Messages.Add('Your refresh token matches key vault.') | Out-Null } } catch { - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $tenant -message "Key vault exception: $($_) " -Sev 'Error' + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $User -API $APINAME -tenant $tenant -message "Key vault exception: $($ErrorMessage.NormalizedError) " -Sev 'Error' -LogData $ErrorMessage } } try { $AccessTokenDetails = Read-JwtAccessDetails -Token $GraphToken.access_token -erroraction SilentlyContinue } catch { + $ErrorMessage = Get-CippException -Exception $_ $AccessTokenDetails = [PSCustomObject]@{ Name = '' AuthMethods = @() } - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $tenant -message "Token exception: $($_) " -Sev 'Error' + Write-LogMessage -user $User -API $APINAME -tenant $tenant -message "Token exception: $($ErrorMessage.NormalizedError_) " -Sev 'Error' -LogData $ErrorMessage $Success = $false Write-Host 'Setting success to false due to not able to decode token.' @@ -108,8 +112,9 @@ function Test-CIPPAccessPermissions { } } catch { - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Permissions check failed: $($_) " -Sev 'Error' - $ErrorMessages.Add("We could not connect to the API to retrieve the permissions. There might be a problem with the secure application model configuration. The returned error is: $(Get-NormalizedError -message $_)") | Out-Null + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $User -API $APINAME -message "Permissions check failed: $($ErrorMessage.NormalizedError) " -Sev 'Error' -LogData $ErrorMessage + $ErrorMessages.Add("We could not connect to the API to retrieve the permissions. There might be a problem with the secure application model configuration. The returned error is: $($ErrorMessage.NormalizedError)") | Out-Null Write-Host 'Setting success to False due to not being able to connect.' $Success = $false @@ -118,7 +123,8 @@ function Test-CIPPAccessPermissions { if ($Success -eq $true) { $Messages.Add('No service account issues have been found. CIPP is ready for use.') | Out-Null } - return [PSCustomObject]@{ + + $AccessCheck = [PSCustomObject]@{ AccessTokenDetails = $AccessTokenDetails Messages = @($Messages) ErrorMessages = @($ErrorMessages) @@ -126,4 +132,19 @@ function Test-CIPPAccessPermissions { Links = @($Links) Success = $Success } + + $Table = Get-CIPPTable -TableName AccessChecks + $Data = Get-CIPPAzDataTableEntity @Table -Filter "PartitionKey eq 'AccessCheck' and RowKey eq 'AccessPermissions'" + if ($Data) { + $Data.Data = [string](ConvertTo-Json -InputObject $AccessCheck -Depth 10 -Compress) + } else { + $Data = @{ + PartitionKey = 'AccessCheck' + RowKey = 'AccessPermissions' + Data = [string](ConvertTo-Json -InputObject $AccessCheck -Depth 10 -Compress) + } + } + Add-CIPPAzDataTableEntity @Table -Entity $Data -Force + + return $AccessCheck } diff --git a/Modules/CIPPCore/Public/Test-CIPPAccessTenant.ps1 b/Modules/CIPPCore/Public/Test-CIPPAccessTenant.ps1 index 842b4f4b66aa..69d1057e4302 100644 --- a/Modules/CIPPCore/Public/Test-CIPPAccessTenant.ps1 +++ b/Modules/CIPPCore/Public/Test-CIPPAccessTenant.ps1 @@ -42,7 +42,7 @@ function Test-CIPPAccessTenant { #Write-Host ($GDAPRolesGraph.body.value | ConvertTo-Json -Depth 10) foreach ($RoleId in $ExpectedRoles) { $GraphRole = $GDAPRolesGraph.body.value | Where-Object -Property roleDefinitionId -EQ $RoleId.Id - $Role = $GraphRole.principal | Where-Object -Property organizationId -EQ $ENV:tenantid + $Role = $GraphRole.principal | Where-Object -Property organizationId -EQ $ENV:TenantID if (!$Role) { $MissingRoles.Add( @@ -68,34 +68,36 @@ function Test-CIPPAccessTenant { GDAPRoles = $GDAPRoles MissingRoles = $MissingRoles } - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $tenant -message 'Tenant access check executed successfully' -Sev 'Info' + Write-LogMessage -user $ExecutingUser -API $APINAME -tenant $tenant -message 'Tenant access check executed successfully' -Sev 'Info' } catch { + $ErrorMessage = Get-CippException -Exception $_ @{ TenantName = "$($tenant)" - Status = "Failed to connect: $(Get-NormalizedError -message $_.Exception.Message)" + Status = "Failed to connect: $($ErrorMessage.NormalizedError)" GDAP = '' } - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $tenant -message "Tenant access check failed: $(Get-NormalizedError -message $_) " -Sev 'Error' + Write-LogMessage -user $ExecutingUser -API $APINAME -tenant $tenant -message "Tenant access check failed: $($ErrorMessage.NormalizedError) " -Sev 'Error' -LogData $ErrorMessage } try { - $GraphRequest = New-ExoRequest -tenantid $Tenant -cmdlet 'Get-OrganizationConfig' -ErrorAction Stop + $null = New-ExoRequest -tenantid $Tenant -cmdlet 'Get-OrganizationConfig' -ErrorAction Stop @{ TenantName = "$($Tenant)" Status = 'Successfully connected to Exchange' } } catch { + $ErrorMessage = Get-CippException -Exception $_ $ReportedError = ($_.ErrorDetails | ConvertFrom-Json -ErrorAction SilentlyContinue) $Message = if ($ReportedError.error.details.message) { $ReportedError.error.details.message } else { $ReportedError.error.innererror.internalException.message } if ($null -eq $Message) { $Message = $($_.Exception.Message) } @{ TenantName = "$($Tenant)" - Status = "Failed to connect to Exchange: $(Get-NormalizedError -message $Message)" + Status = "Failed to connect to Exchange: $($ErrorMessage.NormalizedError)" } - Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $tenant -message "Tenant access check for Exchange failed: $(Get-NormalizedError -message $Message) " -Sev 'Error' + Write-LogMessage -user $ExecutingUser -API $APINAME -tenant $tenant -message "Tenant access check for Exchange failed: $($ErrorMessage.NormalizedError) " -Sev 'Error' -LogData $ErrorMessage } } if (!$Tenants) { $results = 'Could not load the tenants list from cache. Please run permissions check first, or visit the tenants page.' } diff --git a/Modules/CIPPCore/Public/Test-CIPPGDAPRelationships.ps1 b/Modules/CIPPCore/Public/Test-CIPPGDAPRelationships.ps1 index d527bdd0ff3b..71b7cae9808a 100644 --- a/Modules/CIPPCore/Public/Test-CIPPGDAPRelationships.ps1 +++ b/Modules/CIPPCore/Public/Test-CIPPGDAPRelationships.ps1 @@ -89,13 +89,29 @@ function Test-CIPPGDAPRelationships { } } catch { - Write-LogMessage -user $ExecutingUser -API $APINAME -message "Failed to run GDAP check for $($TenantFilter): $($_.Exception.Message)" -Sev 'Error' + $ErrorMessage = Get-CippException -Exception $_ + Write-LogMessage -user $ExecutingUser -API $APINAME -message "Failed to run GDAP check for $($TenantFilter): $($ErrorMessage.NormalizedError)" -Sev 'Error' -LogData $ErrorMessage } - return [PSCustomObject]@{ + $GDAPRelationships = [PSCustomObject]@{ GDAPIssues = @($GDAPissues) MissingGroups = @($MissingGroups) Memberships = @($SAMUserMemberships) CIPPGroupCount = $CIPPGroupCount } + + $Table = Get-CIPPTable -TableName AccessChecks + $Data = Get-CIPPAzDataTableEntity @Table -Filter "PartitionKey eq 'AccessCheck' and RowKey eq 'GDAPRelationships'" + if ($Data) { + $Data.Data = [string](ConvertTo-Json -InputObject $GDAPRelationships -Depth 10 -Compress) + } else { + $Data = @{ + PartitionKey = 'AccessCheck' + RowKey = 'GDAPRelationships' + Data = [string](ConvertTo-Json -InputObject $GDAPRelationships -Depth 10 -Compress) + } + } + Add-CIPPAzDataTableEntity @Table -Entity $Data -Force + + return $GDAPRelationships } diff --git a/Modules/CIPPCore/Public/Test-CIPPRerun.ps1 b/Modules/CIPPCore/Public/Test-CIPPRerun.ps1 new file mode 100644 index 000000000000..d2531f68ada2 --- /dev/null +++ b/Modules/CIPPCore/Public/Test-CIPPRerun.ps1 @@ -0,0 +1,60 @@ +function Test-CIPPRerun { + [CmdletBinding()] + param ( + $TenantFilter, + $Type, + $API, + $Settings, + $ExecutingUser + ) + $RerunTable = Get-CIPPTable -tablename 'RerunCache' + $EstimatedDifference = switch ($Type) { + 'Standard' { 9800 } # 2 hours 45 minutes ish. + 'BPA' { 85000 } # 24 hours ish. + default { throw "Unknown type: $Type" } + } + $CurrentUnixTime = [int][double]::Parse((Get-Date -UFormat %s)) + $EstimatedNextRun = $CurrentUnixTime + $EstimatedDifference + + try { + $RerunData = Get-CIPPAzDataTableEntity @RerunTable -filter "PartitionKey eq '$($TenantFilter)' and RowKey eq '$($Type)_$($API)'" + if ($RerunData) { + if ($Settings -and $RerunData.Settings) { + Write-Host 'Testing rerun settings' + $PreviousSettings = $RerunData.Settings + $NewSettings = $($Settings | ConvertTo-Json -Depth 10 -Compress) + if ($NewSettings.Length -ne $PreviousSettings.Length) { + Write-Host "$($NewSettings.Length) vs $($PreviousSettings.Length) - settings have changed." + $RerunData.EstimatedNextRun = $EstimatedNextRun + $RerunData.Settings = "$($Settings | ConvertTo-Json -Depth 10 -Compress)" + Add-CIPPAzDataTableEntity @RerunTable -Entity $RerunData -Force + return $false # Not a rerun because settings have changed. + } + } + if ($RerunData.EstimatedNextRun -gt $CurrentUnixTime) { + Write-LogMessage -message "Standard rerun detected for $($API). Prevented from running again." -tenant $TenantFilter -user $ExecutingUser -Sev 'Info' + return $true + } else { + $RerunData.EstimatedNextRun = $EstimatedNextRun + $RerunData.Settings = "$($Settings | ConvertTo-Json -Depth 10 -Compress)" + Add-CIPPAzDataTableEntity @RerunTable -Entity $RerunData -Force + return $false + } + } else { + $EstimatedNextRun = $CurrentUnixTime + $EstimatedDifference + $NewEntity = @{ + PartitionKey = "$TenantFilter" + RowKey = "$($Type)_$($API)" + Settings = "$($Settings | ConvertTo-Json -Depth 10 -Compress)" + EstimatedNextRun = $EstimatedNextRun + } + Add-CIPPAzDataTableEntity @RerunTable -Entity $NewEntity -Force + return $false + } + } catch { + $ErrorMessage = Get-CippException -Exception $_ + Write-Host "Could not detect if this is a rerun: $($ErrorMessage.NormalizedError)" + Write-LogMessage -user $ExecutingUser -API $API -message "Could not detect if this is a rerun: $($ErrorMessage.NormalizedError)" -Sev 'Error' -LogData $ErrorMessage + return $false + } +} diff --git a/Modules/CIPPCore/Public/Webhooks/Get-CIPPAuditLogContentBundles.ps1 b/Modules/CIPPCore/Public/Webhooks/Get-CIPPAuditLogContentBundles.ps1 index 43fe9ac024c7..a9bb8bb0cbce 100644 --- a/Modules/CIPPCore/Public/Webhooks/Get-CIPPAuditLogContentBundles.ps1 +++ b/Modules/CIPPCore/Public/Webhooks/Get-CIPPAuditLogContentBundles.ps1 @@ -35,11 +35,12 @@ function Get-CIPPAuditLogContentBundles { throw 'AllTenants is not a valid tenant filter for webhooks' } + $Tenant = Get-Tenants -TenantFilter $TenantFilter -IncludeErrors if (!($TenantFilter -match '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$')) { $DefaultDomainName = $TenantFilter - $TenantFilter = (Get-Tenants | Where-Object { $_.defaultDomainName -eq $TenantFilter }).customerId + $TenantFilter = $Tenant.customerId } else { - $DefaultDomainName = (Get-Tenants | Where-Object { $_.customerId -eq $TenantFilter }).defaultDomainName + $DefaultDomainName = $Tenant.defaultDomainName } $WebhookTable = Get-CippTable -tablename 'webhookTable' @@ -51,7 +52,7 @@ function Get-CIPPAuditLogContentBundles { $Parameters = @{ 'contentType' = $ContentType - 'PublisherIdentifier' = $env:TenantId + 'PublisherIdentifier' = $env:TenantID } if (!$ShowAll.IsPresent) { @@ -80,8 +81,18 @@ function Get-CIPPAuditLogContentBundles { $GraphQuery.Query = $ParamCollection.ToString() Write-Verbose "GET [ $($GraphQuery.ToString()) ]" - $LogBundles = New-GraphGetRequest -uri $GraphQuery.ToString() -tenantid $TenantFilter -scope 'https://manage.office.com/.default' -IncludeResponseHeaders - $AuditLogContents = $LogBundles | Select-Object contentId, contentUri, contentCreated, contentExpiration, contentType, @{Name = 'TenantFilter'; Expression = { $TenantFilter } }, @{ Name = 'DefaultDomainName'; Expression = { $DefaultDomainName } } - - return $AuditLogContents -} \ No newline at end of file + try { + $LogBundles = New-GraphGetRequest -uri $GraphQuery.ToString() -tenantid $TenantFilter -scope 'https://manage.office.com/.default' -IncludeResponseHeaders + $AuditLogContents = $LogBundles | Select-Object contentId, contentUri, contentCreated, contentExpiration, contentType, @{Name = 'TenantFilter'; Expression = { $TenantFilter } }, @{ Name = 'DefaultDomainName'; Expression = { $DefaultDomainName } } + return $AuditLogContents + } catch { + # service principal disabled error + if ($_.Exception.Message -match "The service principal for resource 'https://manage.office.com' is disabled") { + $WebhookConfig.Status = 'Disabled' + $WebhookConfig.Error = $_.Exception.Message + Add-CIPPAzDataTableEntity @WebhookTable -Entity $WebhookConfig -Force + Write-LogMessage -API 'Webhooks' -message 'This tenant may not have an Exchange Online license. Audit log subscription disabled.' -sev Error -LogData (Get-CippException -Exception $_) + } + Write-Host ( 'Audit log collection error {0} line {1} - {2}' -f $_.InvocationInfo.ScriptName, $_.InvocationInfo.ScriptLineNumber, $_.Exception.Message) + } +} diff --git a/Modules/CIPPCore/Public/Webhooks/Invoke-CIPPWebhookProcessing.ps1 b/Modules/CIPPCore/Public/Webhooks/Invoke-CIPPWebhookProcessing.ps1 index a600f7e41ede..ae8ad7a8ff74 100644 --- a/Modules/CIPPCore/Public/Webhooks/Invoke-CIPPWebhookProcessing.ps1 +++ b/Modules/CIPPCore/Public/Webhooks/Invoke-CIPPWebhookProcessing.ps1 @@ -10,26 +10,34 @@ function Invoke-CippWebhookProcessing { $ExecutingUser ) + $AuditLogTable = Get-CIPPTable -TableName 'AuditLogs' + $AuditLog = Get-CIPPAzDataTableEntity @AuditLogTable -Filter "PartitionKey eq '$TenantFilter' and RowKey eq '$($Data.Id)'" + if ($AuditLog) { + Write-Host "Audit Log already exists for $($Data.Id). Skipping processing." + return + } + + $Tenant = Get-Tenants -IncludeErrors | Where-Object { $_.defaultDomainName -eq $TenantFilter } Write-Host "Received data. Our Action List is $($data.CIPPAction)" $ActionList = ($data.CIPPAction | ConvertFrom-Json -ErrorAction SilentlyContinue).value $ActionResults = foreach ($action in $ActionList) { - Write-Host "this is our action: $($action | ConvertTo-Json -Depth 15 -Compress))" + Write-Host "this is our action: $($action | ConvertTo-Json -Depth 15 -Compress)" switch ($action) { 'disableUser' { Set-CIPPSignInState -TenantFilter $TenantFilter -User $data.UserId -AccountEnabled $false -APIName 'Alert Engine' -ExecutingUser 'Alert Engine' } 'becremediate' { $username = (New-GraphGetRequest -uri "https://graph.microsoft.com/beta/users/$($data.UserId)" -tenantid $TenantFilter).UserPrincipalName - Set-CIPPResetPassword -userid $username -tenantFilter $TenantFilter -APIName 'Alert Engine' -ExecutingUser 'Alert Engine' + Set-CIPPResetPassword -UserID $username -tenantFilter $TenantFilter -APIName 'Alert Engine' -ExecutingUser 'Alert Engine' Set-CIPPSignInState -userid $username -AccountEnabled $false -tenantFilter $TenantFilter -APIName 'Alert Engine' -ExecutingUser 'Alert Engine' Revoke-CIPPSessions -userid $username -username $username -ExecutingUser 'Alert Engine' -APIName 'Alert Engine' -tenantFilter $TenantFilter $RuleDisabled = 0 - New-ExoRequest -anchor $username -tenantid $TenantFilter -cmdlet 'get-inboxrule' -cmdParams @{Mailbox = $username } | ForEach-Object { + New-ExoRequest -anchor $username -tenantid $TenantFilter -cmdlet 'Get-InboxRule' -cmdParams @{Mailbox = $username; IncludeHidden = $true } | Where-Object { $_.Name -ne 'Junk E-Mail Rule' -and $_.Name -notlike 'Microsoft.Exchange.OOF.*' } | ForEach-Object { $null = New-ExoRequest -anchor $username -tenantid $TenantFilter -cmdlet 'Disable-InboxRule' -cmdParams @{Confirm = $false; Identity = $_.Identity } "Disabled Inbox Rule $($_.Identity) for $username" - $RuleDisabled ++ + $RuleDisabled++ } if ($RuleDisabled) { "Disabled $RuleDisabled Inbox Rules for $username" @@ -51,36 +59,67 @@ function Invoke-CippWebhookProcessing { } } } + + # Save audit log entry to table + $LocationInfo = $Data.CIPPLocationInfo | ConvertFrom-Json -ErrorAction SilentlyContinue + $AuditRecord = $Data.AuditRecord | ConvertFrom-Json -ErrorAction SilentlyContinue + $GenerateJSON = New-CIPPAlertTemplate -format 'json' -data $Data -ActionResults $ActionResults -CIPPURL $CIPPURL + $JsonContent = @{ + Title = $GenerateJSON.Title + ActionUrl = $GenerateJSON.ButtonUrl + ActionText = $GenerateJSON.ButtonText + RawData = $Data + IP = $data.ClientIP + PotentialLocationInfo = $LocationInfo + ActionsTaken = $ActionResults + AuditRecord = $AuditRecord + } | ConvertTo-Json -Depth 15 -Compress + + $CIPPAlert = @{ + Type = 'table' + Title = $GenerateJSON.Title + JSONContent = $JsonContent + TenantFilter = $TenantFilter + TableName = 'AuditLogs' + RowKey = $Data.Id + } + $LogId = Send-CIPPAlert @CIPPAlert + + $AuditLogLink = '{0}/tenant/administration/audit-logs?customerId={1}&logId={2}' -f $CIPPURL, $Tenant.customerId, $LogId + $GenerateEmail = New-CIPPAlertTemplate -format 'html' -data $Data -ActionResults $ActionResults -CIPPURL $CIPPURL + Write-Host 'Going to create the content' foreach ($action in $ActionList ) { switch ($action) { 'generatemail' { - Write-Host 'Going to create the email' - $GenerateEmail = New-CIPPAlertTemplate -format 'html' -data $Data -ActionResults $ActionResults -CIPPURL $CIPPURL + $CIPPAlert = @{ + Type = 'email' + Title = $GenerateEmail.title + HTMLContent = $GenerateEmail.htmlcontent + TenantFilter = $TenantFilter + } Write-Host 'Going to send the mail' - Send-CIPPAlert -Type 'email' -Title $GenerateEmail.title -HTMLContent $GenerateEmail.htmlcontent -TenantFilter $TenantFilter + Send-CIPPAlert @CIPPAlert Write-Host 'email should be sent' } 'generatePSA' { - $GenerateEmail = New-CIPPAlertTemplate -format 'html' -data $Data -ActionResults $ActionResults -CIPPURL $CIPPURL - Send-CIPPAlert -Type 'psa' -Title $GenerateEmail.title -HTMLContent $GenerateEmail.htmlcontent -TenantFilter $TenantFilter + $CIPPAlert = @{ + Type = 'psa' + Title = $GenerateEmail.title + HTMLContent = $GenerateEmail.htmlcontent + TenantFilter = $TenantFilter + } + Send-CIPPAlert @CIPPAlert } 'generateWebhook' { - Write-Host 'Generating the webhook content' - $LocationInfo = $Data.CIPPLocationInfo | ConvertFrom-Json -ErrorAction SilentlyContinue - $GenerateJSON = New-CIPPAlertTemplate -format 'json' -data $Data -ActionResults $ActionResults -CIPPURL $CIPPURL - $JsonContent = @{ - Title = $GenerateJSON.Title - ActionUrl = $GenerateJSON.ButtonUrl - ActionText = $GenerateJSON.ButtonText - RawData = $Data - IP = $data.ClientIP - PotentialLocationInfo = $LocationInfo - ActionsTaken = [string]($ActionResults | ConvertTo-Json -Depth 15 -Compress) - } | ConvertTo-Json -Depth 15 -Compress + $CippAlert = @{ + Type = 'webhook' + Title = $GenerateJSON.Title + JSONContent = $JsonContent + TenantFilter = $TenantFilter + } Write-Host 'Sending Webhook Content' - #Write-Host $JsonContent - Send-CIPPAlert -Type 'webhook' -Title $GenerateJSON.Title -JSONContent $JsonContent -TenantFilter $TenantFilter + Send-CIPPAlert @CippAlert } } } diff --git a/Modules/CIPPCore/Public/Webhooks/Invoke-RemoveWebhookAlert.ps1 b/Modules/CIPPCore/Public/Webhooks/Invoke-RemoveWebhookAlert.ps1 index e2a0b4d3bce2..ddac44fd273a 100644 --- a/Modules/CIPPCore/Public/Webhooks/Invoke-RemoveWebhookAlert.ps1 +++ b/Modules/CIPPCore/Public/Webhooks/Invoke-RemoveWebhookAlert.ps1 @@ -12,10 +12,9 @@ Function Invoke-RemoveWebhookAlert { $APIName = $TriggerMetadata.FunctionName Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' - $Table = get-cipptable -TableName 'SchedulerConfig' try { - $WebhookTable = Get-CIPPTable -TableName SchedulerConfig + $WebhookTable = Get-CIPPTable -TableName 'SchedulerConfig' $WebhookRow = Get-CIPPAzDataTableEntity @WebhookTable -Filter "PartitionKey eq 'WebhookAlert'" | Where-Object -Property Tenant -EQ $Request.query.TenantFilter Write-Host "The webhook count is $($WebhookRow.count)" if ($WebhookRow.count -gt 1) { @@ -34,7 +33,7 @@ Function Invoke-RemoveWebhookAlert { } Remove-AzDataTableEntity @Table -Entity $CompleteObject -ErrorAction SilentlyContinue | Out-Null } catch { - # + Write-LogMessage -user $Request.headers.'x-ms-client-principal' -API $APIName -message "Failed to remove webhook for AllTenants. $($_.Exception.Message)" -Sev 'Error' } } else { $Tenants = $Request.query.TenantFilter @@ -53,10 +52,9 @@ Function Invoke-RemoveWebhookAlert { $body = [pscustomobject]@{'Results' = "Failed to remove webhook alert: $($_.Exception.Message)" } } - # Associate values to output bindings by calling 'Push-OutputBinding'. Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ StatusCode = [HttpStatusCode]::OK Body = $body }) -} \ No newline at end of file +} diff --git a/Modules/CIPPCore/Public/Webhooks/New-CIPPGraphSubscription.ps1 b/Modules/CIPPCore/Public/Webhooks/New-CIPPGraphSubscription.ps1 index eebd1163d61f..a6212c26f322 100644 --- a/Modules/CIPPCore/Public/Webhooks/New-CIPPGraphSubscription.ps1 +++ b/Modules/CIPPCore/Public/Webhooks/New-CIPPGraphSubscription.ps1 @@ -2,11 +2,9 @@ function New-CIPPGraphSubscription { [CmdletBinding()] param ( $TenantFilter, - [bool]$auditLogAPI = $false, $TypeofSubscription, $AllowedLocations, $BaseURL, - $operations, $Resource, $EventType, $APIName = 'Create Webhook', @@ -15,46 +13,13 @@ function New-CIPPGraphSubscription { [switch]$PartnerCenter ) $CIPPID = (New-Guid).GUID - $WebhookTable = Get-CIPPTable -TableName webhookTable - Write-Host "Operations are: $operations" - try { - if ($auditLogAPI) { - $CIPPID = (New-Guid).GUID - $Resource = $EventType - $WebhookFilter = "PartitionKey eq '$($TenantFilter)' and Resource eq '$Resource' and Version eq '3'" - $ExistingWebhooks = Get-CIPPAzDataTableEntity @WebhookTable -Filter $WebhookFilter - $MatchedWebhook = $ExistingWebhooks - try { - if (!$MatchedWebhook) { - $WebhookRow = @{ - PartitionKey = [string]$TenantFilter - RowKey = [string]$CIPPID - Resource = [string]$Resource - Expiration = [string]'Does Not Expire' - Version = [string]'3' - } - Add-CIPPAzDataTableEntity @WebhookTable -Entity $WebhookRow - Write-Host "Creating webhook subscription for $EventType" - - $AuditLog = New-GraphPOSTRequest -type POST -uri "https://manage.office.com/api/v1.0/$($TenantFilter)/activity/feed/subscriptions/start?contentType=$EventType&PublisherIdentifier=$($env:TenantId)" -tenantid $TenantFilter -scope 'https://manage.office.com/.default' -body '{}' -verbose - Write-LogMessage -user $ExecutingUser -API $APIName -message "Created Webhook subscription for $($TenantFilter) for the log $($EventType)" -Sev 'Info' -tenant $TenantFilter - } - return @{ Success = $true; message = "Created Webhook subscription for $($TenantFilter) for the log $($EventType)" } - } catch { - if ($_.Exception.Message -like '*already exists*') { - return @{ success = $true; message = "Webhook exists for $($TenantFilter) for the log $($EventType)" } - Write-LogMessage -user $ExecutingUser -API $APIName -message "Webhook subscription for $($TenantFilter) already exists" -Sev 'Info' -tenant $TenantFilter - } else { - Remove-AzDataTableEntity @WebhookTable -Entity @{ PartitionKey = $TenantFilter; RowKey = [string]$CIPPID } | Out-Null - Write-LogMessage -user $ExecutingUser -API $APIName -message "Failed to create Webhook Subscription for $($TenantFilter): $($_.Exception.Message)" -Sev 'Error' -tenant $TenantFilter -LogData (Get-CippException -Exception $_) - return @{ success = $false; message = "Failed to create Webhook Subscription for $($TenantFilter): $($_.Exception.Message)" } - } - } + $WebhookTable = Get-CIPPTable -TableName 'webhookTable' - } elseif ($PartnerCenter.IsPresent) { - $WebhookFilter = "PartitionKey eq '$($env:TenantId)'" + try { + if ($PartnerCenter.IsPresent) { + $WebhookFilter = "PartitionKey eq '$($env:TenantID)'" $ExistingWebhooks = Get-CIPPAzDataTableEntity @WebhookTable -Filter $WebhookFilter - $CIPPID = $env:TenantId + $CIPPID = $env:TenantID $MatchedWebhook = $ExistingWebhooks | Where-Object { $_.Resource -eq 'PartnerCenter' -and $_.RowKey -eq $CIPPID } # Required event types @@ -79,7 +44,7 @@ function New-CIPPGraphSubscription { try { $Uri = 'https://api.partnercenter.microsoft.com/webhooks/v1/registration' try { - $Existing = New-GraphGetRequest -NoAuthCheck $true -uri $Uri -tenantid $env:TenantId -scope 'https://api.partnercenter.microsoft.com/.default' + $Existing = New-GraphGetRequest -NoAuthCheck $true -uri $Uri -tenantid $env:TenantID -scope 'https://api.partnercenter.microsoft.com/.default' } catch { $Existing = $false } if (!$Existing -or $Existing.webhookUrl -ne $MatchedWebhook.WebhookNotificationUrl -or $EventCompare) { if ($Existing.WebhookUrl) { @@ -91,7 +56,7 @@ function New-CIPPGraphSubscription { } $Uri = 'https://api.partnercenter.microsoft.com/webhooks/v1/registration' - $GraphRequest = New-GraphPOSTRequest -uri $Uri -type $Method -tenantid $env:TenantId -scope 'https://api.partnercenter.microsoft.com/.default' -body ($Body | ConvertTo-Json) -NoAuthCheck $true + $GraphRequest = New-GraphPOSTRequest -uri $Uri -type $Method -tenantid $env:TenantID -scope 'https://api.partnercenter.microsoft.com/.default' -body ($Body | ConvertTo-Json) -NoAuthCheck $true $WebhookRow = @{ PartitionKey = [string]$CIPPID @@ -115,7 +80,7 @@ function New-CIPPGraphSubscription { } } else { - # First check if there is an exsiting Webhook in place + # First check if there is an existing Webhook in place $WebhookFilter = "PartitionKey eq '$($TenantFilter)'" $ExistingWebhooks = Get-CIPPAzDataTableEntity @WebhookTable -Filter $WebhookFilter $MatchedWebhook = $ExistingWebhooks | Where-Object { $_.Resource -eq $Resource } diff --git a/Modules/CIPPCore/Public/Webhooks/Remove-CIPPGraphSubscription.ps1 b/Modules/CIPPCore/Public/Webhooks/Remove-CIPPGraphSubscription.ps1 index e64f366d7830..7b17983dadff 100644 --- a/Modules/CIPPCore/Public/Webhooks/Remove-CIPPGraphSubscription.ps1 +++ b/Modules/CIPPCore/Public/Webhooks/Remove-CIPPGraphSubscription.ps1 @@ -28,7 +28,7 @@ function Remove-CIPPGraphSubscription { } } } else { - $WebhookTable = Get-CIPPTable -TableName webhookTable + $WebhookTable = Get-CIPPTable -TableName 'webhookTable' if ($type -eq 'AuditLog') { $WebhookRow = Get-CIPPAzDataTableEntity @WebhookTable | Where-Object { $_.PartitionKey -eq $TenantFilter -and $_.Resource -eq $EventType } } else { diff --git a/Modules/CIPPCore/Public/Webhooks/Test-CIPPAuditLogRules.ps1 b/Modules/CIPPCore/Public/Webhooks/Test-CIPPAuditLogRules.ps1 index 39b8957832c6..9e588dae7a5c 100644 --- a/Modules/CIPPCore/Public/Webhooks/Test-CIPPAuditLogRules.ps1 +++ b/Modules/CIPPCore/Public/Webhooks/Test-CIPPAuditLogRules.ps1 @@ -4,10 +4,7 @@ function Test-CIPPAuditLogRules { [Parameter(Mandatory = $true)] $TenantFilter, [Parameter(Mandatory = $true)] - $ContentUri, - [Parameter(Mandatory = $true)] - [ValidateSet('Audit.AzureActiveDirectory', 'Audit.Exchange')] - $LogType + $SearchId ) $Results = [PSCustomObject]@{ @@ -22,6 +19,8 @@ function Test-CIPPAuditLogRules { 'OAuth2:Token' 'SAS:EndAuth' 'SAS:ProcessAuth' + 'deviceAuth:ReprocessTls' + 'Consent:Set' ) $TrustedIPTable = Get-CIPPTable -TableName 'trustedIps' @@ -35,25 +34,29 @@ function Test-CIPPAuditLogRules { LogType = $_.Type } } - $AuditLogQuery = @{ - TenantFilter = $TenantFilter - ContentUri = $ContentUri + #write-warning 'Getting audit records from Graph API' + try { + $SearchResults = Get-CippAuditLogSearchResults -TenantFilter $TenantFilter -QueryId $SearchId + } catch { + Write-Warning "Error getting audit logs: $($_.Exception.Message)" + Write-LogMessage -API 'Webhooks' -message "Error getting audit logs for search $($SearchId)" -LogData (Get-CippException -Exception $_) -sev Error -tenant $TenantFilter + throw $_ } - Write-Information 'Getting data from Office 365 Management Activity API' - $Data = Get-CIPPAuditLogContent @AuditLogQuery - $LogCount = ($Data | Measure-Object).Count - Write-Information "Logs to process: $LogCount" + $LogCount = ($SearchResults | Measure-Object).Count + $RunGuid = New-Guid + Write-Warning "Logs to process: $LogCount - RunGuid: $($RunGuid) - $($TenantFilter)" $Results.TotalLogs = $LogCount if ($LogCount -gt 0) { - $PreProccessedData = $Data | Select-Object *, CIPPAction, CIPPClause, CIPPGeoLocation, CIPPBadRepIP, CIPPHostedIP, CIPPIPDetected, CIPPLocationInfo, CIPPExtendedProperties, CIPPDeviceProperties, CIPPParameters, CIPPModifiedProperties -ErrorAction SilentlyContinue $LocationTable = Get-CIPPTable -TableName 'knownlocationdb' - $ProcessedData = foreach ($Data in $PreProccessedData) { + $ProcessedData = foreach ($AuditRecord in $SearchResults) { + $RootProperties = $AuditRecord | Select-Object * -ExcludeProperty auditData + $Data = $AuditRecord.auditData | Select-Object *, CIPPAction, CIPPClause, CIPPGeoLocation, CIPPBadRepIP, CIPPHostedIP, CIPPIPDetected, CIPPLocationInfo, CIPPExtendedProperties, CIPPDeviceProperties, CIPPParameters, CIPPModifiedProperties, AuditRecord -ErrorAction SilentlyContinue try { if ($Data.ExtendedProperties) { $Data.CIPPExtendedProperties = ($Data.ExtendedProperties | ConvertTo-Json) $Data.ExtendedProperties | ForEach-Object { if ($_.Value -in $ExtendedPropertiesIgnoreList) { - Write-Information 'No need to process this operation as its in our ignore list' + #write-warning "No need to process this operation as its in our ignore list. Some extended information: $($data.operation):$($_.Value) - $($TenantFilter)" continue } $Data | Add-Member -NotePropertyName $_.Name -NotePropertyValue $_.Value -Force -ErrorAction SilentlyContinue @@ -72,12 +75,12 @@ function Test-CIPPAuditLogRules { try { $Data.ModifiedProperties | ForEach-Object { $Data | Add-Member -NotePropertyName "$($_.Name)" -NotePropertyValue "$($_.NewValue)" -Force -ErrorAction SilentlyContinue } } catch { - #Write-Information ($Data.ModifiedProperties | ConvertTo-Json -Depth 10) + ##write-warning ($Data.ModifiedProperties | ConvertTo-Json -Depth 10) } try { $Data.ModifiedProperties | ForEach-Object { $Data | Add-Member -NotePropertyName $("Previous_Value_$($_.Name)") -NotePropertyValue "$($_.OldValue)" -Force -ErrorAction SilentlyContinue } } catch { - #Write-Information ($Data.ModifiedProperties | ConvertTo-Json -Depth 10) + ##write-warning ($Data.ModifiedProperties | ConvertTo-Json -Depth 10) } } @@ -88,61 +91,64 @@ function Test-CIPPAuditLogRules { # Check if IP is on trusted IP list $TrustedIP = Get-CIPPAzDataTableEntity @TrustedIPTable -Filter "PartitionKey eq '$TenantFilter' and RowKey eq '$($Data.clientip)' and state eq 'Trusted'" if ($TrustedIP) { - Write-Information "IP $($Data.clientip) is trusted" - continue + #write-warning "IP $($Data.clientip) is trusted" + $Trusted = $true } + if (!$Trusted) { + $Location = Get-CIPPAzDataTableEntity @LocationTable -Filter "RowKey eq '$($Data.clientIp)'" | Select-Object -Last 1 + if ($Location) { + $Country = $Location.CountryOrRegion + $City = $Location.City + $Proxy = $Location.Proxy + $hosting = $Location.Hosting + $ASName = $Location.ASName + } else { + try { + $Location = Get-CIPPGeoIPLocation -IP $Data.clientip + } catch { + #write-warning "Unable to get IP location for $($Data.clientip): $($_.Exception.Message)" + } + $Country = if ($Location.CountryCode) { $Location.CountryCode } else { 'Unknown' } + $City = if ($Location.City) { $Location.City } else { 'Unknown' } + $Proxy = if ($Location.Proxy -ne $null) { $Location.Proxy } else { 'Unknown' } + $hosting = if ($Location.Hosting -ne $null) { $Location.Hosting } else { 'Unknown' } + $ASName = if ($Location.ASName) { $Location.ASName } else { 'Unknown' } + $IP = $Data.ClientIP + $LocationInfo = @{ + RowKey = [string]$Data.clientip + PartitionKey = [string]$Data.id + Tenant = [string]$TenantFilter + CountryOrRegion = "$Country" + City = "$City" + Proxy = "$Proxy" + Hosting = "$hosting" + ASName = "$ASName" + } + try { + $null = Add-CIPPAzDataTableEntity @LocationTable -Entity $LocationInfo -Force + } catch { + #write-warning "Failed to add location info for $($Data.clientip) to cache: $($_.Exception.Message)" - $Location = Get-CIPPAzDataTableEntity @LocationTable -Filter "RowKey eq '$($Data.clientIp)'" | Select-Object -Last 1 - if ($Location) { - $Country = $Location.CountryOrRegion - $City = $Location.City - $Proxy = $Location.Proxy - $hosting = $Location.Hosting - $ASName = $Location.ASName - } else { - try { - $Location = Get-CIPPGeoIPLocation -IP $Data.clientip - } catch { - Write-Information "Unable to get IP location for $($Data.clientip): $($_.Exception.Messge)" - } - $Country = if ($Location.CountryCode) { $Location.CountryCode } else { 'Unknown' } - $City = if ($Location.City) { $Location.City } else { 'Unknown' } - $Proxy = if ($Location.Proxy -ne $null) { $Location.Proxy } else { 'Unknown' } - $hosting = if ($Location.Hosting -ne $null) { $Location.Hosting } else { 'Unknown' } - $ASName = if ($Location.ASName) { $Location.ASName } else { 'Unknown' } - $IP = $Data.ClientIP - $LocationInfo = @{ - RowKey = [string]$Data.clientip - PartitionKey = [string]$Data.id - Tenant = [string]$TenantFilter - CountryOrRegion = "$Country" - City = "$City" - Proxy = "$Proxy" - Hosting = "$hosting" - ASName = "$ASName" - } - try { - $null = Add-CIPPAzDataTableEntity @LocationTable -Entity $LocationInfo -Force - } catch { - Write-Information "Failed to add location info for $($Data.clientip) to cache: $($_.Exception.Message)" - + } } + $Data.CIPPGeoLocation = $Country + $Data.CIPPBadRepIP = $Proxy + $Data.CIPPHostedIP = $hosting + $Data.CIPPIPDetected = $IP + $Data.CIPPLocationInfo = ($Location | ConvertTo-Json) + $Data.AuditRecord = ($RootProperties | ConvertTo-Json) } - $Data.CIPPGeoLocation = $Country - $Data.CIPPBadRepIP = $Proxy - $Data.CIPPHostedIP = $hosting - $Data.CIPPIPDetected = $IP - $Data.CIPPLocationInfo = ($Location | ConvertTo-Json) } $Data | Select-Object * -ExcludeProperty ExtendedProperties, DeviceProperties, parameters } catch { - Write-Information "Audit log: Error processing data: $($_.Exception.Message)`r`n$($_.InvocationInfo.PositionMessage)" + #write-warning "Audit log: Error processing data: $($_.Exception.Message)`r`n$($_.InvocationInfo.PositionMessage)" Write-LogMessage -API 'Webhooks' -message 'Error Processing Audit Log Data' -LogData (Get-CippException -Exception $_) -sev Error -tenant $TenantFilter } } + #write-warning "Processed Data: $(($ProcessedData | Measure-Object).Count) - This should be higher than 0 in many cases, because the where object has not run yet." + #write-warning "Creating filters - $(($ProcessedData.operation | Sort-Object -Unique) -join ',') - $($TenantFilter)" - #Filter data based on conditions. - $Where = $Configuration | Where-Object { $_.LogType -eq $LogType } | ForEach-Object { + $Where = $Configuration | ForEach-Object { $conditions = $_.Conditions | ConvertFrom-Json | Where-Object { $_.Input.value -ne '' } $actions = $_.Actions $conditionStrings = [System.Collections.Generic.List[string]]::new() @@ -167,14 +173,13 @@ function Test-CIPPAuditLogRules { } } - Write-Information "Webhook: The list of operations in the data are $(($ProcessedData.operation | Select-Object -Unique) -join ', ')" $MatchedRules = [System.Collections.Generic.List[string]]::new() $DataToProcess = foreach ($clause in $Where) { - Write-Information "Webhook: Processing clause: $($clause.clause)" - Write-Information "Webhook: If this clause would be true, the action would be: $($clause.expectedAction)" + #write-warning "Webhook: Processing clause: $($clause.clause)" $ReturnedData = $ProcessedData | Where-Object { Invoke-Expression $clause.clause } if ($ReturnedData) { + #write-warning "Webhook: There is matching data: $(($ReturnedData.operation | Select-Object -Unique) -join ', ')" $ReturnedData = foreach ($item in $ReturnedData) { $item.CIPPAction = $clause.expectedAction $item.CIPPClause = $clause.CIPPClause -join ' and ' @@ -184,9 +189,10 @@ function Test-CIPPAuditLogRules { } $ReturnedData } - $Results.MatchedRules = $MatchedRules | Select-Object -Unique + $Results.MatchedRules = @($MatchedRules | Select-Object -Unique) $Results.MatchedLogs = ($DataToProcess | Measure-Object).Count $Results.DataToProcess = $DataToProcess } + Write-Warning "Finished - RunGuid: $($RunGuid) - $($TenantFilter)" $Results } diff --git a/Modules/CIPPCore/lib/NCrontab.Advanced.dll b/Modules/CIPPCore/lib/NCrontab.Advanced.dll new file mode 100644 index 000000000000..3aff438ecf86 Binary files /dev/null and b/Modules/CIPPCore/lib/NCrontab.Advanced.dll differ diff --git a/Modules/CippEntrypoints/CippEntrypoints.psm1 b/Modules/CippEntrypoints/CippEntrypoints.psm1 index 994dab0633bf..1bda0cce5b84 100644 --- a/Modules/CippEntrypoints/CippEntrypoints.psm1 +++ b/Modules/CippEntrypoints/CippEntrypoints.psm1 @@ -10,12 +10,28 @@ function Receive-CippHttpTrigger { $TriggerMetadata ) + $ConfigTable = Get-CIPPTable -tablename Config + $Config = Get-CIPPAzDataTableEntity @ConfigTable -Filter "PartitionKey eq 'OffloadFunctions' and RowKey eq 'OffloadFunctions'" + + if ($Config -and $Config.state -eq $true) { + if ($env:CIPP_PROCESSOR -eq 'true') { + Write-Information 'No API Calls' + Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ + StatusCode = [HttpStatusCode]::Forbidden + Body = 'API calls are not accepted on this function app' + }) + return + } + } + + # Convert the request to a PSCustomObject because the httpContext is case sensitive since 7.3 + $Request = $Request | ConvertTo-Json -Depth 100 | ConvertFrom-Json Set-Location (Get-Item $PSScriptRoot).Parent.Parent.FullName $FunctionName = 'Invoke-{0}' -f $Request.Params.CIPPEndpoint - Write-Host "Function: $($Request.Params.CIPPEndpoint)" + Write-Information "Function: $($Request.Params.CIPPEndpoint)" $HttpTrigger = @{ - Request = $Request + Request = [pscustomobject]($Request) TriggerMetadata = $TriggerMetadata } @@ -41,37 +57,6 @@ function Receive-CippHttpTrigger { } } -function Receive-CippQueueTrigger { - Param($QueueItem, $TriggerMetadata) - Set-Location (Get-Item $PSScriptRoot).Parent.Parent.FullName - $Start = (Get-Date).ToUniversalTime() - $APIName = $TriggerMetadata.FunctionName - Write-Information "#### Running $APINAME" - Set-Location (Get-Item $PSScriptRoot).Parent.Parent.FullName - $FunctionName = 'Push-{0}' -f $APIName - $QueueTrigger = @{ - QueueItem = $QueueItem - TriggerMetadata = $TriggerMetadata - } - try { - & $FunctionName @QueueTrigger - } catch { - $ErrorMsg = $_.Exception.Message - } - - $End = (Get-Date).ToUniversalTime() - - $Stats = @{ - FunctionType = 'Queue' - Entity = $QueueItem - Start = $Start - End = $End - ErrorMsg = $ErrorMsg - } - Write-Information '####### Adding stats' - Write-CippFunctionStats @Stats -} - function Receive-CippOrchestrationTrigger { param($Context) @@ -144,7 +129,7 @@ function Receive-CippOrchestrationTrigger { function Receive-CippActivityTrigger { Param($Item) try { - $Start = (Get-Date).ToUniversalTime() + $Start = Get-Date Set-Location (Get-Item $PSScriptRoot).Parent.Parent.FullName if ($Item.QueueId) { @@ -188,7 +173,7 @@ function Receive-CippActivityTrigger { } } - $End = (Get-Date).ToUniversalTime() + $End = Get-Date try { $Stats = @{ @@ -211,5 +196,44 @@ function Receive-CippActivityTrigger { } } -Export-ModuleMember -Function @('Receive-CippHttpTrigger', 'Receive-CippQueueTrigger', 'Receive-CippOrchestrationTrigger', 'Receive-CippActivityTrigger') +function Receive-CIPPTimerTrigger { + param($Timer) + + $UtcNow = (Get-Date).ToUniversalTime() + $Functions = Get-CIPPTimerFunctions + $Table = Get-CIPPTable -tablename CIPPTimers + $Statuses = Get-CIPPAzDataTableEntity @Table + $FunctionName = $env:WEBSITE_SITE_NAME + + foreach ($Function in $Functions) { + Write-Information "CIPPTimer: $($Function.Command) - $($Function.Cron)" + $FunctionStatus = $Statuses | Where-Object { $_.RowKey -eq $Function.Command } + if ($FunctionStatus.OrchestratorId) { + $FunctionName = $env:WEBSITE_SITE_NAME + $InstancesTable = Get-CippTable -TableName ('{0}Instances' -f ($FunctionName -replace '-', '')) + $Instance = Get-CIPPAzDataTableEntity @InstancesTable -Filter "PartitionKey eq '$($FunctionStatus.OrchestratorId)'" -Property PartitionKey, RowKey, RuntimeStatus + if ($Instance.RuntimeStatus -eq 'Running') { + Write-LogMessage -API 'TimerFunction' -message "$($Function.Command) - $($FunctionStatus.OrchestratorId) is still running" -sev Warn -LogData $FunctionStatus + Write-Warning "CIPP Timer: $($Function.Command) - $($FunctionStatus.OrchestratorId) is still running, skipping execution" + continue + } + } + try { + $Results = Invoke-Command -ScriptBlock { & $Function.Command } + if ($Results -match '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$') { + $FunctionStatus.OrchestratorId = $Results + $Status = 'Started' + } else { + $Status = 'Completed' + } + } catch { + $Status = 'Failed' + } + $FunctionStatus.LastOccurrence = $UtcNow + $FunctionStatus.Status = $Status + Add-CIPPAzDataTableEntity @Table -Entity $FunctionStatus -Force + } +} + +Export-ModuleMember -Function @('Receive-CippHttpTrigger', 'Receive-CippOrchestrationTrigger', 'Receive-CippActivityTrigger', 'Receive-CIPPTimerTrigger') diff --git a/Modules/CippExtensions/CippExtensions.psm1 b/Modules/CippExtensions/CippExtensions.psm1 index d2bab13c84b9..ce47d5f7e719 100644 --- a/Modules/CippExtensions/CippExtensions.psm1 +++ b/Modules/CippExtensions/CippExtensions.psm1 @@ -1,5 +1,5 @@ -$Public = @(Get-ChildItem -Path $PSScriptRoot\Public\*.ps1 -Recurse -ErrorAction SilentlyContinue) -$Private = @(Get-ChildItem -Path $PSScriptRoot\Private\*.ps1 -Recurse -ErrorAction SilentlyContinue) +$Public = @(Get-ChildItem -Path (Join-Path $PSScriptRoot "Public\*.ps1") -Recurse -ErrorAction SilentlyContinue) +$Private = @(Get-ChildItem -Path (Join-Path $PSScriptRoot "Private\*.ps1") -Recurse -ErrorAction SilentlyContinue) $Functions = $Public + $Private foreach ($import in @($Functions)) { try { diff --git a/Modules/CippExtensions/ConversionTable.csv b/Modules/CippExtensions/ConversionTable.csv index dc18a7df450d..55ebdfd465b9 100644 --- a/Modules/CippExtensions/ConversionTable.csv +++ b/Modules/CippExtensions/ConversionTable.csv @@ -1,5 +1,4 @@ Product_Display_Name,String_Id,GUID,Service_Plan_Name,Service_Plan_Id,Service_Plans_Included_Friendly_Names -Advanced Communications,ADV_COMMS,e4654015-5daf-4a48-9b37-4f309dddd88b,TEAMS_ADVCOMMS,604ec28a-ae18-4bc6-91b0-11da94504ba9,Microsoft 365 Advanced Communications AI Builder Capacity add-on,CDSAICAPACITY,d2dea78b-507c-4e56-b400-39447f4738f8,CDSAICAPACITY,a7c70a41-5e02-4271-93e6-d9b4184d83f5,AI Builder capacity add-on AI Builder Capacity add-on,CDSAICAPACITY,d2dea78b-507c-4e56-b400-39447f4738f8,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation App Connect IW,SPZA_IW,8f0c5670-4e56-4892-b06d-91c085d7004f,SPZA,0bfc98ed-1dbc-4a97-b246-701754e48b17,APP CONNECT @@ -84,6 +83,11 @@ Dynamics 365 Business Central Essentials,DYN365_BUSCENTRAL_ESSENTIAL,2880026b-2b Dynamics 365 Business Central Essentials,DYN365_BUSCENTRAL_ESSENTIAL,2880026b-2b0c-4251-8656-5d41ff11e3aa,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Dynamics 365 Business Central Essentials,DYN365_BUSCENTRAL_ESSENTIAL,2880026b-2b0c-4251-8656-5d41ff11e3aa,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Flow for Dynamics 365 Dynamics 365 Business Central Essentials,DYN365_BUSCENTRAL_ESSENTIAL,2880026b-2b0c-4251-8656-5d41ff11e3aa,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,PowerApps for Dynamics 365 +Dynamics 365 Business Central Essentials Attach,Dynamics_365_Business_Central_Essentials_Attach,1d506c23-1702-46f1-b940-160c55f98d05,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User +Dynamics 365 Business Central Essentials Attach,Dynamics_365_Business_Central_Essentials_Attach,1d506c23-1702-46f1-b940-160c55f98d05,DYN365_BUSCENTRAL_ESSENTIALS_ATTACH,17ca446c-d7a4-4d29-8dec-8e241592164b,Dynamics 365 Business Central Essentials Attach +Dynamics 365 Business Central Essentials Attach,Dynamics_365_Business_Central_Essentials_Attach,1d506c23-1702-46f1-b940-160c55f98d05,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Business Central Essentials Attach,Dynamics_365_Business_Central_Essentials_Attach,1d506c23-1702-46f1-b940-160c55f98d05,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,Power Apps for Dynamics 365 +Dynamics 365 Business Central Essentials Attach,Dynamics_365_Business_Central_Essentials_Attach,1d506c23-1702-46f1-b940-160c55f98d05,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Power Automate for Dynamics 365 Dynamics 365 Business Central External Accountant,DYN365_FINANCIALS_ACCOUNTANT_SKU,9a1e33ed-9697-43f3-b84c-1b0959dbb1d4,DYN365_FINANCIALS_ACCOUNTANT,170991d7-b98e-41c5-83d4-db2052e1795f,Dynamics 365 Business Central External Accountant Dynamics 365 Business Central External Accountant,DYN365_FINANCIALS_ACCOUNTANT_SKU,9a1e33ed-9697-43f3-b84c-1b0959dbb1d4,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Dynamics 365 Business Central External Accountant,DYN365_FINANCIALS_ACCOUNTANT_SKU,9a1e33ed-9697-43f3-b84c-1b0959dbb1d4,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Flow for Dynamics 365 @@ -122,7 +126,7 @@ Dynamics 365 Customer Engagement Plan,DYN365_ENTERPRISE_PLAN1,ea126fc5-a19e-42e2 Dynamics 365 Customer Engagement Plan,DYN365_ENTERPRISE_PLAN1,ea126fc5-a19e-42e2-a731-da9d437bffcf,POWERAPPS_DYN_P2,0b03f40b-c404-40c3-8651-2aceb74365fa,Power Apps for Dynamics 365 Dynamics 365 Customer Engagement Plan,DYN365_ENTERPRISE_PLAN1,ea126fc5-a19e-42e2-a731-da9d437bffcf,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Power Automate for Dynamics 365 Dynamics 365 Customer Engagement Plan,DYN365_ENTERPRISE_PLAN1,ea126fc5-a19e-42e2-a731-da9d437bffcf,FLOW_DYN_P2,b650d915-9886-424b-a08d-633cede56f57,Power Automate for Dynamics 365 -Dynamics 365 Customer Insights Attach,DYN365_CUSTOMER_INSIGHTS_ATTACH,a3d0cd86-8068-4071-ad40-4dc5b5908c4b,CDS_CUSTOMER_INSIGHTS_BASE,d04ca659-b119-4a92-b8fc-3ede584a9d65,Dataverse for Customer Insights�BASE +Dynamics 365 Customer Insights Attach,DYN365_CUSTOMER_INSIGHTS_ATTACH,a3d0cd86-8068-4071-ad40-4dc5b5908c4b,CDS_CUSTOMER_INSIGHTS_BASE,d04ca659-b119-4a92-b8fc-3ede584a9d65,Dataverse for Customer Insights BASE Dynamics 365 Customer Insights Attach,DYN365_CUSTOMER_INSIGHTS_ATTACH,a3d0cd86-8068-4071-ad40-4dc5b5908c4b,CDS_CUSTOMER_INSIGHTS,ca00cff5-2568-4d03-bb6c-a653a8f360ca,Common Data Service for Customer Insights Dynamics 365 Customer Insights Attach,DYN365_CUSTOMER_INSIGHTS_ATTACH,a3d0cd86-8068-4071-ad40-4dc5b5908c4b,DYN365_CUSTOMER_INSIGHTS_BASE,ee85d528-c4b4-4a99-9b07-fb9a1365dc93,Dynamics 365 Customer Insights Dynamics 365 Customer Insights Attach,DYN365_CUSTOMER_INSIGHTS_ATTACH,a3d0cd86-8068-4071-ad40-4dc5b5908c4b,Customer_Voice_Customer_Insights,46c5ea0a-2343-49d9-ae4f-1c268b232d53,Microsoft Dynamics 365 Customer Voice for Customer Insights App @@ -155,7 +159,7 @@ Dynamics 365 Customer Service Enterprise Admin,Dynamics_365_Customer_Service_Ent Dynamics 365 Customer Service Enterprise Admin,Dynamics_365_Customer_Service_Enterprise_admin_trial,94a6fbd4-6a2f-4990-b356-dc7dd8bed08a,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Dynamics 365 Customer Service Enterprise Admin,Dynamics_365_Customer_Service_Enterprise_admin_trial,94a6fbd4-6a2f-4990-b356-dc7dd8bed08a,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,Power Apps for Dynamics 365 Dynamics 365 Customer Service Enterprise Admin,Dynamics_365_Customer_Service_Enterprise_admin_trial,94a6fbd4-6a2f-4990-b356-dc7dd8bed08a,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Power Automate for Dynamics 365 -Dynamics 365 Customer Insights Standalone,DYN365_CUSTOMER_INSIGHTS_BASE,0c250654-c7f7-461f-871a-7222f6592cf2,CDS_CUSTOMER_INSIGHTS_BASE,d04ca659-b119-4a92-b8fc-3ede584a9d65,Dataverse for Cust Insights�BASE +Dynamics 365 Customer Insights Standalone,DYN365_CUSTOMER_INSIGHTS_BASE,0c250654-c7f7-461f-871a-7222f6592cf2,CDS_CUSTOMER_INSIGHTS_BASE,d04ca659-b119-4a92-b8fc-3ede584a9d65,Dataverse for Cust Insights BASE Dynamics 365 Customer Insights Standalone,DYN365_CUSTOMER_INSIGHTS_BASE,0c250654-c7f7-461f-871a-7222f6592cf2,CDS_CUSTOMER_INSIGHTS,ca00cff5-2568-4d03-bb6c-a653a8f360ca,Common Data Service for Customer Insights Dynamics 365 Customer Insights Standalone,DYN365_CUSTOMER_INSIGHTS_BASE,0c250654-c7f7-461f-871a-7222f6592cf2,DYN365_CUSTOMER_INSIGHTS_BASE,ee85d528-c4b4-4a99-9b07-fb9a1365dc93,Dynamics 365 Customer Insights Dynamics 365 Customer Insights Standalone,DYN365_CUSTOMER_INSIGHTS_BASE,0c250654-c7f7-461f-871a-7222f6592cf2,DYN365_CUSTOMER_INSIGHTS_ENGAGEMENT_INSIGHTS_BASE,b3c26516-3b8d-492f-a5a3-64d70ad3f8d0,Dynamics 365 Customer Insights Engagement Insights @@ -224,9 +228,9 @@ Dynamics 365 - Additional Non-Production Instance for Government,CRMTESTINSTANCE Dynamics 365 - Additional Non-Production Instance for Government,CRMTESTINSTANCE_NOPREREQ,2cf302fe-62db-4e20-b573-e0998b1208b5,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Dynamics 365 Enterprise Edition - Additional Production Instance for Government,CRMINSTANCE_GCC,2bd3cb20-1bb6-446b-b4d0-089af3a05c52,CRMINSTANCE_GCC,483cc331-f4df-4a3b-b8ca-fe1a247569f6,Microsoft Dynamics CRM Online Instance Dynamics 365 Enterprise Edition - Additional Production Instance for Government,CRMINSTANCE_GCC,2bd3cb20-1bb6-446b-b4d0-089af3a05c52,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation -"Dynamics 365 Field Service, Enterprise Edition - Resource Scheduling Optimization",CRM_AUTO_ROUTING_ADDON,977464c4-bfaf-4b67-b761-a9bb735a2196,CRM_AUTO_ROUTING_ENGINE_ADDON,24435e4b-87d0-4d7d-8beb-63a9b1573022,Field Service � Automated Routing Engine Add-On -"Dynamics 365 Field Service, Enterprise Edition - Resource Scheduling Optimization",CRM_AUTO_ROUTING_ADDON,977464c4-bfaf-4b67-b761-a9bb735a2196,CRM_AUTO_ROUTING_ADDON,2ba394e0-6f18-4b77-b45f-a5663bbab540,RETIRED - Field Service � Automated Routing Engine Add-On -"Dynamics 365 Field Service, Enterprise Edition - Resource Scheduling Optimization",CRM_AUTO_ROUTING_ADDON,977464c4-bfaf-4b67-b761-a9bb735a2196,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Field Service, Enterprise Edition - Resource Scheduling Optimization,CRM_AUTO_ROUTING_ADDON,977464c4-bfaf-4b67-b761-a9bb735a2196,CRM_AUTO_ROUTING_ENGINE_ADDON,24435e4b-87d0-4d7d-8beb-63a9b1573022,Field Service – Automated Routing Engine Add-On +Dynamics 365 Field Service, Enterprise Edition - Resource Scheduling Optimization,CRM_AUTO_ROUTING_ADDON,977464c4-bfaf-4b67-b761-a9bb735a2196,CRM_AUTO_ROUTING_ADDON,2ba394e0-6f18-4b77-b45f-a5663bbab540,RETIRED - Field Service – Automated Routing Engine Add-On +Dynamics 365 Field Service, Enterprise Edition - Resource Scheduling Optimization,CRM_AUTO_ROUTING_ADDON,977464c4-bfaf-4b67-b761-a9bb735a2196,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Dynamics 365 Field Service Contractor for Government,D365_FIELD_SERVICE_CONTRACTOR_GOV,e7965e3a-1f49-4d67-a3de-ad1ce460bbcc,CDS_FIELD_SERVICE_CONTRACTOR_GCC,2457fe40-65be-48a1-935f-924ad6e62dba,Common Data Service Field service Part Time Contractors for Government Dynamics 365 Field Service Contractor for Government,D365_FIELD_SERVICE_CONTRACTOR_GOV,e7965e3a-1f49-4d67-a3de-ad1ce460bbcc,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government Dynamics 365 Field Service Contractor for Government,D365_FIELD_SERVICE_CONTRACTOR_GOV,e7965e3a-1f49-4d67-a3de-ad1ce460bbcc,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government @@ -249,21 +253,35 @@ Dynamics 365 for Case Management Enterprise Edition,DYN365_ENTERPRISE_CASE_MANAG Dynamics 365 for Case Management Enterprise Edition,DYN365_ENTERPRISE_CASE_MANAGEMENT,d39fb075-21ae-42d0-af80-22a2599749e0,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) Dynamics 365 for Case Management Enterprise Edition,DYN365_ENTERPRISE_CASE_MANAGEMENT,d39fb075-21ae-42d0-af80-22a2599749e0,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,Power Apps for Dynamics 365 Dynamics 365 for Case Management Enterprise Edition,DYN365_ENTERPRISE_CASE_MANAGEMENT,d39fb075-21ae-42d0-af80-22a2599749e0,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Power Automate for Dynamics 365 -"Dynamics 365 for Case Management, Enterprise Edition for Government",D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,79bb0a8d-e686-4e16-ac59-2b3fd0014a61,Dynamics 365 for Case Management for Government -"Dynamics 365 for Case Management, Enterprise Edition for Government",D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government -"Dynamics 365 for Case Management, Enterprise Edition for Government",D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government -"Dynamics 365 for Case Management, Enterprise Edition for Government",D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,PROJECT_ESSENTIALS_GOV,fdcb7064-f45c-46fa-b056-7e0e9fdf4bf3,Project Online Essentials for Government -"Dynamics 365 for Case Management, Enterprise Edition for Government",D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G -"Dynamics 365 for Case Management, Enterprise Edition for Government",D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,FLOW_DYN_APPS_GOV,2c6af4f1-e7b6-4d59-bbc8-eaa884f42d69,Power Automate for Dynamics 365 for Government -"Dynamics 365 for Case Management, Enterprise Edition for Government",D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government -"Dynamics 365 for Case Management, Enterprise Edition for Government",DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,79bb0a8d-e686-4e16-ac59-2b3fd0014a61,Dynamics 365 for Case Management for Government -"Dynamics 365 for Case Management, Enterprise Edition for Government",DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User -"Dynamics 365 for Case Management, Enterprise Edition for Government",DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation -"Dynamics 365 for Case Management, Enterprise Edition for Government",DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government -"Dynamics 365 for Case Management, Enterprise Edition for Government",DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,PROJECT_ESSENTIALS_GOV,fdcb7064-f45c-46fa-b056-7e0e9fdf4bf3,Project Online Essentials for Government -"Dynamics 365 for Case Management, Enterprise Edition for Government",DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G -"Dynamics 365 for Case Management, Enterprise Edition for Government",DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,FLOW_DYN_APPS_GOV,2c6af4f1-e7b6-4d59-bbc8-eaa884f42d69,Power Automate for Dynamics 365 for Government -"Dynamics 365 for Case Management, Enterprise Edition for Government",DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,79bb0a8d-e686-4e16-ac59-2b3fd0014a61,Dynamics 365 for Case Management for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,PROJECT_ESSENTIALS_GOV,fdcb7064-f45c-46fa-b056-7e0e9fdf4bf3,Project Online Essentials for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G +Dynamics 365 for Case Management, Enterprise Edition for Government,D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,FLOW_DYN_APPS_GOV,2c6af4f1-e7b6-4d59-bbc8-eaa884f42d69,Power Automate for Dynamics 365 for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,79bb0a8d-e686-4e16-ac59-2b3fd0014a61,Dynamics 365 for Case Management for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User +Dynamics 365 for Case Management, Enterprise Edition for Government,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 for Case Management, Enterprise Edition for Government,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,PROJECT_ESSENTIALS_GOV,fdcb7064-f45c-46fa-b056-7e0e9fdf4bf3,Project Online Essentials for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G +Dynamics 365 for Case Management, Enterprise Edition for Government,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,FLOW_DYN_APPS_GOV,2c6af4f1-e7b6-4d59-bbc8-eaa884f42d69,Power Automate for Dynamics 365 for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,DYN365_CDS_RETAIL,93cc200d-a47f-4c56-aec1-83f8b0d0425a,Common Data Service for Dynamics 365 Retail +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,FLOW_FOR_IOM_USL,9e6d1620-dce9-4655-8933-af8fa5bccc9c,Data Integration for IOM with Power Automate USL +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,CDS_FOR_IOM,2bb89402-51e9-4c5a-be33-e954a9dd1ba6,Dataverse for IOM +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,DYN365_RETAIL,117e3aa0-8d08-4a19-a6a5-90b7a96e2128,Dynamics 365 Commerce +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,DYN365_REGULATORY_SERVICE,c7657ae3-c0b0-4eed-8c1d-6a7967bd9c65,Dynamics 365 for Finance and Operations, Enterprise edition - Regulatory Service +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,DYN365_FP_ACC_PROTECTION,4c00c16c-0304-4421-b598-555c3e78edcb,Dynamics 365 Fraud Protection - Account Protection +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,DYN365_FP_LOSS_PREVENTION,ecc62904-fa88-4552-a62c-fe582fb31444,Dynamics 365 Fraud Protection - Loss Prevention +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,DYN365_FP_PURCH_PROTECTION,d703990f-006e-459b-b8dd-1267c4533a22,Dynamics 365 Fraud Protection - Purchase Protection +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,DYN365_IOM,616cf6e2-f52f-4738-b463-10003061fcd3,Dynamics 365 Intelligent Order Management +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,DYN365_IOM_USER,81375e2f-5ef7-4773-96aa-e3279f50bd21,Dynamics 365 Intelligent Order Management USL +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,Power Apps for Dynamics 365 +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Power Automate for Dynamics 365 Dynamics 365 for Customer Service Chat,DYN365_CS_CHAT,7d7af6c2-0be6-46df-84d1-c181b0272909,DYN365_CS_CHAT_FPA,426ec19c-d5b1-4548-b894-6fe75028c30d,Dynamics 365 Customer Service Chat Application Integration Dynamics 365 for Customer Service Chat,DYN365_CS_CHAT,7d7af6c2-0be6-46df-84d1-c181b0272909,DYN365_CS_CHAT,f69129db-6dc1-4107-855e-0aaebbcd9dd4,Dynamics 365 for Customer Service Chat Dynamics 365 for Customer Service Chat,DYN365_CS_CHAT,7d7af6c2-0be6-46df-84d1-c181b0272909,POWER_VIRTUAL_AGENTS_D365_CS_CHAT,19e4c3a8-3ebe-455f-a294-4f3479873ae3,Power Virtual Agents for Chat @@ -278,14 +296,14 @@ Dynamics 365 for Customer Service Enterprise Edition,DYN365_ENTERPRISE_CUSTOMER_ Dynamics 365 for Customer Service Enterprise Edition,DYN365_ENTERPRISE_CUSTOMER_SERVICE,749742bf-0d37-4158-a120-33567104deeb,PROJECT_ESSENTIALS,1259157c-8581-4875-bca7-2ffb18c51bda,POWERAPPS FOR DYNAMICS 365 Dynamics 365 for Customer Service Enterprise Edition,DYN365_ENTERPRISE_CUSTOMER_SERVICE,749742bf-0d37-4158-a120-33567104deeb,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,DYNAMICS 365 FOR CUSTOMER SERVICE Dynamics 365 for Customer Service Enterprise Edition,DYN365_ENTERPRISE_CUSTOMER_SERVICE,749742bf-0d37-4158-a120-33567104deeb,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,OFFICE ONLINE -"Dynamics 365 for Customer Service, Enterprise Edition for Government",DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,dc6643d9-1e72-4dce-9f64-1d6eac1f1c5a,Dynamics 365 for Customer Service for Government -"Dynamics 365 for Customer Service, Enterprise Edition for Government",DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,Forms_Pro_Service_GCC,bb681a9b-58f5-42ee-9926-674325be8aaa,Microsoft Dynamics 365 Customer Voice for Customer Service Enterprise for GCC -"Dynamics 365 for Customer Service, Enterprise Edition for Government",DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation -"Dynamics 365 for Customer Service, Enterprise Edition for Government",DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government -"Dynamics 365 for Customer Service, Enterprise Edition for Government",DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,PROJECT_ESSENTIALS_GOV,fdcb7064-f45c-46fa-b056-7e0e9fdf4bf3,Project Online Essentials for Government -"Dynamics 365 for Customer Service, Enterprise Edition for Government",DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G -"Dynamics 365 for Customer Service, Enterprise Edition for Government",DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,FLOW_DYN_APPS_GOV,2c6af4f1-e7b6-4d59-bbc8-eaa884f42d69,Power Automate for Dynamics 365 for Government -"Dynamics 365 for Customer Service, Enterprise Edition for Government",DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government +Dynamics 365 for Customer Service, Enterprise Edition for Government,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,dc6643d9-1e72-4dce-9f64-1d6eac1f1c5a,Dynamics 365 for Customer Service for Government +Dynamics 365 for Customer Service, Enterprise Edition for Government,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,Forms_Pro_Service_GCC,bb681a9b-58f5-42ee-9926-674325be8aaa,Microsoft Dynamics 365 Customer Voice for Customer Service Enterprise for GCC +Dynamics 365 for Customer Service, Enterprise Edition for Government,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 for Customer Service, Enterprise Edition for Government,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government +Dynamics 365 for Customer Service, Enterprise Edition for Government,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,PROJECT_ESSENTIALS_GOV,fdcb7064-f45c-46fa-b056-7e0e9fdf4bf3,Project Online Essentials for Government +Dynamics 365 for Customer Service, Enterprise Edition for Government,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G +Dynamics 365 for Customer Service, Enterprise Edition for Government,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,FLOW_DYN_APPS_GOV,2c6af4f1-e7b6-4d59-bbc8-eaa884f42d69,Power Automate for Dynamics 365 for Government +Dynamics 365 for Customer Service, Enterprise Edition for Government,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government Dynamics 365 for Field Service Attach to Qualifying Dynamics 365 Base Offer,D365_FIELD_SERVICE_ATTACH,a36cdaa2-a806-4b6e-9ae0-28dbd993c20e,D365_FIELD_SERVICE_ATTACH,55c9148b-d5f0-4101-b5a0-b2727cfc0916,Dynamics 365 for Field Service Attach Dynamics 365 for Field Service Attach to Qualifying Dynamics 365 Base Offer,D365_FIELD_SERVICE_ATTACH,a36cdaa2-a806-4b6e-9ae0-28dbd993c20e,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Dynamics 365 for Field Service Enterprise Edition,DYN365_ENTERPRISE_FIELD_SERVICE,c7d15985-e746-4f01-b113-20b575898250,DYN365_ENTERPRISE_FIELD_SERVICE,8c66ef8a-177f-4c0d-853c-d4f219331d09,Dynamics 365 for Field Service @@ -338,12 +356,12 @@ Dynamics 365 for Marketing USL,D365_MARKETING_USER,4b32a493-9a67-4649-8eb9-9fc5a Dynamics 365 for Marketing USL,D365_MARKETING_USER,4b32a493-9a67-4649-8eb9-9fc5a5f75c12,DYN365_MARKETING_USER,5d7a6abc-eebd-46ab-96e1-e4a2f54a2248,Dynamics 365 for Marketing USL Dynamics 365 for Marketing USL,D365_MARKETING_USER,4b32a493-9a67-4649-8eb9-9fc5a5f75c12,Forms_Pro_Marketing,76366ba0-d230-47aa-8087-b6d55dae454f,Microsoft Dynamics 365 Customer Voice for Marketing Dynamics 365 for Marketing USL,D365_MARKETING_USER,4b32a493-9a67-4649-8eb9-9fc5a5f75c12,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation -Dynamics 365 Operations � Activity,Dyn365_Operations_Activity,b75074f1-4c54-41bf-970f-c9ac871567f5,DYN365_RETAIL_Activity,f06754ec-6d72-4bf6-991c-4cb5413d9932,Dynamics 365 for Retail Activity -Dynamics 365 Operations � Activity,Dyn365_Operations_Activity,b75074f1-4c54-41bf-970f-c9ac871567f5,DYN365_Enterprise_Talent_Attract_Activity,aac5a56b-b02e-4608-8014-b076646d4011,Dynamics 365 for Talent - Attract Experience Activity -Dynamics 365 Operations � Activity,Dyn365_Operations_Activity,b75074f1-4c54-41bf-970f-c9ac871567f5,DYN365_Enterprise_Talent_Onboard_Activity,db225597-e9c2-4d96-8ace-5424744c80f8,Dynamics 365 for Talent - Onboard Experience -Dynamics 365 Operations � Activity,Dyn365_Operations_Activity,b75074f1-4c54-41bf-970f-c9ac871567f5,Dynamics_365_for_Talent_Activity,1f87ee90-5c3a-4cf9-b6fd-e3e8017c26ec,Dynamics 365 for Talent Activity -Dynamics 365 Operations � Activity,Dyn365_Operations_Activity,b75074f1-4c54-41bf-970f-c9ac871567f5,Dynamics_365_for_Operations_Activity,6bddf93e-d6f4-4991-b9fc-30cfdf07ee7b,Dynamics365 for Operations Activity -Dynamics 365 Operations � Activity,Dyn365_Operations_Activity,b75074f1-4c54-41bf-970f-c9ac871567f5,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Operations – Activity,Dyn365_Operations_Activity,b75074f1-4c54-41bf-970f-c9ac871567f5,DYN365_RETAIL_Activity,f06754ec-6d72-4bf6-991c-4cb5413d9932,Dynamics 365 for Retail Activity +Dynamics 365 Operations – Activity,Dyn365_Operations_Activity,b75074f1-4c54-41bf-970f-c9ac871567f5,DYN365_Enterprise_Talent_Attract_Activity,aac5a56b-b02e-4608-8014-b076646d4011,Dynamics 365 for Talent - Attract Experience Activity +Dynamics 365 Operations – Activity,Dyn365_Operations_Activity,b75074f1-4c54-41bf-970f-c9ac871567f5,DYN365_Enterprise_Talent_Onboard_Activity,db225597-e9c2-4d96-8ace-5424744c80f8,Dynamics 365 for Talent - Onboard Experience +Dynamics 365 Operations – Activity,Dyn365_Operations_Activity,b75074f1-4c54-41bf-970f-c9ac871567f5,Dynamics_365_for_Talent_Activity,1f87ee90-5c3a-4cf9-b6fd-e3e8017c26ec,Dynamics 365 for Talent Activity +Dynamics 365 Operations – Activity,Dyn365_Operations_Activity,b75074f1-4c54-41bf-970f-c9ac871567f5,Dynamics_365_for_Operations_Activity,6bddf93e-d6f4-4991-b9fc-30cfdf07ee7b,Dynamics365 for Operations Activity +Dynamics 365 Operations – Activity,Dyn365_Operations_Activity,b75074f1-4c54-41bf-970f-c9ac871567f5,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Dynamics 365 Project Operations Attach,DYN365_PROJECT_OPERATIONS_ATTACH,af739e8e-dd11-4eb5-a986-5908f595c603,D365CDSforProjectOperations,7df1d500-ca5c-4229-8cea-815bc88798c9,Common Data Service for Dynamics 365 Project Operations Dynamics 365 Project Operations Attach,DYN365_PROJECT_OPERATIONS_ATTACH,af739e8e-dd11-4eb5-a986-5908f595c603,D365_ProjectOperationsCDSAttach,e564d403-7eaf-4c91-b92f-bb0dc62026e1,Dynamics 365 Project Operations CDS Attach Dynamics 365 Project Operations Attach,DYN365_PROJECT_OPERATIONS_ATTACH,af739e8e-dd11-4eb5-a986-5908f595c603,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User @@ -375,13 +393,13 @@ Dynamics 365 for Sales Enterprise Edition,DYN365_ENTERPRISE_SALES,1e1a282c-9c54- Dynamics 365 for Sales Enterprise Edition,DYN365_ENTERPRISE_SALES,1e1a282c-9c54-43a2-9310-98ef728faace,PROJECT_ESSENTIALS,1259157c-8581-4875-bca7-2ffb18c51bda,PROJECT ONLINE ESSENTIALS Dynamics 365 for Sales Enterprise Edition,DYN365_ENTERPRISE_SALES,1e1a282c-9c54-43a2-9310-98ef728faace,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SHAREPOINT ONLINE (PLAN 2) Dynamics 365 for Sales Enterprise Edition,DYN365_ENTERPRISE_SALES,1e1a282c-9c54-43a2-9310-98ef728faace,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,OFFICE ONLINE -"Dynamics 365 for Sales, Enterprise Edition for Government",DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,DYN365_ENTERPRISE_SALES_GOV,213be507-d547-4f79-bc2c-6196bc54c4a3,Dynamics 365 for Sales for Government -"Dynamics 365 for Sales, Enterprise Edition for Government",DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation -"Dynamics 365 for Sales, Enterprise Edition for Government",DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government -"Dynamics 365 for Sales, Enterprise Edition for Government",DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,PROJECT_ESSENTIALS_GOV,fdcb7064-f45c-46fa-b056-7e0e9fdf4bf3,Project Online Essentials for Government -"Dynamics 365 for Sales, Enterprise Edition for Government",DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G -"Dynamics 365 for Sales, Enterprise Edition for Government",DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,FLOW_DYN_APPS_GOV,2c6af4f1-e7b6-4d59-bbc8-eaa884f42d69,Power Automate for Dynamics 365 for Government -"Dynamics 365 for Sales, Enterprise Edition for Government",DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government +Dynamics 365 for Sales, Enterprise Edition for Government,DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,DYN365_ENTERPRISE_SALES_GOV,213be507-d547-4f79-bc2c-6196bc54c4a3,Dynamics 365 for Sales for Government +Dynamics 365 for Sales, Enterprise Edition for Government,DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 for Sales, Enterprise Edition for Government,DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government +Dynamics 365 for Sales, Enterprise Edition for Government,DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,PROJECT_ESSENTIALS_GOV,fdcb7064-f45c-46fa-b056-7e0e9fdf4bf3,Project Online Essentials for Government +Dynamics 365 for Sales, Enterprise Edition for Government,DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G +Dynamics 365 for Sales, Enterprise Edition for Government,DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,FLOW_DYN_APPS_GOV,2c6af4f1-e7b6-4d59-bbc8-eaa884f42d69,Power Automate for Dynamics 365 for Government +Dynamics 365 for Sales, Enterprise Edition for Government,DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government Dynamics 365 for Sales Enterprise for Government,D365_ENTERPRISE_SALES_GOV,e85b3345-2fd5-45cf-a196-7968d3e18e56,DYN365_ENTERPRISE_SALES_GOV,213be507-d547-4f79-bc2c-6196bc54c4a3,Dynamics 365 for Sales for Government Dynamics 365 for Sales Enterprise for Government,D365_ENTERPRISE_SALES_GOV,e85b3345-2fd5-45cf-a196-7968d3e18e56,Forms_Pro_SalesEnt_GCC,33850b82-0a37-4ebb-a0b2-ee163facd716,Microsoft Dynamics 365 Customer Voice for Sales Enterprise for GCC Dynamics 365 for Sales Enterprise for Government,D365_ENTERPRISE_SALES_GOV,e85b3345-2fd5-45cf-a196-7968d3e18e56,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User @@ -393,12 +411,12 @@ Dynamics 365 for Sales Enterprise for Government,D365_ENTERPRISE_SALES_GOV,e85b3 Dynamics 365 for Sales Enterprise for Government,D365_ENTERPRISE_SALES_GOV,e85b3345-2fd5-45cf-a196-7968d3e18e56,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G Dynamics 365 for Sales Enterprise for Government,D365_ENTERPRISE_SALES_GOV,e85b3345-2fd5-45cf-a196-7968d3e18e56,FLOW_DYN_APPS_GOV,2c6af4f1-e7b6-4d59-bbc8-eaa884f42d69,Power Automate for Dynamics 365 for Government Dynamics 365 for Sales Enterprise for Government,D365_ENTERPRISE_SALES_GOV,e85b3345-2fd5-45cf-a196-7968d3e18e56,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government -"Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox",Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,DYN365_ENTERPRISE_P1,d56f3deb-50d8-465a-bedb-f079817ccac1,Dynamics 365 Customer Engagement Plan -"Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox",Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,Forms_Pro_Service,67bf4812-f90b-4db9-97e7-c0bbbf7b2d09,Microsoft Dynamics 365 Customer Voice for Customer Service Enterprise -"Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox",Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,Power Apps for Dynamics 365 -"Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox",Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Power Automate for Dynamics 365 -"Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox",Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation -"Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox",Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,PROJECT_ESSENTIALS,1259157c-8581-4875-bca7-2ffb18c51bda,Project Online Essentials +Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox,Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,DYN365_ENTERPRISE_P1,d56f3deb-50d8-465a-bedb-f079817ccac1,Dynamics 365 Customer Engagement Plan +Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox,Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,Forms_Pro_Service,67bf4812-f90b-4db9-97e7-c0bbbf7b2d09,Microsoft Dynamics 365 Customer Voice for Customer Service Enterprise +Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox,Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,Power Apps for Dynamics 365 +Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox,Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Power Automate for Dynamics 365 +Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox,Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox,Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,PROJECT_ESSENTIALS,1259157c-8581-4875-bca7-2ffb18c51bda,Project Online Essentials Dynamics 365 Sales Premium,DYN365_SALES_PREMIUM,2edaa1dc-966d-4475-93d6-8ee8dfd96877,DYN365_SALES_INSIGHTS,fedc185f-0711-4cc0-80ed-0a92da1a8384,Dynamics 365 AI for Sales (Embedded) Dynamics 365 Sales Premium,DYN365_SALES_PREMIUM,2edaa1dc-966d-4475-93d6-8ee8dfd96877,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) Dynamics 365 Sales Premium,DYN365_SALES_PREMIUM,2edaa1dc-966d-4475-93d6-8ee8dfd96877,PROJECT_ESSENTIALS,1259157c-8581-4875-bca7-2ffb18c51bda,Project Online Essentials @@ -414,7 +432,7 @@ Dynamics 365 Sales Premium,DYN365_SALES_PREMIUM,2edaa1dc-966d-4475-93d6-8ee8dfd9 Dynamics 365 for Supply Chain Management Attach to Qualifying Dynamics 365 Base Offer,DYN365_SCM_ATTACH,090b4a96-8114-4c95-9c91-60e81ef53302,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User Dynamics 365 for Supply Chain Management Attach to Qualifying Dynamics 365 Base Offer,DYN365_SCM_ATTACH,090b4a96-8114-4c95-9c91-60e81ef53302,DYN365_CDS_SUPPLYCHAINMANAGEMENT,b6a8b974-2956-4e14-ae81-f0384c363528,Common Data Service for Dynamics 365 Supply Chain Management Dynamics 365 for Supply Chain Management Attach to Qualifying Dynamics 365 Base Offer,DYN365_SCM_ATTACH,090b4a96-8114-4c95-9c91-60e81ef53302,CDS_FOR_IOM,2bb89402-51e9-4c5a-be33-e954a9dd1ba6,Dataverse for IOM -Dynamics 365 for Supply Chain Management Attach to Qualifying Dynamics 365 Base Offer,DYN365_SCM_ATTACH,090b4a96-8114-4c95-9c91-60e81ef53302,DYN365_REGULATORY_SERVICE,c7657ae3-c0b0-4eed-8c1d-6a7967bd9c65,"Dynamics 365 for Finance and Operations, Enterprise edition - Regulatory Service" +Dynamics 365 for Supply Chain Management Attach to Qualifying Dynamics 365 Base Offer,DYN365_SCM_ATTACH,090b4a96-8114-4c95-9c91-60e81ef53302,DYN365_REGULATORY_SERVICE,c7657ae3-c0b0-4eed-8c1d-6a7967bd9c65,Dynamics 365 for Finance and Operations, Enterprise edition - Regulatory Service Dynamics 365 for Supply Chain Management Attach to Qualifying Dynamics 365 Base Offer,DYN365_SCM_ATTACH,090b4a96-8114-4c95-9c91-60e81ef53302,D365_SCM_Attach,b21c777f-c2d5-486e-88f6-fc0a3e474271,Dynamics 365 for Supply Chain Management Attach Dynamics 365 for Supply Chain Management Attach to Qualifying Dynamics 365 Base Offer,DYN365_SCM_ATTACH,090b4a96-8114-4c95-9c91-60e81ef53302,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Dynamics 365 for Marketing Business Edition,DYN365_BUSINESS_MARKETING,238e2f8d-e429-4035-94db-6926be4ffe7b,DYN365_BUSINESS_Marketing,393a0c96-9ba1-4af0-8975-fa2f853a25ac,Dynamics 365 Marketing @@ -503,7 +521,7 @@ Dynamics 365 P1 Tria for Information Workers,DYN365_ENTERPRISE_P1_IW,338148b6-1b Dynamics 365 Project Operations,DYN365_PROJECT_OPERATIONS,98619618-9dc8-48c6-8f0c-741890ba5f93,D365CDSforProjectOperations,7df1d500-ca5c-4229-8cea-815bc88798c9,Common Data Service for Dynamics 365 Project Operations Dynamics 365 Project Operations,DYN365_PROJECT_OPERATIONS,98619618-9dc8-48c6-8f0c-741890ba5f93,D365_ProjectOperationsCDS,18fa3aba-b085-4105-87d7-55617b8585e6,Dynamics 365 Project Operations CDS Dynamics 365 Project Operations,DYN365_PROJECT_OPERATIONS,98619618-9dc8-48c6-8f0c-741890ba5f93,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User -Dynamics 365 Project Operations,DYN365_PROJECT_OPERATIONS,98619618-9dc8-48c6-8f0c-741890ba5f93,DYN365_REGULATORY_SERVICE,c7657ae3-c0b0-4eed-8c1d-6a7967bd9c65,"Dynamics 365 for Finance and Operations, Enterprise edition - Regulatory Service" +Dynamics 365 Project Operations,DYN365_PROJECT_OPERATIONS,98619618-9dc8-48c6-8f0c-741890ba5f93,DYN365_REGULATORY_SERVICE,c7657ae3-c0b0-4eed-8c1d-6a7967bd9c65,Dynamics 365 for Finance and Operations, Enterprise edition - Regulatory Service Dynamics 365 Project Operations,DYN365_PROJECT_OPERATIONS,98619618-9dc8-48c6-8f0c-741890ba5f93,D365_ProjectOperations,69f07c66-bee4-4222-b051-195095efee5b,Dynamics 365 Project Operations Dynamics 365 Project Operations,DYN365_PROJECT_OPERATIONS,98619618-9dc8-48c6-8f0c-741890ba5f93,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,Power Apps for Dynamics 365 Dynamics 365 Project Operations,DYN365_PROJECT_OPERATIONS,98619618-9dc8-48c6-8f0c-741890ba5f93,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Power Automate for Dynamics 365 @@ -661,7 +679,7 @@ Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789 Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,EducationAnalyticsP1,a9b86446-fa4e-498f-a92a-41b447e03337,Education Analytics Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers -Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise @@ -707,7 +725,7 @@ Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36 Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,EducationAnalyticsP1,a9b86446-fa4e-498f-a92a-41b447e03337,Education Analytics Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers -Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise @@ -789,7 +807,7 @@ Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSE Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,EducationAnalyticsP1,a9b86446-fa4e-498f-a92a-41b447e03337,Education Analytics Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers -Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,OFFICESUBSCRIPTION_unattended,8d77e2d9-9e28-4450-8431-0def64078fc5,Microsoft 365 Apps for Enterprise (Unattended) Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,OFFICE_FORMS_PLAN_2,9b5de886-f035-4ff2-b3d8-c9127bea3620,Microsoft Forms (Plan 2) @@ -831,7 +849,7 @@ Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07 Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing @@ -907,7 +925,7 @@ Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3 Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing @@ -1017,7 +1035,7 @@ Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-48 Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,INTUNE_EDU,da24caf9-af8e-485c-b7c8-e73336da2693,Microsoft Intune for Education Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,POWERAPPS_O365_P2,c68f8d98-5534-41c8-bf36-22fa496fa792,Power Apps for Office 365 Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,FLOW_O365_P2,76846ad7-7776-4c40-a281-a386362dd1b9,Power Automate for Office 365 -Microsoft 365 A5 Suite features for faculty,M365_A5_SUITE_COMPONENTS_FACULTY,9b8fe788-6174-4c4e-983b-3330c93ec278,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics � Premium +Microsoft 365 A5 Suite features for faculty,M365_A5_SUITE_COMPONENTS_FACULTY,9b8fe788-6174-4c4e-983b-3330c93ec278,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics – Premium Microsoft 365 A5 Suite features for faculty,M365_A5_SUITE_COMPONENTS_FACULTY,9b8fe788-6174-4c4e-983b-3330c93ec278,INSIDER_RISK,d587c7a3-bda9-4f99-8776-9bcf59c84f75,Microsoft Insider Risk Management Microsoft 365 A5 Suite features for faculty,M365_A5_SUITE_COMPONENTS_FACULTY,9b8fe788-6174-4c4e-983b-3330c93ec278,ML_CLASSIFICATION,d2d51368-76c9-4317-ada2-a12c004c432f,Microsoft ML-Based Classification Microsoft 365 A5 Suite features for faculty,M365_A5_SUITE_COMPONENTS_FACULTY,9b8fe788-6174-4c4e-983b-3330c93ec278,SAFEDOCS,bf6f5520-59e3-4f82-974b-7dbbc4fd27c7,Office 365 SafeDocs @@ -1063,7 +1081,7 @@ Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_ Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,BPOS_S_TODO_2,c87f142c-d1e9-4363-8630-aaea9c4d9ae5,To-Do (Plan 2) Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,UNIVERSAL_PRINT_NO_SEEDING,b67adbaf-a096-42c9-967e-5a84edbe0086,Universal Print Without Seeding Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) -Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,"Virtualization Rights for Windows 10 (E3/E5+VDA)",e7c91390-7625-45be-94e0-e16907e03118,Windows 10 Enterprise (New) +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,Virtualization Rights for Windows 10 (E3/E5+VDA),e7c91390-7625-45be-94e0-e16907e03118,Windows 10 Enterprise (New) Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,YAMMER_EDU,2078e8df-cff6-4290-98cb-5408261a760a,Yammer for Academic Microsoft 365 Apps for Business,O365_BUSINESS,cdd28e44-67e3-425e-be4c-737fab2899d3,FORMS_PLAN_E1,159f4cd6-e380-449f-a816-af1a9ef76344,MICROSOFT FORMS (PLAN E1) Microsoft 365 Apps for Business,O365_BUSINESS,cdd28e44-67e3-425e-be4c-737fab2899d3,OFFICE_BUSINESS,094e7854-93fc-4d55-b2c0-3ab5369ebdc1,OFFICE 365 BUSINESS @@ -1391,21 +1409,25 @@ Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Busine Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,POWER_VIRTUAL_AGENTS_O365_P3,ded3d325-1bdc-453e-8432-5bac26d7a014,Power Virtual Agents for Office 365 Microsoft 365 Business Voice (US),BUSINESS_VOICE_MED2_TELCO,08d7bce8-6e16-490e-89db-1d508e5e9609,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing Microsoft 365 Business Voice (US),BUSINESS_VOICE_MED2_TELCO,08d7bce8-6e16-490e-89db-1d508e5e9609,MCOPSTN1,4ed3ff63-69d7-4fb7-b984-5aec7f605ca8,Microsoft 365 Domestic Calling Plan -Microsoft 365 Business Voice (US),BUSINESS_VOICE_MED2_TELCO,08d7bce8-6e16-490e-89db-1d508e5e9609,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System -Microsoft 365 Domestic Calling Plan (120 Minutes),MCOPSTN_5,11dee6af-eca8-419f-8061-6864517c1875,MCOPSTN5,54a152dc-90de-4996-93d2-bc47e670fc06,MICROSOFT 365 DOMESTIC CALLING PLAN (120 min) -Microsoft 365 Domestic Calling Plan for GCC,MCOPSTN_1_GOV,923f58ab-fca1-46a1-92f9-89fda21238a8,MCOPSTN1_GOV,3c8a8792-7866-409b-bb61-1b20ace0368b,Domestic Calling for Government -Microsoft 365 Domestic Calling Plan for GCC,MCOPSTN_1_GOV,923f58ab-fca1-46a1-92f9-89fda21238a8,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government -Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,MESH_AVATARS_FOR_TEAMS,dcf9d2f4-772e-4434-b757-77a453cfbc02,Avatars for Teams -Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) -Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management -Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot -Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,CDS_O365_P2,95b76021-6a53-4741-ab8b-1d1f3d66a95a,Common Data Service for Teams -Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) -Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,MESH_IMMERSIVE_FOR_TEAMS,f0ff6ac6-297d-49cd-be34-6dfef97f0c28,Immersive spaces for Teams -Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard -Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard -Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics -Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise +Microsoft 365 Business Voice (without Calling Plan),BUSINESS_VOICE_DIRECTROUTING,d52db95a-5ecb-46b6-beb0-190ab5cda4a8,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Microsoft 365 Business Voice (without Calling Plan),BUSINESS_VOICE_DIRECTROUTING,d52db95a-5ecb-46b6-beb0-190ab5cda4a8,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft 365 Business Voice (UK,BUSINESS_VOICE,e5a17adf-8f0d-4b57-bc14-d331235f9307,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Microsoft 365 Business Voice (UK,BUSINESS_VOICE,e5a17adf-8f0d-4b57-bc14-d331235f9307,MCOPSTN1,4ed3ff63-69d7-4fb7-b984-5aec7f605ca8,Microsoft 365 Domestic Calling Plan +Microsoft 365 Business Voice (UK,BUSINESS_VOICE,e5a17adf-8f0d-4b57-bc14-d331235f9307,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft 365 Business Voice (without Calling Plan) for US,BUSINESS_VOICE_DIRECTROUTING_MED,8330dae3-d349-44f7-9cad-1b23c64baabe,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Microsoft 365 Business Voice (without Calling Plan) for US,BUSINESS_VOICE_DIRECTROUTING_MED,8330dae3-d349-44f7-9cad-1b23c64baabe,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft 365 Business Voice (without Calling Plan),BUSINESS_VOICE_DIRECTROUTING,d52db95a-5ecb-46b6-beb0-190ab5cda4a8,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Microsoft 365 Business Voice (without Calling Plan),BUSINESS_VOICE_DIRECTROUTING,d52db95a-5ecb-46b6-beb0-190ab5cda4a8,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft 365 Business Voice,BUSINESS_VOICE_MED2,a6051f20-9cbc-47d2-930d-419183bf6cf1,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Microsoft 365 Business Voice,BUSINESS_VOICE_MED2,a6051f20-9cbc-47d2-930d-419183bf6cf1,MCOPSTN1,4ed3ff63-69d7-4fb7-b984-5aec7f605ca8,Microsoft 365 Domestic Calling Plan +Microsoft 365 Business Voice,BUSINESS_VOICE_MED2,a6051f20-9cbc-47d2-930d-419183bf6cf1,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft Copilot for Microsoft 365,M365_Copilot,a809996b-059e-42e2-9866-db24b99a9782,GRAPH_CONNECTORS_COPILOT,82d30987-df9b-4486-b146-198b21d164c7,Graph Connectors in Microsoft 365 Copilot +Microsoft Copilot for Microsoft 365,M365_Copilot,a809996b-059e-42e2-9866-db24b99a9782,M365_COPILOT_INTELLIGENT_SEARCH,931e4a88-a67f-48b5-814f-16a5f1e6028d,Intelligent Search +Microsoft Copilot for Microsoft 365,M365_Copilot,a809996b-059e-42e2-9866-db24b99a9782,M365_COPILOT_TEAMS,b95945de-b3bd-46db-8437-f2beb6ea2347,Microsoft 365 Copilot in Microsoft Teams +Microsoft Copilot for Microsoft 365,M365_Copilot,a809996b-059e-42e2-9866-db24b99a9782,M365_COPILOT_APPS,a62f8878-de10-42f3-b68f-6149a25ceb97,Microsoft 365 Copilot in Productivity Apps +Microsoft Copilot for Microsoft 365,M365_Copilot,a809996b-059e-42e2-9866-db24b99a9782,M365_COPILOT_BUSINESS_CHAT,3f30311c-6b1e-48a4-ab79-725b469da960,Microsoft Copilot with Graph-grounded chat +Microsoft Copilot for Microsoft 365,M365_Copilot,a809996b-059e-42e2-9866-db24b99a9782,M365_COPILOT_CONNECTORS,89f1c4c8-0878-40f7-804d-869c9128ab5d,Power Platform Connectors in Microsoft 365 Copilot +Microsoft 365 Domestic Calling Plan (120 minutes) - US,MCOPSTN5_US,d13e9d1b-316a-4946-98c6-362c97a4fdfe,PSTN5_US,1346d5e6-15a6-4b88-9693-806ff7296a7a,Microsoft 365 Domestic Calling Plan - US (120 minutes) Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings @@ -1444,55 +1466,56 @@ Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,INTUNE_A,c1ec4a95-1 Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,POWERAPPS_O365_P2,c68f8d98-5534-41c8-bf36-22fa496fa792,Power Apps for Office 365 Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,FLOW_O365_P2,76846ad7-7776-4c40-a281-a386362dd1b9,Power Automate for Office 365 Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,POWER_VIRTUAL_AGENTS_O365_P2,041fe683-03e4-45b6-b1af-c0cdc516daee,Power Virtual Agents for Office 365 -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,CDS_O365_P2,95b76021-6a53-4741-ab8b-1d1f3d66a95a,Common Data Service for Teams -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,CLIPCHAMP,a1ace008-72f3-4ea0-8dac-33b3a23a2472,Microsoft Clipchamp -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MDE_LITE,292cc034-7b7c-4950-aaf5-943befd3f1d4,Microsoft Defender for Endpoint Plan 1 -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,FORMS_PLAN_E3,2789c901-c14e-48ab-a76a-be334d9d793a,Microsoft Forms (Plan E3) -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,KAIZALA_O365_P3,aebd3021-9f8f-4bf8-bbe3-0ed2f4f047a1,Microsoft Kaizala Pro -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,STREAM_O365_E3,9e700747-8b1d-45e5-ab8d-ef187ceec156,Microsoft Stream for Office 365 E3 -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,PROJECT_O365_P2,31b4e2fc-4cd6-4e7d-9c1b-41407303bd66,Project for Office (Plan E3) -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,BPOS_S_TODO_2,c87f142c-d1e9-4363-8630-aaea9c4d9ae5,To-Do (Plan 2) -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,WHITEBOARD_PLAN2,94a54592-cd8b-425e-87c6-97868b000b91,Whiteboard (Plan 2) -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,WIN10_PRO_ENT_SUB,21b439ba-a0ca-424f-a6cc-52f954a5b111,Windows 10/11 Enterprise (Original) -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,DYN365_CDS_O365_P2,4ff01e01-1ba7-4d71-8cf8-ce96c3bbcf14,Common Data Service -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,ADALLOM_S_DISCOVERY,932ad362-64a8-4783-9106-97849a1a30b9,Microsoft Defender for Cloud Apps Discovery -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,POWERAPPS_O365_P2,c68f8d98-5534-41c8-bf36-22fa496fa792,Power Apps for Office 365 -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,FLOW_O365_P2,76846ad7-7776-4c40-a281-a386362dd1b9,Power Automate for Office 365 -Microsoft 365 E3 EEA (no Teams),O365_w/o�Teams�Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,POWER_VIRTUAL_AGENTS_O365_P2,041fe683-03e4-45b6-b1af-c0cdc516daee,Power Virtual Agents for Office 365 +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,CDS_O365_P2,95b76021-6a53-4741-ab8b-1d1f3d66a95a,Common Data Service for Teams +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,CLIPCHAMP,a1ace008-72f3-4ea0-8dac-33b3a23a2472,Microsoft Clipchamp +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MDE_LITE,292cc034-7b7c-4950-aaf5-943befd3f1d4,Microsoft Defender for Endpoint Plan 1 +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,FORMS_PLAN_E3,2789c901-c14e-48ab-a76a-be334d9d793a,Microsoft Forms (Plan E3) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,KAIZALA_O365_P3,aebd3021-9f8f-4bf8-bbe3-0ed2f4f047a1,Microsoft Kaizala Pro +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,STREAM_O365_E3,9e700747-8b1d-45e5-ab8d-ef187ceec156,Microsoft Stream for Office 365 E3 +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,PROJECT_O365_P2,31b4e2fc-4cd6-4e7d-9c1b-41407303bd66,Project for Office (Plan E3) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,BPOS_S_TODO_2,c87f142c-d1e9-4363-8630-aaea9c4d9ae5,To-Do (Plan 2) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,WHITEBOARD_PLAN2,94a54592-cd8b-425e-87c6-97868b000b91,Whiteboard (Plan 2) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,WIN10_PRO_ENT_SUB,21b439ba-a0ca-424f-a6cc-52f954a5b111,Windows 10/11 Enterprise (Original) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,DYN365_CDS_O365_P2,4ff01e01-1ba7-4d71-8cf8-ce96c3bbcf14,Common Data Service +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,ADALLOM_S_DISCOVERY,932ad362-64a8-4783-9106-97849a1a30b9,Microsoft Defender for Cloud Apps Discovery +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,POWERAPPS_O365_P2,c68f8d98-5534-41c8-bf36-22fa496fa792,Power Apps for Office 365 +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,FLOW_O365_P2,76846ad7-7776-4c40-a281-a386362dd1b9,Power Automate for Office 365 +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,POWER_VIRTUAL_AGENTS_O365_P2,041fe683-03e4-45b6-b1af-c0cdc516daee,Power Virtual Agents for Office 365 Microsoft 365 E3 Extra Features,Microsoft_365_E3_Extra_Features,f5b15d67-b99e-406b-90f1-308452f94de6,MESH_AVATARS_FOR_TEAMS,dcf9d2f4-772e-4434-b757-77a453cfbc02,Avatars for Teams Microsoft 365 E3 Extra Features,Microsoft_365_E3_Extra_Features,f5b15d67-b99e-406b-90f1-308452f94de6,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) Microsoft 365 E3 Extra Features,Microsoft_365_E3_Extra_Features,f5b15d67-b99e-406b-90f1-308452f94de6,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot Microsoft 365 E3 Extra Features,Microsoft_365_E3_Extra_Features,f5b15d67-b99e-406b-90f1-308452f94de6,CLIPCHAMP,a1ace008-72f3-4ea0-8dac-33b3a23a2472,Microsoft Clipchamp Microsoft 365 E3 Extra Features,Microsoft_365_E3_Extra_Features,f5b15d67-b99e-406b-90f1-308452f94de6,MICROSOFT_LOOP,c4b8c31a-fb44-4c65-9837-a21f55fcabda,Microsoft Loop +Microsoft 365 E3 Extra Features,Microsoft_365_E3_Extra_Features,f5b15d67-b99e-406b-90f1-308452f94de6,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print Microsoft 365 E3 Extra Features,Microsoft_365_E3_Extra_Features,f5b15d67-b99e-406b-90f1-308452f94de6,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch Microsoft 365 E3 Extra Features,Microsoft_365_E3_Extra_Features,f5b15d67-b99e-406b-90f1-308452f94de6,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot @@ -1589,7 +1612,7 @@ Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-00 Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,CDS_O365_P2,95b76021-6a53-4741-ab8b-1d1f3d66a95a,Common Data Service for Teams Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) -Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise @@ -1630,17 +1653,18 @@ Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-00 Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,POWERAPPS_O365_P2,c68f8d98-5534-41c8-bf36-22fa496fa792,Power Apps for Office 365 Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,FLOW_O365_P2,76846ad7-7776-4c40-a281-a386362dd1b9,Power Automate for Office 365 Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,POWER_VIRTUAL_AGENTS_O365_P2,041fe683-03e4-45b6-b1af-c0cdc516daee,Power Virtual Agents for Office 365 -Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,CDS_O365_P2,95b76021-6a53-4741-ab8b-1d1f3d66a95a,Common Data Service for Teams -Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot -Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) -Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard -Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard -Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics -Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise -Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) -Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) -Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings -Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,CLIPCHAMP,a1ace008-72f3-4ea0-8dac-33b3a23a2472,Microsoft Clipchamp +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,MESH_AVATARS_FOR_TEAMS,dcf9d2f4-772e-4434-b757-77a453cfbc02,Avatars for Teams +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,EXCHANGE_S_DESKLESS,4a82b400-a79f-41a4-b4e2-e94f5787b113,Exchange Online Kiosk +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,MESH_IMMERSIVE_FOR_TEAMS,f0ff6ac6-297d-49cd-be34-6dfef97f0c28,Immersive spaces for Teams +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,FORMS_PLAN_E1,159f4cd6-e380-449f-a816-af1a9ef76344,Microsoft Forms (Plan E1) +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,ONEDRIVE_BASIC_P2,4495894f-534f-41ca-9d3b-0ebf1220a423,OneDrive for Business (Basic 2) +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,MCOIMP,afc06cb0-b4f4-4473-8286-d644f70d8faf,Skype for Business Online (Plan 1) Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,MDE_LITE,292cc034-7b7c-4950-aaf5-943befd3f1d4,Microsoft Defender for Endpoint Plan 1 Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,FORMS_PLAN_E3,2789c901-c14e-48ab-a76a-be334d9d793a,Microsoft Forms (Plan E3) Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,KAIZALA_O365_P3,aebd3021-9f8f-4bf8-bbe3-0ed2f4f047a1,Microsoft Kaizala Pro @@ -1714,7 +1738,7 @@ Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,GRAPH_CONNECTORS_SE Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,MESH_IMMERSIVE_FOR_TEAMS,f0ff6ac6-297d-49cd-be34-6dfef97f0c28,Immersive spaces for Teams Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -1794,7 +1818,7 @@ Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Te Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -1870,7 +1894,7 @@ Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_ Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -1950,7 +1974,7 @@ Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -2095,7 +2119,7 @@ Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,Microsoft 365 Communication Compliance @@ -2124,7 +2148,7 @@ Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549 Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -2218,7 +2242,7 @@ Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-a Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -2301,7 +2325,7 @@ Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233 Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -2384,7 +2408,7 @@ Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5 Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -2463,7 +2487,7 @@ Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(50 Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -2543,7 +2567,7 @@ Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,M Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -2616,7 +2640,7 @@ Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -2814,7 +2838,7 @@ Microsoft 365 F5 Compliance Add-on,SPE_F5_COMP,91de26be-adfa-4a3d-989e-9131cc23d Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,Microsoft 365 Communication Compliance @@ -2909,7 +2933,7 @@ Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,GRAPH_CONN Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,GRAPH_CONNECTORS_SEARCH_INDEX_TOPICEXP,b74d57b2-58e9-484a-9731-aeccbba954f0,Graph Connectors Search with Index (Microsoft Viva Topics) Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing @@ -2965,7 +2989,7 @@ Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-1 Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing @@ -3025,6 +3049,7 @@ Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7 Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,SAFEDOCS,bf6f5520-59e3-4f82-974b-7dbbc4fd27c7,Office 365 SafeDocs Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,PURVIEW_DISCOVERY,c948ea65-2053-4a5a-8a62-9eaaaf11b522,Purview Discovery Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,MICROSOFTENDPOINTDLP,64bfac92-2b17-4482-b5e5-a0304429de3e,Microsoft Endpoint DLP +Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,Defender_for_Iot_Enterprise,99cd49a9-0e54-4e07-aea1-d8d9f5f704f5,Defender for IoT - Enterprise IoT Security @@ -3049,7 +3074,7 @@ Microsoft 365 F1,M365_F1_COMM,50f60901-3181-4b75-8a2c-4c8e4c1d5a72,YAMMER_ENTERP Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,CDS_O365_P2_GCC,a70bbf38-cdda-470d-adb8-5804b8770f41,Common Data Service for Teams Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,EXCHANGE_S_ENTERPRISE_GOV,8c3069c0-ccdb-44be-ab77-986203a67df2,Exchange Online (Plan 2) for Government Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,MYANALYTICS_P2_GOV,6e5b7995-bd4f-4cbd-9d19-0e32010c72f0,Insights by MyAnalytics for Government Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,OFFICESUBSCRIPTION_GOV,de9234ff-6483-44d9-b15e-dca72fdd27af,Microsoft 365 Apps for enterprise G @@ -3100,7 +3125,8 @@ Microsoft 365 G3 - Unattended License for GCC,M365_G3_RPA1_GOV,5c739a73-651d-4c2 Microsoft 365 G3 - Unattended License for GCC,M365_G3_RPA1_GOV,5c739a73-651d-4c2c-8a4e-fe4ba12253b0,FLOW_O365_P2_GOV,c537f360-6a00-4ace-a7f5-9128d0ac1e4b,Power Automate for Office 365 for Government Microsoft 365 Lighthouse,Microsoft365_Lighthouse,9c0587f3-8665-4252-a8ad-b7a5ade57312,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) Microsoft 365 Lighthouse,Microsoft365_Lighthouse,9c0587f3-8665-4252-a8ad-b7a5ade57312,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) -Microsoft 365 Security and Compliance for Firstline Workers,M365_SECURITY_COMPLIANCE_FOR_FLW,2347355b-4e81-41a4-9c22-55057a399791,AAD_PREMIUM_P2,eec0eb4f-6444-4f95-aba0-50c24d67f998,Microsoft Entra ID P2 +Microsoft Sales Copilot,Microsoft_Viva_Sales,3227bcb2-8448-4f81-b3c2-8c2074e15a2a,Microsoft_Viva_Sales_PremiumTrial,8ba1ff15-7bf6-4620-b65c-ecedb6942766,Microsoft Sales Copilot Premium & Trial +Microsoft Sales Copilot,Microsoft_Viva_Sales,3227bcb2-8448-4f81-b3c2-8c2074e15a2a,Microsoft_Viva_Sales_PowerAutomate,a933a62f-c3fb-48e5-a0b7-ac92b94b4420,Microsoft Sales Copilot Premium with Power Automate Microsoft 365 Security and Compliance for Firstline Workers,M365_SECURITY_COMPLIANCE_FOR_FLW,2347355b-4e81-41a4-9c22-55057a399791,RMS_S_PREMIUM2,5689bec4-755d-4753-8b61-40975025187c,Azure Information Protection Premium P2 Microsoft 365 Security and Compliance for Firstline Workers,M365_SECURITY_COMPLIANCE_FOR_FLW,2347355b-4e81-41a4-9c22-55057a399791,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox Microsoft 365 Security and Compliance for Firstline Workers,M365_SECURITY_COMPLIANCE_FOR_FLW,2347355b-4e81-41a4-9c22-55057a399791,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 @@ -3274,6 +3300,30 @@ Microsoft Teams Exploratory,TEAMS_EXPLORATORY,710779e8-3d4a-4c88-adb9-386c958d1f Microsoft Teams Exploratory,TEAMS_EXPLORATORY,710779e8-3d4a-4c88-adb9-386c958d1fdf,BPOS_S_TODO_1,5e62787c-c316-451f-b873-1d05acd4d12c,TO-DO (PLAN 1) Microsoft Teams Exploratory,TEAMS_EXPLORATORY,710779e8-3d4a-4c88-adb9-386c958d1fdf,WHITEBOARD_PLAN1,b8afc642-032e-4de5-8c0a-507a7bba7e5d,WHITEBOARD (PLAN 1) Microsoft Teams Exploratory,TEAMS_EXPLORATORY,710779e8-3d4a-4c88-adb9-386c958d1fdf,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,YAMMER ENTERPRIS +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,MESH_AVATARS_FOR_TEAMS,dcf9d2f4-772e-4434-b757-77a453cfbc02,Avatars for Teams +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,CDS_O365_P1,bed136c6-b799-4462-824d-fc045d3a9d25,Common Data Service for Teams +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,EXCHANGE_S_STANDARD,9aaf7827-d63c-4b61-89c3-182f06f82e5c,Exchange Online (Plan 1) +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,MESH_IMMERSIVE_FOR_TEAMS,f0ff6ac6-297d-49cd-be34-6dfef97f0c28,Immersive spaces for Teams +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,FORMS_PLAN_E1,159f4cd6-e380-449f-a816-af1a9ef76344,Microsoft Forms (Plan E1) +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,MCO_TEAMS_IW,42a3ec34-28ba-46b6-992f-db53a675ac5b,Microsoft Teams +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,OFFICEMOBILE_SUBSCRIPTION,c63d4d19-e8cb-460e-b37c-4d6c34603745,Office Mobile Apps for Office 365 +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,SHAREPOINTSTANDARD,c7699d2e-19aa-44de-8edf-1736da088ca1,SharePoint (Plan 1) +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,BPOS_S_TODO_1,5e62787c-c316-451f-b873-1d05acd4d12c,To-Do (Plan 1) +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,WHITEBOARD_PLAN1,b8afc642-032e-4de5-8c0a-507a7bba7e5d,Whiteboard (Plan 1) +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,STREAM_O365_E1,743dd19e-1ce3-4c62-a3ad-49ba8f63a2f6,Microsoft Stream for Office 365 E1 +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,POWERAPPS_O365_P1,92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c,Power Apps for Office 365 +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,FLOW_O365_P1,0f9b09cb-62d1-4ff4-9129-43f4996f83f4,Power Automate for Office 365 +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,POWER_VIRTUAL_AGENTS_O365_P1,0683001c-0492-4d59-9515-d9a6426b5813,Power Virtual Agents for Office 365 Microsoft Teams Phone Standard,MCOEV,e43b5b99-8dfb-405f-9987-dc307f34bcbd,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,MICROSOFT 365 PHONE SYSTEM Microsoft Teams Phone Standard for DOD,MCOEV_DOD,d01d9287-694b-44f3-bcc5-ada78c8d953e,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,MICROSOFT 365 PHONE SYSTEM Microsoft Teams Phone Standard for Faculty,MCOEV_FACULTY,d979703c-028d-4de5-acbf-7955566b69b9,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,MICROSOFT 365 PHONE SYSTE @@ -3286,6 +3336,7 @@ Microsoft Teams Phone Standard for TELSTRA,MCOEV_TELSTRA,ffaf2d68-1c95-4eb3-9ddd Microsoft Teams Phone Standard_USGOV_DOD,MCOEV_USGOV_DOD,b0e7de67-e503-4934-b729-53d595ba5cd1,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,MICROSOFT 365 PHONE SYSTEM Microsoft Teams Phone Standard_USGOV_GCCHIGH,MCOEV_USGOV_GCCHIGH,985fcb26-7b94-475b-b512-89356697be71,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,MICROSOFT 365 PHONE SYSTEM Microsoft Teams Phone Resource Account,PHONESYSTEM_VIRTUALUSER,440eaaa8-b3e0-484b-a8be-62870b9ba70a,MCOEV_VIRTUALUSER,f47330e9-c134-43b3-9993-e7f004506889,Microsoft 365 Phone Standard Resource Account +Microsoft Teams Phone Resource Account for Faculty,PHONESYSTEM_VIRTUALUSER_FACULTY,0e142028-345e-45da-8d92-8bfd4093bbb9,MCOEV_VIRTUALUSER,f47330e9-c134-43b3-9993-e7f004506889,Microsoft 365 Phone Standard Resource Account Microsoft Teams Phone Resource Account for GCC,PHONESYSTEM_VIRTUALUSER_GOV,2cf22bcb-0c9e-4bc6-8daf-7e7654c0f285,MCOEV_VIRTUALUSER_GOV,0628a73f-3b4a-4989-bd7b-0f8823144313,Microsoft 365 Phone Standard Resource Account for Government Microsoft Teams Phone Resource Account_USGOV_GCCHIGH,PHONESYSTEM_VIRTUALUSER_USGOV_GCCHIGH ,e3f0522e-ebb7-4561-9f90-b44516d65b77,MCOEV_VIRTUALUSER,f47330e9-c134-43b3-9993-e7f004506889,Microsoft 365 Phone Standard Resource Account Microsoft Teams Premium Introductory Pricing,Microsoft_Teams_Premium,36a0f3b3-adb5-49ea-bf66-762134cf063a,MICROSOFT_ECDN,85704d55-2e73-47ee-93b4-4b8ea14db92b,Microsoft eCDN @@ -3297,11 +3348,15 @@ Microsoft Teams Premium Introductory Pricing,Microsoft_Teams_Premium,36a0f3b3-ad Microsoft Teams Premium Introductory Pricing,Microsoft_Teams_Premium,36a0f3b3-adb5-49ea-bf66-762134cf063a,TEAMSPRO_WEBINAR,78b58230-ec7e-4309-913c-93a45cc4735b,Microsoft Teams Premium Webinar Microsoft Teams Rooms Basic,Microsoft_Teams_Rooms_Basic,6af4b3d6-14bb-4a2a-960c-6c902aad34f3,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing Microsoft Teams Rooms Basic,Microsoft_Teams_Rooms_Basic,6af4b3d6-14bb-4a2a-960c-6c902aad34f3,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft Teams Rooms Basic,Microsoft_Teams_Rooms_Basic,6af4b3d6-14bb-4a2a-960c-6c902aad34f3,Teams_Rooms_Basic,c8529366-cffd-4415-ab8f-be0144a33ab1,Teams Rooms Basic +Microsoft Teams Rooms Basic,Microsoft_Teams_Rooms_Basic,6af4b3d6-14bb-4a2a-960c-6c902aad34f3,Teams_Room_Basic,8081ca9c-188c-4b49-a8e5-c23b5e9463a8,Teams Rooms Test 1 +Microsoft Teams Rooms Basic,Microsoft_Teams_Rooms_Basic,6af4b3d6-14bb-4a2a-960c-6c902aad34f3,Teams_Room_Pro,ec17f317-f4bc-451e-b2da-0167e5c260f9,Teams Rooms Test 2 Microsoft Teams Rooms Basic,Microsoft_Teams_Rooms_Basic,6af4b3d6-14bb-4a2a-960c-6c902aad34f3,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) Microsoft Teams Rooms Basic for EDU,Microsoft_Teams_Rooms_Basic_FAC,a4e376bd-c61e-4618-9901-3fc0cb1b88bb,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing Microsoft Teams Rooms Basic for EDU,Microsoft_Teams_Rooms_Basic_FAC,a4e376bd-c61e-4618-9901-3fc0cb1b88bb,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams -Microsoft Teams Rooms Basic for EDU,Microsoft_Teams_Rooms_Basic_FAC,a4e376bd-c61e-4618-9901-3fc0cb1b88bb,Teams_Room_Basic,8081ca9c-188c-4b49-a8e5-c23b5e9463a8,Teams Room Basic -Microsoft Teams Rooms Basic for EDU,Microsoft_Teams_Rooms_Basic_FAC,a4e376bd-c61e-4618-9901-3fc0cb1b88bb,Teams_Room_Pro,ec17f317-f4bc-451e-b2da-0167e5c260f9,Teams Room Pro +Microsoft Teams Rooms Basic for EDU,Microsoft_Teams_Rooms_Basic_FAC,a4e376bd-c61e-4618-9901-3fc0cb1b88bb,Teams_Rooms_Basic,c8529366-cffd-4415-ab8f-be0144a33ab1,Teams Rooms Basic +Microsoft Teams Rooms Basic for EDU,Microsoft_Teams_Rooms_Basic_FAC,a4e376bd-c61e-4618-9901-3fc0cb1b88bb,Teams_Room_Basic,8081ca9c-188c-4b49-a8e5-c23b5e9463a8,Teams Rooms Test 1 +Microsoft Teams Rooms Basic for EDU,Microsoft_Teams_Rooms_Basic_FAC,a4e376bd-c61e-4618-9901-3fc0cb1b88bb,Teams_Room_Pro,ec17f317-f4bc-451e-b2da-0167e5c260f9,Teams Rooms Test 2 Microsoft Teams Rooms Basic for EDU,Microsoft_Teams_Rooms_Basic_FAC,a4e376bd-c61e-4618-9901-3fc0cb1b88bb,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) Microsoft Teams Rooms Basic without Audio Conferencing,Microsoft_Teams_Rooms_Basic_without_Audio_Conferencing,50509a35-f0bd-4c5e-89ac-22f0e16a00f8,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams Microsoft Teams Rooms Basic without Audio Conferencing,Microsoft_Teams_Rooms_Basic_without_Audio_Conferencing,50509a35-f0bd-4c5e-89ac-22f0e16a00f8,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) @@ -3346,6 +3401,13 @@ Microsoft Teams Shared Devices,MCOCAP,295a8eb0-f78d-45c7-8b5b-1eed5ed02dff,MCOST Microsoft Teams Shared Devices,MCOCAP,295a8eb0-f78d-45c7-8b5b-1eed5ed02dff,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Microsoft Teams Shared Devices,MCOCAP,295a8eb0-f78d-45c7-8b5b-1eed5ed02dff,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 Microsoft Teams Shared Devices,MCOCAP,295a8eb0-f78d-45c7-8b5b-1eed5ed02dff,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Microsoft Teams Shared Devices for Faculty,MCOCAP_FACULTY ,420c7602-7f70-4895-9394-d3d679ea36fb ,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Microsoft Teams Shared Devices for Faculty,MCOCAP_FACULTY ,420c7602-7f70-4895-9394-d3d679ea36fb ,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft Teams Shared Devices for Faculty,MCOCAP_FACULTY ,420c7602-7f70-4895-9394-d3d679ea36fb ,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft Teams Shared Devices for Faculty,MCOCAP_FACULTY ,420c7602-7f70-4895-9394-d3d679ea36fb ,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft Teams Shared Devices for Faculty,MCOCAP_FACULTY ,420c7602-7f70-4895-9394-d3d679ea36fb ,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft Teams Shared Devices for Faculty,MCOCAP_FACULTY ,420c7602-7f70-4895-9394-d3d679ea36fb ,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 +Microsoft Teams Shared Devices for Faculty,MCOCAP_FACULTY ,420c7602-7f70-4895-9394-d3d679ea36fb ,SPECIALTY_DEVICES,cfce7ae3-4b41-4438-999c-c0e91f3b7fb9,Specialty devices Microsoft Teams Shared Devices for GCC,MCOCAP_GOV,b1511558-69bd-4e1b-8270-59ca96dba0f3,MCOEV_GOV,db23fce2-a974-42ef-9002-d78dd42a0f22,Microsoft 365 Phone System for Government Microsoft Teams Shared Devices for GCC,MCOCAP_GOV,b1511558-69bd-4e1b-8270-59ca96dba0f3,TEAMS_GOV,304767db-7d23-49e8-a945-4a7eb65f9f28,Microsoft Teams for Government Microsoft Teams Shared Devices for GCC,MCOCAP_GOV,b1511558-69bd-4e1b-8270-59ca96dba0f3,MCOSTANDARD_GOV,a31ef4a2-f787-435e-8335-e47eb0cafc94,Skype for Business Online (Plan 2) for Government @@ -3589,7 +3651,7 @@ Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400 Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing @@ -3646,7 +3708,7 @@ Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1 Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing @@ -3733,9 +3795,14 @@ Microsoft Teams Commercial Cloud,TEAMS_COMMERCIAL_TRIAL,29a2f828-8f39-4837-b8ff- Office 365 Cloud App Security,ADALLOM_O365,84d5f90f-cd0d-4864-b90b-1c7ba63b4808,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Office 365 Cloud App Security,ADALLOM_O365,84d5f90f-cd0d-4864-b90b-1c7ba63b4808,ADALLOM_S_O365,8c098270-9dd4-4350-9b30-ba4703f3b36b,Office 365 Advanced Security Management Office 365 Extra File Storage,SHAREPOINTSTORAGE,99049c9c-6011-4908-bf17-15f496e6519d,SHAREPOINTSTORAGE,be5a7ed5-c598-4fcd-a061-5e6724c68a58,Office 365 Extra File Storage +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,MESH_AVATARS_FOR_TEAMS,dcf9d2f4-772e-4434-b757-77a453cfbc02,Avatars for Teams +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,CDS_O365_P1,bed136c6-b799-4462-824d-fc045d3a9d25,Common Data Service for Teams Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,EXCHANGE_S_STANDARD,9aaf7827-d63c-4b61-89c3-182f06f82e5c,Exchange Online (Plan 1) +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,MESH_IMMERSIVE_FOR_TEAMS,f0ff6ac6-297d-49cd-be34-6dfef97f0c28,Immersive spaces for Teams Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,FORMS_PLAN_E1,159f4cd6-e380-449f-a816-af1a9ef76344,Microsoft Forms (Plan E1) Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,KAIZALA_O365_P2,54fc630f-5a40-48ee-8965-af0503c1386e,Microsoft Kaizala Pro @@ -3752,6 +3819,7 @@ Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,SHAREPOINTSTANDA Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,BPOS_S_TODO_1,5e62787c-c316-451f-b873-1d05acd4d12c,To-Do (Plan 1) +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,WHITEBOARD_PLAN1,b8afc642-032e-4de5-8c0a-507a7bba7e5d,Whiteboard (Plan 1) Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise @@ -3761,7 +3829,6 @@ Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,STREAM_O365_E1,7 Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,POWERAPPS_O365_P1,92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c,Power Apps for Office 365 Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,FLOW_O365_P1,0f9b09cb-62d1-4ff4-9129-43f4996f83f4,Power Automate for Office 365 Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,POWER_VIRTUAL_AGENTS_O365_P1,0683001c-0492-4d59-9515-d9a6426b5813,Power Virtual Agents for Office 365 -Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core Office 365 E1 EEA (no Teams),Office_365_w/o_Teams_Bundle_E1,b57282e3-65bd-4252-9502-c0eae1e5ab7f,CDS_O365_P1,bed136c6-b799-4462-824d-fc045d3a9d25,Common Data Service for Teams Office 365 E1 EEA (no Teams),Office_365_w/o_Teams_Bundle_E1,b57282e3-65bd-4252-9502-c0eae1e5ab7f,EXCHANGE_S_STANDARD,9aaf7827-d63c-4b61-89c3-182f06f82e5c,Exchange Online (Plan 1) Office 365 E1 EEA (no Teams),Office_365_w/o_Teams_Bundle_E1,b57282e3-65bd-4252-9502-c0eae1e5ab7f,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -3812,7 +3879,7 @@ Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,Bing_Chat_Ente Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,CDS_O365_P2,95b76021-6a53-4741-ab8b-1d1f3d66a95a,Common Data Service for Teams Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,MESH_IMMERSIVE_FOR_TEAMS,f0ff6ac6-297d-49cd-be34-6dfef97f0c28,Immersive spaces for Teams -Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for Enterprise @@ -3843,7 +3910,7 @@ Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,FLOW_O365_P2,7 Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,POWER_VIRTUAL_AGENTS_O365_P2,041fe683-03e4-45b6-b1af-c0cdc516daee,Power Virtual Agents for Office 365 Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,CDS_O365_P2,95b76021-6a53-4741-ab8b-1d1f3d66a95a,Common Data Service for Teams Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) -Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise @@ -3984,7 +4051,7 @@ Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -4042,7 +4109,7 @@ Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Te Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -4098,7 +4165,7 @@ Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-a Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics @@ -4234,7 +4301,7 @@ Office 365 G1 GCC,STANDARDPACK_GOV,3f4babde-90ec-47c6-995d-d223749065d1,WHITEBOA Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,CDS_O365_P2_GCC,a70bbf38-cdda-470d-adb8-5804b8770f41,Common Data Service for Teams Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,EXCHANGE_S_ENTERPRISE_GOV,8c3069c0-ccdb-44be-ab77-986203a67df2,Exchange Online (Plan 2) for Government Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,MYANALYTICS_P2_GOV,6e5b7995-bd4f-4cbd-9d19-0e32010c72f0,Insights by MyAnalytics for Government Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,OFFICESUBSCRIPTION_GOV,de9234ff-6483-44d9-b15e-dca72fdd27af,Microsoft 365 Apps for enterprise G @@ -4258,7 +4325,7 @@ Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,FLOW_O Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,CDS_O365_P2_GCC,a70bbf38-cdda-470d-adb8-5804b8770f41,Common Data Service for Teams Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,EXCHANGE_S_ENTERPRISE_GOV,8c3069c0-ccdb-44be-ab77-986203a67df2,Exchange Online (Plan 2) for Government Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,MYANALYTICS_P2_GOV,6e5b7995-bd4f-4cbd-9d19-0e32010c72f0,Insights by MyAnalytics for Government Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings @@ -4285,7 +4352,7 @@ Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,EXC Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing @@ -4329,7 +4396,7 @@ Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_ Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing @@ -4372,7 +4439,7 @@ Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_G Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium -Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics � Standard +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing @@ -4540,9 +4607,9 @@ Power Automate per user plan dept,FLOW_PER_USER_DEPT,d80a4c5d-8f05-4b64-9926-657 Power Automate per user plan for Government,FLOW_PER_USER_GCC,c8803586-c136-479a-8ff3-f5f32d23a68e,DYN365_CDS_P2_GOV,37396c73-2203-48e6-8be1-d882dae53275,Common Data Service for Government Power Automate per user plan for Government,FLOW_PER_USER_GCC,c8803586-c136-479a-8ff3-f5f32d23a68e,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government Power Automate per user plan for Government,FLOW_PER_USER_GCC,c8803586-c136-479a-8ff3-f5f32d23a68e,FLOW_PER_USER_GCC,769b8bee-2779-4c5a-9456-6f4f8629fd41,Power Automate per User Plan for Government -Power Automate per user with attended RPA plan,POWERAUTOMATE_ATTENDED_RPA,eda1941c-3c4f-4995-b5eb-e85a42175ab9,CDS_ATTENDED_RPA,3da2fd4c-1bee-4b61-a17f-94c31e5cab93,Common Data Service Attended RPA -Power Automate per user with attended RPA plan,POWERAUTOMATE_ATTENDED_RPA,eda1941c-3c4f-4995-b5eb-e85a42175ab9,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation -Power Automate per user with attended RPA plan,POWERAUTOMATE_ATTENDED_RPA,eda1941c-3c4f-4995-b5eb-e85a42175ab9,POWER_AUTOMATE_ATTENDED_RPA,375cd0ad-c407-49fd-866a-0bff4f8a9a4d,Power Automate RPA Attended +Power Automate Premium,POWERAUTOMATE_ATTENDED_RPA,eda1941c-3c4f-4995-b5eb-e85a42175ab9,CDS_ATTENDED_RPA,3da2fd4c-1bee-4b61-a17f-94c31e5cab93,Common Data Service Attended RPA +Power Automate Premium,POWERAUTOMATE_ATTENDED_RPA,eda1941c-3c4f-4995-b5eb-e85a42175ab9,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Power Automate Premium,POWERAUTOMATE_ATTENDED_RPA,eda1941c-3c4f-4995-b5eb-e85a42175ab9,POWER_AUTOMATE_ATTENDED_RPA,375cd0ad-c407-49fd-866a-0bff4f8a9a4d,Power Automate RPA Attended Power Automate Premium for Government,POWERAUTOMATE_ATTENDED_RPA_GCC,d3987516-4b53-4dc0-8335-411260bf5626,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government Power Automate Premium for Government,POWERAUTOMATE_ATTENDED_RPA_GCC,d3987516-4b53-4dc0-8335-411260bf5626,CDS_ATTENDED_RPA_GCC,4802707d-47e1-45dc-82c5-b6981f0fb38c,Common Data Service Attended RPA for Government Power Automate Premium for Government,POWERAUTOMATE_ATTENDED_RPA_GCC,d3987516-4b53-4dc0-8335-411260bf5626,POWER_AUTOMATE_ATTENDED_RPA_GCC,fb613c67-1a58-4645-a8df-21e95a37d433,Power Automate Attended RPA for Government @@ -4586,9 +4653,10 @@ Power BI Pro for Faculty,POWER_BI_PRO_FACULTY,de5f128b-46d7-4cfc-b915-a89ba060ea Power BI Pro for Faculty,POWER_BI_PRO_FACULTY,de5f128b-46d7-4cfc-b915-a89ba060ea56,BI_AZURE_P2,70d33638-9c74-4d01-bfd3-562de28bd4ba,Power BI Pro Power BI Pro for GCC,POWERBI_PRO_GOV,f0612879-44ea-47fb-baf0-3d76d9235576,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government Power BI Pro for GCC,POWERBI_PRO_GOV,f0612879-44ea-47fb-baf0-3d76d9235576,BI_AZURE_P_2_GOV,944e9726-f011-4353-b654-5f7d2663db76,Power BI Pro for Government -Power Pages authenticated users T1 100 users/per site/month capacity pack CN_CN,Power Pages authenticated users T1_CN_CN,9a3c2a19-06c0-41b1-b2ea-13528d7b2e17,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site -Power Pages authenticated users T1 100 users/per site/month capacity pack CN_CN,Power Pages authenticated users T1_CN_CN,9a3c2a19-06c0-41b1-b2ea-13528d7b2e17,PowerPages_Authenticated_User_CN,967d9574-a076-4bb7-ab89-f41f64bc142e,Power Pages Authenticated Users per site monthly capacity China -Power Pages authenticated users T1 100 users/per site/month capacity pack,Power_Pages_authenticated_users_T1_100_users/per_site/month_capacity_pack,debc9e58-f2d7-412c-a0b6-575608564228,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site +Power BI Premium EM2,PBI_PREMIUM_EM2_ADDON,8ecbd3c1-b108-437c-a859-e3c125e3f83f,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Power BI Premium EM2,PBI_PREMIUM_EM2_ADDON,8ecbd3c1-b108-437c-a859-e3c125e3f83f,PBI_PREMIUM_EM2_ADDON,4e29abd1-ba96-44c0-8a72-e24e4fe9956e,Power BI Premium EM2 +Power BI Premium EM1,PBI_PREMIUM_EM1_ADDON,bc757c42-5622-4583-a483-a9e537fcb71c,EXCHANGE_S_FOUNDATION PBI_PREMIUM_EM1_ADDON,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Power BI Premium EM1,PBI_PREMIUM_EM1_ADDON,bc757c42-5622-4583-a483-a9e537fcb71c,EXCHANGE_S_FOUNDATION PBI_PREMIUM_EM1_ADDON,a64b30ba-f310-4065-b444-2670ef146db0,Power BI Premium EM1 Power Pages authenticated users T1 100 users/per site/month capacity pack,Power_Pages_authenticated_users_T1_100_users/per_site/month_capacity_pack,debc9e58-f2d7-412c-a0b6-575608564228,PowerPages_Authenticated_User,0d3366f3-266e-4117-b422-7cabbc165e7c,Power Pages Authenticated Users per site monthly capacity Power Pages authenticated users T1 100 users/per site/month capacity pack,Power_Pages_authenticated_users_T1_100_users/per_site/month_capacity_pack,debc9e58-f2d7-412c-a0b6-575608564228,PowerPages_Authenticated_User_GCCH,18e74ca2-b5f0-4802-9a8b-00d2ff1e8322,Power Pages Authenticated Users per site monthly capacity GCCH Power Pages authenticated users T1 100 users/per site/month capacity pack_GCC,Power_Pages_authenticated_users_T1_100_users/per_site/month_capacity_pack_GCC,27cb5f12-2e3f-4997-a649-45298673e6a1,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site @@ -4610,18 +4678,18 @@ Power Pages authenticated users T2 min 100 units - 100 users/per site/month capa Power Pages authenticated users T2 min 100 units - 100 users/per site/month capacity pack_USGOV_GCCHIGH,Power_Pages_authenticated_users_T2_min_100_units_100_users/per_site/month_capacity_pack_USGOV_GCCHIGH,7cae5432-61bb-48c3-b75c-831394ec13a0,PowerPages_Authenticated_Users_GCCH,5410f688-68f2-47a5-9b8f-7466194a806a,Power Pages Authenticated Users per site mthly capacity GCCH New Power Pages authenticated users T2 min 100 units - 100 users/per site/month capacity pack CN_CN,Power Pages authenticated users T2_CN_CN,7d2bb54a-a870-41c2-98d1-1f3b5b523275,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site Power Pages authenticated users T2 min 100 units - 100 users/per site/month capacity pack CN_CN,Power Pages authenticated users T2_CN_CN,7d2bb54a-a870-41c2-98d1-1f3b5b523275,PowerPages_Authenticated_User_CN,967d9574-a076-4bb7-ab89-f41f64bc142e,Power Pages Authenticated Users per site monthly capacity China -"Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack CN_CN",Power Pages authenticated users T3_CN_CN,2cfd692f-a352-4fa8-b960-e3ad0c9b1178,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site -"Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack CN_CN",Power Pages authenticated users T3_CN_CN,2cfd692f-a352-4fa8-b960-e3ad0c9b1178,PowerPages_Authenticated_User_CN,967d9574-a076-4bb7-ab89-f41f64bc142e,Power Pages Authenticated Users per site monthly capacity China -"Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack","Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack",878b8bbd-3cd0-4b44-9a56-3406741e65e0,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site -"Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack","Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack",878b8bbd-3cd0-4b44-9a56-3406741e65e0,PowerPages_Authenticated_User,0d3366f3-266e-4117-b422-7cabbc165e7c,Power Pages Authenticated Users per site monthly capacity -"Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack","Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack",878b8bbd-3cd0-4b44-9a56-3406741e65e0,PowerPages_Authenticated_User_GCCH,18e74ca2-b5f0-4802-9a8b-00d2ff1e8322,Power Pages Authenticated Users per site monthly capacity GCCH -"Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_GCC","Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_GCC",53265c61-c78c-4223-ab30-422da0c97fbb,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site -"Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_GCC","Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_GCC",53265c61-c78c-4223-ab30-422da0c97fbb,PowerPages_Authenticated_User_GCC,cdf787bd-1546-48d2-9e93-b21f9ea7067a,Power Pages Authenticated Users per site monthly capacity GCC -"Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_USGOV_DOD","Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_USGOV_DOD",398d37b5-8deb-48db-8f7f-703eb2fb7c72,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site -"Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_USGOV_DOD","Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_USGOV_DOD",398d37b5-8deb-48db-8f7f-703eb2fb7c72,PowerPages_Authenticated_User_DoD,03300fea-7a88-45a6-b5bd-29653803c591,Power Pages Authenticated Users per site monthly capacity DoD -"Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_USGOV_GCCHIGH","Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_USGOV_GCCHIGH",01d46c34-3525-47d5-bd1a-5f19979938a0,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site -"Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_USGOV_GCCHIGH","Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_USGOV_GCCHIGH",01d46c34-3525-47d5-bd1a-5f19979938a0,PowerPages_Authenticated_User_GCCH,18e74ca2-b5f0-4802-9a8b-00d2ff1e8322,Power Pages Authenticated Users per site monthly capacity GCCH -"Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_USGOV_GCCHIGH","Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_USGOV_GCCHIGH",01d46c34-3525-47d5-bd1a-5f19979938a0,PowerPages_Authenticated_Users_GCCH,5410f688-68f2-47a5-9b8f-7466194a806a,Power Pages Authenticated Users per site mthly capacity GCCH New +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack CN_CN,Power Pages authenticated users T3_CN_CN,2cfd692f-a352-4fa8-b960-e3ad0c9b1178,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack CN_CN,Power Pages authenticated users T3_CN_CN,2cfd692f-a352-4fa8-b960-e3ad0c9b1178,PowerPages_Authenticated_User_CN,967d9574-a076-4bb7-ab89-f41f64bc142e,Power Pages Authenticated Users per site monthly capacity China +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack,878b8bbd-3cd0-4b44-9a56-3406741e65e0,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack,878b8bbd-3cd0-4b44-9a56-3406741e65e0,PowerPages_Authenticated_User,0d3366f3-266e-4117-b422-7cabbc165e7c,Power Pages Authenticated Users per site monthly capacity +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack,878b8bbd-3cd0-4b44-9a56-3406741e65e0,PowerPages_Authenticated_User_GCCH,18e74ca2-b5f0-4802-9a8b-00d2ff1e8322,Power Pages Authenticated Users per site monthly capacity GCCH +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_GCC,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_GCC,53265c61-c78c-4223-ab30-422da0c97fbb,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_GCC,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_GCC,53265c61-c78c-4223-ab30-422da0c97fbb,PowerPages_Authenticated_User_GCC,cdf787bd-1546-48d2-9e93-b21f9ea7067a,Power Pages Authenticated Users per site monthly capacity GCC +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_USGOV_DOD,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_USGOV_DOD,398d37b5-8deb-48db-8f7f-703eb2fb7c72,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_USGOV_DOD,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_USGOV_DOD,398d37b5-8deb-48db-8f7f-703eb2fb7c72,PowerPages_Authenticated_User_DoD,03300fea-7a88-45a6-b5bd-29653803c591,Power Pages Authenticated Users per site monthly capacity DoD +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_USGOV_GCCHIGH,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_USGOV_GCCHIGH,01d46c34-3525-47d5-bd1a-5f19979938a0,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_USGOV_GCCHIGH,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_USGOV_GCCHIGH,01d46c34-3525-47d5-bd1a-5f19979938a0,PowerPages_Authenticated_User_GCCH,18e74ca2-b5f0-4802-9a8b-00d2ff1e8322,Power Pages Authenticated Users per site monthly capacity GCCH +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_USGOV_GCCHIGH,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_USGOV_GCCHIGH,01d46c34-3525-47d5-bd1a-5f19979938a0,PowerPages_Authenticated_Users_GCCH,5410f688-68f2-47a5-9b8f-7466194a806a,Power Pages Authenticated Users per site mthly capacity GCCH New Power Pages vTrial for Makers,Power_Pages_vTrial_for_Makers,3f9f06f5-3c31-472c-985f-62d9c10ec167,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Power Pages vTrial for Makers,Power_Pages_vTrial_for_Makers,3f9f06f5-3c31-472c-985f-62d9c10ec167,DYN365_CDS_VIRAL,17ab22cd-a0b3-4536-910a-cb6eb12696c0,Common Data Service Power Pages vTrial for Makers,Power_Pages_vTrial_for_Makers,3f9f06f5-3c31-472c-985f-62d9c10ec167,POWER_PAGES_VTRIAL,6817d093-2d30-4249-8bd6-774f01efa78c,Power Pages vTrial for Makers @@ -4641,9 +4709,9 @@ Power Virtual Agent User License for GCC,VIRTUAL_AGENT_USL_GCC,f1de227b-f1bd-495 Power Virtual Agents Viral Trial,CCIBOTS_PRIVPREV_VIRAL,606b54a9-78d8-4298-ad8b-df6ef4481c80,DYN365_CDS_CCI_BOTS,cf7034ed-348f-42eb-8bbd-dddeea43ee81,Common Data Service for CCI Bots Power Virtual Agents Viral Trial,CCIBOTS_PRIVPREV_VIRAL,606b54a9-78d8-4298-ad8b-df6ef4481c80,CCIBOTS_PRIVPREV_VIRAL,ce312d15-8fdf-44c0-9974-a25a177125ee,Dynamics 365 AI for Customer Service Virtual Agents Viral Power Virtual Agents Viral Trial,CCIBOTS_PRIVPREV_VIRAL,606b54a9-78d8-4298-ad8b-df6ef4481c80,FLOW_CCI_BOTS,5d798708-6473-48ad-9776-3acc301c40af,Flow for CCI Bots -Privacy Management � risk,PRIVACY_MANAGEMENT_RISK,e42bc969-759a-4820-9283-6b73085b68e6,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 -Privacy Management � risk,PRIVACY_MANAGEMENT_RISK,e42bc969-759a-4820-9283-6b73085b68e6,PRIVACY_MANGEMENT_RISK,f281fb1f-99a7-46ab-9edb-ffd74e260ed3,Priva - Risk -Privacy Management � risk,PRIVACY_MANAGEMENT_RISK,e42bc969-759a-4820-9283-6b73085b68e6,PRIVACY_MANGEMENT_RISK_EXCHANGE,ebb17a6e-6002-4f65-acb0-d386480cebc1,Priva - Risk (Exchange) +Privacy Management – risk,PRIVACY_MANAGEMENT_RISK,e42bc969-759a-4820-9283-6b73085b68e6,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 +Privacy Management – risk,PRIVACY_MANAGEMENT_RISK,e42bc969-759a-4820-9283-6b73085b68e6,PRIVACY_MANGEMENT_RISK,f281fb1f-99a7-46ab-9edb-ffd74e260ed3,Priva - Risk +Privacy Management – risk,PRIVACY_MANAGEMENT_RISK,e42bc969-759a-4820-9283-6b73085b68e6,PRIVACY_MANGEMENT_RISK_EXCHANGE,ebb17a6e-6002-4f65-acb0-d386480cebc1,Priva - Risk (Exchange) Privacy Management - risk for EDU,PRIVACY_MANAGEMENT_RISK_EDU,dcdbaae7-d8c9-40cb-8bb1-62737b9e5a86,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 Privacy Management - risk for EDU,PRIVACY_MANAGEMENT_RISK_EDU,dcdbaae7-d8c9-40cb-8bb1-62737b9e5a86,PRIVACY_MANGEMENT_RISK,f281fb1f-99a7-46ab-9edb-ffd74e260ed3,Priva - Risk Privacy Management - risk for EDU,PRIVACY_MANAGEMENT_RISK_EDU,dcdbaae7-d8c9-40cb-8bb1-62737b9e5a86,PRIVACY_MANGEMENT_RISK_EXCHANGE,ebb17a6e-6002-4f65-acb0-d386480cebc1,Priva - Risk (Exchange) @@ -4842,6 +4910,7 @@ SharePoint Syntex,Intelligent_Content_Services,f61d4aba-134f-44e9-a2a0-f81a5adb2 SharePoint Syntex,Intelligent_Content_Services,f61d4aba-134f-44e9-a2a0-f81a5adb26e4,Intelligent_Content_Services_SPO_type,fd2e7f90-1010-487e-a11b-d2b1ae9651fc,SharePoint Syntex - SPO type Skype for Business Online (Plan 1),MCOIMP,b8b749f8-a4ef-4887-9539-c95b1eaa5db7,MCOIMP,afc06cb0-b4f4-4473-8286-d644f70d8faf,SKYPE FOR BUSINESS ONLINE (PLAN 1) Skype for Business Online (Plan 2),MCOSTANDARD,d42c793f-6c78-4f43-92ca-e8f6a02b035f,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,SKYPE FOR BUSINESS ONLINE (PLAN 2) +Skype for Business PSTN Calling Domestic Small,MCOPSTN5,d43177b5-475b-4880-92d4-d54c27b5efbd,Skype for Business PSTN Calling Domestic Small,9a0125a5-c8f8-4526-b231-49e2abe0ebce,Skype for Business PSTN Calling Domestic Small Skype for Business PSTN Domestic and International Calling,MCOPSTN2,d3b4fe1f-9992-4930-8acb-ca6ec609365e,MCOPSTN2,5a10155d-f5c1-411a-a8ec-e99aae125390,DOMESTIC AND INTERNATIONAL CALLING PLAN Skype for Business PSTN Domestic Calling,MCOPSTN1,0dab259f-bf13-4952-b7f8-7db8f131b28d,MCOPSTN1,4ed3ff63-69d7-4fb7-b984-5aec7f605ca8,DOMESTIC CALLING PLAN Skype for Business PSTN Domestic Calling (120 Minutes),MCOPSTN5,54a152dc-90de-4996-93d2-bc47e670fc06,MCOPSTN5,54a152dc-90de-4996-93d2-bc47e670fc06,DOMESTIC CALLING PLAN @@ -4866,6 +4935,7 @@ Teams Rooms Premium,MTR_PREM,4fb214cb-a430-4a91-9c91-4976763aa78f,MCOSTANDARD,0f Teams Rooms Premium,MTR_PREM,4fb214cb-a430-4a91-9c91-4976763aa78f,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) TELSTRA Calling for O365,MCOPSTNEAU2,de3312e1-c7b0-46e6-a7c3-a515ff90bc86,MCOPSTNEAU,7861360b-dc3b-4eba-a3fc-0d323a035746,AUSTRALIA CALLING PLAN Universal Print,UNIVERSAL_PRINT,9f3d9c1d-25a5-4aaa-8e59-23a1e6450a67,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Viva Learning,VIVA_LEARNING,c9d442fc-21fb-4bd7-89e0-a710d74987f6,VIVA_LEARNING_PREMIUM,7162bd38-edae-4022-83a7-c5837f951759,Viva Learning Universal Print,UNIVERSAL_PRINT,9f3d9c1d-25a5-4aaa-8e59-23a1e6450a67,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print Visio Plan 1,VISIO_PLAN1_DEPT,ca7f3140-d88c-455b-9a1c-7f0679e31a76,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Visio Plan 1,VISIO_PLAN1_DEPT,ca7f3140-d88c-455b-9a1c-7f0679e31a76,ONEDRIVE_BASIC,da792a53-cbc0-4184-a10d-e544dd34b3c1,OneDrive for business Basic @@ -4905,11 +4975,11 @@ Windows 10/11 Enterprise E5 (Original),WIN_ENT_E5,1e7e1070-8ccb-4aca-b470-d7cb53 Windows 10/11 Enterprise E5 (Original),WIN_ENT_E5,1e7e1070-8ccb-4aca-b470-d7cb538cb07e,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service Windows 10/11 Enterprise A3 for faculty,WIN10_ENT_A3_FAC,8efbe2f6-106e-442f-97d4-a59aa6037e06,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Windows 10/11 Enterprise A3 for faculty,WIN10_ENT_A3_FAC,8efbe2f6-106e-442f-97d4-a59aa6037e06,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print -Windows 10/11 Enterprise A3 for faculty,WIN10_ENT_A3_FAC,8efbe2f6-106e-442f-97d4-a59aa6037e06,"Virtualization Rights for Windows 10 (E3/E5+VDA)",e7c91390-7625-45be-94e0-e16907e03118,Windows 10 Enterprise (New) +Windows 10/11 Enterprise A3 for faculty,WIN10_ENT_A3_FAC,8efbe2f6-106e-442f-97d4-a59aa6037e06,Virtualization Rights for Windows 10 (E3/E5+VDA),e7c91390-7625-45be-94e0-e16907e03118,Windows 10 Enterprise (New) Windows 10/11 Enterprise A3 for faculty,WIN10_ENT_A3_FAC,8efbe2f6-106e-442f-97d4-a59aa6037e06,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service Windows 10/11 Enterprise A3 for students,WIN10_ENT_A3_STU,d4ef921e-840b-4b48-9a90-ab6698bc7b31,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Windows 10/11 Enterprise A3 for students,WIN10_ENT_A3_STU,d4ef921e-840b-4b48-9a90-ab6698bc7b31,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print -Windows 10/11 Enterprise A3 for students,WIN10_ENT_A3_STU,d4ef921e-840b-4b48-9a90-ab6698bc7b31,"Virtualization Rights for Windows 10 (E3/E5+VDA)",e7c91390-7625-45be-94e0-e16907e03118,Windows 10 Enterprise (New) +Windows 10/11 Enterprise A3 for students,WIN10_ENT_A3_STU,d4ef921e-840b-4b48-9a90-ab6698bc7b31,Virtualization Rights for Windows 10 (E3/E5+VDA),e7c91390-7625-45be-94e0-e16907e03118,Windows 10 Enterprise (New) Windows 10/11 Enterprise A3 for students,WIN10_ENT_A3_STU,d4ef921e-840b-4b48-9a90-ab6698bc7b31,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service Windows 10/11 Enterprise A5 for faculty,WIN10_ENT_A5_FAC,7b1a89a9-5eb9-4cf8-9467-20c943f1122c,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Windows 10/11 Enterprise A5 for faculty,WIN10_ENT_A5_FAC,7b1a89a9-5eb9-4cf8-9467-20c943f1122c,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,Microsoft Defender for Endpoint @@ -4919,18 +4989,18 @@ Windows 10/11 Enterprise A5 for faculty,WIN10_ENT_A5_FAC,7b1a89a9-5eb9-4cf8-9467 Windows 10/11 Enterprise E3,WIN10_PRO_ENT_SUB,cb10e6cd-9da4-4992-867b-67546b1db821,WIN10_PRO_ENT_SUB,21b439ba-a0ca-424f-a6cc-52f954a5b111,WINDOWS 10 ENTERPRISE Windows 10/11 Enterprise E3,WIN10_VDA_E3,6a0f6da5-0b87-4190-a6ae-9bb5a2b9546a,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,EXCHANGE FOUNDATION Windows 10/11 Enterprise E3,WIN10_VDA_E3,6a0f6da5-0b87-4190-a6ae-9bb5a2b9546a,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,UNIVERSAL PRINT -Windows 10/11 Enterprise E3,WIN10_VDA_E3,6a0f6da5-0b87-4190-a6ae-9bb5a2b9546a,"Virtualization Rights for Windows 10 (E3/E5+VDA)",e7c91390-7625-45be-94e0-e16907e03118,WINDOWS 10 ENTERPRISE (NEW) +Windows 10/11 Enterprise E3,WIN10_VDA_E3,6a0f6da5-0b87-4190-a6ae-9bb5a2b9546a,Virtualization Rights for Windows 10 (E3/E5+VDA),e7c91390-7625-45be-94e0-e16907e03118,WINDOWS 10 ENTERPRISE (NEW) Windows 10/11 Enterprise E3,WIN10_VDA_E3,6a0f6da5-0b87-4190-a6ae-9bb5a2b9546a,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,WINDOWS UPDATE FOR BUSINESS DEPLOYMENT SERVICE Windows 10/11 Enterprise E3,WIN10_VDA_E3,6a0f6da5-0b87-4190-a6ae-9bb5a2b9546a,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch Windows 10/11 Enterprise E5,WIN10_VDA_E5,488ba24a-39a9-4473-8ee5-19291e71b002,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Windows 10/11 Enterprise E5,WIN10_VDA_E5,488ba24a-39a9-4473-8ee5-19291e71b002,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,Microsoft Defender For Endpoint Windows 10/11 Enterprise E5,WIN10_VDA_E5,488ba24a-39a9-4473-8ee5-19291e71b002,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print -Windows 10/11 Enterprise E5,WIN10_VDA_E5,488ba24a-39a9-4473-8ee5-19291e71b002,"Virtualization Rights for Windows 10 (E3/E5+VDA)",e7c91390-7625-45be-94e0-e16907e03118,Windows 10 Enterprise (New) +Windows 10/11 Enterprise E5,WIN10_VDA_E5,488ba24a-39a9-4473-8ee5-19291e71b002,Virtualization Rights for Windows 10 (E3/E5+VDA),e7c91390-7625-45be-94e0-e16907e03118,Windows 10 Enterprise (New) Windows 10/11 Enterprise E5,WIN10_VDA_E5,488ba24a-39a9-4473-8ee5-19291e71b002,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service Windows 10/11 Enterprise E5,WIN10_VDA_E5,488ba24a-39a9-4473-8ee5-19291e71b002,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch Windows 10/11 Enterprise E5 Commercial (GCC Compatible),WINE5_GCC_COMPAT,938fd547-d794-42a4-996c-1cc206619580,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government Windows 10/11 Enterprise E5 Commercial (GCC Compatible),WINE5_GCC_COMPAT,938fd547-d794-42a4-996c-1cc206619580,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,Microsoft Defender For Endpoint -Windows 10/11 Enterprise E5 Commercial (GCC Compatible),WINE5_GCC_COMPAT,938fd547-d794-42a4-996c-1cc206619580,"Virtualization Rights for Windows 10 (E3/E5+VDA)",e7c91390-7625-45be-94e0-e16907e03118,Windows 10 Enterprise (New) +Windows 10/11 Enterprise E5 Commercial (GCC Compatible),WINE5_GCC_COMPAT,938fd547-d794-42a4-996c-1cc206619580,Virtualization Rights for Windows 10 (E3/E5+VDA),e7c91390-7625-45be-94e0-e16907e03118,Windows 10 Enterprise (New) Windows 10/11 Enterprise E3 VDA,E3_VDA_only,d13ef257-988a-46f3-8fce-f47484dd4550,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Windows 10/11 Enterprise E3 VDA,E3_VDA_only,d13ef257-988a-46f3-8fce-f47484dd4550,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print Windows 10/11 Enterprise E3 VDA,E3_VDA_only,d13ef257-988a-46f3-8fce-f47484dd4550,Virtualization Rights for Windows 10 (E3/E5+VDA),e7c91390-7625-45be-94e0-e16907e03118,Windows 10/11 Enterprise @@ -4957,7 +5027,7 @@ Windows 365 Business 2 vCPU 4 GB 64 GB,CPC_B_2C_4RAM_64GB,42e6818f-8966-444b-b7a Windows 365 Business 2 vCPU 8 GB 128 GB,CPC_B_2C_8RAM_128GB,71f21848-f89b-4aaa-a2dc-780c8e8aac5b,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Windows 365 Business 2 vCPU 8 GB 128 GB,CPC_B_2C_8RAM_128GB,71f21848-f89b-4aaa-a2dc-780c8e8aac5b,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) Windows 365 Business 2 vCPU 8 GB 128 GB,CPC_B_2C_8RAM_128GB,71f21848-f89b-4aaa-a2dc-780c8e8aac5b,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) -Windows 365 Business 2 vCPU 8 GB 128 GB,CPC_B_2C_8RAM_128GB,71f21848-f89b-4aaa-a2dc-780c8e8aac5b,CPC_SS_2,9d2eed2c-b0c0-4a89-940c-bc303444a41b,"Windows 365 Business 2 vCPU, 8 GB, 128 GB" +Windows 365 Business 2 vCPU 8 GB 128 GB,CPC_B_2C_8RAM_128GB,71f21848-f89b-4aaa-a2dc-780c8e8aac5b,CPC_SS_2,9d2eed2c-b0c0-4a89-940c-bc303444a41b,Windows 365 Business 2 vCPU, 8 GB, 128 GB Windows 365 Business 2 vCPU 8 GB 256 GB,CPC_B_2C_8RAM_256GB,750d9542-a2f8-41c7-8c81-311352173432,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Windows 365 Business 2 vCPU 8 GB 256 GB,CPC_B_2C_8RAM_256GB,750d9542-a2f8-41c7-8c81-311352173432,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) Windows 365 Business 2 vCPU 8 GB 256 GB,CPC_B_2C_8RAM_256GB,750d9542-a2f8-41c7-8c81-311352173432,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) @@ -4988,6 +5058,14 @@ Windows 365 Business 8 vCPU 32 GB 512 GB,CPC_B_8C_32RAM_512GB,8ee402cd-e6a8-4b67 Windows 365 Business 8 vCPU 32 GB 512 GB,CPC_B_8C_32RAM_512GB,8ee402cd-e6a8-4b67-a411-54d1f37a2049,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) Windows 365 Business 8 vCPU 32 GB 512 GB,CPC_B_8C_32RAM_512GB,8ee402cd-e6a8-4b67-a411-54d1f37a2049,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) Windows 365 Business 8 vCPU 32 GB 512 GB,CPC_B_8C_32RAM_512GB,8ee402cd-e6a8-4b67-a411-54d1f37a2049,CPC_B_8C_32RAM_512GB,4229a0b4-7f34-4835-b068-6dc8d10be57c,Windows 365 Business 8 vCPU 32 GB 512 GB +Windows 365 Business 16 vCPU, 64 GB, 512 GB,Windows_365_Business_16_vCPU,_64_GB,_512_GB,93d9955a-ec70-44d5-8faa-a194492390f7,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 365 Business 16 vCPU, 64 GB, 512 GB,Windows_365_Business_16_vCPU,_64_GB,_512_GB,93d9955a-ec70-44d5-8faa-a194492390f7,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Windows 365 Business 16 vCPU, 64 GB, 512 GB,Windows_365_Business_16_vCPU,_64_GB,_512_GB,93d9955a-ec70-44d5-8faa-a194492390f7,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) +Windows 365 Business 16 vCPU, 64 GB, 512 GB,Windows_365_Business_16_vCPU,_64_GB,_512_GB,93d9955a-ec70-44d5-8faa-a194492390f7,CPC_B_16C_64GB_512GB,cbbedc49-52d5-4fd6-82ac-a5bc51634dc3,Windows 365 Business 16 vCPU, 64 GB, 512 GB +Windows 365 Business 16 vCPU, 64 GB, 1 TB,Windows_365_Business_16_vCPU,_64_GB,_1_TB,24be3cd7-82ca-41a5-94a7-4903373cdcae,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 365 Business 16 vCPU, 64 GB, 1 TB,Windows_365_Business_16_vCPU,_64_GB,_1_TB,24be3cd7-82ca-41a5-94a7-4903373cdcae,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Windows 365 Business 16 vCPU, 64 GB, 1 TB,Windows_365_Business_16_vCPU,_64_GB,_1_TB,24be3cd7-82ca-41a5-94a7-4903373cdcae,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) +Windows 365 Business 16 vCPU, 64 GB, 1 TB,Windows_365_Business_16_vCPU,_64_GB,_1_TB,24be3cd7-82ca-41a5-94a7-4903373cdcae,CPC_B_16C_64GB_1TB,37c961db-2cfd-4e13-b81e-b0059ce10e34,Windows 365 Business 16 vCPU, 64 GB, 1 TB Windows 365 Enterprise 1 vCPU 2 GB 64 GB,CPC_E_1C_2GB_64GB,0c278af4-c9c1-45de-9f4b-cd929e747a2c,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation Windows 365 Enterprise 1 vCPU 2 GB 64 GB,CPC_E_1C_2GB_64GB,0c278af4-c9c1-45de-9f4b-cd929e747a2c,CPC_E_1C_2GB_64GB,86d70dbb-d4c6-4662-ba17-3014204cbb28,Windows 365 Enterprise 1 vCPU 2 GB 64 GB Windows 365 Enterprise 2 vCPU 4 GB 64 GB,CPC_E_2C_4GB_64GB,7bb14422-3b90-4389-a7be-f1b745fc037f,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation diff --git a/Modules/CippExtensions/Private/Hudu/Get-HuduLinkBlock.ps1 b/Modules/CippExtensions/Private/Hudu/Get-HuduLinkBlock.ps1 index 5afbaf90de19..69bc48342d06 100644 --- a/Modules/CippExtensions/Private/Hudu/Get-HuduLinkBlock.ps1 +++ b/Modules/CippExtensions/Private/Hudu/Get-HuduLinkBlock.ps1 @@ -1,3 +1,3 @@ function Get-HuduLinkBlock($URL, $Icon, $Title) { - return "" + return '' -f $URL, $Icon, $Title } diff --git a/Modules/CippExtensions/Public/ConversionTable.csv b/Modules/CippExtensions/Public/ConversionTable.csv new file mode 100644 index 000000000000..55ebdfd465b9 --- /dev/null +++ b/Modules/CippExtensions/Public/ConversionTable.csv @@ -0,0 +1,5117 @@ +Product_Display_Name,String_Id,GUID,Service_Plan_Name,Service_Plan_Id,Service_Plans_Included_Friendly_Names +AI Builder Capacity add-on,CDSAICAPACITY,d2dea78b-507c-4e56-b400-39447f4738f8,CDSAICAPACITY,a7c70a41-5e02-4271-93e6-d9b4184d83f5,AI Builder capacity add-on +AI Builder Capacity add-on,CDSAICAPACITY,d2dea78b-507c-4e56-b400-39447f4738f8,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +App Connect IW,SPZA_IW,8f0c5670-4e56-4892-b06d-91c085d7004f,SPZA,0bfc98ed-1dbc-4a97-b246-701754e48b17,APP CONNECT +App Connect IW,SPZA_IW,8f0c5670-4e56-4892-b06d-91c085d7004f,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,EXCHANGE FOUNDATION +App governance add-on to Microsoft Defender for Cloud Apps,Microsoft_Cloud_App_Security_App_Governance_Add_On,9706eed9-966f-4f1b-94f6-bb2b4af99a5b,M365_AUDIT_PLATFORM,f6de4823-28fa-440b-b886-4783fa86ddba,Microsoft 365 Audit Platform +App governance add-on to Microsoft Defender for Cloud Apps,Microsoft_Cloud_App_Security_App_Governance_Add_On,9706eed9-966f-4f1b-94f6-bb2b4af99a5b,MICROSOFT_APPLICATION_PROTECTION_AND_GOVERNANCE_A,5f3b1ded-75c0-4b31-8e6e-9b077eaadfd5,Microsoft Application Protection and Governance (A) +App governance add-on to Microsoft Defender for Cloud Apps,Microsoft_Cloud_App_Security_App_Governance_Add_On,9706eed9-966f-4f1b-94f6-bb2b4af99a5b,MICROSOFT_APPLICATION_PROTECTION_AND_GOVERNANCE_D,2e6ffd72-52d1-4541-8f6c-938f9a8d4cdc,Microsoft Application Protection and Governance (D) +Career Coach for faculty,CAREERCOACH_FACULTY,95de1760-7682-406d-98c9-52ef14e51e2b,CAREERCOACH_EDU,80f0ae31-0dfb-425c-b3fc-36f40170eb35,Career Coach +Career Coach for students,CAREERCOACH_STUDENTS,01c8007a-57d2-41e0-a3c3-0b46ead16cc4,CAREERCOACH_EDU,80f0ae31-0dfb-425c-b3fc-36f40170eb35,Career Coach +Clipchamp Premium,Clipchamp_Premium,0fe440c5-f2bf-442b-a4f4-9a7af77a200b,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Clipchamp Premium,Clipchamp_Premium,0fe440c5-f2bf-442b-a4f4-9a7af77a200b,CLIPCHAMP,a1ace008-72f3-4ea0-8dac-33b3a23a2472,Microsoft Clipchamp +Clipchamp Premium,Clipchamp_Premium,0fe440c5-f2bf-442b-a4f4-9a7af77a200b,CLIPCHAMP_PREMIUM,430b908f-78e1-4812-b045-cf83320e7d5d,Microsoft Clipchamp Premium +Clipchamp Premium,Clipchamp_Premium,0fe440c5-f2bf-442b-a4f4-9a7af77a200b,ONEDRIVECLIPCHAMP,f7e5b77d-f293-410a-bae8-f941f19fe680,OneDrive for Business (Clipchamp) +Clipchamp Standard,Clipchamp_Standard,481f3bc2-5756-4b28-9375-5c8c86b99e6b,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Clipchamp Standard,Clipchamp_Standard,481f3bc2-5756-4b28-9375-5c8c86b99e6b,CLIPCHAMP,a1ace008-72f3-4ea0-8dac-33b3a23a2472,Microsoft Clipchamp +Clipchamp Standard,Clipchamp_Standard,481f3bc2-5756-4b28-9375-5c8c86b99e6b,ONEDRIVECLIPCHAMP,f7e5b77d-f293-410a-bae8-f941f19fe680,OneDrive for Business (Clipchamp) +Microsoft 365 Audio Conferencing,MCOMEETADV,0c266dff-15dd-4b49-8397-2bb16070ed52,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Microsoft Entra ID Basic,AAD_BASIC,2b9c8e7c-319c-43a2-a2a0-48c5c6161de7,AAD_BASIC,c4da7f8a-5ee2-4c99-a7e1-87d2df57f6fe,Microsoft Entra BASIC +Microsoft Entra ID P1,AAD_PREMIUM,078d2b04-f1bd-4111-bbd4-b4b1b354cef4,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft Entra ID P1,AAD_PREMIUM,078d2b04-f1bd-4111-bbd4-b4b1b354cef4,ADALLOM_S_DISCOVERY,932ad362-64a8-4783-9106-97849a1a30b9,CLOUD APP SECURITY DISCOVERY +Microsoft Entra ID P1,AAD_PREMIUM,078d2b04-f1bd-4111-bbd4-b4b1b354cef4,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,EXCHANGE FOUNDATION +Microsoft Entra ID P1,AAD_PREMIUM,078d2b04-f1bd-4111-bbd4-b4b1b354cef4,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,MICROSOFT AZURE MULTI-FACTOR AUTHENTICATION +Microsoft Entra ID P1 for Faculty,AAD_PREMIUM_FACULTY,30fc3c36-5a95-4956-ba57-c09c2a600bb9,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Microsoft Entra ID P1 for Faculty,AAD_PREMIUM_FACULTY,30fc3c36-5a95-4956-ba57-c09c2a600bb9,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft Entra ID P1 for Faculty,AAD_PREMIUM_FACULTY,30fc3c36-5a95-4956-ba57-c09c2a600bb9,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft Entra ID P1 for Faculty,AAD_PREMIUM_FACULTY,30fc3c36-5a95-4956-ba57-c09c2a600bb9,ADALLOM_S_DISCOVERY,932ad362-64a8-4783-9106-97849a1a30b9,Microsoft Defender for Cloud Apps Discovery +Microsoft Entra ID P1_USGOV_GCCHIGH,AAD_PREMIUM_USGOV_GCCHIGH ,de597797-22fb-4d65-a9fe-b7dbe8893914,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Microsoft Entra ID P1_USGOV_GCCHIGH,AAD_PREMIUM_USGOV_GCCHIGH ,de597797-22fb-4d65-a9fe-b7dbe8893914,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft Entra ID P1_USGOV_GCCHIGH,AAD_PREMIUM_USGOV_GCCHIGH ,de597797-22fb-4d65-a9fe-b7dbe8893914,ADALLOM_S_DISCOVERY,932ad362-64a8-4783-9106-97849a1a30b9,Microsoft Defender for Cloud Apps Discovery +Microsoft Entra ID P1_USGOV_GCCHIGH,AAD_PREMIUM_USGOV_GCCHIGH ,de597797-22fb-4d65-a9fe-b7dbe8893914,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft Entra ID P2,AAD_PREMIUM_P2,84a661c4-e949-4bd2-a560-ed7766fcaf2b,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft Entra ID P2,AAD_PREMIUM_P2,84a661c4-e949-4bd2-a560-ed7766fcaf2b,AAD_PREMIUM_P2,eec0eb4f-6444-4f95-aba0-50c24d67f998,Microsoft Entra ID P2 +Microsoft Entra ID P2,AAD_PREMIUM_P2,84a661c4-e949-4bd2-a560-ed7766fcaf2b,ADALLOM_S_DISCOVERY,932ad362-64a8-4783-9106-97849a1a30b9,CLOUD APP SECURITY DISCOVERY +Microsoft Entra ID P2,AAD_PREMIUM_P2,84a661c4-e949-4bd2-a560-ed7766fcaf2b,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,EXCHANGE FOUNDATION +Microsoft Entra ID P2,AAD_PREMIUM_P2,84a661c4-e949-4bd2-a560-ed7766fcaf2b,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,MICROSOFT AZURE MULTI-FACTOR AUTHENTICATION +Azure Information Protection Plan 1,RIGHTSMANAGEMENT,c52ea49f-fe5d-4e95-93ba-1de91d380f89,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,AZURE INFORMATION PROTECTION PREMIUM P1 +Azure Information Protection Plan 1,RIGHTSMANAGEMENT,c52ea49f-fe5d-4e95-93ba-1de91d380f89,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Microsoft Entra RIGHTS +Azure Information Protection Plan 1,RIGHTSMANAGEMENT_CE,a0e6a48f-b056-4037-af70-b9ac53504551,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Azure Information Protection Plan 1,RIGHTSMANAGEMENT_CE,a0e6a48f-b056-4037-af70-b9ac53504551,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Azure Information Protection Plan 1,RIGHTSMANAGEMENT_CE,a0e6a48f-b056-4037-af70-b9ac53504551,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Azure Information Protection Premium P1_USGOV_GCCHIGH,RIGHTSMANAGEMENT_CE_USGOV_GCCHIGH,c57afa2a-d468-46c4-9a90-f86cb1b3c54a,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Azure Information Protection Premium P1_USGOV_GCCHIGH,RIGHTSMANAGEMENT_CE_USGOV_GCCHIGH,c57afa2a-d468-46c4-9a90-f86cb1b3c54a,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Azure Information Protection Premium P1_USGOV_GCCHIGH,RIGHTSMANAGEMENT_CE_USGOV_GCCHIGH,c57afa2a-d468-46c4-9a90-f86cb1b3c54a,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Basic Collaboration,OFFICEBASIC,4468c39a-28b2-42fb-9094-840bcf28771f,EXCHANGE_S_STANDARD,9aaf7827-d63c-4b61-89c3-182f06f82e5c,Exchange Online (Plan 1) +Basic Collaboration,OFFICEBASIC,4468c39a-28b2-42fb-9094-840bcf28771f,ONEDRIVELITE_IW,b4ac11a0-32ff-4e78-982d-e039fa803dec,Office for the web with OneDrive for business +Basic Collaboration,OFFICEBASIC,4468c39a-28b2-42fb-9094-840bcf28771f,MCOBASIC,448898aa-3ae7-478c-b49a-1fac7a8a35cf,Skype Meetings +Basic Collaboration,OFFICEBASIC,4468c39a-28b2-42fb-9094-840bcf28771f,YAMMER_BASIC,6db7aeea-6c4a-475d-bbb0-7338bc73d646,Yammer +Business Apps (free),SMB_APPS,90d8b3f8-712e-4f7b-aa1e-62e7ae6cbe96,DYN365BC_MS_INVOICING,39b5c996-467e-4e60-bd62-46066f572726,Microsoft Invoicing +Business Apps (free),SMB_APPS,90d8b3f8-712e-4f7b-aa1e-62e7ae6cbe96,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Common Data Service for Apps File Capacity,CDS_FILE_CAPACITY,631d5fb1-a668-4c2a-9427-8830665a742e,CDS_FILE_CAPACITY,dd12a3a8-caec-44f8-b4fb-2f1a864b51e3,Common Data Service for Apps File Capacity +Common Data Service for Apps File Capacity,CDS_FILE_CAPACITY,631d5fb1-a668-4c2a-9427-8830665a742e,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Common Data Service Database Capacity,CDS_DB_CAPACITY,e612d426-6bc3-4181-9658-91aa906b0ac0,CDS_DB_CAPACITY,360bcc37-0c11-4264-8eed-9fa7a3297c9b,Common Data Service for Apps Database Capacity +Common Data Service Database Capacity,CDS_DB_CAPACITY,e612d426-6bc3-4181-9658-91aa906b0ac0,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Common Data Service Database Capacity for Government,CDS_DB_CAPACITY_GOV,eddf428b-da0e-4115-accf-b29eb0b83965,CDS_DB_CAPACITY_GOV,1ddffef6-4f69-455e-89c7-d5d72105f915,Common Data Service for Apps Database Capacity for Government +Common Data Service Database Capacity for Government,CDS_DB_CAPACITY_GOV,eddf428b-da0e-4115-accf-b29eb0b83965,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government +Common Data Service Log Capacity,CDS_LOG_CAPACITY,448b063f-9cc6-42fc-a0e6-40e08724a395,CDS_LOG_CAPACITY,dc48f5c5-e87d-43d6-b884-7ac4a59e7ee9,Common Data Service for Apps Log Capacity +Common Data Service Log Capacity,CDS_LOG_CAPACITY,448b063f-9cc6-42fc-a0e6-40e08724a395,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Communications Credits,MCOPSTNC,47794cd0-f0e5-45c5-9033-2eb6b5fc84e0,MCOPSTNC,505e180f-f7e0-4b65-91d4-00d670bbd18c,COMMUNICATIONS CREDITS +Compliance Manager Premium Assessment Add-On,CMPA_addon,8a5fbbed-8b8c-41e5-907e-c50c471340fd,COMPLIANCE_MANAGER_PREMIUM_ASSESSMENT_ADDON,3a117d30-cfac-4f00-84ac-54f8b6a18d78,Compliance Manager Premium Assessment Add-On +Compliance Manager Premium Assessment Add-On for GCC,CMPA_addon_GCC,a9d7ef53-9bea-4a2a-9650-fa7df58fe094,COMPLIANCE_MANAGER_PREMIUM_ASSESSMENT_ADDON,3a117d30-cfac-4f00-84ac-54f8b6a18d78,Compliance Manager Premium Assessment Add-On +Defender Threat Intelligence,Defender_Threat_Intelligence,a9c51c15-ffad-4c66-88c0-8771455c832d,THREAT_INTELLIGENCE_APP,fbdb91e6-7bfd-4a1f-8f7a-d27f4ef39702,Defender Threat Intelligence +Digital Messaging for GCC Test SKU,MESSAGING_GCC_TEST,064a9707-9dba-4cc1-9902-38bfcfda6328,DYN365_CS_CHAT_FPA_GOV,b9f7ce72-67ff-4695-a9d9-5ff620232024,Dynamics 365 Customer Service Chat Application Integration for Government +Digital Messaging for GCC Test SKU,MESSAGING_GCC_TEST,064a9707-9dba-4cc1-9902-38bfcfda6328,DYN365_CS_MESSAGING_TPS_GOV,9d37aa61-3cc3-457c-8b54-e6f3853aa6b6,Dynamics 365 Customer Service Digital Messaging add-on for Government +Digital Messaging for GCC Test SKU,MESSAGING_GCC_TEST,064a9707-9dba-4cc1-9902-38bfcfda6328,DYN365_CS_MESSAGING_GOV,e304c3c3-f86c-4200-b174-1ade48805b22,Dynamics 365 Customer Service Digital Messaging application integration for Government +Digital Messaging for GCC Test SKU,MESSAGING_GCC_TEST,064a9707-9dba-4cc1-9902-38bfcfda6328,DYN365_CS_CHAT_GOV,ffb878a5-3184-472b-800b-65eadc63d764,Dynamics 365 for Customer Service Chat for Government +Digital Messaging for GCC Test SKU,MESSAGING_GCC_TEST,064a9707-9dba-4cc1-9902-38bfcfda6328,POWER_VIRTUAL_AGENTS_D365_CS_CHAT_GOV,9023fe69-f9e0-4c1e-bfde-654954469162,Power Virtual Agents for Chat for Gov +Digital Messaging for GCC Test SKU,MESSAGING_GCC_TEST,064a9707-9dba-4cc1-9902-38bfcfda6328,POWER_VIRTUAL_AGENTS_D365_CS_MESSAGING_GOV,e501d49b-1176-4816-aece-2563c0d995db,Power Virtual Agents for Digital Messaging for Gov +Dynamics 365 - Additional Database Storage (Qualified Offer),CRMSTORAGE,328dc228-00bc-48c6-8b09-1fbc8bc3435d,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 - Additional Database Storage (Qualified Offer),CRMSTORAGE,328dc228-00bc-48c6-8b09-1fbc8bc3435d,CRMSTORAGE,77866113-0f3e-4e6e-9666-b1e25c6f99b0,Microsoft Dynamics CRM Online Storage Add-On +Dynamics 365 - Additional Production Instance (Qualified Offer),CRMINSTANCE,9d776713-14cb-4697-a21d-9a52455c738a,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 - Additional Production Instance (Qualified Offer),CRMINSTANCE,9d776713-14cb-4697-a21d-9a52455c738a,CRMINSTANCE,eeea837a-c885-4167-b3d5-ddde30cbd85f,Microsoft Dynamics CRM Online Instance +Dynamics 365 - Additional Non-Production Instance (Qualified Offer),CRMTESTINSTANCE,e06abcc2-7ec5-4a79-b08b-d9c282376f72,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 - Additional Non-Production Instance (Qualified Offer),CRMTESTINSTANCE,e06abcc2-7ec5-4a79-b08b-d9c282376f72,CRMTESTINSTANCE,a98b7619-66c7-4885-bdfc-1d9c8c3d279f,Microsoft Dynamics CRM Online Additional Test Instance +Dynamics 365 AI for Market Insights (Preview),SOCIAL_ENGAGEMENT_APP_USER,c6df1e30-1c9f-427f-907c-3d913474a1c7,SOCIAL_ENGAGEMENT_APP_USER,339f4def-5ad8-4430-8d12-da5fd4c769a7,Dynamics 365 AI for Market Insights - Free +Dynamics 365 AI for Market Insights (Preview),SOCIAL_ENGAGEMENT_APP_USER,c6df1e30-1c9f-427f-907c-3d913474a1c7,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Asset Management Addl Assets,DYN365_ASSETMANAGEMENT,673afb9d-d85b-40c2-914e-7bf46cd5cd75,D365_AssetforSCM,90467813-5b40-40d4-835c-abd48009b1d9,Asset Maintenance Add-in +Dynamics 365 Asset Management Addl Assets,DYN365_ASSETMANAGEMENT,673afb9d-d85b-40c2-914e-7bf46cd5cd75,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Business Central Additional Environment Addon,DYN365_BUSCENTRAL_ADD_ENV_ADDON,a58f5506-b382-44d4-bfab-225b2fbf8390,DYN365_BUSCENTRAL_ENVIRONMENT,d397d6c6-9664-4502-b71c-66f39c400ca4,Dynamics 365 Business Central Additional Environment Addon +Dynamics 365 Business Central Database Capacity,DYN365_BUSCENTRAL_DB_CAPACITY,7d0d4f9a-2686-4cb8-814c-eff3fdab6d74,DYN365_BUSCENTRAL_DB_CAPACITY,ae6b27b3-fe31-4e77-ae06-ec5fabbc103a,Dynamics 365 Business Central Database Capacity +Dynamics 365 Business Central Database Capacity,DYN365_BUSCENTRAL_DB_CAPACITY,7d0d4f9a-2686-4cb8-814c-eff3fdab6d74,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Business Central Essentials,DYN365_BUSCENTRAL_ESSENTIAL,2880026b-2b0c-4251-8656-5d41ff11e3aa,DYN365_FINANCIALS_BUSINESS,920656a2-7dd8-4c83-97b6-a356414dbd36,Dynamics 365 for Business Central Essentials +Dynamics 365 Business Central Essentials,DYN365_BUSCENTRAL_ESSENTIAL,2880026b-2b0c-4251-8656-5d41ff11e3aa,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Business Central Essentials,DYN365_BUSCENTRAL_ESSENTIAL,2880026b-2b0c-4251-8656-5d41ff11e3aa,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Flow for Dynamics 365 +Dynamics 365 Business Central Essentials,DYN365_BUSCENTRAL_ESSENTIAL,2880026b-2b0c-4251-8656-5d41ff11e3aa,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,PowerApps for Dynamics 365 +Dynamics 365 Business Central Essentials Attach,Dynamics_365_Business_Central_Essentials_Attach,1d506c23-1702-46f1-b940-160c55f98d05,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User +Dynamics 365 Business Central Essentials Attach,Dynamics_365_Business_Central_Essentials_Attach,1d506c23-1702-46f1-b940-160c55f98d05,DYN365_BUSCENTRAL_ESSENTIALS_ATTACH,17ca446c-d7a4-4d29-8dec-8e241592164b,Dynamics 365 Business Central Essentials Attach +Dynamics 365 Business Central Essentials Attach,Dynamics_365_Business_Central_Essentials_Attach,1d506c23-1702-46f1-b940-160c55f98d05,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Business Central Essentials Attach,Dynamics_365_Business_Central_Essentials_Attach,1d506c23-1702-46f1-b940-160c55f98d05,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,Power Apps for Dynamics 365 +Dynamics 365 Business Central Essentials Attach,Dynamics_365_Business_Central_Essentials_Attach,1d506c23-1702-46f1-b940-160c55f98d05,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Power Automate for Dynamics 365 +Dynamics 365 Business Central External Accountant,DYN365_FINANCIALS_ACCOUNTANT_SKU,9a1e33ed-9697-43f3-b84c-1b0959dbb1d4,DYN365_FINANCIALS_ACCOUNTANT,170991d7-b98e-41c5-83d4-db2052e1795f,Dynamics 365 Business Central External Accountant +Dynamics 365 Business Central External Accountant,DYN365_FINANCIALS_ACCOUNTANT_SKU,9a1e33ed-9697-43f3-b84c-1b0959dbb1d4,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Business Central External Accountant,DYN365_FINANCIALS_ACCOUNTANT_SKU,9a1e33ed-9697-43f3-b84c-1b0959dbb1d4,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Flow for Dynamics 365 +Dynamics 365 Business Central External Accountant,DYN365_FINANCIALS_ACCOUNTANT_SKU,9a1e33ed-9697-43f3-b84c-1b0959dbb1d4,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,PowerApps for Dynamics 365 +Dynamics 365 Business Central for IWs,PROJECT_MADEIRA_PREVIEW_IW_SKU,6a4a1628-9b9a-424d-bed5-4118f0ede3fd,PROJECT_MADEIRA_PREVIEW_IW,3f2afeed-6fb5-4bf9-998f-f2912133aead,Dynamics 365 Business Central for IWs +Dynamics 365 Business Central for IWs,PROJECT_MADEIRA_PREVIEW_IW_SKU,6a4a1628-9b9a-424d-bed5-4118f0ede3fd,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Business Central Premium,DYN365_BUSCENTRAL_PREMIUM,f991cecc-3f91-4cd0-a9a8-bf1c8167e029,DYN365_BUSCENTRAL_PREMIUM,8e9002c0-a1d8-4465-b952-817d2948e6e2,Dynamics 365 Business Central Premium +Dynamics 365 Business Central Premium,DYN365_BUSCENTRAL_PREMIUM,f991cecc-3f91-4cd0-a9a8-bf1c8167e029,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Business Central Premium,DYN365_BUSCENTRAL_PREMIUM,f991cecc-3f91-4cd0-a9a8-bf1c8167e029,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Flow for Dynamics 365 +Dynamics 365 Business Central Premium,DYN365_BUSCENTRAL_PREMIUM,f991cecc-3f91-4cd0-a9a8-bf1c8167e029,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,PowerApps for Dynamics 365 +Dynamics 365 Business Central Team Members,DYN365_BUSCENTRAL_TEAM_MEMBER,2e3c4023-80f6-4711-aa5d-29e0ecb46835,DYN365_FINANCIALS_TEAM_MEMBERS,d9a6391b-8970-4976-bd94-5f205007c8d8,Dynamics 365 for Team Members +Dynamics 365 Business Central Team Members,DYN365_BUSCENTRAL_TEAM_MEMBER,2e3c4023-80f6-4711-aa5d-29e0ecb46835,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Business Central Team Members,DYN365_BUSCENTRAL_TEAM_MEMBER,2e3c4023-80f6-4711-aa5d-29e0ecb46835,POWERAPPS_DYN_TEAM,52e619e2-2730-439a-b0d3-d09ab7e8b705,Power Apps for Dynamics 365 +Dynamics 365 Business Central Team Members,DYN365_BUSCENTRAL_TEAM_MEMBER,2e3c4023-80f6-4711-aa5d-29e0ecb46835,FLOW_DYN_TEAM,1ec58c70-f69c-486a-8109-4b87ce86e449,Power Automate for Dynamics 365 +Dynamics 365 Commerce Trial,DYN365_RETAIL_TRIAL,1508ad2d-5802-44e6-bfe8-6fb65de63d28,DYN365_RETAIL_TRIAL,874d6da5-2a67-45c1-8635-96e8b3e300ea,Dynamics 365 for Retail Trial +Dynamics 365 Commerce Trial,DYN365_RETAIL_TRIAL,1508ad2d-5802-44e6-bfe8-6fb65de63d28,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Customer Engagement Plan,DYN365_ENTERPRISE_PLAN1,ea126fc5-a19e-42e2-a731-da9d437bffcf,DYN365_ENTERPRISE_P1,d56f3deb-50d8-465a-bedb-f079817ccac1,Dynamics 365 Customer Engagement Plan +Dynamics 365 Customer Engagement Plan,DYN365_ENTERPRISE_PLAN1,ea126fc5-a19e-42e2-a731-da9d437bffcf,D365_CSI_EMBED_CE,1412cdc1-d593-4ad1-9050-40c30ad0b023,Dynamics 365 Customer Service Insights for CE Plan +Dynamics 365 Customer Engagement Plan,DYN365_ENTERPRISE_PLAN1,ea126fc5-a19e-42e2-a731-da9d437bffcf,DYN365_ENTERPRISE_FIELD_SERVICE,8c66ef8a-177f-4c0d-853c-d4f219331d09,Dynamics 365 for Field Service +Dynamics 365 Customer Engagement Plan,DYN365_ENTERPRISE_PLAN1,ea126fc5-a19e-42e2-a731-da9d437bffcf,D365_ProjectOperationsCDS,18fa3aba-b085-4105-87d7-55617b8585e6,Dynamics 365 Project Operations CDS +Dynamics 365 Customer Engagement Plan,DYN365_ENTERPRISE_PLAN1,ea126fc5-a19e-42e2-a731-da9d437bffcf,Forms_Pro_CE,97f29a83-1a20-44ff-bf48-5e4ad11f3e51,Microsoft Dynamics 365 Customer Voice for Customer Engagement Plan +Dynamics 365 Customer Engagement Plan,DYN365_ENTERPRISE_PLAN1,ea126fc5-a19e-42e2-a731-da9d437bffcf,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User +Dynamics 365 Customer Engagement Plan,DYN365_ENTERPRISE_PLAN1,ea126fc5-a19e-42e2-a731-da9d437bffcf,NBENTERPRISE,03acaee3-9492-4f40-aed4-bcb6b32981b6,Retired - Microsoft Social Engagement +Dynamics 365 Customer Engagement Plan,DYN365_ENTERPRISE_PLAN1,ea126fc5-a19e-42e2-a731-da9d437bffcf,D365_ProjectOperations,69f07c66-bee4-4222-b051-195095efee5b,Dynamics 365 Project Operations +Dynamics 365 Customer Engagement Plan,DYN365_ENTERPRISE_PLAN1,ea126fc5-a19e-42e2-a731-da9d437bffcf,DYN365_CDS_GUIDES,1315ade1-0410-450d-b8e3-8050e6da320f,Common Data Service +Dynamics 365 Customer Engagement Plan,DYN365_ENTERPRISE_PLAN1,ea126fc5-a19e-42e2-a731-da9d437bffcf,GUIDES,0b2c029c-dca0-454a-a336-887285d6ef07,Dynamics 365 Guides +Dynamics 365 Customer Engagement Plan,DYN365_ENTERPRISE_PLAN1,ea126fc5-a19e-42e2-a731-da9d437bffcf,MICROSOFT_REMOTE_ASSIST,4f4c7800-298a-4e22-8867-96b17850d4dd,Dynamics 365 Remote Assist +Dynamics 365 Customer Engagement Plan,DYN365_ENTERPRISE_PLAN1,ea126fc5-a19e-42e2-a731-da9d437bffcf,POWERAPPS_GUIDES,816971f4-37c5-424a-b12b-b56881f402e7,Power Apps for Guides +Dynamics 365 Customer Engagement Plan,DYN365_ENTERPRISE_PLAN1,ea126fc5-a19e-42e2-a731-da9d437bffcf,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Customer Engagement Plan,DYN365_ENTERPRISE_PLAN1,ea126fc5-a19e-42e2-a731-da9d437bffcf,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Dynamics 365 Customer Engagement Plan,DYN365_ENTERPRISE_PLAN1,ea126fc5-a19e-42e2-a731-da9d437bffcf,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Dynamics 365 Customer Engagement Plan,DYN365_ENTERPRISE_PLAN1,ea126fc5-a19e-42e2-a731-da9d437bffcf,PROJECT_FOR_PROJECT_OPERATIONS,0a05d977-a21a-45b2-91ce-61c240dbafa2,Project for Project Operations +Dynamics 365 Customer Engagement Plan,DYN365_ENTERPRISE_PLAN1,ea126fc5-a19e-42e2-a731-da9d437bffcf,PROJECT_CLIENT_SUBSCRIPTION,fafd7243-e5c1-4a3a-9e40-495efcb1d3c3,Project Online Desktop Client +Dynamics 365 Customer Engagement Plan,DYN365_ENTERPRISE_PLAN1,ea126fc5-a19e-42e2-a731-da9d437bffcf,SHAREPOINT_PROJECT,fe71d6c3-a2ea-4499-9778-da042bf08063,Project Online Service +Dynamics 365 Customer Engagement Plan,DYN365_ENTERPRISE_PLAN1,ea126fc5-a19e-42e2-a731-da9d437bffcf,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) +Dynamics 365 Customer Engagement Plan,DYN365_ENTERPRISE_PLAN1,ea126fc5-a19e-42e2-a731-da9d437bffcf,POWERAPPS_DYN_P2,0b03f40b-c404-40c3-8651-2aceb74365fa,Power Apps for Dynamics 365 +Dynamics 365 Customer Engagement Plan,DYN365_ENTERPRISE_PLAN1,ea126fc5-a19e-42e2-a731-da9d437bffcf,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Power Automate for Dynamics 365 +Dynamics 365 Customer Engagement Plan,DYN365_ENTERPRISE_PLAN1,ea126fc5-a19e-42e2-a731-da9d437bffcf,FLOW_DYN_P2,b650d915-9886-424b-a08d-633cede56f57,Power Automate for Dynamics 365 +Dynamics 365 Customer Insights Attach,DYN365_CUSTOMER_INSIGHTS_ATTACH,a3d0cd86-8068-4071-ad40-4dc5b5908c4b,CDS_CUSTOMER_INSIGHTS_BASE,d04ca659-b119-4a92-b8fc-3ede584a9d65,Dataverse for Customer Insights BASE +Dynamics 365 Customer Insights Attach,DYN365_CUSTOMER_INSIGHTS_ATTACH,a3d0cd86-8068-4071-ad40-4dc5b5908c4b,CDS_CUSTOMER_INSIGHTS,ca00cff5-2568-4d03-bb6c-a653a8f360ca,Common Data Service for Customer Insights +Dynamics 365 Customer Insights Attach,DYN365_CUSTOMER_INSIGHTS_ATTACH,a3d0cd86-8068-4071-ad40-4dc5b5908c4b,DYN365_CUSTOMER_INSIGHTS_BASE,ee85d528-c4b4-4a99-9b07-fb9a1365dc93,Dynamics 365 Customer Insights +Dynamics 365 Customer Insights Attach,DYN365_CUSTOMER_INSIGHTS_ATTACH,a3d0cd86-8068-4071-ad40-4dc5b5908c4b,Customer_Voice_Customer_Insights,46c5ea0a-2343-49d9-ae4f-1c268b232d53,Microsoft Dynamics 365 Customer Voice for Customer Insights App +Dynamics 365 Customer Insights Attach,DYN365_CUSTOMER_INSIGHTS_ATTACH,a3d0cd86-8068-4071-ad40-4dc5b5908c4b,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 for Customer Service Digital Messaging add-on for Government,DYN365_CS_MESSAGING_GOV,336dfe1f-3b33-4ab4-b395-cba8f614976d,DYN365_CS_MESSAGING_TPS_GOV,9d37aa61-3cc3-457c-8b54-e6f3853aa6b6,Dynamics 365 Customer Service Digital Messaging add-on for Government +Dynamics 365 for Customer Service Digital Messaging add-on for Government,DYN365_CS_MESSAGING_GOV,336dfe1f-3b33-4ab4-b395-cba8f614976d,DYN365_CS_MESSAGING_GOV,e304c3c3-f86c-4200-b174-1ade48805b22,Dynamics 365 Customer Service Digital Messaging application integration for Government +Dynamics 365 for Customer Service Digital Messaging add-on for Government,DYN365_CS_MESSAGING_GOV,336dfe1f-3b33-4ab4-b395-cba8f614976d,POWER_VIRTUAL_AGENTS_D365_CS_MESSAGING_GOV,e501d49b-1176-4816-aece-2563c0d995db,Power Virtual Agents for Digital Messaging for Gov +Dynamics 365 for Customer Service Digital Messaging add-on for Government,DYN365_CS_MESSAGING_GOV,336dfe1f-3b33-4ab4-b395-cba8f614976d,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government +Dynamics 365 Customer Service Digital Messaging and Voice Add-in for Government,DYN365_CS_OC_MESSAGING_VOICE_GOV,6ec542c9-2a86-4d4a-8a52-d233eb58ef0a,DYN365_CS_MESSAGING_TPS_GOV,9d37aa61-3cc3-457c-8b54-e6f3853aa6b6,Dynamics 365 Customer Service Digital Messaging add-on for Government +Dynamics 365 Customer Service Digital Messaging and Voice Add-in for Government,DYN365_CS_OC_MESSAGING_VOICE_GOV,6ec542c9-2a86-4d4a-8a52-d233eb58ef0a,DYN365_CS_VOICE_GOV,411b0c93-8f89-455e-a663-c0a3effd12c3,Dynamics 365 for Customer Service Voice Add-in for Government +Dynamics 365 Customer Service Digital Messaging and Voice Add-in for Government,DYN365_CS_OC_MESSAGING_VOICE_GOV,6ec542c9-2a86-4d4a-8a52-d233eb58ef0a,POWER_VIRTUAL_AGENTS_D365_CS_VOICE_GOV,cad9c719-36e0-43c7-9506-6886f272d4f0,Power Virtual Agents for Customer Service Voice for Government +Dynamics 365 Customer Service Digital Messaging and Voice Add-in for Government,DYN365_CS_OC_MESSAGING_VOICE_GOV,6ec542c9-2a86-4d4a-8a52-d233eb58ef0a,POWER_VIRTUAL_AGENTS_D365_CS_MESSAGING_GOV,e501d49b-1176-4816-aece-2563c0d995db,Power Virtual Agents for Digital Messaging for Gov +Dynamics 365 Customer Service Digital Messaging and Voice Add-in for Government,DYN365_CS_OC_MESSAGING_VOICE_GOV,6ec542c9-2a86-4d4a-8a52-d233eb58ef0a,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government +Dynamics 365 Customer Service Digital Messaging and Voice Add-in for Government for Test,DYN365_CS_OC_MESSAGING_VOICE_GOV_TEST,ea9ba490-50b8-474e-8671-9fec0f1268f3,DYN365_CS_MESSAGING_TPS_GOV,9d37aa61-3cc3-457c-8b54-e6f3853aa6b6,Dynamics 365 Customer Service Digital Messaging add-on for Government +Dynamics 365 Customer Service Digital Messaging and Voice Add-in for Government for Test,DYN365_CS_OC_MESSAGING_VOICE_GOV_TEST,ea9ba490-50b8-474e-8671-9fec0f1268f3,DYN365_CS_VOICE_GOV,411b0c93-8f89-455e-a663-c0a3effd12c3,Dynamics 365 for Customer Service Voice Add-in for Government +Dynamics 365 Customer Service Digital Messaging and Voice Add-in for Government for Test,DYN365_CS_OC_MESSAGING_VOICE_GOV_TEST,ea9ba490-50b8-474e-8671-9fec0f1268f3,POWER_VIRTUAL_AGENTS_D365_CS_VOICE_GOV,cad9c719-36e0-43c7-9506-6886f272d4f0,Power Virtual Agents for Customer Service Voice for Government +Dynamics 365 Customer Service Digital Messaging and Voice Add-in for Government for Test,DYN365_CS_OC_MESSAGING_VOICE_GOV_TEST,ea9ba490-50b8-474e-8671-9fec0f1268f3,POWER_VIRTUAL_AGENTS_D365_CS_MESSAGING_GOV,e501d49b-1176-4816-aece-2563c0d995db,Power Virtual Agents for Digital Messaging for Gov +Dynamics 365 Customer Service Digital Messaging and Voice Add-in for Government for Test,DYN365_CS_OC_MESSAGING_VOICE_GOV_TEST,ea9ba490-50b8-474e-8671-9fec0f1268f3,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government +Dynamics 365 for Customer Service Chat for Government,DYN365_CS_CHAT_GOV,1b399f66-be2a-479c-a79d-84a43a46f79e,DYN365_CS_CHAT_FPA_GOV,b9f7ce72-67ff-4695-a9d9-5ff620232024,Dynamics 365 Customer Service Chat Application Integration for Government +Dynamics 365 for Customer Service Chat for Government,DYN365_CS_CHAT_GOV,1b399f66-be2a-479c-a79d-84a43a46f79e,DYN365_CS_CHAT_GOV,ffb878a5-3184-472b-800b-65eadc63d764,Dynamics 365 for Customer Service Chat for Government +Dynamics 365 for Customer Service Chat for Government,DYN365_CS_CHAT_GOV,1b399f66-be2a-479c-a79d-84a43a46f79e,POWER_VIRTUAL_AGENTS_D365_CS_CHAT_GOV,9023fe69-f9e0-4c1e-bfde-654954469162,Power Virtual Agents for Chat for Gov +Dynamics 365 for Customer Service Chat for Government,DYN365_CS_CHAT_GOV,1b399f66-be2a-479c-a79d-84a43a46f79e,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government +Dynamics 365 Customer Service Enterprise Admin,Dynamics_365_Customer_Service_Enterprise_admin_trial,94a6fbd4-6a2f-4990-b356-dc7dd8bed08a,CUSTOMER_VOICE_DYN365_VIRAL_TRIAL,dbe07046-af68-4861-a20d-1c8cbda9194f,Customer Voice for Dynamics 365 vTrial +Dynamics 365 Customer Service Enterprise Admin,Dynamics_365_Customer_Service_Enterprise_admin_trial,94a6fbd4-6a2f-4990-b356-dc7dd8bed08a,DYN365_CS_MESSAGING_TPS,47c2b191-a5fb-4129-b690-00c474d2f623,Dynamics 365 Customer Service Digital Messaging add-on +Dynamics 365 Customer Service Enterprise Admin,Dynamics_365_Customer_Service_Enterprise_admin_trial,94a6fbd4-6a2f-4990-b356-dc7dd8bed08a,D365_CSI_EMBED_CSEnterprise,5b1e5982-0e88-47bb-a95e-ae6085eda612,Dynamics 365 Customer Service Insights for CS Enterprise +Dynamics 365 Customer Service Enterprise Admin,Dynamics_365_Customer_Service_Enterprise_admin_trial,94a6fbd4-6a2f-4990-b356-dc7dd8bed08a,DYN365_ENTERPRISE_CUSTOMER_SERVICE,99340b49-fb81-4b1e-976b-8f2ae8e9394f,Dynamics 365 for Customer Service +Dynamics 365 Customer Service Enterprise Admin,Dynamics_365_Customer_Service_Enterprise_admin_trial,94a6fbd4-6a2f-4990-b356-dc7dd8bed08a,DYN365_CS_VOICE,f6ec6dfa-2402-468d-a455-89be11116d43,Dynamics 365 for Customer Service Voice Add-in +Dynamics 365 Customer Service Enterprise Admin,Dynamics_365_Customer_Service_Enterprise_admin_trial,94a6fbd4-6a2f-4990-b356-dc7dd8bed08a,POWER_VIRTUAL_AGENTS_D365_CS_VOICE,a3dce1be-e9ca-453a-9483-e69a5b46ce98,Power Virtual Agents for Customer Service Voice +Dynamics 365 Customer Service Enterprise Admin,Dynamics_365_Customer_Service_Enterprise_admin_trial,94a6fbd4-6a2f-4990-b356-dc7dd8bed08a,POWER_VIRTUAL_AGENTS_D365_CS_MESSAGING,2d2f174c-c3cc-4abe-9ce8-4dd86f469ab1,Power Virtual Agents for Digital Messaging +Dynamics 365 Customer Service Enterprise Admin,Dynamics_365_Customer_Service_Enterprise_admin_trial,94a6fbd4-6a2f-4990-b356-dc7dd8bed08a,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Customer Service Enterprise Admin,Dynamics_365_Customer_Service_Enterprise_admin_trial,94a6fbd4-6a2f-4990-b356-dc7dd8bed08a,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,Power Apps for Dynamics 365 +Dynamics 365 Customer Service Enterprise Admin,Dynamics_365_Customer_Service_Enterprise_admin_trial,94a6fbd4-6a2f-4990-b356-dc7dd8bed08a,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Power Automate for Dynamics 365 +Dynamics 365 Customer Insights Standalone,DYN365_CUSTOMER_INSIGHTS_BASE,0c250654-c7f7-461f-871a-7222f6592cf2,CDS_CUSTOMER_INSIGHTS_BASE,d04ca659-b119-4a92-b8fc-3ede584a9d65,Dataverse for Cust Insights BASE +Dynamics 365 Customer Insights Standalone,DYN365_CUSTOMER_INSIGHTS_BASE,0c250654-c7f7-461f-871a-7222f6592cf2,CDS_CUSTOMER_INSIGHTS,ca00cff5-2568-4d03-bb6c-a653a8f360ca,Common Data Service for Customer Insights +Dynamics 365 Customer Insights Standalone,DYN365_CUSTOMER_INSIGHTS_BASE,0c250654-c7f7-461f-871a-7222f6592cf2,DYN365_CUSTOMER_INSIGHTS_BASE,ee85d528-c4b4-4a99-9b07-fb9a1365dc93,Dynamics 365 Customer Insights +Dynamics 365 Customer Insights Standalone,DYN365_CUSTOMER_INSIGHTS_BASE,0c250654-c7f7-461f-871a-7222f6592cf2,DYN365_CUSTOMER_INSIGHTS_ENGAGEMENT_INSIGHTS_BASE,b3c26516-3b8d-492f-a5a3-64d70ad3f8d0,Dynamics 365 Customer Insights Engagement Insights +Dynamics 365 Customer Insights Standalone,DYN365_CUSTOMER_INSIGHTS_BASE,0c250654-c7f7-461f-871a-7222f6592cf2,Customer_Voice_Customer_Insights,46c5ea0a-2343-49d9-ae4f-1c268b232d53,Microsoft Dynamics 365 Customer Voice for Customer Insights App +Dynamics 365 Customer Insights Standalone,DYN365_CUSTOMER_INSIGHTS_BASE,0c250654-c7f7-461f-871a-7222f6592cf2,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Customer Insights vTrial,DYN365_CUSTOMER_INSIGHTS_VIRAL,036c2481-aa8a-47cd-ab43-324f0c157c2d,CDS_CUSTOMER_INSIGHTS_TRIAL,94e5cbf6-d843-4ee8-a2ec-8b15eb52019e,Common Data Service for Customer Insights Trial +Dynamics 365 Customer Insights vTrial,DYN365_CUSTOMER_INSIGHTS_VIRAL,036c2481-aa8a-47cd-ab43-324f0c157c2d,DYN365_CUSTOMER_INSIGHTS_ENGAGEMENT_INSIGHTS_BASE_TRIAL,e2bdea63-235e-44c6-9f5e-5b0e783f07dd,Dynamics 365 Customer Insights Engagement Insights Viral +Dynamics 365 Customer Insights vTrial,DYN365_CUSTOMER_INSIGHTS_VIRAL,036c2481-aa8a-47cd-ab43-324f0c157c2d,DYN365_CUSTOMER_INSIGHTS_VIRAL,ed8e8769-94c5-4132-a3e7-7543b713d51f,Dynamics 365 Customer Insights Viral Plan +Dynamics 365 Customer Insights vTrial,DYN365_CUSTOMER_INSIGHTS_VIRAL,036c2481-aa8a-47cd-ab43-324f0c157c2d,Forms_Pro_Customer_Insights,fe581650-cf61-4a09-8814-4bd77eca9cb5,Microsoft Dynamics 365 Customer Voice for Customer Insights +Dynamics 365 for Customer Service Enterprise Attach to Qualifying Dynamics 365 Base Offer A,D365_CUSTOMER_SERVICE_ENT_ATTACH,eb18b715-ea9d-4290-9994-2ebf4b5042d2,D365_CUSTOMER_SERVICE_ENT_ATTACH,61a2665f-1873-488c-9199-c3d0bc213fdf,Dynamics 365 for Customer Service Enterprise Attach +Dynamics 365 for Customer Service Enterprise Attach to Qualifying Dynamics 365 Base Offer A,D365_CUSTOMER_SERVICE_ENT_ATTACH,eb18b715-ea9d-4290-9994-2ebf4b5042d2,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User +Dynamics 365 for Customer Service Enterprise Attach to Qualifying Dynamics 365 Base Offer A,D365_CUSTOMER_SERVICE_ENT_ATTACH,eb18b715-ea9d-4290-9994-2ebf4b5042d2,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 for Customer Service Enterprise for Government,D365_ENTERPRISE_CUSTOMER_SERVICE_GOV,65758a5f-2e16-43b3-a8cb-296cd8f69e09,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,dc6643d9-1e72-4dce-9f64-1d6eac1f1c5a,Dynamics 365 for Customer Service for Government +Dynamics 365 for Customer Service Enterprise for Government,D365_ENTERPRISE_CUSTOMER_SERVICE_GOV,65758a5f-2e16-43b3-a8cb-296cd8f69e09,Forms_Pro_Service_GCC,bb681a9b-58f5-42ee-9926-674325be8aaa,Microsoft Dynamics 365 Customer Voice for Customer Service Enterprise for GCC +Dynamics 365 for Customer Service Enterprise for Government,D365_ENTERPRISE_CUSTOMER_SERVICE_GOV,65758a5f-2e16-43b3-a8cb-296cd8f69e09,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User +Dynamics 365 for Customer Service Enterprise for Government,D365_ENTERPRISE_CUSTOMER_SERVICE_GOV,65758a5f-2e16-43b3-a8cb-296cd8f69e09,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government +Dynamics 365 for Customer Service Enterprise for Government,D365_ENTERPRISE_CUSTOMER_SERVICE_GOV,65758a5f-2e16-43b3-a8cb-296cd8f69e09,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government +Dynamics 365 for Customer Service Enterprise for Government,D365_ENTERPRISE_CUSTOMER_SERVICE_GOV,65758a5f-2e16-43b3-a8cb-296cd8f69e09,PROJECT_ESSENTIALS_GOV,fdcb7064-f45c-46fa-b056-7e0e9fdf4bf3,Project Online Essentials for Government +Dynamics 365 for Customer Service Enterprise for Government,D365_ENTERPRISE_CUSTOMER_SERVICE_GOV,65758a5f-2e16-43b3-a8cb-296cd8f69e09,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G +Dynamics 365 for Customer Service Enterprise for Government,D365_ENTERPRISE_CUSTOMER_SERVICE_GOV,65758a5f-2e16-43b3-a8cb-296cd8f69e09,FLOW_DYN_APPS_GOV,2c6af4f1-e7b6-4d59-bbc8-eaa884f42d69,Power Automate for Dynamics 365 for Government +Dynamics 365 for Customer Service Enterprise for Government,D365_ENTERPRISE_CUSTOMER_SERVICE_GOV,65758a5f-2e16-43b3-a8cb-296cd8f69e09,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government +Dynamics 365 Customer Service Enterprise Viral Trial,Dynamics_365_Customer_Service_Enterprise_viral_trial,1e615a51-59db-4807-9957-aa83c3657351,CUSTOMER_VOICE_DYN365_VIRAL_TRIAL,dbe07046-af68-4861-a20d-1c8cbda9194f,Customer Voice for Dynamics 365 vTrial +Dynamics 365 Customer Service Enterprise Viral Trial,Dynamics_365_Customer_Service_Enterprise_viral_trial,1e615a51-59db-4807-9957-aa83c3657351,CCIBOTS_PRIVPREV_VIRAL,ce312d15-8fdf-44c0-9974-a25a177125ee,Dynamics 365 AI for Customer Service Virtual Agents Viral +Dynamics 365 Customer Service Enterprise Viral Trial,Dynamics_365_Customer_Service_Enterprise_viral_trial,1e615a51-59db-4807-9957-aa83c3657351,DYN365_CS_MESSAGING_VIRAL_TRIAL,3bf52bdf-5226-4a97-829e-5cca9b3f3392,Dynamics 365 Customer Service Digital Messaging vTrial +Dynamics 365 Customer Service Enterprise Viral Trial,Dynamics_365_Customer_Service_Enterprise_viral_trial,1e615a51-59db-4807-9957-aa83c3657351,DYN365_CS_ENTERPRISE_VIRAL_TRIAL,94fb67d3-465f-4d1f-a50a-952da079a564,Dynamics 365 Customer Service Enterprise vTrial +Dynamics 365 Customer Service Enterprise Viral Trial,Dynamics_365_Customer_Service_Enterprise_viral_trial,1e615a51-59db-4807-9957-aa83c3657351,DYNB365_CSI_VIRAL_TRIAL,33f1466e-63a6-464c-bf6a-d1787928a56a,Dynamics 365 Customer Service Insights vTrial +Dynamics 365 Customer Service Enterprise Viral Trial,Dynamics_365_Customer_Service_Enterprise_viral_trial,1e615a51-59db-4807-9957-aa83c3657351,DYN365_CS_VOICE_VIRAL_TRIAL,3de81e39-4ce1-47f7-a77f-8473d4eb6d7c,Dynamics 365 Customer Service Voice vTrial +Dynamics 365 Customer Service Enterprise Viral Trial,Dynamics_365_Customer_Service_Enterprise_viral_trial,1e615a51-59db-4807-9957-aa83c3657351,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Customer Service Enterprise Viral Trial,Dynamics_365_Customer_Service_Enterprise_viral_trial,1e615a51-59db-4807-9957-aa83c3657351,POWER_APPS_DYN365_VIRAL_TRIAL,54b37829-818e-4e3c-a08a-3ea66ab9b45d,Power Apps for Dynamics 365 vTrial +Dynamics 365 Customer Service Enterprise Viral Trial,Dynamics_365_Customer_Service_Enterprise_viral_trial,1e615a51-59db-4807-9957-aa83c3657351,POWER_AUTOMATE_DYN365_VIRAL_TRIAL,81d4ecb8-0481-42fb-8868-51536c5aceeb,Power Automate for Dynamics 365 vTrial +Dynamics 365 Customer Service Insights Trial,DYN365_AI_SERVICE_INSIGHTS,61e6bd70-fbdb-4deb-82ea-912842f39431,DYN365_AI_SERVICE_INSIGHTS,4ade5aa6-5959-4d2c-bf0a-f4c9e2cc00f2,Dynamics 365 AI for Customer Service Trial +Dynamics 365 Customer Voice Trial,FORMS_PRO,bc946dac-7877-4271-b2f7-99d2db13cd2c,DYN365_CDS_FORMS_PRO,363430d1-e3f7-43bc-b07b-767b6bb95e4b,Common Data Service +Dynamics 365 Customer Voice Trial,FORMS_PRO,bc946dac-7877-4271-b2f7-99d2db13cd2c,FORMS_PRO,17efdd9f-c22c-4ad8-b48e-3b1f3ee1dc9a,Dynamics 365 Customer Voice +Dynamics 365 Customer Voice Trial,FORMS_PRO,bc946dac-7877-4271-b2f7-99d2db13cd2c,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Customer Voice Trial,FORMS_PRO,bc946dac-7877-4271-b2f7-99d2db13cd2c,FORMS_PLAN_E5,e212cbc7-0961-4c40-9825-01117710dcb1,Microsoft Forms (Plan E5) +Dynamics 365 Customer Voice Trial,FORMS_PRO,bc946dac-7877-4271-b2f7-99d2db13cd2c,FLOW_FORMS_PRO,57a0746c-87b8-4405-9397-df365a9db793,Power Automate for Dynamics 365 Customer Voice +Dynamics 365 Customer Service Professional,DYN365_CUSTOMER_SERVICE_PRO,1439b6e2-5d59-4873-8c59-d60e2a196e92,DYN365_CUSTOMER_SERVICE_PRO,6929f657-b31b-4947-b4ce-5066c3214f54,Dynamics 365 for Customer Service Pro +Dynamics 365 Customer Service Professional,DYN365_CUSTOMER_SERVICE_PRO,1439b6e2-5d59-4873-8c59-d60e2a196e92,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Customer Service Professional,DYN365_CUSTOMER_SERVICE_PRO,1439b6e2-5d59-4873-8c59-d60e2a196e92,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the web +Dynamics 365 Customer Service Professional,DYN365_CUSTOMER_SERVICE_PRO,1439b6e2-5d59-4873-8c59-d60e2a196e92,POWERAPPS_CUSTOMER_SERVICE_PRO,c507b04c-a905-4940-ada6-918891e6d3ad,Power Apps for Customer Service Pro +Dynamics 365 Customer Service Professional,DYN365_CUSTOMER_SERVICE_PRO,1439b6e2-5d59-4873-8c59-d60e2a196e92,FLOW_CUSTOMER_SERVICE_PRO,0368fc9c-3721-437f-8b7d-3d0f888cdefc,Power Automate for Customer Service Pro +Dynamics 365 Customer Service Professional,DYN365_CUSTOMER_SERVICE_PRO,1439b6e2-5d59-4873-8c59-d60e2a196e92,PROJECT_ESSENTIALS,1259157c-8581-4875-bca7-2ffb18c51bda,Project Online Essentials +Dynamics 365 Customer Service Professional,DYN365_CUSTOMER_SERVICE_PRO,1439b6e2-5d59-4873-8c59-d60e2a196e92,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) +Dynamics 365 for Customer Service Professional Attach to Qualifying Dynamics 365 Base Offer,D365_CUSTOMER_SERVICE_PRO_ATTACH,19dec69d-d9f3-4792-8a39-d8ecdf51937b,D365_CUSTOMER_SERVICE_PRO_ATTACH,a9dd2dca-10ae-4da2-aaf0-d3fe8a825110,Dynamics 365 for Customer Service Pro Attach +Dynamics 365 for Customer Service Professional Attach to Qualifying Dynamics 365 Base Offer,D365_CUSTOMER_SERVICE_PRO_ATTACH,19dec69d-d9f3-4792-8a39-d8ecdf51937b,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Customer Voice,DYN365_CUSTOMER_VOICE_BASE,359ea3e6-8130-4a57-9f8f-ad897a0342f1,Customer_Voice_Base,296820fe-dce5-40f4-a4f2-e14b8feef383,Dynamics 365 Customer Voice Base Plan +Dynamics 365 Customer Voice,DYN365_CUSTOMER_VOICE_BASE,359ea3e6-8130-4a57-9f8f-ad897a0342f1,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Customer Voice Additional Responses,Forms_Pro_AddOn,446a86f8-a0cb-4095-83b3-d100eb050e3d,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Customer Voice Additional Responses,Forms_Pro_AddOn,446a86f8-a0cb-4095-83b3-d100eb050e3d,Forms_Pro_AddOn,90a816f6-de5f-49fd-963c-df490d73b7b5,Microsoft Dynamics 365 Customer Voice Add-on +Dynamics 365 Customer Voice Additional Responses,DYN365_CUSTOMER_VOICE_ADDON,65f71586-ade3-4ce1-afc0-1b452eaf3782,CUSTOMER_VOICE_ADDON,e6e35e2d-2e7f-4e71-bc6f-2f40ed062f5d,Dynamics Customer Voice Add-On +Dynamics 365 Customer Voice Additional Responses,DYN365_CUSTOMER_VOICE_ADDON,65f71586-ade3-4ce1-afc0-1b452eaf3782,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Customer Voice USL,Forms_Pro_USL,e2ae107b-a571-426f-9367-6d4c8f1390ba,CDS_FORM_PRO_USL,e9830cfd-e65d-49dc-84fb-7d56b9aa2c89,Common Data Service +Dynamics 365 Customer Voice USL,Forms_Pro_USL,e2ae107b-a571-426f-9367-6d4c8f1390ba,Forms_Pro_USL,3ca0766a-643e-4304-af20-37f02726339b,Microsoft Dynamics 365 Customer Voice USL +Dynamics 365 Customer Voice USL,Forms_Pro_USL,e2ae107b-a571-426f-9367-6d4c8f1390ba,FLOW_FORMS_PRO,57a0746c-87b8-4405-9397-df365a9db793,Power Automate for Dynamics 365 Customer Voice +Dynamics 365 Enterprise Edition - Additional Database Storage for Government,CRMSTORAGE_GCC,4aed5dd6-eb9c-4143-8f14-368d70287121,CRMSTORAGE_GCC,62edd427-6067-4274-93c4-29afdeb30707,Microsoft Dynamics CRM Online Storage Add-On +Dynamics 365 Enterprise Edition - Additional Database Storage for Government,CRMSTORAGE_GCC,4aed5dd6-eb9c-4143-8f14-368d70287121,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Enterprise Edition - Additional Portal for Government,CRM_ONLINE_PORTAL_GCC,cb9bc974-a47b-4123-998d-a383390168cc,CRM_ONLINE_PORTAL_GCC,eac6b45b-aa89-429f-a37b-c8ce00e8367e,Microsoft Dynamics CRM Online - Portal Add-On +Dynamics 365 Enterprise Edition - Additional Portal for Government,CRM_ONLINE_PORTAL_GCC,cb9bc974-a47b-4123-998d-a383390168cc,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Enterprise Edition - Additional Portal for Government,CRM_ONLINE_PORTAL_NOPREREQ,67f58b51-af53-4344-9663-9a2beb1d8a8e,CRM_ONLINE_PORTAL_GCC,eac6b45b-aa89-429f-a37b-c8ce00e8367e,Microsoft Dynamics CRM Online - Portal Add-On +Dynamics 365 Enterprise Edition - Additional Portal for Government,CRM_ONLINE_PORTAL_NOPREREQ,67f58b51-af53-4344-9663-9a2beb1d8a8e,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Enterprise Edition - Additional Portal (Qualified Offer),CRM_ONLINE_PORTAL,a4bfb28e-becc-41b0-a454-ac680dc258d3,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Enterprise Edition - Additional Portal (Qualified Offer),CRM_ONLINE_PORTAL,a4bfb28e-becc-41b0-a454-ac680dc258d3,CRM_ONLINE_PORTAL,1d4e9cb1-708d-449c-9f71-943aa8ed1d6a,Microsoft Dynamics CRM Online - Portal Add-On +Dynamics 365 Enterprise Edition - Additional Non-Production Instance for Government,CRMTESTINSTANCE_GCC,1d2756cb-2147-4b05-b4d5-f013c022dcb9,CRMTESTINSTANCE_GCC,6d99eb83-7b5f-4947-8e99-cc12f1adb399,Microsoft Dynamics CRM Online Additional Non-production Instance +Dynamics 365 Enterprise Edition - Additional Non-Production Instance for Government,CRMTESTINSTANCE_GCC,1d2756cb-2147-4b05-b4d5-f013c022dcb9,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 - Additional Non-Production Instance for Government,CRMTESTINSTANCE_NOPREREQ,2cf302fe-62db-4e20-b573-e0998b1208b5,CRMTESTINSTANCE_GCC,6d99eb83-7b5f-4947-8e99-cc12f1adb399,Microsoft Dynamics CRM Online Additional Non-production Instance +Dynamics 365 - Additional Non-Production Instance for Government,CRMTESTINSTANCE_NOPREREQ,2cf302fe-62db-4e20-b573-e0998b1208b5,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Enterprise Edition - Additional Production Instance for Government,CRMINSTANCE_GCC,2bd3cb20-1bb6-446b-b4d0-089af3a05c52,CRMINSTANCE_GCC,483cc331-f4df-4a3b-b8ca-fe1a247569f6,Microsoft Dynamics CRM Online Instance +Dynamics 365 Enterprise Edition - Additional Production Instance for Government,CRMINSTANCE_GCC,2bd3cb20-1bb6-446b-b4d0-089af3a05c52,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Field Service, Enterprise Edition - Resource Scheduling Optimization,CRM_AUTO_ROUTING_ADDON,977464c4-bfaf-4b67-b761-a9bb735a2196,CRM_AUTO_ROUTING_ENGINE_ADDON,24435e4b-87d0-4d7d-8beb-63a9b1573022,Field Service – Automated Routing Engine Add-On +Dynamics 365 Field Service, Enterprise Edition - Resource Scheduling Optimization,CRM_AUTO_ROUTING_ADDON,977464c4-bfaf-4b67-b761-a9bb735a2196,CRM_AUTO_ROUTING_ADDON,2ba394e0-6f18-4b77-b45f-a5663bbab540,RETIRED - Field Service – Automated Routing Engine Add-On +Dynamics 365 Field Service, Enterprise Edition - Resource Scheduling Optimization,CRM_AUTO_ROUTING_ADDON,977464c4-bfaf-4b67-b761-a9bb735a2196,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Field Service Contractor for Government,D365_FIELD_SERVICE_CONTRACTOR_GOV,e7965e3a-1f49-4d67-a3de-ad1ce460bbcc,CDS_FIELD_SERVICE_CONTRACTOR_GCC,2457fe40-65be-48a1-935f-924ad6e62dba,Common Data Service Field service Part Time Contractors for Government +Dynamics 365 Field Service Contractor for Government,D365_FIELD_SERVICE_CONTRACTOR_GOV,e7965e3a-1f49-4d67-a3de-ad1ce460bbcc,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government +Dynamics 365 Field Service Contractor for Government,D365_FIELD_SERVICE_CONTRACTOR_GOV,e7965e3a-1f49-4d67-a3de-ad1ce460bbcc,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government +Dynamics 365 Field Service Viral Trial,Dynamics_365_Field_Service_Enterprise_viral_trial,29fcd665-d8d1-4f34-8eed-3811e3fca7b3,CUSTOMER_VOICE_DYN365_VIRAL_TRIAL,dbe07046-af68-4861-a20d-1c8cbda9194f,Customer Voice for Dynamics 365 vTrial +Dynamics 365 Field Service Viral Trial,Dynamics_365_Field_Service_Enterprise_viral_trial,29fcd665-d8d1-4f34-8eed-3811e3fca7b3,DYN365_FS_ENTERPRISE_VIRAL_TRIAL,20d1455b-72b2-4725-8354-a177845ab77d,Dynamics 365 Field Service Enterprise vTrial +Dynamics 365 Field Service Viral Trial,Dynamics_365_Field_Service_Enterprise_viral_trial,29fcd665-d8d1-4f34-8eed-3811e3fca7b3,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Field Service Viral Trial,Dynamics_365_Field_Service_Enterprise_viral_trial,29fcd665-d8d1-4f34-8eed-3811e3fca7b3,POWER_APPS_DYN365_VIRAL_TRIAL,54b37829-818e-4e3c-a08a-3ea66ab9b45d,Power Apps for Dynamics 365 vTrial +Dynamics 365 Field Service Viral Trial,Dynamics_365_Field_Service_Enterprise_viral_trial,29fcd665-d8d1-4f34-8eed-3811e3fca7b3,POWER_AUTOMATE_DYN365_VIRAL_TRIAL,81d4ecb8-0481-42fb-8868-51536c5aceeb,Power Automate for Dynamics 365 vTrial +Dynamics 365 Finance,DYN365_FINANCE,55c9eb4e-c746-45b4-b255-9ab6b19d5c62,DYN365_CDS_FINANCE,e95d7060-d4d9-400a-a2bd-a244bf0b609e,Common Data Service for Dynamics 365 Finance +Dynamics 365 Finance,DYN365_FINANCE,55c9eb4e-c746-45b4-b255-9ab6b19d5c62,DYN365_REGULATORY_SERVICE,c7657ae3-c0b0-4eed-8c1d-6a7967bd9c65,Dynamics 365 for Finance and Operations Enterprise edition - Regulatory Service +Dynamics 365 Finance,DYN365_FINANCE,55c9eb4e-c746-45b4-b255-9ab6b19d5c62,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Finance,DYN365_FINANCE,55c9eb4e-c746-45b4-b255-9ab6b19d5c62,D365_Finance,9f0e1b4e-9b33-4300-b451-b2c662cd4ff7,Microsoft Dynamics 365 for Finance +Dynamics 365 Finance,DYN365_FINANCE,55c9eb4e-c746-45b4-b255-9ab6b19d5c62,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,Power Apps for Dynamics 365 +Dynamics 365 Finance,DYN365_FINANCE,55c9eb4e-c746-45b4-b255-9ab6b19d5c62,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Power Automate for Dynamics 365 +Dynamics 365 for Case Management Enterprise Edition,DYN365_ENTERPRISE_CASE_MANAGEMENT,d39fb075-21ae-42d0-af80-22a2599749e0,DYN365_ENTERPRISE_CASE_MANAGEMENT,2822a3a1-9b8f-4432-8989-e11669a60dc8,Dynamics 365 for Case Management +Dynamics 365 for Case Management Enterprise Edition,DYN365_ENTERPRISE_CASE_MANAGEMENT,d39fb075-21ae-42d0-af80-22a2599749e0,NBENTERPRISE,03acaee3-9492-4f40-aed4-bcb6b32981b6,Retired - Microsoft Social Engagement +Dynamics 365 for Case Management Enterprise Edition,DYN365_ENTERPRISE_CASE_MANAGEMENT,d39fb075-21ae-42d0-af80-22a2599749e0,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 for Case Management Enterprise Edition,DYN365_ENTERPRISE_CASE_MANAGEMENT,d39fb075-21ae-42d0-af80-22a2599749e0,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Dynamics 365 for Case Management Enterprise Edition,DYN365_ENTERPRISE_CASE_MANAGEMENT,d39fb075-21ae-42d0-af80-22a2599749e0,PROJECT_ESSENTIALS,1259157c-8581-4875-bca7-2ffb18c51bda,Project Online Essentials +Dynamics 365 for Case Management Enterprise Edition,DYN365_ENTERPRISE_CASE_MANAGEMENT,d39fb075-21ae-42d0-af80-22a2599749e0,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) +Dynamics 365 for Case Management Enterprise Edition,DYN365_ENTERPRISE_CASE_MANAGEMENT,d39fb075-21ae-42d0-af80-22a2599749e0,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,Power Apps for Dynamics 365 +Dynamics 365 for Case Management Enterprise Edition,DYN365_ENTERPRISE_CASE_MANAGEMENT,d39fb075-21ae-42d0-af80-22a2599749e0,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Power Automate for Dynamics 365 +Dynamics 365 for Case Management, Enterprise Edition for Government,D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,79bb0a8d-e686-4e16-ac59-2b3fd0014a61,Dynamics 365 for Case Management for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,PROJECT_ESSENTIALS_GOV,fdcb7064-f45c-46fa-b056-7e0e9fdf4bf3,Project Online Essentials for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G +Dynamics 365 for Case Management, Enterprise Edition for Government,D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,FLOW_DYN_APPS_GOV,2c6af4f1-e7b6-4d59-bbc8-eaa884f42d69,Power Automate for Dynamics 365 for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,D365_ENTERPRISE_CASE_MANAGEMENT_GOV,5cd0b796-9ac8-4792-9f0b-796ca9044e4a,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,79bb0a8d-e686-4e16-ac59-2b3fd0014a61,Dynamics 365 for Case Management for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User +Dynamics 365 for Case Management, Enterprise Edition for Government,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 for Case Management, Enterprise Edition for Government,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,PROJECT_ESSENTIALS_GOV,fdcb7064-f45c-46fa-b056-7e0e9fdf4bf3,Project Online Essentials for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G +Dynamics 365 for Case Management, Enterprise Edition for Government,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,FLOW_DYN_APPS_GOV,2c6af4f1-e7b6-4d59-bbc8-eaa884f42d69,Power Automate for Dynamics 365 for Government +Dynamics 365 for Case Management, Enterprise Edition for Government,DYN365_ENTERPRISE_CASE_MANAGEMENT_GOV,ff5a82be-1edd-4d48-94e0-52527825b589,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,DYN365_CDS_RETAIL,93cc200d-a47f-4c56-aec1-83f8b0d0425a,Common Data Service for Dynamics 365 Retail +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,FLOW_FOR_IOM_USL,9e6d1620-dce9-4655-8933-af8fa5bccc9c,Data Integration for IOM with Power Automate USL +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,CDS_FOR_IOM,2bb89402-51e9-4c5a-be33-e954a9dd1ba6,Dataverse for IOM +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,DYN365_RETAIL,117e3aa0-8d08-4a19-a6a5-90b7a96e2128,Dynamics 365 Commerce +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,DYN365_REGULATORY_SERVICE,c7657ae3-c0b0-4eed-8c1d-6a7967bd9c65,Dynamics 365 for Finance and Operations, Enterprise edition - Regulatory Service +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,DYN365_FP_ACC_PROTECTION,4c00c16c-0304-4421-b598-555c3e78edcb,Dynamics 365 Fraud Protection - Account Protection +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,DYN365_FP_LOSS_PREVENTION,ecc62904-fa88-4552-a62c-fe582fb31444,Dynamics 365 Fraud Protection - Loss Prevention +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,DYN365_FP_PURCH_PROTECTION,d703990f-006e-459b-b8dd-1267c4533a22,Dynamics 365 Fraud Protection - Purchase Protection +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,DYN365_IOM,616cf6e2-f52f-4738-b463-10003061fcd3,Dynamics 365 Intelligent Order Management +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,DYN365_IOM_USER,81375e2f-5ef7-4773-96aa-e3279f50bd21,Dynamics 365 Intelligent Order Management USL +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,Power Apps for Dynamics 365 +Dynamics 365 Commerce,DYN365_RETAIL,79909bd8-4c69-4202-939e-11bc4385b134,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Power Automate for Dynamics 365 +Dynamics 365 for Customer Service Chat,DYN365_CS_CHAT,7d7af6c2-0be6-46df-84d1-c181b0272909,DYN365_CS_CHAT_FPA,426ec19c-d5b1-4548-b894-6fe75028c30d,Dynamics 365 Customer Service Chat Application Integration +Dynamics 365 for Customer Service Chat,DYN365_CS_CHAT,7d7af6c2-0be6-46df-84d1-c181b0272909,DYN365_CS_CHAT,f69129db-6dc1-4107-855e-0aaebbcd9dd4,Dynamics 365 for Customer Service Chat +Dynamics 365 for Customer Service Chat,DYN365_CS_CHAT,7d7af6c2-0be6-46df-84d1-c181b0272909,POWER_VIRTUAL_AGENTS_D365_CS_CHAT,19e4c3a8-3ebe-455f-a294-4f3479873ae3,Power Virtual Agents for Chat +Dynamics 365 for Customer Service Chat,DYN365_CS_CHAT,7d7af6c2-0be6-46df-84d1-c181b0272909,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 for Customer Service Enterprise Edition,DYN365_ENTERPRISE_CUSTOMER_SERVICE,749742bf-0d37-4158-a120-33567104deeb,D365_CSI_EMBED_CSEnterprise,5b1e5982-0e88-47bb-a95e-ae6085eda612,Dynamics 365 Customer Service Insights for CS Enterprise +Dynamics 365 for Customer Service Enterprise Edition,DYN365_ENTERPRISE_CUSTOMER_SERVICE,749742bf-0d37-4158-a120-33567104deeb,DYN365_ENTERPRISE_CUSTOMER_SERVICE,99340b49-fb81-4b1e-976b-8f2ae8e9394f,MICROSOFT SOCIAL ENGAGEMENT - SERVICE DISCONTINUATION +Dynamics 365 for Customer Service Enterprise Edition,DYN365_ENTERPRISE_CUSTOMER_SERVICE,749742bf-0d37-4158-a120-33567104deeb,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 for Customer Service Enterprise Edition,DYN365_ENTERPRISE_CUSTOMER_SERVICE,749742bf-0d37-4158-a120-33567104deeb,Forms_Pro_Service,67bf4812-f90b-4db9-97e7-c0bbbf7b2d09,Microsoft Dynamics 365 Customer Voice for Customer Service Enterprise +Dynamics 365 for Customer Service Enterprise Edition,DYN365_ENTERPRISE_CUSTOMER_SERVICE,749742bf-0d37-4158-a120-33567104deeb,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,PROJECT ONLINE ESSENTIALS +Dynamics 365 for Customer Service Enterprise Edition,DYN365_ENTERPRISE_CUSTOMER_SERVICE,749742bf-0d37-4158-a120-33567104deeb,NBENTERPRISE,03acaee3-9492-4f40-aed4-bcb6b32981b6,SHAREPOINT ONLINE (PLAN 2) +Dynamics 365 for Customer Service Enterprise Edition,DYN365_ENTERPRISE_CUSTOMER_SERVICE,749742bf-0d37-4158-a120-33567104deeb,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,FLOW FOR DYNAMICS 365 +Dynamics 365 for Customer Service Enterprise Edition,DYN365_ENTERPRISE_CUSTOMER_SERVICE,749742bf-0d37-4158-a120-33567104deeb,PROJECT_ESSENTIALS,1259157c-8581-4875-bca7-2ffb18c51bda,POWERAPPS FOR DYNAMICS 365 +Dynamics 365 for Customer Service Enterprise Edition,DYN365_ENTERPRISE_CUSTOMER_SERVICE,749742bf-0d37-4158-a120-33567104deeb,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,DYNAMICS 365 FOR CUSTOMER SERVICE +Dynamics 365 for Customer Service Enterprise Edition,DYN365_ENTERPRISE_CUSTOMER_SERVICE,749742bf-0d37-4158-a120-33567104deeb,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,OFFICE ONLINE +Dynamics 365 for Customer Service, Enterprise Edition for Government,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,dc6643d9-1e72-4dce-9f64-1d6eac1f1c5a,Dynamics 365 for Customer Service for Government +Dynamics 365 for Customer Service, Enterprise Edition for Government,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,Forms_Pro_Service_GCC,bb681a9b-58f5-42ee-9926-674325be8aaa,Microsoft Dynamics 365 Customer Voice for Customer Service Enterprise for GCC +Dynamics 365 for Customer Service, Enterprise Edition for Government,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 for Customer Service, Enterprise Edition for Government,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government +Dynamics 365 for Customer Service, Enterprise Edition for Government,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,PROJECT_ESSENTIALS_GOV,fdcb7064-f45c-46fa-b056-7e0e9fdf4bf3,Project Online Essentials for Government +Dynamics 365 for Customer Service, Enterprise Edition for Government,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G +Dynamics 365 for Customer Service, Enterprise Edition for Government,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,FLOW_DYN_APPS_GOV,2c6af4f1-e7b6-4d59-bbc8-eaa884f42d69,Power Automate for Dynamics 365 for Government +Dynamics 365 for Customer Service, Enterprise Edition for Government,DYN365_ENTERPRISE_CUSTOMER_SERVICE_GOV,3c74d823-8f01-4fe8-82d5-f089a5504cec,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government +Dynamics 365 for Field Service Attach to Qualifying Dynamics 365 Base Offer,D365_FIELD_SERVICE_ATTACH,a36cdaa2-a806-4b6e-9ae0-28dbd993c20e,D365_FIELD_SERVICE_ATTACH,55c9148b-d5f0-4101-b5a0-b2727cfc0916,Dynamics 365 for Field Service Attach +Dynamics 365 for Field Service Attach to Qualifying Dynamics 365 Base Offer,D365_FIELD_SERVICE_ATTACH,a36cdaa2-a806-4b6e-9ae0-28dbd993c20e,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 for Field Service Enterprise Edition,DYN365_ENTERPRISE_FIELD_SERVICE,c7d15985-e746-4f01-b113-20b575898250,DYN365_ENTERPRISE_FIELD_SERVICE,8c66ef8a-177f-4c0d-853c-d4f219331d09,Dynamics 365 for Field Service +Dynamics 365 for Field Service Enterprise Edition,DYN365_ENTERPRISE_FIELD_SERVICE,c7d15985-e746-4f01-b113-20b575898250,Forms_Pro_FS,9c439259-63b0-46cc-a258-72be4313a42d,Microsoft Dynamics 365 Customer Voice for Field Service +Dynamics 365 for Field Service Enterprise Edition,DYN365_ENTERPRISE_FIELD_SERVICE,c7d15985-e746-4f01-b113-20b575898250,NBENTERPRISE,03acaee3-9492-4f40-aed4-bcb6b32981b6,Retired - Microsoft Social Engagement +Dynamics 365 for Field Service Enterprise Edition,DYN365_ENTERPRISE_FIELD_SERVICE,c7d15985-e746-4f01-b113-20b575898250,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 for Field Service Enterprise Edition,DYN365_ENTERPRISE_FIELD_SERVICE,c7d15985-e746-4f01-b113-20b575898250,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Dynamics 365 for Field Service Enterprise Edition,DYN365_ENTERPRISE_FIELD_SERVICE,c7d15985-e746-4f01-b113-20b575898250,PROJECT_ESSENTIALS,1259157c-8581-4875-bca7-2ffb18c51bda,Project Online Essentials +Dynamics 365 for Field Service Enterprise Edition,DYN365_ENTERPRISE_FIELD_SERVICE,c7d15985-e746-4f01-b113-20b575898250,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) +Dynamics 365 for Field Service Enterprise Edition,DYN365_ENTERPRISE_FIELD_SERVICE,c7d15985-e746-4f01-b113-20b575898250,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,Power Apps for Dynamics 365 +Dynamics 365 for Field Service Enterprise Edition,DYN365_ENTERPRISE_FIELD_SERVICE,c7d15985-e746-4f01-b113-20b575898250,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Power Automate for Dynamics 365 +Dynamics 365 for Field Service Enterprise Edition for Government,DYN365_ENTERPRISE_FIELD_SERVICE_GOV,c3d74ead-70b7-4513-8dce-797be3fbe07a,DYN365_ENTERPRISE_FIELD_SERVICE_GOV,a9a5be2d-17dd-4d43-ba78-9391e11d20a7,Dynamics 365 for Field Service for Government +Dynamics 365 for Field Service Enterprise Edition for Government,DYN365_ENTERPRISE_FIELD_SERVICE_GOV,c3d74ead-70b7-4513-8dce-797be3fbe07a,Forms_Pro_FS_GCC,638862ef-afb3-46e4-b292-ed0aad759476,Microsoft Dynamics 365 Customer Voice for Field Service for GCC +Dynamics 365 for Field Service Enterprise Edition for Government,DYN365_ENTERPRISE_FIELD_SERVICE_GOV,c3d74ead-70b7-4513-8dce-797be3fbe07a,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 for Field Service Enterprise Edition for Government,DYN365_ENTERPRISE_FIELD_SERVICE_GOV,c3d74ead-70b7-4513-8dce-797be3fbe07a,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government +Dynamics 365 for Field Service Enterprise Edition for Government,DYN365_ENTERPRISE_FIELD_SERVICE_GOV,c3d74ead-70b7-4513-8dce-797be3fbe07a,PROJECT_ESSENTIALS_GOV,fdcb7064-f45c-46fa-b056-7e0e9fdf4bf3,Project Online Essentials for Government +Dynamics 365 for Field Service Enterprise Edition for Government,DYN365_ENTERPRISE_FIELD_SERVICE_GOV,c3d74ead-70b7-4513-8dce-797be3fbe07a,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G +Dynamics 365 for Field Service Enterprise Edition for Government,DYN365_ENTERPRISE_FIELD_SERVICE_GOV,c3d74ead-70b7-4513-8dce-797be3fbe07a,FLOW_DYN_APPS_GOV,2c6af4f1-e7b6-4d59-bbc8-eaa884f42d69,Power Automate for Dynamics 365 for Government +Dynamics 365 for Field Service Enterprise Edition for Government,DYN365_ENTERPRISE_FIELD_SERVICE_GOV,c3d74ead-70b7-4513-8dce-797be3fbe07a,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government +Dynamics 365 for Field Service for Government,D365_ENTERPRISE_FIELD_SERVICE_GOV,8eac9119-7e6b-4278-9dc4-e3458993b08a,DYN365_ENTERPRISE_FIELD_SERVICE_GOV,a9a5be2d-17dd-4d43-ba78-9391e11d20a7,Dynamics 365 for Field Service for Government +Dynamics 365 for Field Service for Government,D365_ENTERPRISE_FIELD_SERVICE_GOV,8eac9119-7e6b-4278-9dc4-e3458993b08a,Forms_Pro_FS_GCC,638862ef-afb3-46e4-b292-ed0aad759476,Microsoft Dynamics 365 Customer Voice for Field Service for GCC +Dynamics 365 for Field Service for Government,D365_ENTERPRISE_FIELD_SERVICE_GOV,8eac9119-7e6b-4278-9dc4-e3458993b08a,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User +Dynamics 365 for Field Service for Government,D365_ENTERPRISE_FIELD_SERVICE_GOV,8eac9119-7e6b-4278-9dc4-e3458993b08a,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government +Dynamics 365 for Field Service for Government,D365_ENTERPRISE_FIELD_SERVICE_GOV,8eac9119-7e6b-4278-9dc4-e3458993b08a,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government +Dynamics 365 for Field Service for Government,D365_ENTERPRISE_FIELD_SERVICE_GOV,8eac9119-7e6b-4278-9dc4-e3458993b08a,PROJECT_ESSENTIALS_GOV,fdcb7064-f45c-46fa-b056-7e0e9fdf4bf3,Project Online Essentials for Government +Dynamics 365 for Field Service for Government,D365_ENTERPRISE_FIELD_SERVICE_GOV,8eac9119-7e6b-4278-9dc4-e3458993b08a,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G +Dynamics 365 for Field Service for Government,D365_ENTERPRISE_FIELD_SERVICE_GOV,8eac9119-7e6b-4278-9dc4-e3458993b08a,FLOW_DYN_APPS_GOV,2c6af4f1-e7b6-4d59-bbc8-eaa884f42d69,Power Automate for Dynamics 365 for Government +Dynamics 365 for Field Service for Government,D365_ENTERPRISE_FIELD_SERVICE_GOV,8eac9119-7e6b-4278-9dc4-e3458993b08a,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government +Dynamics 365 for Financials Business Edition,DYN365_FINANCIALS_BUSINESS_SKU,cc13a803-544e-4464-b4e4-6d6169a138fa,DYN365_FINANCIALS_BUSINESS,920656a2-7dd8-4c83-97b6-a356414dbd36,FLOW FOR DYNAMICS 365 +Dynamics 365 for Financials Business Edition,DYN365_FINANCIALS_BUSINESS_SKU,cc13a803-544e-4464-b4e4-6d6169a138fa,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,POWERAPPS FOR DYNAMICS 365 +Dynamics 365 for Financials Business Edition,DYN365_FINANCIALS_BUSINESS_SKU,cc13a803-544e-4464-b4e4-6d6169a138fa,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,DYNAMICS 365 FOR FINANCIALS +Dynamics 365 Guides vTrial,Dynamics_365_Guides_vTrial,99cb3f83-fbec-4aa1-8262-9679e6df7c53,D365_GUIDES_VIRAL_TRIAL,fe986032-d840-4817-82d4-51fe4fbbe163,Dynamics 365 Guides vTrial +Dynamics 365 Guides vTrial,Dynamics_365_Guides_vTrial,99cb3f83-fbec-4aa1-8262-9679e6df7c53,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Guides vTrial,Dynamics_365_Guides_vTrial,99cb3f83-fbec-4aa1-8262-9679e6df7c53,DYN365_CDS_VIRAL,17ab22cd-a0b3-4536-910a-cb6eb12696c0,Common Data Service +Dynamics 365 Guides vTrial,Dynamics_365_Guides_vTrial,99cb3f83-fbec-4aa1-8262-9679e6df7c53,POWER_APPS_DYN365_VIRAL_TRIAL_MIXED_REALITY,066e2fd1-ba15-40e7-aa96-d6636b1cdf71,Power Apps for Dynamics 365 Mixed Reality +Dynamics 365 Guides vTrial,Dynamics_365_Guides_vTrial,99cb3f83-fbec-4aa1-8262-9679e6df7c53,POWER_AUTOMATE_DYN365_VIRAL_TRIAL_MIXED_REALITY,26fa8a18-2812-4b3d-96b4-864818ce26be,Power Automate for Dynamics 365 Mixed Reality +Dynamics 365 Hybrid Connector,CRM_HYBRIDCONNECTOR,de176c31-616d-4eae-829a-718918d7ec23,CRM_HYBRIDCONNECTOR,0210d5c8-49d2-4dd1-a01b-a91c7c14e0bf,CRM Hybrid Connector +Dynamics 365 Hybrid Connector,CRM_HYBRIDCONNECTOR,de176c31-616d-4eae-829a-718918d7ec23,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 for Marketing Additional Application,DYN365_MARKETING_APPLICATION_ADDON,99c5688b-6c75-4496-876f-07f0fbd69add,DYN365_MARKETING_APPLICATION_ADDON,51cf0638-4861-40c0-8b20-1161ab2f80be,Dynamics 365 for Marketing Additional Application +Dynamics 365 for Marketing Additional Application,DYN365_MARKETING_APPLICATION_ADDON,99c5688b-6c75-4496-876f-07f0fbd69add,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 for Marketing Addnl Contacts Tier 3,DYN365_MARKETING_CONTACT_ADDON_T3,23053933-0fda-431f-9a5b-a00fd78444c1,DYN365_MARKETING_50K_CONTACT_ADDON,e626a4ec-1ba2-409e-bf75-9bc0bc30cca7,Dynamics 365 for Marketing 50K Addnl Contacts +Dynamics 365 for Marketing Addnl Contacts Tier 3,DYN365_MARKETING_CONTACT_ADDON_T3,23053933-0fda-431f-9a5b-a00fd78444c1,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 for Marketing Addnl Contacts Tier 5,DYN365_MARKETING_CONTACT_ADDON_T5,d8eec316-778c-4f14-a7d1-a0aca433b4e7,DYN365_MARKETING_50K_CONTACT_ADDON,e626a4ec-1ba2-409e-bf75-9bc0bc30cca7,Dynamics 365 for Marketing 50K Addnl Contacts +Dynamics 365 for Marketing Addnl Contacts Tier 5,DYN365_MARKETING_CONTACT_ADDON_T5,d8eec316-778c-4f14-a7d1-a0aca433b4e7,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 for Marketing Additional Non-Prod Application,DYN365_MARKETING_SANDBOX_APPLICATION_ADDON,c393e9bd-2335-4b46-8b88-9e2a86a85ec1,DYN365_MARKETING_SANDBOX_APPLICATION_ADDON,1599de10-5250-4c95-acf2-491f74edce48,Dynamics 365 Marketing Sandbox Application AddOn +Dynamics 365 for Marketing Attach,DYN365_MARKETING_APP_ATTACH,85430fb9-02e8-48be-9d7e-328beb41fa29,DYN365_MARKETING_APP,a3a4fa10-5092-401a-af30-0462a95a7ac8,Dynamics 365 for Marketing +Dynamics 365 for Marketing Attach,DYN365_MARKETING_APP_ATTACH,85430fb9-02e8-48be-9d7e-328beb41fa29,Forms_Pro_Marketing_App,22b657cf-0a9e-467b-8a91-5e31f21bc570,Microsoft Dynamics 365 Customer Voice for Marketing Application +Dynamics 365 for Marketing Attach,DYN365_MARKETING_APP_ATTACH,85430fb9-02e8-48be-9d7e-328beb41fa29,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 for Marketing USL,D365_MARKETING_USER,4b32a493-9a67-4649-8eb9-9fc5a5f75c12,DYN365_MARKETING_MSE_USER,2824c69a-1ac5-4397-8592-eae51cb8b581,Dynamics 365 for Marketing MSE User +Dynamics 365 for Marketing USL,D365_MARKETING_USER,4b32a493-9a67-4649-8eb9-9fc5a5f75c12,DYN365_MARKETING_USER,5d7a6abc-eebd-46ab-96e1-e4a2f54a2248,Dynamics 365 for Marketing USL +Dynamics 365 for Marketing USL,D365_MARKETING_USER,4b32a493-9a67-4649-8eb9-9fc5a5f75c12,Forms_Pro_Marketing,76366ba0-d230-47aa-8087-b6d55dae454f,Microsoft Dynamics 365 Customer Voice for Marketing +Dynamics 365 for Marketing USL,D365_MARKETING_USER,4b32a493-9a67-4649-8eb9-9fc5a5f75c12,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Operations – Activity,Dyn365_Operations_Activity,b75074f1-4c54-41bf-970f-c9ac871567f5,DYN365_RETAIL_Activity,f06754ec-6d72-4bf6-991c-4cb5413d9932,Dynamics 365 for Retail Activity +Dynamics 365 Operations – Activity,Dyn365_Operations_Activity,b75074f1-4c54-41bf-970f-c9ac871567f5,DYN365_Enterprise_Talent_Attract_Activity,aac5a56b-b02e-4608-8014-b076646d4011,Dynamics 365 for Talent - Attract Experience Activity +Dynamics 365 Operations – Activity,Dyn365_Operations_Activity,b75074f1-4c54-41bf-970f-c9ac871567f5,DYN365_Enterprise_Talent_Onboard_Activity,db225597-e9c2-4d96-8ace-5424744c80f8,Dynamics 365 for Talent - Onboard Experience +Dynamics 365 Operations – Activity,Dyn365_Operations_Activity,b75074f1-4c54-41bf-970f-c9ac871567f5,Dynamics_365_for_Talent_Activity,1f87ee90-5c3a-4cf9-b6fd-e3e8017c26ec,Dynamics 365 for Talent Activity +Dynamics 365 Operations – Activity,Dyn365_Operations_Activity,b75074f1-4c54-41bf-970f-c9ac871567f5,Dynamics_365_for_Operations_Activity,6bddf93e-d6f4-4991-b9fc-30cfdf07ee7b,Dynamics365 for Operations Activity +Dynamics 365 Operations – Activity,Dyn365_Operations_Activity,b75074f1-4c54-41bf-970f-c9ac871567f5,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Project Operations Attach,DYN365_PROJECT_OPERATIONS_ATTACH,af739e8e-dd11-4eb5-a986-5908f595c603,D365CDSforProjectOperations,7df1d500-ca5c-4229-8cea-815bc88798c9,Common Data Service for Dynamics 365 Project Operations +Dynamics 365 Project Operations Attach,DYN365_PROJECT_OPERATIONS_ATTACH,af739e8e-dd11-4eb5-a986-5908f595c603,D365_ProjectOperationsCDSAttach,e564d403-7eaf-4c91-b92f-bb0dc62026e1,Dynamics 365 Project Operations CDS Attach +Dynamics 365 Project Operations Attach,DYN365_PROJECT_OPERATIONS_ATTACH,af739e8e-dd11-4eb5-a986-5908f595c603,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User +Dynamics 365 Project Operations Attach,DYN365_PROJECT_OPERATIONS_ATTACH,af739e8e-dd11-4eb5-a986-5908f595c603,D365_ProjectOperations,69f07c66-bee4-4222-b051-195095efee5b,Dynamics 365 Project Operations +Dynamics 365 Project Operations Attach,DYN365_PROJECT_OPERATIONS_ATTACH,af739e8e-dd11-4eb5-a986-5908f595c603,D365_ProjectOperationsAttach,fa7675bd-6717-40e7-8172-d0bbcbe1ab12,Dynamics 365 Project Operations Attach +Dynamics 365 Project Operations Attach,DYN365_PROJECT_OPERATIONS_ATTACH,af739e8e-dd11-4eb5-a986-5908f595c603,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Project Operations Attach,DYN365_PROJECT_OPERATIONS_ATTACH,af739e8e-dd11-4eb5-a986-5908f595c603,PROJECT_FOR_PROJECT_OPERATIONS_ATTACH,6d8e07c6-9613-484f-8cc1-a66c5c3979bb,Project for Project Operations Attach +Dynamics 365 Project Operations Attach,DYN365_PROJECT_OPERATIONS_ATTACH,af739e8e-dd11-4eb5-a986-5908f595c603,SHAREPOINTSTANDARD,c7699d2e-19aa-44de-8edf-1736da088ca1,SharePoint (Plan 1) +Dynamics 365 for Project Service Automation Enterprise Edition for Government,DYN365_ENTERPRISE_PROJECT_SERVICE_AUTOMATION_GOV,1ec19b5f-7542-4b20-b01f-fb5d3f040e2d,DYN365_ENTERPRISE_PROJECT_SERVICE_AUTOMATION_GOV,1d8c8e0e-4308-4db5-8a41-b129dbdaea20,Dynamics 365 for Project Service Automation for Government +Dynamics 365 for Project Service Automation Enterprise Edition for Government,DYN365_ENTERPRISE_PROJECT_SERVICE_AUTOMATION_GOV,1ec19b5f-7542-4b20-b01f-fb5d3f040e2d,Forms_Pro_PS_GCC,e98256c5-17d0-4987-becc-e991c52d55c6,Microsoft Dynamics 365 Customer Voice for Project Service Automation for GCC +Dynamics 365 for Project Service Automation Enterprise Edition for Government,DYN365_ENTERPRISE_PROJECT_SERVICE_AUTOMATION_GOV,1ec19b5f-7542-4b20-b01f-fb5d3f040e2d,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 for Project Service Automation Enterprise Edition for Government,DYN365_ENTERPRISE_PROJECT_SERVICE_AUTOMATION_GOV,1ec19b5f-7542-4b20-b01f-fb5d3f040e2d,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government +Dynamics 365 for Project Service Automation Enterprise Edition for Government,DYN365_ENTERPRISE_PROJECT_SERVICE_AUTOMATION_GOV,1ec19b5f-7542-4b20-b01f-fb5d3f040e2d,PROJECT_CLIENT_SUBSCRIPTION_GOV,45c6831b-ad74-4c7f-bd03-7c2b3fa39067,Project Online Desktop Client +Dynamics 365 for Project Service Automation Enterprise Edition for Government,DYN365_ENTERPRISE_PROJECT_SERVICE_AUTOMATION_GOV,1ec19b5f-7542-4b20-b01f-fb5d3f040e2d,SHAREPOINT_PROJECT_GOV,e57afa78-1f19-4542-ba13-b32cd4d8f472,Project Online Service for Government +Dynamics 365 for Project Service Automation Enterprise Edition for Government,DYN365_ENTERPRISE_PROJECT_SERVICE_AUTOMATION_GOV,1ec19b5f-7542-4b20-b01f-fb5d3f040e2d,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G +Dynamics 365 for Project Service Automation Enterprise Edition for Government,DYN365_ENTERPRISE_PROJECT_SERVICE_AUTOMATION_GOV,1ec19b5f-7542-4b20-b01f-fb5d3f040e2d,FLOW_DYN_APPS_GOV,2c6af4f1-e7b6-4d59-bbc8-eaa884f42d69,Power Automate for Dynamics 365 for Government +Dynamics 365 for Project Service Automation Enterprise Edition for Government,DYN365_ENTERPRISE_PROJECT_SERVICE_AUTOMATION_GOV,1ec19b5f-7542-4b20-b01f-fb5d3f040e2d,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government +Dynamics 365 for Sales and Customer Service Enterprise Edition,DYN365_ENTERPRISE_SALES_CUSTOMERSERVICE,8edc2cf8-6438-4fa9-b6e3-aa1660c640cc,DYN365_ENTERPRISE_P1,d56f3deb-50d8-465a-bedb-f079817ccac1,DYNAMICS 365 CUSTOMER ENGAGEMENT PLAN +Dynamics 365 for Sales and Customer Service Enterprise Edition,DYN365_ENTERPRISE_SALES_CUSTOMERSERVICE,8edc2cf8-6438-4fa9-b6e3-aa1660c640cc,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,FLOW FOR DYNAMICS 365 +Dynamics 365 for Sales and Customer Service Enterprise Edition,DYN365_ENTERPRISE_SALES_CUSTOMERSERVICE,8edc2cf8-6438-4fa9-b6e3-aa1660c640cc,NBENTERPRISE,03acaee3-9492-4f40-aed4-bcb6b32981b6,MICROSOFT SOCIAL ENGAGEMENT - SERVICE DISCONTINUATION +Dynamics 365 for Sales and Customer Service Enterprise Edition,DYN365_ENTERPRISE_SALES_CUSTOMERSERVICE,8edc2cf8-6438-4fa9-b6e3-aa1660c640cc,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,POWERAPPS FOR DYNAMICS 365 +Dynamics 365 for Sales and Customer Service Enterprise Edition,DYN365_ENTERPRISE_SALES_CUSTOMERSERVICE,8edc2cf8-6438-4fa9-b6e3-aa1660c640cc,PROJECT_ESSENTIALS,1259157c-8581-4875-bca7-2ffb18c51bda,PROJECT ONLINE ESSENTIALS +Dynamics 365 for Sales and Customer Service Enterprise Edition,DYN365_ENTERPRISE_SALES_CUSTOMERSERVICE,8edc2cf8-6438-4fa9-b6e3-aa1660c640cc,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SHAREPOINT ONLINE (PLAN 2) +Dynamics 365 for Sales and Customer Service Enterprise Edition,DYN365_ENTERPRISE_SALES_CUSTOMERSERVICE,8edc2cf8-6438-4fa9-b6e3-aa1660c640cc,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,OFFICE ONLINE +Dynamics 365 for Sales Enterprise Edition,DYN365_ENTERPRISE_SALES,1e1a282c-9c54-43a2-9310-98ef728faace,DYN365_ENTERPRISE_SALES,2da8e897-7791-486b-b08f-cc63c8129df7,DYNAMICS 365 FOR SALES +Dynamics 365 for Sales Enterprise Edition,DYN365_ENTERPRISE_SALES,1e1a282c-9c54-43a2-9310-98ef728faace,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,FLOW FOR DYNAMICS 365 +Dynamics 365 for Sales Enterprise Edition,DYN365_ENTERPRISE_SALES,1e1a282c-9c54-43a2-9310-98ef728faace,NBENTERPRISE,03acaee3-9492-4f40-aed4-bcb6b32981b6,MICROSOFT SOCIAL ENGAGEMENT - SERVICE DISCONTINUATION +Dynamics 365 for Sales Enterprise Edition,DYN365_ENTERPRISE_SALES,1e1a282c-9c54-43a2-9310-98ef728faace,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,POWERAPPS FOR DYNAMICS 365 +Dynamics 365 for Sales Enterprise Edition,DYN365_ENTERPRISE_SALES,1e1a282c-9c54-43a2-9310-98ef728faace,PROJECT_ESSENTIALS,1259157c-8581-4875-bca7-2ffb18c51bda,PROJECT ONLINE ESSENTIALS +Dynamics 365 for Sales Enterprise Edition,DYN365_ENTERPRISE_SALES,1e1a282c-9c54-43a2-9310-98ef728faace,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SHAREPOINT ONLINE (PLAN 2) +Dynamics 365 for Sales Enterprise Edition,DYN365_ENTERPRISE_SALES,1e1a282c-9c54-43a2-9310-98ef728faace,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,OFFICE ONLINE +Dynamics 365 for Sales, Enterprise Edition for Government,DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,DYN365_ENTERPRISE_SALES_GOV,213be507-d547-4f79-bc2c-6196bc54c4a3,Dynamics 365 for Sales for Government +Dynamics 365 for Sales, Enterprise Edition for Government,DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 for Sales, Enterprise Edition for Government,DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government +Dynamics 365 for Sales, Enterprise Edition for Government,DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,PROJECT_ESSENTIALS_GOV,fdcb7064-f45c-46fa-b056-7e0e9fdf4bf3,Project Online Essentials for Government +Dynamics 365 for Sales, Enterprise Edition for Government,DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G +Dynamics 365 for Sales, Enterprise Edition for Government,DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,FLOW_DYN_APPS_GOV,2c6af4f1-e7b6-4d59-bbc8-eaa884f42d69,Power Automate for Dynamics 365 for Government +Dynamics 365 for Sales, Enterprise Edition for Government,DYN365_ENTERPRISE_SALES_GOV,28b275ce-aec7-4c26-82e2-1ffbc2746ad4,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government +Dynamics 365 for Sales Enterprise for Government,D365_ENTERPRISE_SALES_GOV,e85b3345-2fd5-45cf-a196-7968d3e18e56,DYN365_ENTERPRISE_SALES_GOV,213be507-d547-4f79-bc2c-6196bc54c4a3,Dynamics 365 for Sales for Government +Dynamics 365 for Sales Enterprise for Government,D365_ENTERPRISE_SALES_GOV,e85b3345-2fd5-45cf-a196-7968d3e18e56,Forms_Pro_SalesEnt_GCC,33850b82-0a37-4ebb-a0b2-ee163facd716,Microsoft Dynamics 365 Customer Voice for Sales Enterprise for GCC +Dynamics 365 for Sales Enterprise for Government,D365_ENTERPRISE_SALES_GOV,e85b3345-2fd5-45cf-a196-7968d3e18e56,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User +Dynamics 365 for Sales Enterprise for Government,D365_ENTERPRISE_SALES_GOV,e85b3345-2fd5-45cf-a196-7968d3e18e56,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government +Dynamics 365 for Sales Enterprise for Government,D365_ENTERPRISE_SALES_GOV,e85b3345-2fd5-45cf-a196-7968d3e18e56,Microsoft_Viva_Sales_PremiumTrial,8ba1ff15-7bf6-4620-b65c-ecedb6942766,Microsoft Viva Sales Premium & Trial +Dynamics 365 for Sales Enterprise for Government,D365_ENTERPRISE_SALES_GOV,e85b3345-2fd5-45cf-a196-7968d3e18e56,Microsoft_Viva_Sales_PowerAutomate,a933a62f-c3fb-48e5-a0b7-ac92b94b4420,Microsoft Viva Sales Premium with Power Automate +Dynamics 365 for Sales Enterprise for Government,D365_ENTERPRISE_SALES_GOV,e85b3345-2fd5-45cf-a196-7968d3e18e56,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government +Dynamics 365 for Sales Enterprise for Government,D365_ENTERPRISE_SALES_GOV,e85b3345-2fd5-45cf-a196-7968d3e18e56,PROJECT_ESSENTIALS_GOV,fdcb7064-f45c-46fa-b056-7e0e9fdf4bf3,Project Online Essentials for Government +Dynamics 365 for Sales Enterprise for Government,D365_ENTERPRISE_SALES_GOV,e85b3345-2fd5-45cf-a196-7968d3e18e56,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G +Dynamics 365 for Sales Enterprise for Government,D365_ENTERPRISE_SALES_GOV,e85b3345-2fd5-45cf-a196-7968d3e18e56,FLOW_DYN_APPS_GOV,2c6af4f1-e7b6-4d59-bbc8-eaa884f42d69,Power Automate for Dynamics 365 for Government +Dynamics 365 for Sales Enterprise for Government,D365_ENTERPRISE_SALES_GOV,e85b3345-2fd5-45cf-a196-7968d3e18e56,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government +Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox,Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,DYN365_ENTERPRISE_P1,d56f3deb-50d8-465a-bedb-f079817ccac1,Dynamics 365 Customer Engagement Plan +Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox,Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,Forms_Pro_Service,67bf4812-f90b-4db9-97e7-c0bbbf7b2d09,Microsoft Dynamics 365 Customer Voice for Customer Service Enterprise +Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox,Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,Power Apps for Dynamics 365 +Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox,Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Power Automate for Dynamics 365 +Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox,Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Sales, Field Service and Customer Service Partner Sandbox,Dynamics_365_Sales_Field_Service_and_Customer_Service_Partner_Sandbox,494721b8-1f30-4315-aba6-70ca169358d9,PROJECT_ESSENTIALS,1259157c-8581-4875-bca7-2ffb18c51bda,Project Online Essentials +Dynamics 365 Sales Premium,DYN365_SALES_PREMIUM,2edaa1dc-966d-4475-93d6-8ee8dfd96877,DYN365_SALES_INSIGHTS,fedc185f-0711-4cc0-80ed-0a92da1a8384,Dynamics 365 AI for Sales (Embedded) +Dynamics 365 Sales Premium,DYN365_SALES_PREMIUM,2edaa1dc-966d-4475-93d6-8ee8dfd96877,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) +Dynamics 365 Sales Premium,DYN365_SALES_PREMIUM,2edaa1dc-966d-4475-93d6-8ee8dfd96877,PROJECT_ESSENTIALS,1259157c-8581-4875-bca7-2ffb18c51bda,Project Online Essentials +Dynamics 365 Sales Premium,DYN365_SALES_PREMIUM,2edaa1dc-966d-4475-93d6-8ee8dfd96877,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Dynamics 365 Sales Premium,DYN365_SALES_PREMIUM,2edaa1dc-966d-4475-93d6-8ee8dfd96877,Microsoft_Viva_Sales_PowerAutomate,a933a62f-c3fb-48e5-a0b7-ac92b94b4420,Microsoft Viva Sales Premium with Power Automate +Dynamics 365 Sales Premium,DYN365_SALES_PREMIUM,2edaa1dc-966d-4475-93d6-8ee8dfd96877,Microsoft_Viva_Sales_PremiumTrial,8ba1ff15-7bf6-4620-b65c-ecedb6942766,Microsoft Viva Sales Premium & Trial +Dynamics 365 Sales Premium,DYN365_SALES_PREMIUM,2edaa1dc-966d-4475-93d6-8ee8dfd96877,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Sales Premium,DYN365_SALES_PREMIUM,2edaa1dc-966d-4475-93d6-8ee8dfd96877,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Power Automate for Dynamics 365 +Dynamics 365 Sales Premium,DYN365_SALES_PREMIUM,2edaa1dc-966d-4475-93d6-8ee8dfd96877,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,Power Apps for Dynamics 365 +Dynamics 365 Sales Premium,DYN365_SALES_PREMIUM,2edaa1dc-966d-4475-93d6-8ee8dfd96877,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User +Dynamics 365 Sales Premium,DYN365_SALES_PREMIUM,2edaa1dc-966d-4475-93d6-8ee8dfd96877,Forms_Pro_SalesEnt,8839ef0e-91f1-4085-b485-62e06e7c7987,Microsoft Dynamics 365 Customer Voice for Sales Enterprise +Dynamics 365 Sales Premium,DYN365_SALES_PREMIUM,2edaa1dc-966d-4475-93d6-8ee8dfd96877,DYN365_ENTERPRISE_SALES,2da8e897-7791-486b-b08f-cc63c8129df7,Dynamics 365 for Sales +Dynamics 365 for Supply Chain Management Attach to Qualifying Dynamics 365 Base Offer,DYN365_SCM_ATTACH,090b4a96-8114-4c95-9c91-60e81ef53302,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User +Dynamics 365 for Supply Chain Management Attach to Qualifying Dynamics 365 Base Offer,DYN365_SCM_ATTACH,090b4a96-8114-4c95-9c91-60e81ef53302,DYN365_CDS_SUPPLYCHAINMANAGEMENT,b6a8b974-2956-4e14-ae81-f0384c363528,Common Data Service for Dynamics 365 Supply Chain Management +Dynamics 365 for Supply Chain Management Attach to Qualifying Dynamics 365 Base Offer,DYN365_SCM_ATTACH,090b4a96-8114-4c95-9c91-60e81ef53302,CDS_FOR_IOM,2bb89402-51e9-4c5a-be33-e954a9dd1ba6,Dataverse for IOM +Dynamics 365 for Supply Chain Management Attach to Qualifying Dynamics 365 Base Offer,DYN365_SCM_ATTACH,090b4a96-8114-4c95-9c91-60e81ef53302,DYN365_REGULATORY_SERVICE,c7657ae3-c0b0-4eed-8c1d-6a7967bd9c65,Dynamics 365 for Finance and Operations, Enterprise edition - Regulatory Service +Dynamics 365 for Supply Chain Management Attach to Qualifying Dynamics 365 Base Offer,DYN365_SCM_ATTACH,090b4a96-8114-4c95-9c91-60e81ef53302,D365_SCM_Attach,b21c777f-c2d5-486e-88f6-fc0a3e474271,Dynamics 365 for Supply Chain Management Attach +Dynamics 365 for Supply Chain Management Attach to Qualifying Dynamics 365 Base Offer,DYN365_SCM_ATTACH,090b4a96-8114-4c95-9c91-60e81ef53302,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 for Marketing Business Edition,DYN365_BUSINESS_MARKETING,238e2f8d-e429-4035-94db-6926be4ffe7b,DYN365_BUSINESS_Marketing,393a0c96-9ba1-4af0-8975-fa2f853a25ac,Dynamics 365 Marketing +Dynamics 365 for Marketing Business Edition,DYN365_BUSINESS_MARKETING,238e2f8d-e429-4035-94db-6926be4ffe7b,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Regulatory Service - Enterprise Edition Trial,DYN365_REGULATORY_SERVICE,7ed4877c-0863-4f69-9187-245487128d4f,DYN365_REGULATORY_SERVICE,c7657ae3-c0b0-4eed-8c1d-6a7967bd9c65,Dynamics 365 for Finance and Operations Enterprise edition - Regulatory Service +Dynamics 365 Regulatory Service - Enterprise Edition Trial,DYN365_REGULATORY_SERVICE,7ed4877c-0863-4f69-9187-245487128d4f,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Sales Premium Viral Trial,Dynamics_365_Sales_Premium_Viral_Trial,6ec92958-3cc1-49db-95bd-bc6b3798df71,CUSTOMER_VOICE_DYN365_VIRAL_TRIAL,dbe07046-af68-4861-a20d-1c8cbda9194f,Customer Voice for Dynamics 365 vTrial +Dynamics 365 Sales Premium Viral Trial,Dynamics_365_Sales_Premium_Viral_Trial,6ec92958-3cc1-49db-95bd-bc6b3798df71,DYN365_SALES_ENTERPRISE_VIRAL_TRIAL,7f636c80-0961-41b2-94da-9642ccf02de0,Dynamics 365 Sales Enterprise vTrial +Dynamics 365 Sales Premium Viral Trial,Dynamics_365_Sales_Premium_Viral_Trial,6ec92958-3cc1-49db-95bd-bc6b3798df71,DYN365_SALES_INSIGHTS_VIRAL_TRIAL,456747c0-cf1e-4b0d-940f-703a01b964cc,Dynamics 365 Sales Insights vTrial +Dynamics 365 Sales Premium Viral Trial,Dynamics_365_Sales_Premium_Viral_Trial,6ec92958-3cc1-49db-95bd-bc6b3798df71,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Sales Premium Viral Trial,Dynamics_365_Sales_Premium_Viral_Trial,6ec92958-3cc1-49db-95bd-bc6b3798df71,POWER_APPS_DYN365_VIRAL_TRIAL,54b37829-818e-4e3c-a08a-3ea66ab9b45d,Power Apps for Dynamics 365 vTrial +Dynamics 365 Sales Premium Viral Trial,Dynamics_365_Sales_Premium_Viral_Trial,6ec92958-3cc1-49db-95bd-bc6b3798df71,POWER_AUTOMATE_DYN365_VIRAL_TRIAL,81d4ecb8-0481-42fb-8868-51536c5aceeb,Power Automate for Dynamics 365 vTrial +Dynamics 365 For Sales Professional,D365_SALES_PRO,be9f9771-1c64-4618-9907-244325141096,DYN365_SALES_PRO,88d83950-ff78-4e85-aa66-abfc787f8090,Dynamics 365 for Sales Professional +Dynamics 365 For Sales Professional,D365_SALES_PRO,be9f9771-1c64-4618-9907-244325141096,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 For Sales Professional,D365_SALES_PRO,be9f9771-1c64-4618-9907-244325141096,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Dynamics 365 For Sales Professional,D365_SALES_PRO,be9f9771-1c64-4618-9907-244325141096,POWERAPPS_SALES_PRO,6f9f70ce-138d-49f8-bb8b-2e701b7dde75,Power Apps for Sales Pro +Dynamics 365 For Sales Professional,D365_SALES_PRO,be9f9771-1c64-4618-9907-244325141096,PROJECT_ESSENTIALS,f944d685-f762-4371-806d-a1f48e5bea13,Project Online Essentials +Dynamics 365 For Sales Professional,D365_SALES_PRO,be9f9771-1c64-4618-9907-244325141096,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2)Dynamics 365 for Sales Pro Attach +Dynamics 365 for Sales Professional for Government,D365_SALES_PRO_GOV,229fa362-9d30-4dbc-8110-21b77a7f9b26,DYN365_SALES_PRO_GOV,dd89efa0-5a55-4892-ba30-82e3f8008339,Dynamics 365 for Sales Professional for Government +Dynamics 365 for Sales Professional for Government,D365_SALES_PRO_GOV,229fa362-9d30-4dbc-8110-21b77a7f9b26,POWERAPPS_SALES_PRO_GOV,12cf31f8-754f-4efe-87a8-167c19e30831,Power Apps for Sales Pro for Government +Dynamics 365 for Sales Professional for Government,D365_SALES_PRO_GOV,229fa362-9d30-4dbc-8110-21b77a7f9b26,FLOW_SALES_PRO_GOV,e62ffe5b-7612-441f-a72d-c11cf456d33a,Power Automate for Sales Pro for Government +Dynamics 365 for Sales Professional for Government,D365_SALES_PRO_GOV,229fa362-9d30-4dbc-8110-21b77a7f9b26,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government +Dynamics 365 for Sales Professional for Government,D365_SALES_PRO_GOV,229fa362-9d30-4dbc-8110-21b77a7f9b26,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government +Dynamics 365 for Sales Professional for Government,D365_SALES_PRO_GOV,229fa362-9d30-4dbc-8110-21b77a7f9b26,PROJECT_ESSENTIALS_GOV,fdcb7064-f45c-46fa-b056-7e0e9fdf4bf3,Project Online Essentials for Government +Dynamics 365 for Sales Professional for Government,D365_SALES_PRO_GOV,229fa362-9d30-4dbc-8110-21b77a7f9b26,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G +Dynamics 365 For Sales Professional Trial,D365_SALES_PRO_IW,9c7bff7a-3715-4da7-88d3-07f57f8d0fb6,D365_SALES_PRO_IW,73f205fc-6b15-47a5-967e-9e64fdf72d0a,Dynamics 365 for Sales Professional Trial +Dynamics 365 For Sales Professional Trial,D365_SALES_PRO_IW,9c7bff7a-3715-4da7-88d3-07f57f8d0fb6,D365_SALES_PRO_IW_Trial,db39a47e-1f4f-462b-bf5b-2ec471fb7b88,Dynamics 365 for Sales Professional Trial +Dynamics 365 Sales Professional Attach to Qualifying Dynamics 365 Base Offer,D365_SALES_PRO_ATTACH,245e6bf9-411e-481e-8611-5c08595e2988,D365_SALES_PRO_ATTACH,065f3c64-0649-4ec7-9f47-ef5cf134c751,Dynamics 365 for Sales Pro Attach +Dynamics 365 Sales Professional Attach to Qualifying Dynamics 365 Base Offer,D365_SALES_PRO_ATTACH,245e6bf9-411e-481e-8611-5c08595e2988,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 for Supply Chain Management,DYN365_SCM,f2e48cb3-9da0-42cd-8464-4a54ce198ad0,DYN365_CDS_SUPPLYCHAINMANAGEMENT,b6a8b974-2956-4e14-ae81-f0384c363528,COMMON DATA SERVICE FOR DYNAMICS 365 SUPPLY CHAIN MANAGEMENT +Dynamics 365 for Supply Chain Management,DYN365_SCM,f2e48cb3-9da0-42cd-8464-4a54ce198ad0,DYN365_REGULATORY_SERVICE,c7657ae3-c0b0-4eed-8c1d-6a7967bd9c65,DYNAMICS 365 FOR FINANCE AND OPERATIONS ENTERPRISE EDITION - REGULATORY SERVICE +Dynamics 365 for Supply Chain Management,DYN365_SCM,f2e48cb3-9da0-42cd-8464-4a54ce198ad0,D365_SCM,1224eae4-0d91-474a-8a52-27ec96a63fe7,DYNAMICS 365 FOR SUPPLY CHAIN MANAGEMENT +Dynamics 365 for Supply Chain Management,DYN365_SCM,f2e48cb3-9da0-42cd-8464-4a54ce198ad0,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,EXCHANGE FOUNDATION +Dynamics 365 for Supply Chain Management,DYN365_SCM,f2e48cb3-9da0-42cd-8464-4a54ce198ad0,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,FLOW FOR DYNAMICS 365 +Dynamics 365 for Supply Chain Management,DYN365_SCM,f2e48cb3-9da0-42cd-8464-4a54ce198ad0,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,POWERAPPS FOR DYNAMICS 365 +Dynamics 365 for Talent,SKU_Dynamics_365_for_HCM_Trial,3a256e9a-15b6-4092-b0dc-82993f4debc6,DYN365_CDS_DYN_APPS,2d925ad8-2479-4bd8-bb76-5b80f1d48935,Common Data Service +Dynamics 365 for Talent,SKU_Dynamics_365_for_HCM_Trial,3a256e9a-15b6-4092-b0dc-82993f4debc6,Dynamics_365_Hiring_Free_PLAN,f815ac79-c5dd-4bcc-9b78-d97f7b817d0d,Dynamics 365 for Talent: Attract +Dynamics 365 for Talent,SKU_Dynamics_365_for_HCM_Trial,3a256e9a-15b6-4092-b0dc-82993f4debc6,Dynamics_365_Onboarding_Free_PLAN,300b8114-8555-4313-b861-0c115d820f50,Dynamics 365 for Talent: Onboard +Dynamics 365 for Talent,SKU_Dynamics_365_for_HCM_Trial,3a256e9a-15b6-4092-b0dc-82993f4debc6,Dynamics_365_for_HCM_Trial,5ed38b64-c3b7-4d9f-b1cd-0de18c9c4331,Dynamics 365 for HCM Trial +Dynamics 365 for Talent,SKU_Dynamics_365_for_HCM_Trial,3a256e9a-15b6-4092-b0dc-82993f4debc6,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 for Talent,SKU_Dynamics_365_for_HCM_Trial,3a256e9a-15b6-4092-b0dc-82993f4debc6,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Flow for Dynamics 365 +Dynamics 365 for Talent,SKU_Dynamics_365_for_HCM_Trial,3a256e9a-15b6-4092-b0dc-82993f4debc6,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,PowerApps for Dynamics 365 +Dynamics 365 Talent: Attract,Dynamics_365_Hiring_SKU,e561871f-74fa-4f02-abee-5b0ef54dd36d,DYN365_CDS_DYN_APPS,2d925ad8-2479-4bd8-bb76-5b80f1d48935,Common Data Service +Dynamics 365 Talent: Attract,Dynamics_365_Hiring_SKU,e561871f-74fa-4f02-abee-5b0ef54dd36d,Dynamics_365_Hiring_Free_PLAN,f815ac79-c5dd-4bcc-9b78-d97f7b817d0d,Dynamics 365 for Talent: Attract +Dynamics 365 Talent: Attract,Dynamics_365_Hiring_SKU,e561871f-74fa-4f02-abee-5b0ef54dd36d,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 for Team Members Enterprise Edition,DYN365_ENTERPRISE_TEAM_MEMBERS,8e7a3d30-d97d-43ab-837c-d7701cef83dc,DYN365_ENTERPRISE_FIELD_SERVICE,8c66ef8a-177f-4c0d-853c-d4f219331d09,Dynamics 365 for Field Service +Dynamics 365 for Team Members Enterprise Edition,DYN365_ENTERPRISE_TEAM_MEMBERS,8e7a3d30-d97d-43ab-837c-d7701cef83dc,Dynamics_365_for_Retail_Team_members,c0454a3d-32b5-4740-b090-78c32f48f0ad,Dynamics 365 for Retail Team members +Dynamics 365 for Team Members Enterprise Edition,DYN365_ENTERPRISE_TEAM_MEMBERS,8e7a3d30-d97d-43ab-837c-d7701cef83dc,DYN365_Enterprise_Talent_Attract_TeamMember,643d201a-9884-45be-962a-06ba97062e5e,Dynamics 365 for Talent - Attract Experience Team Member +Dynamics 365 for Team Members Enterprise Edition,DYN365_ENTERPRISE_TEAM_MEMBERS,8e7a3d30-d97d-43ab-837c-d7701cef83dc,DYN365_Enterprise_Talent_Onboard_TeamMember,f2f49eef-4b3f-4853-809a-a055c6103fe0,Dynamics 365 for Talent - Onboard Experience +Dynamics 365 for Team Members Enterprise Edition,DYN365_ENTERPRISE_TEAM_MEMBERS,8e7a3d30-d97d-43ab-837c-d7701cef83dc,Dynamics_365_for_Talent_Team_members,d5156635-0704-4f66-8803-93258f8b2678,Dynamics 365 for Talent Team members +Dynamics 365 for Team Members Enterprise Edition,DYN365_ENTERPRISE_TEAM_MEMBERS,8e7a3d30-d97d-43ab-837c-d7701cef83dc,DYN365_ENTERPRISE_TEAM_MEMBERS,6a54b05e-4fab-40e7-9828-428db3b336fa,Dynamics 365 for Team Members +Dynamics 365 for Team Members Enterprise Edition,DYN365_ENTERPRISE_TEAM_MEMBERS,8e7a3d30-d97d-43ab-837c-d7701cef83dc,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User +Dynamics 365 for Team Members Enterprise Edition,DYN365_ENTERPRISE_TEAM_MEMBERS,8e7a3d30-d97d-43ab-837c-d7701cef83dc,Dynamics_365_for_Operations_Team_members,f5aa7b45-8a36-4cd1-bc37-5d06dea98645,Dynamics_365_for_Operations_Team_members +Dynamics 365 for Team Members Enterprise Edition,DYN365_ENTERPRISE_TEAM_MEMBERS,8e7a3d30-d97d-43ab-837c-d7701cef83dc,GUIDES,0b2c029c-dca0-454a-a336-887285d6ef07,Dynamics 365 Guides +Dynamics 365 for Team Members Enterprise Edition,DYN365_ENTERPRISE_TEAM_MEMBERS,8e7a3d30-d97d-43ab-837c-d7701cef83dc,MICROSOFT_REMOTE_ASSIST,4f4c7800-298a-4e22-8867-96b17850d4dd,Dynamics 365 Remote Assist +Dynamics 365 for Team Members Enterprise Edition,DYN365_ENTERPRISE_TEAM_MEMBERS,8e7a3d30-d97d-43ab-837c-d7701cef83dc,POWERAPPS_GUIDES,816971f4-37c5-424a-b12b-b56881f402e7,Power Apps for Guides +Dynamics 365 for Team Members Enterprise Edition,DYN365_ENTERPRISE_TEAM_MEMBERS,8e7a3d30-d97d-43ab-837c-d7701cef83dc,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 for Team Members Enterprise Edition,DYN365_ENTERPRISE_TEAM_MEMBERS,8e7a3d30-d97d-43ab-837c-d7701cef83dc,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Dynamics 365 for Team Members Enterprise Edition,DYN365_ENTERPRISE_TEAM_MEMBERS,8e7a3d30-d97d-43ab-837c-d7701cef83dc,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Dynamics 365 for Team Members Enterprise Edition,DYN365_ENTERPRISE_TEAM_MEMBERS,8e7a3d30-d97d-43ab-837c-d7701cef83dc,PROJECT_ESSENTIALS,1259157c-8581-4875-bca7-2ffb18c51bda,Project Online Essentials +Dynamics 365 for Team Members Enterprise Edition,DYN365_ENTERPRISE_TEAM_MEMBERS,8e7a3d30-d97d-43ab-837c-d7701cef83dc,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) +Dynamics 365 for Team Members Enterprise Edition,DYN365_ENTERPRISE_TEAM_MEMBERS,8e7a3d30-d97d-43ab-837c-d7701cef83dc,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,Power Apps for Dynamics 365 +Dynamics 365 for Team Members Enterprise Edition,DYN365_ENTERPRISE_TEAM_MEMBERS,8e7a3d30-d97d-43ab-837c-d7701cef83dc,POWERAPPS_DYN_TEAM,52e619e2-2730-439a-b0d3-d09ab7e8b705,Power Apps for Dynamics 365 +Dynamics 365 for Team Members Enterprise Edition,DYN365_ENTERPRISE_TEAM_MEMBERS,8e7a3d30-d97d-43ab-837c-d7701cef83dc,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Power Automate for Dynamics 365 +Dynamics 365 for Team Members Enterprise Edition,DYN365_ENTERPRISE_TEAM_MEMBERS,8e7a3d30-d97d-43ab-837c-d7701cef83dc,FLOW_DYN_TEAM,1ec58c70-f69c-486a-8109-4b87ce86e449,Power Automate for Dynamics 365 +Dynamics 365 for Team Members Enterprise Edition for Government,DYN365_ENTERPRISE_TEAM_MEMBERS_GOV,ba05762f-32ff-4fac-a096-55309b3700a3,DYN365_ENTERPRISE_TEAM_MEMBERS_GOV,5a94d0aa-ee95-455a-bb38-326e5f134478,Dynamics 365 for Team Members for Government +Dynamics 365 for Team Members Enterprise Edition for Government,DYN365_ENTERPRISE_TEAM_MEMBERS_GOV,ba05762f-32ff-4fac-a096-55309b3700a3,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 for Team Members Enterprise Edition for Government,DYN365_ENTERPRISE_TEAM_MEMBERS_GOV,ba05762f-32ff-4fac-a096-55309b3700a3,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government +Dynamics 365 for Team Members Enterprise Edition for Government,DYN365_ENTERPRISE_TEAM_MEMBERS_GOV,ba05762f-32ff-4fac-a096-55309b3700a3,PROJECT_ESSENTIALS_GOV,fdcb7064-f45c-46fa-b056-7e0e9fdf4bf3,Project Online Essentials for Government +Dynamics 365 for Team Members Enterprise Edition for Government,DYN365_ENTERPRISE_TEAM_MEMBERS_GOV,ba05762f-32ff-4fac-a096-55309b3700a3,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G +Dynamics 365 for Team Members Enterprise Edition for Government,DYN365_ENTERPRISE_TEAM_MEMBERS_GOV,ba05762f-32ff-4fac-a096-55309b3700a3,FLOW_DYN_TEAM_GOV,47bdde6a-959f-4c7f-8d59-3243e34f1cb3,Power Automate for Dynamics 365 Team Members for Government +Dynamics 365 for Team Members Enterprise Edition for Government,DYN365_ENTERPRISE_TEAM_MEMBERS_GOV,ba05762f-32ff-4fac-a096-55309b3700a3,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government +Dynamics 365 for Team Members Enterprise Edition for Government,DYN365_ENTERPRISE_TEAM_MEMBERS_GOV,ba05762f-32ff-4fac-a096-55309b3700a3,POWERAPPS_DYN_TEAM_GOV,63efc247-5f28-43e3-a2f8-00c183e3f1db,PowerApps for Dynamics 365 Team Members for Government +Dynamics 365 Guides,GUIDES_USER,0a389a77-9850-4dc4-b600-bc66fdfefc60,DYN365_CDS_GUIDES,1315ade1-0410-450d-b8e3-8050e6da320f,Common Data Service +Dynamics 365 Guides,GUIDES_USER,0a389a77-9850-4dc4-b600-bc66fdfefc60,GUIDES,0b2c029c-dca0-454a-a336-887285d6ef07,Dynamics 365 Guides +Dynamics 365 Guides,GUIDES_USER,0a389a77-9850-4dc4-b600-bc66fdfefc60,POWERAPPS_GUIDES,816971f4-37c5-424a-b12b-b56881f402e7,Power Apps for Guides +Dynamics 365 Operations - Device,Dynamics_365_for_Operations_Devices,3bbd44ed-8a70-4c07-9088-6232ddbd5ddd,DYN365_RETAIL_DEVICE,ceb28005-d758-4df7-bb97-87a617b93d6c,Dynamics 365 for Retail Device +Dynamics 365 Operations - Device,Dynamics_365_for_Operations_Devices,3bbd44ed-8a70-4c07-9088-6232ddbd5ddd,Dynamics_365_for_OperationsDevices,2c9fb43e-915a-4d61-b6ca-058ece89fd66,Dynamics 365 for Operations Devices +Dynamics 365 Operations - Device,Dynamics_365_for_Operations_Devices,3bbd44ed-8a70-4c07-9088-6232ddbd5ddd,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Operations - Sandbox Tier 2:Standard Acceptance Testing,Dynamics_365_for_Operations_Sandbox_Tier2_SKU,e485d696-4c87-4aac-bf4a-91b2fb6f0fa7,Dynamics_365_for_Operations_Sandbox_Tier2,d8ba6fb2-c6b1-4f07-b7c8-5f2745e36b54,Dynamics 365 for Operations non-production multi-box instance for standard acceptance testing (Tier 2) +Dynamics 365 Operations - Sandbox Tier 2:Standard Acceptance Testing,Dynamics_365_for_Operations_Sandbox_Tier2_SKU,e485d696-4c87-4aac-bf4a-91b2fb6f0fa7,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Operations - Sandbox Tier 4:Standard Performance Testing,Dynamics_365_for_Operations_Sandbox_Tier4_SKU,f7ad4bca-7221-452c-bdb6-3e6089f25e06,Dynamics_365_for_Operations_Sandbox_Tier4,f6b5efb1-1813-426f-96d0-9b4f7438714f,Dynamics 365 for Operations Enterprise Edition - Sandbox Tier 4:Standard Performance Testing +Dynamics 365 Operations - Sandbox Tier 4:Standard Performance Testing,Dynamics_365_for_Operations_Sandbox_Tier4_SKU,f7ad4bca-7221-452c-bdb6-3e6089f25e06,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 P1 Tria for Information Workers,DYN365_ENTERPRISE_P1_IW,338148b6-1b11-4102-afb9-f92b6cdc0f8d,DYN365_ENTERPRISE_P1_IW,056a5f80-b4e0-4983-a8be-7ad254a113c9,DYNAMICS 365 P1 TRIAL FOR INFORMATION WORKERS +Dynamics 365 P1 Tria for Information Workers,DYN365_ENTERPRISE_P1_IW,338148b6-1b11-4102-afb9-f92b6cdc0f8d,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,EXCHANGE FOUNDATION +Dynamics 365 Project Operations,DYN365_PROJECT_OPERATIONS,98619618-9dc8-48c6-8f0c-741890ba5f93,D365CDSforProjectOperations,7df1d500-ca5c-4229-8cea-815bc88798c9,Common Data Service for Dynamics 365 Project Operations +Dynamics 365 Project Operations,DYN365_PROJECT_OPERATIONS,98619618-9dc8-48c6-8f0c-741890ba5f93,D365_ProjectOperationsCDS,18fa3aba-b085-4105-87d7-55617b8585e6,Dynamics 365 Project Operations CDS +Dynamics 365 Project Operations,DYN365_PROJECT_OPERATIONS,98619618-9dc8-48c6-8f0c-741890ba5f93,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User +Dynamics 365 Project Operations,DYN365_PROJECT_OPERATIONS,98619618-9dc8-48c6-8f0c-741890ba5f93,DYN365_REGULATORY_SERVICE,c7657ae3-c0b0-4eed-8c1d-6a7967bd9c65,Dynamics 365 for Finance and Operations, Enterprise edition - Regulatory Service +Dynamics 365 Project Operations,DYN365_PROJECT_OPERATIONS,98619618-9dc8-48c6-8f0c-741890ba5f93,D365_ProjectOperations,69f07c66-bee4-4222-b051-195095efee5b,Dynamics 365 Project Operations +Dynamics 365 Project Operations,DYN365_PROJECT_OPERATIONS,98619618-9dc8-48c6-8f0c-741890ba5f93,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,Power Apps for Dynamics 365 +Dynamics 365 Project Operations,DYN365_PROJECT_OPERATIONS,98619618-9dc8-48c6-8f0c-741890ba5f93,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Power Automate for Dynamics 365 +Dynamics 365 Project Operations,DYN365_PROJECT_OPERATIONS,98619618-9dc8-48c6-8f0c-741890ba5f93,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Project Operations,DYN365_PROJECT_OPERATIONS,98619618-9dc8-48c6-8f0c-741890ba5f93,PROJECT_FOR_PROJECT_OPERATIONS,0a05d977-a21a-45b2-91ce-61c240dbafa2,Project for Project Operations +Dynamics 365 Project Operations,DYN365_PROJECT_OPERATIONS,98619618-9dc8-48c6-8f0c-741890ba5f93,SHAREPOINTSTANDARD,c7699d2e-19aa-44de-8edf-1736da088ca1,SharePoint (Plan 1) +Dynamics 365 Remote Assist,MICROSOFT_REMOTE_ASSIST,7a551360-26c4-4f61-84e6-ef715673e083,CDS_REMOTE_ASSIST,0850ebb5-64ee-4d3a-a3e1-5a97213653b5,Common Data Service for Remote Assist +Dynamics 365 Remote Assist,MICROSOFT_REMOTE_ASSIST,7a551360-26c4-4f61-84e6-ef715673e083,MICROSOFT_REMOTE_ASSIST,4f4c7800-298a-4e22-8867-96b17850d4dd,Microsoft Remote Assist +Dynamics 365 Remote Assist,MICROSOFT_REMOTE_ASSIST,7a551360-26c4-4f61-84e6-ef715673e083,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Dynamics 365 Remote Assist HoloLens,MICROSOFT_REMOTE_ASSIST_HOLOLENS,e48328a2-8e98-4484-a70f-a99f8ac9ec89,CDS_REMOTE_ASSIST,0850ebb5-64ee-4d3a-a3e1-5a97213653b5,Common Data Service for Remote Assist +Dynamics 365 Remote Assist HoloLens,MICROSOFT_REMOTE_ASSIST_HOLOLENS,e48328a2-8e98-4484-a70f-a99f8ac9ec89,MICROSOFT_REMOTE_ASSIST,4f4c7800-298a-4e22-8867-96b17850d4dd,Microsoft Remote Assist +Dynamics 365 Remote Assist HoloLens,MICROSOFT_REMOTE_ASSIST_HOLOLENS,e48328a2-8e98-4484-a70f-a99f8ac9ec89,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Dynamics 365 Sales Enterprise Attach to Qualifying Dynamics 365 Base Offer,D365_SALES_ENT_ATTACH,5b22585d-1b71-4c6b-b6ec-160b1a9c2323,D365_SALES_ENT_ATTACH,3ae52229-572e-414f-937c-ff35a87d4f29,Dynamics 365 for Sales Enterprise Attach +Dynamics 365 Sales Enterprise Attach to Qualifying Dynamics 365 Base Offer,D365_SALES_ENT_ATTACH,5b22585d-1b71-4c6b-b6ec-160b1a9c2323,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Talent: Onboard,DYNAMICS_365_ONBOARDING_SKU,b56e7ccc-d5c7-421f-a23b-5c18bdbad7c0,DYN365_CDS_DYN_APPS,2d925ad8-2479-4bd8-bb76-5b80f1d48935,COMMON DATA SERVICE +Dynamics 365 Talent: Onboard,DYNAMICS_365_ONBOARDING_SKU,b56e7ccc-d5c7-421f-a23b-5c18bdbad7c0,Dynamics_365_Onboarding_Free_PLAN,300b8114-8555-4313-b861-0c115d820f50,DYNAMICS 365 FOR TALENT: ONBOARD +Dynamics 365 Talent: Onboard,DYNAMICS_365_ONBOARDING_SKU,b56e7ccc-d5c7-421f-a23b-5c18bdbad7c0,Dynamics_365_Talent_Onboard,048a552e-c849-4027-b54c-4c7ead26150a,DYNAMICS 365 FOR TALENT: ONBOARD +Dynamics 365 Talent: Onboard,DYNAMICS_365_ONBOARDING_SKU,b56e7ccc-d5c7-421f-a23b-5c18bdbad7c0,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,EXCHANGE FOUNDATION +Dynamics 365 Team Members,DYN365_TEAM_MEMBERS,7ac9fe77-66b7-4e5e-9e46-10eed1cff547,DYN365_ENTERPRISE_FIELD_SERVICE,8c66ef8a-177f-4c0d-853c-d4f219331d09,Dynamics 365 for Field Service +Dynamics 365 Team Members,DYN365_TEAM_MEMBERS,7ac9fe77-66b7-4e5e-9e46-10eed1cff547,Dynamics_365_for_Retail_Team_members,c0454a3d-32b5-4740-b090-78c32f48f0ad,Dynamics 365 for Retail Team members +Dynamics 365 Team Members,DYN365_TEAM_MEMBERS,7ac9fe77-66b7-4e5e-9e46-10eed1cff547,DYN365_Enterprise_Talent_Attract_TeamMember,643d201a-9884-45be-962a-06ba97062e5e,Dynamics 365 for Talent - Attract Experience Team Member +Dynamics 365 Team Members,DYN365_TEAM_MEMBERS,7ac9fe77-66b7-4e5e-9e46-10eed1cff547,DYN365_Enterprise_Talent_Onboard_TeamMember,f2f49eef-4b3f-4853-809a-a055c6103fe0,Dynamics 365 for Talent - Onboard Experience +Dynamics 365 Team Members,DYN365_TEAM_MEMBERS,7ac9fe77-66b7-4e5e-9e46-10eed1cff547,Dynamics_365_for_Talent_Team_members,d5156635-0704-4f66-8803-93258f8b2678,Dynamics 365 for Talent Team members +Dynamics 365 Team Members,DYN365_TEAM_MEMBERS,7ac9fe77-66b7-4e5e-9e46-10eed1cff547,DYN365_TEAM_MEMBERS,4092fdb5-8d81-41d3-be76-aaba4074530b,Dynamics 365 Team Members +Dynamics 365 Team Members,DYN365_TEAM_MEMBERS,7ac9fe77-66b7-4e5e-9e46-10eed1cff547,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User +Dynamics 365 Team Members,DYN365_TEAM_MEMBERS,7ac9fe77-66b7-4e5e-9e46-10eed1cff547,Dynamics_365_for_Operations_Team_members,f5aa7b45-8a36-4cd1-bc37-5d06dea98645,Dynamics_365_for_Operations_Team_members +Dynamics 365 Team Members,DYN365_TEAM_MEMBERS,7ac9fe77-66b7-4e5e-9e46-10eed1cff547,GUIDES,0b2c029c-dca0-454a-a336-887285d6ef07,Dynamics 365 Guides +Dynamics 365 Team Members,DYN365_TEAM_MEMBERS,7ac9fe77-66b7-4e5e-9e46-10eed1cff547,MICROSOFT_REMOTE_ASSIST,4f4c7800-298a-4e22-8867-96b17850d4dd,Dynamics 365 Remote Assist +Dynamics 365 Team Members,DYN365_TEAM_MEMBERS,7ac9fe77-66b7-4e5e-9e46-10eed1cff547,POWERAPPS_GUIDES,816971f4-37c5-424a-b12b-b56881f402e7,Power Apps for Guides +Dynamics 365 Team Members,DYN365_TEAM_MEMBERS,7ac9fe77-66b7-4e5e-9e46-10eed1cff547,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Dynamics 365 Team Members,DYN365_TEAM_MEMBERS,7ac9fe77-66b7-4e5e-9e46-10eed1cff547,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Dynamics 365 Team Members,DYN365_TEAM_MEMBERS,7ac9fe77-66b7-4e5e-9e46-10eed1cff547,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Dynamics 365 Team Members,DYN365_TEAM_MEMBERS,7ac9fe77-66b7-4e5e-9e46-10eed1cff547,PROJECT_ESSENTIALS,1259157c-8581-4875-bca7-2ffb18c51bda,Project Online Essentials +Dynamics 365 Team Members,DYN365_TEAM_MEMBERS,7ac9fe77-66b7-4e5e-9e46-10eed1cff547,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) +Dynamics 365 Team Members,DYN365_TEAM_MEMBERS,7ac9fe77-66b7-4e5e-9e46-10eed1cff547,POWERAPPS_DYN_TEAM,52e619e2-2730-439a-b0d3-d09ab7e8b705,Power Apps for Dynamics 365 +Dynamics 365 Team Members,DYN365_TEAM_MEMBERS,7ac9fe77-66b7-4e5e-9e46-10eed1cff547,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Power Automate for Dynamics 365 +Dynamics 365 Team Members,DYN365_TEAM_MEMBERS,7ac9fe77-66b7-4e5e-9e46-10eed1cff547,FLOW_DYN_TEAM,1ec58c70-f69c-486a-8109-4b87ce86e449,Power Automate for Dynamics 365 +Dynamics 365 UNF OPS Plan ENT Edition,Dynamics_365_for_Operations,ccba3cfe-71ef-423a-bd87-b6df3dce59a9,DDYN365_CDS_DYN_P2,d1142cfd-872e-4e77-b6ff-d98ec5a51f66,COMMON DATA SERVICE +Dynamics 365 UNF OPS Plan ENT Edition,Dynamics_365_for_Operations,ccba3cfe-71ef-423a-bd87-b6df3dce59a9,DYN365_TALENT_ENTERPRISE,65a1ebf4-6732-4f00-9dcb-3d115ffdeecd,DYNAMICS 365 FOR TALENT +Dynamics 365 UNF OPS Plan ENT Edition,Dynamics_365_for_Operations,ccba3cfe-71ef-423a-bd87-b6df3dce59a9,Dynamics_365_for_Operations,95d2cd7b-1007-484b-8595-5e97e63fe189,DYNAMICS 365 FOR_OPERATIONS +Dynamics 365 UNF OPS Plan ENT Edition,Dynamics_365_for_Operations,ccba3cfe-71ef-423a-bd87-b6df3dce59a9,Dynamics_365_for_Retail,a9e39199-8369-444b-89c1-5fe65ec45665,DYNAMICS 365 FOR RETAIL +Dynamics 365 UNF OPS Plan ENT Edition,Dynamics_365_for_Operations,ccba3cfe-71ef-423a-bd87-b6df3dce59a9,DYNAMICS_365_HIRING_FREE_PLAN,f815ac79-c5dd-4bcc-9b78-d97f7b817d0d,DYNAMICS 365 HIRING FREE PLAN +Dynamics 365 UNF OPS Plan ENT Edition,Dynamics_365_for_Operations,ccba3cfe-71ef-423a-bd87-b6df3dce59a9,Dynamics_365_Onboarding_Free_PLAN,300b8114-8555-4313-b861-0c115d820f50,DYNAMICS 365 FOR TALENT: ONBOARD +Dynamics 365 UNF OPS Plan ENT Edition,Dynamics_365_for_Operations,ccba3cfe-71ef-423a-bd87-b6df3dce59a9,FLOW_DYN_P2,b650d915-9886-424b-a08d-633cede56f57,FLOW FOR DYNAMICS 36 +Dynamics 365 UNF OPS Plan ENT Edition,Dynamics_365_for_Operations,ccba3cfe-71ef-423a-bd87-b6df3dce59a9,POWERAPPS_DYN_P2,0b03f40b-c404-40c3-8651-2aceb74365fa,POWERAPPS FOR DYNAMICS 365 +Enterprise Mobility + Security A3 for Faculty,EMS_EDU_FACULTY,aedfac18-56b8-45e3-969b-53edb4ba4952,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Enterprise Mobility + Security A3 for Faculty,EMS_EDU_FACULTY,aedfac18-56b8-45e3-969b-53edb4ba4952,AAD_EDU,3a3976ce-de18-4a87-a78e-5e9245e252df,Microsoft Entra ID for Education +Enterprise Mobility + Security A3 for Faculty,EMS_EDU_FACULTY,aedfac18-56b8-45e3-969b-53edb4ba4952,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Enterprise Mobility + Security A3 for Faculty,EMS_EDU_FACULTY,aedfac18-56b8-45e3-969b-53edb4ba4952,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Enterprise Mobility + Security A3 for Faculty,EMS_EDU_FACULTY,aedfac18-56b8-45e3-969b-53edb4ba4952,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Enterprise Mobility + Security A3 for Faculty,EMS_EDU_FACULTY,aedfac18-56b8-45e3-969b-53edb4ba4952,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Enterprise Mobility + Security A3 for Faculty,EMS_EDU_FACULTY,aedfac18-56b8-45e3-969b-53edb4ba4952,ADALLOM_S_DISCOVERY,932ad362-64a8-4783-9106-97849a1a30b9,Microsoft Defender for Cloud Apps Discovery +Enterprise Mobility + Security A3 for Faculty,EMS_EDU_FACULTY,aedfac18-56b8-45e3-969b-53edb4ba4952,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune +Enterprise Mobility + Security A3 for Faculty,EMS_EDU_FACULTY,aedfac18-56b8-45e3-969b-53edb4ba4952,INTUNE_EDU,da24caf9-af8e-485c-b7c8-e73336da2693,Microsoft Intune for Education +Enterprise Mobility + Security A3 for Faculty,EMS_EDU_FACULTY,aedfac18-56b8-45e3-969b-53edb4ba4952,WINDOWS_STORE,a420f25f-a7b3-4ff5-a9d0-5d58f73b537d,Windows Store Service +Enterprise Mobility + Security E3,EMS,efccb6f7-5641-4e0e-bd10-b4976e1bf68e,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Enterprise Mobility + Security E3,EMS,efccb6f7-5641-4e0e-bd10-b4976e1bf68e,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,AZURE INFORMATION PROTECTION PREMIUM P1 +Enterprise Mobility + Security E3,EMS,efccb6f7-5641-4e0e-bd10-b4976e1bf68e,ADALLOM_S_DISCOVERY,932ad362-64a8-4783-9106-97849a1a30b9,CLOUD APP SECURITY DISCOVERY +Enterprise Mobility + Security E3,EMS,efccb6f7-5641-4e0e-bd10-b4976e1bf68e,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,EXCHANGE FOUNDATION +Enterprise Mobility + Security E3,EMS,efccb6f7-5641-4e0e-bd10-b4976e1bf68e,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Microsoft Entra RIGHTS +Enterprise Mobility + Security E3,EMS,efccb6f7-5641-4e0e-bd10-b4976e1bf68e,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,MICROSOFT AZURE MULTI-FACTOR AUTHENTICATION +Enterprise Mobility + Security E3,EMS,efccb6f7-5641-4e0e-bd10-b4976e1bf68e,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,MICROSOFT INTUNE +Enterprise Mobility + Security E5,EMSPREMIUM,b05e124f-c7cc-45a0-a6aa-8cf78c946968,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Enterprise Mobility + Security E5,EMSPREMIUM,b05e124f-c7cc-45a0-a6aa-8cf78c946968,AAD_PREMIUM_P2,eec0eb4f-6444-4f95-aba0-50c24d67f998,Microsoft Entra ID P2 +Enterprise Mobility + Security E5,EMSPREMIUM,b05e124f-c7cc-45a0-a6aa-8cf78c946968,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,AZURE INFORMATION PROTECTION PREMIUM P1 +Enterprise Mobility + Security E5,EMSPREMIUM,b05e124f-c7cc-45a0-a6aa-8cf78c946968,RMS_S_PREMIUM2,5689bec4-755d-4753-8b61-40975025187c,AZURE INFORMATION PROTECTION PREMIUM P2 +Enterprise Mobility + Security E5,EMSPREMIUM,b05e124f-c7cc-45a0-a6aa-8cf78c946968,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,EXCHANGE FOUNDATION +Enterprise Mobility + Security E5,EMSPREMIUM,b05e124f-c7cc-45a0-a6aa-8cf78c946968,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Microsoft Entra RIGHTS +Enterprise Mobility + Security E5,EMSPREMIUM,b05e124f-c7cc-45a0-a6aa-8cf78c946968,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,MICROSOFT AZURE MULTI-FACTOR AUTHENTICATION +Enterprise Mobility + Security E5,EMSPREMIUM,b05e124f-c7cc-45a0-a6aa-8cf78c946968,ADALLOM_S_STANDALONE,2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2,MICROSOFT CLOUD APP SECURITY +Enterprise Mobility + Security E5,EMSPREMIUM,b05e124f-c7cc-45a0-a6aa-8cf78c946968,ATA,14ab5db5-e6c4-4b20-b4bc-13e36fd2227f,MICROSOFT DEFENDER FOR IDENTITY +Enterprise Mobility + Security E5,EMSPREMIUM,b05e124f-c7cc-45a0-a6aa-8cf78c946968,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,MICROSOFT INTUNE +Enterprise Mobility + Security E5_USGOV_GCCHIGH,EMSPREMIUM_USGOV_GCCHIGH,a461b89c-10e3-471c-82b8-aae4d820fccb,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Enterprise Mobility + Security E5_USGOV_GCCHIGH,EMSPREMIUM_USGOV_GCCHIGH,a461b89c-10e3-471c-82b8-aae4d820fccb,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Enterprise Mobility + Security E5_USGOV_GCCHIGH,EMSPREMIUM_USGOV_GCCHIGH,a461b89c-10e3-471c-82b8-aae4d820fccb,RMS_S_PREMIUM2,5689bec4-755d-4753-8b61-40975025187c,Azure Information Protection Premium P2 +Enterprise Mobility + Security E5_USGOV_GCCHIGH,EMSPREMIUM_USGOV_GCCHIGH,a461b89c-10e3-471c-82b8-aae4d820fccb,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Enterprise Mobility + Security E5_USGOV_GCCHIGH,EMSPREMIUM_USGOV_GCCHIGH,a461b89c-10e3-471c-82b8-aae4d820fccb,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Enterprise Mobility + Security E5_USGOV_GCCHIGH,EMSPREMIUM_USGOV_GCCHIGH,a461b89c-10e3-471c-82b8-aae4d820fccb,ADALLOM_S_STANDALONE,2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2,Microsoft Defender for Cloud Apps +Enterprise Mobility + Security E5_USGOV_GCCHIGH,EMSPREMIUM_USGOV_GCCHIGH,a461b89c-10e3-471c-82b8-aae4d820fccb,ATA,14ab5db5-e6c4-4b20-b4bc-13e36fd2227f,Microsoft Defender for Identity +Enterprise Mobility + Security E5_USGOV_GCCHIGH,EMSPREMIUM_USGOV_GCCHIGH,a461b89c-10e3-471c-82b8-aae4d820fccb,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Enterprise Mobility + Security E5_USGOV_GCCHIGH,EMSPREMIUM_USGOV_GCCHIGH,a461b89c-10e3-471c-82b8-aae4d820fccb,AAD_PREMIUM_P2,eec0eb4f-6444-4f95-aba0-50c24d67f998,Microsoft Entra ID P2 +Enterprise Mobility + Security E5_USGOV_GCCHIGH,EMSPREMIUM_USGOV_GCCHIGH,a461b89c-10e3-471c-82b8-aae4d820fccb,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 +Enterprise Mobility + Security G3 GCC,EMS_GOV,c793db86-5237-494e-9b11-dcd4877c2c8c,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Enterprise Mobility + Security G3 GCC,EMS_GOV,c793db86-5237-494e-9b11-dcd4877c2c8c,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Enterprise Mobility + Security G3 GCC,EMS_GOV,c793db86-5237-494e-9b11-dcd4877c2c8c,ADALLOM_S_DISCOVERY,932ad362-64a8-4783-9106-97849a1a30b9,Cloud App Security Discovery +Enterprise Mobility + Security G3 GCC,EMS_GOV,c793db86-5237-494e-9b11-dcd4877c2c8c,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government +Enterprise Mobility + Security G3 GCC,EMS_GOV,c793db86-5237-494e-9b11-dcd4877c2c8c,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Microsoft Entra Rights +Enterprise Mobility + Security G3 GCC,EMS_GOV,c793db86-5237-494e-9b11-dcd4877c2c8c,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Enterprise Mobility + Security G3 GCC,EMS_GOV,c793db86-5237-494e-9b11-dcd4877c2c8c,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune +Enterprise Mobility + Security G5 GCC,EMSPREMIUM_GOV,8a180c2b-f4cf-4d44-897c-3d32acc4a60b,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Enterprise Mobility + Security G5 GCC,EMSPREMIUM_GOV,8a180c2b-f4cf-4d44-897c-3d32acc4a60b,AAD_PREMIUM_P2,eec0eb4f-6444-4f95-aba0-50c24d67f998,Microsoft Entra ID P2 +Enterprise Mobility + Security G5 GCC,EMSPREMIUM_GOV,8a180c2b-f4cf-4d44-897c-3d32acc4a60b,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Enterprise Mobility + Security G5 GCC,EMSPREMIUM_GOV,8a180c2b-f4cf-4d44-897c-3d32acc4a60b,RMS_S_PREMIUM2,5689bec4-755d-4753-8b61-40975025187c,Azure Information Protection Premium P2 +Enterprise Mobility + Security G5 GCC,EMSPREMIUM_GOV,8a180c2b-f4cf-4d44-897c-3d32acc4a60b,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government +Enterprise Mobility + Security G5 GCC,EMSPREMIUM_GOV,8a180c2b-f4cf-4d44-897c-3d32acc4a60b,RMS_S_ENTERPRISE),bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Microsoft Entra Rights +Enterprise Mobility + Security G5 GCC,EMSPREMIUM_GOV,8a180c2b-f4cf-4d44-897c-3d32acc4a60b,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Enterprise Mobility + Security G5 GCC,EMSPREMIUM_GOV,8a180c2b-f4cf-4d44-897c-3d32acc4a60b,ADALLOM_S_STANDALONE,2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2,Microsoft Cloud App Security +Enterprise Mobility + Security G5 GCC,EMSPREMIUM_GOV,8a180c2b-f4cf-4d44-897c-3d32acc4a60b,ATA,14ab5db5-e6c4-4b20-b4bc-13e36fd2227f,Microsoft Defender for Identity +Enterprise Mobility + Security G5 GCC,EMSPREMIUM_GOV,8a180c2b-f4cf-4d44-897c-3d32acc4a60b,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune +Exchange Enterprise CAL Services (EOP DLP),EOP_ENTERPRISE_PREMIUM,e8ecdf70-47a8-4d39-9d15-093624b7f640,EOP_ENTERPRISE_PREMIUM,75badc48-628e-4446-8460-41344d73abd6,Exchange Enterprise CAL Services (EOP DLP) +Exchange Enterprise CAL Services (EOP DLP),EOP_ENTERPRISE_PREMIUM,e8ecdf70-47a8-4d39-9d15-093624b7f640,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Microsoft Entra Rights +Exchange Online (Plan 1),EXCHANGESTANDARD,4b9405b0-7788-4568-add1-99614e613b69,EXCHANGE_S_STANDARD,9aaf7827-d63c-4b61-89c3-182f06f82e5c,Exchange Online (Plan 1) +Exchange Online (Plan 1),EXCHANGESTANDARD,4b9405b0-7788-4568-add1-99614e613b69,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Exchange Online (Plan 1),EXCHANGESTANDARD,4b9405b0-7788-4568-add1-99614e613b69,BPOS_S_TODO_1,5e62787c-c316-451f-b873-1d05acd4d12c,To-Do (Plan 1) +Exchange Online (Plan 1) for Alumni with Yammer,EXCHANGESTANDARD_ALUMNI,aa0f9eb7-eff2-4943-8424-226fb137fcad,EXCHANGE_S_STANDARD,9aaf7827-d63c-4b61-89c3-182f06f82e5c,Exchange Online (Plan 1) +Exchange Online (Plan 1) for Alumni with Yammer,EXCHANGESTANDARD_ALUMNI,aa0f9eb7-eff2-4943-8424-226fb137fcad,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Exchange Online (Plan 1) for Alumni with Yammer,EXCHANGESTANDARD_ALUMNI,aa0f9eb7-eff2-4943-8424-226fb137fcad,YAMMER_EDU,2078e8df-cff6-4290-98cb-5408261a760a,Yammer for Academic +Exchange Online (Plan 1) for Students,EXCHANGESTANDARD_STUDENT,ad2fe44a-915d-4e2b-ade1-6766d50a9d9c,EXCHANGE_S_STANDARD,9aaf7827-d63c-4b61-89c3-182f06f82e5c,Exchange Online (Plan 1) +Exchange Online (Plan 1) for Students,EXCHANGESTANDARD_STUDENT,ad2fe44a-915d-4e2b-ade1-6766d50a9d9c,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Exchange Online (Plan 1) for Students,EXCHANGESTANDARD_STUDENT,ad2fe44a-915d-4e2b-ade1-6766d50a9d9c,BPOS_S_TODO_1,5e62787c-c316-451f-b873-1d05acd4d12c,To-Do (Plan 1) +Exchange Online (Plan 1) for Students,EXCHANGESTANDARD_STUDENT,ad2fe44a-915d-4e2b-ade1-6766d50a9d9c,RMS_S_BASIC,31cf2cfc-6b0d-4adc-a336-88b724ed8122,Microsoft Azure Rights Management Service +Exchange Online (Plan 1) for GCC,EXCHANGESTANDARD_GOV,f37d5ebf-4bf1-4aa2-8fa3-50c51059e983,EXCHANGE_S_STANDARD_GOV,e9b4930a-925f-45e2-ac2a-3f7788ca6fdd,Exchange Online (Plan 1) for Government +Exchange Online (Plan 1) for GCC,EXCHANGESTANDARD_GOV,f37d5ebf-4bf1-4aa2-8fa3-50c51059e983,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Exchange Online (Plan 2),EXCHANGEENTERPRISE,19ec0d23-8335-4cbd-94ac-6050e30712fa,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,EXCHANGE ONLINE (PLAN 2) +Exchange Online (Plan 2) for Faculty,EXCHANGEENTERPRISE_FACULTY,0b7b15a8-7fd2-4964-bb96-5a566d4e3c15,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Exchange Online (Plan 2) for Faculty,EXCHANGEENTERPRISE_FACULTY,0b7b15a8-7fd2-4964-bb96-5a566d4e3c15,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Exchange Online (Plan 2) for Faculty,EXCHANGEENTERPRISE_FACULTY,0b7b15a8-7fd2-4964-bb96-5a566d4e3c15,BPOS_S_TODO_1,5e62787c-c316-451f-b873-1d05acd4d12c,To-Do (Plan 1) +Exchange Online (Plan 2) for Faculty,EXCHANGEENTERPRISE_FACULTY,0b7b15a8-7fd2-4964-bb96-5a566d4e3c15,RMS_S_BASIC,31cf2cfc-6b0d-4adc-a336-88b724ed8122,Microsoft Azure Rights Management Service +Exchange Online Archiving for Exchange Online,EXCHANGEARCHIVE_ADDON,ee02fd1b-340e-4a4b-b355-4a514e4c8943,EXCHANGE_S_ARCHIVE_ADDON,176a09a6-7ec5-4039-ac02-b2791c6ba793,EXCHANGE ONLINE ARCHIVING FOR EXCHANGE ONLINE +Exchange Online Archiving for Exchange Server,EXCHANGEARCHIVE,90b5e015-709a-4b8b-b08e-3200f994494c,EXCHANGE_S_ARCHIVE,da040e0a-b393-4bea-bb76-928b3fa1cf5a,EXCHANGE ONLINE ARCHIVING FOR EXCHANGE SERVER +Exchange Online Essentials (ExO P1 Based),EXCHANGEESSENTIALS,7fc0182e-d107-4556-8329-7caaa511197b,EXCHANGE_S_STANDARD,9aaf7827-d63c-4b61-89c3-182f06f82e5c,EXCHANGE ONLINE (PLAN 1) +Exchange Online Essentials,EXCHANGE_S_ESSENTIALS,e8f81a67-bd96-4074-b108-cf193eb9433b,EXCHANGE_S_ESSENTIALS,1126bef5-da20-4f07-b45e-ad25d2581aa8,EXCHANGE ESSENTIALS +Exchange Online Essentials,EXCHANGE_S_ESSENTIALS,e8f81a67-bd96-4074-b108-cf193eb9433b,BPOS_S_TODO_1,5e62787c-c316-451f-b873-1d05acd4d12c,TO-DO (PLAN 1) +Exchange Online Kiosk,EXCHANGEDESKLESS,80b2d799-d2ba-4d2a-8842-fb0d0f3a4b82,EXCHANGE_S_DESKLESS,4a82b400-a79f-41a4-b4e2-e94f5787b113,EXCHANGE ONLINE KIOSK +Exchange Online POP,EXCHANGETELCO,cb0a98a8-11bc-494c-83d9-c1b1ac65327e,EXCHANGE_B_STANDARD,90927877-dcff-4af6-b346-2332c0b15bb7,EXCHANGE ONLINE POP +Exchange Online Protection,EOP_ENTERPRISE,45a2423b-e884-448d-a831-d9e139c52d2f,EOP_ENTERPRISE,326e2b78-9d27-42c9-8509-46c827743a17,Exchange Online Protection +Intune,INTUNE_A,061f9ace-7d42-4136-88ac-31dc755f143f,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,MICROSOFT INTUNE +Intune for Education,INTUNE_EDU,d9d89b70-a645-4c24-b041-8d3cb1884ec7,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Intune for Education,INTUNE_EDU,d9d89b70-a645-4c24-b041-8d3cb1884ec7,AAD_EDU,3a3976ce-de18-4a87-a78e-5e9245e252df,Microsoft Entra ID for Education +Intune for Education,INTUNE_EDU,d9d89b70-a645-4c24-b041-8d3cb1884ec7,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune +Intune for Education,INTUNE_EDU,d9d89b70-a645-4c24-b041-8d3cb1884ec7,INTUNE_EDU,da24caf9-af8e-485c-b7c8-e73336da2693,Microsoft Intune for Education +Intune for Education,INTUNE_EDU,d9d89b70-a645-4c24-b041-8d3cb1884ec7,WINDOWS_STORE,a420f25f-a7b3-4ff5-a9d0-5d58f73b537d,Windows Store Service +Microsoft Dynamics AX7 User Trial,AX7_USER_TRIAL,fcecd1f9-a91e-488d-a918-a96cdb6ce2b0,ERP_TRIAL_INSTANCE,e2f705fd-2468-4090-8c58-fad6e6b1e724,Dynamics 365 Operations Trial Environment +Microsoft Dynamics AX7 User Trial,AX7_USER_TRIAL,fcecd1f9-a91e-488d-a918-a96cdb6ce2b0,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Microsoft Dynamics CRM Online Basic for Government,CRMPLAN2_GCC,3856cd1b-8033-458e-8d0f-9909ec6e6e6d,CRMPLAN2_GCC,3d53f6d9-d6e0-45c1-9575-6acd77692584,Microsoft Dynamics CRM Online Government Basic +Microsoft Dynamics CRM Online Basic for Government,CRMPLAN2_GCC,3856cd1b-8033-458e-8d0f-9909ec6e6e6d,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Microsoft Dynamics CRM Online Basic for Government,CRMPLAN2_GCC,3856cd1b-8033-458e-8d0f-9909ec6e6e6d,FLOW_DYN_APPS_GOV,2c6af4f1-e7b6-4d59-bbc8-eaa884f42d69,Power Automate for Dynamics 365 for Government +Microsoft Dynamics CRM Online Basic for Government,CRMPLAN2_GCC,3856cd1b-8033-458e-8d0f-9909ec6e6e6d,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government +Microsoft Dynamics CRM Online for Government,CRMSTANDARD_GCC,ba051a1a-4c3d-4ccd-9890-6fa6a4e696e7,CRMSTANDARD_GCC,2b8c7c8c-9db5-44a5-a1dd-f4aa5b97b372,Microsoft Dynamics CRM Online Professional for Government +Microsoft Dynamics CRM Online for Government,CRMSTANDARD_GCC,ba051a1a-4c3d-4ccd-9890-6fa6a4e696e7,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Microsoft Dynamics CRM Online for Government,CRMSTANDARD_GCC,ba051a1a-4c3d-4ccd-9890-6fa6a4e696e7,FLOW_DYN_APPS_GOV,2c6af4f1-e7b6-4d59-bbc8-eaa884f42d69,Power Automate for Dynamics 365 for Government +Microsoft Dynamics CRM Online for Government,CRMSTANDARD_GCC,ba051a1a-4c3d-4ccd-9890-6fa6a4e696e7,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government +Microsoft Azure Multi-Factor Authentication,MFA_STANDALONE,cb2020b1-d8f6-41c0-9acd-8ff3d6d7831b,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Microsoft Azure Multi-Factor Authentication,MFA_STANDALONE,cb2020b1-d8f6-41c0-9acd-8ff3d6d7831b,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft Defender for Office 365 (Plan 2),THREAT_INTELLIGENCE,3dd6cf57-d688-4eed-ba52-9e40b5468c3e,MTP,bf28f719-7844-4079-9c78-c1307898e192,Microsoft 365 Defender +Microsoft Defender for Office 365 (Plan 2),THREAT_INTELLIGENCE,3dd6cf57-d688-4eed-ba52-9e40b5468c3e,ATP_ENTERPRISE,f20fedf3-f3c3-43c3-8267-2bfdd51c0939,Microsoft Defender for Office 365 (Plan 1) +Microsoft Defender for Office 365 (Plan 2),THREAT_INTELLIGENCE,3dd6cf57-d688-4eed-ba52-9e40b5468c3e,THREAT_INTELLIGENCE,8e0c0a52-6a6c-4d40-8370-dd62790dcd70,Microsoft Defender for Office 365 (Plan 2) +Microsoft 365 A1,M365EDU_A1,b17653a4-2443-4e8c-a550-18249dda78bb,AAD_EDU,3a3976ce-de18-4a87-a78e-5e9245e252df,Microsoft Entra ID for Education +Microsoft 365 A1,M365EDU_A1,b17653a4-2443-4e8c-a550-18249dda78bb,INTUNE_EDU,da24caf9-af8e-485c-b7c8-e73336da2693,Intune for Education +Microsoft 365 A1,M365EDU_A1,b17653a4-2443-4e8c-a550-18249dda78bb,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune +Microsoft 365 A1,M365EDU_A1,b17653a4-2443-4e8c-a550-18249dda78bb,WINDOWS_STORE,a420f25f-a7b3-4ff5-a9d0-5d58f73b537d,Windows Store Service +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,AAD_BASIC_EDU,1d0f309f-fdf9-4b2a-9ae7-9c48b91f1426,Microsoft Entra ID Basic for Education +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,CDS_O365_P2,95b76021-6a53-4741-ab8b-1d1f3d66a95a,Common Data Service for Teams +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,EducationAnalyticsP1,a9b86446-fa4e-498f-a92a-41b447e03337,Education Analytics +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,MDE_LITE,292cc034-7b7c-4950-aaf5-943befd3f1d4,Microsoft Defender for Endpoint Plan 1 +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,OFFICE_FORMS_PLAN_2,9b5de886-f035-4ff2-b3d8-c9127bea3620,Microsoft Forms (Plan 2) +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,KAIZALA_O365_P3,aebd3021-9f8f-4bf8-bbe3-0ed2f4f047a1,Microsoft Kaizala Pro +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,STREAM_O365_E3,9e700747-8b1d-45e5-ab8d-ef187ceec156,Microsoft Stream for Office 365 E3 +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,MINECRAFT_EDUCATION_EDITION,4c246bbc-f513-4311-beff-eba54c353256,Minecraft Education Edition +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,ADALLOM_S_O365,8c098270-9dd4-4350-9b30-ba4703f3b36b,Office 365 Cloud App Security +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,SHAREPOINTWAC_EDU,e03c7e47-402c-463c-ab25-949079bedb21,Office for the Web for Education +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,PROJECT_O365_P2,31b4e2fc-4cd6-4e7d-9c1b-41407303bd66,Project for Office (Plan E3) +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,SCHOOL_DATA_SYNC_P2,500b6a2a-7a50-4f40-b5f9-160e5b8c2f48,School Data Sync (Plan 2) +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,SHAREPOINTENTERPRISE_EDU,63038b2c-28d0-45f6-bc36-33062963b498,SharePoint (Plan 2) for Education +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,BPOS_S_TODO_2,c87f142c-d1e9-4363-8630-aaea9c4d9ae5,To-Do (Plan 2) +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,WHITEBOARD_PLAN2,94a54592-cd8b-425e-87c6-97868b000b91,Whiteboard (Plan 2) +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,YAMMER_EDU,2078e8df-cff6-4290-98cb-5408261a760a,Yammer for Academic +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,Virtualization Rights for Windows 10 (E3/E5+VDA),e7c91390-7625-45be-94e0-e16907e03118,Windows 10/11 Enterprise +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,DYN365_CDS_O365_P2,4ff01e01-1ba7-4d71-8cf8-ce96c3bbcf14,Common Data Service +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,ADALLOM_S_DISCOVERY,932ad362-64a8-4783-9106-97849a1a30b9,Microsoft Defender for Cloud Apps Discovery +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,INTUNE_EDU,da24caf9-af8e-485c-b7c8-e73336da2693,Microsoft Intune for Education +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,POWERAPPS_O365_P2,c68f8d98-5534-41c8-bf36-22fa496fa792,Power Apps for Office 365 +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,FLOW_O365_P2,76846ad7-7776-4c40-a281-a386362dd1b9,Power Automate for Office 365 +Microsoft 365 A3 for Faculty,M365EDU_A3_FACULTY,4b590615-0888-425a-a965-b3bf7789848d,POWER_VIRTUAL_AGENTS_O365_P2,041fe683-03e4-45b6-b1af-c0cdc516daee,Power Virtual Agents for Office 365 +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,AAD_BASIC_EDU,1d0f309f-fdf9-4b2a-9ae7-9c48b91f1426,Microsoft Entra ID Basic for Education +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,CDS_O365_P2,95b76021-6a53-4741-ab8b-1d1f3d66a95a,Common Data Service for Teams +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,EducationAnalyticsP1,a9b86446-fa4e-498f-a92a-41b447e03337,Education Analytics +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,MDE_LITE,292cc034-7b7c-4950-aaf5-943befd3f1d4,Microsoft Defender for Endpoint Plan 1 +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,OFFICE_FORMS_PLAN_2,9b5de886-f035-4ff2-b3d8-c9127bea3620,Microsoft Forms (Plan 2) +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,KAIZALA_O365_P3,aebd3021-9f8f-4bf8-bbe3-0ed2f4f047a1,Microsoft Kaizala Pro +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,STREAM_O365_E3,9e700747-8b1d-45e5-ab8d-ef187ceec156,Microsoft Stream for Office 365 E3 +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,MINECRAFT_EDUCATION_EDITION,4c246bbc-f513-4311-beff-eba54c353256,Minecraft Education Edition +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,ADALLOM_S_O365,8c098270-9dd4-4350-9b30-ba4703f3b36b,Office 365 Cloud App Security +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,SHAREPOINTWAC_EDU,e03c7e47-402c-463c-ab25-949079bedb21,Office for the Web for Education +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,PROJECT_O365_P2,31b4e2fc-4cd6-4e7d-9c1b-41407303bd66,Project for Office (Plan E3) +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,SCHOOL_DATA_SYNC_P2,500b6a2a-7a50-4f40-b5f9-160e5b8c2f48,School Data Sync (Plan 2) +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,SHAREPOINTENTERPRISE_EDU,63038b2c-28d0-45f6-bc36-33062963b498,SharePoint (Plan 2) for Education +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,BPOS_S_TODO_2,c87f142c-d1e9-4363-8630-aaea9c4d9ae5,To-Do (Plan 2) +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,WHITEBOARD_PLAN2,94a54592-cd8b-425e-87c6-97868b000b91,Whiteboard (Plan 2) +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,YAMMER_EDU,2078e8df-cff6-4290-98cb-5408261a760a,Yammer for Academic +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,Virtualization Rights for Windows 10 (E3/E5+VDA),e7c91390-7625-45be-94e0-e16907e03118,Windows 10/11 Enterprise +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,DYN365_CDS_O365_P2,4ff01e01-1ba7-4d71-8cf8-ce96c3bbcf14,Common Data Service +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,ADALLOM_S_DISCOVERY,932ad362-64a8-4783-9106-97849a1a30b9,Microsoft Defender for Cloud Apps Discovery +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,INTUNE_EDU,da24caf9-af8e-485c-b7c8-e73336da2693,Microsoft Intune for Education +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,POWERAPPS_O365_P2,c68f8d98-5534-41c8-bf36-22fa496fa792,Power Apps for Office 365 +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,FLOW_O365_P2,76846ad7-7776-4c40-a281-a386362dd1b9,Power Automate for Office 365 +Microsoft 365 A3 for Students,M365EDU_A3_STUDENT,7cfd9a2b-e110-4c39-bf20-c6a3f36a3121,POWER_VIRTUAL_AGENTS_O365_P2,041fe683-03e4-45b6-b1af-c0cdc516daee,Power Virtual Agents for Office 365 +Microsoft 365 A3 for students use benefit,M365EDU_A3_STUUSEBNFT,18250162-5d87-4436-a834-d795c15c80f3,AAD_BASIC_EDU,1d0f309f-fdf9-4b2a-9ae7-9c48b91f1426,Microsoft Entra ID Basic for Education +Microsoft 365 A3 for students use benefit,M365EDU_A3_STUUSEBNFT,18250162-5d87-4436-a834-d795c15c80f3,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Microsoft 365 A3 for students use benefit,M365EDU_A3_STUUSEBNFT,18250162-5d87-4436-a834-d795c15c80f3,EducationAnalyticsP1,a9b86446-fa4e-498f-a92a-41b447e03337,Education Analytics +Microsoft 365 A3 for students use benefit,M365EDU_A3_STUUSEBNFT,18250162-5d87-4436-a834-d795c15c80f3,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Microsoft 365 A3 for students use benefit,M365EDU_A3_STUUSEBNFT,18250162-5d87-4436-a834-d795c15c80f3,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Microsoft 365 A3 for students use benefit,M365EDU_A3_STUUSEBNFT,18250162-5d87-4436-a834-d795c15c80f3,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Microsoft 365 A3 for students use benefit,M365EDU_A3_STUUSEBNFT,18250162-5d87-4436-a834-d795c15c80f3,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise +Microsoft 365 A3 for students use benefit,M365EDU_A3_STUUSEBNFT,18250162-5d87-4436-a834-d795c15c80f3,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft 365 A3 for students use benefit,M365EDU_A3_STUUSEBNFT,18250162-5d87-4436-a834-d795c15c80f3,OFFICE_FORMS_PLAN_2,9b5de886-f035-4ff2-b3d8-c9127bea3620,Microsoft Forms (Plan 2) +Microsoft 365 A3 for students use benefit,M365EDU_A3_STUUSEBNFT,18250162-5d87-4436-a834-d795c15c80f3,KAIZALA_O365_P3,aebd3021-9f8f-4bf8-bbe3-0ed2f4f047a1,Microsoft Kaizala Pro +Microsoft 365 A3 for students use benefit,M365EDU_A3_STUUSEBNFT,18250162-5d87-4436-a834-d795c15c80f3,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 A3 for students use benefit,M365EDU_A3_STUUSEBNFT,18250162-5d87-4436-a834-d795c15c80f3,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 A3 for students use benefit,M365EDU_A3_STUUSEBNFT,18250162-5d87-4436-a834-d795c15c80f3,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft 365 A3 for students use benefit,M365EDU_A3_STUUSEBNFT,18250162-5d87-4436-a834-d795c15c80f3,STREAM_O365_E3,9e700747-8b1d-45e5-ab8d-ef187ceec156,Microsoft Stream for Office 365 E3 +Microsoft 365 A3 for students use benefit,M365EDU_A3_STUUSEBNFT,18250162-5d87-4436-a834-d795c15c80f3,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft 365 A3 for students use benefit,M365EDU_A3_STUUSEBNFT,18250162-5d87-4436-a834-d795c15c80f3,MINECRAFT_EDUCATION_EDITION,4c246bbc-f513-4311-beff-eba54c353256,Minecraft Education Edition +Microsoft 365 A3 for students use benefit,M365EDU_A3_STUUSEBNFT,18250162-5d87-4436-a834-d795c15c80f3,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 A3 for students use benefit,M365EDU_A3_STUUSEBNFT,18250162-5d87-4436-a834-d795c15c80f3,ADALLOM_S_O365,8c098270-9dd4-4350-9b30-ba4703f3b36b,Office 365 Cloud App Security +Microsoft 365 A3 for students use benefit,M365EDU_A3_STUUSEBNFT,18250162-5d87-4436-a834-d795c15c80f3,SHAREPOINTWAC_EDU,e03c7e47-402c-463c-ab25-949079bedb21,Office for the Web for Education +Microsoft 365 A3 for students use benefit,M365EDU_A3_STUUSEBNFT,18250162-5d87-4436-a834-d795c15c80f3,PROJECT_O365_P2,31b4e2fc-4cd6-4e7d-9c1b-41407303bd66,Project for Office (Plan E3) +Microsoft 365 A3 for students use benefit,M365EDU_A3_STUUSEBNFT,18250162-5d87-4436-a834-d795c15c80f3,SCHOOL_DATA_SYNC_P2,500b6a2a-7a50-4f40-b5f9-160e5b8c2f48,School Data Sync (Plan 2) +Microsoft 365 A3 for students use benefit,M365EDU_A3_STUUSEBNFT,18250162-5d87-4436-a834-d795c15c80f3,SHAREPOINTENTERPRISE_EDU,63038b2c-28d0-45f6-bc36-33062963b498,SharePoint (Plan 2) for Education +Microsoft 365 A3 for students use benefit,M365EDU_A3_STUUSEBNFT,18250162-5d87-4436-a834-d795c15c80f3,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft 365 A3 for students use benefit,M365EDU_A3_STUUSEBNFT,18250162-5d87-4436-a834-d795c15c80f3,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 A3 for students use benefit,M365EDU_A3_STUUSEBNFT,18250162-5d87-4436-a834-d795c15c80f3,BPOS_S_TODO_2,c87f142c-d1e9-4363-8630-aaea9c4d9ae5,To-Do (Plan 2) +Microsoft 365 A3 for students use benefit,M365EDU_A3_STUUSEBNFT,18250162-5d87-4436-a834-d795c15c80f3,WHITEBOARD_PLAN2,94a54592-cd8b-425e-87c6-97868b000b91,Whiteboard (Plan 2) +Microsoft 365 A3 for students use benefit,M365EDU_A3_STUUSEBNFT,18250162-5d87-4436-a834-d795c15c80f3,YAMMER_EDU,2078e8df-cff6-4290-98cb-5408261a760a,Yammer for Academic +Microsoft 365 A3 for students use benefit,M365EDU_A3_STUUSEBNFT,18250162-5d87-4436-a834-d795c15c80f3,UNIVERSAL_PRINT_NO_SEEDING,b67adbaf-a096-42c9-967e-5a84edbe0086,Universal Print Without Seeding +Microsoft 365 A3 for students use benefit,M365EDU_A3_STUUSEBNFT,18250162-5d87-4436-a834-d795c15c80f3,Virtualization Rights for Windows 10 (E3/E5+VDA),e7c91390-7625-45be-94e0-e16907e03118,Windows 10/11 Enterprise +Microsoft 365 A3 for students use benefit,M365EDU_A3_STUUSEBNFT,18250162-5d87-4436-a834-d795c15c80f3,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 A3 for students use benefit,M365EDU_A3_STUUSEBNFT,18250162-5d87-4436-a834-d795c15c80f3,DYN365_CDS_O365_P2,4ff01e01-1ba7-4d71-8cf8-ce96c3bbcf14,Common Data Service +Microsoft 365 A3 for students use benefit,M365EDU_A3_STUUSEBNFT,18250162-5d87-4436-a834-d795c15c80f3,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 A3 for students use benefit,M365EDU_A3_STUUSEBNFT,18250162-5d87-4436-a834-d795c15c80f3,ADALLOM_S_DISCOVERY,932ad362-64a8-4783-9106-97849a1a30b9,Microsoft Defender for Cloud Apps Discovery +Microsoft 365 A3 for students use benefit,M365EDU_A3_STUUSEBNFT,18250162-5d87-4436-a834-d795c15c80f3,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune +Microsoft 365 A3 for students use benefit,M365EDU_A3_STUUSEBNFT,18250162-5d87-4436-a834-d795c15c80f3,INTUNE_EDU,da24caf9-af8e-485c-b7c8-e73336da2693,Microsoft Intune for Education +Microsoft 365 A3 for students use benefit,M365EDU_A3_STUUSEBNFT,18250162-5d87-4436-a834-d795c15c80f3,POWERAPPS_O365_P2,c68f8d98-5534-41c8-bf36-22fa496fa792,Power Apps for Office 365 +Microsoft 365 A3 for students use benefit,M365EDU_A3_STUUSEBNFT,18250162-5d87-4436-a834-d795c15c80f3,FLOW_O365_P2,76846ad7-7776-4c40-a281-a386362dd1b9,Power Automate for Office 365 +Microsoft 365 A3 Suite features for faculty,Microsoft 365 A3 Suite features for faculty,32a0e471-8a27-4167-b24f-941559912425,MDE_LITE,292cc034-7b7c-4950-aaf5-943befd3f1d4,Microsoft Defender for Endpoint Plan 1 +Microsoft 365 A3 Suite features for faculty,Microsoft 365 A3 Suite features for faculty,32a0e471-8a27-4167-b24f-941559912425,INTUNE_EDU,da24caf9-af8e-485c-b7c8-e73336da2693,Microsoft Intune Plan 1 for Education +Microsoft 365 A3 Suite features for faculty,Microsoft 365 A3 Suite features for faculty,32a0e471-8a27-4167-b24f-941559912425,REMOTE_HELP,a4c6cf29-1168-4076-ba5c-e8fe0e62b17e,Remote help +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,AAD_BASIC_EDU,1d0f309f-fdf9-4b2a-9ae7-9c48b91f1426,Microsoft Entra ID Basic for Education +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,EducationAnalyticsP1,a9b86446-fa4e-498f-a92a-41b447e03337,Education Analytics +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,OFFICESUBSCRIPTION_unattended,8d77e2d9-9e28-4450-8431-0def64078fc5,Microsoft 365 Apps for Enterprise (Unattended) +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,OFFICE_FORMS_PLAN_2,9b5de886-f035-4ff2-b3d8-c9127bea3620,Microsoft Forms (Plan 2) +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,KAIZALA_O365_P3,aebd3021-9f8f-4bf8-bbe3-0ed2f4f047a1,Microsoft Kaizala Pro +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,STREAM_O365_E3,9e700747-8b1d-45e5-ab8d-ef187ceec156,Microsoft Stream for Office 365 E3 +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,MINECRAFT_EDUCATION_EDITION,4c246bbc-f513-4311-beff-eba54c353256,Minecraft Education Edition +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,ADALLOM_S_O365,8c098270-9dd4-4350-9b30-ba4703f3b36b,Office 365 Cloud App Security +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,SHAREPOINTWAC_EDU,e03c7e47-402c-463c-ab25-949079bedb21,Office for the Web for Education +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,PROJECT_O365_P2,31b4e2fc-4cd6-4e7d-9c1b-41407303bd66,Project for Office (Plan E3) +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,SCHOOL_DATA_SYNC_P2,500b6a2a-7a50-4f40-b5f9-160e5b8c2f48,School Data Sync (Plan 2) +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,SHAREPOINTENTERPRISE_EDU,63038b2c-28d0-45f6-bc36-33062963b498,SharePoint (Plan 2) for Education +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,BPOS_S_TODO_2,c87f142c-d1e9-4363-8630-aaea9c4d9ae5,To-Do (Plan 2) +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,WHITEBOARD_PLAN2,94a54592-cd8b-425e-87c6-97868b000b91,Whiteboard (Plan 2) +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,YAMMER_EDU,2078e8df-cff6-4290-98cb-5408261a760a,Yammer for Academic +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,UNIVERSAL_PRINT_NO_SEEDING,b67adbaf-a096-42c9-967e-5a84edbe0086,Universal Print Without Seeding +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,Virtualization Rights for Windows 10 (E3/E5+VDA),e7c91390-7625-45be-94e0-e16907e03118,Windows 10/11 Enterprise +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,DYN365_CDS_O365_P2,4ff01e01-1ba7-4d71-8cf8-ce96c3bbcf14,Common Data Service +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,ADALLOM_S_DISCOVERY,932ad362-64a8-4783-9106-97849a1a30b9,Microsoft Defender for Cloud Apps Discovery +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,INTUNE_EDU,da24caf9-af8e-485c-b7c8-e73336da2693,Microsoft Intune for Education +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,POWERAPPS_O365_P2,c68f8d98-5534-41c8-bf36-22fa496fa792,Power Apps for Office 365 +Microsoft 365 A3 - Unattended License for students use benefit,M365EDU_A3_STUUSEBNFT_RPA1,1aa94593-ca12-4254-a738-81a5972958e8,FLOW_O365_P2,76846ad7-7776-4c40-a281-a386362dd1b9,Power Automate for Office 365 +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,AAD_BASIC_EDU,1d0f309f-fdf9-4b2a-9ae7-9c48b91f1426,Microsoft Entra ID Basic for Education +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,CDS_O365_P3,afa73018-811e-46e9-988f-f75d2b1b8430,Common Data Service for Teams +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,EducationAnalyticsP1,a9b86446-fa4e-498f-a92a-41b447e03337,Education Analytics +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for Enterprise +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,Microsoft 365 Communication Compliance +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,MTP,bf28f719-7844-4079-9c78-c1307898e192,Microsoft 365 Defender +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,COMMUNICATIONS_DLP,6dc145d6-95dd-4191-b9c3-185575ee6f6b,Microsoft Communications DLP +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,CUSTOMER_KEY,6db1f1db-2b46-403f-be40-e39395f08dbb,Microsoft Customer Key +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,DATA_INVESTIGATIONS,46129a58-a698-46f0-aa5b-17f6586297d9,Microsoft Data Investigations +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,ATP_ENTERPRISE,f20fedf3-f3c3-43c3-8267-2bfdd51c0939,Microsoft Defender for Office 365 (Plan 1) +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,THREAT_INTELLIGENCE,8e0c0a52-6a6c-4d40-8370-dd62790dcd70,Microsoft Defender for Office 365 (Plan 2) +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,EXCEL_PREMIUM,531ee2f8-b1cb-453b-9c21-d2180d014ca5,Microsoft Excel Advanced Analytics +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,OFFICE_FORMS_PLAN_3,96c1e14a-ef43-418d-b115-9636cdaa8eed,Microsoft Forms (Plan 3) +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,INFO_GOVERNANCE,e26c2fcc-ab91-4a61-b35c-03cdc8dddf66,Microsoft Information Governance +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,INSIDER_RISK,d587c7a3-bda9-4f99-8776-9bcf59c84f75,Microsoft Insider Risk Management +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,KAIZALA_STANDALONE,0898bdbb-73b0-471a-81e5-20f1fe4dd66e,Microsoft Kaizala Pro +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,ML_CLASSIFICATION,d2d51368-76c9-4317-ada2-a12c004c432f,Microsoft ML-Based Classification +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,EXCHANGE_ANALYTICS,34c0d7a0-a70f-4668-9238-47f9fc208882,Microsoft MyAnalytics (Full) +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,RECORDS_MANAGEMENT,65cc641f-cccd-4643-97e0-a17e3045e541,Microsoft Records Management +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,STREAM_O365_E5,6c6042f5-6f01-4d67-b8c1-eb99d36eed3e,Microsoft Stream for Office 365 E5 +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,MINECRAFT_EDUCATION_EDITION,4c246bbc-f513-4311-beff-eba54c353256,Minecraft Education Edition +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,EQUIVIO_ANALYTICS,4de31727-a228-4ec3-a5bf-8e45b5ca48cc,Office 365 Advanced eDiscovery +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,ADALLOM_S_O365,8c098270-9dd4-4350-9b30-ba4703f3b36b,Office 365 Cloud App Security +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,PAM_ENTERPRISE,b1188c4c-1b36-4018-b48b-ee07604f6feb,Office 365 Privileged Access Management +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,SAFEDOCS,bf6f5520-59e3-4f82-974b-7dbbc4fd27c7,Office 365 SafeDocs +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,SHAREPOINTWAC_EDU,e03c7e47-402c-463c-ab25-949079bedb21,Office for the Web for Education +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,POWERAPPS_O365_P3,9c0dab89-a30c-4117-86e7-97bda240acd2,Power Apps for Office 365 (Plan 3) +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,BI_AZURE_P2,70d33638-9c74-4d01-bfd3-562de28bd4ba,Power BI Pro +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,PREMIUM_ENCRYPTION,617b097b-4b93-4ede-83de-5f075bb5fb2f,Premium Encryption in Office 365 +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,PROJECT_O365_P3,b21a6b06-1988-436e-a07b-51ec6d9f52ad,Project for Office (Plan E5) +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,COMMUNICATIONS_COMPLIANCE,41fcdd7d-4733-4863-9cf4-c65b83ce2df4,Microsoft Communications Compliance +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,INSIDER_RISK_MANAGEMENT,9d0c4ee5-e4a1-4625-ab39-d82b619b1a34,Microsoft Insider Risk Management +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,SCHOOL_DATA_SYNC_P2,500b6a2a-7a50-4f40-b5f9-160e5b8c2f48,School Data Sync (Plan 2) +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,SHAREPOINTENTERPRISE_EDU,63038b2c-28d0-45f6-bc36-33062963b498,SharePoint (Plan 2) for Education +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,BPOS_S_TODO_3,3fb82609-8c27-4f7b-bd51-30634711ee67,To-Do (Plan 3) +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,YAMMER_EDU,2078e8df-cff6-4290-98cb-5408261a760a,Yammer for Academic +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,Microsoft Defender for Endpoint +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,MICROSOFTENDPOINTDLP,64bfac92-2b17-4482-b5e5-a0304429de3e,Microsoft Endpoint DLP +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,Virtualization Rights for Windows 10 (E3/E5+VDA),e7c91390-7625-45be-94e0-e16907e03118,Windows 10/11 Enterprise +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,AAD_PREMIUM_P2,eec0eb4f-6444-4f95-aba0-50c24d67f998,Microsoft Entra ID P2 +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,RMS_S_PREMIUM2,5689bec4-755d-4753-8b61-40975025187c,Azure Information Protection Premium P2 +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,DYN365_CDS_O365_P3,28b0fa46-c39a-4188-89e2-58e979a6b014,Common Data Service +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,ADALLOM_S_STANDALONE,2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2,Microsoft Defender for Cloud Apps +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,ATA,14ab5db5-e6c4-4b20-b4bc-13e36fd2227f,Microsoft Defender for Identity +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,INTUNE_EDU,da24caf9-af8e-485c-b7c8-e73336da2693,Microsoft Intune for Education +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,FLOW_O365_P3,07699545-9485-468e-95b6-2fca3738be01,Power Automate for Office 365 +Microsoft 365 A5 for Faculty,M365EDU_A5_FACULTY,e97c048c-37a4-45fb-ab50-922fbf07a370,POWER_VIRTUAL_AGENTS_O365_P3,ded3d325-1bdc-453e-8432-5bac26d7a014,Power Virtual Agents for Office 365 +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,AAD_BASIC_EDU,1d0f309f-fdf9-4b2a-9ae7-9c48b91f1426,Microsoft Entra ID Basic for Education +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,CDS_O365_P3,afa73018-811e-46e9-988f-f75d2b1b8430,Common Data Service for Teams +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,EducationAnalyticsP1,a9b86446-fa4e-498f-a92a-41b447e03337,Education Analytics +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for Enterprise +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,Microsoft 365 Communication Compliance +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,MTP,bf28f719-7844-4079-9c78-c1307898e192,Microsoft 365 Defender +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,COMMUNICATIONS_DLP,6dc145d6-95dd-4191-b9c3-185575ee6f6b,Microsoft Communications DLP +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,CUSTOMER_KEY,6db1f1db-2b46-403f-be40-e39395f08dbb,Microsoft Customer Key +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,DATA_INVESTIGATIONS,46129a58-a698-46f0-aa5b-17f6586297d9,Microsoft Data Investigations +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,ATP_ENTERPRISE,f20fedf3-f3c3-43c3-8267-2bfdd51c0939,Microsoft Defender for Office 365 (Plan 1) +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,THREAT_INTELLIGENCE,8e0c0a52-6a6c-4d40-8370-dd62790dcd70,Microsoft Defender for Office 365 (Plan 2) +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,EXCEL_PREMIUM,531ee2f8-b1cb-453b-9c21-d2180d014ca5,Microsoft Excel Advanced Analytics +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,OFFICE_FORMS_PLAN_3,96c1e14a-ef43-418d-b115-9636cdaa8eed,Microsoft Forms (Plan 3) +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,INFO_GOVERNANCE,e26c2fcc-ab91-4a61-b35c-03cdc8dddf66,Microsoft Information Governance +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,INSIDER_RISK,d587c7a3-bda9-4f99-8776-9bcf59c84f75,Microsoft Insider Risk Management +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,KAIZALA_STANDALONE,0898bdbb-73b0-471a-81e5-20f1fe4dd66e,Microsoft Kaizala Pro +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,ML_CLASSIFICATION,d2d51368-76c9-4317-ada2-a12c004c432f,Microsoft ML-Based Classification +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,EXCHANGE_ANALYTICS,34c0d7a0-a70f-4668-9238-47f9fc208882,Microsoft MyAnalytics (Full) +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,RECORDS_MANAGEMENT,65cc641f-cccd-4643-97e0-a17e3045e541,Microsoft Records Management +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,STREAM_O365_E5,6c6042f5-6f01-4d67-b8c1-eb99d36eed3e,Microsoft Stream for Office 365 E5 +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,MINECRAFT_EDUCATION_EDITION,4c246bbc-f513-4311-beff-eba54c353256,Minecraft Education Edition +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,EQUIVIO_ANALYTICS,4de31727-a228-4ec3-a5bf-8e45b5ca48cc,Office 365 Advanced eDiscovery +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,ADALLOM_S_O365,8c098270-9dd4-4350-9b30-ba4703f3b36b,Office 365 Cloud App Security +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,PAM_ENTERPRISE,b1188c4c-1b36-4018-b48b-ee07604f6feb,Office 365 Privileged Access Management +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,SAFEDOCS,bf6f5520-59e3-4f82-974b-7dbbc4fd27c7,Office 365 SafeDocs +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,SHAREPOINTWAC_EDU,e03c7e47-402c-463c-ab25-949079bedb21,Office for the Web for Education +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,POWERAPPS_O365_P3,9c0dab89-a30c-4117-86e7-97bda240acd2,Power Apps for Office 365 (Plan 3) +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,BI_AZURE_P2,70d33638-9c74-4d01-bfd3-562de28bd4ba,Power BI Pro +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,PREMIUM_ENCRYPTION,617b097b-4b93-4ede-83de-5f075bb5fb2f,Premium Encryption in Office 365 +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,PROJECT_O365_P3,b21a6b06-1988-436e-a07b-51ec6d9f52ad,Project for Office (Plan E5) +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,COMMUNICATIONS_COMPLIANCE,41fcdd7d-4733-4863-9cf4-c65b83ce2df4,RETIRED - Microsoft Communications Compliance +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,INSIDER_RISK_MANAGEMENT,9d0c4ee5-e4a1-4625-ab39-d82b619b1a34,RETIRED - Microsoft Insider Risk Management +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,SCHOOL_DATA_SYNC_P2,500b6a2a-7a50-4f40-b5f9-160e5b8c2f48,School Data Sync (Plan 2) +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,SHAREPOINTENTERPRISE_EDU,63038b2c-28d0-45f6-bc36-33062963b498,SharePoint (Plan 2) for Education +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,BPOS_S_TODO_3,3fb82609-8c27-4f7b-bd51-30634711ee67,To-Do (Plan 3) +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,YAMMER_EDU,2078e8df-cff6-4290-98cb-5408261a760a,Yammer for Academic +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,Microsoft Defender for Endpoint +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,MICROSOFTENDPOINTDLP,64bfac92-2b17-4482-b5e5-a0304429de3e,Microsoft Endpoint DLP +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,Virtualization Rights for Windows 10 (E3/E5+VDA),e7c91390-7625-45be-94e0-e16907e03118,Windows 10/11 Enterprise +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,AAD_PREMIUM_P2,eec0eb4f-6444-4f95-aba0-50c24d67f998,Microsoft Entra ID P2 +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,RMS_S_PREMIUM2,5689bec4-755d-4753-8b61-40975025187c,Azure Information Protection Premium P2 +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,DYN365_CDS_O365_P3,28b0fa46-c39a-4188-89e2-58e979a6b014,Common Data Service +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,ADALLOM_S_STANDALONE,2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2,Microsoft Defender for Cloud Apps +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,ATA,14ab5db5-e6c4-4b20-b4bc-13e36fd2227f,Microsoft Defender for Identity +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,INTUNE_EDU,da24caf9-af8e-485c-b7c8-e73336da2693,Microsoft Intune for Education +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,FLOW_O365_P3,07699545-9485-468e-95b6-2fca3738be01,Power Automate for Office 365 +Microsoft 365 A5 for Students,M365EDU_A5_STUDENT,46c119d4-0379-4a9d-85e4-97c66d3f909e,POWER_VIRTUAL_AGENTS_O365_P3,ded3d325-1bdc-453e-8432-5bac26d7a014,Power Virtual Agents for Office 365 +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,AAD_BASIC_EDU,1d0f309f-fdf9-4b2a-9ae7-9c48b91f1426,Microsoft Entra ID Basic for Education +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,EducationAnalyticsP1,a9b86446-fa4e-498f-a92a-41b447e03337,Education Analytics +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for Enterprise +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,MTP,bf28f719-7844-4079-9c78-c1307898e192,Microsoft 365 Defender +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,ATP_ENTERPRISE,f20fedf3-f3c3-43c3-8267-2bfdd51c0939,Microsoft Defender for Office 365 (Plan 1) +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,THREAT_INTELLIGENCE,8e0c0a52-6a6c-4d40-8370-dd62790dcd70,Microsoft Defender for Office 365 (Plan 2) +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,OFFICE_FORMS_PLAN_2,9b5de886-f035-4ff2-b3d8-c9127bea3620,Microsoft Forms (Plan 2) +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,KAIZALA_STANDALONE,0898bdbb-73b0-471a-81e5-20f1fe4dd66e,Microsoft Kaizala Pro +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,STREAM_O365_E3,9e700747-8b1d-45e5-ab8d-ef187ceec156,Microsoft Stream for Office 365 E3 +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,MINECRAFT_EDUCATION_EDITION,4c246bbc-f513-4311-beff-eba54c353256,Minecraft Education Edition +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,ADALLOM_S_O365,8c098270-9dd4-4350-9b30-ba4703f3b36b,Office 365 Cloud App Security +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,SAFEDOCS,bf6f5520-59e3-4f82-974b-7dbbc4fd27c7,Office 365 SafeDocs +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,SHAREPOINTWAC_EDU,e03c7e47-402c-463c-ab25-949079bedb21,Office for the Web for Education +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,PROJECT_O365_P3,b21a6b06-1988-436e-a07b-51ec6d9f52ad,Project for Office (Plan E5) +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,SCHOOL_DATA_SYNC_P2,500b6a2a-7a50-4f40-b5f9-160e5b8c2f48,School Data Sync (Plan 2) +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,SHAREPOINTENTERPRISE_EDU,63038b2c-28d0-45f6-bc36-33062963b498,SharePoint (Plan 2) for Education +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,BPOS_S_TODO_2,c87f142c-d1e9-4363-8630-aaea9c4d9ae5,To-Do (Plan 2) +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,YAMMER_EDU,2078e8df-cff6-4290-98cb-5408261a760a,Yammer for Academic +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,UNIVERSAL_PRINT_NO_SEEDING,b67adbaf-a096-42c9-967e-5a84edbe0086,Universal Print Without Seeding +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,Virtualization Rights for Windows 10 (E3/E5+VDA),e7c91390-7625-45be-94e0-e16907e03118,Windows 10/11 Enterprise +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,AAD_PREMIUM_P2,eec0eb4f-6444-4f95-aba0-50c24d67f998,Microsoft Entra ID P2 +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,DYN365_CDS_O365_P3,28b0fa46-c39a-4188-89e2-58e979a6b014,Common Data Service +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,ADALLOM_S_STANDALONE,2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2,Microsoft Defender for Cloud Apps +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,ADALLOM_S_DISCOVERY,932ad362-64a8-4783-9106-97849a1a30b9,Microsoft Defender for Cloud Apps Discovery +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,ATA,14ab5db5-e6c4-4b20-b4bc-13e36fd2227f,Microsoft Defender for Identity +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,INTUNE_EDU,da24caf9-af8e-485c-b7c8-e73336da2693,Microsoft Intune for Education +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,POWERAPPS_O365_P2,c68f8d98-5534-41c8-bf36-22fa496fa792,Power Apps for Office 365 +Microsoft 365 A5 for students use benefit,M365EDU_A5_STUUSEBNFT,31d57bc7-3a05-4867-ab53-97a17835a411,FLOW_O365_P2,76846ad7-7776-4c40-a281-a386362dd1b9,Power Automate for Office 365 +Microsoft 365 A5 Suite features for faculty,M365_A5_SUITE_COMPONENTS_FACULTY,9b8fe788-6174-4c4e-983b-3330c93ec278,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics – Premium +Microsoft 365 A5 Suite features for faculty,M365_A5_SUITE_COMPONENTS_FACULTY,9b8fe788-6174-4c4e-983b-3330c93ec278,INSIDER_RISK,d587c7a3-bda9-4f99-8776-9bcf59c84f75,Microsoft Insider Risk Management +Microsoft 365 A5 Suite features for faculty,M365_A5_SUITE_COMPONENTS_FACULTY,9b8fe788-6174-4c4e-983b-3330c93ec278,ML_CLASSIFICATION,d2d51368-76c9-4317-ada2-a12c004c432f,Microsoft ML-Based Classification +Microsoft 365 A5 Suite features for faculty,M365_A5_SUITE_COMPONENTS_FACULTY,9b8fe788-6174-4c4e-983b-3330c93ec278,SAFEDOCS,bf6f5520-59e3-4f82-974b-7dbbc4fd27c7,Office 365 SafeDocs +Microsoft 365 A5 Suite features for faculty,M365_A5_SUITE_COMPONENTS_FACULTY,9b8fe788-6174-4c4e-983b-3330c93ec278,MICROSOFTENDPOINTDLP,64bfac92-2b17-4482-b5e5-a0304429de3e,Microsoft Endpoint DLP +Microsoft 365 A5 Suite features for faculty,M365_A5_SUITE_COMPONENTS_FACULTY,9b8fe788-6174-4c4e-983b-3330c93ec278,INTUNE_EDU,da24caf9-af8e-485c-b7c8-e73336da2693,Microsoft Intune Plan 1 for Education +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,AAD_BASIC_EDU,1d0f309f-fdf9-4b2a-9ae7-9c48b91f1426,Microsoft Entra ID Basic for EDU +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,AAD_PREMIUM_P2,eec0eb4f-6444-4f95-aba0-50c24d67f998,Microsoft Entra ID P2 +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,DYN365_CDS_O365_P3,28b0fa46-c39a-4188-89e2-58e979a6b014,Common Data Service - O365 P3 +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,EducationAnalyticsP1,a9b86446-fa4e-498f-a92a-41b447e03337,Education Analytics +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium) +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,INTUNE_EDU,da24caf9-af8e-485c-b7c8-e73336da2693,Intune for Education +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,MTP,bf28f719-7844-4079-9c78-c1307898e192,Microsoft 365 Defender +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Microsoft Microsoft Entra Rights +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,ADALLOM_S_STANDALONE,2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2,Microsoft Cloud App Security +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,ATA,14ab5db5-e6c4-4b20-b4bc-13e36fd2227f,Microsoft Defender for Identity +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,ATP_ENTERPRISE,f20fedf3-f3c3-43c3-8267-2bfdd51c0939,Microsoft Defender for Office 365 (Plan 1) +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,THREAT_INTELLIGENCE,8e0c0a52-6a6c-4d40-8370-dd62790dcd70,Microsoft Defender for Office 365 (Plan 2) +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,OFFICE_FORMS_PLAN_2,9b5de886-f035-4ff2-b3d8-c9127bea3620,Microsoft Forms (Plan 2) +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,KAIZALA_STANDALONE,0898bdbb-73b0-471a-81e5-20f1fe4dd66e,Microsoft Kaizala +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,STREAM_O365_E3,9e700747-8b1d-45e5-ab8d-ef187ceec156,Microsoft Stream for O365 E3 SKU +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,MINECRAFT_EDUCATION_EDITION,4c246bbc-f513-4311-beff-eba54c353256,Minecraft Education Edition +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,ADALLOM_S_O365,8c098270-9dd4-4350-9b30-ba4703f3b36b,Office 365 Advanced Security Management +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,SAFEDOCS,bf6f5520-59e3-4f82-974b-7dbbc4fd27c7,Office 365 SafeDocs +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,SHAREPOINTWAC_EDU,e03c7e47-402c-463c-ab25-949079bedb21,Office for the web (Education) +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,POWERAPPS_O365_P2,c68f8d98-5534-41c8-bf36-22fa496fa792,Power Apps for Office 365 +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,FLOW_O365_P2,76846ad7-7776-4c40-a281-a386362dd1b9,Power Automate for Office 365 +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,PROJECT_O365_P3,b21a6b06-1988-436e-a07b-51ec6d9f52ad,Project for Office (Plan E5) +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,SCHOOL_DATA_SYNC_P2,500b6a2a-7a50-4f40-b5f9-160e5b8c2f48,School Data Sync (Plan 2) +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,SHAREPOINTENTERPRISE_EDU,63038b2c-28d0-45f6-bc36-33062963b498,SharePoint Plan 2 for EDU +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,BPOS_S_TODO_2,c87f142c-d1e9-4363-8630-aaea9c4d9ae5,To-Do (Plan 2) +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,UNIVERSAL_PRINT_NO_SEEDING,b67adbaf-a096-42c9-967e-5a84edbe0086,Universal Print Without Seeding +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,Virtualization Rights for Windows 10 (E3/E5+VDA),e7c91390-7625-45be-94e0-e16907e03118,Windows 10 Enterprise (New) +Microsoft 365 A5 without Audio Conferencing for students use benefit,M365EDU_A5_NOPSTNCONF_STUUSEBNFT,81441ae1-0b31-4185-a6c0-32b6b84d419f,YAMMER_EDU,2078e8df-cff6-4290-98cb-5408261a760a,Yammer for Academic +Microsoft 365 Apps for Business,O365_BUSINESS,cdd28e44-67e3-425e-be4c-737fab2899d3,FORMS_PLAN_E1,159f4cd6-e380-449f-a816-af1a9ef76344,MICROSOFT FORMS (PLAN E1) +Microsoft 365 Apps for Business,O365_BUSINESS,cdd28e44-67e3-425e-be4c-737fab2899d3,OFFICE_BUSINESS,094e7854-93fc-4d55-b2c0-3ab5369ebdc1,OFFICE 365 BUSINESS +Microsoft 365 Apps for Business,O365_BUSINESS,cdd28e44-67e3-425e-be4c-737fab2899d3,ONEDRIVESTANDARD,13696edf-5a08-49f6-8134-03083ed8ba30,ONEDRIVESTANDARD +Microsoft 365 Apps for Business,O365_BUSINESS,cdd28e44-67e3-425e-be4c-737fab2899d3,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,OFFICE ONLINE +Microsoft 365 Apps for Business,O365_BUSINESS,cdd28e44-67e3-425e-be4c-737fab2899d3,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,SWAY +Microsoft 365 Apps for Business,SMB_BUSINESS,b214fe43-f5a3-4703-beeb-fa97188220fc,FORMS_PLAN_E1,159f4cd6-e380-449f-a816-af1a9ef76344,MICROSOFT FORMS (PLAN E1) +Microsoft 365 Apps for Business,SMB_BUSINESS,b214fe43-f5a3-4703-beeb-fa97188220fc,OFFICE_BUSINESS,094e7854-93fc-4d55-b2c0-3ab5369ebdc1,OFFICE 365 BUSINESS +Microsoft 365 Apps for Business,SMB_BUSINESS,b214fe43-f5a3-4703-beeb-fa97188220fc,ONEDRIVESTANDARD,13696edf-5a08-49f6-8134-03083ed8ba30,ONEDRIVESTANDARD +Microsoft 365 Apps for Business,SMB_BUSINESS,b214fe43-f5a3-4703-beeb-fa97188220fc,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,OFFICE ONLINE +Microsoft 365 Apps for Business,SMB_BUSINESS,b214fe43-f5a3-4703-beeb-fa97188220fc,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,SWAY +Microsoft 365 Apps for Enterprise,OFFICESUBSCRIPTION,c2273bd0-dff7-4215-9ef5-2c7bcfb06425,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Microsoft 365 Apps for Enterprise,OFFICESUBSCRIPTION,c2273bd0-dff7-4215-9ef5-2c7bcfb06425,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for Enterprise +Microsoft 365 Apps for Enterprise,OFFICESUBSCRIPTION,c2273bd0-dff7-4215-9ef5-2c7bcfb06425,FORMS_PLAN_E1,159f4cd6-e380-449f-a816-af1a9ef76344,Microsoft Forms (Plan E1) +Microsoft 365 Apps for Enterprise,OFFICESUBSCRIPTION,c2273bd0-dff7-4215-9ef5-2c7bcfb06425,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 Apps for Enterprise,OFFICESUBSCRIPTION,c2273bd0-dff7-4215-9ef5-2c7bcfb06425,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 Apps for Enterprise,OFFICESUBSCRIPTION,c2273bd0-dff7-4215-9ef5-2c7bcfb06425,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft 365 Apps for Enterprise,OFFICESUBSCRIPTION,c2273bd0-dff7-4215-9ef5-2c7bcfb06425,ONEDRIVESTANDARD,13696edf-5a08-49f6-8134-03083ed8ba30,OneDrive for Business (Plan 1) +Microsoft 365 Apps for Enterprise,OFFICESUBSCRIPTION,c2273bd0-dff7-4215-9ef5-2c7bcfb06425,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 Apps for Enterprise,OFFICESUBSCRIPTION,c2273bd0-dff7-4215-9ef5-2c7bcfb06425,WHITEBOARD_PLAN2,94a54592-cd8b-425e-87c6-97868b000b91,Whiteboard (Plan 2) +Microsoft 365 Apps for enterprise (device),OFFICE_PROPLUS_DEVICE1,ea4c5ec8-50e3-4193-89b9-50da5bd4cdc7,OFFICE_PROPLUS_DEVICE,3c994f28-87d5-4273-b07a-eb6190852599,Microsoft 365 Apps for Enterprise (Device) +Microsoft 365 Apps for Students,OFFICESUBSCRIPTION_STUDENT,c32f9321-a627-406d-a114-1f9c81aaafac,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Microsoft 365 Apps for Students,OFFICESUBSCRIPTION_STUDENT,c32f9321-a627-406d-a114-1f9c81aaafac,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for Enterprise +Microsoft 365 Apps for Students,OFFICESUBSCRIPTION_STUDENT,c32f9321-a627-406d-a114-1f9c81aaafac,OFFICE_FORMS_PLAN_2,9b5de886-f035-4ff2-b3d8-c9127bea3620,Microsoft Forms (Plan 2) +Microsoft 365 Apps for Students,OFFICESUBSCRIPTION_STUDENT,c32f9321-a627-406d-a114-1f9c81aaafac,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 Apps for Students,OFFICESUBSCRIPTION_STUDENT,c32f9321-a627-406d-a114-1f9c81aaafac,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 Apps for Students,OFFICESUBSCRIPTION_STUDENT,c32f9321-a627-406d-a114-1f9c81aaafac,SHAREPOINTWAC_EDU,e03c7e47-402c-463c-ab25-949079bedb21,Office for the Web for Education +Microsoft 365 Apps for Students,OFFICESUBSCRIPTION_STUDENT,c32f9321-a627-406d-a114-1f9c81aaafac,ONEDRIVESTANDARD,13696edf-5a08-49f6-8134-03083ed8ba30,OneDrive for Business (Plan 1) +Microsoft 365 Apps for Students,OFFICESUBSCRIPTION_STUDENT,c32f9321-a627-406d-a114-1f9c81aaafac,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 Apps for Students,OFFICESUBSCRIPTION_STUDENT,c32f9321-a627-406d-a114-1f9c81aaafac,WHITEBOARD_PLAN2,94a54592-cd8b-425e-87c6-97868b000b91,Whiteboard (Plan 2) +Microsoft 365 Apps for Students,OFFICESUBSCRIPTION_STUDENT,c32f9321-a627-406d-a114-1f9c81aaafac,RMS_S_BASIC,31cf2cfc-6b0d-4adc-a336-88b724ed8122,Microsoft Azure Rights Management Service +Microsoft 365 Apps for Faculty,OFFICESUBSCRIPTION_FACULTY,12b8c807-2e20-48fc-b453-542b6ee9d171,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Microsoft 365 Apps for Faculty,OFFICESUBSCRIPTION_FACULTY,12b8c807-2e20-48fc-b453-542b6ee9d171,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for Enterprise +Microsoft 365 Apps for Faculty,OFFICESUBSCRIPTION_FACULTY,12b8c807-2e20-48fc-b453-542b6ee9d171,RMS_S_BASIC,31cf2cfc-6b0d-4adc-a336-88b724ed8122,Microsoft Azure Rights Management Service +Microsoft 365 Apps for Faculty,OFFICESUBSCRIPTION_FACULTY,12b8c807-2e20-48fc-b453-542b6ee9d171,OFFICE_FORMS_PLAN_2,9b5de886-f035-4ff2-b3d8-c9127bea3620,Microsoft Forms (Plan 2) +Microsoft 365 Apps for Faculty,OFFICESUBSCRIPTION_FACULTY,12b8c807-2e20-48fc-b453-542b6ee9d171,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 Apps for Faculty,OFFICESUBSCRIPTION_FACULTY,12b8c807-2e20-48fc-b453-542b6ee9d171,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 Apps for Faculty,OFFICESUBSCRIPTION_FACULTY,12b8c807-2e20-48fc-b453-542b6ee9d171,SHAREPOINTWAC_EDU,e03c7e47-402c-463c-ab25-949079bedb21,Office for the Web for Education +Microsoft 365 Apps for Faculty,OFFICESUBSCRIPTION_FACULTY,12b8c807-2e20-48fc-b453-542b6ee9d171,ONEDRIVESTANDARD,13696edf-5a08-49f6-8134-03083ed8ba30,OneDrive for Business (Plan 1) +Microsoft 365 Apps for Faculty,OFFICESUBSCRIPTION_FACULTY,12b8c807-2e20-48fc-b453-542b6ee9d171,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 Apps for Faculty,OFFICESUBSCRIPTION_FACULTY,12b8c807-2e20-48fc-b453-542b6ee9d171,WHITEBOARD_PLAN2,94a54592-cd8b-425e-87c6-97868b000b91,Whiteboard (Plan 2) +Microsoft 365 Audio Conferencing for faculty,MCOMEETADV_FACULTY,c2cda955-3359-44e5-989f-852ca0cfa02f,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Microsoft 365 Audio Conferencing for GCC,MCOMEETADV_GOV,2d3091c7-0712-488b-b3d8-6b97bde6a1f5,EXCHANGE_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,EXCHANGE FOUNDATION FOR GOVERNMENT +Microsoft 365 Audio Conferencing for GCC,MCOMEETADV_GOV,2d3091c7-0712-488b-b3d8-6b97bde6a1f5,MCOMEETADV_GOV,f544b08d-1645-4287-82de-8d91f37c02a1,MICROSOFT 365 AUDIO CONFERENCING FOR GOVERNMENT +Microsoft 365 Audio Conferencing_USGOV_GCCHIGH,MCOMEETADV_USGOV_GCCHIGH,4dee1f32-0808-4fd2-a2ed-fdd575e3a45f,MCOMEETADV_AR_GCCHigh,f1e3613f-3818-4254-9b5e-f02d803384e0,Microsoft 365 Audio Conferencing for GCCHigh +Microsoft 365 Audio Conferencing - GCCHigh Tenant (AR)_USGOV_GCCHIGH,MCOACBYOT_AR_GCCHIGH_USGOV_GCCHIGH,170ba00c-38b2-468c-a756-24c05037160a,MCOACBYOT_GCCHigh,c85e4b03-254a-453b-af72-167a53f38530,Microsoft 365 Audio Conferencing - GCCHigh Tenant +Microsoft 365 Audio Conferencing Pay-Per-Minute - EA,MCOMEETACPEA,df9561a4-4969-4e6a-8e73-c601b68ec077,MCOMEETACPEA,bb038288-76ab-49d6-afc1-eaa6c222c65a,Microsoft 365 Audio Conferencing Pay-Per-Minute +Microsoft 365 Business Basic,O365_BUSINESS_ESSENTIALS,3b555118-da6a-4418-894f-7df1e2096870,BPOS_S_TODO_1,5e62787c-c316-451f-b873-1d05acd4d12c,To-Do (Plan 1) +Microsoft 365 Business Basic,O365_BUSINESS_ESSENTIALS,3b555118-da6a-4418-894f-7df1e2096870,EXCHANGE_S_STANDARD,9aaf7827-d63c-4b61-89c3-182f06f82e5c,EXCHANGE ONLINE (PLAN 1) +Microsoft 365 Business Basic,O365_BUSINESS_ESSENTIALS,3b555118-da6a-4418-894f-7df1e2096870,FLOW_O365_P1,0f9b09cb-62d1-4ff4-9129-43f4996f83f4,FLOW FOR OFFICE 365 +Microsoft 365 Business Basic,O365_BUSINESS_ESSENTIALS,3b555118-da6a-4418-894f-7df1e2096870,FORMS_PLAN_E1,159f4cd6-e380-449f-a816-af1a9ef76344,MICROSOFT FORMS (PLAN E1) +Microsoft 365 Business Basic,O365_BUSINESS_ESSENTIALS,3b555118-da6a-4418-894f-7df1e2096870,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,SKYPE FOR BUSINESS ONLINE (PLAN 2) +Microsoft 365 Business Basic,O365_BUSINESS_ESSENTIALS,3b555118-da6a-4418-894f-7df1e2096870,OFFICEMOBILE_SUBSCRIPTION,c63d4d19-e8cb-460e-b37c-4d6c34603745,OFFICEMOBILE_SUBSCRIPTION +Microsoft 365 Business Basic,O365_BUSINESS_ESSENTIALS,3b555118-da6a-4418-894f-7df1e2096870,POWERAPPS_O365_P1,92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c,POWERAPPS FOR OFFICE 365 +Microsoft 365 Business Basic,O365_BUSINESS_ESSENTIALS,3b555118-da6a-4418-894f-7df1e2096870,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,MICROSOFT PLANNE +Microsoft 365 Business Basic,O365_BUSINESS_ESSENTIALS,3b555118-da6a-4418-894f-7df1e2096870,SHAREPOINTSTANDARD,c7699d2e-19aa-44de-8edf-1736da088ca1,SHAREPOINTSTANDARD +Microsoft 365 Business Basic,O365_BUSINESS_ESSENTIALS,3b555118-da6a-4418-894f-7df1e2096870,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,OFFICE ONLINE +Microsoft 365 Business Basic,O365_BUSINESS_ESSENTIALS,3b555118-da6a-4418-894f-7df1e2096870,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,SWAY +Microsoft 365 Business Basic,O365_BUSINESS_ESSENTIALS,3b555118-da6a-4418-894f-7df1e2096870,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,TEAMS1 +Microsoft 365 Business Basic,O365_BUSINESS_ESSENTIALS,3b555118-da6a-4418-894f-7df1e2096870,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,YAMMER_ENTERPRISE +Microsoft 365 Business Basic,SMB_BUSINESS_ESSENTIALS,dab7782a-93b1-4074-8bb1-0e61318bea0b,BPOS_S_TODO_1,5e62787c-c316-451f-b873-1d05acd4d12c,TO-DO (PLAN 1) +Microsoft 365 Business Basic,SMB_BUSINESS_ESSENTIALS,dab7782a-93b1-4074-8bb1-0e61318bea0b,EXCHANGE_S_STANDARD,9aaf7827-d63c-4b61-89c3-182f06f82e5c,EXCHANGE ONLINE (PLAN 1) +Microsoft 365 Business Basic,SMB_BUSINESS_ESSENTIALS,dab7782a-93b1-4074-8bb1-0e61318bea0b,FLOW_O365_P1,0f9b09cb-62d1-4ff4-9129-43f4996f83f4,FLOW FOR OFFICE 365 +Microsoft 365 Business Basic,SMB_BUSINESS_ESSENTIALS,dab7782a-93b1-4074-8bb1-0e61318bea0b,FORMS_PLAN_E1,159f4cd6-e380-449f-a816-af1a9ef76344,MICROSOFT FORMS (PLAN E1) +Microsoft 365 Business Basic,SMB_BUSINESS_ESSENTIALS,dab7782a-93b1-4074-8bb1-0e61318bea0b,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,SKYPE FOR BUSINESS ONLINE (PLAN 2) +Microsoft 365 Business Basic,SMB_BUSINESS_ESSENTIALS,dab7782a-93b1-4074-8bb1-0e61318bea0b,OFFICEMOBILE_SUBSCRIPTION,c63d4d19-e8cb-460e-b37c-4d6c34603745,OFFICEMOBILE_SUBSCRIPTION +Microsoft 365 Business Basic,SMB_BUSINESS_ESSENTIALS,dab7782a-93b1-4074-8bb1-0e61318bea0b,POWERAPPS_O365_P1,92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c,POWERAPPS FOR OFFICE 365 +Microsoft 365 Business Basic,SMB_BUSINESS_ESSENTIALS,dab7782a-93b1-4074-8bb1-0e61318bea0b,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,MICROSOFT PLANNE +Microsoft 365 Business Basic,SMB_BUSINESS_ESSENTIALS,dab7782a-93b1-4074-8bb1-0e61318bea0b,SHAREPOINTSTANDARD,c7699d2e-19aa-44de-8edf-1736da088ca1,SHAREPOINTSTANDARD +Microsoft 365 Business Basic,SMB_BUSINESS_ESSENTIALS,dab7782a-93b1-4074-8bb1-0e61318bea0b,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,OFFICE ONLINE +Microsoft 365 Business Basic,SMB_BUSINESS_ESSENTIALS,dab7782a-93b1-4074-8bb1-0e61318bea0b,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,SWAY +Microsoft 365 Business Basic,SMB_BUSINESS_ESSENTIALS,dab7782a-93b1-4074-8bb1-0e61318bea0b,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,TEAMS1 +Microsoft 365 Business Basic,SMB_BUSINESS_ESSENTIALS,dab7782a-93b1-4074-8bb1-0e61318bea0b,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core +Microsoft 365 Business Basic,SMB_BUSINESS_ESSENTIALS,dab7782a-93b1-4074-8bb1-0e61318bea0b,YAMMER_MIDSIZE,41bf139a-4e60-409f-9346-a1361efc6dfb,YAMMER MIDSIZE +Microsoft 365 Business Basic EEA (no Teams),Microsoft_365_Business_Basic_EEA_(no_Teams),b1f3042b-a390-4b56-ab61-b88e7e767a97,CDS_O365_P1,bed136c6-b799-4462-824d-fc045d3a9d25,Common Data Service for Teams +Microsoft 365 Business Basic EEA (no Teams),Microsoft_365_Business_Basic_EEA_(no_Teams),b1f3042b-a390-4b56-ab61-b88e7e767a97,EXCHANGE_S_STANDARD,9aaf7827-d63c-4b61-89c3-182f06f82e5c,Exchange Online (Plan 1) +Microsoft 365 Business Basic EEA (no Teams),Microsoft_365_Business_Basic_EEA_(no_Teams),b1f3042b-a390-4b56-ab61-b88e7e767a97,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Microsoft 365 Business Basic EEA (no Teams),Microsoft_365_Business_Basic_EEA_(no_Teams),b1f3042b-a390-4b56-ab61-b88e7e767a97,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Microsoft 365 Business Basic EEA (no Teams),Microsoft_365_Business_Basic_EEA_(no_Teams),b1f3042b-a390-4b56-ab61-b88e7e767a97,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft 365 Business Basic EEA (no Teams),Microsoft_365_Business_Basic_EEA_(no_Teams),b1f3042b-a390-4b56-ab61-b88e7e767a97,FORMS_PLAN_E1,159f4cd6-e380-449f-a816-af1a9ef76344,Microsoft Forms (Plan E1) +Microsoft 365 Business Basic EEA (no Teams),Microsoft_365_Business_Basic_EEA_(no_Teams),b1f3042b-a390-4b56-ab61-b88e7e767a97,KAIZALA_O365_P2,54fc630f-5a40-48ee-8965-af0503c1386e,Microsoft Kaizala Pro +Microsoft 365 Business Basic EEA (no Teams),Microsoft_365_Business_Basic_EEA_(no_Teams),b1f3042b-a390-4b56-ab61-b88e7e767a97,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 Business Basic EEA (no Teams),Microsoft_365_Business_Basic_EEA_(no_Teams),b1f3042b-a390-4b56-ab61-b88e7e767a97,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 Business Basic EEA (no Teams),Microsoft_365_Business_Basic_EEA_(no_Teams),b1f3042b-a390-4b56-ab61-b88e7e767a97,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 Business Basic EEA (no Teams),Microsoft_365_Business_Basic_EEA_(no_Teams),b1f3042b-a390-4b56-ab61-b88e7e767a97,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Microsoft 365 Business Basic EEA (no Teams),Microsoft_365_Business_Basic_EEA_(no_Teams),b1f3042b-a390-4b56-ab61-b88e7e767a97,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft 365 Business Basic EEA (no Teams),Microsoft_365_Business_Basic_EEA_(no_Teams),b1f3042b-a390-4b56-ab61-b88e7e767a97,OFFICEMOBILE_SUBSCRIPTION,c63d4d19-e8cb-460e-b37c-4d6c34603745,Office Mobile Apps for Office 365 +Microsoft 365 Business Basic EEA (no Teams),Microsoft_365_Business_Basic_EEA_(no_Teams),b1f3042b-a390-4b56-ab61-b88e7e767a97,PROJECT_O365_P1,a55dfd10-0864-46d9-a3cd-da5991a3e0e2,Project for Office (Plan E1) +Microsoft 365 Business Basic EEA (no Teams),Microsoft_365_Business_Basic_EEA_(no_Teams),b1f3042b-a390-4b56-ab61-b88e7e767a97,SHAREPOINTSTANDARD,c7699d2e-19aa-44de-8edf-1736da088ca1,SharePoint (Plan 1) +Microsoft 365 Business Basic EEA (no Teams),Microsoft_365_Business_Basic_EEA_(no_Teams),b1f3042b-a390-4b56-ab61-b88e7e767a97,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft 365 Business Basic EEA (no Teams),Microsoft_365_Business_Basic_EEA_(no_Teams),b1f3042b-a390-4b56-ab61-b88e7e767a97,STREAM_O365_SMB,3c53ea51-d578-46fa-a4c0-fd0a92809a60,Stream for Office 365 +Microsoft 365 Business Basic EEA (no Teams),Microsoft_365_Business_Basic_EEA_(no_Teams),b1f3042b-a390-4b56-ab61-b88e7e767a97,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 Business Basic EEA (no Teams),Microsoft_365_Business_Basic_EEA_(no_Teams),b1f3042b-a390-4b56-ab61-b88e7e767a97,BPOS_S_TODO_1,5e62787c-c316-451f-b873-1d05acd4d12c,To-Do (Plan 1) +Microsoft 365 Business Basic EEA (no Teams),Microsoft_365_Business_Basic_EEA_(no_Teams),b1f3042b-a390-4b56-ab61-b88e7e767a97,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core +Microsoft 365 Business Basic EEA (no Teams),Microsoft_365_Business_Basic_EEA_(no_Teams),b1f3042b-a390-4b56-ab61-b88e7e767a97,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Microsoft 365 Business Basic EEA (no Teams),Microsoft_365_Business_Basic_EEA_(no_Teams),b1f3042b-a390-4b56-ab61-b88e7e767a97,WHITEBOARD_PLAN1,b8afc642-032e-4de5-8c0a-507a7bba7e5d,Whiteboard (Plan 1) +Microsoft 365 Business Basic EEA (no Teams),Microsoft_365_Business_Basic_EEA_(no_Teams),b1f3042b-a390-4b56-ab61-b88e7e767a97,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Microsoft 365 Business Basic EEA (no Teams),Microsoft_365_Business_Basic_EEA_(no_Teams),b1f3042b-a390-4b56-ab61-b88e7e767a97,DYN365_CDS_O365_P1,40b010bb-0b69-4654-ac5e-ba161433f4b4,Common Data Service +Microsoft 365 Business Basic EEA (no Teams),Microsoft_365_Business_Basic_EEA_(no_Teams),b1f3042b-a390-4b56-ab61-b88e7e767a97,RMS_S_BASIC,31cf2cfc-6b0d-4adc-a336-88b724ed8122,Microsoft Azure Rights Management Service +Microsoft 365 Business Basic EEA (no Teams),Microsoft_365_Business_Basic_EEA_(no_Teams),b1f3042b-a390-4b56-ab61-b88e7e767a97,POWERAPPS_O365_P1,92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c,Power Apps for Office 365 +Microsoft 365 Business Basic EEA (no Teams),Microsoft_365_Business_Basic_EEA_(no_Teams),b1f3042b-a390-4b56-ab61-b88e7e767a97,FLOW_O365_P1,0f9b09cb-62d1-4ff4-9129-43f4996f83f4,Power Automate for Office 365 +Microsoft 365 Business Basic EEA (no Teams),Microsoft_365_Business_Basic_EEA_(no_Teams),b1f3042b-a390-4b56-ab61-b88e7e767a97,POWER_VIRTUAL_AGENTS_O365_P1,0683001c-0492-4d59-9515-d9a6426b5813,Power Virtual Agents for Office 365 +Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,DYN365BC_MS_INVOICING,39b5c996-467e-4e60-bd62-46066f572726,Microsoft Invoicing +Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,MESH_AVATARS_FOR_TEAMS,dcf9d2f4-772e-4434-b757-77a453cfbc02,Avatars for Teams +Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) +Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,CDS_O365_P2,95b76021-6a53-4741-ab8b-1d1f3d66a95a,Common Data Service for Teams +Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot +Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,EXCHANGE_S_STANDARD,9aaf7827-d63c-4b61-89c3-182f06f82e5c,Exchange Online (Plan 1) +Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,OFFICE_BUSINESS,094e7854-93fc-4d55-b2c0-3ab5369ebdc1,Microsoft 365 Apps for business +Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,CLIPCHAMP,a1ace008-72f3-4ea0-8dac-33b3a23a2472,Microsoft Clipchamp +Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,FORMS_PLAN_E1,159f4cd6-e380-449f-a816-af1a9ef76344,Microsoft Forms (Plan E1) +Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,KAIZALA_O365_P2,54fc630f-5a40-48ee-8965-af0503c1386e,Microsoft Kaizala Pro +Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,MICROSOFT_LOOP,c4b8c31a-fb44-4c65-9837-a21f55fcabda,Microsoft Loop +Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,PROJECT_O365_P2,31b4e2fc-4cd6-4e7d-9c1b-41407303bd66,Project for Office (Plan E3) +Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,O365_SB_Relationship_Management,5bfe124c-bbdc-4494-8835-f1297d457d79,RETIRED - Outlook Customer Manager +Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,SHAREPOINTSTANDARD,c7699d2e-19aa-44de-8edf-1736da088ca1,SharePoint (Plan 1) +Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,STREAM_O365_SMB,3c53ea51-d578-46fa-a4c0-fd0a92809a60,Stream for Office 365 +Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,BPOS_S_TODO_1,5e62787c-c316-451f-b873-1d05acd4d12c,To-Do (Plan 1) +Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core +Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,WHITEBOARD_PLAN1,b8afc642-032e-4de5-8c0a-507a7bba7e5d,Whiteboard (Plan 1) +Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,DYN365_CDS_O365_P2,4ff01e01-1ba7-4d71-8cf8-ce96c3bbcf14,Common Data Service +Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,RMS_S_BASIC,31cf2cfc-6b0d-4adc-a336-88b724ed8122,Microsoft Azure Rights Management Service +Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,POWERAPPS_O365_P1,92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c,Power Apps for Office 365 +Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,FLOW_O365_P1,0f9b09cb-62d1-4ff4-9129-43f4996f83f4,Power Automate for Office 365 +Microsoft 365 Business Standard,O365_BUSINESS_PREMIUM,f245ecc8-75af-4f8e-b61f-27d8114de5f3,POWER_VIRTUAL_AGENTS_O365_P2,041fe683-03e4-45b6-b1af-c0cdc516daee,Power Virtual Agents for Office 365 +Microsoft 365 Business Standard EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Standard,c1f79c29-5d7a-4bec-a2c1-1a76774864c0,DYN365BC_MS_INVOICING,39b5c996-467e-4e60-bd62-46066f572726,Microsoft Invoicing +Microsoft 365 Business Standard EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Standard,c1f79c29-5d7a-4bec-a2c1-1a76774864c0,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot +Microsoft 365 Business Standard EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Standard,c1f79c29-5d7a-4bec-a2c1-1a76774864c0,CDS_O365_P2,95b76021-6a53-4741-ab8b-1d1f3d66a95a,Common Data Service for Teams +Microsoft 365 Business Standard EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Standard,c1f79c29-5d7a-4bec-a2c1-1a76774864c0,EXCHANGE_S_STANDARD,9aaf7827-d63c-4b61-89c3-182f06f82e5c,Exchange Online (Plan 1) +Microsoft 365 Business Standard EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Standard,c1f79c29-5d7a-4bec-a2c1-1a76774864c0,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Microsoft 365 Business Standard EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Standard,c1f79c29-5d7a-4bec-a2c1-1a76774864c0,OFFICE_BUSINESS,094e7854-93fc-4d55-b2c0-3ab5369ebdc1,Microsoft 365 Apps for business +Microsoft 365 Business Standard EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Standard,c1f79c29-5d7a-4bec-a2c1-1a76774864c0,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Microsoft 365 Business Standard EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Standard,c1f79c29-5d7a-4bec-a2c1-1a76774864c0,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft 365 Business Standard EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Standard,c1f79c29-5d7a-4bec-a2c1-1a76774864c0,CLIPCHAMP,a1ace008-72f3-4ea0-8dac-33b3a23a2472,Microsoft Clipchamp +Microsoft 365 Business Standard EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Standard,c1f79c29-5d7a-4bec-a2c1-1a76774864c0,FORMS_PLAN_E1,159f4cd6-e380-449f-a816-af1a9ef76344,Microsoft Forms (Plan E1) +Microsoft 365 Business Standard EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Standard,c1f79c29-5d7a-4bec-a2c1-1a76774864c0,KAIZALA_O365_P2,54fc630f-5a40-48ee-8965-af0503c1386e,Microsoft Kaizala Pro +Microsoft 365 Business Standard EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Standard,c1f79c29-5d7a-4bec-a2c1-1a76774864c0,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 Business Standard EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Standard,c1f79c29-5d7a-4bec-a2c1-1a76774864c0,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 Business Standard EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Standard,c1f79c29-5d7a-4bec-a2c1-1a76774864c0,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft 365 Business Standard EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Standard,c1f79c29-5d7a-4bec-a2c1-1a76774864c0,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 Business Standard EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Standard,c1f79c29-5d7a-4bec-a2c1-1a76774864c0,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Microsoft 365 Business Standard EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Standard,c1f79c29-5d7a-4bec-a2c1-1a76774864c0,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft 365 Business Standard EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Standard,c1f79c29-5d7a-4bec-a2c1-1a76774864c0,PROJECT_O365_P2,31b4e2fc-4cd6-4e7d-9c1b-41407303bd66,Project for Office (Plan E3) +Microsoft 365 Business Standard EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Standard,c1f79c29-5d7a-4bec-a2c1-1a76774864c0,O365_SB_Relationship_Management,5bfe124c-bbdc-4494-8835-f1297d457d79,RETIRED - Outlook Customer Manager +Microsoft 365 Business Standard EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Standard,c1f79c29-5d7a-4bec-a2c1-1a76774864c0,SHAREPOINTSTANDARD,c7699d2e-19aa-44de-8edf-1736da088ca1,SharePoint (Plan 1) +Microsoft 365 Business Standard EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Standard,c1f79c29-5d7a-4bec-a2c1-1a76774864c0,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft 365 Business Standard EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Standard,c1f79c29-5d7a-4bec-a2c1-1a76774864c0,STREAM_O365_SMB,3c53ea51-d578-46fa-a4c0-fd0a92809a60,Stream for Office 365 +Microsoft 365 Business Standard EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Standard,c1f79c29-5d7a-4bec-a2c1-1a76774864c0,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 Business Standard EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Standard,c1f79c29-5d7a-4bec-a2c1-1a76774864c0,BPOS_S_TODO_1,5e62787c-c316-451f-b873-1d05acd4d12c,To-Do (Plan 1) +Microsoft 365 Business Standard EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Standard,c1f79c29-5d7a-4bec-a2c1-1a76774864c0,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core +Microsoft 365 Business Standard EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Standard,c1f79c29-5d7a-4bec-a2c1-1a76774864c0,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Microsoft 365 Business Standard EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Standard,c1f79c29-5d7a-4bec-a2c1-1a76774864c0,WHITEBOARD_PLAN1,b8afc642-032e-4de5-8c0a-507a7bba7e5d,Whiteboard (Plan 1) +Microsoft 365 Business Standard EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Standard,c1f79c29-5d7a-4bec-a2c1-1a76774864c0,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Microsoft 365 Business Standard EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Standard,c1f79c29-5d7a-4bec-a2c1-1a76774864c0,DYN365_CDS_O365_P2,4ff01e01-1ba7-4d71-8cf8-ce96c3bbcf14,Common Data Service +Microsoft 365 Business Standard EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Standard,c1f79c29-5d7a-4bec-a2c1-1a76774864c0,RMS_S_BASIC,31cf2cfc-6b0d-4adc-a336-88b724ed8122,Microsoft Azure Rights Management Service +Microsoft 365 Business Standard EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Standard,c1f79c29-5d7a-4bec-a2c1-1a76774864c0,POWERAPPS_O365_P1,92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c,Power Apps for Office 365 +Microsoft 365 Business Standard EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Standard,c1f79c29-5d7a-4bec-a2c1-1a76774864c0,FLOW_O365_P1,0f9b09cb-62d1-4ff4-9129-43f4996f83f4,Power Automate for Office 365 +Microsoft 365 Business Standard EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Standard,c1f79c29-5d7a-4bec-a2c1-1a76774864c0,POWER_VIRTUAL_AGENTS_O365_P2,041fe683-03e4-45b6-b1af-c0cdc516daee,Power Virtual Agents for Office 365 +Microsoft 365 Business Standard EEA (no Teams),Microsoft_365_Business_Standard_EEA_(no_Teams),ffa3a2a0-3820-462a-aa81-8a4d741f0cba,DYN365BC_MS_INVOICING,39b5c996-467e-4e60-bd62-46066f572726,Microsoft Invoicing +Microsoft 365 Business Standard EEA (no Teams),Microsoft_365_Business_Standard_EEA_(no_Teams),ffa3a2a0-3820-462a-aa81-8a4d741f0cba,CDS_O365_P2,95b76021-6a53-4741-ab8b-1d1f3d66a95a,Common Data Service for Teams +Microsoft 365 Business Standard EEA (no Teams),Microsoft_365_Business_Standard_EEA_(no_Teams),ffa3a2a0-3820-462a-aa81-8a4d741f0cba,EXCHANGE_S_STANDARD,9aaf7827-d63c-4b61-89c3-182f06f82e5c,Exchange Online (Plan 1) +Microsoft 365 Business Standard EEA (no Teams),Microsoft_365_Business_Standard_EEA_(no_Teams),ffa3a2a0-3820-462a-aa81-8a4d741f0cba,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Microsoft 365 Business Standard EEA (no Teams),Microsoft_365_Business_Standard_EEA_(no_Teams),ffa3a2a0-3820-462a-aa81-8a4d741f0cba,OFFICE_BUSINESS,094e7854-93fc-4d55-b2c0-3ab5369ebdc1,Microsoft 365 Apps for business +Microsoft 365 Business Standard EEA (no Teams),Microsoft_365_Business_Standard_EEA_(no_Teams),ffa3a2a0-3820-462a-aa81-8a4d741f0cba,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Microsoft 365 Business Standard EEA (no Teams),Microsoft_365_Business_Standard_EEA_(no_Teams),ffa3a2a0-3820-462a-aa81-8a4d741f0cba,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft 365 Business Standard EEA (no Teams),Microsoft_365_Business_Standard_EEA_(no_Teams),ffa3a2a0-3820-462a-aa81-8a4d741f0cba,CLIPCHAMP,a1ace008-72f3-4ea0-8dac-33b3a23a2472,Microsoft Clipchamp +Microsoft 365 Business Standard EEA (no Teams),Microsoft_365_Business_Standard_EEA_(no_Teams),ffa3a2a0-3820-462a-aa81-8a4d741f0cba,FORMS_PLAN_E1,159f4cd6-e380-449f-a816-af1a9ef76344,Microsoft Forms (Plan E1) +Microsoft 365 Business Standard EEA (no Teams),Microsoft_365_Business_Standard_EEA_(no_Teams),ffa3a2a0-3820-462a-aa81-8a4d741f0cba,KAIZALA_O365_P2,54fc630f-5a40-48ee-8965-af0503c1386e,Microsoft Kaizala Pro +Microsoft 365 Business Standard EEA (no Teams),Microsoft_365_Business_Standard_EEA_(no_Teams),ffa3a2a0-3820-462a-aa81-8a4d741f0cba,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 Business Standard EEA (no Teams),Microsoft_365_Business_Standard_EEA_(no_Teams),ffa3a2a0-3820-462a-aa81-8a4d741f0cba,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 Business Standard EEA (no Teams),Microsoft_365_Business_Standard_EEA_(no_Teams),ffa3a2a0-3820-462a-aa81-8a4d741f0cba,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft 365 Business Standard EEA (no Teams),Microsoft_365_Business_Standard_EEA_(no_Teams),ffa3a2a0-3820-462a-aa81-8a4d741f0cba,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 Business Standard EEA (no Teams),Microsoft_365_Business_Standard_EEA_(no_Teams),ffa3a2a0-3820-462a-aa81-8a4d741f0cba,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Microsoft 365 Business Standard EEA (no Teams),Microsoft_365_Business_Standard_EEA_(no_Teams),ffa3a2a0-3820-462a-aa81-8a4d741f0cba,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft 365 Business Standard EEA (no Teams),Microsoft_365_Business_Standard_EEA_(no_Teams),ffa3a2a0-3820-462a-aa81-8a4d741f0cba,PROJECT_O365_P2,31b4e2fc-4cd6-4e7d-9c1b-41407303bd66,Project for Office (Plan E3) +Microsoft 365 Business Standard EEA (no Teams),Microsoft_365_Business_Standard_EEA_(no_Teams),ffa3a2a0-3820-462a-aa81-8a4d741f0cba,O365_SB_Relationship_Management,5bfe124c-bbdc-4494-8835-f1297d457d79,RETIRED - Outlook Customer Manager +Microsoft 365 Business Standard EEA (no Teams),Microsoft_365_Business_Standard_EEA_(no_Teams),ffa3a2a0-3820-462a-aa81-8a4d741f0cba,SHAREPOINTSTANDARD,c7699d2e-19aa-44de-8edf-1736da088ca1,SharePoint (Plan 1) +Microsoft 365 Business Standard EEA (no Teams),Microsoft_365_Business_Standard_EEA_(no_Teams),ffa3a2a0-3820-462a-aa81-8a4d741f0cba,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft 365 Business Standard EEA (no Teams),Microsoft_365_Business_Standard_EEA_(no_Teams),ffa3a2a0-3820-462a-aa81-8a4d741f0cba,STREAM_O365_SMB,3c53ea51-d578-46fa-a4c0-fd0a92809a60,Stream for Office 365 +Microsoft 365 Business Standard EEA (no Teams),Microsoft_365_Business_Standard_EEA_(no_Teams),ffa3a2a0-3820-462a-aa81-8a4d741f0cba,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 Business Standard EEA (no Teams),Microsoft_365_Business_Standard_EEA_(no_Teams),ffa3a2a0-3820-462a-aa81-8a4d741f0cba,BPOS_S_TODO_1,5e62787c-c316-451f-b873-1d05acd4d12c,To-Do (Plan 1) +Microsoft 365 Business Standard EEA (no Teams),Microsoft_365_Business_Standard_EEA_(no_Teams),ffa3a2a0-3820-462a-aa81-8a4d741f0cba,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core +Microsoft 365 Business Standard EEA (no Teams),Microsoft_365_Business_Standard_EEA_(no_Teams),ffa3a2a0-3820-462a-aa81-8a4d741f0cba,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Microsoft 365 Business Standard EEA (no Teams),Microsoft_365_Business_Standard_EEA_(no_Teams),ffa3a2a0-3820-462a-aa81-8a4d741f0cba,WHITEBOARD_PLAN1,b8afc642-032e-4de5-8c0a-507a7bba7e5d,Whiteboard (Plan 1) +Microsoft 365 Business Standard EEA (no Teams),Microsoft_365_Business_Standard_EEA_(no_Teams),ffa3a2a0-3820-462a-aa81-8a4d741f0cba,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Microsoft 365 Business Standard EEA (no Teams),Microsoft_365_Business_Standard_EEA_(no_Teams),ffa3a2a0-3820-462a-aa81-8a4d741f0cba,DYN365_CDS_O365_P2,4ff01e01-1ba7-4d71-8cf8-ce96c3bbcf14,Common Data Service +Microsoft 365 Business Standard EEA (no Teams),Microsoft_365_Business_Standard_EEA_(no_Teams),ffa3a2a0-3820-462a-aa81-8a4d741f0cba,RMS_S_BASIC,31cf2cfc-6b0d-4adc-a336-88b724ed8122,Microsoft Azure Rights Management Service +Microsoft 365 Business Standard EEA (no Teams),Microsoft_365_Business_Standard_EEA_(no_Teams),ffa3a2a0-3820-462a-aa81-8a4d741f0cba,POWERAPPS_O365_P1,92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c,Power Apps for Office 365 +Microsoft 365 Business Standard EEA (no Teams),Microsoft_365_Business_Standard_EEA_(no_Teams),ffa3a2a0-3820-462a-aa81-8a4d741f0cba,FLOW_O365_P1,0f9b09cb-62d1-4ff4-9129-43f4996f83f4,Power Automate for Office 365 +Microsoft 365 Business Standard EEA (no Teams),Microsoft_365_Business_Standard_EEA_(no_Teams),ffa3a2a0-3820-462a-aa81-8a4d741f0cba,POWER_VIRTUAL_AGENTS_O365_P2,041fe683-03e4-45b6-b1af-c0cdc516daee,Power Virtual Agents for Office 365 +Microsoft 365 Business Standard - Prepaid Legacy,SMB_BUSINESS_PREMIUM,ac5cef5d-921b-4f97-9ef3-c99076e5470f,BPOS_S_TODO_1,5e62787c-c316-451f-b873-1d05acd4d12c,To-Do (Plan 1) +Microsoft 365 Business Standard - Prepaid Legacy,SMB_BUSINESS_PREMIUM,ac5cef5d-921b-4f97-9ef3-c99076e5470f,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,MICROSOFT STAFFHUB +Microsoft 365 Business Standard - Prepaid Legacy,SMB_BUSINESS_PREMIUM,ac5cef5d-921b-4f97-9ef3-c99076e5470f,EXCHANGE_S_STANDARD,9aaf7827-d63c-4b61-89c3-182f06f82e5c,EXCHANGE ONLINE (PLAN 1) +Microsoft 365 Business Standard - Prepaid Legacy,SMB_BUSINESS_PREMIUM,ac5cef5d-921b-4f97-9ef3-c99076e5470f,FLOW_O365_P1,0f9b09cb-62d1-4ff4-9129-43f4996f83f4,FLOW FOR OFFICE 365 +Microsoft 365 Business Standard - Prepaid Legacy,SMB_BUSINESS_PREMIUM,ac5cef5d-921b-4f97-9ef3-c99076e5470f,FORMS_PLAN_E1,159f4cd6-e380-449f-a816-af1a9ef76344,MICROSOFT FORMS (PLAN E1) +Microsoft 365 Business Standard - Prepaid Legacy,SMB_BUSINESS_PREMIUM,ac5cef5d-921b-4f97-9ef3-c99076e5470f,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,SKYPE FOR BUSINESS ONLINE (PLAN 2) +Microsoft 365 Business Standard - Prepaid Legacy,SMB_BUSINESS_PREMIUM,ac5cef5d-921b-4f97-9ef3-c99076e5470f,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,MICROSOFTBOOKINGS +Microsoft 365 Business Standard - Prepaid Legacy,SMB_BUSINESS_PREMIUM,ac5cef5d-921b-4f97-9ef3-c99076e5470f,O365_SB_Relationship_Management,5bfe124c-bbdc-4494-8835-f1297d457d79,OUTLOOK CUSTOMER MANAGER +Microsoft 365 Business Standard - Prepaid Legacy,SMB_BUSINESS_PREMIUM,ac5cef5d-921b-4f97-9ef3-c99076e5470f,OFFICE_BUSINESS,094e7854-93fc-4d55-b2c0-3ab5369ebdc1,OFFICE 365 BUSINESS +Microsoft 365 Business Standard - Prepaid Legacy,SMB_BUSINESS_PREMIUM,ac5cef5d-921b-4f97-9ef3-c99076e5470f,POWERAPPS_O365_P1,92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c,POWERAPPS FOR OFFICE 365 +Microsoft 365 Business Standard - Prepaid Legacy,SMB_BUSINESS_PREMIUM,ac5cef5d-921b-4f97-9ef3-c99076e5470f,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,MICROSOFT PLANNE +Microsoft 365 Business Standard - Prepaid Legacy,SMB_BUSINESS_PREMIUM,ac5cef5d-921b-4f97-9ef3-c99076e5470f,SHAREPOINTSTANDARD,c7699d2e-19aa-44de-8edf-1736da088ca1,SHAREPOINTSTANDARD +Microsoft 365 Business Standard - Prepaid Legacy,SMB_BUSINESS_PREMIUM,ac5cef5d-921b-4f97-9ef3-c99076e5470f,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,OFFICE ONLINE +Microsoft 365 Business Standard - Prepaid Legacy,SMB_BUSINESS_PREMIUM,ac5cef5d-921b-4f97-9ef3-c99076e5470f,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,SWAY +Microsoft 365 Business Standard - Prepaid Legacy,SMB_BUSINESS_PREMIUM,ac5cef5d-921b-4f97-9ef3-c99076e5470f,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,TEAMS1 +Microsoft 365 Business Standard - Prepaid Legacy,SMB_BUSINESS_PREMIUM,ac5cef5d-921b-4f97-9ef3-c99076e5470f,YAMMER_MIDSIZE,41bf139a-4e60-409f-9346-a1361efc6dfb,YAMMER_MIDSIZE +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,DYN365BC_MS_INVOICING,39b5c996-467e-4e60-bd62-46066f572726,Microsoft Invoicing +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,MESH_AVATARS_FOR_TEAMS,dcf9d2f4-772e-4434-b757-77a453cfbc02,Avatars for Teams +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,CDS_O365_P3,afa73018-811e-46e9-988f-f75d2b1b8430,Common Data Service for Teams +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,BPOS_S_DlpAddOn,9bec7e34-c9fa-40b7-a9d1-bd6d1165c7ed,Data Loss Prevention +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,EXCHANGE_S_STANDARD,9aaf7827-d63c-4b61-89c3-182f06f82e5c,Exchange Online (Plan 1) +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,EXCHANGE_S_ARCHIVE_ADDON,176a09a6-7ec5-4039-ac02-b2791c6ba793,Exchange Online Archiving +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,OFFICE_BUSINESS,094e7854-93fc-4d55-b2c0-3ab5369ebdc1,Microsoft 365 Apps for business +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,CLIPCHAMP,a1ace008-72f3-4ea0-8dac-33b3a23a2472,Microsoft Clipchamp +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,MDE_SMB,bfc1bbd9-981b-4f71-9b82-17c35fd0e2a4,Microsoft Defender for Business +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,ATP_ENTERPRISE,f20fedf3-f3c3-43c3-8267-2bfdd51c0939,Microsoft Defender for Office 365 (Plan 1) +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,FORMS_PLAN_E1,159f4cd6-e380-449f-a816-af1a9ef76344,Microsoft Forms (Plan E1) +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,KAIZALA_O365_P2,54fc630f-5a40-48ee-8965-af0503c1386e,Microsoft Kaizala Pro +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,MICROSOFT_LOOP,c4b8c31a-fb44-4c65-9837-a21f55fcabda,Microsoft Loop +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,OFFICE_SHARED_COMPUTER_ACTIVATION,276d6e8a-f056-4f70-b7e8-4fc27f79f809,Office Shared Computer Activation +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,PROJECT_O365_P3,b21a6b06-1988-436e-a07b-51ec6d9f52ad,Project for Office (Plan E5) +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,PURVIEW_DISCOVERY,c948ea65-2053-4a5a-8a62-9eaaaf11b522,Purview Discovery +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,O365_SB_Relationship_Management,5bfe124c-bbdc-4494-8835-f1297d457d79,RETIRED - Outlook Customer Manager +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,SHAREPOINTSTANDARD,c7699d2e-19aa-44de-8edf-1736da088ca1,SharePoint (Plan 1) +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,BPOS_S_TODO_1,5e62787c-c316-451f-b873-1d05acd4d12c,To-Do (Plan 1) +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,WHITEBOARD_PLAN1,b8afc642-032e-4de5-8c0a-507a7bba7e5d,Whiteboard (Plan 1) +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,WINBIZ,8e229017-d77b-43d5-9305-903395523b99,Windows 10/11 Business +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,AAD_SMB,de377cbc-0019-4ec2-b77c-3f223947e102,Azure Active Directory +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,DYN365_CDS_O365_P3,28b0fa46-c39a-4188-89e2-58e979a6b014,Common Data Service +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,ADALLOM_S_DISCOVERY,932ad362-64a8-4783-9106-97849a1a30b9,Microsoft Defender for Cloud Apps Discovery +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,INTUNE_SMBIZ,8e9ff0ff-aa7a-4b20-83c1-2f636b600ac2,Microsoft Intune +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,STREAM_O365_E1,743dd19e-1ce3-4c62-a3ad-49ba8f63a2f6,Microsoft Stream for Office 365 E1 +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,POWERAPPS_O365_P1,92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c,Power Apps for Office 365 +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,FLOW_O365_P1,0f9b09cb-62d1-4ff4-9129-43f4996f83f4,Power Automate for Office 365 +Microsoft 365 Business Premium,SPB,cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46,POWER_VIRTUAL_AGENTS_O365_P3,ded3d325-1bdc-453e-8432-5bac26d7a014,Power Virtual Agents for Office 365 +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,DYN365BC_MS_INVOICING,39b5c996-467e-4e60-bd62-46066f572726,Microsoft Invoicing +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,CDS_O365_P3,afa73018-811e-46e9-988f-f75d2b1b8430,Common Data Service for Teams +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,BPOS_S_DlpAddOn,9bec7e34-c9fa-40b7-a9d1-bd6d1165c7ed,Data Loss Prevention +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,EXCHANGE_S_STANDARD,9aaf7827-d63c-4b61-89c3-182f06f82e5c,Exchange Online (Plan 1) +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,EXCHANGE_S_ARCHIVE_ADDON,176a09a6-7ec5-4039-ac02-b2791c6ba793,Exchange Online Archiving +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,OFFICE_BUSINESS,094e7854-93fc-4d55-b2c0-3ab5369ebdc1,Microsoft 365 Apps for business +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,CLIPCHAMP,a1ace008-72f3-4ea0-8dac-33b3a23a2472,Microsoft Clipchamp +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,MDE_SMB,bfc1bbd9-981b-4f71-9b82-17c35fd0e2a4,Microsoft Defender for Business +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,ATP_ENTERPRISE,f20fedf3-f3c3-43c3-8267-2bfdd51c0939,Microsoft Defender for Office 365 (Plan 1) +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,FORMS_PLAN_E1,159f4cd6-e380-449f-a816-af1a9ef76344,Microsoft Forms (Plan E1) +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,KAIZALA_O365_P2,54fc630f-5a40-48ee-8965-af0503c1386e,Microsoft Kaizala Pro +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,OFFICE_SHARED_COMPUTER_ACTIVATION,276d6e8a-f056-4f70-b7e8-4fc27f79f809,Office Shared Computer Activation +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,PROJECT_O365_P3,b21a6b06-1988-436e-a07b-51ec6d9f52ad,Project for Office (Plan E5) +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,O365_SB_Relationship_Management,5bfe124c-bbdc-4494-8835-f1297d457d79,RETIRED - Outlook Customer Manager +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,SHAREPOINTSTANDARD,c7699d2e-19aa-44de-8edf-1736da088ca1,SharePoint (Plan 1) +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,BPOS_S_TODO_1,5e62787c-c316-451f-b873-1d05acd4d12c,To-Do (Plan 1) +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,WHITEBOARD_PLAN1,b8afc642-032e-4de5-8c0a-507a7bba7e5d,Whiteboard (Plan 1) +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,WINBIZ,8e229017-d77b-43d5-9305-903395523b99,Windows 10/11 Business +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,AAD_SMB,de377cbc-0019-4ec2-b77c-3f223947e102,Azure Active Directory +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,DYN365_CDS_O365_P3,28b0fa46-c39a-4188-89e2-58e979a6b014,Common Data Service +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,ADALLOM_S_DISCOVERY,932ad362-64a8-4783-9106-97849a1a30b9,Microsoft Defender for Cloud Apps Discovery +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,INTUNE_SMBIZ,8e9ff0ff-aa7a-4b20-83c1-2f636b600ac2,Microsoft Intune +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,STREAM_O365_E1,743dd19e-1ce3-4c62-a3ad-49ba8f63a2f6,Microsoft Stream for Office 365 E1 +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,POWERAPPS_O365_P1,92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c,Power Apps for Office 365 +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,FLOW_O365_P1,0f9b09cb-62d1-4ff4-9129-43f4996f83f4,Power Automate for Office 365 +Microsoft 365 Business Premium EEA (no Teams),Office_365_w/o_Teams_Bundle_Business_Premium,a3f586b6-8cce-4d9b-99d6-55238397f77a,POWER_VIRTUAL_AGENTS_O365_P3,ded3d325-1bdc-453e-8432-5bac26d7a014,Power Virtual Agents for Office 365 +Microsoft 365 Business Voice (US),BUSINESS_VOICE_MED2_TELCO,08d7bce8-6e16-490e-89db-1d508e5e9609,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Microsoft 365 Business Voice (US),BUSINESS_VOICE_MED2_TELCO,08d7bce8-6e16-490e-89db-1d508e5e9609,MCOPSTN1,4ed3ff63-69d7-4fb7-b984-5aec7f605ca8,Microsoft 365 Domestic Calling Plan +Microsoft 365 Business Voice (without Calling Plan),BUSINESS_VOICE_DIRECTROUTING,d52db95a-5ecb-46b6-beb0-190ab5cda4a8,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Microsoft 365 Business Voice (without Calling Plan),BUSINESS_VOICE_DIRECTROUTING,d52db95a-5ecb-46b6-beb0-190ab5cda4a8,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft 365 Business Voice (UK,BUSINESS_VOICE,e5a17adf-8f0d-4b57-bc14-d331235f9307,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Microsoft 365 Business Voice (UK,BUSINESS_VOICE,e5a17adf-8f0d-4b57-bc14-d331235f9307,MCOPSTN1,4ed3ff63-69d7-4fb7-b984-5aec7f605ca8,Microsoft 365 Domestic Calling Plan +Microsoft 365 Business Voice (UK,BUSINESS_VOICE,e5a17adf-8f0d-4b57-bc14-d331235f9307,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft 365 Business Voice (without Calling Plan) for US,BUSINESS_VOICE_DIRECTROUTING_MED,8330dae3-d349-44f7-9cad-1b23c64baabe,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Microsoft 365 Business Voice (without Calling Plan) for US,BUSINESS_VOICE_DIRECTROUTING_MED,8330dae3-d349-44f7-9cad-1b23c64baabe,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft 365 Business Voice (without Calling Plan),BUSINESS_VOICE_DIRECTROUTING,d52db95a-5ecb-46b6-beb0-190ab5cda4a8,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Microsoft 365 Business Voice (without Calling Plan),BUSINESS_VOICE_DIRECTROUTING,d52db95a-5ecb-46b6-beb0-190ab5cda4a8,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft 365 Business Voice,BUSINESS_VOICE_MED2,a6051f20-9cbc-47d2-930d-419183bf6cf1,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Microsoft 365 Business Voice,BUSINESS_VOICE_MED2,a6051f20-9cbc-47d2-930d-419183bf6cf1,MCOPSTN1,4ed3ff63-69d7-4fb7-b984-5aec7f605ca8,Microsoft 365 Domestic Calling Plan +Microsoft 365 Business Voice,BUSINESS_VOICE_MED2,a6051f20-9cbc-47d2-930d-419183bf6cf1,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft Copilot for Microsoft 365,M365_Copilot,a809996b-059e-42e2-9866-db24b99a9782,GRAPH_CONNECTORS_COPILOT,82d30987-df9b-4486-b146-198b21d164c7,Graph Connectors in Microsoft 365 Copilot +Microsoft Copilot for Microsoft 365,M365_Copilot,a809996b-059e-42e2-9866-db24b99a9782,M365_COPILOT_INTELLIGENT_SEARCH,931e4a88-a67f-48b5-814f-16a5f1e6028d,Intelligent Search +Microsoft Copilot for Microsoft 365,M365_Copilot,a809996b-059e-42e2-9866-db24b99a9782,M365_COPILOT_TEAMS,b95945de-b3bd-46db-8437-f2beb6ea2347,Microsoft 365 Copilot in Microsoft Teams +Microsoft Copilot for Microsoft 365,M365_Copilot,a809996b-059e-42e2-9866-db24b99a9782,M365_COPILOT_APPS,a62f8878-de10-42f3-b68f-6149a25ceb97,Microsoft 365 Copilot in Productivity Apps +Microsoft Copilot for Microsoft 365,M365_Copilot,a809996b-059e-42e2-9866-db24b99a9782,M365_COPILOT_BUSINESS_CHAT,3f30311c-6b1e-48a4-ab79-725b469da960,Microsoft Copilot with Graph-grounded chat +Microsoft Copilot for Microsoft 365,M365_Copilot,a809996b-059e-42e2-9866-db24b99a9782,M365_COPILOT_CONNECTORS,89f1c4c8-0878-40f7-804d-869c9128ab5d,Power Platform Connectors in Microsoft 365 Copilot +Microsoft 365 Domestic Calling Plan (120 minutes) - US,MCOPSTN5_US,d13e9d1b-316a-4946-98c6-362c97a4fdfe,PSTN5_US,1346d5e6-15a6-4b88-9693-806ff7296a7a,Microsoft 365 Domestic Calling Plan - US (120 minutes) +Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) +Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,CLIPCHAMP,a1ace008-72f3-4ea0-8dac-33b3a23a2472,Microsoft Clipchamp +Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,MDE_LITE,292cc034-7b7c-4950-aaf5-943befd3f1d4,Microsoft Defender for Endpoint Plan 1 +Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,FORMS_PLAN_E3,2789c901-c14e-48ab-a76a-be334d9d793a,Microsoft Forms (Plan E3) +Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,KAIZALA_O365_P3,aebd3021-9f8f-4bf8-bbe3-0ed2f4f047a1,Microsoft Kaizala Pro +Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,MICROSOFT_LOOP,c4b8c31a-fb44-4c65-9837-a21f55fcabda,Microsoft Loop +Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,STREAM_O365_E3,9e700747-8b1d-45e5-ab8d-ef187ceec156,Microsoft Stream for Office 365 E3 +Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,PROJECT_O365_P2,31b4e2fc-4cd6-4e7d-9c1b-41407303bd66,Project for Office (Plan E3) +Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) +Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,BPOS_S_TODO_2,c87f142c-d1e9-4363-8630-aaea9c4d9ae5,To-Do (Plan 2) +Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core +Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,WHITEBOARD_PLAN2,94a54592-cd8b-425e-87c6-97868b000b91,Whiteboard (Plan 2) +Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print +Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,WIN10_PRO_ENT_SUB,21b439ba-a0ca-424f-a6cc-52f954a5b111,Windows 10/11 Enterprise (Original) +Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch +Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service +Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,DYN365_CDS_O365_P2,4ff01e01-1ba7-4d71-8cf8-ce96c3bbcf14,Common Data Service +Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,ADALLOM_S_DISCOVERY,932ad362-64a8-4783-9106-97849a1a30b9,Microsoft Defender for Cloud Apps Discovery +Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 +Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,POWERAPPS_O365_P2,c68f8d98-5534-41c8-bf36-22fa496fa792,Power Apps for Office 365 +Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,FLOW_O365_P2,76846ad7-7776-4c40-a281-a386362dd1b9,Power Automate for Office 365 +Microsoft 365 E3,SPE_E3,05e9a617-0261-4cee-bb44-138d3ef5d965,POWER_VIRTUAL_AGENTS_O365_P2,041fe683-03e4-45b6-b1af-c0cdc516daee,Power Virtual Agents for Office 365 +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,CDS_O365_P2,95b76021-6a53-4741-ab8b-1d1f3d66a95a,Common Data Service for Teams +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,CLIPCHAMP,a1ace008-72f3-4ea0-8dac-33b3a23a2472,Microsoft Clipchamp +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MDE_LITE,292cc034-7b7c-4950-aaf5-943befd3f1d4,Microsoft Defender for Endpoint Plan 1 +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,FORMS_PLAN_E3,2789c901-c14e-48ab-a76a-be334d9d793a,Microsoft Forms (Plan E3) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,KAIZALA_O365_P3,aebd3021-9f8f-4bf8-bbe3-0ed2f4f047a1,Microsoft Kaizala Pro +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,STREAM_O365_E3,9e700747-8b1d-45e5-ab8d-ef187ceec156,Microsoft Stream for Office 365 E3 +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,PROJECT_O365_P2,31b4e2fc-4cd6-4e7d-9c1b-41407303bd66,Project for Office (Plan E3) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,BPOS_S_TODO_2,c87f142c-d1e9-4363-8630-aaea9c4d9ae5,To-Do (Plan 2) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,WHITEBOARD_PLAN2,94a54592-cd8b-425e-87c6-97868b000b91,Whiteboard (Plan 2) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,WIN10_PRO_ENT_SUB,21b439ba-a0ca-424f-a6cc-52f954a5b111,Windows 10/11 Enterprise (Original) +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,DYN365_CDS_O365_P2,4ff01e01-1ba7-4d71-8cf8-ce96c3bbcf14,Common Data Service +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,ADALLOM_S_DISCOVERY,932ad362-64a8-4783-9106-97849a1a30b9,Microsoft Defender for Cloud Apps Discovery +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,POWERAPPS_O365_P2,c68f8d98-5534-41c8-bf36-22fa496fa792,Power Apps for Office 365 +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,FLOW_O365_P2,76846ad7-7776-4c40-a281-a386362dd1b9,Power Automate for Office 365 +Microsoft 365 E3 EEA (no Teams),O365_w/o Teams Bundle_M3,c2fe850d-fbbb-4858-b67d-bd0c6e746da3,POWER_VIRTUAL_AGENTS_O365_P2,041fe683-03e4-45b6-b1af-c0cdc516daee,Power Virtual Agents for Office 365 +Microsoft 365 E3 Extra Features,Microsoft_365_E3_Extra_Features,f5b15d67-b99e-406b-90f1-308452f94de6,MESH_AVATARS_FOR_TEAMS,dcf9d2f4-772e-4434-b757-77a453cfbc02,Avatars for Teams +Microsoft 365 E3 Extra Features,Microsoft_365_E3_Extra_Features,f5b15d67-b99e-406b-90f1-308452f94de6,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) +Microsoft 365 E3 Extra Features,Microsoft_365_E3_Extra_Features,f5b15d67-b99e-406b-90f1-308452f94de6,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot +Microsoft 365 E3 Extra Features,Microsoft_365_E3_Extra_Features,f5b15d67-b99e-406b-90f1-308452f94de6,CLIPCHAMP,a1ace008-72f3-4ea0-8dac-33b3a23a2472,Microsoft Clipchamp +Microsoft 365 E3 Extra Features,Microsoft_365_E3_Extra_Features,f5b15d67-b99e-406b-90f1-308452f94de6,MICROSOFT_LOOP,c4b8c31a-fb44-4c65-9837-a21f55fcabda,Microsoft Loop +Microsoft 365 E3 Extra Features,Microsoft_365_E3_Extra_Features,f5b15d67-b99e-406b-90f1-308452f94de6,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print +Microsoft 365 E3 Extra Features,Microsoft_365_E3_Extra_Features,f5b15d67-b99e-406b-90f1-308452f94de6,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch +Microsoft 365 E3 Extra Features,Microsoft_365_E3_Extra_Features,f5b15d67-b99e-406b-90f1-308452f94de6,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,CDS_O365_P2,95b76021-6a53-4741-ab8b-1d1f3d66a95a,Common Data Service for Teams +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,OFFICESUBSCRIPTION_unattended,8d77e2d9-9e28-4450-8431-0def64078fc5,Microsoft 365 Apps for Enterprise (Unattended) +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,CLIPCHAMP,a1ace008-72f3-4ea0-8dac-33b3a23a2472,Microsoft Clipchamp +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,MDE_LITE,292cc034-7b7c-4950-aaf5-943befd3f1d4,Microsoft Defender for Endpoint Plan 1 +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,FORMS_PLAN_E3,2789c901-c14e-48ab-a76a-be334d9d793a,Microsoft Forms (Plan E3) +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,KAIZALA_O365_P3,aebd3021-9f8f-4bf8-bbe3-0ed2f4f047a1,Microsoft Kaizala Pro +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,STREAM_O365_E3,9e700747-8b1d-45e5-ab8d-ef187ceec156,Microsoft Stream for Office 365 E3 +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,PROJECT_O365_P2,31b4e2fc-4cd6-4e7d-9c1b-41407303bd66,Project for Office (Plan E3) +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,BPOS_S_TODO_2,c87f142c-d1e9-4363-8630-aaea9c4d9ae5,To-Do (Plan 2) +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,WHITEBOARD_PLAN2,94a54592-cd8b-425e-87c6-97868b000b91,Whiteboard (Plan 2) +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,WIN10_PRO_ENT_SUB,21b439ba-a0ca-424f-a6cc-52f954a5b111,Windows 10/11 Enterprise (Original) +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,DYN365_CDS_O365_P2,4ff01e01-1ba7-4d71-8cf8-ce96c3bbcf14,Common Data Service +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,ADALLOM_S_DISCOVERY,932ad362-64a8-4783-9106-97849a1a30b9,Microsoft Defender for Cloud Apps Discovery +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,POWERAPPS_O365_P2,c68f8d98-5534-41c8-bf36-22fa496fa792,Power Apps for Office 365 +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,FLOW_O365_P2,76846ad7-7776-4c40-a281-a386362dd1b9,Power Automate for Office 365 +Microsoft 365 E3 EEA (no Teams) - Unattended License,Microsoft_365_E3_EEA_(no_Teams)_Unattended_License,a23dbafb-3396-48b3-ad9c-a304fe206043,POWER_VIRTUAL_AGENTS_O365_P2,041fe683-03e4-45b6-b1af-c0cdc516daee,Power Virtual Agents for Office 365 +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,MESH_AVATARS_FOR_TEAMS,dcf9d2f4-772e-4434-b757-77a453cfbc02,Avatars for Teams +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,CDS_O365_P2,95b76021-6a53-4741-ab8b-1d1f3d66a95a,Common Data Service for Teams +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,OFFICESUBSCRIPTION_unattended,8d77e2d9-9e28-4450-8431-0def64078fc5,Microsoft 365 Apps for Enterprise (Unattended) +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,CLIPCHAMP,a1ace008-72f3-4ea0-8dac-33b3a23a2472,Microsoft Clipchamp +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,MDE_LITE,292cc034-7b7c-4950-aaf5-943befd3f1d4,Microsoft Defender for Endpoint Plan 1 +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,FORMS_PLAN_E3,2789c901-c14e-48ab-a76a-be334d9d793a,Microsoft Forms (Plan E3) +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,KAIZALA_O365_P3,aebd3021-9f8f-4bf8-bbe3-0ed2f4f047a1,Microsoft Kaizala Pro +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,MICROSOFT_LOOP,c4b8c31a-fb44-4c65-9837-a21f55fcabda,Microsoft Loop +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,STREAM_O365_E3,9e700747-8b1d-45e5-ab8d-ef187ceec156,Microsoft Stream for Office 365 E3 +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,PROJECT_O365_P2,31b4e2fc-4cd6-4e7d-9c1b-41407303bd66,Project for Office (Plan E3) +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,BPOS_S_TODO_2,c87f142c-d1e9-4363-8630-aaea9c4d9ae5,To-Do (Plan 2) +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,WHITEBOARD_PLAN2,94a54592-cd8b-425e-87c6-97868b000b91,Whiteboard (Plan 2) +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,WIN10_PRO_ENT_SUB,21b439ba-a0ca-424f-a6cc-52f954a5b111,Windows 10/11 Enterprise (Original) +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,DYN365_CDS_O365_P2,4ff01e01-1ba7-4d71-8cf8-ce96c3bbcf14,Common Data Service +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,ADALLOM_S_DISCOVERY,932ad362-64a8-4783-9106-97849a1a30b9,Microsoft Defender for Cloud Apps Discovery +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,POWERAPPS_O365_P2,c68f8d98-5534-41c8-bf36-22fa496fa792,Power Apps for Office 365 +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,FLOW_O365_P2,76846ad7-7776-4c40-a281-a386362dd1b9,Power Automate for Office 365 +Microsoft 365 E3 - Unattended License,SPE_E3_RPA1,c2ac2ee4-9bb1-47e4-8541-d689c7e83371,POWER_VIRTUAL_AGENTS_O365_P2,041fe683-03e4-45b6-b1af-c0cdc516daee,Power Virtual Agents for Office 365 +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,MESH_AVATARS_FOR_TEAMS,dcf9d2f4-772e-4434-b757-77a453cfbc02,Avatars for Teams +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,CDS_O365_P2,95b76021-6a53-4741-ab8b-1d1f3d66a95a,Common Data Service for Teams +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,CLIPCHAMP,a1ace008-72f3-4ea0-8dac-33b3a23a2472,Microsoft Clipchamp +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,MDE_LITE,292cc034-7b7c-4950-aaf5-943befd3f1d4,Microsoft Defender for Endpoint Plan 1 +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,FORMS_PLAN_E3,2789c901-c14e-48ab-a76a-be334d9d793a,Microsoft Forms (Plan E3) +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,KAIZALA_O365_P3,aebd3021-9f8f-4bf8-bbe3-0ed2f4f047a1,Microsoft Kaizala Pro +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,MICROSOFT_LOOP,c4b8c31a-fb44-4c65-9837-a21f55fcabda,Microsoft Loop +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,STREAM_O365_E3,9e700747-8b1d-45e5-ab8d-ef187ceec156,Microsoft Stream for Office 365 E3 +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,PROJECT_O365_P2,31b4e2fc-4cd6-4e7d-9c1b-41407303bd66,Project for Office (Plan E3) +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,BPOS_S_TODO_2,c87f142c-d1e9-4363-8630-aaea9c4d9ae5,To-Do (Plan 2) +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,WHITEBOARD_PLAN2,94a54592-cd8b-425e-87c6-97868b000b91,Whiteboard (Plan 2) +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,WIN10_PRO_ENT_SUB,21b439ba-a0ca-424f-a6cc-52f954a5b111,Windows 10/11 Enterprise (Original) +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,DYN365_CDS_O365_P2,4ff01e01-1ba7-4d71-8cf8-ce96c3bbcf14,Common Data Service +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,ADALLOM_S_DISCOVERY,932ad362-64a8-4783-9106-97849a1a30b9,Microsoft Defender for Cloud Apps Discovery +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,POWERAPPS_O365_P2,c68f8d98-5534-41c8-bf36-22fa496fa792,Power Apps for Office 365 +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,FLOW_O365_P2,76846ad7-7776-4c40-a281-a386362dd1b9,Power Automate for Office 365 +Microsoft 365 E3 (500 seats min)_HUB,Microsoft_365_E3,0c21030a-7e60-4ec7-9a0f-0042e0e0211a,POWER_VIRTUAL_AGENTS_O365_P2,041fe683-03e4-45b6-b1af-c0cdc516daee,Power Virtual Agents for Office 365 +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,MESH_AVATARS_FOR_TEAMS,dcf9d2f4-772e-4434-b757-77a453cfbc02,Avatars for Teams +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,EXCHANGE_S_DESKLESS,4a82b400-a79f-41a4-b4e2-e94f5787b113,Exchange Online Kiosk +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,MESH_IMMERSIVE_FOR_TEAMS,f0ff6ac6-297d-49cd-be34-6dfef97f0c28,Immersive spaces for Teams +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,FORMS_PLAN_E1,159f4cd6-e380-449f-a816-af1a9ef76344,Microsoft Forms (Plan E1) +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,ONEDRIVE_BASIC_P2,4495894f-534f-41ca-9d3b-0ebf1220a423,OneDrive for Business (Basic 2) +Microsoft Teams EEA,Microsoft_Teams_EEA_New,7e74bd05-2c47-404e-829a-ba95c66fe8e5,MCOIMP,afc06cb0-b4f4-4473-8286-d644f70d8faf,Skype for Business Online (Plan 1) +Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,MDE_LITE,292cc034-7b7c-4950-aaf5-943befd3f1d4,Microsoft Defender for Endpoint Plan 1 +Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,FORMS_PLAN_E3,2789c901-c14e-48ab-a76a-be334d9d793a,Microsoft Forms (Plan E3) +Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,KAIZALA_O365_P3,aebd3021-9f8f-4bf8-bbe3-0ed2f4f047a1,Microsoft Kaizala Pro +Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,MICROSOFT_LOOP,c4b8c31a-fb44-4c65-9837-a21f55fcabda,Microsoft Loop +Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,PROJECT_O365_P2,31b4e2fc-4cd6-4e7d-9c1b-41407303bd66,Project for Office (Plan E3) +Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) +Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,BPOS_S_TODO_2,c87f142c-d1e9-4363-8630-aaea9c4d9ae5,To-Do (Plan 2) +Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core +Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,WHITEBOARD_PLAN2,94a54592-cd8b-425e-87c6-97868b000b91,Whiteboard (Plan 2) +Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print +Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,WIN10_PRO_ENT_SUB,21b439ba-a0ca-424f-a6cc-52f954a5b111,Windows 10/11 Enterprise (Original) +Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch +Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service +Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,DYN365_CDS_O365_P2,4ff01e01-1ba7-4d71-8cf8-ce96c3bbcf14,Common Data Service +Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,ADALLOM_S_DISCOVERY,932ad362-64a8-4783-9106-97849a1a30b9,Microsoft Defender for Cloud Apps Discovery +Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 +Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,STREAM_O365_E3,9e700747-8b1d-45e5-ab8d-ef187ceec156,Microsoft Stream for Office 365 E3 +Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,POWERAPPS_O365_P2,c68f8d98-5534-41c8-bf36-22fa496fa792,Power Apps for Office 365 +Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,FLOW_O365_P2,76846ad7-7776-4c40-a281-a386362dd1b9,Power Automate for Office 365 +Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB,O365_w/o Teams Bundle_M3_(500_seats_min)_HUB,602e6573-55a3-46b1-a1a0-cc267991501a,POWER_VIRTUAL_AGENTS_O365_P2,041fe683-03e4-45b6-b1af-c0cdc516daee,Power Virtual Agents for Office 365 +Microsoft 365 E3_USGOV_DOD,SPE_E3_USGOV_DOD,d61d61cc-f992-433f-a577-5bd016037eeb,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 E3_USGOV_DOD,SPE_E3_USGOV_DOD,d61d61cc-f992-433f-a577-5bd016037eeb,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Microsoft 365 E3_USGOV_DOD,SPE_E3_USGOV_DOD,d61d61cc-f992-433f-a577-5bd016037eeb,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Microsoft 365 E3_USGOV_DOD,SPE_E3_USGOV_DOD,d61d61cc-f992-433f-a577-5bd016037eeb,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Microsoft Microsoft Entra Rights +Microsoft 365 E3_USGOV_DOD,SPE_E3_USGOV_DOD,d61d61cc-f992-433f-a577-5bd016037eeb,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 E3_USGOV_DOD,SPE_E3_USGOV_DOD,d61d61cc-f992-433f-a577-5bd016037eeb,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune +Microsoft 365 E3_USGOV_DOD,SPE_E3_USGOV_DOD,d61d61cc-f992-433f-a577-5bd016037eeb,STREAM_O365_E3,9e700747-8b1d-45e5-ab8d-ef187ceec156,Microsoft Stream for O365 E3 SKU +Microsoft 365 E3_USGOV_DOD,SPE_E3_USGOV_DOD,d61d61cc-f992-433f-a577-5bd016037eeb,TEAMS_AR_DOD,fd500458-c24c-478e-856c-a6067a8376cd,Microsoft Teams for DOD (AR) +Microsoft 365 E3_USGOV_DOD,SPE_E3_USGOV_DOD,d61d61cc-f992-433f-a577-5bd016037eeb,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Office 365 ProPlus +Microsoft 365 E3_USGOV_DOD,SPE_E3_USGOV_DOD,d61d61cc-f992-433f-a577-5bd016037eeb,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office Online +Microsoft 365 E3_USGOV_DOD,SPE_E3_USGOV_DOD,d61d61cc-f992-433f-a577-5bd016037eeb,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint Online (Plan 2) +Microsoft 365 E3_USGOV_DOD,SPE_E3_USGOV_DOD,d61d61cc-f992-433f-a577-5bd016037eeb,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft 365 E3_USGOV_GCCHIGH,SPE_E3_USGOV_GCCHIGH,ca9d1dd9-dfe9-4fef-b97c-9bc1ea3c3658,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 E3_USGOV_GCCHIGH,SPE_E3_USGOV_GCCHIGH,ca9d1dd9-dfe9-4fef-b97c-9bc1ea3c3658,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P +Microsoft 365 E3_USGOV_GCCHIGH,SPE_E3_USGOV_GCCHIGH,ca9d1dd9-dfe9-4fef-b97c-9bc1ea3c3658,ADALLOM_S_DISCOVERY,932ad362-64a8-4783-9106-97849a1a30b9,Cloud App Security Discovery +Microsoft 365 E3_USGOV_GCCHIGH,SPE_E3_USGOV_GCCHIGH,ca9d1dd9-dfe9-4fef-b97c-9bc1ea3c3658,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Microsoft 365 E3_USGOV_GCCHIGH,SPE_E3_USGOV_GCCHIGH,ca9d1dd9-dfe9-4fef-b97c-9bc1ea3c3658,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Microsoft Microsoft Entra Rights +Microsoft 365 E3_USGOV_GCCHIGH,SPE_E3_USGOV_GCCHIGH,ca9d1dd9-dfe9-4fef-b97c-9bc1ea3c3658,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 E3_USGOV_GCCHIGH,SPE_E3_USGOV_GCCHIGH,ca9d1dd9-dfe9-4fef-b97c-9bc1ea3c3658,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune +Microsoft 365 E3_USGOV_GCCHIGH,SPE_E3_USGOV_GCCHIGH,ca9d1dd9-dfe9-4fef-b97c-9bc1ea3c3658,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 E3_USGOV_GCCHIGH,SPE_E3_USGOV_GCCHIGH,ca9d1dd9-dfe9-4fef-b97c-9bc1ea3c3658,STREAM_O365_E3,9e700747-8b1d-45e5-ab8d-ef187ceec156,Microsoft Stream for O365 E3 SKU +Microsoft 365 E3_USGOV_GCCHIGH,SPE_E3_USGOV_GCCHIGH,ca9d1dd9-dfe9-4fef-b97c-9bc1ea3c3658,TEAMS_AR_GCCHIGH,9953b155-8aef-4c56-92f3-72b0487fce41,Microsoft Teams for GCCHigh (AR) +Microsoft 365 E3_USGOV_GCCHIGH,SPE_E3_USGOV_GCCHIGH,ca9d1dd9-dfe9-4fef-b97c-9bc1ea3c3658,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Office 365 ProPlus +Microsoft 365 E3_USGOV_GCCHIGH,SPE_E3_USGOV_GCCHIGH,ca9d1dd9-dfe9-4fef-b97c-9bc1ea3c3658,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office Online +Microsoft 365 E3_USGOV_GCCHIGH,SPE_E3_USGOV_GCCHIGH,ca9d1dd9-dfe9-4fef-b97c-9bc1ea3c3658,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint Online (Plan 2) +Microsoft 365 E3_USGOV_GCCHIGH,SPE_E3_USGOV_GCCHIGH,ca9d1dd9-dfe9-4fef-b97c-9bc1ea3c3658,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,MESH_AVATARS_FOR_TEAMS,dcf9d2f4-772e-4434-b757-77a453cfbc02,Avatars for Teams +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,CDS_O365_P3,afa73018-811e-46e9-988f-f75d2b1b8430,Common Data Service for Teams +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,CustomerLockboxA_Enterprise,3ec18638-bd4c-4d3b-8905-479ed636b83e,Customer Lockbox (A) +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,MESH_IMMERSIVE_FOR_TEAMS,f0ff6ac6-297d-49cd-be34-6dfef97f0c28,Immersive spaces for Teams +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,M365_AUDIT_PLATFORM,f6de4823-28fa-440b-b886-4783fa86ddba,Microsoft 365 Audit Platform +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,Microsoft 365 Communication Compliance +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,MTP,bf28f719-7844-4079-9c78-c1307898e192,Microsoft 365 Defender +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,CLIPCHAMP,a1ace008-72f3-4ea0-8dac-33b3a23a2472,Microsoft Clipchamp +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,COMMUNICATIONS_DLP,6dc145d6-95dd-4191-b9c3-185575ee6f6b,Microsoft Communications DLP +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,CUSTOMER_KEY,6db1f1db-2b46-403f-be40-e39395f08dbb,Microsoft Customer Key +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,DATA_INVESTIGATIONS,46129a58-a698-46f0-aa5b-17f6586297d9,Microsoft Data Investigations +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,ATP_ENTERPRISE,f20fedf3-f3c3-43c3-8267-2bfdd51c0939,Microsoft Defender for Office 365 (Plan 1) +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,THREAT_INTELLIGENCE,8e0c0a52-6a6c-4d40-8370-dd62790dcd70,Microsoft Defender for Office 365 (Plan 2) +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,EXCEL_PREMIUM,531ee2f8-b1cb-453b-9c21-d2180d014ca5,Microsoft Excel Advanced Analytics +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,FORMS_PLAN_E5,e212cbc7-0961-4c40-9825-01117710dcb1,Microsoft Forms (Plan E5) +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,INFO_GOVERNANCE,e26c2fcc-ab91-4a61-b35c-03cdc8dddf66,Microsoft Information Governance +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,INSIDER_RISK,d587c7a3-bda9-4f99-8776-9bcf59c84f75,Microsoft Insider Risk Management +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,KAIZALA_STANDALONE,0898bdbb-73b0-471a-81e5-20f1fe4dd66e,Microsoft Kaizala Pro +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,MICROSOFT_LOOP,c4b8c31a-fb44-4c65-9837-a21f55fcabda,Microsoft Loop +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,ML_CLASSIFICATION,d2d51368-76c9-4317-ada2-a12c004c432f,Microsoft ML-Based Classification +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,EXCHANGE_ANALYTICS,34c0d7a0-a70f-4668-9238-47f9fc208882,Microsoft MyAnalytics (Full) +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,RECORDS_MANAGEMENT,65cc641f-cccd-4643-97e0-a17e3045e541,Microsoft Records Management +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,STREAM_O365_E5,6c6042f5-6f01-4d67-b8c1-eb99d36eed3e,Microsoft Stream for Office 365 E5 +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,EQUIVIO_ANALYTICS,4de31727-a228-4ec3-a5bf-8e45b5ca48cc,Office 365 Advanced eDiscovery +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,ADALLOM_S_O365,8c098270-9dd4-4350-9b30-ba4703f3b36b,Office 365 Cloud App Security +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,PAM_ENTERPRISE,b1188c4c-1b36-4018-b48b-ee07604f6feb,Office 365 Privileged Access Management +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,SAFEDOCS,bf6f5520-59e3-4f82-974b-7dbbc4fd27c7,Office 365 SafeDocs +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,POWERAPPS_O365_P3,9c0dab89-a30c-4117-86e7-97bda240acd2,Power Apps for Office 365 (Plan 3) +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,BI_AZURE_P2,70d33638-9c74-4d01-bfd3-562de28bd4ba,Power BI Pro +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,PREMIUM_ENCRYPTION,617b097b-4b93-4ede-83de-5f075bb5fb2f,Premium Encryption in Office 365 +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,PROJECT_O365_P3,b21a6b06-1988-436e-a07b-51ec6d9f52ad,Project for Office (Plan E5) +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,PURVIEW_DISCOVERY,c948ea65-2053-4a5a-8a62-9eaaaf11b522,Purview Discovery +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,COMMUNICATIONS_COMPLIANCE,41fcdd7d-4733-4863-9cf4-c65b83ce2df4,RETIRED - Microsoft Communications Compliance +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,INSIDER_RISK_MANAGEMENT,9d0c4ee5-e4a1-4625-ab39-d82b619b1a34,RETIRED - Microsoft Insider Risk Management +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,BPOS_S_TODO_3,3fb82609-8c27-4f7b-bd51-30634711ee67,To-Do (Plan 3) +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,Microsoft Defender for Endpoint +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,MICROSOFTENDPOINTDLP,64bfac92-2b17-4482-b5e5-a0304429de3e,Microsoft Endpoint DLP +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,WIN10_PRO_ENT_SUB,21b439ba-a0ca-424f-a6cc-52f954a5b111,Windows 10/11 Enterprise (Original) +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,RMS_S_PREMIUM2,5689bec4-755d-4753-8b61-40975025187c,Azure Information Protection Premium P2 +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,DYN365_CDS_O365_P3,28b0fa46-c39a-4188-89e2-58e979a6b014,Common Data Service +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,Defender_for_Iot_Enterprise,99cd49a9-0e54-4e07-aea1-d8d9f5f704f5,Defender for IoT - Enterprise IoT Security +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,ADALLOM_S_STANDALONE,2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2,Microsoft Defender for Cloud Apps +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,ATA,14ab5db5-e6c4-4b20-b4bc-13e36fd2227f,Microsoft Defender for Identity +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,AAD_PREMIUM_P2,eec0eb4f-6444-4f95-aba0-50c24d67f998,Microsoft Entra ID P2 +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,FLOW_O365_P3,07699545-9485-468e-95b6-2fca3738be01,Power Automate for Office 365 +Microsoft 365 E5,SPE_E5,06ebc4ee-1bb5-47dd-8120-11324bc54e06,POWER_VIRTUAL_AGENTS_O365_P3,ded3d325-1bdc-453e-8432-5bac26d7a014,Power Virtual Agents for Office 365 +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,CDS_O365_P3,afa73018-811e-46e9-988f-f75d2b1b8430,Common Data Service for Teams +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,M365_AUDIT_PLATFORM,f6de4823-28fa-440b-b886-4783fa86ddba,Microsoft 365 Audit Platform +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,Microsoft 365 Communication Compliance +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,MCOPSTN8,16935b20-87c0-4908-934a-22aa267d0d26,Microsoft 365 Domestic Calling Plan (120 min) at User Level +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,COMMUNICATIONS_DLP,6dc145d6-95dd-4191-b9c3-185575ee6f6b,Microsoft Communications DLP +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,CUSTOMER_KEY,6db1f1db-2b46-403f-be40-e39395f08dbb,Microsoft Customer Key +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,DATA_INVESTIGATIONS,46129a58-a698-46f0-aa5b-17f6586297d9,Microsoft Data Investigations +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,ATP_ENTERPRISE,f20fedf3-f3c3-43c3-8267-2bfdd51c0939,Microsoft Defender for Office 365 (Plan 1) +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,THREAT_INTELLIGENCE,8e0c0a52-6a6c-4d40-8370-dd62790dcd70,Microsoft Defender for Office 365 (Plan 2) +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,EXCEL_PREMIUM,531ee2f8-b1cb-453b-9c21-d2180d014ca5,Microsoft Excel Advanced Analytics +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,FORMS_PLAN_E5,e212cbc7-0961-4c40-9825-01117710dcb1,Microsoft Forms (Plan E5) +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,INFO_GOVERNANCE,e26c2fcc-ab91-4a61-b35c-03cdc8dddf66,Microsoft Information Governance +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,INSIDER_RISK,d587c7a3-bda9-4f99-8776-9bcf59c84f75,Microsoft Insider Risk Management +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,KAIZALA_STANDALONE,0898bdbb-73b0-471a-81e5-20f1fe4dd66e,Microsoft Kaizala Pro +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,ML_CLASSIFICATION,d2d51368-76c9-4317-ada2-a12c004c432f,Microsoft ML-Based Classification +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,EXCHANGE_ANALYTICS,34c0d7a0-a70f-4668-9238-47f9fc208882,Microsoft MyAnalytics (Full) +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,RECORDS_MANAGEMENT,65cc641f-cccd-4643-97e0-a17e3045e541,Microsoft Records Management +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,STREAM_O365_E5,6c6042f5-6f01-4d67-b8c1-eb99d36eed3e,Microsoft Stream for Office 365 E5 +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,EQUIVIO_ANALYTICS,4de31727-a228-4ec3-a5bf-8e45b5ca48cc,Office 365 Advanced eDiscovery +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,ADALLOM_S_O365,8c098270-9dd4-4350-9b30-ba4703f3b36b,Office 365 Cloud App Security +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,PAM_ENTERPRISE,b1188c4c-1b36-4018-b48b-ee07604f6feb,Office 365 Privileged Access Management +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,SAFEDOCS,bf6f5520-59e3-4f82-974b-7dbbc4fd27c7,Office 365 SafeDocs +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,POWERAPPS_O365_P3,9c0dab89-a30c-4117-86e7-97bda240acd2,Power Apps for Office 365 (Plan 3) +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,BI_AZURE_P2,70d33638-9c74-4d01-bfd3-562de28bd4ba,Power BI Pro +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,PREMIUM_ENCRYPTION,617b097b-4b93-4ede-83de-5f075bb5fb2f,Premium Encryption in Office 365 +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,PROJECT_O365_P3,b21a6b06-1988-436e-a07b-51ec6d9f52ad,Project for Office (Plan E5) +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,COMMUNICATIONS_COMPLIANCE,41fcdd7d-4733-4863-9cf4-c65b83ce2df4,RETIRED - Microsoft Communications Compliance +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,INSIDER_RISK_MANAGEMENT,9d0c4ee5-e4a1-4625-ab39-d82b619b1a34,RETIRED - Microsoft Insider Risk Management +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,SHAREPOINTENTERPRISE_MIDMARKET,6b5b6a67-fc72-4a1f-a2b5-beecf05de761,SharePoint (Plan 1) +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,BPOS_S_TODO_3,3fb82609-8c27-4f7b-bd51-30634711ee67,To-Do (Plan 3) +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,Microsoft Defender for Endpoint +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,WIN10_PRO_ENT_SUB,21b439ba-a0ca-424f-a6cc-52f954a5b111,Windows 10/11 Enterprise (Original) +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,RMS_S_PREMIUM2,5689bec4-755d-4753-8b61-40975025187c,Azure Information Protection Premium P2 +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,DYN365_CDS_O365_P3,28b0fa46-c39a-4188-89e2-58e979a6b014,Common Data Service +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,ADALLOM_S_STANDALONE,2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2,Microsoft Defender for Cloud Apps +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,ATA,14ab5db5-e6c4-4b20-b4bc-13e36fd2227f,Microsoft Defender for Identity +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,AAD_PREMIUM_P2,eec0eb4f-6444-4f95-aba0-50c24d67f998,Microsoft Entra ID P2 +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,FLOW_O365_P1,0f9b09cb-62d1-4ff4-9129-43f4996f83f4,Power Automate for Office 365 +Microsoft 365 E5 EEA (no Teams) with Calling Minutes,Microsoft_365_E5_EEA_(no_Teams)_with_Calling_Minutes,6ee4114a-9b2d-4577-9e7a-49fa43d222d3,POWER_VIRTUAL_AGENTS_O365_P3,ded3d325-1bdc-453e-8432-5bac26d7a014,Power Virtual Agents for Office 365 +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,CDS_O365_P3,afa73018-811e-46e9-988f-f75d2b1b8430,Common Data Service for Teams +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,CustomerLockboxA_Enterprise,3ec18638-bd4c-4d3b-8905-479ed636b83e,Customer Lockbox (A) +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,M365_AUDIT_PLATFORM,f6de4823-28fa-440b-b886-4783fa86ddba,Microsoft 365 Audit Platform +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,Microsoft 365 Communication Compliance +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,MTP,bf28f719-7844-4079-9c78-c1307898e192,Microsoft 365 Defender +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,CLIPCHAMP,a1ace008-72f3-4ea0-8dac-33b3a23a2472,Microsoft Clipchamp +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,COMMUNICATIONS_DLP,6dc145d6-95dd-4191-b9c3-185575ee6f6b,Microsoft Communications DLP +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,CUSTOMER_KEY,6db1f1db-2b46-403f-be40-e39395f08dbb,Microsoft Customer Key +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,DATA_INVESTIGATIONS,46129a58-a698-46f0-aa5b-17f6586297d9,Microsoft Data Investigations +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,ATP_ENTERPRISE,f20fedf3-f3c3-43c3-8267-2bfdd51c0939,Microsoft Defender for Office 365 (Plan 1) +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,THREAT_INTELLIGENCE,8e0c0a52-6a6c-4d40-8370-dd62790dcd70,Microsoft Defender for Office 365 (Plan 2) +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,EXCEL_PREMIUM,531ee2f8-b1cb-453b-9c21-d2180d014ca5,Microsoft Excel Advanced Analytics +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,FORMS_PLAN_E5,e212cbc7-0961-4c40-9825-01117710dcb1,Microsoft Forms (Plan E5) +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,INFO_GOVERNANCE,e26c2fcc-ab91-4a61-b35c-03cdc8dddf66,Microsoft Information Governance +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,INSIDER_RISK,d587c7a3-bda9-4f99-8776-9bcf59c84f75,Microsoft Insider Risk Management +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,KAIZALA_STANDALONE,0898bdbb-73b0-471a-81e5-20f1fe4dd66e,Microsoft Kaizala Pro +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,ML_CLASSIFICATION,d2d51368-76c9-4317-ada2-a12c004c432f,Microsoft ML-Based Classification +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,EXCHANGE_ANALYTICS,34c0d7a0-a70f-4668-9238-47f9fc208882,Microsoft MyAnalytics (Full) +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,RECORDS_MANAGEMENT,65cc641f-cccd-4643-97e0-a17e3045e541,Microsoft Records Management +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,STREAM_O365_E5,6c6042f5-6f01-4d67-b8c1-eb99d36eed3e,Microsoft Stream for Office 365 E5 +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,EQUIVIO_ANALYTICS,4de31727-a228-4ec3-a5bf-8e45b5ca48cc,Office 365 Advanced eDiscovery +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,ADALLOM_S_O365,8c098270-9dd4-4350-9b30-ba4703f3b36b,Office 365 Cloud App Security +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,PAM_ENTERPRISE,b1188c4c-1b36-4018-b48b-ee07604f6feb,Office 365 Privileged Access Management +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,SAFEDOCS,bf6f5520-59e3-4f82-974b-7dbbc4fd27c7,Office 365 SafeDocs +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,POWERAPPS_O365_P3,9c0dab89-a30c-4117-86e7-97bda240acd2,Power Apps for Office 365 (Plan 3) +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,PREMIUM_ENCRYPTION,617b097b-4b93-4ede-83de-5f075bb5fb2f,Premium Encryption in Office 365 +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,PROJECT_O365_P3,b21a6b06-1988-436e-a07b-51ec6d9f52ad,Project for Office (Plan E5) +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,COMMUNICATIONS_COMPLIANCE,41fcdd7d-4733-4863-9cf4-c65b83ce2df4,RETIRED - Microsoft Communications Compliance +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,INSIDER_RISK_MANAGEMENT,9d0c4ee5-e4a1-4625-ab39-d82b619b1a34,RETIRED - Microsoft Insider Risk Management +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,BPOS_S_TODO_3,3fb82609-8c27-4f7b-bd51-30634711ee67,To-Do (Plan 3) +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,Microsoft Defender for Endpoint +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,MICROSOFTENDPOINTDLP,64bfac92-2b17-4482-b5e5-a0304429de3e,Microsoft Endpoint DLP +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,WIN10_PRO_ENT_SUB,21b439ba-a0ca-424f-a6cc-52f954a5b111,Windows 10/11 Enterprise (Original) +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,RMS_S_PREMIUM2,5689bec4-755d-4753-8b61-40975025187c,Azure Information Protection Premium P2 +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,DYN365_CDS_O365_P3,28b0fa46-c39a-4188-89e2-58e979a6b014,Common Data Service +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,ADALLOM_S_STANDALONE,2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2,Microsoft Defender for Cloud Apps +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,ATA,14ab5db5-e6c4-4b20-b4bc-13e36fd2227f,Microsoft Defender for Identity +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,AAD_PREMIUM_P2,eec0eb4f-6444-4f95-aba0-50c24d67f998,Microsoft Entra ID P2 +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,FLOW_O365_P3,07699545-9485-468e-95b6-2fca3738be01,Power Automate for Office 365 +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,BI_AZURE_P2,70d33638-9c74-4d01-bfd3-562de28bd4ba,Power BI Pro +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,90277bc7-a6fe-4181-99d8-712b08b8d32b,POWER_VIRTUAL_AGENTS_O365_P3,ded3d325-1bdc-453e-8432-5bac26d7a014,Power Virtual Agents for Office 365 +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,MESH_AVATARS_FOR_TEAMS,dcf9d2f4-772e-4434-b757-77a453cfbc02,Avatars for Teams +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,CDS_O365_P3,afa73018-811e-46e9-988f-f75d2b1b8430,Common Data Service for Teams +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,CustomerLockboxA_Enterprise,3ec18638-bd4c-4d3b-8905-479ed636b83e,Customer Lockbox (A) +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,M365_AUDIT_PLATFORM,f6de4823-28fa-440b-b886-4783fa86ddba,Microsoft 365 Audit Platform +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,Microsoft 365 Communication Compliance +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,MTP,bf28f719-7844-4079-9c78-c1307898e192,Microsoft 365 Defender +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,CLIPCHAMP,a1ace008-72f3-4ea0-8dac-33b3a23a2472,Microsoft Clipchamp +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,COMMUNICATIONS_DLP,6dc145d6-95dd-4191-b9c3-185575ee6f6b,Microsoft Communications DLP +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,CUSTOMER_KEY,6db1f1db-2b46-403f-be40-e39395f08dbb,Microsoft Customer Key +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,DATA_INVESTIGATIONS,46129a58-a698-46f0-aa5b-17f6586297d9,Microsoft Data Investigations +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,ATP_ENTERPRISE,f20fedf3-f3c3-43c3-8267-2bfdd51c0939,Microsoft Defender for Office 365 (Plan 1) +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,THREAT_INTELLIGENCE,8e0c0a52-6a6c-4d40-8370-dd62790dcd70,Microsoft Defender for Office 365 (Plan 2) +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,EXCEL_PREMIUM,531ee2f8-b1cb-453b-9c21-d2180d014ca5,Microsoft Excel Advanced Analytics +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,FORMS_PLAN_E5,e212cbc7-0961-4c40-9825-01117710dcb1,Microsoft Forms (Plan E5) +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,INFO_GOVERNANCE,e26c2fcc-ab91-4a61-b35c-03cdc8dddf66,Microsoft Information Governance +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,INSIDER_RISK,d587c7a3-bda9-4f99-8776-9bcf59c84f75,Microsoft Insider Risk Management +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,KAIZALA_STANDALONE,0898bdbb-73b0-471a-81e5-20f1fe4dd66e,Microsoft Kaizala Pro +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,MICROSOFT_LOOP,c4b8c31a-fb44-4c65-9837-a21f55fcabda,Microsoft Loop +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,ML_CLASSIFICATION,d2d51368-76c9-4317-ada2-a12c004c432f,Microsoft ML-Based Classification +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,EXCHANGE_ANALYTICS,34c0d7a0-a70f-4668-9238-47f9fc208882,Microsoft MyAnalytics (Full) +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,RECORDS_MANAGEMENT,65cc641f-cccd-4643-97e0-a17e3045e541,Microsoft Records Management +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,STREAM_O365_E5,6c6042f5-6f01-4d67-b8c1-eb99d36eed3e,Microsoft Stream for Office 365 E5 +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,EQUIVIO_ANALYTICS,4de31727-a228-4ec3-a5bf-8e45b5ca48cc,Office 365 Advanced eDiscovery +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,ADALLOM_S_O365,8c098270-9dd4-4350-9b30-ba4703f3b36b,Office 365 Cloud App Security +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,PAM_ENTERPRISE,b1188c4c-1b36-4018-b48b-ee07604f6feb,Office 365 Privileged Access Management +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,SAFEDOCS,bf6f5520-59e3-4f82-974b-7dbbc4fd27c7,Office 365 SafeDocs +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,POWERAPPS_O365_P3,9c0dab89-a30c-4117-86e7-97bda240acd2,Power Apps for Office 365 (Plan 3) +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,BI_AZURE_P2,70d33638-9c74-4d01-bfd3-562de28bd4ba,Power BI Pro +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,PREMIUM_ENCRYPTION,617b097b-4b93-4ede-83de-5f075bb5fb2f,Premium Encryption in Office 365 +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,PROJECT_O365_P3,b21a6b06-1988-436e-a07b-51ec6d9f52ad,Project for Office (Plan E5) +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,PURVIEW_DISCOVERY,c948ea65-2053-4a5a-8a62-9eaaaf11b522,Purview Discovery +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,BPOS_S_TODO_3,3fb82609-8c27-4f7b-bd51-30634711ee67,To-Do (Plan 3) +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,Microsoft Defender for Endpoint +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,MICROSOFTENDPOINTDLP,64bfac92-2b17-4482-b5e5-a0304429de3e,Microsoft Endpoint DLP +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,WIN10_PRO_ENT_SUB,21b439ba-a0ca-424f-a6cc-52f954a5b111,Windows 10/11 Enterprise (Original) +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,RMS_S_PREMIUM2,5689bec4-755d-4753-8b61-40975025187c,Azure Information Protection Premium P2 +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,DYN365_CDS_O365_P3,28b0fa46-c39a-4188-89e2-58e979a6b014,Common Data Service +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,Defender_for_Iot_Enterprise,99cd49a9-0e54-4e07-aea1-d8d9f5f704f5,Defender for IoT - Enterprise IoT Security +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,ADALLOM_S_STANDALONE,2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2,Microsoft Defender for Cloud Apps +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,ATA,14ab5db5-e6c4-4b20-b4bc-13e36fd2227f,Microsoft Defender for Identity +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,AAD_PREMIUM_P2,eec0eb4f-6444-4f95-aba0-50c24d67f998,Microsoft Entra ID P2 +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,FLOW_O365_P3,07699545-9485-468e-95b6-2fca3738be01,Power Automate for Office 365 +Microsoft 365 E5 (500 seats min)_HUB,Microsoft_365_E5,db684ac5-c0e7-4f92-8284-ef9ebde75d33,POWER_VIRTUAL_AGENTS_O365_P3,ded3d325-1bdc-453e-8432-5bac26d7a014,Power Virtual Agents for Office 365 +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,MESH_AVATARS_FOR_TEAMS,dcf9d2f4-772e-4434-b757-77a453cfbc02,Avatars for Teams +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,CDS_O365_P3,afa73018-811e-46e9-988f-f75d2b1b8430,Common Data Service for Teams +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,CustomerLockboxA_Enterprise,3ec18638-bd4c-4d3b-8905-479ed636b83e,Customer Lockbox (A) +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,M365_AUDIT_PLATFORM,f6de4823-28fa-440b-b886-4783fa86ddba,Microsoft 365 Audit Platform +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,Microsoft 365 Communication Compliance +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,MTP,bf28f719-7844-4079-9c78-c1307898e192,Microsoft 365 Defender +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,CLIPCHAMP,a1ace008-72f3-4ea0-8dac-33b3a23a2472,Microsoft Clipchamp +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,COMMUNICATIONS_DLP,6dc145d6-95dd-4191-b9c3-185575ee6f6b,Microsoft Communications DLP +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,CUSTOMER_KEY,6db1f1db-2b46-403f-be40-e39395f08dbb,Microsoft Customer Key +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,DATA_INVESTIGATIONS,46129a58-a698-46f0-aa5b-17f6586297d9,Microsoft Data Investigations +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,ATP_ENTERPRISE,f20fedf3-f3c3-43c3-8267-2bfdd51c0939,Microsoft Defender for Office 365 (Plan 1) +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,THREAT_INTELLIGENCE,8e0c0a52-6a6c-4d40-8370-dd62790dcd70,Microsoft Defender for Office 365 (Plan 2) +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,EXCEL_PREMIUM,531ee2f8-b1cb-453b-9c21-d2180d014ca5,Microsoft Excel Advanced Analytics +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,FORMS_PLAN_E5,e212cbc7-0961-4c40-9825-01117710dcb1,Microsoft Forms (Plan E5) +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,INFO_GOVERNANCE,e26c2fcc-ab91-4a61-b35c-03cdc8dddf66,Microsoft Information Governance +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,INSIDER_RISK,d587c7a3-bda9-4f99-8776-9bcf59c84f75,Microsoft Insider Risk Management +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,MICROSOFT_LOOP,c4b8c31a-fb44-4c65-9837-a21f55fcabda,Microsoft Loop +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,ML_CLASSIFICATION,d2d51368-76c9-4317-ada2-a12c004c432f,Microsoft ML-Based Classification +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,EXCHANGE_ANALYTICS,34c0d7a0-a70f-4668-9238-47f9fc208882,Microsoft MyAnalytics (Full) +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,RECORDS_MANAGEMENT,65cc641f-cccd-4643-97e0-a17e3045e541,Microsoft Records Management +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,STREAM_O365_E5,6c6042f5-6f01-4d67-b8c1-eb99d36eed3e,Microsoft Stream for Office 365 E5 +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,EQUIVIO_ANALYTICS,4de31727-a228-4ec3-a5bf-8e45b5ca48cc,Office 365 Advanced eDiscovery +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,ADALLOM_S_O365,8c098270-9dd4-4350-9b30-ba4703f3b36b,Office 365 Cloud App Security +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,PAM_ENTERPRISE,b1188c4c-1b36-4018-b48b-ee07604f6feb,Office 365 Privileged Access Management +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,SAFEDOCS,bf6f5520-59e3-4f82-974b-7dbbc4fd27c7,Office 365 SafeDocs +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,POWERAPPS_O365_P3,9c0dab89-a30c-4117-86e7-97bda240acd2,Power Apps for Office 365 (Plan 3) +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,BI_AZURE_P2,70d33638-9c74-4d01-bfd3-562de28bd4ba,Power BI Pro +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,PROJECT_O365_P3,b21a6b06-1988-436e-a07b-51ec6d9f52ad,Project for Office (Plan E5) +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,PURVIEW_DISCOVERY,c948ea65-2053-4a5a-8a62-9eaaaf11b522,Purview Discovery +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,COMMUNICATIONS_COMPLIANCE,41fcdd7d-4733-4863-9cf4-c65b83ce2df4,RETIRED - Microsoft Communications Compliance +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,INSIDER_RISK_MANAGEMENT,9d0c4ee5-e4a1-4625-ab39-d82b619b1a34,RETIRED - Microsoft Insider Risk Management +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,BPOS_S_TODO_3,3fb82609-8c27-4f7b-bd51-30634711ee67,To-Do (Plan 3) +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,RMS_S_PREMIUM2,5689bec4-755d-4753-8b61-40975025187c,Azure Information Protection Premium P2 +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,DYN365_CDS_O365_P3,28b0fa46-c39a-4188-89e2-58e979a6b014,Common Data Service +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,ADALLOM_S_STANDALONE,2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2,Microsoft Defender for Cloud Apps +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,ATA,14ab5db5-e6c4-4b20-b4bc-13e36fd2227f,Microsoft Defender for Identity +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,AAD_PREMIUM_P2,eec0eb4f-6444-4f95-aba0-50c24d67f998,Microsoft Entra ID P2 +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,FLOW_O365_P3,07699545-9485-468e-95b6-2fca3738be01,Power Automate for Office 365 +Microsoft 365 E5 Developer (without Windows and Audio Conferencing),DEVELOPERPACK_E5,c42b9cae-ea4f-4ab7-9717-81576235ccac,POWER_VIRTUAL_AGENTS_O365_P3,ded3d325-1bdc-453e-8432-5bac26d7a014,Power Virtual Agents for Office 365 +Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox +Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 +Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium +Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard +Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium +Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing +Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,Microsoft 365 Communication Compliance +Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,COMMUNICATIONS_DLP,6dc145d6-95dd-4191-b9c3-185575ee6f6b,Microsoft Communications DLP +Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,CUSTOMER_KEY,6db1f1db-2b46-403f-be40-e39395f08dbb,Microsoft Customer Key +Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,DATA_INVESTIGATIONS,46129a58-a698-46f0-aa5b-17f6586297d9,Microsoft Data Investigations +Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,INFO_GOVERNANCE,e26c2fcc-ab91-4a61-b35c-03cdc8dddf66,Microsoft Information Governance +Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,INSIDER_RISK,d587c7a3-bda9-4f99-8776-9bcf59c84f75,Microsoft Insider Risk Management +Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,ML_CLASSIFICATION,d2d51368-76c9-4317-ada2-a12c004c432f,Microsoft ML-Based Classification +Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,RECORDS_MANAGEMENT,65cc641f-cccd-4643-97e0-a17e3045e541,Microsoft Records Management +Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,EQUIVIO_ANALYTICS,4de31727-a228-4ec3-a5bf-8e45b5ca48cc,Office 365 Advanced eDiscovery +Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,PAM_ENTERPRISE,b1188c4c-1b36-4018-b48b-ee07604f6feb,Office 365 Privileged Access Management +Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,PREMIUM_ENCRYPTION,617b097b-4b93-4ede-83de-5f075bb5fb2f,Premium Encryption in Office 365 +Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,COMMUNICATIONS_COMPLIANCE,41fcdd7d-4733-4863-9cf4-c65b83ce2df4,RETIRED - Microsoft Communications Compliance +Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,INSIDER_RISK_MANAGEMENT,9d0c4ee5-e4a1-4625-ab39-d82b619b1a34,RETIRED - Microsoft Insider Risk Management +Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,MICROSOFTENDPOINTDLP,64bfac92-2b17-4482-b5e5-a0304429de3e,Microsoft Endpoint DLP +Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,RMS_S_PREMIUM2,5689bec4-755d-4753-8b61-40975025187c,Azure Information Protection Premium P2 +Microsoft 365 E5 Compliance,INFORMATION_PROTECTION_COMPLIANCE,184efa21-98c3-4e5d-95ab-d07053a96e67,ADALLOM_S_STANDALONE,2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2,Microsoft Defender for Cloud Apps +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint Online (Plan 2) +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,CDS_O365_P3,afa73018-811e-46e9-988f-f75d2b1b8430,Common Data Service for Teams +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,CustomerLockboxA_Enterprise,3ec18638-bd4c-4d3b-8905-479ed636b83e,Customer Lockbox (A) +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,M365_AUDIT_PLATFORM,f6de4823-28fa-440b-b886-4783fa86ddba,Microsoft 365 Audit Platform +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,Microsoft 365 Communication Compliance +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,MTP,bf28f719-7844-4079-9c78-c1307898e192,Microsoft 365 Defender +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,CLIPCHAMP,a1ace008-72f3-4ea0-8dac-33b3a23a2472,Microsoft Clipchamp +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,COMMUNICATIONS_DLP,6dc145d6-95dd-4191-b9c3-185575ee6f6b,Microsoft Communications DLP +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,CUSTOMER_KEY,6db1f1db-2b46-403f-be40-e39395f08dbb,Microsoft Customer Key +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,DATA_INVESTIGATIONS,46129a58-a698-46f0-aa5b-17f6586297d9,Microsoft Data Investigations +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,ATP_ENTERPRISE,f20fedf3-f3c3-43c3-8267-2bfdd51c0939,Microsoft Defender for Office 365 (Plan 1) +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,THREAT_INTELLIGENCE,8e0c0a52-6a6c-4d40-8370-dd62790dcd70,Microsoft Defender for Office 365 (Plan 2) +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,EXCEL_PREMIUM,531ee2f8-b1cb-453b-9c21-d2180d014ca5,Microsoft Excel Advanced Analytics +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,FORMS_PLAN_E5,e212cbc7-0961-4c40-9825-01117710dcb1,Microsoft Forms (Plan E5) +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,INFO_GOVERNANCE,e26c2fcc-ab91-4a61-b35c-03cdc8dddf66,Microsoft Information Governance +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,INSIDER_RISK,d587c7a3-bda9-4f99-8776-9bcf59c84f75,Microsoft Insider Risk Management +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,KAIZALA_STANDALONE,0898bdbb-73b0-471a-81e5-20f1fe4dd66e,Microsoft Kaizala Pro +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,ML_CLASSIFICATION,d2d51368-76c9-4317-ada2-a12c004c432f,Microsoft ML-Based Classification +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,EXCHANGE_ANALYTICS,34c0d7a0-a70f-4668-9238-47f9fc208882,Microsoft MyAnalytics (Full) +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,RECORDS_MANAGEMENT,65cc641f-cccd-4643-97e0-a17e3045e541,Microsoft Records Management +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,STREAM_O365_E5,6c6042f5-6f01-4d67-b8c1-eb99d36eed3e,Microsoft Stream for Office 365 E5 +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,EQUIVIO_ANALYTICS,4de31727-a228-4ec3-a5bf-8e45b5ca48cc,Office 365 Advanced eDiscovery +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,ADALLOM_S_O365,8c098270-9dd4-4350-9b30-ba4703f3b36b,Office 365 Cloud App Security +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,PAM_ENTERPRISE,b1188c4c-1b36-4018-b48b-ee07604f6feb,Office 365 Privileged Access Management +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,SAFEDOCS,bf6f5520-59e3-4f82-974b-7dbbc4fd27c7,Office 365 SafeDocs +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,POWERAPPS_O365_P3,9c0dab89-a30c-4117-86e7-97bda240acd2,Power Apps for Office 365 (Plan 3) +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,PREMIUM_ENCRYPTION,617b097b-4b93-4ede-83de-5f075bb5fb2f,Premium Encryption in Office 365 +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,PROJECT_O365_P3,b21a6b06-1988-436e-a07b-51ec6d9f52ad,Project for Office (Plan E5) +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,COMMUNICATIONS_COMPLIANCE,41fcdd7d-4733-4863-9cf4-c65b83ce2df4,RETIRED - Microsoft Communications Compliance +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,INSIDER_RISK_MANAGEMENT,9d0c4ee5-e4a1-4625-ab39-d82b619b1a34,RETIRED - Microsoft Insider Risk Management +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,BPOS_S_TODO_3,3fb82609-8c27-4f7b-bd51-30634711ee67,To-Do (Plan 3) +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,Microsoft Defender for Endpoint +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,MICROSOFTENDPOINTDLP,64bfac92-2b17-4482-b5e5-a0304429de3e,Microsoft Endpoint DLP +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,WIN10_PRO_ENT_SUB,21b439ba-a0ca-424f-a6cc-52f954a5b111,Windows 10/11 Enterprise (Original) +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,RMS_S_PREMIUM2,5689bec4-755d-4753-8b61-40975025187c,Azure Information Protection Premium P2 +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,DYN365_CDS_O365_P3,28b0fa46-c39a-4188-89e2-58e979a6b014,Common Data Service +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,ADALLOM_S_STANDALONE,2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2,Microsoft Defender for Cloud Apps +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,ATA,14ab5db5-e6c4-4b20-b4bc-13e36fd2227f,Microsoft Defender for Identity +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,AAD_PREMIUM_P2,eec0eb4f-6444-4f95-aba0-50c24d67f998,Microsoft Entra ID P2 +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,FLOW_O365_P3,07699545-9485-468e-95b6-2fca3738be01,Power Automate for Office 365 +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,BI_AZURE_P2,70d33638-9c74-4d01-bfd3-562de28bd4ba,Power BI Pro +Microsoft 365 E5 EEA (no Teams),O365_w/o_Teams_Bundle_M5,3271cf8e-2be5-4a09-a549-70fd05baaa17,POWER_VIRTUAL_AGENTS_O365_P3,ded3d325-1bdc-453e-8432-5bac26d7a014,Power Virtual Agents for Office 365 +Microsoft 365 E5 Security,IDENTITY_THREAT_PROTECTION,26124093-3d78-432b-b5dc-48bf992543d5,MTP,bf28f719-7844-4079-9c78-c1307898e192,Microsoft 365 Defender +Microsoft 365 E5 Security,IDENTITY_THREAT_PROTECTION,26124093-3d78-432b-b5dc-48bf992543d5,ATP_ENTERPRISE,f20fedf3-f3c3-43c3-8267-2bfdd51c0939,Microsoft Defender for Office 365 (Plan 1) +Microsoft 365 E5 Security,IDENTITY_THREAT_PROTECTION,26124093-3d78-432b-b5dc-48bf992543d5,THREAT_INTELLIGENCE,8e0c0a52-6a6c-4d40-8370-dd62790dcd70,Microsoft Defender for Office 365 (Plan 2) +Microsoft 365 E5 Security,IDENTITY_THREAT_PROTECTION,26124093-3d78-432b-b5dc-48bf992543d5,SAFEDOCS,bf6f5520-59e3-4f82-974b-7dbbc4fd27c7,Office 365 SafeDocs +Microsoft 365 E5 Security,IDENTITY_THREAT_PROTECTION,26124093-3d78-432b-b5dc-48bf992543d5,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,Microsoft Defender for Endpoint +Microsoft 365 E5 Security,IDENTITY_THREAT_PROTECTION,26124093-3d78-432b-b5dc-48bf992543d5,AAD_PREMIUM_P2,eec0eb4f-6444-4f95-aba0-50c24d67f998,Microsoft Entra ID P2 +Microsoft 365 E5 Security,IDENTITY_THREAT_PROTECTION,26124093-3d78-432b-b5dc-48bf992543d5,ADALLOM_S_STANDALONE,2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2,Microsoft Defender for Cloud Apps +Microsoft 365 E5 Security,IDENTITY_THREAT_PROTECTION,26124093-3d78-432b-b5dc-48bf992543d5,ATA,14ab5db5-e6c4-4b20-b4bc-13e36fd2227f,Microsoft Defender for Identity +Microsoft 365 E5 Security for EMS E5,IDENTITY_THREAT_PROTECTION_FOR_EMS_E5,44ac31e7-2999-4304-ad94-c948886741d4,MTP,bf28f719-7844-4079-9c78-c1307898e192,Microsoft 365 Defender +Microsoft 365 E5 Security for EMS E5,IDENTITY_THREAT_PROTECTION_FOR_EMS_E5,44ac31e7-2999-4304-ad94-c948886741d4,ATP_ENTERPRISE,f20fedf3-f3c3-43c3-8267-2bfdd51c0939,Microsoft Defender for Office 365 (Plan 1) +Microsoft 365 E5 Security for EMS E5,IDENTITY_THREAT_PROTECTION_FOR_EMS_E5,44ac31e7-2999-4304-ad94-c948886741d4,THREAT_INTELLIGENCE,8e0c0a52-6a6c-4d40-8370-dd62790dcd70,Microsoft Defender for Office 365 (Plan 2) +Microsoft 365 E5 Security for EMS E5,IDENTITY_THREAT_PROTECTION_FOR_EMS_E5,44ac31e7-2999-4304-ad94-c948886741d4,SAFEDOCS,bf6f5520-59e3-4f82-974b-7dbbc4fd27c7,Office 365 SafeDocs +Microsoft 365 E5 Security for EMS E5,IDENTITY_THREAT_PROTECTION_FOR_EMS_E5,44ac31e7-2999-4304-ad94-c948886741d4,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,Microsoft Defender for Endpoint +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,MESH_AVATARS_FOR_TEAMS,dcf9d2f4-772e-4434-b757-77a453cfbc02,Avatars for Teams +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,CDS_O365_P3,afa73018-811e-46e9-988f-f75d2b1b8430,Common Data Service for Teams +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,CustomerLockboxA_Enterprise,3ec18638-bd4c-4d3b-8905-479ed636b83e,Customer Lockbox (A) +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,M365_AUDIT_PLATFORM,f6de4823-28fa-440b-b886-4783fa86ddba,Microsoft 365 Audit Platform +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,Microsoft 365 Communication Compliance +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,MCOPSTN8,16935b20-87c0-4908-934a-22aa267d0d26,Microsoft 365 Domestic Calling Plan (120 min) at User Level +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,CLIPCHAMP,a1ace008-72f3-4ea0-8dac-33b3a23a2472,Microsoft Clipchamp +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,COMMUNICATIONS_DLP,6dc145d6-95dd-4191-b9c3-185575ee6f6b,Microsoft Communications DLP +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,CUSTOMER_KEY,6db1f1db-2b46-403f-be40-e39395f08dbb,Microsoft Customer Key +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,DATA_INVESTIGATIONS,46129a58-a698-46f0-aa5b-17f6586297d9,Microsoft Data Investigations +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,ATP_ENTERPRISE,f20fedf3-f3c3-43c3-8267-2bfdd51c0939,Microsoft Defender for Office 365 (Plan 1) +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,THREAT_INTELLIGENCE,8e0c0a52-6a6c-4d40-8370-dd62790dcd70,Microsoft Defender for Office 365 (Plan 2) +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,EXCEL_PREMIUM,531ee2f8-b1cb-453b-9c21-d2180d014ca5,Microsoft Excel Advanced Analytics +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,FORMS_PLAN_E5,e212cbc7-0961-4c40-9825-01117710dcb1,Microsoft Forms (Plan E5) +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,INFO_GOVERNANCE,e26c2fcc-ab91-4a61-b35c-03cdc8dddf66,Microsoft Information Governance +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,INSIDER_RISK,d587c7a3-bda9-4f99-8776-9bcf59c84f75,Microsoft Insider Risk Management +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,KAIZALA_STANDALONE,0898bdbb-73b0-471a-81e5-20f1fe4dd66e,Microsoft Kaizala Pro +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,MICROSOFT_LOOP,c4b8c31a-fb44-4c65-9837-a21f55fcabda,Microsoft Loop +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,ML_CLASSIFICATION,d2d51368-76c9-4317-ada2-a12c004c432f,Microsoft ML-Based Classification +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,EXCHANGE_ANALYTICS,34c0d7a0-a70f-4668-9238-47f9fc208882,Microsoft MyAnalytics (Full) +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,RECORDS_MANAGEMENT,65cc641f-cccd-4643-97e0-a17e3045e541,Microsoft Records Management +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,STREAM_O365_E5,6c6042f5-6f01-4d67-b8c1-eb99d36eed3e,Microsoft Stream for Office 365 E5 +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,EQUIVIO_ANALYTICS,4de31727-a228-4ec3-a5bf-8e45b5ca48cc,Office 365 Advanced eDiscovery +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,ADALLOM_S_O365,8c098270-9dd4-4350-9b30-ba4703f3b36b,Office 365 Cloud App Security +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,PAM_ENTERPRISE,b1188c4c-1b36-4018-b48b-ee07604f6feb,Office 365 Privileged Access Management +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,SAFEDOCS,bf6f5520-59e3-4f82-974b-7dbbc4fd27c7,Office 365 SafeDocs +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,POWERAPPS_O365_P3,9c0dab89-a30c-4117-86e7-97bda240acd2,Power Apps for Office 365 (Plan 3) +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,BI_AZURE_P2,70d33638-9c74-4d01-bfd3-562de28bd4ba,Power BI Pro +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,PREMIUM_ENCRYPTION,617b097b-4b93-4ede-83de-5f075bb5fb2f,Premium Encryption in Office 365 +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,PROJECT_O365_P3,b21a6b06-1988-436e-a07b-51ec6d9f52ad,Project for Office (Plan E5) +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,PURVIEW_DISCOVERY,c948ea65-2053-4a5a-8a62-9eaaaf11b522,Purview Discovery +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,COMMUNICATIONS_COMPLIANCE,41fcdd7d-4733-4863-9cf4-c65b83ce2df4,RETIRED - Microsoft Communications Compliance +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,INSIDER_RISK_MANAGEMENT,9d0c4ee5-e4a1-4625-ab39-d82b619b1a34,RETIRED - Microsoft Insider Risk Management +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,BPOS_S_TODO_3,3fb82609-8c27-4f7b-bd51-30634711ee67,To-Do (Plan 3) +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,Microsoft Defender for Endpoint +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,WIN10_PRO_ENT_SUB,21b439ba-a0ca-424f-a6cc-52f954a5b111,Windows 10/11 Enterprise (Original) +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,RMS_S_PREMIUM2,5689bec4-755d-4753-8b61-40975025187c,Azure Information Protection Premium P2 +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,DYN365_CDS_O365_P3,28b0fa46-c39a-4188-89e2-58e979a6b014,Common Data Service +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,Defender_for_Iot_Enterprise,99cd49a9-0e54-4e07-aea1-d8d9f5f704f5,Defender for IoT - Enterprise IoT Security +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,ADALLOM_S_STANDALONE,2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2,Microsoft Defender for Cloud Apps +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,ATA,14ab5db5-e6c4-4b20-b4bc-13e36fd2227f,Microsoft Defender for Identity +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,AAD_PREMIUM_P2,eec0eb4f-6444-4f95-aba0-50c24d67f998,Microsoft Entra ID P2 +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,FLOW_O365_P1,0f9b09cb-62d1-4ff4-9129-43f4996f83f4,Power Automate for Office 365 +Microsoft 365 E5 with Calling Minutes,SPE_E5_CALLINGMINUTES,a91fc4e0-65e5-4266-aa76-4037509c1626,POWER_VIRTUAL_AGENTS_O365_P3,ded3d325-1bdc-453e-8432-5bac26d7a014,Power Virtual Agents for Office 365 +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,MESH_AVATARS_FOR_TEAMS,dcf9d2f4-772e-4434-b757-77a453cfbc02,Avatars for Teams +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,CDS_O365_P3,afa73018-811e-46e9-988f-f75d2b1b8430,Common Data Service for Teams +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,CustomerLockboxA_Enterprise,3ec18638-bd4c-4d3b-8905-479ed636b83e,Customer Lockbox (A) +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,M365_AUDIT_PLATFORM,f6de4823-28fa-440b-b886-4783fa86ddba,Microsoft 365 Audit Platform +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,Microsoft 365 Communication Compliance +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,MTP,bf28f719-7844-4079-9c78-c1307898e192,Microsoft 365 Defender +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,CLIPCHAMP,a1ace008-72f3-4ea0-8dac-33b3a23a2472,Microsoft Clipchamp +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,COMMUNICATIONS_DLP,6dc145d6-95dd-4191-b9c3-185575ee6f6b,Microsoft Communications DLP +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,CUSTOMER_KEY,6db1f1db-2b46-403f-be40-e39395f08dbb,Microsoft Customer Key +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,DATA_INVESTIGATIONS,46129a58-a698-46f0-aa5b-17f6586297d9,Microsoft Data Investigations +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,ATP_ENTERPRISE,f20fedf3-f3c3-43c3-8267-2bfdd51c0939,Microsoft Defender for Office 365 (Plan 1) +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,THREAT_INTELLIGENCE,8e0c0a52-6a6c-4d40-8370-dd62790dcd70,Microsoft Defender for Office 365 (Plan 2) +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,EXCEL_PREMIUM,531ee2f8-b1cb-453b-9c21-d2180d014ca5,Microsoft Excel Advanced Analytics +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,FORMS_PLAN_E5,e212cbc7-0961-4c40-9825-01117710dcb1,Microsoft Forms (Plan E5) +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,INFO_GOVERNANCE,e26c2fcc-ab91-4a61-b35c-03cdc8dddf66,Microsoft Information Governance +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,INSIDER_RISK,d587c7a3-bda9-4f99-8776-9bcf59c84f75,Microsoft Insider Risk Management +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,KAIZALA_STANDALONE,0898bdbb-73b0-471a-81e5-20f1fe4dd66e,Microsoft Kaizala Pro +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,MICROSOFT_LOOP,c4b8c31a-fb44-4c65-9837-a21f55fcabda,Microsoft Loop +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,ML_CLASSIFICATION,d2d51368-76c9-4317-ada2-a12c004c432f,Microsoft ML-Based Classification +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,EXCHANGE_ANALYTICS,34c0d7a0-a70f-4668-9238-47f9fc208882,Microsoft MyAnalytics (Full) +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,RECORDS_MANAGEMENT,65cc641f-cccd-4643-97e0-a17e3045e541,Microsoft Records Management +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,STREAM_O365_E5,6c6042f5-6f01-4d67-b8c1-eb99d36eed3e,Microsoft Stream for Office 365 E5 +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,EQUIVIO_ANALYTICS,4de31727-a228-4ec3-a5bf-8e45b5ca48cc,Office 365 Advanced eDiscovery +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,ADALLOM_S_O365,8c098270-9dd4-4350-9b30-ba4703f3b36b,Office 365 Cloud App Security +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,PAM_ENTERPRISE,b1188c4c-1b36-4018-b48b-ee07604f6feb,Office 365 Privileged Access Management +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,SAFEDOCS,bf6f5520-59e3-4f82-974b-7dbbc4fd27c7,Office 365 SafeDocs +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,POWERAPPS_O365_P3,9c0dab89-a30c-4117-86e7-97bda240acd2,Power Apps for Office 365 (Plan 3) +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,BI_AZURE_P2,70d33638-9c74-4d01-bfd3-562de28bd4ba,Power BI Pro +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,PREMIUM_ENCRYPTION,617b097b-4b93-4ede-83de-5f075bb5fb2f,Premium Encryption in Office 365 +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,PROJECT_O365_P3,b21a6b06-1988-436e-a07b-51ec6d9f52ad,Project for Office (Plan E5) +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,PURVIEW_DISCOVERY,c948ea65-2053-4a5a-8a62-9eaaaf11b522,Purview Discovery +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,COMMUNICATIONS_COMPLIANCE,41fcdd7d-4733-4863-9cf4-c65b83ce2df4,RETIRED - Microsoft Communications Compliance +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,INSIDER_RISK_MANAGEMENT,9d0c4ee5-e4a1-4625-ab39-d82b619b1a34,RETIRED - Microsoft Insider Risk Management +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,BPOS_S_TODO_3,3fb82609-8c27-4f7b-bd51-30634711ee67,To-Do (Plan 3) +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,Microsoft Defender for Endpoint +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,MICROSOFTENDPOINTDLP,64bfac92-2b17-4482-b5e5-a0304429de3e,Microsoft Endpoint DLP +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,WIN10_PRO_ENT_SUB,21b439ba-a0ca-424f-a6cc-52f954a5b111,Windows 10/11 Enterprise (Original) +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,RMS_S_PREMIUM2,5689bec4-755d-4753-8b61-40975025187c,Azure Information Protection Premium P2 +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,DYN365_CDS_O365_P3,28b0fa46-c39a-4188-89e2-58e979a6b014,Common Data Service +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,Defender_for_Iot_Enterprise,99cd49a9-0e54-4e07-aea1-d8d9f5f704f5,Defender for IoT - Enterprise IoT Security +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,ADALLOM_S_STANDALONE,2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2,Microsoft Defender for Cloud Apps +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,ATA,14ab5db5-e6c4-4b20-b4bc-13e36fd2227f,Microsoft Defender for Identity +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,AAD_PREMIUM_P2,eec0eb4f-6444-4f95-aba0-50c24d67f998,Microsoft Entra ID P2 +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,FLOW_O365_P3,07699545-9485-468e-95b6-2fca3738be01,Power Automate for Office 365 +Microsoft 365 E5 without Audio Conferencing,SPE_E5_NOPSTNCONF,cd2925a3-5076-4233-8931-638a8c94f773,POWER_VIRTUAL_AGENTS_O365_P3,ded3d325-1bdc-453e-8432-5bac26d7a014,Power Virtual Agents for Office 365 +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,MESH_AVATARS_FOR_TEAMS,dcf9d2f4-772e-4434-b757-77a453cfbc02,Avatars for Teams +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,CDS_O365_P3,afa73018-811e-46e9-988f-f75d2b1b8430,Common Data Service for Teams +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,CustomerLockboxA_Enterprise,3ec18638-bd4c-4d3b-8905-479ed636b83e,Customer Lockbox (A) +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,M365_AUDIT_PLATFORM,f6de4823-28fa-440b-b886-4783fa86ddba,Microsoft 365 Audit Platform +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,Microsoft 365 Communication Compliance +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,MTP,bf28f719-7844-4079-9c78-c1307898e192,Microsoft 365 Defender +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,CLIPCHAMP,a1ace008-72f3-4ea0-8dac-33b3a23a2472,Microsoft Clipchamp +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,COMMUNICATIONS_DLP,6dc145d6-95dd-4191-b9c3-185575ee6f6b,Microsoft Communications DLP +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,CUSTOMER_KEY,6db1f1db-2b46-403f-be40-e39395f08dbb,Microsoft Customer Key +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,DATA_INVESTIGATIONS,46129a58-a698-46f0-aa5b-17f6586297d9,Microsoft Data Investigations +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,ATP_ENTERPRISE,f20fedf3-f3c3-43c3-8267-2bfdd51c0939,Microsoft Defender for Office 365 (Plan 1) +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,THREAT_INTELLIGENCE,8e0c0a52-6a6c-4d40-8370-dd62790dcd70,Microsoft Defender for Office 365 (Plan 2) +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,EXCEL_PREMIUM,531ee2f8-b1cb-453b-9c21-d2180d014ca5,Microsoft Excel Advanced Analytics +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,FORMS_PLAN_E5,e212cbc7-0961-4c40-9825-01117710dcb1,Microsoft Forms (Plan E5) +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,INFO_GOVERNANCE,e26c2fcc-ab91-4a61-b35c-03cdc8dddf66,Microsoft Information Governance +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,INSIDER_RISK,d587c7a3-bda9-4f99-8776-9bcf59c84f75,Microsoft Insider Risk Management +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,KAIZALA_STANDALONE,0898bdbb-73b0-471a-81e5-20f1fe4dd66e,Microsoft Kaizala Pro +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,MICROSOFT_LOOP,c4b8c31a-fb44-4c65-9837-a21f55fcabda,Microsoft Loop +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,ML_CLASSIFICATION,d2d51368-76c9-4317-ada2-a12c004c432f,Microsoft ML-Based Classification +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,EXCHANGE_ANALYTICS,34c0d7a0-a70f-4668-9238-47f9fc208882,Microsoft MyAnalytics (Full) +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,RECORDS_MANAGEMENT,65cc641f-cccd-4643-97e0-a17e3045e541,Microsoft Records Management +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,STREAM_O365_E5,6c6042f5-6f01-4d67-b8c1-eb99d36eed3e,Microsoft Stream for Office 365 E5 +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,EQUIVIO_ANALYTICS,4de31727-a228-4ec3-a5bf-8e45b5ca48cc,Office 365 Advanced eDiscovery +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,ADALLOM_S_O365,8c098270-9dd4-4350-9b30-ba4703f3b36b,Office 365 Cloud App Security +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,PAM_ENTERPRISE,b1188c4c-1b36-4018-b48b-ee07604f6feb,Office 365 Privileged Access Management +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,SAFEDOCS,bf6f5520-59e3-4f82-974b-7dbbc4fd27c7,Office 365 SafeDocs +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,POWERAPPS_O365_P3,9c0dab89-a30c-4117-86e7-97bda240acd2,Power Apps for Office 365 (Plan 3) +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,BI_AZURE_P2,70d33638-9c74-4d01-bfd3-562de28bd4ba,Power BI Pro +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,PREMIUM_ENCRYPTION,617b097b-4b93-4ede-83de-5f075bb5fb2f,Premium Encryption in Office 365 +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,PROJECT_O365_P3,b21a6b06-1988-436e-a07b-51ec6d9f52ad,Project for Office (Plan E5) +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,PURVIEW_DISCOVERY,c948ea65-2053-4a5a-8a62-9eaaaf11b522,Purview Discovery +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,BPOS_S_TODO_3,3fb82609-8c27-4f7b-bd51-30634711ee67,To-Do (Plan 3) +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,Microsoft Defender for Endpoint +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,MICROSOFTENDPOINTDLP,64bfac92-2b17-4482-b5e5-a0304429de3e,Microsoft Endpoint DLP +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,WIN10_PRO_ENT_SUB,21b439ba-a0ca-424f-a6cc-52f954a5b111,Windows 10/11 Enterprise (Original) +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,RMS_S_PREMIUM2,5689bec4-755d-4753-8b61-40975025187c,Azure Information Protection Premium P2 +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,DYN365_CDS_O365_P3,28b0fa46-c39a-4188-89e2-58e979a6b014,Common Data Service +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,Defender_for_Iot_Enterprise,99cd49a9-0e54-4e07-aea1-d8d9f5f704f5,Defender for IoT - Enterprise IoT Security +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,ADALLOM_S_STANDALONE,2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2,Microsoft Defender for Cloud Apps +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,ATA,14ab5db5-e6c4-4b20-b4bc-13e36fd2227f,Microsoft Defender for Identity +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,AAD_PREMIUM_P2,eec0eb4f-6444-4f95-aba0-50c24d67f998,Microsoft Entra ID P2 +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,FLOW_O365_P3,07699545-9485-468e-95b6-2fca3738be01,Power Automate for Office 365 +Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_without_Audio_Conferencing,2113661c-6509-4034-98bb-9c47bd28d63c,POWER_VIRTUAL_AGENTS_O365_P3,ded3d325-1bdc-453e-8432-5bac26d7a014,Power Virtual Agents for Office 365 +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,CDS_O365_P3,afa73018-811e-46e9-988f-f75d2b1b8430,Common Data Service for Teams +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,CustomerLockboxA_Enterprise,3ec18638-bd4c-4d3b-8905-479ed636b83e,Customer Lockbox (A) +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,M365_AUDIT_PLATFORM,f6de4823-28fa-440b-b886-4783fa86ddba,Microsoft 365 Audit Platform +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,Microsoft 365 Communication Compliance +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,MTP,bf28f719-7844-4079-9c78-c1307898e192,Microsoft 365 Defender +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,CLIPCHAMP,a1ace008-72f3-4ea0-8dac-33b3a23a2472,Microsoft Clipchamp +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,COMMUNICATIONS_DLP,6dc145d6-95dd-4191-b9c3-185575ee6f6b,Microsoft Communications DLP +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,CUSTOMER_KEY,6db1f1db-2b46-403f-be40-e39395f08dbb,Microsoft Customer Key +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,DATA_INVESTIGATIONS,46129a58-a698-46f0-aa5b-17f6586297d9,Microsoft Data Investigations +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,ATP_ENTERPRISE,f20fedf3-f3c3-43c3-8267-2bfdd51c0939,Microsoft Defender for Office 365 (Plan 1) +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,THREAT_INTELLIGENCE,8e0c0a52-6a6c-4d40-8370-dd62790dcd70,Microsoft Defender for Office 365 (Plan 2) +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,EXCEL_PREMIUM,531ee2f8-b1cb-453b-9c21-d2180d014ca5,Microsoft Excel Advanced Analytics +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,FORMS_PLAN_E5,e212cbc7-0961-4c40-9825-01117710dcb1,Microsoft Forms (Plan E5) +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,INFO_GOVERNANCE,e26c2fcc-ab91-4a61-b35c-03cdc8dddf66,Microsoft Information Governance +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,INSIDER_RISK,d587c7a3-bda9-4f99-8776-9bcf59c84f75,Microsoft Insider Risk Management +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,KAIZALA_STANDALONE,0898bdbb-73b0-471a-81e5-20f1fe4dd66e,Microsoft Kaizala Pro +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,MICROSOFT_LOOP,c4b8c31a-fb44-4c65-9837-a21f55fcabda,Microsoft Loop +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,ML_CLASSIFICATION,d2d51368-76c9-4317-ada2-a12c004c432f,Microsoft ML-Based Classification +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,EXCHANGE_ANALYTICS,34c0d7a0-a70f-4668-9238-47f9fc208882,Microsoft MyAnalytics (Full) +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,RECORDS_MANAGEMENT,65cc641f-cccd-4643-97e0-a17e3045e541,Microsoft Records Management +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,STREAM_O365_E5,6c6042f5-6f01-4d67-b8c1-eb99d36eed3e,Microsoft Stream for Office 365 E5 +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,EQUIVIO_ANALYTICS,4de31727-a228-4ec3-a5bf-8e45b5ca48cc,Office 365 Advanced eDiscovery +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,ADALLOM_S_O365,8c098270-9dd4-4350-9b30-ba4703f3b36b,Office 365 Cloud App Security +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,PAM_ENTERPRISE,b1188c4c-1b36-4018-b48b-ee07604f6feb,Office 365 Privileged Access Management +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,SAFEDOCS,bf6f5520-59e3-4f82-974b-7dbbc4fd27c7,Office 365 SafeDocs +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,BI_AZURE_P2,70d33638-9c74-4d01-bfd3-562de28bd4ba,Power BI Pro +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,PREMIUM_ENCRYPTION,617b097b-4b93-4ede-83de-5f075bb5fb2f,Premium Encryption in Office 365 +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,PROJECT_O365_P3,b21a6b06-1988-436e-a07b-51ec6d9f52ad,Project for Office (Plan E5) +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,PURVIEW_DISCOVERY,c948ea65-2053-4a5a-8a62-9eaaaf11b522,Purview Discovery +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,COMMUNICATIONS_COMPLIANCE,41fcdd7d-4733-4863-9cf4-c65b83ce2df4,RETIRED - Microsoft Communications Compliance +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,INSIDER_RISK_MANAGEMENT,9d0c4ee5-e4a1-4625-ab39-d82b619b1a34,RETIRED - Microsoft Insider Risk Management +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,BPOS_S_TODO_3,3fb82609-8c27-4f7b-bd51-30634711ee67,To-Do (Plan 3) +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,Microsoft Defender for Endpoint +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,MICROSOFTENDPOINTDLP,64bfac92-2b17-4482-b5e5-a0304429de3e,Microsoft Endpoint DLP +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,WIN10_PRO_ENT_SUB,21b439ba-a0ca-424f-a6cc-52f954a5b111,Windows 10/11 Enterprise (Original) +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,RMS_S_PREMIUM2,5689bec4-755d-4753-8b61-40975025187c,Azure Information Protection Premium P2 +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,DYN365_CDS_O365_P3,28b0fa46-c39a-4188-89e2-58e979a6b014,Common Data Service +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,ADALLOM_S_STANDALONE,2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2,Microsoft Defender for Cloud Apps +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,ATA,14ab5db5-e6c4-4b20-b4bc-13e36fd2227f,Microsoft Defender for Identity +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,AAD_PREMIUM_P2,eec0eb4f-6444-4f95-aba0-50c24d67f998,Microsoft Entra ID P2 +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,POWERAPPS_O365_P3,9c0dab89-a30c-4117-86e7-97bda240acd2,Power Apps for Office 365 (Plan 3) +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,FLOW_O365_P3,07699545-9485-468e-95b6-2fca3738be01,Power Automate for Office 365 +Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB,O365_w/o_Teams_Bundle_M5_(500_seats_min)_HUB,1e988bf3-8b7c-4731-bec0-4e2a2946600c,POWER_VIRTUAL_AGENTS_O365_P3,ded3d325-1bdc-453e-8432-5bac26d7a014,Power Virtual Agents for Office 365 +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,CDS_O365_P3,afa73018-811e-46e9-988f-f75d2b1b8430,Common Data Service for Teams +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,M365_AUDIT_PLATFORM,f6de4823-28fa-440b-b886-4783fa86ddba,Microsoft 365 Audit Platform +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,Microsoft 365 Communication Compliance +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,MTP,bf28f719-7844-4079-9c78-c1307898e192,Microsoft 365 Defender +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,CLIPCHAMP,a1ace008-72f3-4ea0-8dac-33b3a23a2472,Microsoft Clipchamp +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,COMMUNICATIONS_DLP,6dc145d6-95dd-4191-b9c3-185575ee6f6b,Microsoft Communications DLP +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,CUSTOMER_KEY,6db1f1db-2b46-403f-be40-e39395f08dbb,Microsoft Customer Key +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,DATA_INVESTIGATIONS,46129a58-a698-46f0-aa5b-17f6586297d9,Microsoft Data Investigations +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,ATP_ENTERPRISE,f20fedf3-f3c3-43c3-8267-2bfdd51c0939,Microsoft Defender for Office 365 (Plan 1) +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,THREAT_INTELLIGENCE,8e0c0a52-6a6c-4d40-8370-dd62790dcd70,Microsoft Defender for Office 365 (Plan 2) +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,EXCEL_PREMIUM,531ee2f8-b1cb-453b-9c21-d2180d014ca5,Microsoft Excel Advanced Analytics +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,FORMS_PLAN_E5,e212cbc7-0961-4c40-9825-01117710dcb1,Microsoft Forms (Plan E5) +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,INFO_GOVERNANCE,e26c2fcc-ab91-4a61-b35c-03cdc8dddf66,Microsoft Information Governance +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,INSIDER_RISK,d587c7a3-bda9-4f99-8776-9bcf59c84f75,Microsoft Insider Risk Management +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,KAIZALA_STANDALONE,0898bdbb-73b0-471a-81e5-20f1fe4dd66e,Microsoft Kaizala Pro +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,ML_CLASSIFICATION,d2d51368-76c9-4317-ada2-a12c004c432f,Microsoft ML-Based Classification +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,EXCHANGE_ANALYTICS,34c0d7a0-a70f-4668-9238-47f9fc208882,Microsoft MyAnalytics (Full) +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,RECORDS_MANAGEMENT,65cc641f-cccd-4643-97e0-a17e3045e541,Microsoft Records Management +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,EQUIVIO_ANALYTICS,4de31727-a228-4ec3-a5bf-8e45b5ca48cc,Office 365 Advanced eDiscovery +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,ADALLOM_S_O365,8c098270-9dd4-4350-9b30-ba4703f3b36b,Office 365 Cloud App Security +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,PAM_ENTERPRISE,b1188c4c-1b36-4018-b48b-ee07604f6feb,Office 365 Privileged Access Management +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,SAFEDOCS,bf6f5520-59e3-4f82-974b-7dbbc4fd27c7,Office 365 SafeDocs +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,POWERAPPS_O365_P3,9c0dab89-a30c-4117-86e7-97bda240acd2,Power Apps for Office 365 (Plan 3) +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,BI_AZURE_P2,70d33638-9c74-4d01-bfd3-562de28bd4ba,Power BI Pro +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,PREMIUM_ENCRYPTION,617b097b-4b93-4ede-83de-5f075bb5fb2f,Premium Encryption in Office 365 +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,PROJECT_O365_P3,b21a6b06-1988-436e-a07b-51ec6d9f52ad,Project for Office (Plan E5) +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,BPOS_S_TODO_3,3fb82609-8c27-4f7b-bd51-30634711ee67,To-Do (Plan 3) +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,Microsoft Defender for Endpoint +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,MICROSOFTENDPOINTDLP,64bfac92-2b17-4482-b5e5-a0304429de3e,Microsoft Endpoint DLP +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,WIN10_PRO_ENT_SUB,21b439ba-a0ca-424f-a6cc-52f954a5b111,Windows 10/11 Enterprise (Original) +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,RMS_S_PREMIUM2,5689bec4-755d-4753-8b61-40975025187c,Azure Information Protection Premium P2 +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,DYN365_CDS_O365_P3,28b0fa46-c39a-4188-89e2-58e979a6b014,Common Data Service +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,ADALLOM_S_STANDALONE,2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2,Microsoft Defender for Cloud Apps +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,ATA,14ab5db5-e6c4-4b20-b4bc-13e36fd2227f,Microsoft Defender for Identity +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,AAD_PREMIUM_P2,eec0eb4f-6444-4f95-aba0-50c24d67f998,Microsoft Entra ID P2 +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,STREAM_O365_E5,6c6042f5-6f01-4d67-b8c1-eb99d36eed3e,Microsoft Stream for Office 365 E5 +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,FLOW_O365_P3,07699545-9485-468e-95b6-2fca3738be01,Power Automate for Office 365 +Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB,Microsoft_365_E5_EEA_(no_Teams)_without_Audio_Conferencing_(500_seats_min)_HUB,a640eead-25f6-4bec-97e3-23cfd382d7c2,POWER_VIRTUAL_AGENTS_O365_P3,ded3d325-1bdc-453e-8432-5bac26d7a014,Power Virtual Agents for Office 365 +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,CDS_O365_P3,afa73018-811e-46e9-988f-f75d2b1b8430,Common Data Service for Teams +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,MCOMEETADV_AR_GCCHigh,f1e3613f-3818-4254-9b5e-f02d803384e0,Microsoft 365 Audio Conferencing for GCCHigh +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,Microsoft 365 Communication Compliance +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,COMMUNICATIONS_DLP,6dc145d6-95dd-4191-b9c3-185575ee6f6b,Microsoft Communications DLP +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,CUSTOMER_KEY,6db1f1db-2b46-403f-be40-e39395f08dbb,Microsoft Customer Key +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,ATP_ENTERPRISE,f20fedf3-f3c3-43c3-8267-2bfdd51c0939,Microsoft Defender for Office 365 (Plan 1) +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,THREAT_INTELLIGENCE,8e0c0a52-6a6c-4d40-8370-dd62790dcd70,Microsoft Defender for Office 365 (Plan 2) +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,FORMS_PLAN_E5_AR_GCCHIGH,cf1b2895-e3fd-4b33-9594-2ab924104547,Microsoft Forms (Plan E5) for GCCHigh +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,INFO_GOVERNANCE,e26c2fcc-ab91-4a61-b35c-03cdc8dddf66,Microsoft Information Governance +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,INSIDER_RISK,d587c7a3-bda9-4f99-8776-9bcf59c84f75,Microsoft Insider Risk Management +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,ML_CLASSIFICATION,d2d51368-76c9-4317-ada2-a12c004c432f,Microsoft ML-Based Classification +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,RECORDS_MANAGEMENT,65cc641f-cccd-4643-97e0-a17e3045e541,Microsoft Records Management +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,MICROSOFT_SEARCH_GCCH,fc9f7921-4ca5-42c6-8533-1b84c4ee496b,Microsoft Search for Arlington +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,STREAM_O365_E5,6c6042f5-6f01-4d67-b8c1-eb99d36eed3e,Microsoft Stream for Office 365 E5 +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,TEAMS_AR_GCCHIGH,9953b155-8aef-4c56-92f3-72b0487fce41,Microsoft Teams for GCCHigh +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,EQUIVIO_ANALYTICS,4de31727-a228-4ec3-a5bf-8e45b5ca48cc,Office 365 Advanced eDiscovery +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,ADALLOM_S_O365,8c098270-9dd4-4350-9b30-ba4703f3b36b,Office 365 Cloud App Security +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,SAFEDOCS,bf6f5520-59e3-4f82-974b-7dbbc4fd27c7,Office 365 SafeDocs +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,BI_AZURE_P2,70d33638-9c74-4d01-bfd3-562de28bd4ba,Power BI Pro +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,PREMIUM_ENCRYPTION,617b097b-4b93-4ede-83de-5f075bb5fb2f,Premium Encryption in Office 365 +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,Microsoft Defender for Endpoint +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,MICROSOFTENDPOINTDLP,64bfac92-2b17-4482-b5e5-a0304429de3e,Microsoft Endpoint DLP +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,RMS_S_PREMIUM2,5689bec4-755d-4753-8b61-40975025187c,Azure Information Protection Premium P2 +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,DYN365_CDS_O365_P3,28b0fa46-c39a-4188-89e2-58e979a6b014,Common Data Service +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,ADALLOM_S_STANDALONE,2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2,Microsoft Defender for Cloud Apps +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,ATA,14ab5db5-e6c4-4b20-b4bc-13e36fd2227f,Microsoft Defender for Identity +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,AAD_PREMIUM_P2,eec0eb4f-6444-4f95-aba0-50c24d67f998,Microsoft Entra ID P2 +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,POWERAPPS_O365_P3_GCCHIGH,b50a9096-5b07-4ded-a5e4-a492fb94b6ee,Power Apps for Office 365 for GCCHigh +Microsoft 365 E5_USGOV_GCCHIGH,SPE_E5_USGOV_GCCHIGH,4eb45c5b-0d19-4e33-b87c-adfc25268f20,FLOW_O365_P3_GCCHIGH,ee939cf0-7cd1-4262-9f72-9eaa45dbba69,Power Automate for Office 365 for GCCHigh +Microsoft 365 F1,M365_F1,44575883-256e-4a79-9da4-ebe9acabe2b2,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 F1,M365_F1,44575883-256e-4a79-9da4-ebe9acabe2b2,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Microsoft 365 F1,M365_F1,44575883-256e-4a79-9da4-ebe9acabe2b2,RMS_S_ENTERPRISE_GOV,6a76346d-5d6e-4051-9fe3-ed3f312b5597,Azure Rights Management +Microsoft 365 F1,M365_F1,44575883-256e-4a79-9da4-ebe9acabe2b2,ADALLOM_S_DISCOVERY,932ad362-64a8-4783-9106-97849a1a30b9,Cloud App Security Discovery +Microsoft 365 F1,M365_F1,44575883-256e-4a79-9da4-ebe9acabe2b2,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Microsoft 365 F1,M365_F1,44575883-256e-4a79-9da4-ebe9acabe2b2,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 F1,M365_F1,44575883-256e-4a79-9da4-ebe9acabe2b2,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune +Microsoft 365 F1,M365_F1,44575883-256e-4a79-9da4-ebe9acabe2b2,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 F1,M365_F1,44575883-256e-4a79-9da4-ebe9acabe2b2,STREAM_O365_K,3ffba0d2-38e5-4d5e-8ec0-98f2b05c09d9,Microsoft Stream for O365 K SKU +Microsoft 365 F1,M365_F1,44575883-256e-4a79-9da4-ebe9acabe2b2,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft 365 F1,M365_F1,44575883-256e-4a79-9da4-ebe9acabe2b2,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 F1,M365_F1,44575883-256e-4a79-9da4-ebe9acabe2b2,SHAREPOINTDESKLESS,902b47e5-dcb2-4fdc-858b-c63a90a2bdb9,SharePoint Online Kiosk +Microsoft 365 F1,M365_F1,44575883-256e-4a79-9da4-ebe9acabe2b2,MCOIMP,afc06cb0-b4f4-4473-8286-d644f70d8faf,Skype for Business Online (Plan 1) +Microsoft 365 F1,M365_F1,44575883-256e-4a79-9da4-ebe9acabe2b2,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Microsoft 365 F1 EEA (no Teams),Microsoft_365_F1_EEA_(no_Teams),0666269f-b167-4c5b-a76f-fc574f2b1118,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Microsoft 365 F1 EEA (no Teams),Microsoft_365_F1_EEA_(no_Teams),0666269f-b167-4c5b-a76f-fc574f2b1118,EXCHANGE_S_DESKLESS,4a82b400-a79f-41a4-b4e2-e94f5787b113,Exchange Online Kiosk +Microsoft 365 F1 EEA (no Teams),Microsoft_365_F1_EEA_(no_Teams),0666269f-b167-4c5b-a76f-fc574f2b1118,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Microsoft 365 F1 EEA (no Teams),Microsoft_365_F1_EEA_(no_Teams),0666269f-b167-4c5b-a76f-fc574f2b1118,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft 365 F1 EEA (no Teams),Microsoft_365_F1_EEA_(no_Teams),0666269f-b167-4c5b-a76f-fc574f2b1118,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 F1 EEA (no Teams),Microsoft_365_F1_EEA_(no_Teams),0666269f-b167-4c5b-a76f-fc574f2b1118,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 F1 EEA (no Teams),Microsoft_365_F1_EEA_(no_Teams),0666269f-b167-4c5b-a76f-fc574f2b1118,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 F1 EEA (no Teams),Microsoft_365_F1_EEA_(no_Teams),0666269f-b167-4c5b-a76f-fc574f2b1118,SHAREPOINTDESKLESS,902b47e5-dcb2-4fdc-858b-c63a90a2bdb9,SharePoint Kiosk +Microsoft 365 F1 EEA (no Teams),Microsoft_365_F1_EEA_(no_Teams),0666269f-b167-4c5b-a76f-fc574f2b1118,MCOIMP,afc06cb0-b4f4-4473-8286-d644f70d8faf,Skype for Business Online (Plan 1) +Microsoft 365 F1 EEA (no Teams),Microsoft_365_F1_EEA_(no_Teams),0666269f-b167-4c5b-a76f-fc574f2b1118,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core +Microsoft 365 F1 EEA (no Teams),Microsoft_365_F1_EEA_(no_Teams),0666269f-b167-4c5b-a76f-fc574f2b1118,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Microsoft 365 F1 EEA (no Teams),Microsoft_365_F1_EEA_(no_Teams),0666269f-b167-4c5b-a76f-fc574f2b1118,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Microsoft 365 F1 EEA (no Teams),Microsoft_365_F1_EEA_(no_Teams),0666269f-b167-4c5b-a76f-fc574f2b1118,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Microsoft 365 F1 EEA (no Teams),Microsoft_365_F1_EEA_(no_Teams),0666269f-b167-4c5b-a76f-fc574f2b1118,DYN365_CDS_O365_F1,ca6e61ec-d4f4-41eb-8b88-d96e0e14323f,Common Data Service +Microsoft 365 F1 EEA (no Teams),Microsoft_365_F1_EEA_(no_Teams),0666269f-b167-4c5b-a76f-fc574f2b1118,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 F1 EEA (no Teams),Microsoft_365_F1_EEA_(no_Teams),0666269f-b167-4c5b-a76f-fc574f2b1118,ADALLOM_S_DISCOVERY,932ad362-64a8-4783-9106-97849a1a30b9,Microsoft Defender for Cloud Apps Discovery +Microsoft 365 F1 EEA (no Teams),Microsoft_365_F1_EEA_(no_Teams),0666269f-b167-4c5b-a76f-fc574f2b1118,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 F1 EEA (no Teams),Microsoft_365_F1_EEA_(no_Teams),0666269f-b167-4c5b-a76f-fc574f2b1118,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 +Microsoft 365 F1 EEA (no Teams),Microsoft_365_F1_EEA_(no_Teams),0666269f-b167-4c5b-a76f-fc574f2b1118,STREAM_O365_K,3ffba0d2-38e5-4d5e-8ec0-98f2b05c09d9,Microsoft Stream for Office 365 F3 +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,CDS_O365_F1,90db65a7-bf11-4904-a79f-ef657605145b,Common Data Service for Teams +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,EXCHANGE_S_DESKLESS,4a82b400-a79f-41a4-b4e2-e94f5787b113,Exchange Online Kiosk +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,FORMS_PLAN_K,f07046bd-2a3c-4b96-b0be-dea79d7cbfb8,Microsoft Forms (Plan F1) +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,KAIZALA_O365_P1,73b2a583-6a59-42e3-8e83-54db46bc3278,Microsoft Kaizala Pro +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,OFFICEMOBILE_SUBSCRIPTION,c63d4d19-e8cb-460e-b37c-4d6c34603745,Office Mobile Apps for Office 365 +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,PROJECT_O365_F3,7f6f28c2-34bb-4d4b-be36-48ca2e77e1ec,Project for Office (Plan F) +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,SHAREPOINTDESKLESS,902b47e5-dcb2-4fdc-858b-c63a90a2bdb9,SharePoint Kiosk +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,MCOIMP,afc06cb0-b4f4-4473-8286-d644f70d8faf,Skype for Business Online (Plan 1) +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,BPOS_S_TODO_FIRSTLINE,80873e7a-cd2a-4e67-b061-1b5381a676a5,To-Do (Firstline) +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,WHITEBOARD_FIRSTLINE1,36b29273-c6d0-477a-aca6-6fbe24f538e3,Whiteboard (Firstline) +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,WIN10_ENT_LOC_F1,e041597c-9c7f-4ed9-99b0-2663301576f7,Windows 10 Enterprise E3 (Local Only) +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,DYN365_CDS_O365_F1,ca6e61ec-d4f4-41eb-8b88-d96e0e14323f,Common Data Service +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,ADALLOM_S_DISCOVERY,932ad362-64a8-4783-9106-97849a1a30b9,Microsoft Defender for Cloud Apps Discovery +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,STREAM_O365_K,3ffba0d2-38e5-4d5e-8ec0-98f2b05c09d9,Microsoft Stream for Office 365 F3 +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,POWERAPPS_O365_S1,e0287f9f-e222-4f98-9a83-f379e249159a,Power Apps for Office 365 F3 +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,FLOW_O365_S1,bd91b1a4-9f94-4ecf-b45b-3a65e5c8128a,Power Automate for Office 365 F3 +Microsoft 365 F3,SPE_F1,66b55226-6b4f-492c-910c-a3b7a3c9d993,POWER_VIRTUAL_AGENTS_O365_F1,ba2fdb48-290b-4632-b46a-e4ecc58ac11a,Power Virtual Agents for Office 365 +Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,CDS_O365_F1,90db65a7-bf11-4904-a79f-ef657605145b,Common Data Service for Teams +Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,EXCHANGE_S_DESKLESS,4a82b400-a79f-41a4-b4e2-e94f5787b113,Exchange Online Kiosk +Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,FORMS_PLAN_K,f07046bd-2a3c-4b96-b0be-dea79d7cbfb8,Microsoft Forms (Plan F1) +Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,KAIZALA_O365_P1,73b2a583-6a59-42e3-8e83-54db46bc3278,Microsoft Kaizala Pro +Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,TEAMS_DESKLESS,a42de799-58ae-4e6a-aa1d-948e7abec726,Microsoft Teams Kiosk +Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,OFFICEMOBILE_SUBSCRIPTION,c63d4d19-e8cb-460e-b37c-4d6c34603745,Office Mobile Apps for Office 365 +Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,PROJECT_O365_F3,7f6f28c2-34bb-4d4b-be36-48ca2e77e1ec,Project for Office (Plan F) +Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,SHAREPOINTDESKLESS,902b47e5-dcb2-4fdc-858b-c63a90a2bdb9,SharePoint Kiosk +Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,MCOIMP,afc06cb0-b4f4-4473-8286-d644f70d8faf,Skype for Business Online (Plan 1) +Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,BPOS_S_TODO_FIRSTLINE,80873e7a-cd2a-4e67-b061-1b5381a676a5,To-Do (Firstline) +Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core +Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,WHITEBOARD_FIRSTLINE1,36b29273-c6d0-477a-aca6-6fbe24f538e3,Whiteboard (Firstline) +Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,WIN10_ENT_LOC_F1,e041597c-9c7f-4ed9-99b0-2663301576f7,Windows 10 Enterprise E3 (Local Only) +Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print +Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service +Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,Azure Information Protection Premium P1 +Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,DYN365_CDS_O365_F1,ca6e61ec-d4f4-41eb-8b88-d96e0e14323f,Common Data Service +Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,ADALLOM_S_DISCOVERY,932ad362-64a8-4783-9106-97849a1a30b9,Microsoft Defender for Cloud Apps Discovery +Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 +Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,STREAM_O365_K,3ffba0d2-38e5-4d5e-8ec0-98f2b05c09d9,Microsoft Stream for Office 365 F3 +Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,POWERAPPS_O365_S1,e0287f9f-e222-4f98-9a83-f379e249159a,Power Apps for Office 365 F3 +Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,FLOW_O365_S1,bd91b1a4-9f94-4ecf-b45b-3a65e5c8128a,Power Automate for Office 365 F3 +Microsoft 365 F3 EEA (no Teams),Microsoft_365_F3_EEA_(no_Teams),f7ee79a7-7aec-4ca4-9fb9-34d6b930ad87,POWER_VIRTUAL_AGENTS_O365_F1,ba2fdb48-290b-4632-b46a-e4ecc58ac11a,Power Virtual Agents for Office 365 +Microsoft 365 F3 GCC,M365_F1_GOV,2a914830-d700-444a-b73c-e3f31980d833,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 F3 GCC,M365_F1_GOV,2a914830-d700-444a-b73c-e3f31980d833,RMS_S_PREMIUM_GOV,1b66aedf-8ca1-4f73-af76-ec76c6180f98,Azure Information Protection Premium P1 for GCC +Microsoft 365 F3 GCC,M365_F1_GOV,2a914830-d700-444a-b73c-e3f31980d833,RMS_S_ENTERPRISE_GOV,6a76346d-5d6e-4051-9fe3-ed3f312b5597,Azure Rights Management +Microsoft 365 F3 GCC,M365_F1_GOV,2a914830-d700-444a-b73c-e3f31980d833,DYN365_CDS_O365_F1_GCC,29007dd3-36c0-4cc2-935d-f5bca2c2c473,Common Data Service - O365 F1 +Microsoft 365 F3 GCC,M365_F1_GOV,2a914830-d700-444a-b73c-e3f31980d833,CDS_O365_F1_GCC,5e05331a-0aec-437e-87db-9ef5934b5771,Common Data Service for Teams_F1 GCC +Microsoft 365 F3 GCC,M365_F1_GOV,2a914830-d700-444a-b73c-e3f31980d833,EXCHANGE_S_DESKLESS_GOV,88f4d7ef-a73b-4246-8047-516022144c9f,Exchange Online (Kiosk) for Government +Microsoft 365 F3 GCC,M365_F1_GOV,2a914830-d700-444a-b73c-e3f31980d833,FORMS_GOV_F1,bfd4133a-bbf3-4212-972b-60412137c428,Forms for Government (Plan F1) +Microsoft 365 F3 GCC,M365_F1_GOV,2a914830-d700-444a-b73c-e3f31980d833,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 F3 GCC,M365_F1_GOV,2a914830-d700-444a-b73c-e3f31980d833,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune +Microsoft 365 F3 GCC,M365_F1_GOV,2a914830-d700-444a-b73c-e3f31980d833,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 F3 GCC,M365_F1_GOV,2a914830-d700-444a-b73c-e3f31980d833,STREAM_O365_K_GOV,d65648f1-9504-46e4-8611-2658763f28b8,Microsoft Stream for O365 for Government (F1) +Microsoft 365 F3 GCC,M365_F1_GOV,2a914830-d700-444a-b73c-e3f31980d833,TEAMS_GOV,304767db-7d23-49e8-a945-4a7eb65f9f28,Microsoft Teams for Government +Microsoft 365 F3 GCC,M365_F1_GOV,2a914830-d700-444a-b73c-e3f31980d833,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 F3 GCC,M365_F1_GOV,2a914830-d700-444a-b73c-e3f31980d833,PROJECTWORKMANAGEMENT_GOV,5b4ef465-7ea1-459a-9f91-033317755a51,Office 365 Planner for Government +Microsoft 365 F3 GCC,M365_F1_GOV,2a914830-d700-444a-b73c-e3f31980d833,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government +Microsoft 365 F3 GCC,M365_F1_GOV,2a914830-d700-444a-b73c-e3f31980d833,OFFICEMOBILE_SUBSCRIPTION_GOV,4ccb60ee-9523-48fd-8f63-4b090f1ad77a,Office Mobile Apps for Office 365 for GCC +Microsoft 365 F3 GCC,M365_F1_GOV,2a914830-d700-444a-b73c-e3f31980d833,POWERAPPS_O365_S1_GOV,49f06c3d-da7d-4fa0-bcce-1458fdd18a59,Power Apps for Office 365 F3 for Government +Microsoft 365 F3 GCC,M365_F1_GOV,2a914830-d700-444a-b73c-e3f31980d833,FLOW_O365_S1_GOV,5d32692e-5b24-4a59-a77e-b2a8650e25c1,Power Automate for Office 365 F3 for Government +Microsoft 365 F3 GCC,M365_F1_GOV,2a914830-d700-444a-b73c-e3f31980d833,SHAREPOINTDESKLESS_GOV,b1aeb897-3a19-46e2-8c27-a609413cf193,SharePoint KioskG +Microsoft 365 F3 GCC,M365_F1_GOV,2a914830-d700-444a-b73c-e3f31980d833,MCOIMP_GOV,8a9f17f1-5872-44e8-9b11-3caade9dc90f,Skype for Business Online (Plan 1) for Government +Microsoft 365 F3 GCC,M365_F1_GOV,2a914830-d700-444a-b73c-e3f31980d833,BPOS_S_TODO_FIRSTLINE,80873e7a-cd2a-4e67-b061-1b5381a676a5,To-Do (Firstline) +Microsoft 365 F3 GCC,M365_F1_GOV,2a914830-d700-444a-b73c-e3f31980d833,WHITEBOARD_FIRSTLINE1,36b29273-c6d0-477a-aca6-6fbe24f538e3,Whiteboard (Firstline) +Microsoft 365 F5 Compliance Add-on,SPE_F5_COMP,91de26be-adfa-4a3d-989e-9131cc23dda7,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox +Microsoft 365 F5 Compliance Add-on,SPE_F5_COMP,91de26be-adfa-4a3d-989e-9131cc23dda7,BPOS_S_DlpAddOn,9bec7e34-c9fa-40b7-a9d1-bd6d1165c7ed,Data Loss Prevention +Microsoft 365 F5 Compliance Add-on,SPE_F5_COMP,91de26be-adfa-4a3d-989e-9131cc23dda7,EXCHANGE_S_ARCHIVE_ADDON,176a09a6-7ec5-4039-ac02-b2791c6ba793,Exchange Online Archiving +Microsoft 365 F5 Compliance Add-on,SPE_F5_COMP,91de26be-adfa-4a3d-989e-9131cc23dda7,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Microsoft 365 F5 Compliance Add-on,SPE_F5_COMP,91de26be-adfa-4a3d-989e-9131cc23dda7,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium +Microsoft 365 F5 Compliance Add-on,SPE_F5_COMP,91de26be-adfa-4a3d-989e-9131cc23dda7,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium +Microsoft 365 F5 Compliance Add-on,SPE_F5_COMP,91de26be-adfa-4a3d-989e-9131cc23dda7,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing +Microsoft 365 F5 Compliance Add-on,SPE_F5_COMP,91de26be-adfa-4a3d-989e-9131cc23dda7,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,Microsoft 365 Communication Compliance +Microsoft 365 F5 Compliance Add-on,SPE_F5_COMP,91de26be-adfa-4a3d-989e-9131cc23dda7,COMMUNICATIONS_DLP,6dc145d6-95dd-4191-b9c3-185575ee6f6b,Microsoft Communications DLP +Microsoft 365 F5 Compliance Add-on,SPE_F5_COMP,91de26be-adfa-4a3d-989e-9131cc23dda7,CUSTOMER_KEY,6db1f1db-2b46-403f-be40-e39395f08dbb,Microsoft Customer Key +Microsoft 365 F5 Compliance Add-on,SPE_F5_COMP,91de26be-adfa-4a3d-989e-9131cc23dda7,DATA_INVESTIGATIONS,46129a58-a698-46f0-aa5b-17f6586297d9,Microsoft Data Investigations +Microsoft 365 F5 Compliance Add-on,SPE_F5_COMP,91de26be-adfa-4a3d-989e-9131cc23dda7,INFO_GOVERNANCE,e26c2fcc-ab91-4a61-b35c-03cdc8dddf66,Microsoft Information Governance +Microsoft 365 F5 Compliance Add-on,SPE_F5_COMP,91de26be-adfa-4a3d-989e-9131cc23dda7,INSIDER_RISK,d587c7a3-bda9-4f99-8776-9bcf59c84f75,Microsoft Insider Risk Management +Microsoft 365 F5 Compliance Add-on,SPE_F5_COMP,91de26be-adfa-4a3d-989e-9131cc23dda7,ML_CLASSIFICATION,d2d51368-76c9-4317-ada2-a12c004c432f,Microsoft ML-Based Classification +Microsoft 365 F5 Compliance Add-on,SPE_F5_COMP,91de26be-adfa-4a3d-989e-9131cc23dda7,RECORDS_MANAGEMENT,65cc641f-cccd-4643-97e0-a17e3045e541,Microsoft Records Management +Microsoft 365 F5 Compliance Add-on,SPE_F5_COMP,91de26be-adfa-4a3d-989e-9131cc23dda7,EQUIVIO_ANALYTICS,4de31727-a228-4ec3-a5bf-8e45b5ca48cc,Office 365 Advanced eDiscovery +Microsoft 365 F5 Compliance Add-on,SPE_F5_COMP,91de26be-adfa-4a3d-989e-9131cc23dda7,PAM_ENTERPRISE,b1188c4c-1b36-4018-b48b-ee07604f6feb,Office 365 Privileged Access Management +Microsoft 365 F5 Compliance Add-on,SPE_F5_COMP,91de26be-adfa-4a3d-989e-9131cc23dda7,PREMIUM_ENCRYPTION,617b097b-4b93-4ede-83de-5f075bb5fb2f,Premium Encryption in Office 365 +Microsoft 365 F5 Compliance Add-on,SPE_F5_COMP,91de26be-adfa-4a3d-989e-9131cc23dda7,MICROSOFTENDPOINTDLP,64bfac92-2b17-4482-b5e5-a0304429de3e,Microsoft Endpoint DLP +Microsoft 365 F5 Compliance Add-on,SPE_F5_COMP,91de26be-adfa-4a3d-989e-9131cc23dda7,RMS_S_PREMIUM2,5689bec4-755d-4753-8b61-40975025187c,Azure Information Protection Premium P2 +Microsoft 365 F5 Compliance Add-on,SPE_F5_COMP,91de26be-adfa-4a3d-989e-9131cc23dda7,ADALLOM_S_STANDALONE,2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2,Microsoft Defender for Cloud Apps +Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox +Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium +Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard +Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium +Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing +Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,Microsoft 365 Communication Compliance +Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,COMMUNICATIONS_DLP,6dc145d6-95dd-4191-b9c3-185575ee6f6b,Microsoft Communications DLP +Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,CUSTOMER_KEY,6db1f1db-2b46-403f-be40-e39395f08dbb,Microsoft Customer Key +Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,INFO_GOVERNANCE,e26c2fcc-ab91-4a61-b35c-03cdc8dddf66,Microsoft Information Governance +Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,INSIDER_RISK,d587c7a3-bda9-4f99-8776-9bcf59c84f75,Microsoft Insider Risk Management +Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,ML_CLASSIFICATION,d2d51368-76c9-4317-ada2-a12c004c432f,Microsoft ML-Based Classification +Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,RECORDS_MANAGEMENT,65cc641f-cccd-4643-97e0-a17e3045e541,Microsoft Records Management +Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,EQUIVIO_ANALYTICS,4de31727-a228-4ec3-a5bf-8e45b5ca48cc,Office 365 Advanced eDiscovery +Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,PREMIUM_ENCRYPTION,617b097b-4b93-4ede-83de-5f075bb5fb2f,Premium Encryption in Office 365 +Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,MICROSOFTENDPOINTDLP,64bfac92-2b17-4482-b5e5-a0304429de3e,Microsoft Endpoint DLP +Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,RMS_S_PREMIUM2,5689bec4-755d-4753-8b61-40975025187c,Azure Information Protection Premium P2 +Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD,SPE_F5_COMP_AR_D_USGOV_DOD,9cfd6bc3-84cd-4274-8a21-8c7c41d6c350,ADALLOM_S_STANDALONE_DOD,6ebdddb7-8e55-4af2-952b-69e77262f96c,Microsoft Defender for Cloud Apps for DOD +Microsoft 365 F5 Compliance Add-on AR_USGOV_GCCHIGH,SPE_F5_COMP_AR_USGOV_GCCHIGH,9f436c0e-fb32-424b-90be-6a9f2919d506,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox +Microsoft 365 F5 Compliance Add-on AR_USGOV_GCCHIGH,SPE_F5_COMP_AR_USGOV_GCCHIGH,9f436c0e-fb32-424b-90be-6a9f2919d506,BPOS_S_DlpAddOn,9bec7e34-c9fa-40b7-a9d1-bd6d1165c7ed,Data Loss Prevention +Microsoft 365 F5 Compliance Add-on AR_USGOV_GCCHIGH,SPE_F5_COMP_AR_USGOV_GCCHIGH,9f436c0e-fb32-424b-90be-6a9f2919d506,EXCHANGE_S_ARCHIVE_ADDON,176a09a6-7ec5-4039-ac02-b2791c6ba793,Exchange Online Archiving +Microsoft 365 F5 Compliance Add-on AR_USGOV_GCCHIGH,SPE_F5_COMP_AR_USGOV_GCCHIGH,9f436c0e-fb32-424b-90be-6a9f2919d506,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Microsoft 365 F5 Compliance Add-on AR_USGOV_GCCHIGH,SPE_F5_COMP_AR_USGOV_GCCHIGH,9f436c0e-fb32-424b-90be-6a9f2919d506,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium +Microsoft 365 F5 Compliance Add-on AR_USGOV_GCCHIGH,SPE_F5_COMP_AR_USGOV_GCCHIGH,9f436c0e-fb32-424b-90be-6a9f2919d506,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Microsoft 365 F5 Compliance Add-on AR_USGOV_GCCHIGH,SPE_F5_COMP_AR_USGOV_GCCHIGH,9f436c0e-fb32-424b-90be-6a9f2919d506,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing +Microsoft 365 F5 Compliance Add-on AR_USGOV_GCCHIGH,SPE_F5_COMP_AR_USGOV_GCCHIGH,9f436c0e-fb32-424b-90be-6a9f2919d506,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,Microsoft 365 Communication Compliance +Microsoft 365 F5 Compliance Add-on AR_USGOV_GCCHIGH,SPE_F5_COMP_AR_USGOV_GCCHIGH,9f436c0e-fb32-424b-90be-6a9f2919d506,CUSTOMER_KEY,6db1f1db-2b46-403f-be40-e39395f08dbb,Microsoft Customer Key +Microsoft 365 F5 Compliance Add-on AR_USGOV_GCCHIGH,SPE_F5_COMP_AR_USGOV_GCCHIGH,9f436c0e-fb32-424b-90be-6a9f2919d506,INFO_GOVERNANCE,e26c2fcc-ab91-4a61-b35c-03cdc8dddf66,Microsoft Information Governance +Microsoft 365 F5 Compliance Add-on AR_USGOV_GCCHIGH,SPE_F5_COMP_AR_USGOV_GCCHIGH,9f436c0e-fb32-424b-90be-6a9f2919d506,INSIDER_RISK,d587c7a3-bda9-4f99-8776-9bcf59c84f75,Microsoft Insider Risk Management +Microsoft 365 F5 Compliance Add-on AR_USGOV_GCCHIGH,SPE_F5_COMP_AR_USGOV_GCCHIGH,9f436c0e-fb32-424b-90be-6a9f2919d506,ML_CLASSIFICATION,d2d51368-76c9-4317-ada2-a12c004c432f,Microsoft ML-Based Classification +Microsoft 365 F5 Compliance Add-on AR_USGOV_GCCHIGH,SPE_F5_COMP_AR_USGOV_GCCHIGH,9f436c0e-fb32-424b-90be-6a9f2919d506,RECORDS_MANAGEMENT,65cc641f-cccd-4643-97e0-a17e3045e541,Microsoft Records Management +Microsoft 365 F5 Compliance Add-on AR_USGOV_GCCHIGH,SPE_F5_COMP_AR_USGOV_GCCHIGH,9f436c0e-fb32-424b-90be-6a9f2919d506,EQUIVIO_ANALYTICS,4de31727-a228-4ec3-a5bf-8e45b5ca48cc,Office 365 Advanced eDiscovery +Microsoft 365 F5 Compliance Add-on AR_USGOV_GCCHIGH,SPE_F5_COMP_AR_USGOV_GCCHIGH,9f436c0e-fb32-424b-90be-6a9f2919d506,PREMIUM_ENCRYPTION,617b097b-4b93-4ede-83de-5f075bb5fb2f,Premium Encryption in Office 365 +Microsoft 365 F5 Compliance Add-on AR_USGOV_GCCHIGH,SPE_F5_COMP_AR_USGOV_GCCHIGH,9f436c0e-fb32-424b-90be-6a9f2919d506,MICROSOFTENDPOINTDLP,64bfac92-2b17-4482-b5e5-a0304429de3e,Microsoft Endpoint DLP +Microsoft 365 F5 Compliance Add-on AR_USGOV_GCCHIGH,SPE_F5_COMP_AR_USGOV_GCCHIGH,9f436c0e-fb32-424b-90be-6a9f2919d506,RMS_S_PREMIUM2,5689bec4-755d-4753-8b61-40975025187c,Azure Information Protection Premium P2 +Microsoft 365 F5 Compliance Add-on AR_USGOV_GCCHIGH,SPE_F5_COMP_AR_USGOV_GCCHIGH,9f436c0e-fb32-424b-90be-6a9f2919d506,ADALLOM_S_STANDALONE,2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2,Microsoft Defender for Cloud Apps +Microsoft 365 F5 Compliance Add-on GCC,SPE_F5_COMP_GCC,3f17cf90-67a2-4fdb-8587-37c1539507e1,LOCKBOX_ENTERPRISE_GOV,89b5d3b1-3855-49fe-b46c-87c66dbc1526,Customer Lockbox for Government +Microsoft 365 F5 Compliance Add-on GCC,SPE_F5_COMP_GCC,3f17cf90-67a2-4fdb-8587-37c1539507e1,BPOS_S_DlpAddOn,9bec7e34-c9fa-40b7-a9d1-bd6d1165c7ed,Data Loss Prevention +Microsoft 365 F5 Compliance Add-on GCC,SPE_F5_COMP_GCC,3f17cf90-67a2-4fdb-8587-37c1539507e1,EXCHANGE_S_ARCHIVE_ADDON,176a09a6-7ec5-4039-ac02-b2791c6ba793,Exchange Online Archiving +Microsoft 365 F5 Compliance Add-on GCC,SPE_F5_COMP_GCC,3f17cf90-67a2-4fdb-8587-37c1539507e1,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Microsoft 365 F5 Compliance Add-on GCC,SPE_F5_COMP_GCC,3f17cf90-67a2-4fdb-8587-37c1539507e1,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium +Microsoft 365 F5 Compliance Add-on GCC,SPE_F5_COMP_GCC,3f17cf90-67a2-4fdb-8587-37c1539507e1,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Microsoft 365 F5 Compliance Add-on GCC,SPE_F5_COMP_GCC,3f17cf90-67a2-4fdb-8587-37c1539507e1,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing +Microsoft 365 F5 Compliance Add-on GCC,SPE_F5_COMP_GCC,3f17cf90-67a2-4fdb-8587-37c1539507e1,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,Microsoft 365 Communication Compliance +Microsoft 365 F5 Compliance Add-on GCC,SPE_F5_COMP_GCC,3f17cf90-67a2-4fdb-8587-37c1539507e1,COMMUNICATIONS_DLP,6dc145d6-95dd-4191-b9c3-185575ee6f6b,Microsoft Communications DLP +Microsoft 365 F5 Compliance Add-on GCC,SPE_F5_COMP_GCC,3f17cf90-67a2-4fdb-8587-37c1539507e1,CUSTOMER_KEY,6db1f1db-2b46-403f-be40-e39395f08dbb,Microsoft Customer Key +Microsoft 365 F5 Compliance Add-on GCC,SPE_F5_COMP_GCC,3f17cf90-67a2-4fdb-8587-37c1539507e1,INFO_GOVERNANCE,e26c2fcc-ab91-4a61-b35c-03cdc8dddf66,Microsoft Information Governance +Microsoft 365 F5 Compliance Add-on GCC,SPE_F5_COMP_GCC,3f17cf90-67a2-4fdb-8587-37c1539507e1,INSIDER_RISK,d587c7a3-bda9-4f99-8776-9bcf59c84f75,Microsoft Insider Risk Management +Microsoft 365 F5 Compliance Add-on GCC,SPE_F5_COMP_GCC,3f17cf90-67a2-4fdb-8587-37c1539507e1,ML_CLASSIFICATION,d2d51368-76c9-4317-ada2-a12c004c432f,Microsoft ML-Based Classification +Microsoft 365 F5 Compliance Add-on GCC,SPE_F5_COMP_GCC,3f17cf90-67a2-4fdb-8587-37c1539507e1,RECORDS_MANAGEMENT,65cc641f-cccd-4643-97e0-a17e3045e541,Microsoft Records Management +Microsoft 365 F5 Compliance Add-on GCC,SPE_F5_COMP_GCC,3f17cf90-67a2-4fdb-8587-37c1539507e1,EQUIVIO_ANALYTICS_GOV,d1cbfb67-18a8-4792-b643-630b7f19aad1,Office 365 Advanced eDiscovery for Government +Microsoft 365 F5 Compliance Add-on GCC,SPE_F5_COMP_GCC,3f17cf90-67a2-4fdb-8587-37c1539507e1,PREMIUM_ENCRYPTION,617b097b-4b93-4ede-83de-5f075bb5fb2f,Premium Encryption in Office 365 +Microsoft 365 F5 Compliance Add-on GCC,SPE_F5_COMP_GCC,3f17cf90-67a2-4fdb-8587-37c1539507e1,MICROSOFTENDPOINTDLP,64bfac92-2b17-4482-b5e5-a0304429de3e,Microsoft Endpoint DLP +Microsoft 365 F5 Compliance Add-on GCC,SPE_F5_COMP_GCC,3f17cf90-67a2-4fdb-8587-37c1539507e1,RMS_S_PREMIUM2,5689bec4-755d-4753-8b61-40975025187c,Azure Information Protection Premium P2 +Microsoft 365 F5 Compliance Add-on GCC,SPE_F5_COMP_GCC,3f17cf90-67a2-4fdb-8587-37c1539507e1,ADALLOM_S_STANDALONE,2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2,Microsoft Defender for Cloud Apps +Microsoft 365 F5 Security Add-on,SPE_F5_SEC,67ffe999-d9ca-49e1-9d2c-03fb28aa7a48,MTP,bf28f719-7844-4079-9c78-c1307898e192,Microsoft 365 Defender +Microsoft 365 F5 Security Add-on,SPE_F5_SEC,67ffe999-d9ca-49e1-9d2c-03fb28aa7a48,ATP_ENTERPRISE,f20fedf3-f3c3-43c3-8267-2bfdd51c0939,Microsoft Defender for Office 365 (Plan 1) +Microsoft 365 F5 Security Add-on,SPE_F5_SEC,67ffe999-d9ca-49e1-9d2c-03fb28aa7a48,THREAT_INTELLIGENCE,8e0c0a52-6a6c-4d40-8370-dd62790dcd70,Microsoft Defender for Office 365 (Plan 2) +Microsoft 365 F5 Security Add-on,SPE_F5_SEC,67ffe999-d9ca-49e1-9d2c-03fb28aa7a48,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,Microsoft Defender for Endpoint +Microsoft 365 F5 Security Add-on,SPE_F5_SEC,67ffe999-d9ca-49e1-9d2c-03fb28aa7a48,AAD_PREMIUM_P2,eec0eb4f-6444-4f95-aba0-50c24d67f998,Microsoft Entra ID P2 +Microsoft 365 F5 Security Add-on,SPE_F5_SEC,67ffe999-d9ca-49e1-9d2c-03fb28aa7a48,ADALLOM_S_STANDALONE,2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2,Microsoft Defender for Cloud Apps +Microsoft 365 F5 Security Add-on,SPE_F5_SEC,67ffe999-d9ca-49e1-9d2c-03fb28aa7a48,ATA,14ab5db5-e6c4-4b20-b4bc-13e36fd2227f,Microsoft Defender for Identity +Microsoft 365 F5 Security + Compliance Add-on,SPE_F5_SECCOMP,32b47245-eb31-44fc-b945-a8b1576c439f,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox +Microsoft 365 F5 Security + Compliance Add-on,SPE_F5_SECCOMP,32b47245-eb31-44fc-b945-a8b1576c439f,BPOS_S_DlpAddOn,9bec7e34-c9fa-40b7-a9d1-bd6d1165c7ed,Data Loss Prevention +Microsoft 365 F5 Security + Compliance Add-on,SPE_F5_SECCOMP,32b47245-eb31-44fc-b945-a8b1576c439f,EXCHANGE_S_ARCHIVE_ADDON,176a09a6-7ec5-4039-ac02-b2791c6ba793,Exchange Online Archiving +Microsoft 365 F5 Security + Compliance Add-on,SPE_F5_SECCOMP,32b47245-eb31-44fc-b945-a8b1576c439f,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Microsoft 365 F5 Security + Compliance Add-on,SPE_F5_SECCOMP,32b47245-eb31-44fc-b945-a8b1576c439f,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium +Microsoft 365 F5 Security + Compliance Add-on,SPE_F5_SECCOMP,32b47245-eb31-44fc-b945-a8b1576c439f,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium +Microsoft 365 F5 Security + Compliance Add-on,SPE_F5_SECCOMP,32b47245-eb31-44fc-b945-a8b1576c439f,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing +Microsoft 365 F5 Security + Compliance Add-on,SPE_F5_SECCOMP,32b47245-eb31-44fc-b945-a8b1576c439f,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,Microsoft 365 Communication Compliance +Microsoft 365 F5 Security + Compliance Add-on,SPE_F5_SECCOMP,32b47245-eb31-44fc-b945-a8b1576c439f,MTP,bf28f719-7844-4079-9c78-c1307898e192,Microsoft 365 Defender +Microsoft 365 F5 Security + Compliance Add-on,SPE_F5_SECCOMP,32b47245-eb31-44fc-b945-a8b1576c439f,COMMUNICATIONS_DLP,6dc145d6-95dd-4191-b9c3-185575ee6f6b,Microsoft Communications DLP +Microsoft 365 F5 Security + Compliance Add-on,SPE_F5_SECCOMP,32b47245-eb31-44fc-b945-a8b1576c439f,CUSTOMER_KEY,6db1f1db-2b46-403f-be40-e39395f08dbb,Microsoft Customer Key +Microsoft 365 F5 Security + Compliance Add-on,SPE_F5_SECCOMP,32b47245-eb31-44fc-b945-a8b1576c439f,DATA_INVESTIGATIONS,46129a58-a698-46f0-aa5b-17f6586297d9,Microsoft Data Investigations +Microsoft 365 F5 Security + Compliance Add-on,SPE_F5_SECCOMP,32b47245-eb31-44fc-b945-a8b1576c439f,ATP_ENTERPRISE,f20fedf3-f3c3-43c3-8267-2bfdd51c0939,Microsoft Defender for Office 365 (Plan 1) +Microsoft 365 F5 Security + Compliance Add-on,SPE_F5_SECCOMP,32b47245-eb31-44fc-b945-a8b1576c439f,THREAT_INTELLIGENCE,8e0c0a52-6a6c-4d40-8370-dd62790dcd70,Microsoft Defender for Office 365 (Plan 2) +Microsoft 365 F5 Security + Compliance Add-on,SPE_F5_SECCOMP,32b47245-eb31-44fc-b945-a8b1576c439f,INFO_GOVERNANCE,e26c2fcc-ab91-4a61-b35c-03cdc8dddf66,Microsoft Information Governance +Microsoft 365 F5 Security + Compliance Add-on,SPE_F5_SECCOMP,32b47245-eb31-44fc-b945-a8b1576c439f,INSIDER_RISK,d587c7a3-bda9-4f99-8776-9bcf59c84f75,Microsoft Insider Risk Management +Microsoft 365 F5 Security + Compliance Add-on,SPE_F5_SECCOMP,32b47245-eb31-44fc-b945-a8b1576c439f,ML_CLASSIFICATION,d2d51368-76c9-4317-ada2-a12c004c432f,Microsoft ML-Based Classification +Microsoft 365 F5 Security + Compliance Add-on,SPE_F5_SECCOMP,32b47245-eb31-44fc-b945-a8b1576c439f,RECORDS_MANAGEMENT,65cc641f-cccd-4643-97e0-a17e3045e541,Microsoft Records Management +Microsoft 365 F5 Security + Compliance Add-on,SPE_F5_SECCOMP,32b47245-eb31-44fc-b945-a8b1576c439f,EQUIVIO_ANALYTICS,4de31727-a228-4ec3-a5bf-8e45b5ca48cc,Office 365 Advanced eDiscovery +Microsoft 365 F5 Security + Compliance Add-on,SPE_F5_SECCOMP,32b47245-eb31-44fc-b945-a8b1576c439f,PAM_ENTERPRISE,b1188c4c-1b36-4018-b48b-ee07604f6feb,Office 365 Privileged Access Management +Microsoft 365 F5 Security + Compliance Add-on,SPE_F5_SECCOMP,32b47245-eb31-44fc-b945-a8b1576c439f,SAFEDOCS,bf6f5520-59e3-4f82-974b-7dbbc4fd27c7,Office 365 SafeDocs +Microsoft 365 F5 Security + Compliance Add-on,SPE_F5_SECCOMP,32b47245-eb31-44fc-b945-a8b1576c439f,PREMIUM_ENCRYPTION,617b097b-4b93-4ede-83de-5f075bb5fb2f,Premium Encryption in Office 365 +Microsoft 365 F5 Security + Compliance Add-on,SPE_F5_SECCOMP,32b47245-eb31-44fc-b945-a8b1576c439f,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,Microsoft Defender for Endpoint +Microsoft 365 F5 Security + Compliance Add-on,SPE_F5_SECCOMP,32b47245-eb31-44fc-b945-a8b1576c439f,MICROSOFTENDPOINTDLP,64bfac92-2b17-4482-b5e5-a0304429de3e,Microsoft Endpoint DLP +Microsoft 365 F5 Security + Compliance Add-on,SPE_F5_SECCOMP,32b47245-eb31-44fc-b945-a8b1576c439f,AAD_PREMIUM_P2,eec0eb4f-6444-4f95-aba0-50c24d67f998,Microsoft Entra ID P2 +Microsoft 365 F5 Security + Compliance Add-on,SPE_F5_SECCOMP,32b47245-eb31-44fc-b945-a8b1576c439f,RMS_S_PREMIUM2,5689bec4-755d-4753-8b61-40975025187c,Azure Information Protection Premium P2 +Microsoft 365 F5 Security + Compliance Add-on,SPE_F5_SECCOMP,32b47245-eb31-44fc-b945-a8b1576c439f,ADALLOM_S_STANDALONE,2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2,Microsoft Defender for Cloud Apps +Microsoft 365 F5 Security + Compliance Add-on,SPE_F5_SECCOMP,32b47245-eb31-44fc-b945-a8b1576c439f,ATA,14ab5db5-e6c4-4b20-b4bc-13e36fd2227f,Microsoft Defender for Identity +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,CDS_O365_P3_GCC,bce5e5ca-c2fd-4d53-8ee2-58dfffed4c10,Common Data Service for Teams +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,LOCKBOX_ENTERPRISE_GOV,89b5d3b1-3855-49fe-b46c-87c66dbc1526,Customer Lockbox for Government +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,EXCHANGE_S_ENTERPRISE_GOV,8c3069c0-ccdb-44be-ab77-986203a67df2,Exchange Online (Plan 2) for Government +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,GRAPH_CONNECTORS_SEARCH_INDEX_TOPICEXP,b74d57b2-58e9-484a-9731-aeccbba954f0,Graph Connectors Search with Index (Microsoft Viva Topics) +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,OFFICESUBSCRIPTION_GOV,de9234ff-6483-44d9-b15e-dca72fdd27af,Microsoft 365 Apps for enterprise G +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,MCOMEETADV_GOV,f544b08d-1645-4287-82de-8d91f37c02a1,Microsoft 365 Audio Conferencing for Government +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,Microsoft 365 Communication Compliance +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,MTP,bf28f719-7844-4079-9c78-c1307898e192,Microsoft 365 Defender +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,MCOEV_GOV,db23fce2-a974-42ef-9002-d78dd42a0f22,Microsoft 365 Phone System for Government +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,COMMUNICATIONS_DLP,6dc145d6-95dd-4191-b9c3-185575ee6f6b,Microsoft Communications DLP +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,CUSTOMER_KEY,6db1f1db-2b46-403f-be40-e39395f08dbb,Microsoft Customer Key +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,ATP_ENTERPRISE_GOV,493ff600-6a2b-4db6-ad37-a7d4eb214516,Microsoft Defender for Office 365 (Plan 1) for Government +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,THREAT_INTELLIGENCE_GOV,900018f1-0cdb-4ecb-94d4-90281760fdc6,Microsoft Defender for Office 365 (Plan 2) for Government +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,FORMS_GOV_E5,843da3a8-d2cc-4e7a-9e90-dc46019f964c,Microsoft Forms for Government (Plan E5) +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,INFO_GOVERNANCE,e26c2fcc-ab91-4a61-b35c-03cdc8dddf66,Microsoft Information Governance +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,INSIDER_RISK,d587c7a3-bda9-4f99-8776-9bcf59c84f75,Microsoft Insider Risk Management +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,ML_CLASSIFICATION,d2d51368-76c9-4317-ada2-a12c004c432f,Microsoft ML-Based Classification +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,EXCHANGE_ANALYTICS_GOV,208120d1-9adb-4daf-8c22-816bd5d237e7,Microsoft MyAnalytics for Government (Full) +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,RECORDS_MANAGEMENT,65cc641f-cccd-4643-97e0-a17e3045e541,Microsoft Records Management +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,TEAMS_GOV,304767db-7d23-49e8-a945-4a7eb65f9f28,Microsoft Teams for Government +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,EQUIVIO_ANALYTICS_GOV,d1cbfb67-18a8-4792-b643-630b7f19aad1,Office 365 Advanced eDiscovery for Government +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,PROJECTWORKMANAGEMENT_GOV,5b4ef465-7ea1-459a-9f91-033317755a51,Office 365 Planner for Government +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,SAFEDOCS,bf6f5520-59e3-4f82-974b-7dbbc4fd27c7,Office 365 SafeDocs +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,BI_AZURE_P_2_GOV,944e9726-f011-4353-b654-5f7d2663db76,Power BI Pro for Government +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,PREMIUM_ENCRYPTION,617b097b-4b93-4ede-83de-5f075bb5fb2f,Premium Encryption in Office 365 +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,PROJECT_O365_P3_GOV,9b7c50ec-cd50-44f2-bf48-d72de6f90717,Project for Government (Plan E5) +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,MCOSTANDARD_GOV,a31ef4a2-f787-435e-8335-e47eb0cafc94,Skype for Business Online (Plan 2) for Government +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,STREAM_O365_E5_GOV,92c2089d-9a53-49fe-b1a6-9e6bdf959547,Stream for Office 365 for Government (E5) +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,BPOS_S_TODO_3,3fb82609-8c27-4f7b-bd51-30634711ee67,To-Do (Plan 3) +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,Microsoft Defender for Endpoint +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,MICROSOFTENDPOINTDLP,64bfac92-2b17-4482-b5e5-a0304429de3e,Microsoft Endpoint DLP +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Azure Active Directory Premium P1 +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,AAD_PREMIUM_P2,eec0eb4f-6444-4f95-aba0-50c24d67f998,Azure Active Directory Premium P2 +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,RMS_S_PREMIUM_GOV,1b66aedf-8ca1-4f73-af76-ec76c6180f98,Azure Information Protection Premium P1 for GCC +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,RMS_S_PREMIUM2_GOV,5400a66d-eaa5-427d-80f2-0f26d59d8fce,Azure Information Protection Premium P2 for GCC +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,RMS_S_ENTERPRISE_GOV,6a76346d-5d6e-4051-9fe3-ed3f312b5597,Azure Rights Management +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,DYN365_CDS_O365_P3_GCC,a7d3fb37-b6df-4085-b509-50810d991a39,Common Data Service +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,ADALLOM_S_STANDALONE,2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2,Microsoft Defender for Cloud Apps +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,ATA,14ab5db5-e6c4-4b20-b4bc-13e36fd2227f,Microsoft Defender for Identity +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,POWERAPPS_O365_P3_GOV,0eacfc38-458a-40d3-9eab-9671258f1a3e,Power Apps for Office 365 for Government +Microsoft 365 GCC G5,M365_G5_GCC,e2be619b-b125-455f-8660-fb503e431a5d,FLOW_O365_P3_GOV,8055d84a-c172-42eb-b997-6c2ae4628246,Power Automate for Office 365 for Government +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,CDS_O365_P3_GCC,bce5e5ca-c2fd-4d53-8ee2-58dfffed4c10,Common Data Service for Teams +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,LOCKBOX_ENTERPRISE_GOV,89b5d3b1-3855-49fe-b46c-87c66dbc1526,Customer Lockbox for Government +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,EXCHANGE_S_ENTERPRISE_GOV,8c3069c0-ccdb-44be-ab77-986203a67df2,Exchange Online (Plan 2) for Government +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,OFFICESUBSCRIPTION_GOV,de9234ff-6483-44d9-b15e-dca72fdd27af,Microsoft 365 Apps for enterprise G +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,MCOMEETADV_GOV,f544b08d-1645-4287-82de-8d91f37c02a1,Microsoft 365 Audio Conferencing for Government +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,Microsoft 365 Communication Compliance +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,MTP,bf28f719-7844-4079-9c78-c1307898e192,Microsoft 365 Defender +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,MCOEV_GOV,db23fce2-a974-42ef-9002-d78dd42a0f22,Microsoft 365 Phone System for Government +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,COMMUNICATIONS_DLP,6dc145d6-95dd-4191-b9c3-185575ee6f6b,Microsoft Communications DLP +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,CUSTOMER_KEY,6db1f1db-2b46-403f-be40-e39395f08dbb,Microsoft Customer Key +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,ATP_ENTERPRISE_GOV,493ff600-6a2b-4db6-ad37-a7d4eb214516,Microsoft Defender for Office 365 (Plan 1) for Government +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,THREAT_INTELLIGENCE_GOV,900018f1-0cdb-4ecb-94d4-90281760fdc6,Microsoft Defender for Office 365 (Plan 2) for Government +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,FORMS_GOV_E5,843da3a8-d2cc-4e7a-9e90-dc46019f964c,Microsoft Forms for Government (Plan E5) +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,INFO_GOVERNANCE,e26c2fcc-ab91-4a61-b35c-03cdc8dddf66,Microsoft Information Governance +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,INSIDER_RISK,d587c7a3-bda9-4f99-8776-9bcf59c84f75,Microsoft Insider Risk Management +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,ML_CLASSIFICATION,d2d51368-76c9-4317-ada2-a12c004c432f,Microsoft ML-Based Classification +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,EXCHANGE_ANALYTICS_GOV,208120d1-9adb-4daf-8c22-816bd5d237e7,Microsoft MyAnalytics for Government (Full) +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,RECORDS_MANAGEMENT,65cc641f-cccd-4643-97e0-a17e3045e541,Microsoft Records Management +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,TEAMS_GOV,304767db-7d23-49e8-a945-4a7eb65f9f28,Microsoft Teams for Government +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,EQUIVIO_ANALYTICS_GOV,d1cbfb67-18a8-4792-b643-630b7f19aad1,Office 365 Advanced eDiscovery for Government +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,PROJECTWORKMANAGEMENT_GOV,5b4ef465-7ea1-459a-9f91-033317755a51,Office 365 Planner for Government +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,BI_AZURE_P_2_GOV,944e9726-f011-4353-b654-5f7d2663db76,Power BI Pro for Government +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,PREMIUM_ENCRYPTION,617b097b-4b93-4ede-83de-5f075bb5fb2f,Premium Encryption in Office 365 +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,PROJECT_O365_P3_GOV,9b7c50ec-cd50-44f2-bf48-d72de6f90717,Project for Government (Plan E5) +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,MCOSTANDARD_GOV,a31ef4a2-f787-435e-8335-e47eb0cafc94,Skype for Business Online (Plan 2) for Government +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,STREAM_O365_E5_GOV,92c2089d-9a53-49fe-b1a6-9e6bdf959547,Stream for Office 365 for Government (E5) +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,BPOS_S_TODO_3,3fb82609-8c27-4f7b-bd51-30634711ee67,To-Do (Plan 3) +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,MICROSOFTENDPOINTDLP,64bfac92-2b17-4482-b5e5-a0304429de3e,Microsoft Endpoint DLP +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Azure Active Directory Premium P1 +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,AAD_PREMIUM_P2,eec0eb4f-6444-4f95-aba0-50c24d67f998,Azure Active Directory Premium P2 +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,RMS_S_PREMIUM_GOV,1b66aedf-8ca1-4f73-af76-ec76c6180f98,Azure Information Protection Premium P1 for GCC +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,RMS_S_PREMIUM2_GOV,5400a66d-eaa5-427d-80f2-0f26d59d8fce,Azure Information Protection Premium P2 for GCC +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,RMS_S_ENTERPRISE_GOV,6a76346d-5d6e-4051-9fe3-ed3f312b5597,Azure Rights Management +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,DYN365_CDS_O365_P3_GCC,a7d3fb37-b6df-4085-b509-50810d991a39,Common Data Service +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,POWERAPPS_O365_P3_GOV,0eacfc38-458a-40d3-9eab-9671258f1a3e,Power Apps for Office 365 for Government +Microsoft 365 GCC G5 w/o WDATP/CAS Unified,M365_G5_GOV,b0f809d5-a662-4391-a5aa-136e9c565b9d,FLOW_O365_P3_GOV,8055d84a-c172-42eb-b997-6c2ae4628246,Power Automate for Office 365 for Government +Microsoft 365 Audio Conferencing for GCC,MCOMEETADV_GOV,2d3091c7-0712-488b-b3d8-6b97bde6a1f5,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,EXCHANGE FOUNDATION FOR GOVERNMENT +Microsoft 365 Audio Conferencing for GCC,MCOMEETADV_GOV,2d3091c7-0712-488b-b3d8-6b97bde6a1f5,MCOMEETADV_GOV,f544b08d-1645-4287-82de-8d91f37c02a1,MICROSOFT 365 AUDIO CONFERENCING FOR GOVERNMENT +Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,MESH_AVATARS_FOR_TEAMS,dcf9d2f4-772e-4434-b757-77a453cfbc02,Avatars for Teams +Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) +Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot +Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,CustomerLockboxA_Enterprise,3ec18638-bd4c-4d3b-8905-479ed636b83e,Customer Lockbox (A) +Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,MESH_IMMERSIVE_FOR_TEAMS,f0ff6ac6-297d-49cd-be34-6dfef97f0c28,Immersive spaces for Teams +Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium +Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,CLIPCHAMP,a1ace008-72f3-4ea0-8dac-33b3a23a2472,Microsoft Clipchamp +Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,INSIDER_RISK,d587c7a3-bda9-4f99-8776-9bcf59c84f75,Microsoft Insider Risk Management +Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,MICROSOFT_LOOP,c4b8c31a-fb44-4c65-9837-a21f55fcabda,Microsoft Loop +Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,ML_CLASSIFICATION,d2d51368-76c9-4317-ada2-a12c004c432f,Microsoft ML-Based Classification +Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,SAFEDOCS,bf6f5520-59e3-4f82-974b-7dbbc4fd27c7,Office 365 SafeDocs +Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,PURVIEW_DISCOVERY,c948ea65-2053-4a5a-8a62-9eaaaf11b522,Purview Discovery +Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,MICROSOFTENDPOINTDLP,64bfac92-2b17-4482-b5e5-a0304429de3e,Microsoft Endpoint DLP +Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print +Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch +Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service +Microsoft 365 E5 Suite features,M365_E5_SUITE_COMPONENTS,99cc8282-2f74-4954-83b7-c6a9a1999067,Defender_for_Iot_Enterprise,99cd49a9-0e54-4e07-aea1-d8d9f5f704f5,Defender for IoT - Enterprise IoT Security +Microsoft 365 F1,M365_F1_COMM,50f60901-3181-4b75-8a2c-4c8e4c1d5a72,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,AAD_PREMIUM +Microsoft 365 F1,M365_F1_COMM,50f60901-3181-4b75-8a2c-4c8e4c1d5a72,RMS_S_PREMIUM,6c57d4b6-3b23-47a5-9bc9-69f17b4947b3,RMS_S_PREMIUM +Microsoft 365 F1,M365_F1_COMM,50f60901-3181-4b75-8a2c-4c8e4c1d5a72,ADALLOM_S_DISCOVERY,932ad362-64a8-4783-9106-97849a1a30b9,ADALLOM_S_DISCOVERY +Microsoft 365 F1,M365_F1_COMM,50f60901-3181-4b75-8a2c-4c8e4c1d5a72,DYN365_CDS_O365_F1,ca6e61ec-d4f4-41eb-8b88-d96e0e14323f,DYN365_CDS_O365_F1 +Microsoft 365 F1,M365_F1_COMM,50f60901-3181-4b75-8a2c-4c8e4c1d5a72,EXCHANGE_S_DESKLESS,4a82b400-a79f-41a4-b4e2-e94f5787b113,EXCHANGE_S_DESKLESS +Microsoft 365 F1,M365_F1_COMM,50f60901-3181-4b75-8a2c-4c8e4c1d5a72,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,RMS_S_ENTERPRISE +Microsoft 365 F1,M365_F1_COMM,50f60901-3181-4b75-8a2c-4c8e4c1d5a72,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,MFA_PREMIUM +Microsoft 365 F1,M365_F1_COMM,50f60901-3181-4b75-8a2c-4c8e4c1d5a72,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,MICROSOFTBOOKINGS +Microsoft 365 F1,M365_F1_COMM,50f60901-3181-4b75-8a2c-4c8e4c1d5a72,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,INTUNE_A +Microsoft 365 F1,M365_F1_COMM,50f60901-3181-4b75-8a2c-4c8e4c1d5a72,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,PROJECTWORKMANAGEMENT +Microsoft 365 F1,M365_F1_COMM,50f60901-3181-4b75-8a2c-4c8e4c1d5a72,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,MICROSOFT_SEARCH +Microsoft 365 F1,M365_F1_COMM,50f60901-3181-4b75-8a2c-4c8e4c1d5a72,STREAM_O365_K,3ffba0d2-38e5-4d5e-8ec0-98f2b05c09d9,STREAM_O365_K +Microsoft 365 F1,M365_F1_COMM,50f60901-3181-4b75-8a2c-4c8e4c1d5a72,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,TEAMS1 +Microsoft 365 F1,M365_F1_COMM,50f60901-3181-4b75-8a2c-4c8e4c1d5a72,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,INTUNE_O365 +Microsoft 365 F1,M365_F1_COMM,50f60901-3181-4b75-8a2c-4c8e4c1d5a72,SHAREPOINTDESKLESS,902b47e5-dcb2-4fdc-858b-c63a90a2bdb9,SHAREPOINTDESKLESS +Microsoft 365 F1,M365_F1_COMM,50f60901-3181-4b75-8a2c-4c8e4c1d5a72,MCOIMP,afc06cb0-b4f4-4473-8286-d644f70d8faf,MCOIMP +Microsoft 365 F1,M365_F1_COMM,50f60901-3181-4b75-8a2c-4c8e4c1d5a72,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core +Microsoft 365 F1,M365_F1_COMM,50f60901-3181-4b75-8a2c-4c8e4c1d5a72,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,YAMMER_ENTERPRISE +Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,CDS_O365_P2_GCC,a70bbf38-cdda-470d-adb8-5804b8770f41,Common Data Service for Teams +Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,EXCHANGE_S_ENTERPRISE_GOV,8c3069c0-ccdb-44be-ab77-986203a67df2,Exchange Online (Plan 2) for Government +Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium +Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard +Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,MYANALYTICS_P2_GOV,6e5b7995-bd4f-4cbd-9d19-0e32010c72f0,Insights by MyAnalytics for Government +Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,OFFICESUBSCRIPTION_GOV,de9234ff-6483-44d9-b15e-dca72fdd27af,Microsoft 365 Apps for enterprise G +Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,FORMS_GOV_E3,24af5f65-d0f3-467b-9f78-ea798c4aeffc,Microsoft Forms for Government (Plan E3) +Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,TEAMS_GOV,304767db-7d23-49e8-a945-4a7eb65f9f28,Microsoft Teams for Government +Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,PROJECTWORKMANAGEMENT_GOV,5b4ef465-7ea1-459a-9f91-033317755a51,Office 365 Planner for Government +Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government +Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,PROJECT_O365_P2_GOV,e7d09ae4-099a-4c34-a2a2-3e166e95c44a,Project for Government (Plan E3) +Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G +Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,MCOSTANDARD_GOV,a31ef4a2-f787-435e-8335-e47eb0cafc94,Skype for Business Online (Plan 2) for Government +Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,STREAM_O365_E3_GOV,2c1ada27-dbaa-46f9-bda6-ecb94445f758,Stream for Office 365 for Government (E3) +Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,BPOS_S_TODO_2,c87f142c-d1e9-4363-8630-aaea9c4d9ae5,To-Do (Plan 2) +Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,WHITEBOARD_PLAN2,94a54592-cd8b-425e-87c6-97868b000b91,Whiteboard (Plan 2) +Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Azure Active Directory Premium P1 +Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,RMS_S_PREMIUM_GOV,1b66aedf-8ca1-4f73-af76-ec76c6180f98,Azure Information Protection Premium P1 for GCC +Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,RMS_S_ENTERPRISE_GOV,6a76346d-5d6e-4051-9fe3-ed3f312b5597,Azure Rights Management +Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,DYN365_CDS_O365_P2_GCC,06162da2-ebf9-4954-99a0-00fee96f95cc,Common Data Service +Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,ADALLOM_S_DISCOVERY,932ad362-64a8-4783-9106-97849a1a30b9,Microsoft Defender for Cloud Apps Discovery +Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 +Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,POWERAPPS_O365_P2_GOV,0a20c815-5e81-4727-9bdc-2b5a117850c3,Power Apps for Office 365 for Government +Microsoft 365 G3 GCC,M365_G3_GOV,e823ca47-49c4-46b3-b38d-ca11d5abe3d2,FLOW_O365_P2_GOV,c537f360-6a00-4ace-a7f5-9128d0ac1e4b,Power Automate for Office 365 for Government +Microsoft 365 G3 - Unattended License for GCC,M365_G3_RPA1_GOV,5c739a73-651d-4c2c-8a4e-fe4ba12253b0,CDS_O365_P2_GCC,a70bbf38-cdda-470d-adb8-5804b8770f41,Common Data Service for Teams +Microsoft 365 G3 - Unattended License for GCC,M365_G3_RPA1_GOV,5c739a73-651d-4c2c-8a4e-fe4ba12253b0,EXCHANGE_S_ENTERPRISE_GOV,8c3069c0-ccdb-44be-ab77-986203a67df2,Exchange Online (Plan 2) for Government +Microsoft 365 G3 - Unattended License for GCC,M365_G3_RPA1_GOV,5c739a73-651d-4c2c-8a4e-fe4ba12253b0,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Microsoft 365 G3 - Unattended License for GCC,M365_G3_RPA1_GOV,5c739a73-651d-4c2c-8a4e-fe4ba12253b0,MYANALYTICS_P2_GOV,6e5b7995-bd4f-4cbd-9d19-0e32010c72f0,Insights by MyAnalytics for Government +Microsoft 365 G3 - Unattended License for GCC,M365_G3_RPA1_GOV,5c739a73-651d-4c2c-8a4e-fe4ba12253b0,OFFICESUBSCRIPTION_unattended_GOV,18dfd9bd-5214-4184-8123-c9822d81a9bc,Microsoft 365 Apps for enterprise (unattended) for GCC +Microsoft 365 G3 - Unattended License for GCC,M365_G3_RPA1_GOV,5c739a73-651d-4c2c-8a4e-fe4ba12253b0,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Microsoft 365 G3 - Unattended License for GCC,M365_G3_RPA1_GOV,5c739a73-651d-4c2c-8a4e-fe4ba12253b0,MDE_LITE,292cc034-7b7c-4950-aaf5-943befd3f1d4,Microsoft Defender for Endpoint Plan 1 +Microsoft 365 G3 - Unattended License for GCC,M365_G3_RPA1_GOV,5c739a73-651d-4c2c-8a4e-fe4ba12253b0,FORMS_GOV_E3,24af5f65-d0f3-467b-9f78-ea798c4aeffc,Microsoft Forms for Government (Plan E3) +Microsoft 365 G3 - Unattended License for GCC,M365_G3_RPA1_GOV,5c739a73-651d-4c2c-8a4e-fe4ba12253b0,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft 365 G3 - Unattended License for GCC,M365_G3_RPA1_GOV,5c739a73-651d-4c2c-8a4e-fe4ba12253b0,TEAMS_GOV,304767db-7d23-49e8-a945-4a7eb65f9f28,Microsoft Teams for Government +Microsoft 365 G3 - Unattended License for GCC,M365_G3_RPA1_GOV,5c739a73-651d-4c2c-8a4e-fe4ba12253b0,PROJECTWORKMANAGEMENT_GOV,5b4ef465-7ea1-459a-9f91-033317755a51,Office 365 Planner for Government +Microsoft 365 G3 - Unattended License for GCC,M365_G3_RPA1_GOV,5c739a73-651d-4c2c-8a4e-fe4ba12253b0,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government +Microsoft 365 G3 - Unattended License for GCC,M365_G3_RPA1_GOV,5c739a73-651d-4c2c-8a4e-fe4ba12253b0,PROJECT_O365_P2_GOV,e7d09ae4-099a-4c34-a2a2-3e166e95c44a,Project for Government (Plan E3) +Microsoft 365 G3 - Unattended License for GCC,M365_G3_RPA1_GOV,5c739a73-651d-4c2c-8a4e-fe4ba12253b0,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G +Microsoft 365 G3 - Unattended License for GCC,M365_G3_RPA1_GOV,5c739a73-651d-4c2c-8a4e-fe4ba12253b0,MCOSTANDARD_GOV,a31ef4a2-f787-435e-8335-e47eb0cafc94,Skype for Business Online (Plan 2) for Government +Microsoft 365 G3 - Unattended License for GCC,M365_G3_RPA1_GOV,5c739a73-651d-4c2c-8a4e-fe4ba12253b0,STREAM_O365_E3_GOV,2c1ada27-dbaa-46f9-bda6-ecb94445f758,Stream for Office 365 for Government (E3) +Microsoft 365 G3 - Unattended License for GCC,M365_G3_RPA1_GOV,5c739a73-651d-4c2c-8a4e-fe4ba12253b0,RMS_S_PREMIUM_GOV,1b66aedf-8ca1-4f73-af76-ec76c6180f98,Azure Information Protection Premium P1 for GCC +Microsoft 365 G3 - Unattended License for GCC,M365_G3_RPA1_GOV,5c739a73-651d-4c2c-8a4e-fe4ba12253b0,RMS_S_ENTERPRISE_GOV,6a76346d-5d6e-4051-9fe3-ed3f312b5597,Azure Rights Management +Microsoft 365 G3 - Unattended License for GCC,M365_G3_RPA1_GOV,5c739a73-651d-4c2c-8a4e-fe4ba12253b0,DYN365_CDS_O365_P2_GCC,06162da2-ebf9-4954-99a0-00fee96f95cc,Common Data Service +Microsoft 365 G3 - Unattended License for GCC,M365_G3_RPA1_GOV,5c739a73-651d-4c2c-8a4e-fe4ba12253b0,MFA_PREMIUM,8a256a2b-b617-496d-b51b-e76466e88db0,Microsoft Azure Multi-Factor Authentication +Microsoft 365 G3 - Unattended License for GCC,M365_G3_RPA1_GOV,5c739a73-651d-4c2c-8a4e-fe4ba12253b0,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft 365 G3 - Unattended License for GCC,M365_G3_RPA1_GOV,5c739a73-651d-4c2c-8a4e-fe4ba12253b0,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 +Microsoft 365 G3 - Unattended License for GCC,M365_G3_RPA1_GOV,5c739a73-651d-4c2c-8a4e-fe4ba12253b0,POWERAPPS_O365_P2_GOV,0a20c815-5e81-4727-9bdc-2b5a117850c3,Power Apps for Office 365 for Government +Microsoft 365 G3 - Unattended License for GCC,M365_G3_RPA1_GOV,5c739a73-651d-4c2c-8a4e-fe4ba12253b0,FLOW_O365_P2_GOV,c537f360-6a00-4ace-a7f5-9128d0ac1e4b,Power Automate for Office 365 for Government +Microsoft 365 Lighthouse,Microsoft365_Lighthouse,9c0587f3-8665-4252-a8ad-b7a5ade57312,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Microsoft 365 Lighthouse,Microsoft365_Lighthouse,9c0587f3-8665-4252-a8ad-b7a5ade57312,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) +Microsoft Sales Copilot,Microsoft_Viva_Sales,3227bcb2-8448-4f81-b3c2-8c2074e15a2a,Microsoft_Viva_Sales_PremiumTrial,8ba1ff15-7bf6-4620-b65c-ecedb6942766,Microsoft Sales Copilot Premium & Trial +Microsoft Sales Copilot,Microsoft_Viva_Sales,3227bcb2-8448-4f81-b3c2-8c2074e15a2a,Microsoft_Viva_Sales_PowerAutomate,a933a62f-c3fb-48e5-a0b7-ac92b94b4420,Microsoft Sales Copilot Premium with Power Automate +Microsoft 365 Security and Compliance for Firstline Workers,M365_SECURITY_COMPLIANCE_FOR_FLW,2347355b-4e81-41a4-9c22-55057a399791,RMS_S_PREMIUM2,5689bec4-755d-4753-8b61-40975025187c,Azure Information Protection Premium P2 +Microsoft 365 Security and Compliance for Firstline Workers,M365_SECURITY_COMPLIANCE_FOR_FLW,2347355b-4e81-41a4-9c22-55057a399791,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox +Microsoft 365 Security and Compliance for Firstline Workers,M365_SECURITY_COMPLIANCE_FOR_FLW,2347355b-4e81-41a4-9c22-55057a399791,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 +Microsoft 365 Security and Compliance for Firstline Workers,M365_SECURITY_COMPLIANCE_FOR_FLW,2347355b-4e81-41a4-9c22-55057a399791,BPOS_S_DlpAddOn,9bec7e34-c9fa-40b7-a9d1-bd6d1165c7ed,Data Loss Prevention +Microsoft 365 Security and Compliance for Firstline Workers,M365_SECURITY_COMPLIANCE_FOR_FLW,2347355b-4e81-41a4-9c22-55057a399791,EXCHANGE_S_ARCHIVE_ADDON,176a09a6-7ec5-4039-ac02-b2791c6ba793,Exchange Online Archiving for Exchange Online +Microsoft 365 Security and Compliance for Firstline Workers,M365_SECURITY_COMPLIANCE_FOR_FLW,2347355b-4e81-41a4-9c22-55057a399791,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Microsoft 365 Security and Compliance for Firstline Workers,M365_SECURITY_COMPLIANCE_FOR_FLW,2347355b-4e81-41a4-9c22-55057a399791,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium +Microsoft 365 Security and Compliance for Firstline Workers,M365_SECURITY_COMPLIANCE_FOR_FLW,2347355b-4e81-41a4-9c22-55057a399791,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics - Standard +Microsoft 365 Security and Compliance for Firstline Workers,M365_SECURITY_COMPLIANCE_FOR_FLW,2347355b-4e81-41a4-9c22-55057a399791,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium +Microsoft 365 Security and Compliance for Firstline Workers,M365_SECURITY_COMPLIANCE_FOR_FLW,2347355b-4e81-41a4-9c22-55057a399791,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,M365 Communication Compliance +Microsoft 365 Security and Compliance for Firstline Workers,M365_SECURITY_COMPLIANCE_FOR_FLW,2347355b-4e81-41a4-9c22-55057a399791,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing +Microsoft 365 Security and Compliance for Firstline Workers,M365_SECURITY_COMPLIANCE_FOR_FLW,2347355b-4e81-41a4-9c22-55057a399791,MTP,bf28f719-7844-4079-9c78-c1307898e192,Microsoft 365 Defender +Microsoft 365 Security and Compliance for Firstline Workers,M365_SECURITY_COMPLIANCE_FOR_FLW,2347355b-4e81-41a4-9c22-55057a399791,ADALLOM_S_STANDALONE,2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2,Microsoft Cloud App Security +Microsoft 365 Security and Compliance for Firstline Workers,M365_SECURITY_COMPLIANCE_FOR_FLW,2347355b-4e81-41a4-9c22-55057a399791,COMMUNICATIONS_DLP,6dc145d6-95dd-4191-b9c3-185575ee6f6b,Microsoft Communications DLP +Microsoft 365 Security and Compliance for Firstline Workers,M365_SECURITY_COMPLIANCE_FOR_FLW,2347355b-4e81-41a4-9c22-55057a399791,CUSTOMER_KEY,6db1f1db-2b46-403f-be40-e39395f08dbb,Microsoft Customer Key +Microsoft 365 Security and Compliance for Firstline Workers,M365_SECURITY_COMPLIANCE_FOR_FLW,2347355b-4e81-41a4-9c22-55057a399791,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,Microsoft Defender For Endpoint +Microsoft 365 Security and Compliance for Firstline Workers,M365_SECURITY_COMPLIANCE_FOR_FLW,2347355b-4e81-41a4-9c22-55057a399791,ATA,14ab5db5-e6c4-4b20-b4bc-13e36fd2227f,Microsoft Defender for Identity +Microsoft 365 Security and Compliance for Firstline Workers,M365_SECURITY_COMPLIANCE_FOR_FLW,2347355b-4e81-41a4-9c22-55057a399791,ATP_ENTERPRISE,f20fedf3-f3c3-43c3-8267-2bfdd51c0939,Microsoft Defender for Office 365 (Plan 1) +Microsoft 365 Security and Compliance for Firstline Workers,M365_SECURITY_COMPLIANCE_FOR_FLW,2347355b-4e81-41a4-9c22-55057a399791,THREAT_INTELLIGENCE,8e0c0a52-6a6c-4d40-8370-dd62790dcd70,Microsoft Defender for Office 365 (Plan 2) +Microsoft 365 Security and Compliance for Firstline Workers,M365_SECURITY_COMPLIANCE_FOR_FLW,2347355b-4e81-41a4-9c22-55057a399791,MICROSOFTENDPOINTDLP,64bfac92-2b17-4482-b5e5-a0304429de3e,Microsoft Endpoint DLP +Microsoft 365 Security and Compliance for Firstline Workers,M365_SECURITY_COMPLIANCE_FOR_FLW,2347355b-4e81-41a4-9c22-55057a399791,ML_CLASSIFICATION,d2d51368-76c9-4317-ada2-a12c004c432f,Microsoft ML-based classification +Microsoft 365 Security and Compliance for Firstline Workers,M365_SECURITY_COMPLIANCE_FOR_FLW,2347355b-4e81-41a4-9c22-55057a399791,EQUIVIO_ANALYTICS,4de31727-a228-4ec3-a5bf-8e45b5ca48cc,Office 365 Advanced eDiscovery +Microsoft 365 Security and Compliance for Firstline Workers,M365_SECURITY_COMPLIANCE_FOR_FLW,2347355b-4e81-41a4-9c22-55057a399791,PAM_ENTERPRISE,b1188c4c-1b36-4018-b48b-ee07604f6feb,Office 365 Privileged Access Management +Microsoft 365 Security and Compliance for Firstline Workers,M365_SECURITY_COMPLIANCE_FOR_FLW,2347355b-4e81-41a4-9c22-55057a399791,PREMIUM_ENCRYPTION,617b097b-4b93-4ede-83de-5f075bb5fb2f,Premium Encryption in Office 365 +Microsoft Business Center,MICROSOFT_BUSINESS_CENTER,726a0894-2c77-4d65-99da-9775ef05aad1,MICROSOFT_BUSINESS_CENTER,cca845f9-fd51-4df6-b563-976a37c56ce0,MICROSOFT BUSINESS CENTER +Microsoft Copilot for Microsoft 365,Microsoft_365_Copilot,639dec6b-bb19-468b-871c-c5c441c4b0cb,GRAPH_CONNECTORS_COPILOT,82d30987-df9b-4486-b146-198b21d164c7,Graph Connectors in Microsoft 365 Copilot +Microsoft Copilot for Microsoft 365,Microsoft_365_Copilot,639dec6b-bb19-468b-871c-c5c441c4b0cb,M365_COPILOT_INTELLIGENT_SEARCH,931e4a88-a67f-48b5-814f-16a5f1e6028d,Intelligent Search +Microsoft Copilot for Microsoft 365,Microsoft_365_Copilot,639dec6b-bb19-468b-871c-c5c441c4b0cb,M365_COPILOT_BUSINESS_CHAT,3f30311c-6b1e-48a4-ab79-725b469da960,Microsoft 365 Chat +Microsoft Copilot for Microsoft 365,Microsoft_365_Copilot,639dec6b-bb19-468b-871c-c5c441c4b0cb,M365_COPILOT_TEAMS,b95945de-b3bd-46db-8437-f2beb6ea2347,Microsoft 365 Copilot in Microsoft Teams +Microsoft Copilot for Microsoft 365,Microsoft_365_Copilot,639dec6b-bb19-468b-871c-c5c441c4b0cb,M365_COPILOT_APPS,a62f8878-de10-42f3-b68f-6149a25ceb97,Microsoft 365 Copilot in Productivity Apps +Microsoft Copilot for Microsoft 365,Microsoft_365_Copilot,639dec6b-bb19-468b-871c-c5c441c4b0cb,M365_COPILOT_CONNECTORS,89f1c4c8-0878-40f7-804d-869c9128ab5d,Power Platform Connectors in Microsoft 365 Copilot +Microsoft Cloud App Security,ADALLOM_STANDALONE,df845ce7-05f9-4894-b5f2-11bbfbcfd2b6,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Microsoft Cloud App Security,ADALLOM_STANDALONE,df845ce7-05f9-4894-b5f2-11bbfbcfd2b6,ADALLOM_S_STANDALONE,2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2,Microsoft Cloud App Security +Microsoft Cloud for Sustainability vTrial,Microsoft_Cloud_for_Sustainability_vTrial,556640c0-53ea-4773-907d-29c55332983f,MCS_BizApps_Cloud_for_Sustainability_vTrial,c1c902e3-a956-4273-abdb-c92afcd027ef,MCS - BizApps_Cloud for Sustainability_vTrial +Microsoft Cloud for Sustainability vTrial,Microsoft_Cloud_for_Sustainability_vTrial,556640c0-53ea-4773-907d-29c55332983f,POWER_APPS_DYN365_VIRAL_TRIAL,54b37829-818e-4e3c-a08a-3ea66ab9b45d,Power Apps for Dynamics 365 vTrial +Microsoft Cloud for Sustainability vTrial,Microsoft_Cloud_for_Sustainability_vTrial,556640c0-53ea-4773-907d-29c55332983f,POWER_AUTOMATE_DYN365_VIRAL_TRIAL,81d4ecb8-0481-42fb-8868-51536c5aceeb,Power Automate for Dynamics 365 vTrial +Microsoft Cloud for Sustainability vTrial,Microsoft_Cloud_for_Sustainability_vTrial,556640c0-53ea-4773-907d-29c55332983f,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Microsoft Cloud for Sustainability vTrial,Microsoft_Cloud_for_Sustainability_vTrial,556640c0-53ea-4773-907d-29c55332983f,DYN365_CDS_VIRAL,17ab22cd-a0b3-4536-910a-cb6eb12696c0,Common Data Service +Microsoft Defender for Endpoint,WIN_DEF_ATP,111046dd-295b-4d6d-9724-d52ac90bd1f2,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Microsoft Defender for Endpoint,WIN_DEF_ATP,111046dd-295b-4d6d-9724-d52ac90bd1f2,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,MICROSOFT DEFENDER FOR ENDPOINT +Microsoft Defender for Endpoint F2,Microsoft_Defender_for_Endpoint_F2,e430a580-c37b-4d16-adba-d881d7cd0364,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,Microsoft Defender for Endpoint +Microsoft Defender for Endpoint P1,DEFENDER_ENDPOINT_P1,16a55f2f-ff35-4cd5-9146-fb784e3761a5,Intune_Defender,1689aade-3d6a-4bfc-b017-46d2672df5ad,MDE_SecurityManagement +Microsoft Defender for Endpoint P1,DEFENDER_ENDPOINT_P1,16a55f2f-ff35-4cd5-9146-fb784e3761a5,MDE_LITE,292cc034-7b7c-4950-aaf5-943befd3f1d4,Microsoft Defender for Endpoint Plan 1 +Microsoft Defender for Endpoint P1 for EDU,DEFENDER_ENDPOINT_P1_EDU,bba890d4-7881-4584-8102-0c3fdfb739a7,MDE_LITE,292cc034-7b7c-4950-aaf5-943befd3f1d4,Microsoft Defender for Endpoint Plan 1 +Microsoft Defender for Endpoint P2_XPLAT,MDATP_XPLAT,b126b073-72db-4a9d-87a4-b17afe41d4ab,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Microsoft Defender for Endpoint P2_XPLAT,MDATP_XPLAT,b126b073-72db-4a9d-87a4-b17afe41d4ab,Intune_Defender,1689aade-3d6a-4bfc-b017-46d2672df5ad,MDE_SecurityManagement +Microsoft Defender for Endpoint P2_XPLAT,MDATP_XPLAT,b126b073-72db-4a9d-87a4-b17afe41d4ab,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,Microsoft Defender for Endpoint +Microsoft Defender for Endpoint Server,MDATP_Server,509e8ab6-0274-4cda-bcbd-bd164fd562c4,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Microsoft Defender for Endpoint Server,MDATP_Server,509e8ab6-0274-4cda-bcbd-bd164fd562c4,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,Microsoft Defender for Endpoint +Microsoft Dynamics CRM Online Basic,CRMPLAN2,906af65a-2970-46d5-9b58-4e9aa50f0657,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,EXCHANGE FOUNDATION +Microsoft Dynamics CRM Online Basic,CRMPLAN2,906af65a-2970-46d5-9b58-4e9aa50f0657,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,FLOW FOR DYNAMICS 365 +Microsoft Dynamics CRM Online Basic,CRMPLAN2,906af65a-2970-46d5-9b58-4e9aa50f0657,CRMPLAN2,bf36ca64-95c6-4918-9275-eb9f4ce2c04f,MICROSOFT DYNAMICS CRM ONLINE BASIC +Microsoft Dynamics CRM Online Basic,CRMPLAN2,906af65a-2970-46d5-9b58-4e9aa50f0657,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,POWERAPPS FOR DYNAMICS 365 +Microsoft Defender for Identity,ATA,98defdf7-f6c1-44f5-a1f6-943b6764e7a5,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Microsoft Defender for Identity,ATA,98defdf7-f6c1-44f5-a1f6-943b6764e7a5,ATA,14ab5db5-e6c4-4b20-b4bc-13e36fd2227f,Microsoft Defender for Identity +Microsoft Defender for Identity,ATA,98defdf7-f6c1-44f5-a1f6-943b6764e7a5,ADALLOM_FOR_AATP,61d18b02-6889-479f-8f36-56e6e0fe5792,SecOps Investigation for MDI +Microsoft Defender for Office 365 (Plan 1) Faculty,ATP_ENTERPRISE_FACULTY,26ad4b5c-b686-462e-84b9-d7c22b46837f,ATP_ENTERPRISE,f20fedf3-f3c3-43c3-8267-2bfdd51c0939,Microsoft Defender for Office 365 (Plan 1) +Microsoft Defender for Office 365 (Plan 1) GCC,ATP_ENTERPRISE_GOV,d0d1ca43-b81a-4f51-81e5-a5b1ad7bb005,ATP_ENTERPRISE_GOV,493ff600-6a2b-4db6-ad37-a7d4eb214516,Microsoft Defender for Office 365 (Plan 1) for Government +Microsoft Defender for Office 365 (Plan 1)_USGOV_GCCHIGH,ATP_ENTERPRISE_USGOV_GCCHIGH ,550f19ba-f323-4a7d-a8d2-8971b0d9ea85,ATP_ENTERPRISE,f20fedf3-f3c3-43c3-8267-2bfdd51c0939,Microsoft Defender for Office 365 (Plan 1) +Microsoft Defender for Office 365 (Plan 2) GCC,THREAT_INTELLIGENCE_GOV,56a59ffb-9df1-421b-9e61-8b568583474d,MTP,bf28f719-7844-4079-9c78-c1307898e192,Microsoft 365 Defender +Microsoft Defender for Office 365 (Plan 2) GCC,THREAT_INTELLIGENCE_GOV,56a59ffb-9df1-421b-9e61-8b568583474d,ATP_ENTERPRISE_GOV,493ff600-6a2b-4db6-ad37-a7d4eb214516,Microsoft Defender for Office 365 (Plan 1) for Government +Microsoft Defender for Office 365 (Plan 2) GCC,THREAT_INTELLIGENCE_GOV,56a59ffb-9df1-421b-9e61-8b568583474d,THREAT_INTELLIGENCE_GOV,900018f1-0cdb-4ecb-94d4-90281760fdc6,Microsoft Defender for Office 365 (Plan 2) for Government +Microsoft Defender Vulnerability Management,TVM_Premium_Standalone,1925967e-8013-495f-9644-c99f8b463748,TVM_PREMIUM_1,36810a13-b903-490a-aa45-afbeb7540832,Microsoft Defender Vulnerability Management +Microsoft Defender Vulnerability Management Add-on,TVM_Premium_Add_on,ad7a56e0-6903-4d13-94f3-5ad491e78960,TVM_PREMIUM_1,36810a13-b903-490a-aa45-afbeb7540832,Microsoft Defender Vulnerability Management +Microsoft Dynamics CRM Online,CRMSTANDARD,d17b27af-3f49-4822-99f9-56a661538792,CRMSTANDARD,f9646fb2-e3b2-4309-95de-dc4833737456,MICROSOFT DYNAMICS CRM ONLINE PROFESSIONA +Microsoft Dynamics CRM Online,CRMSTANDARD,d17b27af-3f49-4822-99f9-56a661538792,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,FLOW FOR DYNAMICS 365 +Microsoft Dynamics CRM Online,CRMSTANDARD,d17b27af-3f49-4822-99f9-56a661538792,MDM_SALES_COLLABORATION,3413916e-ee66-4071-be30-6f94d4adfeda,MICROSOFT DYNAMICS MARKETING SALES COLLABORATION - ELIGIBILITY CRITERIA APPLY +Microsoft Dynamics CRM Online,CRMSTANDARD,d17b27af-3f49-4822-99f9-56a661538792,NBPROFESSIONALFORCRM,3e58e97c-9abe-ebab-cd5f-d543d1529634,MICROSOFT SOCIAL ENGAGEMENT PROFESSIONAL - ELIGIBILITY CRITERIA APPLY +Microsoft Dynamics CRM Online,CRMSTANDARD,d17b27af-3f49-4822-99f9-56a661538792,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,POWERAPPS FOR DYNAMICS 365 +Microsoft Entra ID Governance,Microsoft_Entra_ID_Governance,cf6b0d46-4093-4546-a0ab-0b1546dcc10e,Entra_Identity_Governance,e866a266-3cff-43a3-acca-0c90a7e00c8b,Entra Identity Governance +Microsoft Fabric (Free),POWER_BI_STANDARD,a403ebcc-fae0-4ca2-8c8c-7a907fd6c235,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Microsoft Fabric (Free),POWER_BI_STANDARD,a403ebcc-fae0-4ca2-8c8c-7a907fd6c235,BI_AZURE_P0,2049e525-b859-401b-b2a0-e0a31c4b1fe4,Power BI (free) +Microsoft Fabric (Free) for faculty,POWER_BI_STANDARD_FACULTY,ade29b5f-397e-4eb9-a287-0344bd46c68d,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,EXCHANGE_S_FOUNDATION +Microsoft Fabric (Free) for faculty,POWER_BI_STANDARD_FACULTY,ade29b5f-397e-4eb9-a287-0344bd46c68d,BI_AZURE_P0,2049e525-b859-401b-b2a0-e0a31c4b1fe4,BI_AZURE_P0 +Microsoft Fabric (Free) for student,POWER_BI_STANDARD_STUDENT,bdcaf6aa-04c1-4b8f-b64e-6e3bd505ac64,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,EXCHANGE_S_FOUNDATION +Microsoft Fabric (Free) for student,POWER_BI_STANDARD_STUDENT,bdcaf6aa-04c1-4b8f-b64e-6e3bd505ac64,BI_AZURE_P0,2049e525-b859-401b-b2a0-e0a31c4b1fe4,BI_AZURE_P0 +Microsoft Imagine Academy,IT_ACADEMY_AD,ba9a34de-4489-469d-879c-0f0f145321cd,IT_ACADEMY_AD,d736def0-1fde-43f0-a5be-e3f8b2de6e41,MS IMAGINE ACADEMY +Microsoft Intune Device,INTUNE_A_D,2b317a4a-77a6-4188-9437-b68a77b4e2c6,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Microsoft Intune Device,INTUNE_A_D,2b317a4a-77a6-4188-9437-b68a77b4e2c6,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune +Microsoft Intune Device for Government,INTUNE_A_D_GOV,2c21e77a-e0d6-4570-b38a-7ff2dc17d2ca,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government +Microsoft Intune Device for Government,INTUNE_A_D_GOV,2c21e77a-e0d6-4570-b38a-7ff2dc17d2ca,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune +Microsoft Intune Government,INTUNE_A_GOV,2b26f637-35a0-4dbc-b69e-ff674782be9d,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government +Microsoft Intune Government,INTUNE_A_GOV,2b26f637-35a0-4dbc-b69e-ff674782be9d,INTUNE_A_GOV,d216f254-796f-4dab-bbfa-710686e646b9,Microsoft Intune G +Microsoft Intune Plan 1 A VL_USGOV_GCCHIGH,INTUNE_A_VL_USGOV_GCCHIGH,b4288abe-01be-47d9-ad20-311d6e83fc24,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Microsoft Intune Plan 1 A VL_USGOV_GCCHIGH,INTUNE_A_VL_USGOV_GCCHIGH,b4288abe-01be-47d9-ad20-311d6e83fc24,INTUNE_A_VL,3e170737-c728-4eae-bbb9-3f3360f7184c,Microsoft Intune Plan 1 +Microsoft Power Apps for Developer,POWERAPPS_DEV,5b631642-bd26-49fe-bd20-1daaa972ef80,DYN365_CDS_DEV_VIRAL,d8c638e2-9508-40e3-9877-feb87603837b,Common Data Service - DEV VIRAL +Microsoft Power Apps for Developer,POWERAPPS_DEV,5b631642-bd26-49fe-bd20-1daaa972ef80,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Microsoft Power Apps for Developer,POWERAPPS_DEV,5b631642-bd26-49fe-bd20-1daaa972ef80,FLOW_DEV_VIRAL,c7ce3f26-564d-4d3a-878d-d8ab868c85fe,Flow for Developer +Microsoft Power Apps for Developer,POWERAPPS_DEV,5b631642-bd26-49fe-bd20-1daaa972ef80,POWERAPPS_DEV_VIRAL,a2729df7-25f8-4e63-984b-8a8484121554,PowerApps for Developer +Microsoft Power Apps Plan 2 Trial,POWERAPPS_VIRAL,dcb1a3ae-b33f-4487-846a-a640262fadf4,DYN365_CDS_VIRAL,17ab22cd-a0b3-4536-910a-cb6eb12696c0,Common Data Service - VIRAL +Microsoft Power Apps Plan 2 Trial,POWERAPPS_VIRAL,dcb1a3ae-b33f-4487-846a-a640262fadf4,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Microsoft Power Apps Plan 2 Trial,POWERAPPS_VIRAL,dcb1a3ae-b33f-4487-846a-a640262fadf4,FLOW_P2_VIRAL,50e68c76-46c6-4674-81f9-75456511b170,Flow Free +Microsoft Power Apps Plan 2 Trial,POWERAPPS_VIRAL,dcb1a3ae-b33f-4487-846a-a640262fadf4,FLOW_P2_VIRAL_REAL,d20bfa21-e9ae-43fc-93c2-20783f0840c3,Flow P2 Viral +Microsoft Power Apps Plan 2 Trial,POWERAPPS_VIRAL,dcb1a3ae-b33f-4487-846a-a640262fadf4,POWERAPPS_P2_VIRAL,d5368ca3-357e-4acb-9c21-8495fb025d1f,PowerApps Trial +Microsoft Power Automate Free,FLOW_FREE,f30db892-07e9-47e9-837c-80727f46fd3d,DYN365_CDS_VIRAL,17ab22cd-a0b3-4536-910a-cb6eb12696c0,COMMON DATA SERVICE +Microsoft Power Automate Free,FLOW_FREE,f30db892-07e9-47e9-837c-80727f46fd3d,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,EXCHANGE FOUNDATION +Microsoft Power Automate Free,FLOW_FREE,f30db892-07e9-47e9-837c-80727f46fd3d,FLOW_P2_VIRAL,50e68c76-46c6-4674-81f9-75456511b170,FLOW FREE +Microsoft Power Automate Plan 2,FLOW_P2,4755df59-3f73-41ab-a249-596ad72b5504,DYN365_CDS_P2,6ea4c1ef-c259-46df-bce2-943342cd3cb2,Common Data Service - P2 +Microsoft Power Automate Plan 2,FLOW_P2,4755df59-3f73-41ab-a249-596ad72b5504,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Microsoft Power Automate Plan 2,FLOW_P2,4755df59-3f73-41ab-a249-596ad72b5504,FLOW_P2,56be9436-e4b2-446c-bb7f-cc15d16cca4d,Power Automate (Plan 2) +Microsoft Intune SMB,INTUNE_SMB,e6025b08-2fa5-4313-bd0a-7e5ffca32958,AAD_SMB,de377cbc-0019-4ec2-b77c-3f223947e102,Microsoft Entra ID +Microsoft Intune SMB,INTUNE_SMB,e6025b08-2fa5-4313-bd0a-7e5ffca32958,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,EXCHANGE FOUNDATION +Microsoft Intune SMB,INTUNE_SMB,e6025b08-2fa5-4313-bd0a-7e5ffca32958,INTUNE_SMBIZ,8e9ff0ff-aa7a-4b20-83c1-2f636b600ac2,MICROSOFT INTUNE +Microsoft Intune SMB,INTUNE_SMB,e6025b08-2fa5-4313-bd0a-7e5ffca32958,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,MICROSOFT INTUNE +Microsoft Intune Suite,Microsoft_Intune_Suite,a929cd4d-8672-47c9-8664-159c1f322ba8,Intune_AdvancedEA,2a4baa0e-5e99-4c38-b1f2-6864960f1bd1,Intune Advanced endpoint analytics +Microsoft Intune Suite,Microsoft_Intune_Suite,a929cd4d-8672-47c9-8664-159c1f322ba8,Intune-EPM,bb73f429-78ef-4ff2-83c8-722b04c3e7d1,Intune Endpoint Privilege Management +Microsoft Intune Suite,Microsoft_Intune_Suite,a929cd4d-8672-47c9-8664-159c1f322ba8,INTUNE_P2,d9923fe3-a2de-4d29-a5be-e3e83bb786be,Intune Plan 2 +Microsoft Intune Suite,Microsoft_Intune_Suite,a929cd4d-8672-47c9-8664-159c1f322ba8,Intune-MAMTunnel,a6e407da-7411-4397-8a2e-d9b52780849e,Microsoft Tunnel for Mobile Application Management +Microsoft Intune Suite,Microsoft_Intune_Suite,a929cd4d-8672-47c9-8664-159c1f322ba8,REMOTE_HELP,a4c6cf29-1168-4076-ba5c-e8fe0e62b17e,Remote help +Microsoft Power Apps Plan 2 (Qualified Offer),POWERFLOW_P2,ddfae3e3-fcb2-4174-8ebd-3023cb213c8b,DYN365_CDS_P2,6ea4c1ef-c259-46df-bce2-943342cd3cb2,Common Data Service - P2 +Microsoft Power Apps Plan 2 (Qualified Offer),POWERFLOW_P2,ddfae3e3-fcb2-4174-8ebd-3023cb213c8b,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Microsoft Power Apps Plan 2 (Qualified Offer),POWERFLOW_P2,ddfae3e3-fcb2-4174-8ebd-3023cb213c8b,POWERAPPS_P2,00527d7f-d5bc-4c2a-8d1e-6c0de2410c81,Power Apps (Plan 2) +Microsoft Power Apps Plan 2 (Qualified Offer),POWERFLOW_P2,ddfae3e3-fcb2-4174-8ebd-3023cb213c8b,FLOW_P2,56be9436-e4b2-446c-bb7f-cc15d16cca4d,Power Automate (Plan 2) +Microsoft Relationship Sales solution,DYN365_ ENTERPRISE _RELATIONSHIP_SALES,4f05b1a3-a978-462c-b93f-781c6bee998f,Forms_Pro_Relationship_Sales,507172c0-6001-4f4f-80e7-f350507af3e5,Microsoft Dynamics 365 Customer Voice for Relationship Sales +Microsoft Relationship Sales solution,DYN365_ ENTERPRISE _RELATIONSHIP_SALES,4f05b1a3-a978-462c-b93f-781c6bee998f,DYN365_ ENTERPRISE _RELATIONSHIP_SALES,56e3d4ca-2e31-4c3f-8d57-89c1d363503b,Microsoft Relationship Sales solution +Microsoft Relationship Sales solution,DYN365_ ENTERPRISE _RELATIONSHIP_SALES,4f05b1a3-a978-462c-b93f-781c6bee998f,NBENTERPRISE,03acaee3-9492-4f40-aed4-bcb6b32981b6,Retired - Microsoft Social Engagement +Microsoft Relationship Sales solution,DYN365_ ENTERPRISE _RELATIONSHIP_SALES,4f05b1a3-a978-462c-b93f-781c6bee998f,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Microsoft Relationship Sales solution,DYN365_ ENTERPRISE _RELATIONSHIP_SALES,4f05b1a3-a978-462c-b93f-781c6bee998f,Microsoft_Viva_Sales_PremiumTrial,8ba1ff15-7bf6-4620-b65c-ecedb6942766,Microsoft Viva Sales Premium & Trial +Microsoft Relationship Sales solution,DYN365_ ENTERPRISE _RELATIONSHIP_SALES,4f05b1a3-a978-462c-b93f-781c6bee998f,Microsoft_Viva_Sales_PowerAutomate,a933a62f-c3fb-48e5-a0b7-ac92b94b4420,Microsoft Viva Sales Premium with Power Automate +Microsoft Relationship Sales solution,DYN365_ ENTERPRISE _RELATIONSHIP_SALES,4f05b1a3-a978-462c-b93f-781c6bee998f,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft Relationship Sales solution,DYN365_ ENTERPRISE _RELATIONSHIP_SALES,4f05b1a3-a978-462c-b93f-781c6bee998f,PROJECT_ESSENTIALS,1259157c-8581-4875-bca7-2ffb18c51bda,Project Online Essentials +Microsoft Relationship Sales solution,DYN365_ ENTERPRISE _RELATIONSHIP_SALES,4f05b1a3-a978-462c-b93f-781c6bee998f,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) +Microsoft Relationship Sales solution,DYN365_ ENTERPRISE _RELATIONSHIP_SALES,4f05b1a3-a978-462c-b93f-781c6bee998f,POWERAPPS_DYN_APPS,874fc546-6efe-4d22-90b8-5c4e7aa59f4b,Power Apps for Dynamics 365 +Microsoft Relationship Sales solution,DYN365_ ENTERPRISE _RELATIONSHIP_SALES,4f05b1a3-a978-462c-b93f-781c6bee998f,FLOW_DYN_APPS,7e6d7d78-73de-46ba-83b1-6d25117334ba,Power Automate for Dynamics 365 +Microsoft Stream,STREAM,1f2f344a-700d-42c9-9427-5cea1d5d7ba6,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,EXCHANGE FOUNDATION +Microsoft Stream,STREAM,1f2f344a-700d-42c9-9427-5cea1d5d7ba6,MICROSOFTSTREAM,acffdce6-c30f-4dc2-81c0-372e33c515ec,MICROSOFT STREAM +Microsoft Stream Plan 2,STREAM_P2,ec156933-b85b-4c50-84ec-c9e5603709ef,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Microsoft Stream Plan 2,STREAM_P2,ec156933-b85b-4c50-84ec-c9e5603709ef,STREAM_P2,d3a458d0-f10d-48c2-9e44-86f3f684029e,Microsoft Stream Plan 2 +Microsoft Stream Storage Add-On (500 GB),STREAM_STORAGE,9bd7c846-9556-4453-a542-191d527209e8,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Microsoft Stream Storage Add-On (500 GB),STREAM_STORAGE,9bd7c846-9556-4453-a542-191d527209e8,STREAM_STORAGE,83bced11-77ce-4071-95bd-240133796768,Microsoft Stream Storage Add-On +Microsoft Sustainability Manager USL Essentials,Microsoft_Cloud_for_Sustainability_USL,ece037b4-a52b-4cf8-93ea-649e5d83767a,MCS_BizApps_Cloud_for_Sustainability_USL,c46c42af-d654-4385-8c85-29a84f3dfb22,MCS - BizApps - Cloud for Sustainability USL +Microsoft Sustainability Manager USL Essentials,Microsoft_Cloud_for_Sustainability_USL,ece037b4-a52b-4cf8-93ea-649e5d83767a,POWER_APPS_FOR_MCS_USL,5ffd371c-037a-41a2-98a3-6452f8c5de17,Power Apps for Cloud for Sustainability USL +Microsoft Sustainability Manager USL Essentials,Microsoft_Cloud_for_Sustainability_USL,ece037b4-a52b-4cf8-93ea-649e5d83767a,POWER_AUTOMATE_FOR_MCS_USL,ccbe468e-7973-442c-8ec4-5fbe16438711,Power Automate for Cloud for Sustainability USL +Microsoft Sustainability Manager USL Essentials,Microsoft_Cloud_for_Sustainability_USL,ece037b4-a52b-4cf8-93ea-649e5d83767a,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Microsoft Teams Audio Conferencing with dial-out to USA/CAN,Microsoft_Teams_Audio_Conferencing_select_dial_out,1c27243e-fb4d-42b1-ae8c-fe25c9616588,MCOMEETBASIC,9974d6cf-cd24-4ba2-921c-e2aa687da846,Microsoft Teams Audio Conferencing with dial-out to select geographies +Microsoft Teams (Free),TEAMS_FREE,16ddbbfc-09ea-4de2-b1d7-312db6112d70,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,EXCHANGE FOUNDATION +Microsoft Teams (Free),TEAMS_FREE,16ddbbfc-09ea-4de2-b1d7-312db6112d70,MCOFREE,617d9209-3b90-4879-96e6-838c42b2701d,MCO FREE FOR MICROSOFT TEAMS (FREE) +Microsoft Teams (Free),TEAMS_FREE,16ddbbfc-09ea-4de2-b1d7-312db6112d70,TEAMS_FREE,4fa4026d-ce74-4962-a151-8e96d57ea8e4,MICROSOFT TEAMS (FREE) +Microsoft Teams (Free),TEAMS_FREE,16ddbbfc-09ea-4de2-b1d7-312db6112d70,SHAREPOINTDESKLESS,902b47e5-dcb2-4fdc-858b-c63a90a2bdb9,SHAREPOINT KIOSK +Microsoft Teams (Free),TEAMS_FREE,16ddbbfc-09ea-4de2-b1d7-312db6112d70,TEAMS_FREE_SERVICE,bd6f2ac2-991a-49f9-b23c-18c96a02c228,TEAMS FREE SERVICE +Microsoft Teams (Free),TEAMS_FREE,16ddbbfc-09ea-4de2-b1d7-312db6112d70,WHITEBOARD_FIRSTLINE1,36b29273-c6d0-477a-aca6-6fbe24f538e3,WHITEBOARD (FIRSTLINE) +Microsoft Teams Calling Plan pay-as-you-go (country zone 1 - US),Microsoft_Teams_Calling_Plan_pay_as_you_go_(country_zone_1_US),9b196e97-5830-4c2e-adc2-1e10ebf5dee5,MCOPSTN_PAYG_1,156a1efe-17cd-4b03-9f17-2eb512298fb3,Microsoft Teams Calling Plan pay-as-you-go - country zone 1 +Microsoft Teams Domestic Calling Plan (240 min),MCOPSTN_6,729dbb8f-8d56-4994-8e33-2f218f549544,MCOPSTN6,346d83bf-6fe6-42ca-b424-b9300d2e21bf,Microsoft 365 Domestic Calling Plan (240 min) +Microsoft Teams Essentials,Teams_Ess,fde42873-30b6-436b-b361-21af5a6b84ae,TeamsEss,f4f2f6de-6830-442b-a433-e92249faebe2,Microsoft Teams Essentials +Microsoft Teams Essentials (AAD Identity),TEAMS_ESSENTIALS_AAD,3ab6abff-666f-4424-bfb7-f0bc274ec7bc,EXCHANGE_S_DESKLESS,4a82b400-a79f-41a4-b4e2-e94f5787b113,Exchange Online Kiosk +Microsoft Teams Essentials (AAD Identity),TEAMS_ESSENTIALS_AAD,3ab6abff-666f-4424-bfb7-f0bc274ec7bc,FORMS_PLAN_E1,159f4cd6-e380-449f-a816-af1a9ef76344,Microsoft Forms (Plan E1) +Microsoft Teams Essentials (AAD Identity),TEAMS_ESSENTIALS_AAD,3ab6abff-666f-4424-bfb7-f0bc274ec7bc,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft Teams Essentials (AAD Identity),TEAMS_ESSENTIALS_AAD,3ab6abff-666f-4424-bfb7-f0bc274ec7bc,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft Teams Essentials (AAD Identity),TEAMS_ESSENTIALS_AAD,3ab6abff-666f-4424-bfb7-f0bc274ec7bc,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft Teams Essentials (AAD Identity),TEAMS_ESSENTIALS_AAD,3ab6abff-666f-4424-bfb7-f0bc274ec7bc,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft Teams Essentials (AAD Identity),TEAMS_ESSENTIALS_AAD,3ab6abff-666f-4424-bfb7-f0bc274ec7bc,ONEDRIVE_BASIC_P2,4495894f-534f-41ca-9d3b-0ebf1220a423,OneDrive for Business (Basic 2) +Microsoft Teams Essentials (AAD Identity),TEAMS_ESSENTIALS_AAD,3ab6abff-666f-4424-bfb7-f0bc274ec7bc,MCOIMP,afc06cb0-b4f4-4473-8286-d644f70d8faf,Skype for Business Online (Plan 1) +Microsoft Teams Exploratory,TEAMS_EXPLORATORY,710779e8-3d4a-4c88-adb9-386c958d1fdf,CDS_O365_P1,bed136c6-b799-4462-824d-fc045d3a9d25,COMMON DATA SERVICE FOR TEAMS_P1 +Microsoft Teams Exploratory,TEAMS_EXPLORATORY,710779e8-3d4a-4c88-adb9-386c958d1fdf,EXCHANGE_S_STANDARD,9aaf7827-d63c-4b61-89c3-182f06f82e5c,EXCHANGE ONLINE (PLAN 1) +Microsoft Teams Exploratory,TEAMS_EXPLORATORY,710779e8-3d4a-4c88-adb9-386c958d1fdf,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,INSIGHTS BY MYANALYTICS +Microsoft Teams Exploratory,TEAMS_EXPLORATORY,710779e8-3d4a-4c88-adb9-386c958d1fdf,FORMS_PLAN_E1,159f4cd6-e380-449f-a816-af1a9ef76344,MICROSOFT FORMS (PLAN E1) +Microsoft Teams Exploratory,TEAMS_EXPLORATORY,710779e8-3d4a-4c88-adb9-386c958d1fdf,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,MICROSOFT PLANNER +Microsoft Teams Exploratory,TEAMS_EXPLORATORY,710779e8-3d4a-4c88-adb9-386c958d1fdf,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,MICROSOFT SEARCH +Microsoft Teams Exploratory,TEAMS_EXPLORATORY,710779e8-3d4a-4c88-adb9-386c958d1fdf,DESKLESS,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,MICROSOFT STAFFHUB +Microsoft Teams Exploratory,TEAMS_EXPLORATORY,710779e8-3d4a-4c88-adb9-386c958d1fdf,STREAM_O365_E1,743dd19e-1ce3-4c62-a3ad-49ba8f63a2f6,MICROSOFT STREAM FOR O365 E1 SKU +Microsoft Teams Exploratory,TEAMS_EXPLORATORY,710779e8-3d4a-4c88-adb9-386c958d1fdf,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,MICROSOFT TEAMS +Microsoft Teams Exploratory,TEAMS_EXPLORATORY,710779e8-3d4a-4c88-adb9-386c958d1fdf,MCO_TEAMS_IW,42a3ec34-28ba-46b6-992f-db53a675ac5b,MICROSOFT TEAMS +Microsoft Teams Exploratory,TEAMS_EXPLORATORY,710779e8-3d4a-4c88-adb9-386c958d1fdf,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,MOBILE DEVICE MANAGEMENT FOR OFFICE 365 +Microsoft Teams Exploratory,TEAMS_EXPLORATORY,710779e8-3d4a-4c88-adb9-386c958d1fdf,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,OFFICE FOR THE WEB +Microsoft Teams Exploratory,TEAMS_EXPLORATORY,710779e8-3d4a-4c88-adb9-386c958d1fdf,OFFICEMOBILE_SUBSCRIPTION,c63d4d19-e8cb-460e-b37c-4d6c34603745,OFFICE MOBILE APPS FOR OFFICE 365 +Microsoft Teams Exploratory,TEAMS_EXPLORATORY,710779e8-3d4a-4c88-adb9-386c958d1fdf,POWERAPPS_O365_P1,92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c,POWER APPS FOR OFFICE 365 +Microsoft Teams Exploratory,TEAMS_EXPLORATORY,710779e8-3d4a-4c88-adb9-386c958d1fdf,FLOW_O365_P1,0f9b09cb-62d1-4ff4-9129-43f4996f83f4,POWER AUTOMATE FOR OFFICE 365 +Microsoft Teams Exploratory,TEAMS_EXPLORATORY,710779e8-3d4a-4c88-adb9-386c958d1fdf,POWER_VIRTUAL_AGENTS_O365_P1,0683001c-0492-4d59-9515-d9a6426b5813,POWER VIRTUAL AGENTS FOR OFFICE 365 P1 +Microsoft Teams Exploratory,TEAMS_EXPLORATORY,710779e8-3d4a-4c88-adb9-386c958d1fdf,SHAREPOINTSTANDARD,c7699d2e-19aa-44de-8edf-1736da088ca1,SHAREPOINT STANDARD +Microsoft Teams Exploratory,TEAMS_EXPLORATORY,710779e8-3d4a-4c88-adb9-386c958d1fdf,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,SWAY +Microsoft Teams Exploratory,TEAMS_EXPLORATORY,710779e8-3d4a-4c88-adb9-386c958d1fdf,BPOS_S_TODO_1,5e62787c-c316-451f-b873-1d05acd4d12c,TO-DO (PLAN 1) +Microsoft Teams Exploratory,TEAMS_EXPLORATORY,710779e8-3d4a-4c88-adb9-386c958d1fdf,WHITEBOARD_PLAN1,b8afc642-032e-4de5-8c0a-507a7bba7e5d,WHITEBOARD (PLAN 1) +Microsoft Teams Exploratory,TEAMS_EXPLORATORY,710779e8-3d4a-4c88-adb9-386c958d1fdf,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,YAMMER ENTERPRIS +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,MESH_AVATARS_FOR_TEAMS,dcf9d2f4-772e-4434-b757-77a453cfbc02,Avatars for Teams +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,CDS_O365_P1,bed136c6-b799-4462-824d-fc045d3a9d25,Common Data Service for Teams +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,EXCHANGE_S_STANDARD,9aaf7827-d63c-4b61-89c3-182f06f82e5c,Exchange Online (Plan 1) +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,MESH_IMMERSIVE_FOR_TEAMS,f0ff6ac6-297d-49cd-be34-6dfef97f0c28,Immersive spaces for Teams +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,FORMS_PLAN_E1,159f4cd6-e380-449f-a816-af1a9ef76344,Microsoft Forms (Plan E1) +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,MCO_TEAMS_IW,42a3ec34-28ba-46b6-992f-db53a675ac5b,Microsoft Teams +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,OFFICEMOBILE_SUBSCRIPTION,c63d4d19-e8cb-460e-b37c-4d6c34603745,Office Mobile Apps for Office 365 +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,SHAREPOINTSTANDARD,c7699d2e-19aa-44de-8edf-1736da088ca1,SharePoint (Plan 1) +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,BPOS_S_TODO_1,5e62787c-c316-451f-b873-1d05acd4d12c,To-Do (Plan 1) +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,WHITEBOARD_PLAN1,b8afc642-032e-4de5-8c0a-507a7bba7e5d,Whiteboard (Plan 1) +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,STREAM_O365_E1,743dd19e-1ce3-4c62-a3ad-49ba8f63a2f6,Microsoft Stream for Office 365 E1 +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,POWERAPPS_O365_P1,92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c,Power Apps for Office 365 +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,FLOW_O365_P1,0f9b09cb-62d1-4ff4-9129-43f4996f83f4,Power Automate for Office 365 +Microsoft Teams Exploratory Dept,Microsoft_Teams_Exploratory_Dept,e0dfc8b9-9531-4ec8-94b4-9fec23b05fc8,POWER_VIRTUAL_AGENTS_O365_P1,0683001c-0492-4d59-9515-d9a6426b5813,Power Virtual Agents for Office 365 +Microsoft Teams Phone Standard,MCOEV,e43b5b99-8dfb-405f-9987-dc307f34bcbd,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,MICROSOFT 365 PHONE SYSTEM +Microsoft Teams Phone Standard for DOD,MCOEV_DOD,d01d9287-694b-44f3-bcc5-ada78c8d953e,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,MICROSOFT 365 PHONE SYSTEM +Microsoft Teams Phone Standard for Faculty,MCOEV_FACULTY,d979703c-028d-4de5-acbf-7955566b69b9,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,MICROSOFT 365 PHONE SYSTE +Microsoft Teams Phone Standard for GCC,MCOEV_GOV,a460366a-ade7-4791-b581-9fbff1bdaa85,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,EXCHANGE FOUNDATION FOR GOVERNMENT +Microsoft Teams Phone Standard for GCC,MCOEV_GOV,a460366a-ade7-4791-b581-9fbff1bdaa85,MCOEV_GOV,db23fce2-a974-42ef-9002-d78dd42a0f22,MICROSOFT 365 PHONE SYSTEM FOR GOVERNMENT +Microsoft Teams Phone Standard for GCCHIGH,MCOEV_GCCHIGH,7035277a-5e49-4abc-a24f-0ec49c501bb5,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,MICROSOFT 365 PHONE SYSTEM +Microsoft Teams Phone Standard for Small and Medium Business,MCOEVSMB_1,aa6791d3-bb09-4bc2-afed-c30c3fe26032,MCOEVSMB,ed777b71-af04-42ca-9798-84344c66f7c6,SKYPE FOR BUSINESS CLOUD PBX FOR SMALL AND MEDIUM BUSINESS +Microsoft Teams Phone Standard for Students,MCOEV_STUDENT,1f338bbc-767e-4a1e-a2d4-b73207cc5b93,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,MICROSOFT 365 PHONE SYSTEM +Microsoft Teams Phone Standard for TELSTRA,MCOEV_TELSTRA,ffaf2d68-1c95-4eb3-9ddd-59b81fba0f61,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,MICROSOFT 365 PHONE SYSTEM +Microsoft Teams Phone Standard_USGOV_DOD,MCOEV_USGOV_DOD,b0e7de67-e503-4934-b729-53d595ba5cd1,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,MICROSOFT 365 PHONE SYSTEM +Microsoft Teams Phone Standard_USGOV_GCCHIGH,MCOEV_USGOV_GCCHIGH,985fcb26-7b94-475b-b512-89356697be71,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,MICROSOFT 365 PHONE SYSTEM +Microsoft Teams Phone Resource Account,PHONESYSTEM_VIRTUALUSER,440eaaa8-b3e0-484b-a8be-62870b9ba70a,MCOEV_VIRTUALUSER,f47330e9-c134-43b3-9993-e7f004506889,Microsoft 365 Phone Standard Resource Account +Microsoft Teams Phone Resource Account for Faculty,PHONESYSTEM_VIRTUALUSER_FACULTY,0e142028-345e-45da-8d92-8bfd4093bbb9,MCOEV_VIRTUALUSER,f47330e9-c134-43b3-9993-e7f004506889,Microsoft 365 Phone Standard Resource Account +Microsoft Teams Phone Resource Account for GCC,PHONESYSTEM_VIRTUALUSER_GOV,2cf22bcb-0c9e-4bc6-8daf-7e7654c0f285,MCOEV_VIRTUALUSER_GOV,0628a73f-3b4a-4989-bd7b-0f8823144313,Microsoft 365 Phone Standard Resource Account for Government +Microsoft Teams Phone Resource Account_USGOV_GCCHIGH,PHONESYSTEM_VIRTUALUSER_USGOV_GCCHIGH ,e3f0522e-ebb7-4561-9f90-b44516d65b77,MCOEV_VIRTUALUSER,f47330e9-c134-43b3-9993-e7f004506889,Microsoft 365 Phone Standard Resource Account +Microsoft Teams Premium Introductory Pricing,Microsoft_Teams_Premium,36a0f3b3-adb5-49ea-bf66-762134cf063a,MICROSOFT_ECDN,85704d55-2e73-47ee-93b4-4b8ea14db92b,Microsoft eCDN +Microsoft Teams Premium Introductory Pricing,Microsoft_Teams_Premium,36a0f3b3-adb5-49ea-bf66-762134cf063a,TEAMSPRO_MGMT,0504111f-feb8-4a3c-992a-70280f9a2869,Microsoft Teams Premium Intelligent +Microsoft Teams Premium Introductory Pricing,Microsoft_Teams_Premium,36a0f3b3-adb5-49ea-bf66-762134cf063a,TEAMSPRO_CUST,cc8c0802-a325-43df-8cba-995d0c6cb373,Microsoft Teams Premium Personalized +Microsoft Teams Premium Introductory Pricing,Microsoft_Teams_Premium,36a0f3b3-adb5-49ea-bf66-762134cf063a,TEAMSPRO_PROTECTION,f8b44f54-18bb-46a3-9658-44ab58712968,Microsoft Teams Premium Secure +Microsoft Teams Premium Introductory Pricing,Microsoft_Teams_Premium,36a0f3b3-adb5-49ea-bf66-762134cf063a,TEAMSPRO_VIRTUALAPPT,9104f592-f2a7-4f77-904c-ca5a5715883f,Microsoft Teams Premium Virtual Appointment +Microsoft Teams Premium Introductory Pricing,Microsoft_Teams_Premium,36a0f3b3-adb5-49ea-bf66-762134cf063a,MCO_VIRTUAL_APPT,711413d0-b36e-4cd4-93db-0a50a4ab7ea3,Microsoft Teams Premium Virtual Appointments +Microsoft Teams Premium Introductory Pricing,Microsoft_Teams_Premium,36a0f3b3-adb5-49ea-bf66-762134cf063a,TEAMSPRO_WEBINAR,78b58230-ec7e-4309-913c-93a45cc4735b,Microsoft Teams Premium Webinar +Microsoft Teams Rooms Basic,Microsoft_Teams_Rooms_Basic,6af4b3d6-14bb-4a2a-960c-6c902aad34f3,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Microsoft Teams Rooms Basic,Microsoft_Teams_Rooms_Basic,6af4b3d6-14bb-4a2a-960c-6c902aad34f3,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft Teams Rooms Basic,Microsoft_Teams_Rooms_Basic,6af4b3d6-14bb-4a2a-960c-6c902aad34f3,Teams_Rooms_Basic,c8529366-cffd-4415-ab8f-be0144a33ab1,Teams Rooms Basic +Microsoft Teams Rooms Basic,Microsoft_Teams_Rooms_Basic,6af4b3d6-14bb-4a2a-960c-6c902aad34f3,Teams_Room_Basic,8081ca9c-188c-4b49-a8e5-c23b5e9463a8,Teams Rooms Test 1 +Microsoft Teams Rooms Basic,Microsoft_Teams_Rooms_Basic,6af4b3d6-14bb-4a2a-960c-6c902aad34f3,Teams_Room_Pro,ec17f317-f4bc-451e-b2da-0167e5c260f9,Teams Rooms Test 2 +Microsoft Teams Rooms Basic,Microsoft_Teams_Rooms_Basic,6af4b3d6-14bb-4a2a-960c-6c902aad34f3,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) +Microsoft Teams Rooms Basic for EDU,Microsoft_Teams_Rooms_Basic_FAC,a4e376bd-c61e-4618-9901-3fc0cb1b88bb,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Microsoft Teams Rooms Basic for EDU,Microsoft_Teams_Rooms_Basic_FAC,a4e376bd-c61e-4618-9901-3fc0cb1b88bb,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft Teams Rooms Basic for EDU,Microsoft_Teams_Rooms_Basic_FAC,a4e376bd-c61e-4618-9901-3fc0cb1b88bb,Teams_Rooms_Basic,c8529366-cffd-4415-ab8f-be0144a33ab1,Teams Rooms Basic +Microsoft Teams Rooms Basic for EDU,Microsoft_Teams_Rooms_Basic_FAC,a4e376bd-c61e-4618-9901-3fc0cb1b88bb,Teams_Room_Basic,8081ca9c-188c-4b49-a8e5-c23b5e9463a8,Teams Rooms Test 1 +Microsoft Teams Rooms Basic for EDU,Microsoft_Teams_Rooms_Basic_FAC,a4e376bd-c61e-4618-9901-3fc0cb1b88bb,Teams_Room_Pro,ec17f317-f4bc-451e-b2da-0167e5c260f9,Teams Rooms Test 2 +Microsoft Teams Rooms Basic for EDU,Microsoft_Teams_Rooms_Basic_FAC,a4e376bd-c61e-4618-9901-3fc0cb1b88bb,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) +Microsoft Teams Rooms Basic without Audio Conferencing,Microsoft_Teams_Rooms_Basic_without_Audio_Conferencing,50509a35-f0bd-4c5e-89ac-22f0e16a00f8,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft Teams Rooms Basic without Audio Conferencing,Microsoft_Teams_Rooms_Basic_without_Audio_Conferencing,50509a35-f0bd-4c5e-89ac-22f0e16a00f8,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) +Microsoft Teams Rooms Pro,Microsoft_Teams_Rooms_Pro,4cde982a-ede4-4409-9ae6-b003453c8ea6,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft Teams Rooms Pro,Microsoft_Teams_Rooms_Pro,4cde982a-ede4-4409-9ae6-b003453c8ea6,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Microsoft Teams Rooms Pro,Microsoft_Teams_Rooms_Pro,4cde982a-ede4-4409-9ae6-b003453c8ea6,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft Teams Rooms Pro,Microsoft_Teams_Rooms_Pro,4cde982a-ede4-4409-9ae6-b003453c8ea6,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune +Microsoft Teams Rooms Pro,Microsoft_Teams_Rooms_Pro,4cde982a-ede4-4409-9ae6-b003453c8ea6,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft Teams Rooms Pro,Microsoft_Teams_Rooms_Pro,4cde982a-ede4-4409-9ae6-b003453c8ea6,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft Teams Rooms Pro,Microsoft_Teams_Rooms_Pro,4cde982a-ede4-4409-9ae6-b003453c8ea6,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) +Microsoft Teams Rooms Pro for EDU,Microsoft_Teams_Rooms_Pro_FAC,c25e2b36-e161-4946-bef2-69239729f690,AAD_BASIC_EDU,1d0f309f-fdf9-4b2a-9ae7-9c48b91f1426,Microsoft Entra ID Basic for Education +Microsoft Teams Rooms Pro for EDU,Microsoft_Teams_Rooms_Pro_FAC,c25e2b36-e161-4946-bef2-69239729f690,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Microsoft Teams Rooms Pro for EDU,Microsoft_Teams_Rooms_Pro_FAC,c25e2b36-e161-4946-bef2-69239729f690,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft Teams Rooms Pro for EDU,Microsoft_Teams_Rooms_Pro_FAC,c25e2b36-e161-4946-bef2-69239729f690,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft Teams Rooms Pro for EDU,Microsoft_Teams_Rooms_Pro_FAC,c25e2b36-e161-4946-bef2-69239729f690,MTRProManagement,ecc74eae-eeb7-4ad5-9c88-e8b2bfca75b8,Microsoft Teams Rooms Pro Management +Microsoft Teams Rooms Pro for EDU,Microsoft_Teams_Rooms_Pro_FAC,c25e2b36-e161-4946-bef2-69239729f690,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft Teams Rooms Pro for EDU,Microsoft_Teams_Rooms_Pro_FAC,c25e2b36-e161-4946-bef2-69239729f690,Teams_Room_Basic,8081ca9c-188c-4b49-a8e5-c23b5e9463a8,Teams Rooms Test 1 +Microsoft Teams Rooms Pro for EDU,Microsoft_Teams_Rooms_Pro_FAC,c25e2b36-e161-4946-bef2-69239729f690,Teams_Room_Pro,ec17f317-f4bc-451e-b2da-0167e5c260f9,Teams Rooms Test 2 +Microsoft Teams Rooms Pro for EDU,Microsoft_Teams_Rooms_Pro_FAC,c25e2b36-e161-4946-bef2-69239729f690,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) +Microsoft Teams Rooms Pro for EDU,Microsoft_Teams_Rooms_Pro_FAC,c25e2b36-e161-4946-bef2-69239729f690,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,Microsoft Defender for Endpoint +Microsoft Teams Rooms Pro for EDU,Microsoft_Teams_Rooms_Pro_FAC,c25e2b36-e161-4946-bef2-69239729f690,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft Teams Rooms Pro for EDU,Microsoft_Teams_Rooms_Pro_FAC,c25e2b36-e161-4946-bef2-69239729f690,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 +Microsoft Teams Rooms Pro for GCC,Microsoft_Teams_Rooms_Pro_GCC,31ecb341-2a17-483e-9140-c473006d1e1a,MCOMEETADV_GOV,f544b08d-1645-4287-82de-8d91f37c02a1,Microsoft 365 Audio Conferencing for Government +Microsoft Teams Rooms Pro for GCC,Microsoft_Teams_Rooms_Pro_GCC,31ecb341-2a17-483e-9140-c473006d1e1a,MCOEV_GOV,db23fce2-a974-42ef-9002-d78dd42a0f22,Microsoft 365 Phone System for Government +Microsoft Teams Rooms Pro for GCC,Microsoft_Teams_Rooms_Pro_GCC,31ecb341-2a17-483e-9140-c473006d1e1a,TEAMS_GOV,304767db-7d23-49e8-a945-4a7eb65f9f28,Microsoft Teams for Government +Microsoft Teams Rooms Pro for GCC,Microsoft_Teams_Rooms_Pro_GCC,31ecb341-2a17-483e-9140-c473006d1e1a,MCOSTANDARD_GOV,a31ef4a2-f787-435e-8335-e47eb0cafc94,Skype for Business Online (Plan 2) for Government +Microsoft Teams Rooms Pro for GCC,Microsoft_Teams_Rooms_Pro_GCC,31ecb341-2a17-483e-9140-c473006d1e1a,Teams_Room_Basic,8081ca9c-188c-4b49-a8e5-c23b5e9463a8,Teams Rooms Test 1 +Microsoft Teams Rooms Pro for GCC,Microsoft_Teams_Rooms_Pro_GCC,31ecb341-2a17-483e-9140-c473006d1e1a,Teams_Room_Pro,ec17f317-f4bc-451e-b2da-0167e5c260f9,Teams Rooms Test 2 +Microsoft Teams Rooms Pro for GCC,Microsoft_Teams_Rooms_Pro_GCC,31ecb341-2a17-483e-9140-c473006d1e1a,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) +Microsoft Teams Rooms Pro for GCC,Microsoft_Teams_Rooms_Pro_GCC,31ecb341-2a17-483e-9140-c473006d1e1a,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,Microsoft Defender for Endpoint +Microsoft Teams Rooms Pro for GCC,Microsoft_Teams_Rooms_Pro_GCC,31ecb341-2a17-483e-9140-c473006d1e1a,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Azure Active Directory Premium P1 +Microsoft Teams Rooms Pro for GCC,Microsoft_Teams_Rooms_Pro_GCC,31ecb341-2a17-483e-9140-c473006d1e1a,INTUNE_A_GOV,d216f254-796f-4dab-bbfa-710686e646b9,Microsoft Intune G +Microsoft Teams Rooms Pro without Audio Conferencing,Microsoft_Teams_Rooms_Pro_without_Audio_Conferencing,21943e3a-2429-4f83-84c1-02735cd49e78,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft Teams Rooms Pro without Audio Conferencing,Microsoft_Teams_Rooms_Pro_without_Audio_Conferencing,21943e3a-2429-4f83-84c1-02735cd49e78,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft Teams Rooms Pro without Audio Conferencing,Microsoft_Teams_Rooms_Pro_without_Audio_Conferencing,21943e3a-2429-4f83-84c1-02735cd49e78,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune +Microsoft Teams Rooms Pro without Audio Conferencing,Microsoft_Teams_Rooms_Pro_without_Audio_Conferencing,21943e3a-2429-4f83-84c1-02735cd49e78,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft Teams Rooms Pro without Audio Conferencing,Microsoft_Teams_Rooms_Pro_without_Audio_Conferencing,21943e3a-2429-4f83-84c1-02735cd49e78,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft Teams Rooms Pro without Audio Conferencing,Microsoft_Teams_Rooms_Pro_without_Audio_Conferencing,21943e3a-2429-4f83-84c1-02735cd49e78,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) +Microsoft Teams Shared Devices,MCOCAP,295a8eb0-f78d-45c7-8b5b-1eed5ed02dff,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,MICROSOFT 365 PHONE SYSTEM +Microsoft Teams Shared Devices,MCOCAP,295a8eb0-f78d-45c7-8b5b-1eed5ed02dff,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,MICROSOFT TEAMS +Microsoft Teams Shared Devices,MCOCAP,295a8eb0-f78d-45c7-8b5b-1eed5ed02dff,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,SKYPE FOR BUSINESS ONLINE (PLAN 2) +Microsoft Teams Shared Devices,MCOCAP,295a8eb0-f78d-45c7-8b5b-1eed5ed02dff,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune +Microsoft Teams Shared Devices,MCOCAP,295a8eb0-f78d-45c7-8b5b-1eed5ed02dff,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft Teams Shared Devices,MCOCAP,295a8eb0-f78d-45c7-8b5b-1eed5ed02dff,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Microsoft Teams Shared Devices for Faculty,MCOCAP_FACULTY ,420c7602-7f70-4895-9394-d3d679ea36fb ,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Microsoft Teams Shared Devices for Faculty,MCOCAP_FACULTY ,420c7602-7f70-4895-9394-d3d679ea36fb ,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft Teams Shared Devices for Faculty,MCOCAP_FACULTY ,420c7602-7f70-4895-9394-d3d679ea36fb ,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft Teams Shared Devices for Faculty,MCOCAP_FACULTY ,420c7602-7f70-4895-9394-d3d679ea36fb ,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft Teams Shared Devices for Faculty,MCOCAP_FACULTY ,420c7602-7f70-4895-9394-d3d679ea36fb ,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft Teams Shared Devices for Faculty,MCOCAP_FACULTY ,420c7602-7f70-4895-9394-d3d679ea36fb ,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune Plan 1 +Microsoft Teams Shared Devices for Faculty,MCOCAP_FACULTY ,420c7602-7f70-4895-9394-d3d679ea36fb ,SPECIALTY_DEVICES,cfce7ae3-4b41-4438-999c-c0e91f3b7fb9,Specialty devices +Microsoft Teams Shared Devices for GCC,MCOCAP_GOV,b1511558-69bd-4e1b-8270-59ca96dba0f3,MCOEV_GOV,db23fce2-a974-42ef-9002-d78dd42a0f22,Microsoft 365 Phone System for Government +Microsoft Teams Shared Devices for GCC,MCOCAP_GOV,b1511558-69bd-4e1b-8270-59ca96dba0f3,TEAMS_GOV,304767db-7d23-49e8-a945-4a7eb65f9f28,Microsoft Teams for Government +Microsoft Teams Shared Devices for GCC,MCOCAP_GOV,b1511558-69bd-4e1b-8270-59ca96dba0f3,MCOSTANDARD_GOV,a31ef4a2-f787-435e-8335-e47eb0cafc94,Skype for Business Online (Plan 2) for Government +Microsoft Teams Shared Devices for GCC,MCOCAP_GOV,b1511558-69bd-4e1b-8270-59ca96dba0f3,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune +Microsoft Teams Shared Devices for GCC,MCOCAP_GOV,b1511558-69bd-4e1b-8270-59ca96dba0f3,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID P1 +Microsoft Teams Shared Devices for GCC,MCOCAP_GOV,b1511558-69bd-4e1b-8270-59ca96dba0f3,EXCHANGE_S_ENTERPRISE_GOV,8c3069c0-ccdb-44be-ab77-986203a67df2,Exchange Online (Plan 2) for Government +Microsoft Teams Rooms Standard,MEETING_ROOM,6070a4c8-34c6-4937-8dfb-39bbc6397a60,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Microsoft Entra ID Plan 1 +Microsoft Teams Rooms Standard,MEETING_ROOM,6070a4c8-34c6-4937-8dfb-39bbc6397a60,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Microsoft Teams Rooms Standard,MEETING_ROOM,6070a4c8-34c6-4937-8dfb-39bbc6397a60,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft Teams Rooms Standard,MEETING_ROOM,6070a4c8-34c6-4937-8dfb-39bbc6397a60,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft Teams Rooms Standard,MEETING_ROOM,6070a4c8-34c6-4937-8dfb-39bbc6397a60,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft Teams Rooms Standard,MEETING_ROOM,6070a4c8-34c6-4937-8dfb-39bbc6397a60,Teams_Room_Standard,92c6b761-01de-457a-9dd9-793a975238f7,Teams Room Standard +Microsoft Teams Rooms Standard,MEETING_ROOM,6070a4c8-34c6-4937-8dfb-39bbc6397a60,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) +Microsoft Teams Rooms Standard,MEETING_ROOM,6070a4c8-34c6-4937-8dfb-39bbc6397a60,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune +Microsoft Teams Rooms Standard without Audio Conferencing,MEETING_ROOM_NOAUDIOCONF,61bec411-e46a-4dab-8f46-8b58ec845ffe,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Microsoft Teams Rooms Standard without Audio Conferencing,MEETING_ROOM_NOAUDIOCONF,61bec411-e46a-4dab-8f46-8b58ec845ffe,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft Teams Rooms Standard without Audio Conferencing,MEETING_ROOM_NOAUDIOCONF,61bec411-e46a-4dab-8f46-8b58ec845ffe,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Microsoft Teams Rooms Standard without Audio Conferencing,MEETING_ROOM_NOAUDIOCONF,61bec411-e46a-4dab-8f46-8b58ec845ffe,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) +Microsoft Teams Rooms Standard without Audio Conferencing,MEETING_ROOM_NOAUDIOCONF,61bec411-e46a-4dab-8f46-8b58ec845ffe,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune +Microsoft Teams Rooms Standard for GCC,MEETING_ROOM_GOV,9571e9ac-2741-4b63-95fd-a79696f0d0ac,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Azure Active Directory Premium Plan 1 +Microsoft Teams Rooms Standard for GCC,MEETING_ROOM_GOV,9571e9ac-2741-4b63-95fd-a79696f0d0ac,MCOMEETADV_GOV,f544b08d-1645-4287-82de-8d91f37c02a1,Microsoft 365 Audio Conferencing for Government +Microsoft Teams Rooms Standard for GCC,MEETING_ROOM_GOV,9571e9ac-2741-4b63-95fd-a79696f0d0ac,MCOEV_GOV,db23fce2-a974-42ef-9002-d78dd42a0f22,Microsoft 365 Phone System for Government +Microsoft Teams Rooms Standard for GCC,MEETING_ROOM_GOV,9571e9ac-2741-4b63-95fd-a79696f0d0ac,TEAMS_GOV,304767db-7d23-49e8-a945-4a7eb65f9f28,Microsoft Teams for Government +Microsoft Teams Rooms Standard for GCC,MEETING_ROOM_GOV,9571e9ac-2741-4b63-95fd-a79696f0d0ac,MCOSTANDARD_GOV,a31ef4a2-f787-435e-8335-e47eb0cafc94,Skype for Business Online (Plan 2) for Government +Microsoft Teams Rooms Standard for GCC,MEETING_ROOM_GOV,9571e9ac-2741-4b63-95fd-a79696f0d0ac,Teams_Room_Standard,92c6b761-01de-457a-9dd9-793a975238f7,Teams Room Standard +Microsoft Teams Rooms Standard for GCC,MEETING_ROOM_GOV,9571e9ac-2741-4b63-95fd-a79696f0d0ac,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) +Microsoft Teams Rooms Standard for GCC,MEETING_ROOM_GOV,9571e9ac-2741-4b63-95fd-a79696f0d0ac,INTUNE_A_GOV,d216f254-796f-4dab-bbfa-710686e646b9,Microsoft Intune G +Microsoft Teams Rooms Standard for GCC without Audio Conferencing,MEETING_ROOM_GOV_NOAUDIOCONF,b4348f75-a776-4061-ac6c-36b9016b01d1,AAD_PREMIUM,41781fb2-bc02-4b7c-bd55-b576c07bb09d,Azure Active Directory Premium Plan 1 +Microsoft Teams Rooms Standard for GCC without Audio Conferencing,MEETING_ROOM_GOV_NOAUDIOCONF,b4348f75-a776-4061-ac6c-36b9016b01d1,MCOEV_GOV,db23fce2-a974-42ef-9002-d78dd42a0f22,Microsoft 365 Phone System for Government +Microsoft Teams Rooms Standard for GCC without Audio Conferencing,MEETING_ROOM_GOV_NOAUDIOCONF,b4348f75-a776-4061-ac6c-36b9016b01d1,TEAMS_GOV,304767db-7d23-49e8-a945-4a7eb65f9f28,Microsoft Teams for Government +Microsoft Teams Rooms Standard for GCC without Audio Conferencing,MEETING_ROOM_GOV_NOAUDIOCONF,b4348f75-a776-4061-ac6c-36b9016b01d1,MCOSTANDARD_GOV,a31ef4a2-f787-435e-8335-e47eb0cafc94,Skype for Business Online (Plan 2) for Government +Microsoft Teams Rooms Standard for GCC without Audio Conferencing,MEETING_ROOM_GOV_NOAUDIOCONF,b4348f75-a776-4061-ac6c-36b9016b01d1,Teams_Room_Standard,92c6b761-01de-457a-9dd9-793a975238f7,Teams Room Standard +Microsoft Teams Rooms Standard for GCC without Audio Conferencing,MEETING_ROOM_GOV_NOAUDIOCONF,b4348f75-a776-4061-ac6c-36b9016b01d1,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) +Microsoft Teams Rooms Standard for GCC without Audio Conferencing,MEETING_ROOM_GOV_NOAUDIOCONF,b4348f75-a776-4061-ac6c-36b9016b01d1,INTUNE_A_GOV,d216f254-796f-4dab-bbfa-710686e646b9,Microsoft Intune G +Microsoft Teams Trial,MS_TEAMS_IW,74fbf1bb-47c6-4796-9623-77dc7371723b,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Microsoft Teams Trial,MS_TEAMS_IW,74fbf1bb-47c6-4796-9623-77dc7371723b,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft Teams Trial,MS_TEAMS_IW,74fbf1bb-47c6-4796-9623-77dc7371723b,MCO_TEAMS_IW,42a3ec34-28ba-46b6-992f-db53a675ac5b,Microsoft Teams +Microsoft Teams Trial,MS_TEAMS_IW,74fbf1bb-47c6-4796-9623-77dc7371723b,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft Teams Trial,MS_TEAMS_IW,74fbf1bb-47c6-4796-9623-77dc7371723b,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Microsoft Teams Trial,MS_TEAMS_IW,74fbf1bb-47c6-4796-9623-77dc7371723b,POWERAPPS_O365_P1,92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c,Power Apps for Office 365 +Microsoft Teams Trial,MS_TEAMS_IW,74fbf1bb-47c6-4796-9623-77dc7371723b,FLOW_O365_P1,0f9b09cb-62d1-4ff4-9129-43f4996f83f4,Power Automate for Office 365 +Microsoft Teams Trial,MS_TEAMS_IW,74fbf1bb-47c6-4796-9623-77dc7371723b,SHAREPOINTDESKLESS,902b47e5-dcb2-4fdc-858b-c63a90a2bdb9,SharePoint Kiosk +Microsoft Teams Trial,MS_TEAMS_IW,74fbf1bb-47c6-4796-9623-77dc7371723b,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft Teams Trial,MS_TEAMS_IW,74fbf1bb-47c6-4796-9623-77dc7371723b,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Microsoft Threat Experts - Experts on Demand,EXPERTS_ON_DEMAND,9fa2f157-c8e4-4351-a3f2-ffa506da1406,EXPERTS_ON_DEMAND,b83a66d4-f05f-414d-ac0f-ea1c5239c42b,Microsoft Threat Experts - Experts on Demand +Microsoft Viva Goals,Microsoft_Viva_Goals,ba929637-f158-4dee-927c-eb7cdefcd955,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Microsoft Viva Goals,Microsoft_Viva_Goals,ba929637-f158-4dee-927c-eb7cdefcd955,Viva_Goals_Premium,b44c6eaf-5c9f-478c-8f16-8cea26353bfb,Viva Goals +Microsoft Viva Glint,Viva_Glint_Standalone,3dc7332d-f0fa-40a3-81d3-dd6b84469b78,Viva_Glint,6b270342-093e-4015-8c5c-224561532fbf,Viva Glint +Microsoft Viva Suite,VIVA,61902246-d7cb-453e-85cd-53ee28eec138,GRAPH_CONNECTORS_SEARCH_INDEX_TOPICEXP,b74d57b2-58e9-484a-9731-aeccbba954f0,Graph Connectors Search with Index (Microsoft Viva Topics) +Microsoft Viva Suite,VIVA,61902246-d7cb-453e-85cd-53ee28eec138,WORKPLACE_ANALYTICS_INSIGHTS_USER,b622badb-1b45-48d5-920f-4b27a2c0996c,Microsoft Viva Insights +Microsoft Viva Suite,VIVA,61902246-d7cb-453e-85cd-53ee28eec138,WORKPLACE_ANALYTICS_INSIGHTS_BACKEND,ff7b261f-d98b-415b-827c-42a3fdf015af,Microsoft Viva Insights Backend +Microsoft Viva Suite,VIVA,61902246-d7cb-453e-85cd-53ee28eec138,CORTEX,c815c93d-0759-4bb8-b857-bc921a71be83,Microsoft Viva Topics +Microsoft Viva Suite,VIVA,61902246-d7cb-453e-85cd-53ee28eec138,VIVAENGAGE_COMMUNITIES_AND_COMMUNICATIONS,43304c6a-1d4e-4e0b-9b06-5b2a2ff58a90,Viva Engage Communities and Communications +Microsoft Viva Suite,VIVA,61902246-d7cb-453e-85cd-53ee28eec138,VIVAENGAGE_KNOWLEDGE,c244cc9e-622f-4576-92ea-82e233e44e36,Viva Engage Knowledge +Microsoft Viva Suite,VIVA,61902246-d7cb-453e-85cd-53ee28eec138,Viva_Goals_Premium,b44c6eaf-5c9f-478c-8f16-8cea26353bfb,Viva Goals +Microsoft Viva Suite,VIVA,61902246-d7cb-453e-85cd-53ee28eec138,VIVA_LEARNING_PREMIUM,7162bd38-edae-4022-83a7-c5837f951759,Viva Learning +Minecraft Education Student,MEE_STUDENT,533b8f26-f74b-4e9c-9c59-50fc4b393b63,MINECRAFT_EDUCATION_EDITION,4c246bbc-f513-4311-beff-eba54c353256,Minecraft Education +Minecraft Education Student,MEE_STUDENT,533b8f26-f74b-4e9c-9c59-50fc4b393b63,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Minecraft Education Faculty,MEE_FACULTY,984df360-9a74-4647-8cf8-696749f6247a,MINECRAFT_EDUCATION_EDITION,4c246bbc-f513-4311-beff-eba54c353256,Minecraft Education +Minecraft Education Faculty,MEE_FACULTY,984df360-9a74-4647-8cf8-696749f6247a,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Multi-Geo Capabilities in Office 365,OFFICE365_MULTIGEO,84951599-62b7-46f3-9c9d-30551b2ad607,EXCHANGEONLINE_MULTIGEO,897d51f1-2cfa-4848-9b30-469149f5e68e,Exchange Online Multi-Geo +Multi-Geo Capabilities in Office 365,OFFICE365_MULTIGEO,84951599-62b7-46f3-9c9d-30551b2ad607,SHAREPOINTONLINE_MULTIGEO,735c1d98-dd3f-4818-b4ed-c8052e18e62d,SharePoint Multi-Geo +Multi-Geo Capabilities in Office 365,OFFICE365_MULTIGEO,84951599-62b7-46f3-9c9d-30551b2ad607,TEAMSMULTIGEO,41eda15d-6b52-453b-906f-bc4a5b25a26b,Teams Multi-Geo +Nonprofit Portal,NONPROFIT_PORTAL,aa2695c9-8d59-4800-9dc8-12e01f1735af,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Nonprofit Portal,NONPROFIT_PORTAL,aa2695c9-8d59-4800-9dc8-12e01f1735af,NONPROFIT_PORTAL,7dbc2d88-20e2-4eb6-b065-4510b38d6eb2,Nonprofit Portal +Office 365 A1 for faculty,STANDARDWOFFPACK_FACULTY,94763226-9b3c-4e75-a931-5c89701abe66,AAD_BASIC_EDU,1d0f309f-fdf9-4b2a-9ae7-9c48b91f1426,Microsoft Entra ID Basic for Education +Office 365 A1 for faculty,STANDARDWOFFPACK_FACULTY,94763226-9b3c-4e75-a931-5c89701abe66,DYN365_CDS_O365_P1,40b010bb-0b69-4654-ac5e-ba161433f4b4,Common Data Service - O365 P1 +Office 365 A1 for faculty,STANDARDWOFFPACK_FACULTY,94763226-9b3c-4e75-a931-5c89701abe66,EducationAnalyticsP1,a9b86446-fa4e-498f-a92a-41b447e03337,Education Analytics +Office 365 A1 for faculty,STANDARDWOFFPACK_FACULTY,94763226-9b3c-4e75-a931-5c89701abe66,EXCHANGE_S_STANDARD,9aaf7827-d63c-4b61-89c3-182f06f82e5c,Exchange Online (Plan 1) +Office 365 A1 for faculty,STANDARDWOFFPACK_FACULTY,94763226-9b3c-4e75-a931-5c89701abe66,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Office 365 A1 for faculty,STANDARDWOFFPACK_FACULTY,94763226-9b3c-4e75-a931-5c89701abe66,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Microsoft Microsoft Entra Rights +Office 365 A1 for faculty,STANDARDWOFFPACK_FACULTY,94763226-9b3c-4e75-a931-5c89701abe66,OFFICE_FORMS_PLAN_2,9b5de886-f035-4ff2-b3d8-c9127bea3620,Microsoft Forms (Plan 2) +Office 365 A1 for faculty,STANDARDWOFFPACK_FACULTY,94763226-9b3c-4e75-a931-5c89701abe66,KAIZALA_O365_P2,54fc630f-5a40-48ee-8965-af0503c1386e,Microsoft Kaizala Pro Plan 2 +Office 365 A1 for faculty,STANDARDWOFFPACK_FACULTY,94763226-9b3c-4e75-a931-5c89701abe66,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Office 365 A1 for faculty,STANDARDWOFFPACK_FACULTY,94763226-9b3c-4e75-a931-5c89701abe66,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Office 365 A1 for faculty,STANDARDWOFFPACK_FACULTY,94763226-9b3c-4e75-a931-5c89701abe66,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Office 365 A1 for faculty,STANDARDWOFFPACK_FACULTY,94763226-9b3c-4e75-a931-5c89701abe66,STREAM_O365_E3,9e700747-8b1d-45e5-ab8d-ef187ceec156,Microsoft Stream for Office 365 E3 +Office 365 A1 for faculty,STANDARDWOFFPACK_FACULTY,94763226-9b3c-4e75-a931-5c89701abe66,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Office 365 A1 for faculty,STANDARDWOFFPACK_FACULTY,94763226-9b3c-4e75-a931-5c89701abe66,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Office 365 A1 for faculty,STANDARDWOFFPACK_FACULTY,94763226-9b3c-4e75-a931-5c89701abe66,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Office 365 A1 for faculty,STANDARDWOFFPACK_FACULTY,94763226-9b3c-4e75-a931-5c89701abe66,SHAREPOINTWAC_EDU,e03c7e47-402c-463c-ab25-949079bedb21,Office for the Web for Education +Office 365 A1 for faculty,STANDARDWOFFPACK_FACULTY,94763226-9b3c-4e75-a931-5c89701abe66,OFFICEMOBILE_SUBSCRIPTION,c63d4d19-e8cb-460e-b37c-4d6c34603745,Office Mobile Apps for Office 365 +Office 365 A1 for faculty,STANDARDWOFFPACK_FACULTY,94763226-9b3c-4e75-a931-5c89701abe66,POWERAPPS_O365_P2,c68f8d98-5534-41c8-bf36-22fa496fa792,Power Apps for Office 365 +Office 365 A1 for faculty,STANDARDWOFFPACK_FACULTY,94763226-9b3c-4e75-a931-5c89701abe66,FLOW_O365_P2,76846ad7-7776-4c40-a281-a386362dd1b9,Power Automate for Office 365 +Office 365 A1 for faculty,STANDARDWOFFPACK_FACULTY,94763226-9b3c-4e75-a931-5c89701abe66,PROJECT_O365_P1,a55dfd10-0864-46d9-a3cd-da5991a3e0e2,Project for Office (Plan E1) +Office 365 A1 for faculty,STANDARDWOFFPACK_FACULTY,94763226-9b3c-4e75-a931-5c89701abe66,SCHOOL_DATA_SYNC_P1,c33802dd-1b50-4b9a-8bb9-f13d2cdeadac,School Data Sync (Plan 1) +Office 365 A1 for faculty,STANDARDWOFFPACK_FACULTY,94763226-9b3c-4e75-a931-5c89701abe66,SHAREPOINTSTANDARD_EDU,0a4983bb-d3e5-4a09-95d8-b2d0127b3df5,SharePoint (Plan 1) for Education +Office 365 A1 for faculty,STANDARDWOFFPACK_FACULTY,94763226-9b3c-4e75-a931-5c89701abe66,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Office 365 A1 for faculty,STANDARDWOFFPACK_FACULTY,94763226-9b3c-4e75-a931-5c89701abe66,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Office 365 A1 for faculty,STANDARDWOFFPACK_FACULTY,94763226-9b3c-4e75-a931-5c89701abe66,BPOS_S_TODO_2,c87f142c-d1e9-4363-8630-aaea9c4d9ae5,To-Do (Plan 2) +Office 365 A1 for faculty,STANDARDWOFFPACK_FACULTY,94763226-9b3c-4e75-a931-5c89701abe66,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Office 365 A1 for faculty,STANDARDWOFFPACK_FACULTY,94763226-9b3c-4e75-a931-5c89701abe66,WHITEBOARD_PLAN1,b8afc642-032e-4de5-8c0a-507a7bba7e5d,Whiteboard (Plan 1) +Office 365 A1 for faculty,STANDARDWOFFPACK_FACULTY,94763226-9b3c-4e75-a931-5c89701abe66,YAMMER_EDU,2078e8df-cff6-4290-98cb-5408261a760a,Yammer for Academic +Office 365 A1 Plus for faculty,STANDARDWOFFPACK_IW_FACULTY,78e66a63-337a-4a9a-8959-41c6654dfb56,AAD_BASIC_EDU,1d0f309f-fdf9-4b2a-9ae7-9c48b91f1426,Microsoft Entra ID Basic for Education +Office 365 A1 Plus for faculty,STANDARDWOFFPACK_IW_FACULTY,78e66a63-337a-4a9a-8959-41c6654dfb56,DYN365_CDS_O365_P1,40b010bb-0b69-4654-ac5e-ba161433f4b4,Common Data Service - O365 P1 +Office 365 A1 Plus for faculty,STANDARDWOFFPACK_IW_FACULTY,78e66a63-337a-4a9a-8959-41c6654dfb56,EducationAnalyticsP1,a9b86446-fa4e-498f-a92a-41b447e03337,Education Analytics +Office 365 A1 Plus for faculty,STANDARDWOFFPACK_IW_FACULTY,78e66a63-337a-4a9a-8959-41c6654dfb56,EXCHANGE_S_STANDARD,9aaf7827-d63c-4b61-89c3-182f06f82e5c,Exchange Online (Plan 1) +Office 365 A1 Plus for faculty,STANDARDWOFFPACK_IW_FACULTY,78e66a63-337a-4a9a-8959-41c6654dfb56,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Office 365 A1 Plus for faculty,STANDARDWOFFPACK_IW_FACULTY,78e66a63-337a-4a9a-8959-41c6654dfb56,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for Enterprise +Office 365 A1 Plus for faculty,STANDARDWOFFPACK_IW_FACULTY,78e66a63-337a-4a9a-8959-41c6654dfb56,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Microsoft Microsoft Entra Rights +Office 365 A1 Plus for faculty,STANDARDWOFFPACK_IW_FACULTY,78e66a63-337a-4a9a-8959-41c6654dfb56,OFFICE_FORMS_PLAN_2,9b5de886-f035-4ff2-b3d8-c9127bea3620,Microsoft Forms (Plan 2) +Office 365 A1 Plus for faculty,STANDARDWOFFPACK_IW_FACULTY,78e66a63-337a-4a9a-8959-41c6654dfb56,KAIZALA_O365_P2,54fc630f-5a40-48ee-8965-af0503c1386e,Microsoft Kaizala Pro Plan 2 +Office 365 A1 Plus for faculty,STANDARDWOFFPACK_IW_FACULTY,78e66a63-337a-4a9a-8959-41c6654dfb56,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Office 365 A1 Plus for faculty,STANDARDWOFFPACK_IW_FACULTY,78e66a63-337a-4a9a-8959-41c6654dfb56,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Office 365 A1 Plus for faculty,STANDARDWOFFPACK_IW_FACULTY,78e66a63-337a-4a9a-8959-41c6654dfb56,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Office 365 A1 Plus for faculty,STANDARDWOFFPACK_IW_FACULTY,78e66a63-337a-4a9a-8959-41c6654dfb56,STREAM_O365_E3,9e700747-8b1d-45e5-ab8d-ef187ceec156,Microsoft Stream for Office 365 E3 +Office 365 A1 Plus for faculty,STANDARDWOFFPACK_IW_FACULTY,78e66a63-337a-4a9a-8959-41c6654dfb56,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Office 365 A1 Plus for faculty,STANDARDWOFFPACK_IW_FACULTY,78e66a63-337a-4a9a-8959-41c6654dfb56,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Office 365 A1 Plus for faculty,STANDARDWOFFPACK_IW_FACULTY,78e66a63-337a-4a9a-8959-41c6654dfb56,SHAREPOINTWAC_EDU,e03c7e47-402c-463c-ab25-949079bedb21,Office for the Web for Education +Office 365 A1 Plus for faculty,STANDARDWOFFPACK_IW_FACULTY,78e66a63-337a-4a9a-8959-41c6654dfb56,POWERAPPS_O365_P2,c68f8d98-5534-41c8-bf36-22fa496fa792,Power Apps for Office 365 +Office 365 A1 Plus for faculty,STANDARDWOFFPACK_IW_FACULTY,78e66a63-337a-4a9a-8959-41c6654dfb56,FLOW_O365_P2,76846ad7-7776-4c40-a281-a386362dd1b9,Power Automate for Office 365 +Office 365 A1 Plus for faculty,STANDARDWOFFPACK_IW_FACULTY,78e66a63-337a-4a9a-8959-41c6654dfb56,PROJECT_O365_P1,a55dfd10-0864-46d9-a3cd-da5991a3e0e2,Project for Office (Plan E1) +Office 365 A1 Plus for faculty,STANDARDWOFFPACK_IW_FACULTY,78e66a63-337a-4a9a-8959-41c6654dfb56,SCHOOL_DATA_SYNC_P1,c33802dd-1b50-4b9a-8bb9-f13d2cdeadac,School Data Sync (Plan 1) +Office 365 A1 Plus for faculty,STANDARDWOFFPACK_IW_FACULTY,78e66a63-337a-4a9a-8959-41c6654dfb56,SHAREPOINTSTANDARD_EDU,0a4983bb-d3e5-4a09-95d8-b2d0127b3df5,SharePoint (Plan 1) for Education +Office 365 A1 Plus for faculty,STANDARDWOFFPACK_IW_FACULTY,78e66a63-337a-4a9a-8959-41c6654dfb56,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Office 365 A1 Plus for faculty,STANDARDWOFFPACK_IW_FACULTY,78e66a63-337a-4a9a-8959-41c6654dfb56,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Office 365 A1 Plus for faculty,STANDARDWOFFPACK_IW_FACULTY,78e66a63-337a-4a9a-8959-41c6654dfb56,BPOS_S_TODO_2,c87f142c-d1e9-4363-8630-aaea9c4d9ae5,To-Do (Plan 2) +Office 365 A1 Plus for faculty,STANDARDWOFFPACK_IW_FACULTY,78e66a63-337a-4a9a-8959-41c6654dfb56,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Office 365 A1 Plus for faculty,STANDARDWOFFPACK_IW_FACULTY,78e66a63-337a-4a9a-8959-41c6654dfb56,WHITEBOARD_PLAN1,b8afc642-032e-4de5-8c0a-507a7bba7e5d,Whiteboard (Plan 1) +Office 365 A1 Plus for faculty,STANDARDWOFFPACK_IW_FACULTY,78e66a63-337a-4a9a-8959-41c6654dfb56,YAMMER_EDU,2078e8df-cff6-4290-98cb-5408261a760a,Yammer for Academic +Office 365 A1 for students,STANDARDWOFFPACK_STUDENT,314c4481-f395-4525-be8b-2ec4bb1e9d91,AAD_BASIC_EDU,1d0f309f-fdf9-4b2a-9ae7-9c48b91f1426,Microsoft Entra ID Basic for Education +Office 365 A1 for students,STANDARDWOFFPACK_STUDENT,314c4481-f395-4525-be8b-2ec4bb1e9d91,DYN365_CDS_O365_P1,40b010bb-0b69-4654-ac5e-ba161433f4b4,Common Data Service - O365 P1 +Office 365 A1 for students,STANDARDWOFFPACK_STUDENT,314c4481-f395-4525-be8b-2ec4bb1e9d91,EducationAnalyticsP1,a9b86446-fa4e-498f-a92a-41b447e03337,Education Analytics +Office 365 A1 for students,STANDARDWOFFPACK_STUDENT,314c4481-f395-4525-be8b-2ec4bb1e9d91,EXCHANGE_S_STANDARD,9aaf7827-d63c-4b61-89c3-182f06f82e5c,Exchange Online (Plan 1) +Office 365 A1 for students,STANDARDWOFFPACK_STUDENT,314c4481-f395-4525-be8b-2ec4bb1e9d91,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Office 365 A1 for students,STANDARDWOFFPACK_STUDENT,314c4481-f395-4525-be8b-2ec4bb1e9d91,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Microsoft Microsoft Entra Rights +Office 365 A1 for students,STANDARDWOFFPACK_STUDENT,314c4481-f395-4525-be8b-2ec4bb1e9d91,OFFICE_FORMS_PLAN_2,9b5de886-f035-4ff2-b3d8-c9127bea3620,Microsoft Forms (Plan 2) +Office 365 A1 for students,STANDARDWOFFPACK_STUDENT,314c4481-f395-4525-be8b-2ec4bb1e9d91,KAIZALA_O365_P2,54fc630f-5a40-48ee-8965-af0503c1386e,Microsoft Kaizala Pro Plan 2 +Office 365 A1 for students,STANDARDWOFFPACK_STUDENT,314c4481-f395-4525-be8b-2ec4bb1e9d91,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Office 365 A1 for students,STANDARDWOFFPACK_STUDENT,314c4481-f395-4525-be8b-2ec4bb1e9d91,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Office 365 A1 for students,STANDARDWOFFPACK_STUDENT,314c4481-f395-4525-be8b-2ec4bb1e9d91,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Office 365 A1 for students,STANDARDWOFFPACK_STUDENT,314c4481-f395-4525-be8b-2ec4bb1e9d91,STREAM_O365_E3,9e700747-8b1d-45e5-ab8d-ef187ceec156,Microsoft Stream for Office 365 E3 +Office 365 A1 for students,STANDARDWOFFPACK_STUDENT,314c4481-f395-4525-be8b-2ec4bb1e9d91,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Office 365 A1 for students,STANDARDWOFFPACK_STUDENT,314c4481-f395-4525-be8b-2ec4bb1e9d91,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Office 365 A1 for students,STANDARDWOFFPACK_STUDENT,314c4481-f395-4525-be8b-2ec4bb1e9d91,SHAREPOINTWAC_EDU,e03c7e47-402c-463c-ab25-949079bedb21,Office for the Web for Education +Office 365 A1 for students,STANDARDWOFFPACK_STUDENT,314c4481-f395-4525-be8b-2ec4bb1e9d91,OFFICEMOBILE_SUBSCRIPTION,c63d4d19-e8cb-460e-b37c-4d6c34603745,Office Mobile Apps for Office 365 +Office 365 A1 for students,STANDARDWOFFPACK_STUDENT,314c4481-f395-4525-be8b-2ec4bb1e9d91,POWERAPPS_O365_P2,c68f8d98-5534-41c8-bf36-22fa496fa792,Power Apps for Office 365 +Office 365 A1 for students,STANDARDWOFFPACK_STUDENT,314c4481-f395-4525-be8b-2ec4bb1e9d91,FLOW_O365_P2,76846ad7-7776-4c40-a281-a386362dd1b9,Power Automate for Office 365 +Office 365 A1 for students,STANDARDWOFFPACK_STUDENT,314c4481-f395-4525-be8b-2ec4bb1e9d91,PROJECT_O365_P1,a55dfd10-0864-46d9-a3cd-da5991a3e0e2,Project for Office (Plan E1) +Office 365 A1 for students,STANDARDWOFFPACK_STUDENT,314c4481-f395-4525-be8b-2ec4bb1e9d91,SCHOOL_DATA_SYNC_P1,c33802dd-1b50-4b9a-8bb9-f13d2cdeadac,School Data Sync (Plan 1) +Office 365 A1 for students,STANDARDWOFFPACK_STUDENT,314c4481-f395-4525-be8b-2ec4bb1e9d91,SHAREPOINTSTANDARD_EDU,0a4983bb-d3e5-4a09-95d8-b2d0127b3df5,SharePoint (Plan 1) for Education +Office 365 A1 for students,STANDARDWOFFPACK_STUDENT,314c4481-f395-4525-be8b-2ec4bb1e9d91,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Office 365 A1 for students,STANDARDWOFFPACK_STUDENT,314c4481-f395-4525-be8b-2ec4bb1e9d91,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Office 365 A1 for students,STANDARDWOFFPACK_STUDENT,314c4481-f395-4525-be8b-2ec4bb1e9d91,BPOS_S_TODO_2,c87f142c-d1e9-4363-8630-aaea9c4d9ae5,To-Do (Plan 2) +Office 365 A1 for students,STANDARDWOFFPACK_STUDENT,314c4481-f395-4525-be8b-2ec4bb1e9d91,WHITEBOARD_PLAN1,b8afc642-032e-4de5-8c0a-507a7bba7e5d,Whiteboard (Plan 1) +Office 365 A1 for students,STANDARDWOFFPACK_STUDENT,314c4481-f395-4525-be8b-2ec4bb1e9d91,YAMMER_EDU,2078e8df-cff6-4290-98cb-5408261a760a,Yammer for Academic +Office 365 A1 Plus for students,STANDARDWOFFPACK_IW_STUDENT,e82ae690-a2d5-4d76-8d30-7c6e01e6022e,AAD_BASIC_EDU,1d0f309f-fdf9-4b2a-9ae7-9c48b91f1426,Microsoft Entra ID Basic for Education +Office 365 A1 Plus for students,STANDARDWOFFPACK_IW_STUDENT,e82ae690-a2d5-4d76-8d30-7c6e01e6022e,DYN365_CDS_O365_P1,40b010bb-0b69-4654-ac5e-ba161433f4b4,Common Data Service - O365 P1 +Office 365 A1 Plus for students,STANDARDWOFFPACK_IW_STUDENT,e82ae690-a2d5-4d76-8d30-7c6e01e6022e,EducationAnalyticsP1,a9b86446-fa4e-498f-a92a-41b447e03337,Education Analytics +Office 365 A1 Plus for students,STANDARDWOFFPACK_IW_STUDENT,e82ae690-a2d5-4d76-8d30-7c6e01e6022e,EXCHANGE_S_STANDARD,9aaf7827-d63c-4b61-89c3-182f06f82e5c,Exchange Online (Plan 1) +Office 365 A1 Plus for students,STANDARDWOFFPACK_IW_STUDENT,e82ae690-a2d5-4d76-8d30-7c6e01e6022e,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Office 365 A1 Plus for students,STANDARDWOFFPACK_IW_STUDENT,e82ae690-a2d5-4d76-8d30-7c6e01e6022e,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for Enterprise +Office 365 A1 Plus for students,STANDARDWOFFPACK_IW_STUDENT,e82ae690-a2d5-4d76-8d30-7c6e01e6022e,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Microsoft Microsoft Entra Rights +Office 365 A1 Plus for students,STANDARDWOFFPACK_IW_STUDENT,e82ae690-a2d5-4d76-8d30-7c6e01e6022e,OFFICE_FORMS_PLAN_2,9b5de886-f035-4ff2-b3d8-c9127bea3620,Microsoft Forms (Plan 2) +Office 365 A1 Plus for students,STANDARDWOFFPACK_IW_STUDENT,e82ae690-a2d5-4d76-8d30-7c6e01e6022e,KAIZALA_O365_P2,54fc630f-5a40-48ee-8965-af0503c1386e,Microsoft Kaizala Pro Plan 2 +Office 365 A1 Plus for students,STANDARDWOFFPACK_IW_STUDENT,e82ae690-a2d5-4d76-8d30-7c6e01e6022e,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Office 365 A1 Plus for students,STANDARDWOFFPACK_IW_STUDENT,e82ae690-a2d5-4d76-8d30-7c6e01e6022e,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Office 365 A1 Plus for students,STANDARDWOFFPACK_IW_STUDENT,e82ae690-a2d5-4d76-8d30-7c6e01e6022e,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Office 365 A1 Plus for students,STANDARDWOFFPACK_IW_STUDENT,e82ae690-a2d5-4d76-8d30-7c6e01e6022e,STREAM_O365_E3,9e700747-8b1d-45e5-ab8d-ef187ceec156,Microsoft Stream for Office 365 E3 +Office 365 A1 Plus for students,STANDARDWOFFPACK_IW_STUDENT,e82ae690-a2d5-4d76-8d30-7c6e01e6022e,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Office 365 A1 Plus for students,STANDARDWOFFPACK_IW_STUDENT,e82ae690-a2d5-4d76-8d30-7c6e01e6022e,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Office 365 A1 Plus for students,STANDARDWOFFPACK_IW_STUDENT,e82ae690-a2d5-4d76-8d30-7c6e01e6022e,SHAREPOINTWAC_EDU,e03c7e47-402c-463c-ab25-949079bedb21,Office for the Web for Education +Office 365 A1 Plus for students,STANDARDWOFFPACK_IW_STUDENT,e82ae690-a2d5-4d76-8d30-7c6e01e6022e,POWERAPPS_O365_P2,c68f8d98-5534-41c8-bf36-22fa496fa792,Power Apps for Office 365 +Office 365 A1 Plus for students,STANDARDWOFFPACK_IW_STUDENT,e82ae690-a2d5-4d76-8d30-7c6e01e6022e,FLOW_O365_P2,76846ad7-7776-4c40-a281-a386362dd1b9,Power Automate for Office 365 +Office 365 A1 Plus for students,STANDARDWOFFPACK_IW_STUDENT,e82ae690-a2d5-4d76-8d30-7c6e01e6022e,PROJECT_O365_P1,a55dfd10-0864-46d9-a3cd-da5991a3e0e2,Project for Office (Plan E1) +Office 365 A1 Plus for students,STANDARDWOFFPACK_IW_STUDENT,e82ae690-a2d5-4d76-8d30-7c6e01e6022e,SCHOOL_DATA_SYNC_P1,c33802dd-1b50-4b9a-8bb9-f13d2cdeadac,School Data Sync (Plan 1) +Office 365 A1 Plus for students,STANDARDWOFFPACK_IW_STUDENT,e82ae690-a2d5-4d76-8d30-7c6e01e6022e,SHAREPOINTSTANDARD_EDU,0a4983bb-d3e5-4a09-95d8-b2d0127b3df5,SharePoint (Plan 1) for Education +Office 365 A1 Plus for students,STANDARDWOFFPACK_IW_STUDENT,e82ae690-a2d5-4d76-8d30-7c6e01e6022e,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Office 365 A1 Plus for students,STANDARDWOFFPACK_IW_STUDENT,e82ae690-a2d5-4d76-8d30-7c6e01e6022e,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Office 365 A1 Plus for students,STANDARDWOFFPACK_IW_STUDENT,e82ae690-a2d5-4d76-8d30-7c6e01e6022e,BPOS_S_TODO_2,c87f142c-d1e9-4363-8630-aaea9c4d9ae5,To-Do (Plan 2) +Office 365 A1 Plus for students,STANDARDWOFFPACK_IW_STUDENT,e82ae690-a2d5-4d76-8d30-7c6e01e6022e,WHITEBOARD_PLAN1,b8afc642-032e-4de5-8c0a-507a7bba7e5d,Whiteboard (Plan 1) +Office 365 A1 Plus for students,STANDARDWOFFPACK_IW_STUDENT,e82ae690-a2d5-4d76-8d30-7c6e01e6022e,YAMMER_EDU,2078e8df-cff6-4290-98cb-5408261a760a,Yammer for Academic +Office 365 A3 for faculty,ENTERPRISEPACKPLUS_FACULTY,e578b273-6db4-4691-bba0-8d691f4da603,AAD_BASIC_EDU,1d0f309f-fdf9-4b2a-9ae7-9c48b91f1426,Microsoft Entra ID Basic for EDU +Office 365 A3 for faculty,ENTERPRISEPACKPLUS_FACULTY,e578b273-6db4-4691-bba0-8d691f4da603,DYN365_CDS_O365_P2,4ff01e01-1ba7-4d71-8cf8-ce96c3bbcf14,Common Data Service - O365 P2 +Office 365 A3 for faculty,ENTERPRISEPACKPLUS_FACULTY,e578b273-6db4-4691-bba0-8d691f4da603,CDS_O365_P2,95b76021-6a53-4741-ab8b-1d1f3d66a95a,Common Data Service for Teams_P2 +Office 365 A3 for faculty,ENTERPRISEPACKPLUS_FACULTY,e578b273-6db4-4691-bba0-8d691f4da603,EducationAnalyticsP1,a9b86446-fa4e-498f-a92a-41b447e03337,Education Analytics +Office 365 A3 for faculty,ENTERPRISEPACKPLUS_FACULTY,e578b273-6db4-4691-bba0-8d691f4da603,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Office 365 A3 for faculty,ENTERPRISEPACKPLUS_FACULTY,e578b273-6db4-4691-bba0-8d691f4da603,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Office 365 A3 for faculty,ENTERPRISEPACKPLUS_FACULTY,e578b273-6db4-4691-bba0-8d691f4da603,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Office 365 A3 for faculty,ENTERPRISEPACKPLUS_FACULTY,e578b273-6db4-4691-bba0-8d691f4da603,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise +Office 365 A3 for faculty,ENTERPRISEPACKPLUS_FACULTY,e578b273-6db4-4691-bba0-8d691f4da603,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Microsoft Microsoft Entra Rights +Office 365 A3 for faculty,ENTERPRISEPACKPLUS_FACULTY,e578b273-6db4-4691-bba0-8d691f4da603,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Office 365 A3 for faculty,ENTERPRISEPACKPLUS_FACULTY,e578b273-6db4-4691-bba0-8d691f4da603,OFFICE_FORMS_PLAN_2,9b5de886-f035-4ff2-b3d8-c9127bea3620,Microsoft Forms (Plan 2) +Office 365 A3 for faculty,ENTERPRISEPACKPLUS_FACULTY,e578b273-6db4-4691-bba0-8d691f4da603,KAIZALA_O365_P3,aebd3021-9f8f-4bf8-bbe3-0ed2f4f047a1,Microsoft Kaizala Pro Plan 3 +Office 365 A3 for faculty,ENTERPRISEPACKPLUS_FACULTY,e578b273-6db4-4691-bba0-8d691f4da603,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Office 365 A3 for faculty,ENTERPRISEPACKPLUS_FACULTY,e578b273-6db4-4691-bba0-8d691f4da603,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Office 365 A3 for faculty,ENTERPRISEPACKPLUS_FACULTY,e578b273-6db4-4691-bba0-8d691f4da603,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Office 365 A3 for faculty,ENTERPRISEPACKPLUS_FACULTY,e578b273-6db4-4691-bba0-8d691f4da603,STREAM_O365_E3,9e700747-8b1d-45e5-ab8d-ef187ceec156,Microsoft Stream for O365 E3 SKU +Office 365 A3 for faculty,ENTERPRISEPACKPLUS_FACULTY,e578b273-6db4-4691-bba0-8d691f4da603,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Office 365 A3 for faculty,ENTERPRISEPACKPLUS_FACULTY,e578b273-6db4-4691-bba0-8d691f4da603,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Office 365 A3 for faculty,ENTERPRISEPACKPLUS_FACULTY,e578b273-6db4-4691-bba0-8d691f4da603,ADALLOM_S_O365,8c098270-9dd4-4350-9b30-ba4703f3b36b,Office 365 Advanced Security Management +Office 365 A3 for faculty,ENTERPRISEPACKPLUS_FACULTY,e578b273-6db4-4691-bba0-8d691f4da603,SHAREPOINTWAC_EDU,e03c7e47-402c-463c-ab25-949079bedb21,Office for the web (Education) +Office 365 A3 for faculty,ENTERPRISEPACKPLUS_FACULTY,e578b273-6db4-4691-bba0-8d691f4da603,POWERAPPS_O365_P2,c68f8d98-5534-41c8-bf36-22fa496fa792,Power Apps for Office 365 +Office 365 A3 for faculty,ENTERPRISEPACKPLUS_FACULTY,e578b273-6db4-4691-bba0-8d691f4da603,FLOW_O365_P2,76846ad7-7776-4c40-a281-a386362dd1b9,Power Automate for Office 365 +Office 365 A3 for faculty,ENTERPRISEPACKPLUS_FACULTY,e578b273-6db4-4691-bba0-8d691f4da603,POWER_VIRTUAL_AGENTS_O365_P2,041fe683-03e4-45b6-b1af-c0cdc516daee,Power Virtual Agents for Office 365 P2 +Office 365 A3 for faculty,ENTERPRISEPACKPLUS_FACULTY,e578b273-6db4-4691-bba0-8d691f4da603,PROJECT_O365_P2,31b4e2fc-4cd6-4e7d-9c1b-41407303bd66,Project for Office (Plan E3) +Office 365 A3 for faculty,ENTERPRISEPACKPLUS_FACULTY,e578b273-6db4-4691-bba0-8d691f4da603,SCHOOL_DATA_SYNC_P2,500b6a2a-7a50-4f40-b5f9-160e5b8c2f48,School Data Sync (Plan 2) +Office 365 A3 for faculty,ENTERPRISEPACKPLUS_FACULTY,e578b273-6db4-4691-bba0-8d691f4da603,SHAREPOINTENTERPRISE_EDU,63038b2c-28d0-45f6-bc36-33062963b498,SharePoint Plan 2 for EDU +Office 365 A3 for faculty,ENTERPRISEPACKPLUS_FACULTY,e578b273-6db4-4691-bba0-8d691f4da603,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Office 365 A3 for faculty,ENTERPRISEPACKPLUS_FACULTY,e578b273-6db4-4691-bba0-8d691f4da603,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Office 365 A3 for faculty,ENTERPRISEPACKPLUS_FACULTY,e578b273-6db4-4691-bba0-8d691f4da603,BPOS_S_TODO_2,c87f142c-d1e9-4363-8630-aaea9c4d9ae5,To-Do (Plan 2) +Office 365 A3 for faculty,ENTERPRISEPACKPLUS_FACULTY,e578b273-6db4-4691-bba0-8d691f4da603,WHITEBOARD_PLAN2,94a54592-cd8b-425e-87c6-97868b000b91,Whiteboard (Plan 2) +Office 365 A3 for faculty,ENTERPRISEPACKPLUS_FACULTY,e578b273-6db4-4691-bba0-8d691f4da603,YAMMER_EDU,2078e8df-cff6-4290-98cb-5408261a760a,Yammer for Academic +Office 365 A3 for students,ENTERPRISEPACKPLUS_STUDENT,98b6e773-24d4-4c0d-a968-6e787a1f8204,AAD_BASIC_EDU,1d0f309f-fdf9-4b2a-9ae7-9c48b91f1426,Microsoft Entra ID Basic for Education +Office 365 A3 for students,ENTERPRISEPACKPLUS_STUDENT,98b6e773-24d4-4c0d-a968-6e787a1f8204,DYN365_CDS_O365_P2,4ff01e01-1ba7-4d71-8cf8-ce96c3bbcf14,Common Data Service - O365 P2 +Office 365 A3 for students,ENTERPRISEPACKPLUS_STUDENT,98b6e773-24d4-4c0d-a968-6e787a1f8204,CDS_O365_P2,95b76021-6a53-4741-ab8b-1d1f3d66a95a,Common Data Service for Teams_P2 +Office 365 A3 for students,ENTERPRISEPACKPLUS_STUDENT,98b6e773-24d4-4c0d-a968-6e787a1f8204,EducationAnalyticsP1,a9b86446-fa4e-498f-a92a-41b447e03337,Education Analytics +Office 365 A3 for students,ENTERPRISEPACKPLUS_STUDENT,98b6e773-24d4-4c0d-a968-6e787a1f8204,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Office 365 A3 for students,ENTERPRISEPACKPLUS_STUDENT,98b6e773-24d4-4c0d-a968-6e787a1f8204,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Office 365 A3 for students,ENTERPRISEPACKPLUS_STUDENT,98b6e773-24d4-4c0d-a968-6e787a1f8204,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Office 365 A3 for students,ENTERPRISEPACKPLUS_STUDENT,98b6e773-24d4-4c0d-a968-6e787a1f8204,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for Enterprise +Office 365 A3 for students,ENTERPRISEPACKPLUS_STUDENT,98b6e773-24d4-4c0d-a968-6e787a1f8204,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Microsoft Microsoft Entra Rights +Office 365 A3 for students,ENTERPRISEPACKPLUS_STUDENT,98b6e773-24d4-4c0d-a968-6e787a1f8204,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Office 365 A3 for students,ENTERPRISEPACKPLUS_STUDENT,98b6e773-24d4-4c0d-a968-6e787a1f8204,OFFICE_FORMS_PLAN_2,9b5de886-f035-4ff2-b3d8-c9127bea3620,Microsoft Forms (Plan 2) +Office 365 A3 for students,ENTERPRISEPACKPLUS_STUDENT,98b6e773-24d4-4c0d-a968-6e787a1f8204,KAIZALA_O365_P3,aebd3021-9f8f-4bf8-bbe3-0ed2f4f047a1,Microsoft Kaizala Pro Plan 3 +Office 365 A3 for students,ENTERPRISEPACKPLUS_STUDENT,98b6e773-24d4-4c0d-a968-6e787a1f8204,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Office 365 A3 for students,ENTERPRISEPACKPLUS_STUDENT,98b6e773-24d4-4c0d-a968-6e787a1f8204,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Office 365 A3 for students,ENTERPRISEPACKPLUS_STUDENT,98b6e773-24d4-4c0d-a968-6e787a1f8204,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Office 365 A3 for students,ENTERPRISEPACKPLUS_STUDENT,98b6e773-24d4-4c0d-a968-6e787a1f8204,STREAM_O365_E3,9e700747-8b1d-45e5-ab8d-ef187ceec156,Microsoft Stream for O365 E3 SKU +Office 365 A3 for students,ENTERPRISEPACKPLUS_STUDENT,98b6e773-24d4-4c0d-a968-6e787a1f8204,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Office 365 A3 for students,ENTERPRISEPACKPLUS_STUDENT,98b6e773-24d4-4c0d-a968-6e787a1f8204,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Office 365 A3 for students,ENTERPRISEPACKPLUS_STUDENT,98b6e773-24d4-4c0d-a968-6e787a1f8204,ADALLOM_S_O365,8c098270-9dd4-4350-9b30-ba4703f3b36b,Office 365 Advanced Security Management +Office 365 A3 for students,ENTERPRISEPACKPLUS_STUDENT,98b6e773-24d4-4c0d-a968-6e787a1f8204,SHAREPOINTWAC_EDU,e03c7e47-402c-463c-ab25-949079bedb21,Office for the Web for Education +Office 365 A3 for students,ENTERPRISEPACKPLUS_STUDENT,98b6e773-24d4-4c0d-a968-6e787a1f8204,POWERAPPS_O365_P2,c68f8d98-5534-41c8-bf36-22fa496fa792,Power Apps for Office 365 +Office 365 A3 for students,ENTERPRISEPACKPLUS_STUDENT,98b6e773-24d4-4c0d-a968-6e787a1f8204,FLOW_O365_P2,76846ad7-7776-4c40-a281-a386362dd1b9,Power Automate for Office 365 +Office 365 A3 for students,ENTERPRISEPACKPLUS_STUDENT,98b6e773-24d4-4c0d-a968-6e787a1f8204,POWER_VIRTUAL_AGENTS_O365_P2,041fe683-03e4-45b6-b1af-c0cdc516daee,Power Virtual Agents for Office 365 P2 +Office 365 A3 for students,ENTERPRISEPACKPLUS_STUDENT,98b6e773-24d4-4c0d-a968-6e787a1f8204,PROJECT_O365_P2,31b4e2fc-4cd6-4e7d-9c1b-41407303bd66,Project for Office (Plan E3) +Office 365 A3 for students,ENTERPRISEPACKPLUS_STUDENT,98b6e773-24d4-4c0d-a968-6e787a1f8204,SCHOOL_DATA_SYNC_P2,500b6a2a-7a50-4f40-b5f9-160e5b8c2f48,School Data Sync (Plan 2) +Office 365 A3 for students,ENTERPRISEPACKPLUS_STUDENT,98b6e773-24d4-4c0d-a968-6e787a1f8204,SHAREPOINTENTERPRISE_EDU,63038b2c-28d0-45f6-bc36-33062963b498,SharePoint (Plan 2) for Education +Office 365 A3 for students,ENTERPRISEPACKPLUS_STUDENT,98b6e773-24d4-4c0d-a968-6e787a1f8204,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Office 365 A3 for students,ENTERPRISEPACKPLUS_STUDENT,98b6e773-24d4-4c0d-a968-6e787a1f8204,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Office 365 A3 for students,ENTERPRISEPACKPLUS_STUDENT,98b6e773-24d4-4c0d-a968-6e787a1f8204,BPOS_S_TODO_2,c87f142c-d1e9-4363-8630-aaea9c4d9ae5,To-Do (Plan 2) +Office 365 A3 for students,ENTERPRISEPACKPLUS_STUDENT,98b6e773-24d4-4c0d-a968-6e787a1f8204,WHITEBOARD_PLAN2,94a54592-cd8b-425e-87c6-97868b000b91,Whiteboard (Plan 2) +Office 365 A3 for students,ENTERPRISEPACKPLUS_STUDENT,98b6e773-24d4-4c0d-a968-6e787a1f8204,YAMMER_EDU,2078e8df-cff6-4290-98cb-5408261a760a,Yammer for Academic +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,AAD_BASIC_EDU,1d0f309f-fdf9-4b2a-9ae7-9c48b91f1426,Microsoft Entra ID Basic for Education +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,CDS_O365_P3,afa73018-811e-46e9-988f-f75d2b1b8430,Common Data Service for Teams +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,EducationAnalyticsP1,a9b86446-fa4e-498f-a92a-41b447e03337,Education Analytics +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for Enterprise +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,Microsoft 365 Communication Compliance +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,MTP,bf28f719-7844-4079-9c78-c1307898e192,Microsoft 365 Defender +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,COMMUNICATIONS_DLP,6dc145d6-95dd-4191-b9c3-185575ee6f6b,Microsoft Communications DLP +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,CUSTOMER_KEY,6db1f1db-2b46-403f-be40-e39395f08dbb,Microsoft Customer Key +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,DATA_INVESTIGATIONS,46129a58-a698-46f0-aa5b-17f6586297d9,Microsoft Data Investigations +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,ATP_ENTERPRISE,f20fedf3-f3c3-43c3-8267-2bfdd51c0939,Microsoft Defender for Office 365 (Plan 1) +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,THREAT_INTELLIGENCE,8e0c0a52-6a6c-4d40-8370-dd62790dcd70,Microsoft Defender for Office 365 (Plan 2) +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,EXCEL_PREMIUM,531ee2f8-b1cb-453b-9c21-d2180d014ca5,Microsoft Excel Advanced Analytics +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,OFFICE_FORMS_PLAN_3,96c1e14a-ef43-418d-b115-9636cdaa8eed,Microsoft Forms (Plan 3) +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,INFO_GOVERNANCE,e26c2fcc-ab91-4a61-b35c-03cdc8dddf66,Microsoft Information Governance +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,KAIZALA_STANDALONE,0898bdbb-73b0-471a-81e5-20f1fe4dd66e,Microsoft Kaizala Pro +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,EXCHANGE_ANALYTICS,34c0d7a0-a70f-4668-9238-47f9fc208882,Microsoft MyAnalytics (Full) +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,RECORDS_MANAGEMENT,65cc641f-cccd-4643-97e0-a17e3045e541,Microsoft Records Management +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,STREAM_O365_E5,6c6042f5-6f01-4d67-b8c1-eb99d36eed3e,Microsoft Stream for Office 365 E5 +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,EQUIVIO_ANALYTICS,4de31727-a228-4ec3-a5bf-8e45b5ca48cc,Office 365 Advanced eDiscovery +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,ADALLOM_S_O365,8c098270-9dd4-4350-9b30-ba4703f3b36b,Office 365 Cloud App Security +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,PAM_ENTERPRISE,b1188c4c-1b36-4018-b48b-ee07604f6feb,Office 365 Privileged Access Management +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,SHAREPOINTWAC_EDU,e03c7e47-402c-463c-ab25-949079bedb21,Office for the Web for Education +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,POWERAPPS_O365_P3,9c0dab89-a30c-4117-86e7-97bda240acd2,Power Apps for Office 365 (Plan 3) +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,BI_AZURE_P2,70d33638-9c74-4d01-bfd3-562de28bd4ba,Power BI Pro +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,PREMIUM_ENCRYPTION,617b097b-4b93-4ede-83de-5f075bb5fb2f,Premium Encryption in Office 365 +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,PROJECT_O365_P3,b21a6b06-1988-436e-a07b-51ec6d9f52ad,Project for Office (Plan E5) +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,COMMUNICATIONS_COMPLIANCE,41fcdd7d-4733-4863-9cf4-c65b83ce2df4,RETIRED - Microsoft Communications Compliance +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,SCHOOL_DATA_SYNC_P2,500b6a2a-7a50-4f40-b5f9-160e5b8c2f48,School Data Sync (Plan 2) +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,SHAREPOINTENTERPRISE_EDU,63038b2c-28d0-45f6-bc36-33062963b498,SharePoint (Plan 2) for Education +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,BPOS_S_TODO_3,3fb82609-8c27-4f7b-bd51-30634711ee67,To-Do (Plan 3) +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,YAMMER_EDU,2078e8df-cff6-4290-98cb-5408261a760a,Yammer for Academic +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,DYN365_CDS_O365_P3,28b0fa46-c39a-4188-89e2-58e979a6b014,Common Data Service +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,FLOW_O365_P3,07699545-9485-468e-95b6-2fca3738be01,Power Automate for Office 365 +Office 365 A5 for faculty,ENTERPRISEPREMIUM_FACULTY,a4585165-0533-458a-97e3-c400570268c4,POWER_VIRTUAL_AGENTS_O365_P3,ded3d325-1bdc-453e-8432-5bac26d7a014,Power Virtual Agents for Office 365 +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,AAD_BASIC_EDU,1d0f309f-fdf9-4b2a-9ae7-9c48b91f1426,Microsoft Entra ID Basic for Education +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,CDS_O365_P3,afa73018-811e-46e9-988f-f75d2b1b8430,Common Data Service for Teams +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,EducationAnalyticsP1,a9b86446-fa4e-498f-a92a-41b447e03337,Education Analytics +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for Enterprise +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,Microsoft 365 Communication Compliance +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,MTP,bf28f719-7844-4079-9c78-c1307898e192,Microsoft 365 Defender +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,COMMUNICATIONS_DLP,6dc145d6-95dd-4191-b9c3-185575ee6f6b,Microsoft Communications DLP +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,CUSTOMER_KEY,6db1f1db-2b46-403f-be40-e39395f08dbb,Microsoft Customer Key +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,DATA_INVESTIGATIONS,46129a58-a698-46f0-aa5b-17f6586297d9,Microsoft Data Investigations +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,ATP_ENTERPRISE,f20fedf3-f3c3-43c3-8267-2bfdd51c0939,Microsoft Defender for Office 365 (Plan 1) +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,THREAT_INTELLIGENCE,8e0c0a52-6a6c-4d40-8370-dd62790dcd70,Microsoft Defender for Office 365 (Plan 2) +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,EXCEL_PREMIUM,531ee2f8-b1cb-453b-9c21-d2180d014ca5,Microsoft Excel Advanced Analytics +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,OFFICE_FORMS_PLAN_3,96c1e14a-ef43-418d-b115-9636cdaa8eed,Microsoft Forms (Plan 3) +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,INFO_GOVERNANCE,e26c2fcc-ab91-4a61-b35c-03cdc8dddf66,Microsoft Information Governance +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,KAIZALA_STANDALONE,0898bdbb-73b0-471a-81e5-20f1fe4dd66e,Microsoft Kaizala Pro +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,EXCHANGE_ANALYTICS,34c0d7a0-a70f-4668-9238-47f9fc208882,Microsoft MyAnalytics (Full) +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,RECORDS_MANAGEMENT,65cc641f-cccd-4643-97e0-a17e3045e541,Microsoft Records Management +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,STREAM_O365_E5,6c6042f5-6f01-4d67-b8c1-eb99d36eed3e,Microsoft Stream for Office 365 E5 +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,EQUIVIO_ANALYTICS,4de31727-a228-4ec3-a5bf-8e45b5ca48cc,Office 365 Advanced eDiscovery +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,ADALLOM_S_O365,8c098270-9dd4-4350-9b30-ba4703f3b36b,Office 365 Cloud App Security +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,PAM_ENTERPRISE,b1188c4c-1b36-4018-b48b-ee07604f6feb,Office 365 Privileged Access Management +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,SHAREPOINTWAC_EDU,e03c7e47-402c-463c-ab25-949079bedb21,Office for the Web for Education +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,POWERAPPS_O365_P3,9c0dab89-a30c-4117-86e7-97bda240acd2,Power Apps for Office 365 (Plan 3) +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,BI_AZURE_P2,70d33638-9c74-4d01-bfd3-562de28bd4ba,Power BI Pro +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,PREMIUM_ENCRYPTION,617b097b-4b93-4ede-83de-5f075bb5fb2f,Premium Encryption in Office 365 +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,PROJECT_O365_P3,b21a6b06-1988-436e-a07b-51ec6d9f52ad,Project for Office (Plan E5) +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,COMMUNICATIONS_COMPLIANCE,41fcdd7d-4733-4863-9cf4-c65b83ce2df4,RETIRED - Microsoft Communications Compliance +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,SCHOOL_DATA_SYNC_P2,500b6a2a-7a50-4f40-b5f9-160e5b8c2f48,School Data Sync (Plan 2) +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,SHAREPOINTENTERPRISE_EDU,63038b2c-28d0-45f6-bc36-33062963b498,SharePoint (Plan 2) for Education +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,BPOS_S_TODO_3,3fb82609-8c27-4f7b-bd51-30634711ee67,To-Do (Plan 3) +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,YAMMER_EDU,2078e8df-cff6-4290-98cb-5408261a760a,Yammer for Academic +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,DYN365_CDS_O365_P3,28b0fa46-c39a-4188-89e2-58e979a6b014,Common Data Service +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,FLOW_O365_P3,07699545-9485-468e-95b6-2fca3738be01,Power Automate for Office 365 +Office 365 A5 for students,ENTERPRISEPREMIUM_STUDENT,ee656612-49fa-43e5-b67e-cb1fdf7699df,POWER_VIRTUAL_AGENTS_O365_P3,ded3d325-1bdc-453e-8432-5bac26d7a014,Power Virtual Agents for Office 365 +Office 365 Advanced Compliance,EQUIVIO_ANALYTICS,1b1b1f7a-8355-43b6-829f-336cfccb744c,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox +Office 365 Advanced Compliance,EQUIVIO_ANALYTICS,1b1b1f7a-8355-43b6-829f-336cfccb744c,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Office 365 Advanced Compliance,EQUIVIO_ANALYTICS,1b1b1f7a-8355-43b6-829f-336cfccb744c,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium +Office 365 Advanced Compliance,EQUIVIO_ANALYTICS,1b1b1f7a-8355-43b6-829f-336cfccb744c,EQUIVIO_ANALYTICS,4de31727-a228-4ec3-a5bf-8e45b5ca48cc,Office 365 Advanced eDiscovery +Office 365 Advanced Compliance,EQUIVIO_ANALYTICS,1b1b1f7a-8355-43b6-829f-336cfccb744c,PAM_ENTERPRISE,b1188c4c-1b36-4018-b48b-ee07604f6feb,Office 365 Privileged Access Management +Office 365 Advanced Compliance,EQUIVIO_ANALYTICS,1b1b1f7a-8355-43b6-829f-336cfccb744c,PREMIUM_ENCRYPTION,617b097b-4b93-4ede-83de-5f075bb5fb2f,Premium Encryption in Office 365 +Office 365 Advanced Compliance for GCC,EQUIVIO_ANALYTICS_GOV,1a585bba-1ce3-416e-b1d6-9c482b52fcf6,LOCKBOX_ENTERPRISE_GOV,89b5d3b1-3855-49fe-b46c-87c66dbc1526,Customer Lockbox for Government +Office 365 Advanced Compliance for GCC,EQUIVIO_ANALYTICS_GOV,1a585bba-1ce3-416e-b1d6-9c482b52fcf6,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Office 365 Advanced Compliance for GCC,EQUIVIO_ANALYTICS_GOV,1a585bba-1ce3-416e-b1d6-9c482b52fcf6,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics -Premium +Office 365 Advanced Compliance for GCC,EQUIVIO_ANALYTICS_GOV,1a585bba-1ce3-416e-b1d6-9c482b52fcf6,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics - Standard +Office 365 Advanced Compliance for GCC,EQUIVIO_ANALYTICS_GOV,1a585bba-1ce3-416e-b1d6-9c482b52fcf6,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium +Office 365 Advanced Compliance for GCC,EQUIVIO_ANALYTICS_GOV,1a585bba-1ce3-416e-b1d6-9c482b52fcf6,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Office 365 Advanced Compliance for GCC,EQUIVIO_ANALYTICS_GOV,1a585bba-1ce3-416e-b1d6-9c482b52fcf6,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing +Office 365 Advanced Compliance for GCC,EQUIVIO_ANALYTICS_GOV,1a585bba-1ce3-416e-b1d6-9c482b52fcf6,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,Microsoft 365 Communication Compliance +Office 365 Advanced Compliance for GCC,EQUIVIO_ANALYTICS_GOV,1a585bba-1ce3-416e-b1d6-9c482b52fcf6,COMMUNICATIONS_DLP,6dc145d6-95dd-4191-b9c3-185575ee6f6b,Microsoft Communications DLP +Office 365 Advanced Compliance for GCC,EQUIVIO_ANALYTICS_GOV,1a585bba-1ce3-416e-b1d6-9c482b52fcf6,CUSTOMER_KEY,6db1f1db-2b46-403f-be40-e39395f08dbb,Microsoft Customer Key +Office 365 Advanced Compliance for GCC,EQUIVIO_ANALYTICS_GOV,1a585bba-1ce3-416e-b1d6-9c482b52fcf6,INFO_GOVERNANCE,e26c2fcc-ab91-4a61-b35c-03cdc8dddf66,Microsoft Information Governance +Office 365 Advanced Compliance for GCC,EQUIVIO_ANALYTICS_GOV,1a585bba-1ce3-416e-b1d6-9c482b52fcf6,RECORDS_MANAGEMENT,65cc641f-cccd-4643-97e0-a17e3045e541,Microsoft Records Management +Office 365 Advanced Compliance for GCC,EQUIVIO_ANALYTICS_GOV,1a585bba-1ce3-416e-b1d6-9c482b52fcf6,EQUIVIO_ANALYTICS_GOV,d1cbfb67-18a8-4792-b643-630b7f19aad1,Office 365 Advanced eDiscovery for Government +Office 365 Advanced Compliance for GCC,EQUIVIO_ANALYTICS_GOV,1a585bba-1ce3-416e-b1d6-9c482b52fcf6,PREMIUM_ENCRYPTION,617b097b-4b93-4ede-83de-5f075bb5fb2f,Premium Encryption in Office 365 +Microsoft Defender for Office 365 (Plan 1),ATP_ENTERPRISE,4ef96642-f096-40de-a3e9-d83fb2f90211,ATP_ENTERPRISE,f20fedf3-f3c3-43c3-8267-2bfdd51c0939,Microsoft Defender for Office 365 (Plan 1) +Office 365 Extra File Storage for GCC,SHAREPOINTSTORAGE_GOV,e5788282-6381-469f-84f0-3d7d4021d34d,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,EXCHANGE_S_FOUNDATION_GOV +Office 365 Extra File Storage for GCC,SHAREPOINTSTORAGE_GOV,e5788282-6381-469f-84f0-3d7d4021d34d,SHAREPOINTSTORAGE_GOV,e5bb877f-6ac9-4461-9e43-ca581543ab16,SHAREPOINTSTORAGE_GOV +Microsoft Teams Commercial Cloud,TEAMS_COMMERCIAL_TRIAL,29a2f828-8f39-4837-b8ff-c957e86abe3c,CDS_O365_P1,bed136c6-b799-4462-824d-fc045d3a9d25,Common Data Service for Teams_P1 +Microsoft Teams Commercial Cloud,TEAMS_COMMERCIAL_TRIAL,29a2f828-8f39-4837-b8ff-c957e86abe3c,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Microsoft Teams Commercial Cloud,TEAMS_COMMERCIAL_TRIAL,29a2f828-8f39-4837-b8ff-c957e86abe3c,FORMS_PLAN_E1,159f4cd6-e380-449f-a816-af1a9ef76344,Microsoft Forms (Plan E1) +Microsoft Teams Commercial Cloud,TEAMS_COMMERCIAL_TRIAL,29a2f828-8f39-4837-b8ff-c957e86abe3c,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Microsoft Teams Commercial Cloud,TEAMS_COMMERCIAL_TRIAL,29a2f828-8f39-4837-b8ff-c957e86abe3c,STREAM_O365_E1,743dd19e-1ce3-4c62-a3ad-49ba8f63a2f6,Microsoft Stream for O365 E1 SKU +Microsoft Teams Commercial Cloud,TEAMS_COMMERCIAL_TRIAL,29a2f828-8f39-4837-b8ff-c957e86abe3c,MCO_TEAMS_IW,42a3ec34-28ba-46b6-992f-db53a675ac5b,Microsoft Teams +Microsoft Teams Commercial Cloud,TEAMS_COMMERCIAL_TRIAL,29a2f828-8f39-4837-b8ff-c957e86abe3c,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Microsoft Teams Commercial Cloud,TEAMS_COMMERCIAL_TRIAL,29a2f828-8f39-4837-b8ff-c957e86abe3c,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the web +Microsoft Teams Commercial Cloud,TEAMS_COMMERCIAL_TRIAL,29a2f828-8f39-4837-b8ff-c957e86abe3c,POWERAPPS_O365_P1,92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c,Power Apps for Office 365 +Microsoft Teams Commercial Cloud,TEAMS_COMMERCIAL_TRIAL,29a2f828-8f39-4837-b8ff-c957e86abe3c,FLOW_O365_P1,0f9b09cb-62d1-4ff4-9129-43f4996f83f4,Power Automate for Office 365 +Microsoft Teams Commercial Cloud,TEAMS_COMMERCIAL_TRIAL,29a2f828-8f39-4837-b8ff-c957e86abe3c,POWER_VIRTUAL_AGENTS_O365_P1,0683001c-0492-4d59-9515-d9a6426b5813,Power Virtual Agents for Office 365 P1 +Microsoft Teams Commercial Cloud,TEAMS_COMMERCIAL_TRIAL,29a2f828-8f39-4837-b8ff-c957e86abe3c,SHAREPOINTDESKLESS,902b47e5-dcb2-4fdc-858b-c63a90a2bdb9,SharePoint Kiosk +Microsoft Teams Commercial Cloud,TEAMS_COMMERCIAL_TRIAL,29a2f828-8f39-4837-b8ff-c957e86abe3c,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Microsoft Teams Commercial Cloud,TEAMS_COMMERCIAL_TRIAL,29a2f828-8f39-4837-b8ff-c957e86abe3c,WHITEBOARD_PLAN1,b8afc642-032e-4de5-8c0a-507a7bba7e5d,Whiteboard (Plan 1) +Microsoft Teams Commercial Cloud,TEAMS_COMMERCIAL_TRIAL,29a2f828-8f39-4837-b8ff-c957e86abe3c,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Office 365 Cloud App Security,ADALLOM_O365,84d5f90f-cd0d-4864-b90b-1c7ba63b4808,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Office 365 Cloud App Security,ADALLOM_O365,84d5f90f-cd0d-4864-b90b-1c7ba63b4808,ADALLOM_S_O365,8c098270-9dd4-4350-9b30-ba4703f3b36b,Office 365 Advanced Security Management +Office 365 Extra File Storage,SHAREPOINTSTORAGE,99049c9c-6011-4908-bf17-15f496e6519d,SHAREPOINTSTORAGE,be5a7ed5-c598-4fcd-a061-5e6724c68a58,Office 365 Extra File Storage +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,MESH_AVATARS_FOR_TEAMS,dcf9d2f4-772e-4434-b757-77a453cfbc02,Avatars for Teams +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,CDS_O365_P1,bed136c6-b799-4462-824d-fc045d3a9d25,Common Data Service for Teams +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,EXCHANGE_S_STANDARD,9aaf7827-d63c-4b61-89c3-182f06f82e5c,Exchange Online (Plan 1) +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,MESH_IMMERSIVE_FOR_TEAMS,f0ff6ac6-297d-49cd-be34-6dfef97f0c28,Immersive spaces for Teams +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,FORMS_PLAN_E1,159f4cd6-e380-449f-a816-af1a9ef76344,Microsoft Forms (Plan E1) +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,KAIZALA_O365_P2,54fc630f-5a40-48ee-8965-af0503c1386e,Microsoft Kaizala Pro +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,OFFICEMOBILE_SUBSCRIPTION,c63d4d19-e8cb-460e-b37c-4d6c34603745,Office Mobile Apps for Office 365 +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,PROJECT_O365_P1,a55dfd10-0864-46d9-a3cd-da5991a3e0e2,Project for Office (Plan E1) +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,SHAREPOINTSTANDARD,c7699d2e-19aa-44de-8edf-1736da088ca1,SharePoint (Plan 1) +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,BPOS_S_TODO_1,5e62787c-c316-451f-b873-1d05acd4d12c,To-Do (Plan 1) +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,WHITEBOARD_PLAN1,b8afc642-032e-4de5-8c0a-507a7bba7e5d,Whiteboard (Plan 1) +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,DYN365_CDS_O365_P1,40b010bb-0b69-4654-ac5e-ba161433f4b4,Common Data Service +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,RMS_S_BASIC,31cf2cfc-6b0d-4adc-a336-88b724ed8122,Microsoft Azure Rights Management Service +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,STREAM_O365_E1,743dd19e-1ce3-4c62-a3ad-49ba8f63a2f6,Microsoft Stream for Office 365 E1 +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,POWERAPPS_O365_P1,92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c,Power Apps for Office 365 +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,FLOW_O365_P1,0f9b09cb-62d1-4ff4-9129-43f4996f83f4,Power Automate for Office 365 +Office 365 E1,STANDARDPACK,18181a46-0d4e-45cd-891e-60aabd171b4e,POWER_VIRTUAL_AGENTS_O365_P1,0683001c-0492-4d59-9515-d9a6426b5813,Power Virtual Agents for Office 365 +Office 365 E1 EEA (no Teams),Office_365_w/o_Teams_Bundle_E1,b57282e3-65bd-4252-9502-c0eae1e5ab7f,CDS_O365_P1,bed136c6-b799-4462-824d-fc045d3a9d25,Common Data Service for Teams +Office 365 E1 EEA (no Teams),Office_365_w/o_Teams_Bundle_E1,b57282e3-65bd-4252-9502-c0eae1e5ab7f,EXCHANGE_S_STANDARD,9aaf7827-d63c-4b61-89c3-182f06f82e5c,Exchange Online (Plan 1) +Office 365 E1 EEA (no Teams),Office_365_w/o_Teams_Bundle_E1,b57282e3-65bd-4252-9502-c0eae1e5ab7f,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Office 365 E1 EEA (no Teams),Office_365_w/o_Teams_Bundle_E1,b57282e3-65bd-4252-9502-c0eae1e5ab7f,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Office 365 E1 EEA (no Teams),Office_365_w/o_Teams_Bundle_E1,b57282e3-65bd-4252-9502-c0eae1e5ab7f,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Office 365 E1 EEA (no Teams),Office_365_w/o_Teams_Bundle_E1,b57282e3-65bd-4252-9502-c0eae1e5ab7f,FORMS_PLAN_E1,159f4cd6-e380-449f-a816-af1a9ef76344,Microsoft Forms (Plan E1) +Office 365 E1 EEA (no Teams),Office_365_w/o_Teams_Bundle_E1,b57282e3-65bd-4252-9502-c0eae1e5ab7f,KAIZALA_O365_P2,54fc630f-5a40-48ee-8965-af0503c1386e,Microsoft Kaizala Pro +Office 365 E1 EEA (no Teams),Office_365_w/o_Teams_Bundle_E1,b57282e3-65bd-4252-9502-c0eae1e5ab7f,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Office 365 E1 EEA (no Teams),Office_365_w/o_Teams_Bundle_E1,b57282e3-65bd-4252-9502-c0eae1e5ab7f,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Office 365 E1 EEA (no Teams),Office_365_w/o_Teams_Bundle_E1,b57282e3-65bd-4252-9502-c0eae1e5ab7f,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Office 365 E1 EEA (no Teams),Office_365_w/o_Teams_Bundle_E1,b57282e3-65bd-4252-9502-c0eae1e5ab7f,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Office 365 E1 EEA (no Teams),Office_365_w/o_Teams_Bundle_E1,b57282e3-65bd-4252-9502-c0eae1e5ab7f,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Office 365 E1 EEA (no Teams),Office_365_w/o_Teams_Bundle_E1,b57282e3-65bd-4252-9502-c0eae1e5ab7f,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Office 365 E1 EEA (no Teams),Office_365_w/o_Teams_Bundle_E1,b57282e3-65bd-4252-9502-c0eae1e5ab7f,OFFICEMOBILE_SUBSCRIPTION,c63d4d19-e8cb-460e-b37c-4d6c34603745,Office Mobile Apps for Office 365 +Office 365 E1 EEA (no Teams),Office_365_w/o_Teams_Bundle_E1,b57282e3-65bd-4252-9502-c0eae1e5ab7f,PROJECT_O365_P1,a55dfd10-0864-46d9-a3cd-da5991a3e0e2,Project for Office (Plan E1) +Office 365 E1 EEA (no Teams),Office_365_w/o_Teams_Bundle_E1,b57282e3-65bd-4252-9502-c0eae1e5ab7f,SHAREPOINTSTANDARD,c7699d2e-19aa-44de-8edf-1736da088ca1,SharePoint (Plan 1) +Office 365 E1 EEA (no Teams),Office_365_w/o_Teams_Bundle_E1,b57282e3-65bd-4252-9502-c0eae1e5ab7f,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Office 365 E1 EEA (no Teams),Office_365_w/o_Teams_Bundle_E1,b57282e3-65bd-4252-9502-c0eae1e5ab7f,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Office 365 E1 EEA (no Teams),Office_365_w/o_Teams_Bundle_E1,b57282e3-65bd-4252-9502-c0eae1e5ab7f,BPOS_S_TODO_1,5e62787c-c316-451f-b873-1d05acd4d12c,To-Do (Plan 1) +Office 365 E1 EEA (no Teams),Office_365_w/o_Teams_Bundle_E1,b57282e3-65bd-4252-9502-c0eae1e5ab7f,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core +Office 365 E1 EEA (no Teams),Office_365_w/o_Teams_Bundle_E1,b57282e3-65bd-4252-9502-c0eae1e5ab7f,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Office 365 E1 EEA (no Teams),Office_365_w/o_Teams_Bundle_E1,b57282e3-65bd-4252-9502-c0eae1e5ab7f,WHITEBOARD_PLAN1,b8afc642-032e-4de5-8c0a-507a7bba7e5d,Whiteboard (Plan 1) +Office 365 E1 EEA (no Teams),Office_365_w/o_Teams_Bundle_E1,b57282e3-65bd-4252-9502-c0eae1e5ab7f,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Office 365 E1 EEA (no Teams),Office_365_w/o_Teams_Bundle_E1,b57282e3-65bd-4252-9502-c0eae1e5ab7f,DYN365_CDS_O365_P1,40b010bb-0b69-4654-ac5e-ba161433f4b4,Common Data Service +Office 365 E1 EEA (no Teams),Office_365_w/o_Teams_Bundle_E1,b57282e3-65bd-4252-9502-c0eae1e5ab7f,RMS_S_BASIC,31cf2cfc-6b0d-4adc-a336-88b724ed8122,Microsoft Azure Rights Management Service +Office 365 E1 EEA (no Teams),Office_365_w/o_Teams_Bundle_E1,b57282e3-65bd-4252-9502-c0eae1e5ab7f,STREAM_O365_E1,743dd19e-1ce3-4c62-a3ad-49ba8f63a2f6,Microsoft Stream for Office 365 E1 +Office 365 E1 EEA (no Teams),Office_365_w/o_Teams_Bundle_E1,b57282e3-65bd-4252-9502-c0eae1e5ab7f,POWERAPPS_O365_P1,92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c,Power Apps for Office 365 +Office 365 E1 EEA (no Teams),Office_365_w/o_Teams_Bundle_E1,b57282e3-65bd-4252-9502-c0eae1e5ab7f,FLOW_O365_P1,0f9b09cb-62d1-4ff4-9129-43f4996f83f4,Power Automate for Office 365 +Office 365 E1 EEA (no Teams),Office_365_w/o_Teams_Bundle_E1,b57282e3-65bd-4252-9502-c0eae1e5ab7f,POWER_VIRTUAL_AGENTS_O365_P1,0683001c-0492-4d59-9515-d9a6426b5813,Power Virtual Agents for Office 365 +Office 365 E2,STANDARDWOFFPACK,6634e0ce-1a9f-428c-a498-f84ec7b8aa2e,BPOS_S_TODO_1,5e62787c-c316-451f-b873-1d05acd4d12c,BPOS_S_TODO_1 +Office 365 E2,STANDARDWOFFPACK,6634e0ce-1a9f-428c-a498-f84ec7b8aa2e,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,MICROSOFT STAFFHUB +Office 365 E2,STANDARDWOFFPACK,6634e0ce-1a9f-428c-a498-f84ec7b8aa2e,EXCHANGE_S_STANDARD,9aaf7827-d63c-4b61-89c3-182f06f82e5c,EXCHANGE ONLINE (PLAN 1) +Office 365 E2,STANDARDWOFFPACK,6634e0ce-1a9f-428c-a498-f84ec7b8aa2e,FLOW_O365_P1,0f9b09cb-62d1-4ff4-9129-43f4996f83f4,FLOW FOR OFFICE 365 +Office 365 E2,STANDARDWOFFPACK,6634e0ce-1a9f-428c-a498-f84ec7b8aa2e,FORMS_PLAN_E1,159f4cd6-e380-449f-a816-af1a9ef76344,MICROSOFT FORMS (PLAN E1) +Office 365 E2,STANDARDWOFFPACK,6634e0ce-1a9f-428c-a498-f84ec7b8aa2e,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,SKYPE FOR BUSINESS ONLINE (PLAN 2) +Office 365 E2,STANDARDWOFFPACK,6634e0ce-1a9f-428c-a498-f84ec7b8aa2e,POWERAPPS_O365_P1,92f7a6f3-b89b-4bbd-8c30-809e6da5ad1c,POWERAPPS FOR OFFICE 365 +Office 365 E2,STANDARDWOFFPACK,6634e0ce-1a9f-428c-a498-f84ec7b8aa2e,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,MICROSOFT PLANNE +Office 365 E2,STANDARDWOFFPACK,6634e0ce-1a9f-428c-a498-f84ec7b8aa2e,SHAREPOINTSTANDARD,c7699d2e-19aa-44de-8edf-1736da088ca1,SHAREPOINTSTANDARD +Office 365 E2,STANDARDWOFFPACK,6634e0ce-1a9f-428c-a498-f84ec7b8aa2e,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,OFFICE ONLINE +Office 365 E2,STANDARDWOFFPACK,6634e0ce-1a9f-428c-a498-f84ec7b8aa2e,STREAM_O365_E1,743dd19e-1ce3-4c62-a3ad-49ba8f63a2f6,MICROSOFT STREAM FOR O365 E1 SKU +Office 365 E2,STANDARDWOFFPACK,6634e0ce-1a9f-428c-a498-f84ec7b8aa2e,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,SWAY +Office 365 E2,STANDARDWOFFPACK,6634e0ce-1a9f-428c-a498-f84ec7b8aa2e,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,TEAMS1 +Office 365 E2,STANDARDWOFFPACK,6634e0ce-1a9f-428c-a498-f84ec7b8aa2e,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,YAMMER_ENTERPRISE +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,MESH_AVATARS_FOR_TEAMS,dcf9d2f4-772e-4434-b757-77a453cfbc02,Avatars for Teams +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,MESH_AVATARS_ADDITIONAL_FOR_TEAMS,3efbd4ed-8958-4824-8389-1321f8730af8,Avatars for Teams (additional) +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,Bing_Chat_Enterprise,0d0c0d31-fae7-41f2-b909-eaf4d7f26dba,Commercial data protection for Microsoft Copilot +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,CDS_O365_P2,95b76021-6a53-4741-ab8b-1d1f3d66a95a,Common Data Service for Teams +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,MESH_IMMERSIVE_FOR_TEAMS,f0ff6ac6-297d-49cd-be34-6dfef97f0c28,Immersive spaces for Teams +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for Enterprise +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,FORMS_PLAN_E3,2789c901-c14e-48ab-a76a-be334d9d793a,Microsoft Forms (Plan E3) +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,KAIZALA_O365_P3,aebd3021-9f8f-4bf8-bbe3-0ed2f4f047a1,Microsoft Kaizala Pro +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,STREAM_O365_E3,9e700747-8b1d-45e5-ab8d-ef187ceec156,Microsoft Stream for Office 365 E3 +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,PROJECT_O365_P2,31b4e2fc-4cd6-4e7d-9c1b-41407303bd66,Project for Office (Plan E3) +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,BPOS_S_TODO_2,c87f142c-d1e9-4363-8630-aaea9c4d9ae5,To-Do (Plan 2) +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,WHITEBOARD_PLAN2,94a54592-cd8b-425e-87c6-97868b000b91,Whiteboard (Plan 2) +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,DYN365_CDS_O365_P2,4ff01e01-1ba7-4d71-8cf8-ce96c3bbcf14,Common Data Service +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,POWERAPPS_O365_P2,c68f8d98-5534-41c8-bf36-22fa496fa792,Power Apps for Office 365 +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,FLOW_O365_P2,76846ad7-7776-4c40-a281-a386362dd1b9,Power Automate for Office 365 +Office 365 E3,ENTERPRISEPACK,6fd2c87f-b296-42f0-b197-1e91e994b900,POWER_VIRTUAL_AGENTS_O365_P2,041fe683-03e4-45b6-b1af-c0cdc516daee,Power Virtual Agents for Office 365 +Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,CDS_O365_P2,95b76021-6a53-4741-ab8b-1d1f3d66a95a,Common Data Service for Teams +Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard +Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise +Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,FORMS_PLAN_E3,2789c901-c14e-48ab-a76a-be334d9d793a,Microsoft Forms (Plan E3) +Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,KAIZALA_O365_P3,aebd3021-9f8f-4bf8-bbe3-0ed2f4f047a1,Microsoft Kaizala Pro +Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,PROJECT_O365_P2,31b4e2fc-4cd6-4e7d-9c1b-41407303bd66,Project for Office (Plan E3) +Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) +Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,BPOS_S_TODO_2,c87f142c-d1e9-4363-8630-aaea9c4d9ae5,To-Do (Plan 2) +Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core +Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,WHITEBOARD_PLAN2,94a54592-cd8b-425e-87c6-97868b000b91,Whiteboard (Plan 2) +Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,DYN365_CDS_O365_P2,4ff01e01-1ba7-4d71-8cf8-ce96c3bbcf14,Common Data Service +Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,STREAM_O365_E3,9e700747-8b1d-45e5-ab8d-ef187ceec156,Microsoft Stream for Office 365 E3 +Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,POWERAPPS_O365_P2,c68f8d98-5534-41c8-bf36-22fa496fa792,Power Apps for Office 365 +Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,FLOW_O365_P2,76846ad7-7776-4c40-a281-a386362dd1b9,Power Automate for Office 365 +Office 365 E3 EEA (no Teams),O365_w/o_Teams_Bundle_E3,d711d25a-a21c-492f-bd19-aae1e8ebaf30,POWER_VIRTUAL_AGENTS_O365_P2,041fe683-03e4-45b6-b1af-c0cdc516daee,Power Virtual Agents for Office 365 +Office 365 E3 Developer,DEVELOPERPACK,189a915c-fe4f-4ffa-bde4-85b9628d07a0,BPOS_S_TODO_3,3fb82609-8c27-4f7b-bd51-30634711ee67,BPOS_S_TODO_3 +Office 365 E3 Developer,DEVELOPERPACK,189a915c-fe4f-4ffa-bde4-85b9628d07a0,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,EXCHANGE ONLINE (PLAN 2) +Office 365 E3 Developer,DEVELOPERPACK,189a915c-fe4f-4ffa-bde4-85b9628d07a0,FLOW_O365_P2,76846ad7-7776-4c40-a281-a386362dd1b9,FLOW FOR OFFICE 365 +Office 365 E3 Developer,DEVELOPERPACK,189a915c-fe4f-4ffa-bde4-85b9628d07a0,FORMS_PLAN_E5,e212cbc7-0961-4c40-9825-01117710dcb1,MICROSOFT FORMS (PLAN E5) +Office 365 E3 Developer,DEVELOPERPACK,189a915c-fe4f-4ffa-bde4-85b9628d07a0,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,SKYPE FOR BUSINESS ONLINE (PLAN 2) +Office 365 E3 Developer,DEVELOPERPACK,189a915c-fe4f-4ffa-bde4-85b9628d07a0,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,OFFICESUBSCRIPTION +Office 365 E3 Developer,DEVELOPERPACK,189a915c-fe4f-4ffa-bde4-85b9628d07a0,POWERAPPS_O365_P2,c68f8d98-5534-41c8-bf36-22fa496fa792,POWERAPPS FOR OFFICE 36 +Office 365 E3 Developer,DEVELOPERPACK,189a915c-fe4f-4ffa-bde4-85b9628d07a0,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,MICROSOFT PLANNE +Office 365 E3 Developer,DEVELOPERPACK,189a915c-fe4f-4ffa-bde4-85b9628d07a0,SHAREPOINT_S_DEVELOPER,a361d6e2-509e-4e25-a8ad-950060064ef4,SHAREPOINT FOR DEVELOPER +Office 365 E3 Developer,DEVELOPERPACK,189a915c-fe4f-4ffa-bde4-85b9628d07a0,SHAREPOINTWAC_DEVELOPER,527f7cdd-0e86-4c47-b879-f5fd357a3ac6,OFFICE ONLINE FOR DEVELOPER +Office 365 E3 Developer,DEVELOPERPACK,189a915c-fe4f-4ffa-bde4-85b9628d07a0,STREAM_O365_E5,6c6042f5-6f01-4d67-b8c1-eb99d36eed3e,MICROSOFT STREAM FOR O365 E5 SKU +Office 365 E3 Developer,DEVELOPERPACK,189a915c-fe4f-4ffa-bde4-85b9628d07a0,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,SWAY +Office 365 E3 Developer,DEVELOPERPACK,189a915c-fe4f-4ffa-bde4-85b9628d07a0,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,TEAMS1 +Office 365 E3_USGOV_DOD,ENTERPRISEPACK_USGOV_DOD,b107e5a3-3e60-4c0d-a184-a7e4395eb44c,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Office 365 E3_USGOV_DOD,ENTERPRISEPACK_USGOV_DOD,b107e5a3-3e60-4c0d-a184-a7e4395eb44c,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Microsoft Microsoft Entra Rights +Office 365 E3_USGOV_DOD,ENTERPRISEPACK_USGOV_DOD,b107e5a3-3e60-4c0d-a184-a7e4395eb44c,STREAM_O365_E3,9e700747-8b1d-45e5-ab8d-ef187ceec156,Microsoft Stream for O365 E3 SKU +Office 365 E3_USGOV_DOD,ENTERPRISEPACK_USGOV_DOD,b107e5a3-3e60-4c0d-a184-a7e4395eb44c,TEAMS_AR_DOD,fd500458-c24c-478e-856c-a6067a8376cd,Microsoft Teams for DOD (AR) +Office 365 E3_USGOV_DOD,ENTERPRISEPACK_USGOV_DOD,b107e5a3-3e60-4c0d-a184-a7e4395eb44c,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Office 365 ProPlus +Office 365 E3_USGOV_DOD,ENTERPRISEPACK_USGOV_DOD,b107e5a3-3e60-4c0d-a184-a7e4395eb44c,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office Online +Office 365 E3_USGOV_DOD,ENTERPRISEPACK_USGOV_DOD,b107e5a3-3e60-4c0d-a184-a7e4395eb44c,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint Online (Plan 2) +Office 365 E3_USGOV_DOD,ENTERPRISEPACK_USGOV_DOD,b107e5a3-3e60-4c0d-a184-a7e4395eb44c,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Office 365 E3_USGOV_GCCHIGH,ENTERPRISEPACK_USGOV_GCCHIGH,aea38a85-9bd5-4981-aa00-616b411205bf,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Office 365 E3_USGOV_GCCHIGH,ENTERPRISEPACK_USGOV_GCCHIGH,aea38a85-9bd5-4981-aa00-616b411205bf,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Microsoft Microsoft Entra Rights +Office 365 E3_USGOV_GCCHIGH,ENTERPRISEPACK_USGOV_GCCHIGH,aea38a85-9bd5-4981-aa00-616b411205bf,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Office 365 E3_USGOV_GCCHIGH,ENTERPRISEPACK_USGOV_GCCHIGH,aea38a85-9bd5-4981-aa00-616b411205bf,STREAM_O365_E3,9e700747-8b1d-45e5-ab8d-ef187ceec156,Microsoft Stream for O365 E3 SKU +Office 365 E3_USGOV_GCCHIGH,ENTERPRISEPACK_USGOV_GCCHIGH,aea38a85-9bd5-4981-aa00-616b411205bf,TEAMS_AR_GCCHIGH,9953b155-8aef-4c56-92f3-72b0487fce41,Microsoft Teams for GCCHigh (AR) +Office 365 E3_USGOV_GCCHIGH,ENTERPRISEPACK_USGOV_GCCHIGH,aea38a85-9bd5-4981-aa00-616b411205bf,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Office 365 ProPlus +Office 365 E3_USGOV_GCCHIGH,ENTERPRISEPACK_USGOV_GCCHIGH,aea38a85-9bd5-4981-aa00-616b411205bf,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office Online +Office 365 E3_USGOV_GCCHIGH,ENTERPRISEPACK_USGOV_GCCHIGH,aea38a85-9bd5-4981-aa00-616b411205bf,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint Online (Plan 2) +Office 365 E3_USGOV_GCCHIGH,ENTERPRISEPACK_USGOV_GCCHIGH,aea38a85-9bd5-4981-aa00-616b411205bf,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Office 365 E4,ENTERPRISEWITHSCAL,1392051d-0cb9-4b7a-88d5-621fee5e8711,BPOS_S_TODO_2,c87f142c-d1e9-4363-8630-aaea9c4d9ae5,BPOS_S_TODO_2 +Office 365 E4,ENTERPRISEWITHSCAL,1392051d-0cb9-4b7a-88d5-621fee5e8711,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,MICROSOFT STAFFHUB +Office 365 E4,ENTERPRISEWITHSCAL,1392051d-0cb9-4b7a-88d5-621fee5e8711,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,EXCHANGE ONLINE (PLAN 2) +Office 365 E4,ENTERPRISEWITHSCAL,1392051d-0cb9-4b7a-88d5-621fee5e8711,FLOW_O365_P2,76846ad7-7776-4c40-a281-a386362dd1b9,FLOW FOR OFFICE 365 +Office 365 E4,ENTERPRISEWITHSCAL,1392051d-0cb9-4b7a-88d5-621fee5e8711,FORMS_PLAN_E3,2789c901-c14e-48ab-a76a-be334d9d793a,MICROSOFT FORMS (PLAN E3) +Office 365 E4,ENTERPRISEWITHSCAL,1392051d-0cb9-4b7a-88d5-621fee5e8711,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,SKYPE FOR BUSINESS ONLINE (PLAN 2) +Office 365 E4,ENTERPRISEWITHSCAL,1392051d-0cb9-4b7a-88d5-621fee5e8711,MCOVOICECONF,27216c54-caf8-4d0d-97e2-517afb5c08f6,SKYPE FOR BUSINESS ONLINE (PLAN 3) +Office 365 E4,ENTERPRISEWITHSCAL,1392051d-0cb9-4b7a-88d5-621fee5e8711,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,OFFICESUBSCRIPTION +Office 365 E4,ENTERPRISEWITHSCAL,1392051d-0cb9-4b7a-88d5-621fee5e8711,POWERAPPS_O365_P2,c68f8d98-5534-41c8-bf36-22fa496fa792,POWERAPPS FOR OFFICE 36 +Office 365 E4,ENTERPRISEWITHSCAL,1392051d-0cb9-4b7a-88d5-621fee5e8711,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,MICROSOFT PLANNE +Office 365 E4,ENTERPRISEWITHSCAL,1392051d-0cb9-4b7a-88d5-621fee5e8711,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,MICROSOFT Microsoft Entra RIGHTS +Office 365 E4,ENTERPRISEWITHSCAL,1392051d-0cb9-4b7a-88d5-621fee5e8711,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SHAREPOINT ONLINE (PLAN 2) +Office 365 E4,ENTERPRISEWITHSCAL,1392051d-0cb9-4b7a-88d5-621fee5e8711,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,OFFICE ONLINE +Office 365 E4,ENTERPRISEWITHSCAL,1392051d-0cb9-4b7a-88d5-621fee5e8711,STREAM_O365_E3,9e700747-8b1d-45e5-ab8d-ef187ceec156,MICROSOFT STREAM FOR O365 E3 SKU +Office 365 E4,ENTERPRISEWITHSCAL,1392051d-0cb9-4b7a-88d5-621fee5e8711,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,SWAY +Office 365 E4,ENTERPRISEWITHSCAL,1392051d-0cb9-4b7a-88d5-621fee5e8711,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,TEAMS1 +Office 365 E4,ENTERPRISEWITHSCAL,1392051d-0cb9-4b7a-88d5-621fee5e8711,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,YAMMER_ENTERPRISE +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,DYN365_CDS_O365_P3,28b0fa46-c39a-4188-89e2-58e979a6b014,Common Data Service - O365 P3 +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,CDS_O365_P3,afa73018-811e-46e9-988f-f75d2b1b8430,Common Data Service for Teams_P3 +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics - Standard +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,M365 Communication Compliance +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,MTP,bf28f719-7844-4079-9c78-c1307898e192,Microsoft 365 Defender +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Microsoft Microsoft Entra Rights +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,COMMUNICATIONS_DLP,6dc145d6-95dd-4191-b9c3-185575ee6f6b,Microsoft Communications DLP +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,CUSTOMER_KEY,6db1f1db-2b46-403f-be40-e39395f08dbb,Microsoft Customer Key +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,DATA_INVESTIGATIONS,46129a58-a698-46f0-aa5b-17f6586297d9,Microsoft Data Investigations +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,ATP_ENTERPRISE,f20fedf3-f3c3-43c3-8267-2bfdd51c0939,Microsoft Defender for Office 365 (Plan 1) +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,THREAT_INTELLIGENCE,8e0c0a52-6a6c-4d40-8370-dd62790dcd70,Microsoft Defender for Office 365 (Plan 2) +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,EXCEL_PREMIUM,531ee2f8-b1cb-453b-9c21-d2180d014ca5,Microsoft Excel Advanced Analytics +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,FORMS_PLAN_E5,e212cbc7-0961-4c40-9825-01117710dcb1,Microsoft Forms (Plan E5) +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,INFO_GOVERNANCE,e26c2fcc-ab91-4a61-b35c-03cdc8dddf66,Microsoft Information Governance +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,KAIZALA_STANDALONE,0898bdbb-73b0-471a-81e5-20f1fe4dd66e,Microsoft Kaizala +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,EXCHANGE_ANALYTICS,34c0d7a0-a70f-4668-9238-47f9fc208882,Microsoft MyAnalytics (Full) +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,RECORDS_MANAGEMENT,65cc641f-cccd-4643-97e0-a17e3045e541,Microsoft Records Management +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,STREAM_O365_E5,6c6042f5-6f01-4d67-b8c1-eb99d36eed3e,Microsoft Stream for O365 E5 SKU +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,EQUIVIO_ANALYTICS,4de31727-a228-4ec3-a5bf-8e45b5ca48cc,Office 365 Advanced eDiscovery +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,ADALLOM_S_O365,8c098270-9dd4-4350-9b30-ba4703f3b36b,Office 365 Advanced Security Management +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,PAM_ENTERPRISE,b1188c4c-1b36-4018-b48b-ee07604f6feb,Office 365 Privileged Access Management +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the web +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,FLOW_O365_P3,07699545-9485-468e-95b6-2fca3738be01,Power Automate for Office 365 +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,BI_AZURE_P2,70d33638-9c74-4d01-bfd3-562de28bd4ba,Power BI Pro +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,POWER_VIRTUAL_AGENTS_O365_P3,ded3d325-1bdc-453e-8432-5bac26d7a014,Power Virtual Agents for Office 365 P3 +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,POWERAPPS_O365_P3,9c0dab89-a30c-4117-86e7-97bda240acd2,PowerApps for Office 365 Plan 3 +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,PREMIUM_ENCRYPTION,617b097b-4b93-4ede-83de-5f075bb5fb2f,Premium Encryption in Office 365 +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,PROJECT_O365_P3,b21a6b06-1988-436e-a07b-51ec6d9f52ad,Project for Office (Plan E5) +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,COMMUNICATIONS_COMPLIANCE,41fcdd7d-4733-4863-9cf4-c65b83ce2df4,Microsoft Communications Compliance +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,BPOS_S_TODO_3,3fb82609-8c27-4f7b-bd51-30634711ee67,To-Do (Plan 3) +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) +Office 365 E5,ENTERPRISEPREMIUM,c7df2760-2c81-4ef7-b578-5b5392b571df,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,CDS_O365_P3,afa73018-811e-46e9-988f-f75d2b1b8430,Common Data Service for Teams +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,CustomerLockboxA_Enterprise,3ec18638-bd4c-4d3b-8905-479ed636b83e,Customer Lockbox (A) +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,Microsoft 365 Communication Compliance +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,MTP,bf28f719-7844-4079-9c78-c1307898e192,Microsoft 365 Defender +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,COMMUNICATIONS_DLP,6dc145d6-95dd-4191-b9c3-185575ee6f6b,Microsoft Communications DLP +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,CUSTOMER_KEY,6db1f1db-2b46-403f-be40-e39395f08dbb,Microsoft Customer Key +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,DATA_INVESTIGATIONS,46129a58-a698-46f0-aa5b-17f6586297d9,Microsoft Data Investigations +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,ATP_ENTERPRISE,f20fedf3-f3c3-43c3-8267-2bfdd51c0939,Microsoft Defender for Office 365 (Plan 1) +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,THREAT_INTELLIGENCE,8e0c0a52-6a6c-4d40-8370-dd62790dcd70,Microsoft Defender for Office 365 (Plan 2) +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,EXCEL_PREMIUM,531ee2f8-b1cb-453b-9c21-d2180d014ca5,Microsoft Excel Advanced Analytics +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,FORMS_PLAN_E5,e212cbc7-0961-4c40-9825-01117710dcb1,Microsoft Forms (Plan E5) +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,INFO_GOVERNANCE,e26c2fcc-ab91-4a61-b35c-03cdc8dddf66,Microsoft Information Governance +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,KAIZALA_STANDALONE,0898bdbb-73b0-471a-81e5-20f1fe4dd66e,Microsoft Kaizala Pro +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,EXCHANGE_ANALYTICS,34c0d7a0-a70f-4668-9238-47f9fc208882,Microsoft MyAnalytics (Full) +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,RECORDS_MANAGEMENT,65cc641f-cccd-4643-97e0-a17e3045e541,Microsoft Records Management +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,EQUIVIO_ANALYTICS,4de31727-a228-4ec3-a5bf-8e45b5ca48cc,Office 365 Advanced eDiscovery +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,ADALLOM_S_O365,8c098270-9dd4-4350-9b30-ba4703f3b36b,Office 365 Cloud App Security +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,PAM_ENTERPRISE,b1188c4c-1b36-4018-b48b-ee07604f6feb,Office 365 Privileged Access Management +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,POWERAPPS_O365_P3,9c0dab89-a30c-4117-86e7-97bda240acd2,Power Apps for Office 365 (Plan 3) +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,PREMIUM_ENCRYPTION,617b097b-4b93-4ede-83de-5f075bb5fb2f,Premium Encryption in Office 365 +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,PROJECT_O365_P3,b21a6b06-1988-436e-a07b-51ec6d9f52ad,Project for Office (Plan E5) +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,COMMUNICATIONS_COMPLIANCE,41fcdd7d-4733-4863-9cf4-c65b83ce2df4,RETIRED - Microsoft Communications Compliance +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,BPOS_S_TODO_3,3fb82609-8c27-4f7b-bd51-30634711ee67,To-Do (Plan 3) +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,DYN365_CDS_O365_P3,28b0fa46-c39a-4188-89e2-58e979a6b014,Common Data Service +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,STREAM_O365_E5,6c6042f5-6f01-4d67-b8c1-eb99d36eed3e,Microsoft Stream for Office 365 E5 +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,FLOW_O365_P3,07699545-9485-468e-95b6-2fca3738be01,Power Automate for Office 365 +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,BI_AZURE_P2,70d33638-9c74-4d01-bfd3-562de28bd4ba,Power BI Pro +Office 365 E5 EEA (no Teams),Office_365_w/o_Teams_Bundle_E5,cf50bae9-29e8-4775-b07c-56ee10e3776d,POWER_VIRTUAL_AGENTS_O365_P3,ded3d325-1bdc-453e-8432-5bac26d7a014,Power Virtual Agents for Office 365 +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,CDS_O365_P3,afa73018-811e-46e9-988f-f75d2b1b8430,Common Data Service for Teams +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,CustomerLockboxA_Enterprise,3ec18638-bd4c-4d3b-8905-479ed636b83e,Customer Lockbox (A) +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for enterprise +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,Microsoft 365 Communication Compliance +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,MTP,bf28f719-7844-4079-9c78-c1307898e192,Microsoft 365 Defender +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,COMMUNICATIONS_DLP,6dc145d6-95dd-4191-b9c3-185575ee6f6b,Microsoft Communications DLP +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,CUSTOMER_KEY,6db1f1db-2b46-403f-be40-e39395f08dbb,Microsoft Customer Key +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,DATA_INVESTIGATIONS,46129a58-a698-46f0-aa5b-17f6586297d9,Microsoft Data Investigations +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,ATP_ENTERPRISE,f20fedf3-f3c3-43c3-8267-2bfdd51c0939,Microsoft Defender for Office 365 (Plan 1) +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,THREAT_INTELLIGENCE,8e0c0a52-6a6c-4d40-8370-dd62790dcd70,Microsoft Defender for Office 365 (Plan 2) +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,EXCEL_PREMIUM,531ee2f8-b1cb-453b-9c21-d2180d014ca5,Microsoft Excel Advanced Analytics +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,FORMS_PLAN_E5,e212cbc7-0961-4c40-9825-01117710dcb1,Microsoft Forms (Plan E5) +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,INFO_GOVERNANCE,e26c2fcc-ab91-4a61-b35c-03cdc8dddf66,Microsoft Information Governance +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,KAIZALA_STANDALONE,0898bdbb-73b0-471a-81e5-20f1fe4dd66e,Microsoft Kaizala Pro +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,EXCHANGE_ANALYTICS,34c0d7a0-a70f-4668-9238-47f9fc208882,Microsoft MyAnalytics (Full) +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,RECORDS_MANAGEMENT,65cc641f-cccd-4643-97e0-a17e3045e541,Microsoft Records Management +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,STREAM_O365_E5,6c6042f5-6f01-4d67-b8c1-eb99d36eed3e,Microsoft Stream for Office 365 E5 +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,EQUIVIO_ANALYTICS,4de31727-a228-4ec3-a5bf-8e45b5ca48cc,Office 365 Advanced eDiscovery +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,ADALLOM_S_O365,8c098270-9dd4-4350-9b30-ba4703f3b36b,Office 365 Cloud App Security +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,PAM_ENTERPRISE,b1188c4c-1b36-4018-b48b-ee07604f6feb,Office 365 Privileged Access Management +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,POWERAPPS_O365_P3,9c0dab89-a30c-4117-86e7-97bda240acd2,Power Apps for Office 365 (Plan 3) +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,BI_AZURE_P2,70d33638-9c74-4d01-bfd3-562de28bd4ba,Power BI Pro +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,PREMIUM_ENCRYPTION,617b097b-4b93-4ede-83de-5f075bb5fb2f,Premium Encryption in Office 365 +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,PROJECT_O365_P3,b21a6b06-1988-436e-a07b-51ec6d9f52ad,Project for Office (Plan E5) +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,COMMUNICATIONS_COMPLIANCE,41fcdd7d-4733-4863-9cf4-c65b83ce2df4,RETIRED - Microsoft Communications Compliance +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,BPOS_S_TODO_3,3fb82609-8c27-4f7b-bd51-30634711ee67,To-Do (Plan 3) +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,DYN365_CDS_O365_P3,28b0fa46-c39a-4188-89e2-58e979a6b014,Common Data Service +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,FLOW_O365_P3,07699545-9485-468e-95b6-2fca3738be01,Power Automate for Office 365 +Office 365 E5 EEA (no Teams) without Audio Conferencing,Office_365_E5_EEA_(no_Teams)_without_Audio_Conferencing,71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74,POWER_VIRTUAL_AGENTS_O365_P3,ded3d325-1bdc-453e-8432-5bac26d7a014,Power Virtual Agents for Office 365 +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,RMS_S_ENTERPRISE,bea4c11e-220a-4e6d-8eb8-8ea15d019f90,Azure Rights Management +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,CDS_O365_P3,afa73018-811e-46e9-988f-f75d2b1b8430,Common Data Service for Teams +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,LOCKBOX_ENTERPRISE,9f431833-0334-42de-a7dc-70aa40db46db,Customer Lockbox +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,EXCHANGE_S_ENTERPRISE,efb87545-963c-4e0d-99df-69c6916d9eb0,Exchange Online (Plan 2) +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,MYANALYTICS_P2,33c4f319-9bdd-48d6-9c4d-410b750a4a5a,Insights by MyAnalytics +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,Microsoft 365 Apps for Enterprise +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,Microsoft 365 Communication Compliance +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,MTP,bf28f719-7844-4079-9c78-c1307898e192,Microsoft 365 Defender +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,COMMUNICATIONS_DLP,6dc145d6-95dd-4191-b9c3-185575ee6f6b,Microsoft Communications DLP +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,CUSTOMER_KEY,6db1f1db-2b46-403f-be40-e39395f08dbb,Microsoft Customer Key +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,DATA_INVESTIGATIONS,46129a58-a698-46f0-aa5b-17f6586297d9,Microsoft Data Investigations +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,ATP_ENTERPRISE,f20fedf3-f3c3-43c3-8267-2bfdd51c0939,Microsoft Defender for Office 365 (Plan 1) +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,THREAT_INTELLIGENCE,8e0c0a52-6a6c-4d40-8370-dd62790dcd70,Microsoft Defender for Office 365 (Plan 2) +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,EXCEL_PREMIUM,531ee2f8-b1cb-453b-9c21-d2180d014ca5,Microsoft Excel Advanced Analytics +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,FORMS_PLAN_E5,e212cbc7-0961-4c40-9825-01117710dcb1,Microsoft Forms (Plan E5) +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,INFO_GOVERNANCE,e26c2fcc-ab91-4a61-b35c-03cdc8dddf66,Microsoft Information Governance +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,KAIZALA_STANDALONE,0898bdbb-73b0-471a-81e5-20f1fe4dd66e,Microsoft Kaizala Pro +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,EXCHANGE_ANALYTICS,34c0d7a0-a70f-4668-9238-47f9fc208882,Microsoft MyAnalytics (Full) +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,RECORDS_MANAGEMENT,65cc641f-cccd-4643-97e0-a17e3045e541,Microsoft Records Management +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,STREAM_O365_E5,6c6042f5-6f01-4d67-b8c1-eb99d36eed3e,Microsoft Stream for Office 365 E5 +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,EQUIVIO_ANALYTICS,4de31727-a228-4ec3-a5bf-8e45b5ca48cc,Office 365 Advanced eDiscovery +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,ADALLOM_S_O365,8c098270-9dd4-4350-9b30-ba4703f3b36b,Office 365 Cloud App Security +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,PAM_ENTERPRISE,b1188c4c-1b36-4018-b48b-ee07604f6feb,Office 365 Privileged Access Management +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,POWERAPPS_O365_P3,9c0dab89-a30c-4117-86e7-97bda240acd2,Power Apps for Office 365 (Plan 3) +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,BI_AZURE_P2,70d33638-9c74-4d01-bfd3-562de28bd4ba,Power BI Pro +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,PREMIUM_ENCRYPTION,617b097b-4b93-4ede-83de-5f075bb5fb2f,Premium Encryption in Office 365 +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,PROJECT_O365_P3,b21a6b06-1988-436e-a07b-51ec6d9f52ad,Project for Office (Plan E5) +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,COMMUNICATIONS_COMPLIANCE,41fcdd7d-4733-4863-9cf4-c65b83ce2df4,RETIRED - Microsoft Communications Compliance +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,BPOS_S_TODO_3,3fb82609-8c27-4f7b-bd51-30634711ee67,To-Do (Plan 3) +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,DYN365_CDS_O365_P3,28b0fa46-c39a-4188-89e2-58e979a6b014,Common Data Service +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,FLOW_O365_P3,07699545-9485-468e-95b6-2fca3738be01,Power Automate for Office 365 +Office 365 E5 Without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF,26d45bd9-adf1-46cd-a9e1-51e9a5524128,POWER_VIRTUAL_AGENTS_O365_P3,ded3d325-1bdc-453e-8432-5bac26d7a014,Power Virtual Agents for Office 365 +Office 365 F3,DESKLESSPACK,4b585984-651b-448a-9e53-3b10f069cf7f,DYN365_CDS_O365_F1,ca6e61ec-d4f4-41eb-8b88-d96e0e14323f,Common Data Service - O365 F1 +Office 365 F3,DESKLESSPACK,4b585984-651b-448a-9e53-3b10f069cf7f,CDS_O365_F1,90db65a7-bf11-4904-a79f-ef657605145b,Common Data Service for Teams_F1 +Office 365 F3,DESKLESSPACK,4b585984-651b-448a-9e53-3b10f069cf7f,EXCHANGE_S_DESKLESS,4a82b400-a79f-41a4-b4e2-e94f5787b113,Exchange Online Kiosk +Office 365 F3,DESKLESSPACK,4b585984-651b-448a-9e53-3b10f069cf7f,RMS_S_BASIC,31cf2cfc-6b0d-4adc-a336-88b724ed8122,Microsoft Azure Rights Management Service +Office 365 F3,DESKLESSPACK,4b585984-651b-448a-9e53-3b10f069cf7f,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Office 365 F3,DESKLESSPACK,4b585984-651b-448a-9e53-3b10f069cf7f,FORMS_PLAN_K,f07046bd-2a3c-4b96-b0be-dea79d7cbfb8,Microsoft Forms (Plan F1) +Office 365 F3,DESKLESSPACK,4b585984-651b-448a-9e53-3b10f069cf7f,KAIZALA_O365_P1,73b2a583-6a59-42e3-8e83-54db46bc3278,Microsoft Kaizala Pro Plan 1 +Office 365 F3,DESKLESSPACK,4b585984-651b-448a-9e53-3b10f069cf7f,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Office 365 F3,DESKLESSPACK,4b585984-651b-448a-9e53-3b10f069cf7f,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Office 365 F3,DESKLESSPACK,4b585984-651b-448a-9e53-3b10f069cf7f,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Office 365 F3,DESKLESSPACK,4b585984-651b-448a-9e53-3b10f069cf7f,STREAM_O365_K,3ffba0d2-38e5-4d5e-8ec0-98f2b05c09d9,Microsoft Stream for Office 365 F3 +Office 365 F3,DESKLESSPACK,4b585984-651b-448a-9e53-3b10f069cf7f,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Office 365 F3,DESKLESSPACK,4b585984-651b-448a-9e53-3b10f069cf7f,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Office 365 F3,DESKLESSPACK,4b585984-651b-448a-9e53-3b10f069cf7f,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Office 365 F3,DESKLESSPACK,4b585984-651b-448a-9e53-3b10f069cf7f,OFFICEMOBILE_SUBSCRIPTION,c63d4d19-e8cb-460e-b37c-4d6c34603745,Office Mobile Apps for Office 365 +Office 365 F3,DESKLESSPACK,4b585984-651b-448a-9e53-3b10f069cf7f,POWERAPPS_O365_S1,e0287f9f-e222-4f98-9a83-f379e249159a,Power Apps for Office 365 F3 +Office 365 F3,DESKLESSPACK,4b585984-651b-448a-9e53-3b10f069cf7f,FLOW_O365_S1,bd91b1a4-9f94-4ecf-b45b-3a65e5c8128a,Power Automate for Office 365 F3 +Office 365 F3,DESKLESSPACK,4b585984-651b-448a-9e53-3b10f069cf7f,POWER_VIRTUAL_AGENTS_O365_F1,ba2fdb48-290b-4632-b46a-e4ecc58ac11a,Power Virtual Agents for Office 365 F1 +Office 365 F3,DESKLESSPACK,4b585984-651b-448a-9e53-3b10f069cf7f,PROJECT_O365_F3,7f6f28c2-34bb-4d4b-be36-48ca2e77e1ec,Project for Office (Plan F) +Office 365 F3,DESKLESSPACK,4b585984-651b-448a-9e53-3b10f069cf7f,SHAREPOINTDESKLESS,902b47e5-dcb2-4fdc-858b-c63a90a2bdb9,SharePoint Kiosk +Office 365 F3,DESKLESSPACK,4b585984-651b-448a-9e53-3b10f069cf7f,MCOIMP,afc06cb0-b4f4-4473-8286-d644f70d8faf,Skype for Business Online (Plan 1) +Office 365 F3,DESKLESSPACK,4b585984-651b-448a-9e53-3b10f069cf7f,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Office 365 F3,DESKLESSPACK,4b585984-651b-448a-9e53-3b10f069cf7f,BPOS_S_TODO_FIRSTLINE,80873e7a-cd2a-4e67-b061-1b5381a676a5,To-Do (Firstline) +Office 365 F3,DESKLESSPACK,4b585984-651b-448a-9e53-3b10f069cf7f,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core +Office 365 F3,DESKLESSPACK,4b585984-651b-448a-9e53-3b10f069cf7f,WHITEBOARD_FIRSTLINE1,36b29273-c6d0-477a-aca6-6fbe24f538e3,Whiteboard (Firstline) +Office 365 F3,DESKLESSPACK,4b585984-651b-448a-9e53-3b10f069cf7f,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Office 365 F3 EEA (no Teams),Office_365_F3_EEA_(no_Teams),d1f0495b-cb7b-4e11-8b85-daee7e7e5664,CDS_O365_F1,90db65a7-bf11-4904-a79f-ef657605145b,Common Data Service for Teams +Office 365 F3 EEA (no Teams),Office_365_F3_EEA_(no_Teams),d1f0495b-cb7b-4e11-8b85-daee7e7e5664,EXCHANGE_S_DESKLESS,4a82b400-a79f-41a4-b4e2-e94f5787b113,Exchange Online Kiosk +Office 365 F3 EEA (no Teams),Office_365_F3_EEA_(no_Teams),d1f0495b-cb7b-4e11-8b85-daee7e7e5664,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Office 365 F3 EEA (no Teams),Office_365_F3_EEA_(no_Teams),d1f0495b-cb7b-4e11-8b85-daee7e7e5664,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Office 365 F3 EEA (no Teams),Office_365_F3_EEA_(no_Teams),d1f0495b-cb7b-4e11-8b85-daee7e7e5664,FORMS_PLAN_K,f07046bd-2a3c-4b96-b0be-dea79d7cbfb8,Microsoft Forms (Plan F1) +Office 365 F3 EEA (no Teams),Office_365_F3_EEA_(no_Teams),d1f0495b-cb7b-4e11-8b85-daee7e7e5664,KAIZALA_O365_P1,73b2a583-6a59-42e3-8e83-54db46bc3278,Microsoft Kaizala Pro +Office 365 F3 EEA (no Teams),Office_365_F3_EEA_(no_Teams),d1f0495b-cb7b-4e11-8b85-daee7e7e5664,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Office 365 F3 EEA (no Teams),Office_365_F3_EEA_(no_Teams),d1f0495b-cb7b-4e11-8b85-daee7e7e5664,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Office 365 F3 EEA (no Teams),Office_365_F3_EEA_(no_Teams),d1f0495b-cb7b-4e11-8b85-daee7e7e5664,Deskless,8c7d2df8-86f0-4902-b2ed-a0458298f3b3,Microsoft StaffHub +Office 365 F3 EEA (no Teams),Office_365_F3_EEA_(no_Teams),d1f0495b-cb7b-4e11-8b85-daee7e7e5664,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Office 365 F3 EEA (no Teams),Office_365_F3_EEA_(no_Teams),d1f0495b-cb7b-4e11-8b85-daee7e7e5664,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Office 365 F3 EEA (no Teams),Office_365_F3_EEA_(no_Teams),d1f0495b-cb7b-4e11-8b85-daee7e7e5664,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Office 365 F3 EEA (no Teams),Office_365_F3_EEA_(no_Teams),d1f0495b-cb7b-4e11-8b85-daee7e7e5664,OFFICEMOBILE_SUBSCRIPTION,c63d4d19-e8cb-460e-b37c-4d6c34603745,Office Mobile Apps for Office 365 +Office 365 F3 EEA (no Teams),Office_365_F3_EEA_(no_Teams),d1f0495b-cb7b-4e11-8b85-daee7e7e5664,PROJECT_O365_F3,7f6f28c2-34bb-4d4b-be36-48ca2e77e1ec,Project for Office (Plan F) +Office 365 F3 EEA (no Teams),Office_365_F3_EEA_(no_Teams),d1f0495b-cb7b-4e11-8b85-daee7e7e5664,SHAREPOINTDESKLESS,902b47e5-dcb2-4fdc-858b-c63a90a2bdb9,SharePoint Kiosk +Office 365 F3 EEA (no Teams),Office_365_F3_EEA_(no_Teams),d1f0495b-cb7b-4e11-8b85-daee7e7e5664,MCOIMP,afc06cb0-b4f4-4473-8286-d644f70d8faf,Skype for Business Online (Plan 1) +Office 365 F3 EEA (no Teams),Office_365_F3_EEA_(no_Teams),d1f0495b-cb7b-4e11-8b85-daee7e7e5664,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Office 365 F3 EEA (no Teams),Office_365_F3_EEA_(no_Teams),d1f0495b-cb7b-4e11-8b85-daee7e7e5664,BPOS_S_TODO_FIRSTLINE,80873e7a-cd2a-4e67-b061-1b5381a676a5,To-Do (Firstline) +Office 365 F3 EEA (no Teams),Office_365_F3_EEA_(no_Teams),d1f0495b-cb7b-4e11-8b85-daee7e7e5664,VIVAENGAGE_CORE,a82fbf69-b4d7-49f4-83a6-915b2cf354f4,Viva Engage Core +Office 365 F3 EEA (no Teams),Office_365_F3_EEA_(no_Teams),d1f0495b-cb7b-4e11-8b85-daee7e7e5664,VIVA_LEARNING_SEEDED,b76fb638-6ba6-402a-b9f9-83d28acb3d86,Viva Learning Seeded +Office 365 F3 EEA (no Teams),Office_365_F3_EEA_(no_Teams),d1f0495b-cb7b-4e11-8b85-daee7e7e5664,WHITEBOARD_FIRSTLINE1,36b29273-c6d0-477a-aca6-6fbe24f538e3,Whiteboard (Firstline) +Office 365 F3 EEA (no Teams),Office_365_F3_EEA_(no_Teams),d1f0495b-cb7b-4e11-8b85-daee7e7e5664,YAMMER_ENTERPRISE,7547a3fe-08ee-4ccb-b430-5077c5041653,Yammer Enterprise +Office 365 F3 EEA (no Teams),Office_365_F3_EEA_(no_Teams),d1f0495b-cb7b-4e11-8b85-daee7e7e5664,DYN365_CDS_O365_F1,ca6e61ec-d4f4-41eb-8b88-d96e0e14323f,Common Data Service +Office 365 F3 EEA (no Teams),Office_365_F3_EEA_(no_Teams),d1f0495b-cb7b-4e11-8b85-daee7e7e5664,RMS_S_BASIC,31cf2cfc-6b0d-4adc-a336-88b724ed8122,Microsoft Azure Rights Management Service +Office 365 F3 EEA (no Teams),Office_365_F3_EEA_(no_Teams),d1f0495b-cb7b-4e11-8b85-daee7e7e5664,STREAM_O365_K,3ffba0d2-38e5-4d5e-8ec0-98f2b05c09d9,Microsoft Stream for Office 365 F3 +Office 365 F3 EEA (no Teams),Office_365_F3_EEA_(no_Teams),d1f0495b-cb7b-4e11-8b85-daee7e7e5664,POWERAPPS_O365_S1,e0287f9f-e222-4f98-9a83-f379e249159a,Power Apps for Office 365 F3 +Office 365 F3 EEA (no Teams),Office_365_F3_EEA_(no_Teams),d1f0495b-cb7b-4e11-8b85-daee7e7e5664,FLOW_O365_S1,bd91b1a4-9f94-4ecf-b45b-3a65e5c8128a,Power Automate for Office 365 F3 +Office 365 F3 EEA (no Teams),Office_365_F3_EEA_(no_Teams),d1f0495b-cb7b-4e11-8b85-daee7e7e5664,POWER_VIRTUAL_AGENTS_O365_F1,ba2fdb48-290b-4632-b46a-e4ecc58ac11a,Power Virtual Agents for Office 365 +Office 365 F3_USGOV_GCCHIGH,DESKLESSPACK_USGOV_GCCHIGH,74039b88-bd62-4b5c-9d9c-7a92bbc0bfdf,CDS_O365_F1,90db65a7-bf11-4904-a79f-ef657605145b,Common Data Service for Teams +Office 365 F3_USGOV_GCCHIGH,DESKLESSPACK_USGOV_GCCHIGH,74039b88-bd62-4b5c-9d9c-7a92bbc0bfdf,EXCHANGE_S_DESKLESS,4a82b400-a79f-41a4-b4e2-e94f5787b113,Exchange Online Kiosk +Office 365 F3_USGOV_GCCHIGH,DESKLESSPACK_USGOV_GCCHIGH,74039b88-bd62-4b5c-9d9c-7a92bbc0bfdf,FORMS_PLAN_K_AR_GCCHIGH,59fb5884-fdec-40bf-aa7f-89e2bae79a7a,Microsoft Forms (Plan F1) for GCCHigh +Office 365 F3_USGOV_GCCHIGH,DESKLESSPACK_USGOV_GCCHIGH,74039b88-bd62-4b5c-9d9c-7a92bbc0bfdf,PROJECTWORKMANAGEMENT,b737dad2-2f6c-4c65-90e3-ca563267e8b9,Microsoft Planner +Office 365 F3_USGOV_GCCHIGH,DESKLESSPACK_USGOV_GCCHIGH,74039b88-bd62-4b5c-9d9c-7a92bbc0bfdf,MICROSOFT_SEARCH_GCCH,fc9f7921-4ca5-42c6-8533-1b84c4ee496b,Microsoft Search for Arlington +Office 365 F3_USGOV_GCCHIGH,DESKLESSPACK_USGOV_GCCHIGH,74039b88-bd62-4b5c-9d9c-7a92bbc0bfdf,TEAMS_AR_GCCHIGH,9953b155-8aef-4c56-92f3-72b0487fce41,Microsoft Teams for GCCHigh +Office 365 F3_USGOV_GCCHIGH,DESKLESSPACK_USGOV_GCCHIGH,74039b88-bd62-4b5c-9d9c-7a92bbc0bfdf,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Office 365 F3_USGOV_GCCHIGH,DESKLESSPACK_USGOV_GCCHIGH,74039b88-bd62-4b5c-9d9c-7a92bbc0bfdf,OFFICEMOBILE_SUBSCRIPTION,c63d4d19-e8cb-460e-b37c-4d6c34603745,Office Mobile Apps for Office 365 +Office 365 F3_USGOV_GCCHIGH,DESKLESSPACK_USGOV_GCCHIGH,74039b88-bd62-4b5c-9d9c-7a92bbc0bfdf,SHAREPOINTDESKLESS,902b47e5-dcb2-4fdc-858b-c63a90a2bdb9,SharePoint Kiosk +Office 365 F3_USGOV_GCCHIGH,DESKLESSPACK_USGOV_GCCHIGH,74039b88-bd62-4b5c-9d9c-7a92bbc0bfdf,MCOIMP,afc06cb0-b4f4-4473-8286-d644f70d8faf,Skype for Business Online (Plan 1) +Office 365 F3_USGOV_GCCHIGH,DESKLESSPACK_USGOV_GCCHIGH,74039b88-bd62-4b5c-9d9c-7a92bbc0bfdf,DYN365_CDS_O365_F1,ca6e61ec-d4f4-41eb-8b88-d96e0e14323f,Common Data Service +Office 365 F3_USGOV_GCCHIGH,DESKLESSPACK_USGOV_GCCHIGH,74039b88-bd62-4b5c-9d9c-7a92bbc0bfdf,STREAM_O365_K,3ffba0d2-38e5-4d5e-8ec0-98f2b05c09d9,Microsoft Stream for Office 365 F3 +Office 365 F3_USGOV_GCCHIGH,DESKLESSPACK_USGOV_GCCHIGH,74039b88-bd62-4b5c-9d9c-7a92bbc0bfdf,POWERAPPS_O365_S1_GCCHIGH,b9f1a92f-d4c7-477b-b64c-e23d7b4e8cf9,Power Apps for Office 365 F3 for GCCHigh +Office 365 F3_USGOV_GCCHIGH,DESKLESSPACK_USGOV_GCCHIGH,74039b88-bd62-4b5c-9d9c-7a92bbc0bfdf,FLOW_O365_S1_GCCHIGH,1db85bca-cd60-4bf5-ae54-641e0778a532,Power Automate for Office 365 F3 for GCCHigh +Office 365 G1 GCC,STANDARDPACK_GOV,3f4babde-90ec-47c6-995d-d223749065d1,DYN365_CDS_O365_P1_GCC,8eb5e9bc-783f-4425-921a-c65f45dd72c6,Common Data Service - O365 P1 GCC +Office 365 G1 GCC,STANDARDPACK_GOV,3f4babde-90ec-47c6-995d-d223749065d1,CDS_O365_P1_GCC,959e5dec-6522-4d44-8349-132c27c3795a,Common Data Service for Teams_P1 GCC +Office 365 G1 GCC,STANDARDPACK_GOV,3f4babde-90ec-47c6-995d-d223749065d1,EXCHANGE_S_STANDARD_GOV,e9b4930a-925f-45e2-ac2a-3f7788ca6fdd,Exchange Online (Plan 1) for Government +Office 365 G1 GCC,STANDARDPACK_GOV,3f4babde-90ec-47c6-995d-d223749065d1,FORMS_GOV_E1,f4cba850-4f34-4fd2-a341-0fddfdce1e8f,Forms for Government (Plan E1) +Office 365 G1 GCC,STANDARDPACK_GOV,3f4babde-90ec-47c6-995d-d223749065d1,MYANALYTICS_P2_GOV,6e5b7995-bd4f-4cbd-9d19-0e32010c72f0,Insights by MyAnalytics for Government +Office 365 G1 GCC,STANDARDPACK_GOV,3f4babde-90ec-47c6-995d-d223749065d1,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Office 365 G1 GCC,STANDARDPACK_GOV,3f4babde-90ec-47c6-995d-d223749065d1,STREAM_O365_E1_GOV,15267263-5986-449d-ac5c-124f3b49b2d6,Microsoft Stream for O365 for Government (E1) +Office 365 G1 GCC,STANDARDPACK_GOV,3f4babde-90ec-47c6-995d-d223749065d1,TEAMS_GOV,304767db-7d23-49e8-a945-4a7eb65f9f28,Microsoft Teams for Government +Office 365 G1 GCC,STANDARDPACK_GOV,3f4babde-90ec-47c6-995d-d223749065d1,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Office 365 G1 GCC,STANDARDPACK_GOV,3f4babde-90ec-47c6-995d-d223749065d1,PROJECTWORKMANAGEMENT_GOV,5b4ef465-7ea1-459a-9f91-033317755a51,Office 365 Planner for Government +Office 365 G1 GCC,STANDARDPACK_GOV,3f4babde-90ec-47c6-995d-d223749065d1,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government +Office 365 G1 GCC,STANDARDPACK_GOV,3f4babde-90ec-47c6-995d-d223749065d1,OFFICEMOBILE_SUBSCRIPTION_GOV,4ccb60ee-9523-48fd-8f63-4b090f1ad77a,Office Mobile Apps for Office 365 for GCC +Office 365 G1 GCC,STANDARDPACK_GOV,3f4babde-90ec-47c6-995d-d223749065d1,POWERAPPS_O365_P1_GOV,c42aa49a-f357-45d5-9972-bc29df885fee,Power Apps for Office 365 for Government +Office 365 G1 GCC,STANDARDPACK_GOV,3f4babde-90ec-47c6-995d-d223749065d1,FLOW_O365_P1_GOV,ad6c8870-6356-474c-901c-64d7da8cea48,Power Automate for Office 365 for Government +Office 365 G1 GCC,STANDARDPACK_GOV,3f4babde-90ec-47c6-995d-d223749065d1,SharePoint Plan 1G,f9c43823-deb4-46a8-aa65-8b551f0c4f8a,SharePoint Plan 1G +Office 365 G1 GCC,STANDARDPACK_GOV,3f4babde-90ec-47c6-995d-d223749065d1,MCOSTANDARD_GOV,a31ef4a2-f787-435e-8335-e47eb0cafc94,Skype for Business Online (Plan 2) for Government +Office 365 G1 GCC,STANDARDPACK_GOV,3f4babde-90ec-47c6-995d-d223749065d1,BPOS_S_TODO_1,5e62787c-c316-451f-b873-1d05acd4d12c,To-Do (Plan 1) +Office 365 G1 GCC,STANDARDPACK_GOV,3f4babde-90ec-47c6-995d-d223749065d1,WHITEBOARD_PLAN1,b8afc642-032e-4de5-8c0a-507a7bba7e5d,Whiteboard (Plan 1) +Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,CDS_O365_P2_GCC,a70bbf38-cdda-470d-adb8-5804b8770f41,Common Data Service for Teams +Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,EXCHANGE_S_ENTERPRISE_GOV,8c3069c0-ccdb-44be-ab77-986203a67df2,Exchange Online (Plan 2) for Government +Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium +Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard +Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,MYANALYTICS_P2_GOV,6e5b7995-bd4f-4cbd-9d19-0e32010c72f0,Insights by MyAnalytics for Government +Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,OFFICESUBSCRIPTION_GOV,de9234ff-6483-44d9-b15e-dca72fdd27af,Microsoft 365 Apps for enterprise G +Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,FORMS_GOV_E3,24af5f65-d0f3-467b-9f78-ea798c4aeffc,Microsoft Forms for Government (Plan E3) +Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,TEAMS_GOV,304767db-7d23-49e8-a945-4a7eb65f9f28,Microsoft Teams for Government +Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,PROJECTWORKMANAGEMENT_GOV,5b4ef465-7ea1-459a-9f91-033317755a51,Office 365 Planner for Government +Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government +Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,PROJECT_O365_P2_GOV,e7d09ae4-099a-4c34-a2a2-3e166e95c44a,Project for Government (Plan E3) +Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G +Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,MCOSTANDARD_GOV,a31ef4a2-f787-435e-8335-e47eb0cafc94,Skype for Business Online (Plan 2) for Government +Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,STREAM_O365_E3_GOV,2c1ada27-dbaa-46f9-bda6-ecb94445f758,Stream for Office 365 for Government (E3) +Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,BPOS_S_TODO_2,c87f142c-d1e9-4363-8630-aaea9c4d9ae5,To-Do (Plan 2) +Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,WHITEBOARD_PLAN2,94a54592-cd8b-425e-87c6-97868b000b91,Whiteboard (Plan 2) +Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,RMS_S_ENTERPRISE_GOV,6a76346d-5d6e-4051-9fe3-ed3f312b5597,Azure Rights Management +Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,DYN365_CDS_O365_P2_GCC,06162da2-ebf9-4954-99a0-00fee96f95cc,Common Data Service +Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,POWERAPPS_O365_P2_GOV,0a20c815-5e81-4727-9bdc-2b5a117850c3,Power Apps for Office 365 for Government +Office 365 G3 GCC,ENTERPRISEPACK_GOV,535a3a29-c5f0-42fe-8215-d3b9e1f38c4a,FLOW_O365_P2_GOV,c537f360-6a00-4ace-a7f5-9128d0ac1e4b,Power Automate for Office 365 for Government +Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,CDS_O365_P2_GCC,a70bbf38-cdda-470d-adb8-5804b8770f41,Common Data Service for Teams +Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,EXCHANGE_S_ENTERPRISE_GOV,8c3069c0-ccdb-44be-ab77-986203a67df2,Exchange Online (Plan 2) for Government +Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium +Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard +Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,MYANALYTICS_P2_GOV,6e5b7995-bd4f-4cbd-9d19-0e32010c72f0,Insights by MyAnalytics for Government +Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,FORMS_GOV_E3,24af5f65-d0f3-467b-9f78-ea798c4aeffc,Microsoft Forms for Government (Plan E3) +Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,TEAMS_GOV,304767db-7d23-49e8-a945-4a7eb65f9f28,Microsoft Teams for Government +Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,Nucleus,db4d623d-b514-490b-b7ef-8885eee514de,Nucleus +Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,PROJECTWORKMANAGEMENT_GOV,5b4ef465-7ea1-459a-9f91-033317755a51,Office 365 Planner for Government +Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government +Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,OFFICEMOBILE_SUBSCRIPTION_GOV,4ccb60ee-9523-48fd-8f63-4b090f1ad77a,Office Mobile Apps for Office 365 for GCC +Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,PROJECT_O365_P2_GOV,e7d09ae4-099a-4c34-a2a2-3e166e95c44a,Project for Government (Plan E3) +Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G +Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,MCOSTANDARD_GOV,a31ef4a2-f787-435e-8335-e47eb0cafc94,Skype for Business Online (Plan 2) for Government +Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,STREAM_O365_E3_GOV,2c1ada27-dbaa-46f9-bda6-ecb94445f758,Stream for Office 365 for Government (E3) +Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,RMS_S_ENTERPRISE_GOV,6a76346d-5d6e-4051-9fe3-ed3f312b5597,Azure Rights Management +Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,DYN365_CDS_O365_P2_GCC,06162da2-ebf9-4954-99a0-00fee96f95cc,Common Data Service +Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,POWERAPPS_O365_P2_GOV,0a20c815-5e81-4727-9bdc-2b5a117850c3,Power Apps for Office 365 for Government +Office 365 G3 without Microsoft 365 Apps GCC,ENTERPRISEPACKWITHOUTPROPLUS_GOV,24aebea8-7fac-48d0-8750-de4ee1fde205,FLOW_O365_P2_GOV,c537f360-6a00-4ace-a7f5-9128d0ac1e4b,Power Automate for Office 365 for Government +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,CDS_O365_P3_GCC,bce5e5ca-c2fd-4d53-8ee2-58dfffed4c10,Common Data Service for Teams +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,LOCKBOX_ENTERPRISE_GOV,89b5d3b1-3855-49fe-b46c-87c66dbc1526,Customer Lockbox for Government +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,EXCHANGE_S_ENTERPRISE_GOV,8c3069c0-ccdb-44be-ab77-986203a67df2,Exchange Online (Plan 2) for Government +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,OFFICESUBSCRIPTION_GOV,de9234ff-6483-44d9-b15e-dca72fdd27af,Microsoft 365 Apps for enterprise G +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,MCOMEETADV_GOV,f544b08d-1645-4287-82de-8d91f37c02a1,Microsoft 365 Audio Conferencing for Government +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,Microsoft 365 Communication Compliance +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,MTP,bf28f719-7844-4079-9c78-c1307898e192,Microsoft 365 Defender +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,MCOEV_GOV,db23fce2-a974-42ef-9002-d78dd42a0f22,Microsoft 365 Phone System for Government +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,COMMUNICATIONS_DLP,6dc145d6-95dd-4191-b9c3-185575ee6f6b,Microsoft Communications DLP +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,CUSTOMER_KEY,6db1f1db-2b46-403f-be40-e39395f08dbb,Microsoft Customer Key +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,ATP_ENTERPRISE_GOV,493ff600-6a2b-4db6-ad37-a7d4eb214516,Microsoft Defender for Office 365 (Plan 1) for Government +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,THREAT_INTELLIGENCE_GOV,900018f1-0cdb-4ecb-94d4-90281760fdc6,Microsoft Defender for Office 365 (Plan 2) for Government +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,FORMS_GOV_E5,843da3a8-d2cc-4e7a-9e90-dc46019f964c,Microsoft Forms for Government (Plan E5) +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,INFO_GOVERNANCE,e26c2fcc-ab91-4a61-b35c-03cdc8dddf66,Microsoft Information Governance +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,EXCHANGE_ANALYTICS_GOV,208120d1-9adb-4daf-8c22-816bd5d237e7,Microsoft MyAnalytics for Government (Full) +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,RECORDS_MANAGEMENT,65cc641f-cccd-4643-97e0-a17e3045e541,Microsoft Records Management +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,TEAMS_GOV,304767db-7d23-49e8-a945-4a7eb65f9f28,Microsoft Teams for Government +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,EQUIVIO_ANALYTICS_GOV,d1cbfb67-18a8-4792-b643-630b7f19aad1,Office 365 Advanced eDiscovery for Government +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,ADALLOM_S_O365,8c098270-9dd4-4350-9b30-ba4703f3b36b,Office 365 Cloud App Security +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,PROJECTWORKMANAGEMENT_GOV,5b4ef465-7ea1-459a-9f91-033317755a51,Office 365 Planner for Government +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,BI_AZURE_P_2_GOV,944e9726-f011-4353-b654-5f7d2663db76,Power BI Pro for Government +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,PREMIUM_ENCRYPTION,617b097b-4b93-4ede-83de-5f075bb5fb2f,Premium Encryption in Office 365 +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,PROJECT_O365_P3_GOV,9b7c50ec-cd50-44f2-bf48-d72de6f90717,Project for Government (Plan E5) +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,MCOSTANDARD_GOV,a31ef4a2-f787-435e-8335-e47eb0cafc94,Skype for Business Online (Plan 2) for Government +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,STREAM_O365_E5_GOV,92c2089d-9a53-49fe-b1a6-9e6bdf959547,Stream for Office 365 for Government (E5) +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,BPOS_S_TODO_3,3fb82609-8c27-4f7b-bd51-30634711ee67,To-Do (Plan 3) +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,RMS_S_ENTERPRISE_GOV,6a76346d-5d6e-4051-9fe3-ed3f312b5597,Azure Rights Management +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,DYN365_CDS_O365_P3_GCC,a7d3fb37-b6df-4085-b509-50810d991a39,Common Data Service +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,POWERAPPS_O365_P3_GOV,0eacfc38-458a-40d3-9eab-9671258f1a3e,Power Apps for Office 365 for Government +Office 365 G5 GCC,ENTERPRISEPREMIUM_GOV,8900a2c0-edba-4079-bdf3-b276e293b6a8,FLOW_O365_P3_GOV,8055d84a-c172-42eb-b997-6c2ae4628246,Power Automate for Office 365 for Government +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,CDS_O365_P3_GCC,bce5e5ca-c2fd-4d53-8ee2-58dfffed4c10,Common Data Service for Teams +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,LOCKBOX_ENTERPRISE_GOV,89b5d3b1-3855-49fe-b46c-87c66dbc1526,Customer Lockbox for Government +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,EXCHANGE_S_ENTERPRISE_GOV,8c3069c0-ccdb-44be-ab77-986203a67df2,Exchange Online (Plan 2) for Government +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,OFFICESUBSCRIPTION_GOV,de9234ff-6483-44d9-b15e-dca72fdd27af,Microsoft 365 Apps for enterprise G +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,Microsoft 365 Communication Compliance +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,MTP,bf28f719-7844-4079-9c78-c1307898e192,Microsoft 365 Defender +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,MCOEV_GOV,db23fce2-a974-42ef-9002-d78dd42a0f22,Microsoft 365 Phone System for Government +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,COMMUNICATIONS_DLP,6dc145d6-95dd-4191-b9c3-185575ee6f6b,Microsoft Communications DLP +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,CUSTOMER_KEY,6db1f1db-2b46-403f-be40-e39395f08dbb,Microsoft Customer Key +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,ATP_ENTERPRISE_GOV,493ff600-6a2b-4db6-ad37-a7d4eb214516,Microsoft Defender for Office 365 (Plan 1) for Government +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,THREAT_INTELLIGENCE_GOV,900018f1-0cdb-4ecb-94d4-90281760fdc6,Microsoft Defender for Office 365 (Plan 2) for Government +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,FORMS_GOV_E5,843da3a8-d2cc-4e7a-9e90-dc46019f964c,Microsoft Forms for Government (Plan E5) +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,INFO_GOVERNANCE,e26c2fcc-ab91-4a61-b35c-03cdc8dddf66,Microsoft Information Governance +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,EXCHANGE_ANALYTICS_GOV,208120d1-9adb-4daf-8c22-816bd5d237e7,Microsoft MyAnalytics for Government (Full) +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,RECORDS_MANAGEMENT,65cc641f-cccd-4643-97e0-a17e3045e541,Microsoft Records Management +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,TEAMS_GOV,304767db-7d23-49e8-a945-4a7eb65f9f28,Microsoft Teams for Government +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,EQUIVIO_ANALYTICS_GOV,d1cbfb67-18a8-4792-b643-630b7f19aad1,Office 365 Advanced eDiscovery for Government +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,ADALLOM_S_O365,8c098270-9dd4-4350-9b30-ba4703f3b36b,Office 365 Cloud App Security +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,PROJECTWORKMANAGEMENT_GOV,5b4ef465-7ea1-459a-9f91-033317755a51,Office 365 Planner for Government +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,BI_AZURE_P_2_GOV,944e9726-f011-4353-b654-5f7d2663db76,Power BI Pro for Government +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,PREMIUM_ENCRYPTION,617b097b-4b93-4ede-83de-5f075bb5fb2f,Premium Encryption in Office 365 +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,PROJECT_O365_P3_GOV,9b7c50ec-cd50-44f2-bf48-d72de6f90717,Project for Government (Plan E5) +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,MCOSTANDARD_GOV,a31ef4a2-f787-435e-8335-e47eb0cafc94,Skype for Business Online (Plan 2) for Government +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,STREAM_O365_E5_GOV,92c2089d-9a53-49fe-b1a6-9e6bdf959547,Stream for Office 365 for Government (E5) +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,BPOS_S_TODO_3,3fb82609-8c27-4f7b-bd51-30634711ee67,To-Do (Plan 3) +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,RMS_S_ENTERPRISE_GOV,6a76346d-5d6e-4051-9fe3-ed3f312b5597,Azure Rights Management +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,DYN365_CDS_O365_P3_GCC,a7d3fb37-b6df-4085-b509-50810d991a39,Common Data Service +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,POWERAPPS_O365_P3_GOV,0eacfc38-458a-40d3-9eab-9671258f1a3e,Power Apps for Office 365 for Government +Office 365 GCC G5 without Audio Conferencing,ENTERPRISEPREMIUM_NOPSTNCONF_NOPBI_GOV,1341559b-49df-443c-8e79-fa604fed2d82,FLOW_O365_P3_GOV,8055d84a-c172-42eb-b997-6c2ae4628246,Power Automate for Office 365 for Government +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,CDS_O365_P3_GCC,bce5e5ca-c2fd-4d53-8ee2-58dfffed4c10,Common Data Service for Teams +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,LOCKBOX_ENTERPRISE_GOV,89b5d3b1-3855-49fe-b46c-87c66dbc1526,Customer Lockbox for Government +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,EXCHANGE_S_ENTERPRISE_GOV,8c3069c0-ccdb-44be-ab77-986203a67df2,Exchange Online (Plan 2) for Government +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,GRAPH_CONNECTORS_SEARCH_INDEX,a6520331-d7d4-4276-95f5-15c0933bc757,Graph Connectors Search with Index +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,INFORMATION_BARRIERS,c4801e8a-cb58-4c35-aca6-f2dcc106f287,Information Barriers +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,Content_Explorer,d9fa6af4-e046-4c89-9226-729a0786685d,Information Protection and Governance Analytics - Premium +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,ContentExplorer_Standard,2b815d45-56e4-4e3a-b65c-66cb9175b560,Information Protection and Governance Analytics – Standard +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,MIP_S_CLP2,efb0351d-3b08-4503-993d-383af8de41e3,Information Protection for Office 365 - Premium +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,MIP_S_CLP1,5136a095-5cf0-4aff-bec3-e84448b38ea5,Information Protection for Office 365 - Standard +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,M365_ADVANCED_AUDITING,2f442157-a11c-46b9-ae5b-6e39ff4e5849,Microsoft 365 Advanced Auditing +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,OFFICESUBSCRIPTION_GOV,de9234ff-6483-44d9-b15e-dca72fdd27af,Microsoft 365 Apps for enterprise G +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,MCOMEETADV_GOV,f544b08d-1645-4287-82de-8d91f37c02a1,Microsoft 365 Audio Conferencing for Government +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,MICROSOFT_COMMUNICATION_COMPLIANCE,a413a9ff-720c-4822-98ef-2f37c2a21f4c,Microsoft 365 Communication Compliance +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,MTP,bf28f719-7844-4079-9c78-c1307898e192,Microsoft 365 Defender +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,MICROSOFTBOOKINGS,199a5c09-e0ca-4e37-8f7c-b05d533e1ea2,Microsoft Bookings +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,COMMUNICATIONS_DLP,6dc145d6-95dd-4191-b9c3-185575ee6f6b,Microsoft Communications DLP +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,CUSTOMER_KEY,6db1f1db-2b46-403f-be40-e39395f08dbb,Microsoft Customer Key +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,ATP_ENTERPRISE_GOV,493ff600-6a2b-4db6-ad37-a7d4eb214516,Microsoft Defender for Office 365 (Plan 1) for Government +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,THREAT_INTELLIGENCE_GOV,900018f1-0cdb-4ecb-94d4-90281760fdc6,Microsoft Defender for Office 365 (Plan 2) for Government +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,FORMS_GOV_E5,843da3a8-d2cc-4e7a-9e90-dc46019f964c,Microsoft Forms for Government (Plan E5) +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,INFO_GOVERNANCE,e26c2fcc-ab91-4a61-b35c-03cdc8dddf66,Microsoft Information Governance +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,EXCHANGE_ANALYTICS_GOV,208120d1-9adb-4daf-8c22-816bd5d237e7,Microsoft MyAnalytics for Government (Full) +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,RECORDS_MANAGEMENT,65cc641f-cccd-4643-97e0-a17e3045e541,Microsoft Records Management +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,TEAMS_GOV,304767db-7d23-49e8-a945-4a7eb65f9f28,Microsoft Teams for Government +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,INTUNE_O365,882e1d05-acd1-4ccb-8708-6ee03664b117,Mobile Device Management for Office 365 +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,EQUIVIO_ANALYTICS_GOV,d1cbfb67-18a8-4792-b643-630b7f19aad1,Office 365 Advanced eDiscovery for Government +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,ADALLOM_S_O365,8c098270-9dd4-4350-9b30-ba4703f3b36b,Office 365 Cloud App Security +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,PROJECTWORKMANAGEMENT_GOV,5b4ef465-7ea1-459a-9f91-033317755a51,Office 365 Planner for Government +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,PREMIUM_ENCRYPTION,617b097b-4b93-4ede-83de-5f075bb5fb2f,Premium Encryption in Office 365 +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,PROJECT_O365_P3_GOV,9b7c50ec-cd50-44f2-bf48-d72de6f90717,Project for Government (Plan E5) +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,MCOSTANDARD_GOV,a31ef4a2-f787-435e-8335-e47eb0cafc94,Skype for Business Online (Plan 2) for Government +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,STREAM_O365_E5_GOV,92c2089d-9a53-49fe-b1a6-9e6bdf959547,Stream for Office 365 for Government (E5) +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,BPOS_S_TODO_3,3fb82609-8c27-4f7b-bd51-30634711ee67,To-Do (Plan 3) +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,RMS_S_ENTERPRISE_GOV,6a76346d-5d6e-4051-9fe3-ed3f312b5597,Azure Rights Management +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,DYN365_CDS_O365_P3_GCC,a7d3fb37-b6df-4085-b509-50810d991a39,Common Data Service +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,POWERAPPS_O365_P3_GOV,0eacfc38-458a-40d3-9eab-9671258f1a3e,Power Apps for Office 365 for Government +Office 365 GCC G5 without Power BI and Phone System,ENTERPRISEPREMIUM_NOPBIPBX_GOV,2f105cc2-c2c1-435b-a955-c5e82156c05d,FLOW_O365_P3_GOV,8055d84a-c172-42eb-b997-6c2ae4628246,Power Automate for Office 365 for Government +Office 365 Midsize Business,MIDSIZEPACK,04a7fb0d-32e0-4241-b4f5-3f7618cd1162,EXCHANGE_S_STANDARD_MIDMARKET,fc52cc4b-ed7d-472d-bbe7-b081c23ecc56,EXCHANGE ONLINE PLAN +Office 365 Midsize Business,MIDSIZEPACK,04a7fb0d-32e0-4241-b4f5-3f7618cd1162,MCOSTANDARD_MIDMARKET,b2669e95-76ef-4e7e-a367-002f60a39f3e,SKYPE FOR BUSINESS ONLINE (PLAN 2) FOR MIDSIZ +Office 365 Midsize Business,MIDSIZEPACK,04a7fb0d-32e0-4241-b4f5-3f7618cd1162,OFFICESUBSCRIPTION,43de0ff5-c92c-492b-9116-175376d08c38,OFFICESUBSCRIPTION +Office 365 Midsize Business,MIDSIZEPACK,04a7fb0d-32e0-4241-b4f5-3f7618cd1162,SHAREPOINTENTERPRISE_MIDMARKET,6b5b6a67-fc72-4a1f-a2b5-beecf05de761,SHAREPOINT PLAN 1 +Office 365 Midsize Business,MIDSIZEPACK,04a7fb0d-32e0-4241-b4f5-3f7618cd1162,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,OFFICE ONLINE +Office 365 Midsize Business,MIDSIZEPACK,04a7fb0d-32e0-4241-b4f5-3f7618cd1162,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,SWAY +Office 365 Midsize Business,MIDSIZEPACK,04a7fb0d-32e0-4241-b4f5-3f7618cd1162,YAMMER_MIDSIZE,41bf139a-4e60-409f-9346-a1361efc6dfb,YAMMER_MIDSIZE +Office 365 Small Business,LITEPACK,bd09678e-b83c-4d3f-aaba-3dad4abd128b,EXCHANGE_L_STANDARD,d42bdbd6-c335-4231-ab3d-c8f348d5aff5,EXCHANGE ONLINE (P1) +Office 365 Small Business,LITEPACK,bd09678e-b83c-4d3f-aaba-3dad4abd128b,MCOLITE,70710b6b-3ab4-4a38-9f6d-9f169461650a,SKYPE FOR BUSINESS ONLINE (PLAN P1) +Office 365 Small Business,LITEPACK,bd09678e-b83c-4d3f-aaba-3dad4abd128b,SHAREPOINTLITE,a1f3d0a8-84c0-4ae0-bae4-685917b8ab48,SHAREPOINTLITE +Office 365 Small Business,LITEPACK,bd09678e-b83c-4d3f-aaba-3dad4abd128b,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,SWAY +Office 365 Small Business Premium,LITEPACK_P2,fc14ec4a-4169-49a4-a51e-2c852931814b,EXCHANGE_L_STANDARD,d42bdbd6-c335-4231-ab3d-c8f348d5aff5,EXCHANGE ONLINE (P1) +Office 365 Small Business Premium,LITEPACK_P2,fc14ec4a-4169-49a4-a51e-2c852931814b,MCOLITE,70710b6b-3ab4-4a38-9f6d-9f169461650a,SKYPE FOR BUSINESS ONLINE (PLAN P1) +Office 365 Small Business Premium,LITEPACK_P2,fc14ec4a-4169-49a4-a51e-2c852931814b,OFFICE_PRO_PLUS_SUBSCRIPTION_SMBIZ,8ca59559-e2ca-470b-b7dd-afd8c0dee963,OFFICE 365 SMALL BUSINESS SUBSCRIPTION +Office 365 Small Business Premium,LITEPACK_P2,fc14ec4a-4169-49a4-a51e-2c852931814b,SHAREPOINTLITE,a1f3d0a8-84c0-4ae0-bae4-685917b8ab48,SHAREPOINTLITE +Office 365 Small Business Premium,LITEPACK_P2,fc14ec4a-4169-49a4-a51e-2c852931814b,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,SWAY +Office Mobile Apps for Office 365 for GCC,OFFICEMOBILE_SUBSCRIPTION_GOV_TEST,64fca79f-c471-4e13-a335-9069cddf8aeb,DYN365_CDS_PROJECT_GCC,83837d9c-c21a-46a0-873e-d834c94015d6,Common Data Service for Project for GCC +Office Mobile Apps for Office 365 for GCC,OFFICEMOBILE_SUBSCRIPTION_GOV_TEST,64fca79f-c471-4e13-a335-9069cddf8aeb,FLOW_FOR_PROJECT_GCC,7251de8f-ecfb-481e-bcff-4af4f1a4573c,Data integration for Project with Power Automate for GCC +Office Mobile Apps for Office 365 for GCC,OFFICEMOBILE_SUBSCRIPTION_GOV_TEST,64fca79f-c471-4e13-a335-9069cddf8aeb,MICROSOFT_SEARCH,94065c59-bc8e-4e8b-89e5-5138d471eaff,Microsoft Search +Office Mobile Apps for Office 365 for GCC,OFFICEMOBILE_SUBSCRIPTION_GOV_TEST,64fca79f-c471-4e13-a335-9069cddf8aeb,OFFICEMOBILE_SUBSCRIPTION_GOV,4ccb60ee-9523-48fd-8f63-4b090f1ad77a,Office Mobile Apps for Office 365 for GCC +Office Mobile Apps for Office 365 for GCC,OFFICEMOBILE_SUBSCRIPTION_GOV_TEST,64fca79f-c471-4e13-a335-9069cddf8aeb,PROJECT_CLIENT_SUBSCRIPTION_GOV,45c6831b-ad74-4c7f-bd03-7c2b3fa39067,Project Online Desktop Client +Office Mobile Apps for Office 365 for GCC,OFFICEMOBILE_SUBSCRIPTION_GOV_TEST,64fca79f-c471-4e13-a335-9069cddf8aeb,PROJECT_PROFESSIONAL_FOR_GOV,49c7bc16-7004-4df6-8cd5-4ec48b7e9ea0,Project P3 for GOV +Office Mobile Apps for Office 365 for GCC,OFFICEMOBILE_SUBSCRIPTION_GOV_TEST,64fca79f-c471-4e13-a335-9069cddf8aeb,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G +Office Mobile Apps for Office 365 for GCC,OFFICEMOBILE_SUBSCRIPTION_GOV_TEST,64fca79f-c471-4e13-a335-9069cddf8aeb,FLOW_FOR_PROJECT_GOV,16687e20-06f9-4577-9cc0-34a2704260fc,Data integration for Project with Power Automate for GCC +OneDrive for Business (Plan 1),WACONEDRIVESTANDARD,e6778190-713e-4e4f-9119-8b8238de25df,FORMS_PLAN_E1,159f4cd6-e380-449f-a816-af1a9ef76344,MICROSOFT FORMS (PLAN E1) +OneDrive for Business (Plan 1),WACONEDRIVESTANDARD,e6778190-713e-4e4f-9119-8b8238de25df,ONEDRIVESTANDARD,13696edf-5a08-49f6-8134-03083ed8ba30,ONEDRIVESTANDARD +OneDrive for Business (Plan 1),WACONEDRIVESTANDARD,e6778190-713e-4e4f-9119-8b8238de25df,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,OFFICE ONLINE +OneDrive for Business (Plan 1),WACONEDRIVESTANDARD,e6778190-713e-4e4f-9119-8b8238de25df,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,SWAY +OneDrive for Business (Plan 2),WACONEDRIVEENTERPRISE,ed01faf2-1d88-4947-ae91-45ca18703a96,ONEDRIVEENTERPRISE,afcafa6a-d966-4462-918c-ec0b4e0fe642,ONEDRIVEENTERPRISE +OneDrive for Business (Plan 2),WACONEDRIVEENTERPRISE,ed01faf2-1d88-4947-ae91-45ca18703a96,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,OFFICE ONLINE +PowerApps & Flow GCC Test - O365 & Dyn365 Plans,POWERFLOWGCC_TEST,0f13a262-dc6f-4800-8dc6-a62f72c95fad,DYN365_CDS_PROJECT_GCC,83837d9c-c21a-46a0-873e-d834c94015d6,Common Data Service for Project for GCC +PowerApps & Flow GCC Test - O365 & Dyn365 Plans,POWERFLOWGCC_TEST,0f13a262-dc6f-4800-8dc6-a62f72c95fad,CDSAICAPACITY_PERAPP,5d7a2e9a-4ee5-4f1c-bc9f-abc481bf39d8,AI Builder capacity Per App add-on +PowerApps & Flow GCC Test - O365 & Dyn365 Plans,POWERFLOWGCC_TEST,0f13a262-dc6f-4800-8dc6-a62f72c95fad,DYN365_CDS_P1_GOV,ce361df2-f2a5-4713-953f-4050ba09aad8,Common Data Service for Government +PowerApps & Flow GCC Test - O365 & Dyn365 Plans,POWERFLOWGCC_TEST,0f13a262-dc6f-4800-8dc6-a62f72c95fad,DYN365_CDS_P2_GOV,37396c73-2203-48e6-8be1-d882dae53275,Common Data Service for Government +PowerApps & Flow GCC Test - O365 & Dyn365 Plans,POWERFLOWGCC_TEST,0f13a262-dc6f-4800-8dc6-a62f72c95fad,DYN365_CDS_FOR_PROJECT_GCC_P5,684a2229-5c57-43ab-b69f-f86fe8997358,Common Data Service for Project P5 for GCC +PowerApps & Flow GCC Test - O365 & Dyn365 Plans,POWERFLOWGCC_TEST,0f13a262-dc6f-4800-8dc6-a62f72c95fad,FLOW_FOR_PROJECT_GOV,16687e20-06f9-4577-9cc0-34a2704260fc,Data integration for Project with Power Automate for GCC +PowerApps & Flow GCC Test - O365 & Dyn365 Plans,POWERFLOWGCC_TEST,0f13a262-dc6f-4800-8dc6-a62f72c95fad,CDSAICAPACITY_PERUSER,91f50f7b-2204-4803-acac-5cf5668b8b39,DO NOT USE - AI Builder capacity Per User add-on +PowerApps & Flow GCC Test - O365 & Dyn365 Plans,POWERFLOWGCC_TEST,0f13a262-dc6f-4800-8dc6-a62f72c95fad,POWERAPPS_O365_S1_GOV,49f06c3d-da7d-4fa0-bcce-1458fdd18a59,Power Apps for Office 365 F3 for Government +PowerApps & Flow GCC Test - O365 & Dyn365 Plans,POWERFLOWGCC_TEST,0f13a262-dc6f-4800-8dc6-a62f72c95fad,POWERAPPS_O365_P1_GOV,c42aa49a-f357-45d5-9972-bc29df885fee,Power Apps for Office 365 for Government +PowerApps & Flow GCC Test - O365 & Dyn365 Plans,POWERFLOWGCC_TEST,0f13a262-dc6f-4800-8dc6-a62f72c95fad,POWERAPPS_O365_P2_GOV,0a20c815-5e81-4727-9bdc-2b5a117850c3,Power Apps for Office 365 for Government +PowerApps & Flow GCC Test - O365 & Dyn365 Plans,POWERFLOWGCC_TEST,0f13a262-dc6f-4800-8dc6-a62f72c95fad,POWERAPPS_O365_P3_GOV,0eacfc38-458a-40d3-9eab-9671258f1a3e,Power Apps for Office 365 for Government +PowerApps & Flow GCC Test - O365 & Dyn365 Plans,POWERFLOWGCC_TEST,0f13a262-dc6f-4800-8dc6-a62f72c95fad,FLOW_DYN_APPS_GOV,2c6af4f1-e7b6-4d59-bbc8-eaa884f42d69,Power Automate for Dynamics 365 for Government +PowerApps & Flow GCC Test - O365 & Dyn365 Plans,POWERFLOWGCC_TEST,0f13a262-dc6f-4800-8dc6-a62f72c95fad,FLOW_DYN_TEAM_GOV,47bdde6a-959f-4c7f-8d59-3243e34f1cb3,Power Automate for Dynamics 365 Team Members for Government +PowerApps & Flow GCC Test - O365 & Dyn365 Plans,POWERFLOWGCC_TEST,0f13a262-dc6f-4800-8dc6-a62f72c95fad,FLOW_O365_S1_GOV,5d32692e-5b24-4a59-a77e-b2a8650e25c1,Power Automate for Office 365 F3 for Government +PowerApps & Flow GCC Test - O365 & Dyn365 Plans,POWERFLOWGCC_TEST,0f13a262-dc6f-4800-8dc6-a62f72c95fad,FLOW_O365_P1_GOV,ad6c8870-6356-474c-901c-64d7da8cea48,Power Automate for Office 365 for Government +PowerApps & Flow GCC Test - O365 & Dyn365 Plans,POWERFLOWGCC_TEST,0f13a262-dc6f-4800-8dc6-a62f72c95fad,FLOW_O365_P2_GOV,c537f360-6a00-4ace-a7f5-9128d0ac1e4b,Power Automate for Office 365 for Government +PowerApps & Flow GCC Test - O365 & Dyn365 Plans,POWERFLOWGCC_TEST,0f13a262-dc6f-4800-8dc6-a62f72c95fad,FLOW_O365_P3_GOV,8055d84a-c172-42eb-b997-6c2ae4628246,Power Automate for Office 365 for Government +PowerApps & Flow GCC Test - O365 & Dyn365 Plans,POWERFLOWGCC_TEST,0f13a262-dc6f-4800-8dc6-a62f72c95fad,FLOW_DYN_P2_GOV,06879193-37cc-4976-8991-f8165c994ce7,Power Automate P2 for Dynamics 365 for Government +PowerApps & Flow GCC Test - O365 & Dyn365 Plans,POWERFLOWGCC_TEST,0f13a262-dc6f-4800-8dc6-a62f72c95fad,POWERAPPS_DYN_APPS_GOV,3089c02b-e533-4b73-96a5-01fa648c3c3c,PowerApps for Dynamics 365 for Government +PowerApps & Flow GCC Test - O365 & Dyn365 Plans,POWERFLOWGCC_TEST,0f13a262-dc6f-4800-8dc6-a62f72c95fad,POWERAPPS_DYN_TEAM_GOV,63efc247-5f28-43e3-a2f8-00c183e3f1db,PowerApps for Dynamics 365 Team Members for Government +PowerApps & Flow GCC Test - O365 & Dyn365 Plans,POWERFLOWGCC_TEST,0f13a262-dc6f-4800-8dc6-a62f72c95fad,POWERAPPS_DYN_P2_GOV,51729bb5-7564-4927-8df8-9f5b12279cf3,PowerApps Plan 2 for Dynamics 365 for Government +Power Apps and Logic Flows,POWERAPPS_INDIVIDUAL_USER,87bbbc60-4754-4998-8c88-227dca264858,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,EXCHANGE FOUNDATION +Power Apps and Logic Flows,POWERAPPS_INDIVIDUAL_USER,87bbbc60-4754-4998-8c88-227dca264858,POWERFLOWSFREE,0b4346bb-8dc3-4079-9dfc-513696f56039,LOGIC FLOWS +Power Apps and Logic Flows,POWERAPPS_INDIVIDUAL_USER,87bbbc60-4754-4998-8c88-227dca264858,POWERVIDEOSFREE,2c4ec2dc-c62d-4167-a966-52a3e6374015,MICROSOFT POWER VIDEOS BASIC +Power Apps and Logic Flows,POWERAPPS_INDIVIDUAL_USER,87bbbc60-4754-4998-8c88-227dca264858,POWERAPPSFREE,e61a2945-1d4e-4523-b6e7-30ba39d20f32,MICROSOFT POWERAPPS +PowerApps per app baseline access,POWERAPPS_PER_APP_IW,bf666882-9c9b-4b2e-aa2f-4789b0a52ba2,CDS_PER_APP_IWTRIAL,94a669d1-84d5-4e54-8462-53b0ae2c8be5,CDS Per app baseline access +PowerApps per app baseline access,POWERAPPS_PER_APP_IW,bf666882-9c9b-4b2e-aa2f-4789b0a52ba2,Flow_Per_APP_IWTRIAL,dd14867e-8d31-4779-a595-304405f5ad39,Flow per app baseline access +PowerApps per app baseline access,POWERAPPS_PER_APP_IW,bf666882-9c9b-4b2e-aa2f-4789b0a52ba2,POWERAPPS_PER_APP_IWTRIAL,35122886-cef5-44a3-ab36-97134eabd9ba,PowerApps per app baseline access +Power Apps Per App BD Only for GCC,POWERAPPS_PER_APP_BD_ONLY_GCC,cdc8d0fc-fd16-4954-aae6-ed89a99f5620,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government +Power Apps Per App BD Only for GCC,POWERAPPS_PER_APP_BD_ONLY_GCC,cdc8d0fc-fd16-4954-aae6-ed89a99f5620,CDS_ POWERAPPS_PER_APP_CUSTOM_GCC,ee493f70-a3b3-4204-9511-e3f6083b8df3,CDS Power Apps Per App Custom GCC +Power Apps Per App BD Only for GCC,POWERAPPS_PER_APP_BD_ONLY_GCC,cdc8d0fc-fd16-4954-aae6-ed89a99f5620,POWERAPPS_PER_APP_GCC,be6e5cba-3661-424c-b79a-6d95fa1d849a,Power Apps per App Plan for Government +Power Apps Per App BD Only for GCC,POWERAPPS_PER_APP_BD_ONLY_GCC,cdc8d0fc-fd16-4954-aae6-ed89a99f5620,Flow_Per_APP_GCC,8e2c2c3d-07f6-4da7-86a9-e78cc8c2c8b9,Power Automate for Power Apps per App Plan for Government +Power Apps per app plan,POWERAPPS_PER_APP,a8ad7d2b-b8cf-49d6-b25a-69094a0be206,CDS_PER_APP,9f2f00ad-21ae-4ceb-994b-d8bc7be90999,CDS PowerApps per app plan +Power Apps per app plan,POWERAPPS_PER_APP,a8ad7d2b-b8cf-49d6-b25a-69094a0be206,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Power Apps per app plan,POWERAPPS_PER_APP,a8ad7d2b-b8cf-49d6-b25a-69094a0be206,POWERAPPS_PER_APP,b4f657ff-d83e-4053-909d-baa2b595ec97,Power Apps per App Plan +Power Apps per app plan,POWERAPPS_PER_APP,a8ad7d2b-b8cf-49d6-b25a-69094a0be206,Flow_Per_APP,c539fa36-a64e-479a-82e1-e40ff2aa83ee,Power Automate for Power Apps per App Plan +Power Apps per app plan (1 app or portal),POWERAPPS_PER_APP_NEW,b4d7b828-e8dc-4518-91f9-e123ae48440d,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Power Apps per app plan (1 app or portal),POWERAPPS_PER_APP_NEW,b4d7b828-e8dc-4518-91f9-e123ae48440d,CDSAICAPACITY_PERAPP,5d7a2e9a-4ee5-4f1c-bc9f-abc481bf39d8,AI Builder capacity Per App add-on +Power Apps per app plan (1 app or portal),POWERAPPS_PER_APP_NEW,b4d7b828-e8dc-4518-91f9-e123ae48440d,DATAVERSE_POWERAPPS_PER_APP_NEW,6f0e9100-ff66-41ce-96fc-3d8b7ad26887,Dataverse for Power Apps per app +Power Apps per app plan (1 app or portal),POWERAPPS_PER_APP_NEW,b4d7b828-e8dc-4518-91f9-e123ae48440d,POWERAPPS_PER_APP_NEW,14f8dac2-0784-4daa-9cb2-6d670b088d64,Power Apps per app +Power Apps per app plan (1 app or portal),POWERAPPS_PER_APP_NEW,b4d7b828-e8dc-4518-91f9-e123ae48440d,Flow_Per_APP,c539fa36-a64e-479a-82e1-e40ff2aa83ee,Power Automate for Power Apps per App Plan +Power Apps per app plan (1 app or website) BD Only - GCC,Power_Apps_per_app_plan_(1_app_or_portal)_BD_Only_GCC,816ee058-f70c-42ad-b433-d6171984ea20,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Power Apps per app plan (1 app or website) BD Only - GCC,Power_Apps_per_app_plan_(1_app_or_portal)_BD_Only_GCC,816ee058-f70c-42ad-b433-d6171984ea20,CDS_ POWERAPPS_PER_APP_CUSTOM_NEW,c2da6658-f89d-49f2-9508-40431dee115b,CDS Power Apps Per App Custom New +Power Apps per app plan (1 app or website) BD Only - GCC,Power_Apps_per_app_plan_(1_app_or_portal)_BD_Only_GCC,816ee058-f70c-42ad-b433-d6171984ea20,POWERAPPS_PER_APP_GCC_NEW,70091fc8-1836-470f-a386-f4e6639cb04e,Power Apps per app for GCC +Power Apps per app plan (1 app or website) BD Only - GCC,Power_Apps_per_app_plan_(1_app_or_portal)_BD_Only_GCC,816ee058-f70c-42ad-b433-d6171984ea20,Flow_Per_APP_GCC,8e2c2c3d-07f6-4da7-86a9-e78cc8c2c8b9,Power Automate for Power Apps per App Plan for Government +Power Apps per app plan (1 app or website) for Government,POWERAPPS_PER_APP_GCC_NEW,c14d7f00-457c-4e3e-8960-48f35459b3c9,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government +Power Apps per app plan (1 app or website) for Government,POWERAPPS_PER_APP_GCC_NEW,c14d7f00-457c-4e3e-8960-48f35459b3c9,CDSAICAPACITY_PERAPP,5d7a2e9a-4ee5-4f1c-bc9f-abc481bf39d8,AI Builder capacity Per App add-on +Power Apps per app plan (1 app or website) for Government,POWERAPPS_PER_APP_GCC_NEW,c14d7f00-457c-4e3e-8960-48f35459b3c9,DATAVERSE_POWERAPPS_PER_APP_NEW,6f0e9100-ff66-41ce-96fc-3d8b7ad26887,Dataverse for Power Apps per app +Power Apps per app plan (1 app or website) for Government,POWERAPPS_PER_APP_GCC_NEW,c14d7f00-457c-4e3e-8960-48f35459b3c9,POWERAPPS_PER_APP_GCC_NEW,70091fc8-1836-470f-a386-f4e6639cb04e,Power Apps per app for GCC +Power Apps per app plan (1 app or website) for Government,POWERAPPS_PER_APP_GCC_NEW,c14d7f00-457c-4e3e-8960-48f35459b3c9,Flow_Per_APP_GCC,8e2c2c3d-07f6-4da7-86a9-e78cc8c2c8b9,Power Automate for Power Apps per App Plan for Government +Power Apps per app plan for Government,POWERAPPS_PER_APP_GCC,8623b2d7-5e24-4281-b6b7-086a5f3b0b1c,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government +Power Apps per app plan for Government,POWERAPPS_PER_APP_GCC,8623b2d7-5e24-4281-b6b7-086a5f3b0b1c,CDS_PER_APP_GCC,d7f9c9bc-0a28-4da4-b5f1-731acb27a3e4,CDS PowerApps per app plan for GCC +Power Apps per app plan for Government,POWERAPPS_PER_APP_GCC,8623b2d7-5e24-4281-b6b7-086a5f3b0b1c,POWERAPPS_PER_APP_GCC,be6e5cba-3661-424c-b79a-6d95fa1d849a,Power Apps per App Plan for Government +Power Apps per app plan for Government,POWERAPPS_PER_APP_GCC,8623b2d7-5e24-4281-b6b7-086a5f3b0b1c,Flow_Per_APP_GCC,8e2c2c3d-07f6-4da7-86a9-e78cc8c2c8b9,Power Automate for Power Apps per App Plan for Government +Power Apps Per User BD Only,POWERAPPS_PER_USER_BD_ONLY,2ced8a00-3ed1-4295-ab7c-57170ff28e58,Power_Pages_Internal_User,60bf28f9-2b70-4522-96f7-335f5e06c941,Power Pages Internal User +Power Apps Per User BD Only,POWERAPPS_PER_USER_BD_ONLY,2ced8a00-3ed1-4295-ab7c-57170ff28e58,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Power Apps Per User BD Only,POWERAPPS_PER_USER_BD_ONLY,2ced8a00-3ed1-4295-ab7c-57170ff28e58,CDS_ POWERAPPS_PER_USER_CUSTOM,2e8dde43-6986-479d-b179-7dbe31c31f60,CDS Power Apps Per User Custom +Power Apps Per User BD Only,POWERAPPS_PER_USER_BD_ONLY,2ced8a00-3ed1-4295-ab7c-57170ff28e58,POWERAPPS_PER_USER,ea2cf03b-ac60-46ae-9c1d-eeaeb63cec86,Power Apps per User Plan +Power Apps Per User BD Only,POWERAPPS_PER_USER_BD_ONLY,2ced8a00-3ed1-4295-ab7c-57170ff28e58,Flow_PowerApps_PerUser,dc789ed8-0170-4b65-a415-eb77d5bb350a,Power Automate for Power Apps per User Plan +Power Apps per user plan,POWERAPPS_PER_USER,b30411f5-fea1-4a59-9ad9-3db7c7ead579,DYN365_CDS_P2,6ea4c1ef-c259-46df-bce2-943342cd3cb2,Common Data Service - P2 +Power Apps per user plan,POWERAPPS_PER_USER,b30411f5-fea1-4a59-9ad9-3db7c7ead579,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Power Apps per user plan,POWERAPPS_PER_USER,b30411f5-fea1-4a59-9ad9-3db7c7ead579,POWERAPPS_PER_USER,ea2cf03b-ac60-46ae-9c1d-eeaeb63cec86,Power Apps per User Plan +Power Apps per user plan,POWERAPPS_PER_USER,b30411f5-fea1-4a59-9ad9-3db7c7ead579,Flow_PowerApps_PerUser,dc789ed8-0170-4b65-a415-eb77d5bb350a,Power Automate for Power Apps per User Plan +Power Apps per user plan for Government,POWERAPPS_PER_USER_GCC,8e4c6baa-f2ff-4884-9c38-93785d0d7ba1,CDSAICAPACITY_PERUSER,91f50f7b-2204-4803-acac-5cf5668b8b39,AI Builder capacity Per User add-on +Power Apps per user plan for Government,POWERAPPS_PER_USER_GCC,8e4c6baa-f2ff-4884-9c38-93785d0d7ba1,CDSAICAPACITY_PERUSER_NEW,74d93933-6f22-436e-9441-66d205435abb,AI Builder capacity Per User add-on +Power Apps per user plan for Government,POWERAPPS_PER_USER_GCC,8e4c6baa-f2ff-4884-9c38-93785d0d7ba1,DYN365_CDS_P2_GOV,37396c73-2203-48e6-8be1-d882dae53275,Common Data Service for Government +Power Apps per user plan for Government,POWERAPPS_PER_USER_GCC,8e4c6baa-f2ff-4884-9c38-93785d0d7ba1,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government +Power Apps per user plan for Government,POWERAPPS_PER_USER_GCC,8e4c6baa-f2ff-4884-9c38-93785d0d7ba1,POWERAPPS_PER_USER_GCC,8f55b472-f8bf-40a9-be30-e29919d4ddfe,Power Apps per User Plan for Government +Power Apps per user plan for Government,POWERAPPS_PER_USER_GCC,8e4c6baa-f2ff-4884-9c38-93785d0d7ba1,Flow_PowerApps_PerUser_GCC,8e3eb3bd-bc99-4221-81b8-8b8bc882e128,Power Automate for Power Apps per User Plan for GCC +PowerApps Plan 1 for Government,POWERAPPS_P1_GOV,eca22b68-b31f-4e9c-a20c-4d40287bc5dd,DYN365_CDS_P1_GOV,ce361df2-f2a5-4713-953f-4050ba09aad8,Common Data Service for Government +PowerApps Plan 1 for Government,POWERAPPS_P1_GOV,eca22b68-b31f-4e9c-a20c-4d40287bc5dd,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government +PowerApps Plan 1 for Government,POWERAPPS_P1_GOV,eca22b68-b31f-4e9c-a20c-4d40287bc5dd,FLOW_P1_GOV,774da41c-a8b3-47c1-8322-b9c1ab68be9f,Power Automate (Plan 1) for Government +PowerApps Plan 1 for Government,POWERAPPS_P1_GOV,eca22b68-b31f-4e9c-a20c-4d40287bc5dd,POWERAPPS_P1_GOV,5ce719f1-169f-4021-8a64-7d24dcaec15f,PowerApps Plan 1 for Government +Power Apps Portals login capacity add-on Tier 2 (10 unit min),POWERAPPS_PORTALS_LOGIN_T2,57f3babd-73ce-40de-bcb2-dadbfbfff9f7,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Power Apps Portals login capacity add-on Tier 2 (10 unit min),POWERAPPS_PORTALS_LOGIN_T2,57f3babd-73ce-40de-bcb2-dadbfbfff9f7,CDS_POWERAPPS_PORTALS_LOGIN,32ad3a4e-2272-43b4-88d0-80d284258208,Common Data Service Power Apps Portals Login Capacity +Power Apps Portals login capacity add-on Tier 2 (10 unit min),POWERAPPS_PORTALS_LOGIN_T2,57f3babd-73ce-40de-bcb2-dadbfbfff9f7,POWERAPPS_PORTALS_LOGIN,084747ad-b095-4a57-b41f-061d84d69f6f,Power Apps Portals Login Capacity Add-On +Power Apps Portals login capacity add-on Tier 2 (10 unit min) for Government,POWERAPPS_PORTALS_LOGIN_T2_GCC,26c903d5-d385-4cb1-b650-8d81a643b3c4,CDS_POWERAPPS_PORTALS_LOGIN_GCC,0f7b9a29-7990-44ff-9d05-a76be778f410,Common Data Service Power Apps Portals Login Capacity for GCC +Power Apps Portals login capacity add-on Tier 2 (10 unit min) for Government,POWERAPPS_PORTALS_LOGIN_T2_GCC,26c903d5-d385-4cb1-b650-8d81a643b3c4,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government +Power Apps Portals login capacity add-on Tier 2 (10 unit min) for Government,POWERAPPS_PORTALS_LOGIN_T2_GCC,26c903d5-d385-4cb1-b650-8d81a643b3c4,POWERAPPS_PORTALS_LOGIN_GCC,bea6aef1-f52d-4cce-ae09-bed96c4b1811,Power Apps Portals Login Capacity Add-On for Government +Power Apps Portals login capacity add-on Tier 3 (50 unit min),POWERAPPS_PORTALS_LOGIN_T3,927d8402-8d3b-40e8-b779-34e859f7b497,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Power Apps Portals login capacity add-on Tier 3 (50 unit min),POWERAPPS_PORTALS_LOGIN_T3,927d8402-8d3b-40e8-b779-34e859f7b497,CDS_POWERAPPS_PORTALS_LOGIN,32ad3a4e-2272-43b4-88d0-80d284258208,Common Data Service Power Apps Portals Login Capacity +Power Apps Portals login capacity add-on Tier 3 (50 unit min),POWERAPPS_PORTALS_LOGIN_T3,927d8402-8d3b-40e8-b779-34e859f7b497,POWERAPPS_PORTALS_LOGIN,084747ad-b095-4a57-b41f-061d84d69f6f,Power Apps Portals Login Capacity Add-On +Power Apps Portals page view capacity add-on,POWERAPPS_PORTALS_PAGEVIEW,a0de5e3a-2500-4a19-b8f4-ec1c64692d22,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Power Apps Portals page view capacity add-on,POWERAPPS_PORTALS_PAGEVIEW,a0de5e3a-2500-4a19-b8f4-ec1c64692d22,CDS_POWERAPPS_PORTALS_PAGEVIEW,72c30473-7845-460a-9feb-b58f216e8694,CDS PowerApps Portals page view capacity add-on +Power Apps Portals page view capacity add-on,POWERAPPS_PORTALS_PAGEVIEW,a0de5e3a-2500-4a19-b8f4-ec1c64692d22,POWERAPPS_PORTALS_PAGEVIEW,1c5a559a-ec06-4f76-be5b-6a315418495f,Power Apps Portals Page View Capacity Add-On +Power Apps Portals page view capacity add-on for Government,POWERAPPS_PORTALS_PAGEVIEW_GCC,15a64d3e-5b99-4c4b-ae8f-aa6da264bfe7,CDS_POWERAPPS_PORTALS_PAGEVIEW_GCC,352257a9-db78-4217-a29d-8b8d4705b014,CDS PowerApps Portals page view capacity add-on for GCC +Power Apps Portals page view capacity add-on for Government,POWERAPPS_PORTALS_PAGEVIEW_GCC,15a64d3e-5b99-4c4b-ae8f-aa6da264bfe7,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government +Power Apps Portals page view capacity add-on for Government,POWERAPPS_PORTALS_PAGEVIEW_GCC,15a64d3e-5b99-4c4b-ae8f-aa6da264bfe7,POWERAPPS_PORTALS_PAGEVIEW_GCC,483d5646-7724-46ac-ad71-c78b7f099d8d,Power Apps Portals Page View Capacity Add-On for Government +Power Automate per flow plan,FLOW_BUSINESS_PROCESS,b3a42176-0a8c-4c3f-ba4e-f2b37fe5be6b,CDS_Flow_Business_Process,c84e52ae-1906-4947-ac4d-6fb3e5bf7c2e,Common data service for Flow per business process plan +Power Automate per flow plan,FLOW_BUSINESS_PROCESS,b3a42176-0a8c-4c3f-ba4e-f2b37fe5be6b,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Power Automate per flow plan,FLOW_BUSINESS_PROCESS,b3a42176-0a8c-4c3f-ba4e-f2b37fe5be6b,FLOW_BUSINESS_PROCESS,7e017b61-a6e0-4bdc-861a-932846591f6e,Flow per business process plan +Power Automate per flow plan for Government,FLOW_BUSINESS_PROCESS_GCC,d9de51e5-d8cd-45bb-8da3-1d55e28c52e6,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government +Power Automate per flow plan for Government,FLOW_BUSINESS_PROCESS_GCC,d9de51e5-d8cd-45bb-8da3-1d55e28c52e6,CDS_Flow_Business_Process_GCC,54b61386-c818-4634-8400-61c9e8f6acd3,Common Data Service for Power Automate per Business Process Plan for GCC +Power Automate per flow plan for Government,FLOW_BUSINESS_PROCESS_GCC,d9de51e5-d8cd-45bb-8da3-1d55e28c52e6,FLOW_BUSINESS_PROCESS_GCC,cb83e771-a077-4a73-9201-d955585b29fa,Power Automate per Business Process Plan for Government +Power Automate per user plan,FLOW_PER_USER,4a51bf65-409c-4a91-b845-1121b571cc9d,DYN365_CDS_P2,6ea4c1ef-c259-46df-bce2-943342cd3cb2,Common Data Service - P2 +Power Automate per user plan,FLOW_PER_USER,4a51bf65-409c-4a91-b845-1121b571cc9d,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Power Automate per user plan,FLOW_PER_USER,4a51bf65-409c-4a91-b845-1121b571cc9d,FLOW_PER_USER,c5002c70-f725-4367-b409-f0eff4fee6c0,Flow per user plan +Power Automate per user plan dept,FLOW_PER_USER_DEPT,d80a4c5d-8f05-4b64-9926-6574b9e6aee4,DYN365_CDS_P2,6ea4c1ef-c259-46df-bce2-943342cd3cb2,Common Data Service - P2 +Power Automate per user plan dept,FLOW_PER_USER_DEPT,d80a4c5d-8f05-4b64-9926-6574b9e6aee4,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Power Automate per user plan dept,FLOW_PER_USER_DEPT,d80a4c5d-8f05-4b64-9926-6574b9e6aee4,FLOW_PER_USER,c5002c70-f725-4367-b409-f0eff4fee6c0,Flow per user plan +Power Automate per user plan for Government,FLOW_PER_USER_GCC,c8803586-c136-479a-8ff3-f5f32d23a68e,DYN365_CDS_P2_GOV,37396c73-2203-48e6-8be1-d882dae53275,Common Data Service for Government +Power Automate per user plan for Government,FLOW_PER_USER_GCC,c8803586-c136-479a-8ff3-f5f32d23a68e,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government +Power Automate per user plan for Government,FLOW_PER_USER_GCC,c8803586-c136-479a-8ff3-f5f32d23a68e,FLOW_PER_USER_GCC,769b8bee-2779-4c5a-9456-6f4f8629fd41,Power Automate per User Plan for Government +Power Automate Premium,POWERAUTOMATE_ATTENDED_RPA,eda1941c-3c4f-4995-b5eb-e85a42175ab9,CDS_ATTENDED_RPA,3da2fd4c-1bee-4b61-a17f-94c31e5cab93,Common Data Service Attended RPA +Power Automate Premium,POWERAUTOMATE_ATTENDED_RPA,eda1941c-3c4f-4995-b5eb-e85a42175ab9,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Power Automate Premium,POWERAUTOMATE_ATTENDED_RPA,eda1941c-3c4f-4995-b5eb-e85a42175ab9,POWER_AUTOMATE_ATTENDED_RPA,375cd0ad-c407-49fd-866a-0bff4f8a9a4d,Power Automate RPA Attended +Power Automate Premium for Government,POWERAUTOMATE_ATTENDED_RPA_GCC,d3987516-4b53-4dc0-8335-411260bf5626,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government +Power Automate Premium for Government,POWERAUTOMATE_ATTENDED_RPA_GCC,d3987516-4b53-4dc0-8335-411260bf5626,CDS_ATTENDED_RPA_GCC,4802707d-47e1-45dc-82c5-b6981f0fb38c,Common Data Service Attended RPA for Government +Power Automate Premium for Government,POWERAUTOMATE_ATTENDED_RPA_GCC,d3987516-4b53-4dc0-8335-411260bf5626,POWER_AUTOMATE_ATTENDED_RPA_GCC,fb613c67-1a58-4645-a8df-21e95a37d433,Power Automate Attended RPA for Government +Power Automate unattended RPA add-on,POWERAUTOMATE_UNATTENDED_RPA,3539d28c-6e35-4a30-b3a9-cd43d5d3e0e2,CDS_UNATTENDED_RPA,b475952f-128a-4a44-b82a-0b98a45ca7fb,Common Data Service Unattended RPA +Power Automate unattended RPA add-on,POWERAUTOMATE_UNATTENDED_RPA,3539d28c-6e35-4a30-b3a9-cd43d5d3e0e2,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Power Automate unattended RPA add-on,POWERAUTOMATE_UNATTENDED_RPA,3539d28c-6e35-4a30-b3a9-cd43d5d3e0e2,POWER_AUTOMATE_UNATTENDED_RPA,0d373a98-a27a-426f-8993-f9a425ae99c5,Power Automate Unattended RPA add-on +Power Automate unattended RPA add-on for Government,POWERAUTOMATE_UNATTENDED_RPA_GCC,086e9b70-4720-4442-ab6d-3ef32bfb4721,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government +Power Automate unattended RPA add-on for Government,POWERAUTOMATE_UNATTENDED_RPA_GCC,086e9b70-4720-4442-ab6d-3ef32bfb4721,CDS_UNATTENDED_RPA_GCC,5141c408-df3d-456a-9878-a65119b0a750,Common Data Service Unattended RPA for Government +Power Automate unattended RPA add-on for Government,POWERAUTOMATE_UNATTENDED_RPA_GCC,086e9b70-4720-4442-ab6d-3ef32bfb4721,POWER_AUTOMATE_UNATTENDED_RPA_GCC,45e63e9f-6dd9-41fd-bd41-93bfa008c537,Power Automate Unattended RPA for Government +Power BI,POWER_BI_INDIVIDUAL_USER,e2767865-c3c9-4f09-9f99-6eee6eef861a,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Power BI,POWER_BI_INDIVIDUAL_USER,e2767865-c3c9-4f09-9f99-6eee6eef861a,SQL_IS_SSIM,fc0a60aa-feee-4746-a0e3-aecfe81a38dd,Microsoft Power BI Information Services Plan 1 +Power BI,POWER_BI_INDIVIDUAL_USER,e2767865-c3c9-4f09-9f99-6eee6eef861a,BI_AZURE_P1,2125cfd7-2110-4567-83c4-c1cd5275163d,Microsoft Power BI Reporting and Analytics Plan 1 +Power BI for Office 365 Add-On,POWER_BI_ADDON,45bc2c81-6072-436a-9b0b-3b12eefbc402,BI_AZURE_P1,2125cfd7-2110-4567-83c4-c1cd5275163d,MICROSOFT POWER BI REPORTING AND ANALYTICS PLAN 1 +Power BI for Office 365 Add-On,POWER_BI_ADDON,45bc2c81-6072-436a-9b0b-3b12eefbc402,SQL_IS_SSIM,fc0a60aa-feee-4746-a0e3-aecfe81a38dd,MICROSOFT POWER BI INFORMATION SERVICES PLAN +Power BI Premium P1,PBI_PREMIUM_P1_ADDON,7b26f5ab-a763-4c00-a1ac-f6c4b5506945,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Power BI Premium P1,PBI_PREMIUM_P1_ADDON,7b26f5ab-a763-4c00-a1ac-f6c4b5506945,PBI_PREMIUM_P1_ADDON,9da49a6d-707a-48a1-b44a-53dcde5267f8,Power BI Premium P +Power BI Premium P1 GCC,PBI_PREMIUM_P1_ADDON_GCC,f59b22a0-9819-48bf-b01d-715ef2b31027,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government +Power BI Premium P1 GCC,PBI_PREMIUM_P1_ADDON_GCC,f59b22a0-9819-48bf-b01d-715ef2b31027,PBI_PREMIUM_P1_ADDON_GCC,30df3dbd-5bf6-4d74-9417-cccc096595e4,Power BI Premium P1 for GCC +Power BI Premium Per User,PBI_PREMIUM_PER_USER,c1d032e0-5619-4761-9b5c-75b6831e1711,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Power BI Premium Per User,PBI_PREMIUM_PER_USER,c1d032e0-5619-4761-9b5c-75b6831e1711,BI_AZURE_P3,0bf3c642-7bb5-4ccc-884e-59d09df0266c,Power BI Premium Per User +Power BI Premium Per User,PBI_PREMIUM_PER_USER,c1d032e0-5619-4761-9b5c-75b6831e1711,BI_AZURE_P2,70d33638-9c74-4d01-bfd3-562de28bd4ba,Power BI Pro +Power BI Premium Per User Add-On,PBI_PREMIUM_PER_USER_ADDON,de376a03-6e5b-42ec-855f-093fb50b8ca5,BI_AZURE_P3,0bf3c642-7bb5-4ccc-884e-59d09df0266c,Power BI Premium Per User +Power BI Premium Per User Add-On for GCC,PBI_PREMIUM_PER_USER_ADDON_CE_GCC,66024bbf-4cd4-4329-95c8-c932e2ae01a8,BI_AZURE_P3_GOV,32d15238-9a8c-46da-af3f-21fc5351d365,Power BI Premium Per User for Government +Power BI Premium Per User Add-On for GCC,PBI_PREMIUM_PER_USER_ADDON_GCC,1b572d5e-1bf8-4b19-9259-f9eda31a6972,BI_AZURE_P3_GOV,32d15238-9a8c-46da-af3f-21fc5351d365,Power BI Premium Per User for Government +Power BI Premium Per User Dept,PBI_PREMIUM_PER_USER_DEPT,f168a3fb-7bcf-4a27-98c3-c235ea4b78b4,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Power BI Premium Per User Dept,PBI_PREMIUM_PER_USER_DEPT,f168a3fb-7bcf-4a27-98c3-c235ea4b78b4,BI_AZURE_P3,0bf3c642-7bb5-4ccc-884e-59d09df0266c,Power BI Premium Per User +Power BI Premium Per User Dept,PBI_PREMIUM_PER_USER_DEPT,f168a3fb-7bcf-4a27-98c3-c235ea4b78b4,BI_AZURE_P2,70d33638-9c74-4d01-bfd3-562de28bd4ba,Power BI Pro +Power BI Premium Per User for Faculty,PBI_PREMIUM_PER_USER_FACULTY,060d8061-f606-4e69-a4e7-e8fff75ea1f5,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Power BI Premium Per User for Faculty,PBI_PREMIUM_PER_USER_FACULTY,060d8061-f606-4e69-a4e7-e8fff75ea1f5,BI_AZURE_P3,0bf3c642-7bb5-4ccc-884e-59d09df0266c,Power BI Premium Per User +Power BI Premium Per User for Faculty,PBI_PREMIUM_PER_USER_FACULTY,060d8061-f606-4e69-a4e7-e8fff75ea1f5,BI_AZURE_P2,70d33638-9c74-4d01-bfd3-562de28bd4ba,Power BI Pro +Power BI Premium Per User for Government,PBI_PREMIUM_PER_USER_GCC,e53d92fc-778b-4a8b-83de-791240ebf88d,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government +Power BI Premium Per User for Government,PBI_PREMIUM_PER_USER_GCC,e53d92fc-778b-4a8b-83de-791240ebf88d,BI_AZURE_P3_GOV,32d15238-9a8c-46da-af3f-21fc5351d365,Power BI Premium Per User for Government +Power BI Premium Per User for Government,PBI_PREMIUM_PER_USER_GCC,e53d92fc-778b-4a8b-83de-791240ebf88d,BI_AZURE_P_2_GOV,944e9726-f011-4353-b654-5f7d2663db76,Power BI Pro for Government +Power BI Pro,POWER_BI_PRO,f8a1db68-be16-40ed-86d5-cb42ce701560,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Power BI Pro,POWER_BI_PRO,f8a1db68-be16-40ed-86d5-cb42ce701560,BI_AZURE_P2,70d33638-9c74-4d01-bfd3-562de28bd4ba,Power BI Pro +Power BI Pro CE,POWER_BI_PRO_CE,420af87e-8177-4146-a780-3786adaffbca,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Power BI Pro CE,POWER_BI_PRO_CE,420af87e-8177-4146-a780-3786adaffbca,BI_AZURE_P2,70d33638-9c74-4d01-bfd3-562de28bd4ba,Power BI Pro +Power BI Pro Dept,POWER_BI_PRO_DEPT,3a6a908c-09c5-406a-8170-8ebb63c42882,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Power BI Pro Dept,POWER_BI_PRO_DEPT,3a6a908c-09c5-406a-8170-8ebb63c42882,BI_AZURE_P2,70d33638-9c74-4d01-bfd3-562de28bd4ba,Power BI Pro +Power BI Pro for Faculty,POWER_BI_PRO_FACULTY,de5f128b-46d7-4cfc-b915-a89ba060ea56,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Power BI Pro for Faculty,POWER_BI_PRO_FACULTY,de5f128b-46d7-4cfc-b915-a89ba060ea56,BI_AZURE_P2,70d33638-9c74-4d01-bfd3-562de28bd4ba,Power BI Pro +Power BI Pro for GCC,POWERBI_PRO_GOV,f0612879-44ea-47fb-baf0-3d76d9235576,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government +Power BI Pro for GCC,POWERBI_PRO_GOV,f0612879-44ea-47fb-baf0-3d76d9235576,BI_AZURE_P_2_GOV,944e9726-f011-4353-b654-5f7d2663db76,Power BI Pro for Government +Power BI Premium EM2,PBI_PREMIUM_EM2_ADDON,8ecbd3c1-b108-437c-a859-e3c125e3f83f,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Power BI Premium EM2,PBI_PREMIUM_EM2_ADDON,8ecbd3c1-b108-437c-a859-e3c125e3f83f,PBI_PREMIUM_EM2_ADDON,4e29abd1-ba96-44c0-8a72-e24e4fe9956e,Power BI Premium EM2 +Power BI Premium EM1,PBI_PREMIUM_EM1_ADDON,bc757c42-5622-4583-a483-a9e537fcb71c,EXCHANGE_S_FOUNDATION PBI_PREMIUM_EM1_ADDON,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Power BI Premium EM1,PBI_PREMIUM_EM1_ADDON,bc757c42-5622-4583-a483-a9e537fcb71c,EXCHANGE_S_FOUNDATION PBI_PREMIUM_EM1_ADDON,a64b30ba-f310-4065-b444-2670ef146db0,Power BI Premium EM1 +Power Pages authenticated users T1 100 users/per site/month capacity pack,Power_Pages_authenticated_users_T1_100_users/per_site/month_capacity_pack,debc9e58-f2d7-412c-a0b6-575608564228,PowerPages_Authenticated_User,0d3366f3-266e-4117-b422-7cabbc165e7c,Power Pages Authenticated Users per site monthly capacity +Power Pages authenticated users T1 100 users/per site/month capacity pack,Power_Pages_authenticated_users_T1_100_users/per_site/month_capacity_pack,debc9e58-f2d7-412c-a0b6-575608564228,PowerPages_Authenticated_User_GCCH,18e74ca2-b5f0-4802-9a8b-00d2ff1e8322,Power Pages Authenticated Users per site monthly capacity GCCH +Power Pages authenticated users T1 100 users/per site/month capacity pack_GCC,Power_Pages_authenticated_users_T1_100_users/per_site/month_capacity_pack_GCC,27cb5f12-2e3f-4997-a649-45298673e6a1,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site +Power Pages authenticated users T1 100 users/per site/month capacity pack_GCC,Power_Pages_authenticated_users_T1_100_users/per_site/month_capacity_pack_GCC,27cb5f12-2e3f-4997-a649-45298673e6a1,PowerPages_Authenticated_User_GCC,cdf787bd-1546-48d2-9e93-b21f9ea7067a,Power Pages Authenticated Users per site monthly capacity GCC +Power Pages authenticated users T1 100 users/per site/month capacity pack_USGOV_DOD,Power_Pages_authenticated_users_T1_100_users/per_site/month_capacity_pack_USGOV_DOD,b54f012e-69e1-43b1-87d0-666def064940,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site +Power Pages authenticated users T1 100 users/per site/month capacity pack_USGOV_DOD,Power_Pages_authenticated_users_T1_100_users/per_site/month_capacity_pack_USGOV_DOD,b54f012e-69e1-43b1-87d0-666def064940,PowerPages_Authenticated_User_DoD,03300fea-7a88-45a6-b5bd-29653803c591,Power Pages Authenticated Users per site monthly capacity DoD +Power Pages authenticated users T1 100 users/per site/month capacity pack_USGOV_GCCHIGH,Power_Pages_authenticated_users_T1_100_users/per_site/month_capacity_pack_USGOV_GCCHIGH,978ec396-f930-4ee1-85f3-e1d82e8f73a4,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site +Power Pages authenticated users T1 100 users/per site/month capacity pack_USGOV_GCCHIGH,Power_Pages_authenticated_users_T1_100_users/per_site/month_capacity_pack_USGOV_GCCHIGH,978ec396-f930-4ee1-85f3-e1d82e8f73a4,PowerPages_Authenticated_User_GCCH,18e74ca2-b5f0-4802-9a8b-00d2ff1e8322,Power Pages Authenticated Users per site monthly capacity GCCH +Power Pages authenticated users T1 100 users/per site/month capacity pack_USGOV_GCCHIGH,Power_Pages_authenticated_users_T1_100_users/per_site/month_capacity_pack_USGOV_GCCHIGH,978ec396-f930-4ee1-85f3-e1d82e8f73a4,PowerPages_Authenticated_Users_GCCH,5410f688-68f2-47a5-9b8f-7466194a806a,Power Pages Authenticated Users per site mthly capacity GCCH New +Power Pages authenticated users T2 min 100 units - 100 users/per site/month capacity pack,Power_Pages_authenticated_users_T2_min_100_units_100_users/per_site/month_capacity_pack,6fe1e61a-91e5-40d7-a547-0d2dcc81bce8,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site +Power Pages authenticated users T2 min 100 units - 100 users/per site/month capacity pack,Power_Pages_authenticated_users_T2_min_100_units_100_users/per_site/month_capacity_pack,6fe1e61a-91e5-40d7-a547-0d2dcc81bce8,PowerPages_Authenticated_User,0d3366f3-266e-4117-b422-7cabbc165e7c,Power Pages Authenticated Users per site monthly capacity +Power Pages authenticated users T2 min 100 units - 100 users/per site/month capacity pack,Power_Pages_authenticated_users_T2_min_100_units_100_users/per_site/month_capacity_pack,6fe1e61a-91e5-40d7-a547-0d2dcc81bce8,PowerPages_Authenticated_User_GCCH,18e74ca2-b5f0-4802-9a8b-00d2ff1e8322,Power Pages Authenticated Users per site monthly capacity GCCH +Power Pages authenticated users T2 min 100 units - 100 users/per site/month capacity pack_GCC,Power_Pages_authenticated_users_T2_min_100_units_100_users/per_site/month_capacity_pack_GCC,5f43d48c-dd3d-4dd8-a059-70c2f040f979,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site +Power Pages authenticated users T2 min 100 units - 100 users/per site/month capacity pack_GCC,Power_Pages_authenticated_users_T2_min_100_units_100_users/per_site/month_capacity_pack_GCC,5f43d48c-dd3d-4dd8-a059-70c2f040f979,PowerPages_Authenticated_User_GCC,cdf787bd-1546-48d2-9e93-b21f9ea7067a,Power Pages Authenticated Users per site monthly capacity GCC +Power Pages authenticated users T2 min 100 units - 100 users/per site/month capacity pack_USGOV_DOD,Power_Pages_authenticated_users_T2_min_100_units_100_users/per_site/month_capacity_pack_USGOV_DOD,f3d55e2d-4367-44fa-952e-83d0b5dd53fc,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site +Power Pages authenticated users T2 min 100 units - 100 users/per site/month capacity pack_USGOV_DOD,Power_Pages_authenticated_users_T2_min_100_units_100_users/per_site/month_capacity_pack_USGOV_DOD,f3d55e2d-4367-44fa-952e-83d0b5dd53fc,PowerPages_Authenticated_User_DoD,03300fea-7a88-45a6-b5bd-29653803c591,Power Pages Authenticated Users per site monthly capacity DoD +Power Pages authenticated users T2 min 100 units - 100 users/per site/month capacity pack_USGOV_GCCHIGH,Power_Pages_authenticated_users_T2_min_100_units_100_users/per_site/month_capacity_pack_USGOV_GCCHIGH,7cae5432-61bb-48c3-b75c-831394ec13a0,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site +Power Pages authenticated users T2 min 100 units - 100 users/per site/month capacity pack_USGOV_GCCHIGH,Power_Pages_authenticated_users_T2_min_100_units_100_users/per_site/month_capacity_pack_USGOV_GCCHIGH,7cae5432-61bb-48c3-b75c-831394ec13a0,PowerPages_Authenticated_User_GCCH,18e74ca2-b5f0-4802-9a8b-00d2ff1e8322,Power Pages Authenticated Users per site monthly capacity GCCH +Power Pages authenticated users T2 min 100 units - 100 users/per site/month capacity pack_USGOV_GCCHIGH,Power_Pages_authenticated_users_T2_min_100_units_100_users/per_site/month_capacity_pack_USGOV_GCCHIGH,7cae5432-61bb-48c3-b75c-831394ec13a0,PowerPages_Authenticated_Users_GCCH,5410f688-68f2-47a5-9b8f-7466194a806a,Power Pages Authenticated Users per site mthly capacity GCCH New +Power Pages authenticated users T2 min 100 units - 100 users/per site/month capacity pack CN_CN,Power Pages authenticated users T2_CN_CN,7d2bb54a-a870-41c2-98d1-1f3b5b523275,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site +Power Pages authenticated users T2 min 100 units - 100 users/per site/month capacity pack CN_CN,Power Pages authenticated users T2_CN_CN,7d2bb54a-a870-41c2-98d1-1f3b5b523275,PowerPages_Authenticated_User_CN,967d9574-a076-4bb7-ab89-f41f64bc142e,Power Pages Authenticated Users per site monthly capacity China +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack CN_CN,Power Pages authenticated users T3_CN_CN,2cfd692f-a352-4fa8-b960-e3ad0c9b1178,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack CN_CN,Power Pages authenticated users T3_CN_CN,2cfd692f-a352-4fa8-b960-e3ad0c9b1178,PowerPages_Authenticated_User_CN,967d9574-a076-4bb7-ab89-f41f64bc142e,Power Pages Authenticated Users per site monthly capacity China +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack,878b8bbd-3cd0-4b44-9a56-3406741e65e0,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack,878b8bbd-3cd0-4b44-9a56-3406741e65e0,PowerPages_Authenticated_User,0d3366f3-266e-4117-b422-7cabbc165e7c,Power Pages Authenticated Users per site monthly capacity +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack,878b8bbd-3cd0-4b44-9a56-3406741e65e0,PowerPages_Authenticated_User_GCCH,18e74ca2-b5f0-4802-9a8b-00d2ff1e8322,Power Pages Authenticated Users per site monthly capacity GCCH +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_GCC,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_GCC,53265c61-c78c-4223-ab30-422da0c97fbb,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_GCC,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_GCC,53265c61-c78c-4223-ab30-422da0c97fbb,PowerPages_Authenticated_User_GCC,cdf787bd-1546-48d2-9e93-b21f9ea7067a,Power Pages Authenticated Users per site monthly capacity GCC +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_USGOV_DOD,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_USGOV_DOD,398d37b5-8deb-48db-8f7f-703eb2fb7c72,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_USGOV_DOD,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_USGOV_DOD,398d37b5-8deb-48db-8f7f-703eb2fb7c72,PowerPages_Authenticated_User_DoD,03300fea-7a88-45a6-b5bd-29653803c591,Power Pages Authenticated Users per site monthly capacity DoD +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_USGOV_GCCHIGH,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_USGOV_GCCHIGH,01d46c34-3525-47d5-bd1a-5f19979938a0,DV_PowerPages_Authenticated_User,7aae746a-3463-4737-b295-3c1a16c31438,Dataverse for Power Pages Authenticated users per site +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_USGOV_GCCHIGH,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_USGOV_GCCHIGH,01d46c34-3525-47d5-bd1a-5f19979938a0,PowerPages_Authenticated_User_GCCH,18e74ca2-b5f0-4802-9a8b-00d2ff1e8322,Power Pages Authenticated Users per site monthly capacity GCCH +Power Pages authenticated users T3 min 1,000 units - 100 users/per site/month capacity pack_USGOV_GCCHIGH,Power_Pages_authenticated_users_T3_min_1,000_units_100_users/per_site/month_capacity_pack_USGOV_GCCHIGH,01d46c34-3525-47d5-bd1a-5f19979938a0,PowerPages_Authenticated_Users_GCCH,5410f688-68f2-47a5-9b8f-7466194a806a,Power Pages Authenticated Users per site mthly capacity GCCH New +Power Pages vTrial for Makers,Power_Pages_vTrial_for_Makers,3f9f06f5-3c31-472c-985f-62d9c10ec167,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Power Pages vTrial for Makers,Power_Pages_vTrial_for_Makers,3f9f06f5-3c31-472c-985f-62d9c10ec167,DYN365_CDS_VIRAL,17ab22cd-a0b3-4536-910a-cb6eb12696c0,Common Data Service +Power Pages vTrial for Makers,Power_Pages_vTrial_for_Makers,3f9f06f5-3c31-472c-985f-62d9c10ec167,POWER_PAGES_VTRIAL,6817d093-2d30-4249-8bd6-774f01efa78c,Power Pages vTrial for Makers +Power Virtual Agent,VIRTUAL_AGENT_BASE,e4e55366-9635-46f4-a907-fc8c3b5ec81f,CDS_VIRTUAL_AGENT_BASE,0a0a23fa-fea1-4195-bb89-b4789cb12f7f,Common Data Service for Virtual Agent Base +Power Virtual Agent,VIRTUAL_AGENT_BASE,e4e55366-9635-46f4-a907-fc8c3b5ec81f,FLOW_VIRTUAL_AGENT_BASE,4b81a949-69a1-4409-ad34-9791a6ec88aa,Power Automate for Virtual Agent +Power Virtual Agent,VIRTUAL_AGENT_BASE,e4e55366-9635-46f4-a907-fc8c3b5ec81f,VIRTUAL_AGENT_BASE,f6934f16-83d3-4f3b-ad27-c6e9c187b260,Virtual Agent Base +Power Virtual Agent for GCC,VIRTUAL_AGENT_BASE_GCC,9900a3e2-6660-4c52-9074-60c949991389,CDS_Virtual_Agent_Base_Gov,e4d0b25d-e440-4ee9-aac4-1d5a5db9f3ef,Dataverse for Virtual Agent Base for GCC +Power Virtual Agent for GCC,VIRTUAL_AGENT_BASE_GCC,9900a3e2-6660-4c52-9074-60c949991389,FLOW_Virtual_Agent_Base_Gov,f9f6db16-ace6-4838-b11c-892ee75e810a,Power Automate for Virtual Agent for GCC +Power Virtual Agent for GCC,VIRTUAL_AGENT_BASE_GCC,9900a3e2-6660-4c52-9074-60c949991389,Virtual_Agent_Base_GCC,e425b9f6-1543-45a0-8efb-f8fdaf18cba1,Virtual Agent Base for GCC +Power Virtual Agent User License,VIRTUAL_AGENT_USL,4b74a65c-8b4a-4fc8-9f6b-5177ed11ddfa,CDS_VIRTUAL_AGENT_USL,cb867b3c-7f38-4d0d-99ce-e29cd69812c8,Common Data Service +Power Virtual Agent User License,VIRTUAL_AGENT_USL,4b74a65c-8b4a-4fc8-9f6b-5177ed11ddfa,FLOW_VIRTUAL_AGENT_USL,82f141c9-2e87-4f43-8cb2-12d2701dc6b3,Power Automate for Virtual Agent +Power Virtual Agent User License,VIRTUAL_AGENT_USL,4b74a65c-8b4a-4fc8-9f6b-5177ed11ddfa,VIRTUAL_AGENT_USL,1263586c-59a4-4ad0-85e1-d50bc7149501,Virtual Agent +Power Virtual Agent User License for GCC,VIRTUAL_AGENT_USL_GCC,f1de227b-f1bd-4959-bd80-b80547095e6d,CDS_Virtual_Agent_Usl_GCC,95df1203-fee7-4726-b7e1-8037a8e899eb,Dataverse for Virtual Agent USL for GCC +Power Virtual Agent User License for GCC,VIRTUAL_AGENT_USL_GCC,f1de227b-f1bd-4959-bd80-b80547095e6d,Flow_Virtual_Agent_Usl_Gov,0b939472-1861-45f1-ab6d-208f359c05cd,Flow for Virtual Agent for GCC +Power Virtual Agent User License for GCC,VIRTUAL_AGENT_USL_GCC,f1de227b-f1bd-4959-bd80-b80547095e6d,FLOW_Virtual_Agent_Base_Gov,f9f6db16-ace6-4838-b11c-892ee75e810a,Power Automate for Virtual Agent for GCC +Power Virtual Agent User License for GCC,VIRTUAL_AGENT_USL_GCC,f1de227b-f1bd-4959-bd80-b80547095e6d,Power_Virtual_Agent_Usl_GCC,0bdd5466-65c3-470a-9fa6-f679b48286b0,Power Virtual Agent USL for GCC +Power Virtual Agents Viral Trial,CCIBOTS_PRIVPREV_VIRAL,606b54a9-78d8-4298-ad8b-df6ef4481c80,DYN365_CDS_CCI_BOTS,cf7034ed-348f-42eb-8bbd-dddeea43ee81,Common Data Service for CCI Bots +Power Virtual Agents Viral Trial,CCIBOTS_PRIVPREV_VIRAL,606b54a9-78d8-4298-ad8b-df6ef4481c80,CCIBOTS_PRIVPREV_VIRAL,ce312d15-8fdf-44c0-9974-a25a177125ee,Dynamics 365 AI for Customer Service Virtual Agents Viral +Power Virtual Agents Viral Trial,CCIBOTS_PRIVPREV_VIRAL,606b54a9-78d8-4298-ad8b-df6ef4481c80,FLOW_CCI_BOTS,5d798708-6473-48ad-9776-3acc301c40af,Flow for CCI Bots +Privacy Management – risk,PRIVACY_MANAGEMENT_RISK,e42bc969-759a-4820-9283-6b73085b68e6,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 +Privacy Management – risk,PRIVACY_MANAGEMENT_RISK,e42bc969-759a-4820-9283-6b73085b68e6,PRIVACY_MANGEMENT_RISK,f281fb1f-99a7-46ab-9edb-ffd74e260ed3,Priva - Risk +Privacy Management – risk,PRIVACY_MANAGEMENT_RISK,e42bc969-759a-4820-9283-6b73085b68e6,PRIVACY_MANGEMENT_RISK_EXCHANGE,ebb17a6e-6002-4f65-acb0-d386480cebc1,Priva - Risk (Exchange) +Privacy Management - risk for EDU,PRIVACY_MANAGEMENT_RISK_EDU,dcdbaae7-d8c9-40cb-8bb1-62737b9e5a86,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 +Privacy Management - risk for EDU,PRIVACY_MANAGEMENT_RISK_EDU,dcdbaae7-d8c9-40cb-8bb1-62737b9e5a86,PRIVACY_MANGEMENT_RISK,f281fb1f-99a7-46ab-9edb-ffd74e260ed3,Priva - Risk +Privacy Management - risk for EDU,PRIVACY_MANAGEMENT_RISK_EDU,dcdbaae7-d8c9-40cb-8bb1-62737b9e5a86,PRIVACY_MANGEMENT_RISK_EXCHANGE,ebb17a6e-6002-4f65-acb0-d386480cebc1,Priva - Risk (Exchange) +Privacy Management - risk GCC,PRIVACY_MANAGEMENT_RISK_GCC,046f7d3b-9595-4685-a2e8-a2832d2b26aa,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 +Privacy Management - risk GCC,PRIVACY_MANAGEMENT_RISK_GCC,046f7d3b-9595-4685-a2e8-a2832d2b26aa,PRIVACY_MANGEMENT_RISK,f281fb1f-99a7-46ab-9edb-ffd74e260ed3,Priva - Risk +Privacy Management - risk GCC,PRIVACY_MANAGEMENT_RISK_GCC,046f7d3b-9595-4685-a2e8-a2832d2b26aa,PRIVACY_MANGEMENT_RISK_EXCHANGE,ebb17a6e-6002-4f65-acb0-d386480cebc1,Priva - Risk (Exchange) +Privacy Management - risk_USGOV_DOD,PRIVACY_MANAGEMENT_RISK_USGOV_DOD,83b30692-0d09-435c-a455-2ab220d504b9,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 +Privacy Management - risk_USGOV_DOD,PRIVACY_MANAGEMENT_RISK_USGOV_DOD,83b30692-0d09-435c-a455-2ab220d504b9,PRIVACY_MANGEMENT_RISK,f281fb1f-99a7-46ab-9edb-ffd74e260ed3,Priva - Risk +Privacy Management - risk_USGOV_DOD,PRIVACY_MANAGEMENT_RISK_USGOV_DOD,83b30692-0d09-435c-a455-2ab220d504b9,PRIVACY_MANGEMENT_RISK_EXCHANGE,ebb17a6e-6002-4f65-acb0-d386480cebc1,Priva - Risk (Exchange) +Privacy Management - risk_USGOV_GCCHIGH,PRIVACY_MANAGEMENT_RISK_USGOV_GCCHIGH,787d7e75-29ca-4b90-a3a9-0b780b35367c,MIP_S_Exchange,cd31b152-6326-4d1b-ae1b-997b625182e6,Data Classification in Microsoft 365 +Privacy Management - risk_USGOV_GCCHIGH,PRIVACY_MANAGEMENT_RISK_USGOV_GCCHIGH,787d7e75-29ca-4b90-a3a9-0b780b35367c,PRIVACY_MANGEMENT_RISK,f281fb1f-99a7-46ab-9edb-ffd74e260ed3,Priva - Risk +Privacy Management - risk_USGOV_GCCHIGH,PRIVACY_MANAGEMENT_RISK_USGOV_GCCHIGH,787d7e75-29ca-4b90-a3a9-0b780b35367c,PRIVACY_MANGEMENT_RISK_EXCHANGE,ebb17a6e-6002-4f65-acb0-d386480cebc1,Priva - Risk (Exchange) +Privacy Management - subject rights request (1),PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_1_V2,d9020d1c-94ef-495a-b6de-818cbbcaa3b8,MIP_S_EXCHANGE_CO,5b96ffc4-3853-4cf4-af50-e38505080f6b,Data Classification in Microsoft 365 - Company Level +Privacy Management - subject rights request (1),PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_1_V2,d9020d1c-94ef-495a-b6de-818cbbcaa3b8,PRIVACY_MANGEMENT_DSR_EXCHANGE_1,93d24177-c2c3-408a-821d-3d25dfa66e7a,Privacy Management - Subject Rights Request (1) +Privacy Management - subject rights request (1),PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_1_V2,d9020d1c-94ef-495a-b6de-818cbbcaa3b8,PRIVACY_MANGEMENT_DSR_1,07a4098c-3f2d-427f-bfe2-5889ed75dd7b,Privacy Management - Subject Rights Request (1 - Exchange) +Privacy Management - subject rights request (1) for EDU,PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_1_EDU_V2,475e3e81-3c75-4e07-95b6-2fed374536c8,MIP_S_EXCHANGE_CO,5b96ffc4-3853-4cf4-af50-e38505080f6b,Data Classification in Microsoft 365 - Company Level +Privacy Management - subject rights request (1) for EDU,PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_1_EDU_V2,475e3e81-3c75-4e07-95b6-2fed374536c8,PRIVACY_MANGEMENT_DSR_EXCHANGE_1,93d24177-c2c3-408a-821d-3d25dfa66e7a,Privacy Management - Subject Rights Request (1 - Exchange) +Privacy Management - subject rights request (1) for EDU,PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_1_EDU_V2,475e3e81-3c75-4e07-95b6-2fed374536c8,PRIVACY_MANGEMENT_DSR_1,07a4098c-3f2d-427f-bfe2-5889ed75dd7b,Privacy Management - Subject Rights Request (1) +Privacy Management - subject rights request (1) GCC,PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_1_V2_GCC,017fb6f8-00dd-4025-be2b-4eff067cae72,MIP_S_EXCHANGE_CO,5b96ffc4-3853-4cf4-af50-e38505080f6b,Data Classification in Microsoft 365 - Company Level +Privacy Management - subject rights request (1) GCC,PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_1_V2_GCC,017fb6f8-00dd-4025-be2b-4eff067cae72,PRIVACY_MANGEMENT_DSR_EXCHANGE_1,93d24177-c2c3-408a-821d-3d25dfa66e7a,Privacy Management - Subject Rights Request (1 - Exchange) +Privacy Management - subject rights request (1) GCC,PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_1_V2_GCC,017fb6f8-00dd-4025-be2b-4eff067cae72,PRIVACY_MANGEMENT_DSR_1,07a4098c-3f2d-427f-bfe2-5889ed75dd7b,Privacy Management - Subject Rights Request (1) +Privacy Management - subject rights request (1) USGOV_DOD,PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_1_V2_USGOV_DOD,d3c841f3-ea93-4da2-8040-6f2348d20954,MIP_S_EXCHANGE_CO,5b96ffc4-3853-4cf4-af50-e38505080f6b,Data Classification in Microsoft 365 - Company Level +Privacy Management - subject rights request (1) USGOV_DOD,PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_1_V2_USGOV_DOD,d3c841f3-ea93-4da2-8040-6f2348d20954,PRIVACY_MANGEMENT_DSR_EXCHANGE_1,93d24177-c2c3-408a-821d-3d25dfa66e7a,Privacy Management - Subject Rights Request (1 - Exchange) +Privacy Management - subject rights request (1) USGOV_DOD,PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_1_V2_USGOV_DOD,d3c841f3-ea93-4da2-8040-6f2348d20954,PRIVACY_MANGEMENT_DSR_1,07a4098c-3f2d-427f-bfe2-5889ed75dd7b,Privacy Management - Subject Rights Request (1) +Privacy Management - subject rights request (1) USGOV_GCCHIGH,PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_1_V2_USGOV_GCCHIGH,706d2425-6170-4818-ba08-2ad8f1d2d078,MIP_S_EXCHANGE_CO,5b96ffc4-3853-4cf4-af50-e38505080f6b,Data Classification in Microsoft 365 - Company Level +Privacy Management - subject rights request (1) USGOV_GCCHIGH,PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_1_V2_USGOV_GCCHIGH,706d2425-6170-4818-ba08-2ad8f1d2d078,PRIVACY_MANGEMENT_DSR_EXCHANGE_1,93d24177-c2c3-408a-821d-3d25dfa66e7a,Privacy Management - Subject Rights Request (1 - Exchange) +Privacy Management - subject rights request (1) USGOV_GCCHIGH,PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_1_V2_USGOV_GCCHIGH,706d2425-6170-4818-ba08-2ad8f1d2d078,PRIVACY_MANGEMENT_DSR_1,07a4098c-3f2d-427f-bfe2-5889ed75dd7b,Privacy Management - Subject Rights Request (1) +Privacy Management - subject rights request (10),PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_10_V2,78ea43ac-9e5d-474f-8537-4abb82dafe27,MIP_S_EXCHANGE_CO,5b96ffc4-3853-4cf4-af50-e38505080f6b,Data Classification in Microsoft 365 - Company Level +Privacy Management - subject rights request (10),PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_10_V2,78ea43ac-9e5d-474f-8537-4abb82dafe27,PRIVACY_MANGEMENT_DSR_EXCHANGE_10,f0241705-7b44-4401-a6b6-7055062b5b03,Privacy Management - Subject Rights Request (10 - Exchange) +Privacy Management - subject rights request (10),PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_10_V2,78ea43ac-9e5d-474f-8537-4abb82dafe27,PRIVACY_MANGEMENT_DSR_10,74853901-d7a9-428e-895d-f4c8687a9f0b,Privacy Management - Subject Rights Request (10) +Privacy Management - subject rights request (10) for EDU,PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_10_EDU_V2,e001d9f1-5047-4ebf-8927-148530491f83,MIP_S_EXCHANGE_CO,5b96ffc4-3853-4cf4-af50-e38505080f6b,Data Classification in Microsoft 365 - Company Level +Privacy Management - subject rights request (10) for EDU,PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_10_EDU_V2,e001d9f1-5047-4ebf-8927-148530491f83,PRIVACY_MANGEMENT_DSR_EXCHANGE_10,f0241705-7b44-4401-a6b6-7055062b5b03,Privacy Management - Subject Rights Request (10 - Exchange) +Privacy Management - subject rights request (10) for EDU,PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_10_EDU_V2,e001d9f1-5047-4ebf-8927-148530491f83,PRIVACY_MANGEMENT_DSR_10,74853901-d7a9-428e-895d-f4c8687a9f0b,Privacy Management - Subject Rights Request (10) +Privacy Management - subject rights request (10) GCC,PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_10_V2_GCC,a056b037-1fa0-4133-a583-d05cff47d551,MIP_S_EXCHANGE_CO,5b96ffc4-3853-4cf4-af50-e38505080f6b,Data Classification in Microsoft 365 - Company Level +Privacy Management - subject rights request (10) GCC,PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_10_V2_GCC,a056b037-1fa0-4133-a583-d05cff47d551,PRIVACY_MANGEMENT_DSR_EXCHANGE_10,f0241705-7b44-4401-a6b6-7055062b5b03,Privacy Management - Subject Rights Request (10 - Exchange) +Privacy Management - subject rights request (10) GCC,PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_10_V2_GCC,a056b037-1fa0-4133-a583-d05cff47d551,PRIVACY_MANGEMENT_DSR_10,74853901-d7a9-428e-895d-f4c8687a9f0b,Privacy Management - Subject Rights Request (10) +Privacy Management - subject rights request (10) USGOV_DOD,PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_10_V2_USGOV_DOD,ab28dfa1-853a-4f54-9315-f5146975ac9a,MIP_S_EXCHANGE_CO,5b96ffc4-3853-4cf4-af50-e38505080f6b,Data Classification in Microsoft 365 - Company Level +Privacy Management - subject rights request (10) USGOV_DOD,PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_10_V2_USGOV_DOD,ab28dfa1-853a-4f54-9315-f5146975ac9a,PRIVACY_MANGEMENT_DSR_EXCHANGE_10,f0241705-7b44-4401-a6b6-7055062b5b03,Privacy Management - Subject Rights Request (10 - Exchange) +Privacy Management - subject rights request (10) USGOV_DOD,PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_10_V2_USGOV_DOD,ab28dfa1-853a-4f54-9315-f5146975ac9a,PRIVACY_MANGEMENT_DSR_10,74853901-d7a9-428e-895d-f4c8687a9f0b,Privacy Management - Subject Rights Request (10) +Privacy Management - subject rights request (10) USGOV_GCCHIGH,PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_10_V2_USGOV_GCCHIGH,f6aa3b3d-62f4-4c1d-a44f-0550f40f729c,MIP_S_EXCHANGE_CO,5b96ffc4-3853-4cf4-af50-e38505080f6b,Data Classification in Microsoft 365 - Company Level +Privacy Management - subject rights request (10) USGOV_GCCHIGH,PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_10_V2_USGOV_GCCHIGH,f6aa3b3d-62f4-4c1d-a44f-0550f40f729c,PRIVACY_MANGEMENT_DSR_EXCHANGE_10,f0241705-7b44-4401-a6b6-7055062b5b03,Privacy Management - Subject Rights Request (10 - Exchange) +Privacy Management - subject rights request (10) USGOV_GCCHIGH,PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_10_V2_USGOV_GCCHIGH,f6aa3b3d-62f4-4c1d-a44f-0550f40f729c,PRIVACY_MANGEMENT_DSR_10,74853901-d7a9-428e-895d-f4c8687a9f0b,Privacy Management - Subject Rights Request (10) +Privacy Management - subject rights request (50),PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_50,c416b349-a83c-48cb-9529-c420841dedd6,MIP_S_EXCHANGE_CO,5b96ffc4-3853-4cf4-af50-e38505080f6b,Data Classification in Microsoft 365 - Company Level +Privacy Management - subject rights request (50),PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_50,c416b349-a83c-48cb-9529-c420841dedd6,PRIVACY_MANGEMENT_DSR,8bbd1fea-6dc6-4aef-8abc-79af22d746e4,Privacy Management - Subject Rights Request +Privacy Management - subject rights request (50),PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_50,c416b349-a83c-48cb-9529-c420841dedd6,PRIVACY_MANGEMENT_DSR_EXCHANGE,7ca7f875-98db-4458-ab1b-47503826dd73,Privacy Management - Subject Rights Request (Exchange) +Privacy Management - subject rights request (50),PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_50_V2,f6c82f13-9554-4da1-bed3-c024cc906e02,MIP_S_EXCHANGE_CO,5b96ffc4-3853-4cf4-af50-e38505080f6b,Data Classification in Microsoft 365 - Company Level +Privacy Management - subject rights request (50),PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_50_V2,f6c82f13-9554-4da1-bed3-c024cc906e02,PRIVACY_MANGEMENT_DSR,8bbd1fea-6dc6-4aef-8abc-79af22d746e4,Privacy Management - Subject Rights Request +Privacy Management - subject rights request (50),PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_50_V2,f6c82f13-9554-4da1-bed3-c024cc906e02,PRIVACY_MANGEMENT_DSR_EXCHANGE,7ca7f875-98db-4458-ab1b-47503826dd73,Privacy Management - Subject Rights Request (Exchange) +Privacy Management - subject rights request (50) for EDU,PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_50_EDU_V2,ed45d397-7d61-4110-acc0-95674917bb14,MIP_S_EXCHANGE_CO,5b96ffc4-3853-4cf4-af50-e38505080f6b,Data Classification in Microsoft 365 - Company Level +Privacy Management - subject rights request (50) for EDU,PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_50_EDU_V2,ed45d397-7d61-4110-acc0-95674917bb14,PRIVACY_MANGEMENT_DSR,8bbd1fea-6dc6-4aef-8abc-79af22d746e4,Privacy Management - Subject Rights Request +Privacy Management - subject rights request (50) for EDU,PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_50_EDU_V2,ed45d397-7d61-4110-acc0-95674917bb14,PRIVACY_MANGEMENT_DSR_EXCHANGE,7ca7f875-98db-4458-ab1b-47503826dd73,Privacy Management - Subject Rights Request (Exchange) +Privacy Management - subject rights request (100),PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_100_V2,cf4c6c3b-f863-4940-97e8-1d25e912f4c4,MIP_S_EXCHANGE_CO,5b96ffc4-3853-4cf4-af50-e38505080f6b,Data Classification in Microsoft 365 - Company Level +Privacy Management - subject rights request (100),PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_100_V2,cf4c6c3b-f863-4940-97e8-1d25e912f4c4,PRIVACY_MANGEMENT_DSR_EXCHANGE_100,5c221cec-2c39-435b-a1e2-7cdd7fac5913,Privacy Management - Subject Rights Request (100 - Exchange) +Privacy Management - subject rights request (100),PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_100_V2,cf4c6c3b-f863-4940-97e8-1d25e912f4c4,PRIVACY_MANGEMENT_DSR_100,500f440d-167e-4030-a3a7-8cd35421fbd8,Privacy Management - Subject Rights Request (100) +Privacy Management - subject rights request (100) for EDU,PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_100_EDU_V2,9b85b4f0-92d9-4c3d-b230-041520cb1046,MIP_S_EXCHANGE_CO,5b96ffc4-3853-4cf4-af50-e38505080f6b,Data Classification in Microsoft 365 - Company Level +Privacy Management - subject rights request (100) for EDU,PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_100_EDU_V2,9b85b4f0-92d9-4c3d-b230-041520cb1046,PRIVACY_MANGEMENT_DSR_EXCHANGE_100,5c221cec-2c39-435b-a1e2-7cdd7fac5913,Privacy Management - Subject Rights Request (100 - Exchange) +Privacy Management - subject rights request (100) for EDU,PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_100_EDU_V2,9b85b4f0-92d9-4c3d-b230-041520cb1046,PRIVACY_MANGEMENT_DSR_100,500f440d-167e-4030-a3a7-8cd35421fbd8,Privacy Management - Subject Rights Request (100) +Privacy Management - subject rights request (100) GCC,PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_100_V2_GCC,91bbc479-4c2c-4210-9c88-e5b468c35b83,MIP_S_EXCHANGE_CO,5b96ffc4-3853-4cf4-af50-e38505080f6b,Data Classification in Microsoft 365 - Company Level +Privacy Management - subject rights request (100) GCC,PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_100_V2_GCC,91bbc479-4c2c-4210-9c88-e5b468c35b83,PRIVACY_MANGEMENT_DSR_EXCHANGE_100,5c221cec-2c39-435b-a1e2-7cdd7fac5913,Privacy Management - Subject Rights Request (100 - Exchange) +Privacy Management - subject rights request (100) GCC,PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_100_V2_GCC,91bbc479-4c2c-4210-9c88-e5b468c35b83,PRIVACY_MANGEMENT_DSR_100,500f440d-167e-4030-a3a7-8cd35421fbd8,Privacy Management - Subject Rights Request (100) +Privacy Management - subject rights request (100) USGOV_DOD,PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_100_V2_USGOV_DOD,ba6e69d5-ba2e-47a7-b081-66c1b8e7e7d4,MIP_S_EXCHANGE_CO,5b96ffc4-3853-4cf4-af50-e38505080f6b,Data Classification in Microsoft 365 - Company Level +Privacy Management - subject rights request (100) USGOV_DOD,PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_100_V2_USGOV_DOD,ba6e69d5-ba2e-47a7-b081-66c1b8e7e7d4,PRIVACY_MANGEMENT_DSR_EXCHANGE_100,5c221cec-2c39-435b-a1e2-7cdd7fac5913,Privacy Management - Subject Rights Request (100 - Exchange) +Privacy Management - subject rights request (100) USGOV_DOD,PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_100_V2_USGOV_DOD,ba6e69d5-ba2e-47a7-b081-66c1b8e7e7d4,PRIVACY_MANGEMENT_DSR_100,500f440d-167e-4030-a3a7-8cd35421fbd8,Privacy Management - Subject Rights Request (100) +Privacy Management - subject rights request (100) USGOV_GCCHIGH,PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_100_V2_USGOV_GCCHIGH,cee36ce4-cc31-481f-8cab-02765d3e441f,MIP_S_EXCHANGE_CO,5b96ffc4-3853-4cf4-af50-e38505080f6b,Data Classification in Microsoft 365 - Company Level +Privacy Management - subject rights request (100) USGOV_GCCHIGH,PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_100_V2_USGOV_GCCHIGH,cee36ce4-cc31-481f-8cab-02765d3e441f,PRIVACY_MANGEMENT_DSR_EXCHANGE_100,5c221cec-2c39-435b-a1e2-7cdd7fac5913,Privacy Management - Subject Rights Request (100 - Exchange) +Privacy Management - subject rights request (100) USGOV_GCCHIGH,PRIVACY_MANAGEMENT_SUB_RIGHTS_REQ_100_V2_USGOV_GCCHIGH,cee36ce4-cc31-481f-8cab-02765d3e441f,PRIVACY_MANGEMENT_DSR_100,500f440d-167e-4030-a3a7-8cd35421fbd8,Privacy Management - Subject Rights Request (100) +Project for Office 365,PROJECTCLIENT,a10d5e58-74da-4312-95c8-76be4e5b75a0,PROJECT_CLIENT_SUBSCRIPTION,fafd7243-e5c1-4a3a-9e40-495efcb1d3c3,PROJECT ONLINE DESKTOP CLIENT +Project Online Essentials,PROJECTESSENTIALS,776df282-9fc0-4862-99e2-70e561b9909e,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Project Online Essentials,PROJECTESSENTIALS,776df282-9fc0-4862-99e2-70e561b9909e,FORMS_PLAN_E1,159f4cd6-e380-449f-a816-af1a9ef76344,Microsoft Forms (Plan E1) +Project Online Essentials,PROJECTESSENTIALS,776df282-9fc0-4862-99e2-70e561b9909e,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the web +Project Online Essentials,PROJECTESSENTIALS,776df282-9fc0-4862-99e2-70e561b9909e,PROJECT_ESSENTIALS,1259157c-8581-4875-bca7-2ffb18c51bda,Project Online Essentials +Project Online Essentials,PROJECTESSENTIALS,776df282-9fc0-4862-99e2-70e561b9909e,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) +Project Online Essentials,PROJECTESSENTIALS,776df282-9fc0-4862-99e2-70e561b9909e,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Project Online Essentials for Faculty,PROJECTESSENTIALS_FACULTY,e433b246-63e7-4d0b-9efa-7940fa3264d6,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Project Online Essentials for Faculty,PROJECTESSENTIALS_FACULTY,e433b246-63e7-4d0b-9efa-7940fa3264d6,OFFICE_FORMS_PLAN_2,9b5de886-f035-4ff2-b3d8-c9127bea3620,Microsoft Forms (Plan 2) +Project Online Essentials for Faculty,PROJECTESSENTIALS_FACULTY,e433b246-63e7-4d0b-9efa-7940fa3264d6,SHAREPOINTWAC_EDU,e03c7e47-402c-463c-ab25-949079bedb21,Office for the Web for Education +Project Online Essentials for Faculty,PROJECTESSENTIALS_FACULTY,e433b246-63e7-4d0b-9efa-7940fa3264d6,PROJECT_ESSENTIALS,1259157c-8581-4875-bca7-2ffb18c51bda,Project Online Essentials +Project Online Essentials for Faculty,PROJECTESSENTIALS_FACULTY,e433b246-63e7-4d0b-9efa-7940fa3264d6,SHAREPOINTENTERPRISE_EDU,63038b2c-28d0-45f6-bc36-33062963b498,SharePoint (Plan 2) for Education +Project Online Essentials for Faculty,PROJECTESSENTIALS_FACULTY,e433b246-63e7-4d0b-9efa-7940fa3264d6,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Project Online Essentials for GCC,PROJECTESSENTIALS_GOV,ca1a159a-f09e-42b8-bb82-cb6420f54c8e,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government +Project Online Essentials for GCC,PROJECTESSENTIALS_GOV,ca1a159a-f09e-42b8-bb82-cb6420f54c8e,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government +Project Online Essentials for GCC,PROJECTESSENTIALS_GOV,ca1a159a-f09e-42b8-bb82-cb6420f54c8e,PROJECT_ESSENTIALS_GOV,fdcb7064-f45c-46fa-b056-7e0e9fdf4bf3,Project Online Essentials for Government +Project Online Essentials for GCC,PROJECTESSENTIALS_GOV,ca1a159a-f09e-42b8-bb82-cb6420f54c8e,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G +Project Online Premium,PROJECTPREMIUM,09015f9f-377f-4538-bbb5-f75ceb09358a,PROJECT_CLIENT_SUBSCRIPTION,fafd7243-e5c1-4a3a-9e40-495efcb1d3c3,PROJECT ONLINE DESKTOP CLIENT +Project Online Premium,PROJECTPREMIUM,09015f9f-377f-4538-bbb5-f75ceb09358a,SHAREPOINT_PROJECT,fe71d6c3-a2ea-4499-9778-da042bf08063,SHAREPOINT_PROJECT +Project Online Premium,PROJECTPREMIUM,09015f9f-377f-4538-bbb5-f75ceb09358a,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SHAREPOINT ONLINE (PLAN 2) +Project Online Premium,PROJECTPREMIUM,09015f9f-377f-4538-bbb5-f75ceb09358a,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,OFFICE ONLINE +Project Online Premium Without Project Client,PROJECTONLINE_PLAN_1,2db84718-652c-47a7-860c-f10d8abbdae3,FORMS_PLAN_E1,159f4cd6-e380-449f-a816-af1a9ef76344,MICROSOFT FORMS (PLAN E1) +Project Online Premium Without Project Client,PROJECTONLINE_PLAN_1,2db84718-652c-47a7-860c-f10d8abbdae3,SHAREPOINT_PROJECT,fe71d6c3-a2ea-4499-9778-da042bf08063,SHAREPOINT_PROJECT +Project Online Premium Without Project Client,PROJECTONLINE_PLAN_1,2db84718-652c-47a7-860c-f10d8abbdae3,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SHAREPOINT ONLINE (PLAN 2) +Project Online Premium Without Project Client,PROJECTONLINE_PLAN_1,2db84718-652c-47a7-860c-f10d8abbdae3,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,OFFICE ONLINE +Project Online Premium Without Project Client,PROJECTONLINE_PLAN_1,2db84718-652c-47a7-860c-f10d8abbdae3,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,SWAY +Project Online With Project for Office 365,PROJECTONLINE_PLAN_2,f82a60b8-1ee3-4cfb-a4fe-1c6a53c2656c,FORMS_PLAN_E1,159f4cd6-e380-449f-a816-af1a9ef76344,MICROSOFT FORMS (PLAN E1) +Project Online With Project for Office 365,PROJECTONLINE_PLAN_2,f82a60b8-1ee3-4cfb-a4fe-1c6a53c2656c,PROJECT_CLIENT_SUBSCRIPTION,fafd7243-e5c1-4a3a-9e40-495efcb1d3c3,PROJECT ONLINE DESKTOP CLIENT +Project Online With Project for Office 365,PROJECTONLINE_PLAN_2,f82a60b8-1ee3-4cfb-a4fe-1c6a53c2656c,SHAREPOINT_PROJECT,fe71d6c3-a2ea-4499-9778-da042bf08063,SHAREPOINT_PROJECT +Project Online With Project for Office 365,PROJECTONLINE_PLAN_2,f82a60b8-1ee3-4cfb-a4fe-1c6a53c2656c,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SHAREPOINT ONLINE (PLAN 2) +Project Online With Project for Office 365,PROJECTONLINE_PLAN_2,f82a60b8-1ee3-4cfb-a4fe-1c6a53c2656c,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,OFFICE ONLINE +Project Online With Project for Office 365,PROJECTONLINE_PLAN_2,f82a60b8-1ee3-4cfb-a4fe-1c6a53c2656c,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,SWAY +Project Plan 1,PROJECT_P1,beb6439c-caad-48d3-bf46-0c82871e12be,DYN365_CDS_FOR_PROJECT_P1,a6f677b3-62a6-4644-93e7-2a85d240845e,COMMON DATA SERVICE FOR PROJECT P1 +Project Plan 1,PROJECT_P1,beb6439c-caad-48d3-bf46-0c82871e12be,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,EXCHANGE FOUNDATION +Project Plan 1,PROJECT_P1,beb6439c-caad-48d3-bf46-0c82871e12be,Power_Automate_For_Project_P1,00283e6b-2bd8-440f-a2d5-87358e4c89a1,POWER AUTOMATE FOR PROJECT P1 +Project Plan 1,PROJECT_P1,beb6439c-caad-48d3-bf46-0c82871e12be,PROJECT_ESSENTIALS,1259157c-8581-4875-bca7-2ffb18c51bda,PROJECT ONLINE ESSENTIALS +Project Plan 1,PROJECT_P1,beb6439c-caad-48d3-bf46-0c82871e12be,PROJECT_P1,4a12c688-56c6-461a-87b1-30d6f32136f9,PROJECT P1 +Project Plan 1,PROJECT_P1,beb6439c-caad-48d3-bf46-0c82871e12be,SHAREPOINTSTANDARD,c7699d2e-19aa-44de-8edf-1736da088ca1,SHAREPOINT +Project Plan 1 (for Department),PROJECT_PLAN1_DEPT,84cd610f-a3f8-4beb-84ab-d9d2c902c6c9,DYN365_CDS_FOR_PROJECT_P1,a6f677b3-62a6-4644-93e7-2a85d240845e,Common Data Service for Project P1 +Project Plan 1 (for Department),PROJECT_PLAN1_DEPT,84cd610f-a3f8-4beb-84ab-d9d2c902c6c9,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Project Plan 1 (for Department),PROJECT_PLAN1_DEPT,84cd610f-a3f8-4beb-84ab-d9d2c902c6c9,Power_Automate_For_Project_P1,00283e6b-2bd8-440f-a2d5-87358e4c89a1,Power Automate for Project P1 +Project Plan 1 (for Department),PROJECT_PLAN1_DEPT,84cd610f-a3f8-4beb-84ab-d9d2c902c6c9,PROJECT_ESSENTIALS,1259157c-8581-4875-bca7-2ffb18c51bda,Project Online Essentials +Project Plan 1 (for Department),PROJECT_PLAN1_DEPT,84cd610f-a3f8-4beb-84ab-d9d2c902c6c9,PROJECT_P1,4a12c688-56c6-461a-87b1-30d6f32136f9,Project P1 +Project Plan 1 (for Department),PROJECT_PLAN1_DEPT,84cd610f-a3f8-4beb-84ab-d9d2c902c6c9,SHAREPOINTSTANDARD,c7699d2e-19aa-44de-8edf-1736da088ca1,SHAREPOINT STANDARD +Project Plan 3,PROJECTPROFESSIONAL,53818b1b-4a27-454b-8896-0dba576410e6,DYN365_CDS_PROJECT,50554c47-71d9-49fd-bc54-42a2765c555c,Common Data Service for Project +Project Plan 3,PROJECTPROFESSIONAL,53818b1b-4a27-454b-8896-0dba576410e6,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Project Plan 3,PROJECTPROFESSIONAL,53818b1b-4a27-454b-8896-0dba576410e6,FLOW_FOR_PROJECT,fa200448-008c-4acb-abd4-ea106ed2199d,Flow for Project +Project Plan 3,PROJECTPROFESSIONAL,53818b1b-4a27-454b-8896-0dba576410e6,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the web +Project Plan 3,PROJECTPROFESSIONAL,53818b1b-4a27-454b-8896-0dba576410e6,PROJECT_CLIENT_SUBSCRIPTION,fafd7243-e5c1-4a3a-9e40-495efcb1d3c3,Project Online Desktop Client +Project Plan 3,PROJECTPROFESSIONAL,53818b1b-4a27-454b-8896-0dba576410e6,SHAREPOINT_PROJECT,fe71d6c3-a2ea-4499-9778-da042bf08063,Project Online Service +Project Plan 3,PROJECTPROFESSIONAL,53818b1b-4a27-454b-8896-0dba576410e6,PROJECT_PROFESSIONAL,818523f5-016b-4355-9be8-ed6944946ea7,Project P3 +Project Plan 3,PROJECTPROFESSIONAL,53818b1b-4a27-454b-8896-0dba576410e6,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) +Project Plan 3 (for Department),PROJECT_PLAN3_DEPT,46102f44-d912-47e7-b0ca-1bd7b70ada3b,DYN365_CDS_PROJECT,50554c47-71d9-49fd-bc54-42a2765c555c,Common Data Service for Project +Project Plan 3 (for Department),PROJECT_PLAN3_DEPT,46102f44-d912-47e7-b0ca-1bd7b70ada3b,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Project Plan 3 (for Department),PROJECT_PLAN3_DEPT,46102f44-d912-47e7-b0ca-1bd7b70ada3b,FLOW_FOR_PROJECT,fa200448-008c-4acb-abd4-ea106ed2199d,Flow for Project +Project Plan 3 (for Department),PROJECT_PLAN3_DEPT,46102f44-d912-47e7-b0ca-1bd7b70ada3b,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Project Plan 3 (for Department),PROJECT_PLAN3_DEPT,46102f44-d912-47e7-b0ca-1bd7b70ada3b,PROJECT_CLIENT_SUBSCRIPTION,fafd7243-e5c1-4a3a-9e40-495efcb1d3c3,Project Online Desktop Client +Project Plan 3 (for Department),PROJECT_PLAN3_DEPT,46102f44-d912-47e7-b0ca-1bd7b70ada3b,SHAREPOINT_PROJECT,fe71d6c3-a2ea-4499-9778-da042bf08063,Project Online Service +Project Plan 3 (for Department),PROJECT_PLAN3_DEPT,46102f44-d912-47e7-b0ca-1bd7b70ada3b,PROJECT_PROFESSIONAL,818523f5-016b-4355-9be8-ed6944946ea7,Project P3 +Project Plan 3 (for Department),PROJECT_PLAN3_DEPT,46102f44-d912-47e7-b0ca-1bd7b70ada3b,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) +Project Plan 3 for Faculty,PROJECTPROFESSIONAL_FACULTY,46974aed-363e-423c-9e6a-951037cec495,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Project Plan 3 for Faculty,PROJECTPROFESSIONAL_FACULTY,46974aed-363e-423c-9e6a-951037cec495,SHAREPOINTWAC_EDU,e03c7e47-402c-463c-ab25-949079bedb21,Office for the Web for Education +Project Plan 3 for Faculty,PROJECTPROFESSIONAL_FACULTY,46974aed-363e-423c-9e6a-951037cec495,PROJECT_CLIENT_SUBSCRIPTION,fafd7243-e5c1-4a3a-9e40-495efcb1d3c3,Project Online Desktop Client +Project Plan 3 for Faculty,PROJECTPROFESSIONAL_FACULTY,46974aed-363e-423c-9e6a-951037cec495,SHAREPOINT_PROJECT_EDU,664a2fed-6c7a-468e-af35-d61740f0ec90,Project Online Service for Education +Project Plan 3 for Faculty,PROJECTPROFESSIONAL_FACULTY,46974aed-363e-423c-9e6a-951037cec495,PROJECT_PROFESSIONAL_FACULTY,22572403-045f-432b-a660-af949c0a77b5,Project P3 for Faculty +Project Plan 3 for Faculty,PROJECTPROFESSIONAL_FACULTY,46974aed-363e-423c-9e6a-951037cec495,SHAREPOINTENTERPRISE_EDU,63038b2c-28d0-45f6-bc36-33062963b498,SharePoint (Plan 2) for Education +Project Plan 3 for Faculty,PROJECTPROFESSIONAL_FACULTY,46974aed-363e-423c-9e6a-951037cec495,DYN365_CDS_PROJECT,50554c47-71d9-49fd-bc54-42a2765c555c,Common Data Service for Project +Project Plan 3 for Faculty,PROJECTPROFESSIONAL_FACULTY,46974aed-363e-423c-9e6a-951037cec495,FLOW_FOR_PROJECT,fa200448-008c-4acb-abd4-ea106ed2199d,Power Automate for Project +Project Plan 3 for GCC,PROJECTPROFESSIONAL_GOV,074c6829-b3a0-430a-ba3d-aca365e57065,DYN365_CDS_PROJECT_GCC,83837d9c-c21a-46a0-873e-d834c94015d6,Common Data Service for Project for GCC +Project Plan 3 for GCC,PROJECTPROFESSIONAL_GOV,074c6829-b3a0-430a-ba3d-aca365e57065,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government +Project Plan 3 for GCC,PROJECTPROFESSIONAL_GOV,074c6829-b3a0-430a-ba3d-aca365e57065,PROJECT_CLIENT_SUBSCRIPTION_GOV,45c6831b-ad74-4c7f-bd03-7c2b3fa39067,Project Online Desktop Client +Project Plan 3 for GCC,PROJECTPROFESSIONAL_GOV,074c6829-b3a0-430a-ba3d-aca365e57065,SHAREPOINT_PROJECT_GOV,e57afa78-1f19-4542-ba13-b32cd4d8f472,Project Online Service for Government +Project Plan 3 for GCC,PROJECTPROFESSIONAL_GOV,074c6829-b3a0-430a-ba3d-aca365e57065,PROJECT_PROFESSIONAL_FOR_GOV,49c7bc16-7004-4df6-8cd5-4ec48b7e9ea0,Project P3 for GOV +Project Plan 3 for GCC,PROJECTPROFESSIONAL_GOV,074c6829-b3a0-430a-ba3d-aca365e57065,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G +Project Plan 3 for GCC,PROJECTPROFESSIONAL_GOV,074c6829-b3a0-430a-ba3d-aca365e57065,FLOW_FOR_PROJECT_GOV,16687e20-06f9-4577-9cc0-34a2704260fc,Data integration for Project with Power Automate for GCC +Project Plan 3 for GCC TEST,Project_Professional_TEST_GCC,5d505572-203c-4b83-aa9b-dab50fb46277,DYN365_CDS_PROJECT_GCC,83837d9c-c21a-46a0-873e-d834c94015d6,Common Data Service for Project for GCC +Project Plan 3 for GCC TEST,Project_Professional_TEST_GCC,5d505572-203c-4b83-aa9b-dab50fb46277,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government +Project Plan 3 for GCC TEST,Project_Professional_TEST_GCC,5d505572-203c-4b83-aa9b-dab50fb46277,MCOMEETBASIC_GOV,986d454b-9027-4d9f-880b-f1b68f920cc4,Microsoft Teams Audio Conferencing with dial-out to select geographies for GCC +Project Plan 3 for GCC TEST,Project_Professional_TEST_GCC,5d505572-203c-4b83-aa9b-dab50fb46277,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government +Project Plan 3 for GCC TEST,Project_Professional_TEST_GCC,5d505572-203c-4b83-aa9b-dab50fb46277,PROJECT_CLIENT_SUBSCRIPTION_GOV,45c6831b-ad74-4c7f-bd03-7c2b3fa39067,Project Online Desktop Client +Project Plan 3 for GCC TEST,Project_Professional_TEST_GCC,5d505572-203c-4b83-aa9b-dab50fb46277,SHAREPOINT_PROJECT_GOV,e57afa78-1f19-4542-ba13-b32cd4d8f472,Project Online Service for Government +Project Plan 3 for GCC TEST,Project_Professional_TEST_GCC,5d505572-203c-4b83-aa9b-dab50fb46277,PROJECT_PROFESSIONAL_FOR_GOV,49c7bc16-7004-4df6-8cd5-4ec48b7e9ea0,Project P3 for GOV +Project Plan 3 for GCC TEST,Project_Professional_TEST_GCC,5d505572-203c-4b83-aa9b-dab50fb46277,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G +Project Plan 3 for GCC TEST,Project_Professional_TEST_GCC,5d505572-203c-4b83-aa9b-dab50fb46277,FLOW_FOR_PROJECT_GOV,16687e20-06f9-4577-9cc0-34a2704260fc,Data integration for Project with Power Automate for GCC +Project Plan 3_USGOV_GCCHIGH,PROJECTPROFESSIONAL_USGOV_GCCHIGH,64758d81-92b7-4855-bcac-06617becb3e8,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Project Plan 3_USGOV_GCCHIGH,PROJECTPROFESSIONAL_USGOV_GCCHIGH,64758d81-92b7-4855-bcac-06617becb3e8,SHAREPOINTWAC,e95bec33-7c88-4a70-8e19-b10bd9d0c014,Office for the Web +Project Plan 3_USGOV_GCCHIGH,PROJECTPROFESSIONAL_USGOV_GCCHIGH,64758d81-92b7-4855-bcac-06617becb3e8,PROJECT_CLIENT_SUBSCRIPTION,fafd7243-e5c1-4a3a-9e40-495efcb1d3c3,Project Online Desktop Client +Project Plan 3_USGOV_GCCHIGH,PROJECTPROFESSIONAL_USGOV_GCCHIGH,64758d81-92b7-4855-bcac-06617becb3e8,SHAREPOINT_PROJECT,fe71d6c3-a2ea-4499-9778-da042bf08063,Project Online Service +Project Plan 3_USGOV_GCCHIGH,PROJECTPROFESSIONAL_USGOV_GCCHIGH,64758d81-92b7-4855-bcac-06617becb3e8,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SharePoint (Plan 2) +Project Plan 3_USGOV_GCCHIGH,PROJECTPROFESSIONAL_USGOV_GCCHIGH,64758d81-92b7-4855-bcac-06617becb3e8,DYN365_CDS_PROJECT,50554c47-71d9-49fd-bc54-42a2765c555c,Common Data Service for Project +Project Plan 5 for faculty,PROJECTPREMIUM_FACULTY,930cc132-4d6b-4d8c-8818-587d17c50d56,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Project Plan 5 for faculty,PROJECTPREMIUM_FACULTY,930cc132-4d6b-4d8c-8818-587d17c50d56,SHAREPOINTWAC_EDU,e03c7e47-402c-463c-ab25-949079bedb21,Office for the Web for Education +Project Plan 5 for faculty,PROJECTPREMIUM_FACULTY,930cc132-4d6b-4d8c-8818-587d17c50d56,PROJECT_CLIENT_SUBSCRIPTION,fafd7243-e5c1-4a3a-9e40-495efcb1d3c3,Project Online Desktop Client +Project Plan 5 for faculty,PROJECTPREMIUM_FACULTY,930cc132-4d6b-4d8c-8818-587d17c50d56,SHAREPOINT_PROJECT_EDU,664a2fed-6c7a-468e-af35-d61740f0ec90,Project Online Service for Education +Project Plan 5 for faculty,PROJECTPREMIUM_FACULTY,930cc132-4d6b-4d8c-8818-587d17c50d56,PROJECT_PROFESSIONAL_FACULTY,22572403-045f-432b-a660-af949c0a77b5,Project P3 for Faculty +Project Plan 5 for faculty,PROJECTPREMIUM_FACULTY,930cc132-4d6b-4d8c-8818-587d17c50d56,SHAREPOINTENTERPRISE_EDU,63038b2c-28d0-45f6-bc36-33062963b498,SharePoint (Plan 2) for Education +Project Plan 5 for faculty,PROJECTPREMIUM_FACULTY,930cc132-4d6b-4d8c-8818-587d17c50d56,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Project Plan 5 for faculty,PROJECTPREMIUM_FACULTY,930cc132-4d6b-4d8c-8818-587d17c50d56,SHAREPOINTWAC_EDU,e03c7e47-402c-463c-ab25-949079bedb21,Office Online for Education +Project Plan 5 for faculty,PROJECTPREMIUM_FACULTY,930cc132-4d6b-4d8c-8818-587d17c50d56,PROJECT_CLIENT_SUBSCRIPTION,fafd7243-e5c1-4a3a-9e40-495efcb1d3c3,Project Client +Project Plan 5 for faculty,PROJECTPREMIUM_FACULTY,930cc132-4d6b-4d8c-8818-587d17c50d56,Project Online for Education,664a2fed-6c7a-468e-af35-d61740f0ec90,Project Online for Education +Project Plan 5 for faculty,PROJECTPREMIUM_FACULTY,930cc132-4d6b-4d8c-8818-587d17c50d56,SHAREPOINTENTERPRISE_EDU,63038b2c-28d0-45f6-bc36-33062963b498,SharePoint Plan 2 for EDU +Project Plan 5 for faculty,PROJECTPREMIUM_FACULTY,930cc132-4d6b-4d8c-8818-587d17c50d56,DYN365_CDS_PROJECT,50554c47-71d9-49fd-bc54-42a2765c555c,Common Data Service for Project +Project Plan 5 for faculty,PROJECTPREMIUM_FACULTY,930cc132-4d6b-4d8c-8818-587d17c50d56,FLOW_FOR_PROJECT,fa200448-008c-4acb-abd4-ea106ed2199d,Power Automate for Project +Project Plan 5 for GCC,PROJECTPREMIUM_GOV,f2230877-72be-4fec-b1ba-7156d6f75bd6,DYN365_CDS_PROJECT_GCC,83837d9c-c21a-46a0-873e-d834c94015d6,Common Data Service for Project for GCC +Project Plan 5 for GCC,PROJECTPREMIUM_GOV,f2230877-72be-4fec-b1ba-7156d6f75bd6,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government +Project Plan 5 for GCC,PROJECTPREMIUM_GOV,f2230877-72be-4fec-b1ba-7156d6f75bd6,SHAREPOINTWAC_GOV,8f9f0f3b-ca90-406c-a842-95579171f8ec,Office for the Web for Government +Project Plan 5 for GCC,PROJECTPREMIUM_GOV,f2230877-72be-4fec-b1ba-7156d6f75bd6,PROJECT_CLIENT_SUBSCRIPTION_GOV,45c6831b-ad74-4c7f-bd03-7c2b3fa39067,Project Online Desktop Client +Project Plan 5 for GCC,PROJECTPREMIUM_GOV,f2230877-72be-4fec-b1ba-7156d6f75bd6,SHAREPOINT_PROJECT_GOV,e57afa78-1f19-4542-ba13-b32cd4d8f472,Project Online Service for Government +Project Plan 5 for GCC,PROJECTPREMIUM_GOV,f2230877-72be-4fec-b1ba-7156d6f75bd6,PROJECT_PROFESSIONAL_FOR_GOV,49c7bc16-7004-4df6-8cd5-4ec48b7e9ea0,Project P3 for GOV +Project Plan 5 for GCC,PROJECTPREMIUM_GOV,f2230877-72be-4fec-b1ba-7156d6f75bd6,SHAREPOINTENTERPRISE_GOV,153f85dd-d912-4762-af6c-d6e0fb4f6692,SharePoint Plan 2G +Project Plan 5 for GCC,PROJECTPREMIUM_GOV,f2230877-72be-4fec-b1ba-7156d6f75bd6,FLOW_FOR_PROJECT_GOV,16687e20-06f9-4577-9cc0-34a2704260fc,Data integration for Project with Power Automate for GCC +Project Plan 5 without Project Client for Faculty,PROJECTONLINE_PLAN_1_FACULTY,b732e2a7-5694-4dff-a0f2-9d9204c794ac,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Project Plan 5 without Project Client for Faculty,PROJECTONLINE_PLAN_1_FACULTY,b732e2a7-5694-4dff-a0f2-9d9204c794ac,OFFICE_FORMS_PLAN_2,9b5de886-f035-4ff2-b3d8-c9127bea3620,Microsoft Forms (Plan 2) +Project Plan 5 without Project Client for Faculty,PROJECTONLINE_PLAN_1_FACULTY,b732e2a7-5694-4dff-a0f2-9d9204c794ac,SHAREPOINTWAC_EDU,e03c7e47-402c-463c-ab25-949079bedb21,Office for the Web for Education +Project Plan 5 without Project Client for Faculty,PROJECTONLINE_PLAN_1_FACULTY,b732e2a7-5694-4dff-a0f2-9d9204c794ac,SHAREPOINT_PROJECT_EDU,664a2fed-6c7a-468e-af35-d61740f0ec90,Project Online Service for Education +Project Plan 5 without Project Client for Faculty,PROJECTONLINE_PLAN_1_FACULTY,b732e2a7-5694-4dff-a0f2-9d9204c794ac,SHAREPOINTENTERPRISE_EDU,63038b2c-28d0-45f6-bc36-33062963b498,SharePoint (Plan 2) for Education +Project Plan 5 without Project Client for Faculty,PROJECTONLINE_PLAN_1_FACULTY,b732e2a7-5694-4dff-a0f2-9d9204c794ac,SWAY,a23b959c-7ce8-4e57-9140-b90eb88a9e97,Sway +Rights Management Adhoc,RIGHTSMANAGEMENT_ADHOC,8c4ce438-32a7-4ac5-91a6-e22ae08d9c8b,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Rights Management Adhoc,RIGHTSMANAGEMENT_ADHOC,8c4ce438-32a7-4ac5-91a6-e22ae08d9c8b,RMS_S_ADHOC,7a39d7dd-e456-4e09-842a-0204ee08187b,Rights Management Adhoc +Rights Management Service Basic Content Protection,RMSBASIC,093e8d14-a334-43d9-93e3-30589a8b47d0,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Rights Management Service Basic Content Protection,RMSBASIC,093e8d14-a334-43d9-93e3-30589a8b47d0,RMS_S_BASIC,31cf2cfc-6b0d-4adc-a336-88b724ed8122,Microsoft Azure Rights Management Service +Sensor Data Intelligence Additional Machines Add-in for Dynamics 365 Supply Chain Management,DYN365_IOT_INTELLIGENCE_ADDL_MACHINES,08e18479-4483-4f70-8f17-6f92156d8ea9,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Sensor Data Intelligence Additional Machines Add-in for Dynamics 365 Supply Chain Management,DYN365_IOT_INTELLIGENCE_ADDL_MACHINES,08e18479-4483-4f70-8f17-6f92156d8ea9,D365_IOTFORSCM_ADDITIONAL,a5f38206-2f48-4d83-9957-525f4e75e9c0,IoT Intelligence Add-in Additional Machines +Sensor Data Intelligence Scenario Add-in for Dynamics 365 Supply Chain Management,DYN365_IOT_INTELLIGENCE_SCENARIO,9ea4bdef-a20b-4668-b4a7-73e1f7696e0a,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Sensor Data Intelligence Scenario Add-in for Dynamics 365 Supply Chain Management,DYN365_IOT_INTELLIGENCE_SCENARIO,9ea4bdef-a20b-4668-b4a7-73e1f7696e0a,D365_IOTFORSCM,83dd9619-c7d5-44da-9250-dc4ee79fff7e,Iot Intelligence Add-in for D365 Supply Chain Management +SharePoint Online (Plan 1),SHAREPOINTSTANDARD,1fc08a02-8b3d-43b9-831e-f76859e04e1a,SHAREPOINTSTANDARD,c7699d2e-19aa-44de-8edf-1736da088ca1,SHAREPOINTSTANDARD +SharePoint Online (Plan 2),SHAREPOINTENTERPRISE,a9732ec9-17d9-494c-a51c-d6b45b384dcb,SHAREPOINTENTERPRISE,5dbe027f-2339-4123-9542-606e4d348a72,SHAREPOINT ONLINE (PLAN 2) +SharePoint Syntex,Intelligent_Content_Services,f61d4aba-134f-44e9-a2a0-f81a5adb26e4,CDS_O365_E5_KM,3069d530-e41b-421c-ad59-fb1001a23e11,Common Data Service for SharePoint Syntex +SharePoint Syntex,Intelligent_Content_Services,f61d4aba-134f-44e9-a2a0-f81a5adb26e4,Intelligent_Content_Services,f00bd55e-1633-416e-97c0-03684e42bc42,SharePoint Syntex +SharePoint Syntex,Intelligent_Content_Services,f61d4aba-134f-44e9-a2a0-f81a5adb26e4,Intelligent_Content_Services_SPO_type,fd2e7f90-1010-487e-a11b-d2b1ae9651fc,SharePoint Syntex - SPO type +Skype for Business Online (Plan 1),MCOIMP,b8b749f8-a4ef-4887-9539-c95b1eaa5db7,MCOIMP,afc06cb0-b4f4-4473-8286-d644f70d8faf,SKYPE FOR BUSINESS ONLINE (PLAN 1) +Skype for Business Online (Plan 2),MCOSTANDARD,d42c793f-6c78-4f43-92ca-e8f6a02b035f,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,SKYPE FOR BUSINESS ONLINE (PLAN 2) +Skype for Business PSTN Calling Domestic Small,MCOPSTN5,d43177b5-475b-4880-92d4-d54c27b5efbd,Skype for Business PSTN Calling Domestic Small,9a0125a5-c8f8-4526-b231-49e2abe0ebce,Skype for Business PSTN Calling Domestic Small +Skype for Business PSTN Domestic and International Calling,MCOPSTN2,d3b4fe1f-9992-4930-8acb-ca6ec609365e,MCOPSTN2,5a10155d-f5c1-411a-a8ec-e99aae125390,DOMESTIC AND INTERNATIONAL CALLING PLAN +Skype for Business PSTN Domestic Calling,MCOPSTN1,0dab259f-bf13-4952-b7f8-7db8f131b28d,MCOPSTN1,4ed3ff63-69d7-4fb7-b984-5aec7f605ca8,DOMESTIC CALLING PLAN +Skype for Business PSTN Domestic Calling (120 Minutes),MCOPSTN5,54a152dc-90de-4996-93d2-bc47e670fc06,MCOPSTN5,54a152dc-90de-4996-93d2-bc47e670fc06,DOMESTIC CALLING PLAN +Skype for Business PSTN Usage Calling Plan,MCOPSTNPP,06b48c5f-01d9-4b18-9015-03b52040f51a,MCOPSTN3,6b340437-d6f9-4dc5-8cc2-99163f7f83d6,MCOPSTN3 +Teams Phone Mobile,Operator_Connect_Mobile,b84d58c9-0a0d-46cf-8a4b-d9f23c1674d5,MCOFMC1,cb22fbd7-ed7d-4786-a27a-e4cd617b69c0,Teams Phone Mobile +Teams Phone with Calling Plan,MCOTEAMS_ESSENTIALS,ae2343d1-0999-43f6-ae18-d816516f6e78,MCOPSTN1,4ed3ff63-69d7-4fb7-b984-5aec7f605ca8,Microsoft 365 Domestic Calling Plan +Teams Phone with Calling Plan,MCOTEAMS_ESSENTIALS,ae2343d1-0999-43f6-ae18-d816516f6e78,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Teams Premium (for Departments),Teams_Premium_(for_Departments),52ea0e27-ae73-4983-a08f-13561ebdb823,MICROSOFT_ECDN,85704d55-2e73-47ee-93b4-4b8ea14db92b,Microsoft eCDN +Teams Premium (for Departments),Teams_Premium_(for_Departments),52ea0e27-ae73-4983-a08f-13561ebdb823,MESH_IMMERSIVE,acbca54f-c771-423b-a476-6d7a98cbbcec,Microsoft Mesh +Teams Premium (for Departments),Teams_Premium_(for_Departments),52ea0e27-ae73-4983-a08f-13561ebdb823,TEAMSPRO_MGMT,0504111f-feb8-4a3c-992a-70280f9a2869,Microsoft Teams Premium Intelligent +Teams Premium (for Departments),Teams_Premium_(for_Departments),52ea0e27-ae73-4983-a08f-13561ebdb823,TEAMSPRO_CUST,cc8c0802-a325-43df-8cba-995d0c6cb373,Microsoft Teams Premium Personalized +Teams Premium (for Departments),Teams_Premium_(for_Departments),52ea0e27-ae73-4983-a08f-13561ebdb823,TEAMSPRO_PROTECTION,f8b44f54-18bb-46a3-9658-44ab58712968,Microsoft Teams Premium Secure +Teams Premium (for Departments),Teams_Premium_(for_Departments),52ea0e27-ae73-4983-a08f-13561ebdb823,TEAMSPRO_VIRTUALAPPT,9104f592-f2a7-4f77-904c-ca5a5715883f,Microsoft Teams Premium Virtual Appointment +Teams Premium (for Departments),Teams_Premium_(for_Departments),52ea0e27-ae73-4983-a08f-13561ebdb823,MCO_VIRTUAL_APPT,711413d0-b36e-4cd4-93db-0a50a4ab7ea3,Microsoft Teams Premium Virtual Appointments +Teams Premium (for Departments),Teams_Premium_(for_Departments),52ea0e27-ae73-4983-a08f-13561ebdb823,TEAMSPRO_WEBINAR,78b58230-ec7e-4309-913c-93a45cc4735b,Microsoft Teams Premium Webinar +Teams Rooms Premium,MTR_PREM,4fb214cb-a430-4a91-9c91-4976763aa78f,MMR_P1,bdaa59a3-74fd-4137-981a-31d4f84eb8a0,Meeting Room Managed Services +Teams Rooms Premium,MTR_PREM,4fb214cb-a430-4a91-9c91-4976763aa78f,MCOMEETADV,3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40,Microsoft 365 Audio Conferencing +Teams Rooms Premium,MTR_PREM,4fb214cb-a430-4a91-9c91-4976763aa78f,MCOEV,4828c8ec-dc2e-4779-b502-87ac9ce28ab7,Microsoft 365 Phone System +Teams Rooms Premium,MTR_PREM,4fb214cb-a430-4a91-9c91-4976763aa78f,INTUNE_A,c1ec4a95-1f05-45b3-a911-aa3fa01094f5,Microsoft Intune +Teams Rooms Premium,MTR_PREM,4fb214cb-a430-4a91-9c91-4976763aa78f,TEAMS1,57ff2da0-773e-42df-b2af-ffb7a2317929,Microsoft Teams +Teams Rooms Premium,MTR_PREM,4fb214cb-a430-4a91-9c91-4976763aa78f,MCOSTANDARD,0feaeb32-d00e-4d66-bd5a-43b5b83db82c,Skype for Business Online (Plan 2) +Teams Rooms Premium,MTR_PREM,4fb214cb-a430-4a91-9c91-4976763aa78f,WHITEBOARD_PLAN3,4a51bca5-1eff-43f5-878c-177680f191af,Whiteboard (Plan 3) +TELSTRA Calling for O365,MCOPSTNEAU2,de3312e1-c7b0-46e6-a7c3-a515ff90bc86,MCOPSTNEAU,7861360b-dc3b-4eba-a3fc-0d323a035746,AUSTRALIA CALLING PLAN +Universal Print,UNIVERSAL_PRINT,9f3d9c1d-25a5-4aaa-8e59-23a1e6450a67,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Viva Learning,VIVA_LEARNING,c9d442fc-21fb-4bd7-89e0-a710d74987f6,VIVA_LEARNING_PREMIUM,7162bd38-edae-4022-83a7-c5837f951759,Viva Learning +Universal Print,UNIVERSAL_PRINT,9f3d9c1d-25a5-4aaa-8e59-23a1e6450a67,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print +Visio Plan 1,VISIO_PLAN1_DEPT,ca7f3140-d88c-455b-9a1c-7f0679e31a76,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Visio Plan 1,VISIO_PLAN1_DEPT,ca7f3140-d88c-455b-9a1c-7f0679e31a76,ONEDRIVE_BASIC,da792a53-cbc0-4184-a10d-e544dd34b3c1,OneDrive for business Basic +Visio Plan 1,VISIO_PLAN1_DEPT,ca7f3140-d88c-455b-9a1c-7f0679e31a76,VISIOONLINE,2bdbaf8f-738f-4ac7-9234-3c3ee2ce7d0f,Visio web app +Visio Plan 2,VISIO_PLAN2_DEPT,38b434d2-a15e-4cde-9a98-e737c75623e1,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Visio Plan 2,VISIO_PLAN2_DEPT,38b434d2-a15e-4cde-9a98-e737c75623e1,ONEDRIVE_BASIC,da792a53-cbc0-4184-a10d-e544dd34b3c1,OneDrive for Business (Basic) +Visio Plan 2,VISIO_PLAN2_DEPT,38b434d2-a15e-4cde-9a98-e737c75623e1,VISIO_CLIENT_SUBSCRIPTION,663a804f-1c30-4ff0-9915-9db84f0d1cea,Visio Desktop App +Visio Plan 2,VISIO_PLAN2_DEPT,38b434d2-a15e-4cde-9a98-e737c75623e1,VISIOONLINE,2bdbaf8f-738f-4ac7-9234-3c3ee2ce7d0f,Visio Web App +Visio Plan 2_USGOV_GCCHIGH,VISIOCLIENT_USGOV_GCCHIGH,80e52531-ad7f-44ea-abc3-28e389462f1b,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Visio Plan 2_USGOV_GCCHIGH,VISIOCLIENT_USGOV_GCCHIGH,80e52531-ad7f-44ea-abc3-28e389462f1b,ONEDRIVE_BASIC,da792a53-cbc0-4184-a10d-e544dd34b3c1,OneDrive for Business (Basic) +Visio Plan 2_USGOV_GCCHIGH,VISIOCLIENT_USGOV_GCCHIGH,80e52531-ad7f-44ea-abc3-28e389462f1b,VISIO_CLIENT_SUBSCRIPTION,663a804f-1c30-4ff0-9915-9db84f0d1cea,Visio Desktop App +Visio Plan 2_USGOV_GCCHIGH,VISIOCLIENT_USGOV_GCCHIGH,80e52531-ad7f-44ea-abc3-28e389462f1b,VISIOONLINE,2bdbaf8f-738f-4ac7-9234-3c3ee2ce7d0f,Visio Web App +Visio Online Plan 1,VISIOONLINE_PLAN1,4b244418-9658-4451-a2b8-b5e2b364e9bd,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,EXCHANGE FOUNDATION +Visio Online Plan 1,VISIOONLINE_PLAN1,4b244418-9658-4451-a2b8-b5e2b364e9bd,ONEDRIVE_BASIC,da792a53-cbc0-4184-a10d-e544dd34b3c1,ONEDRIVE FOR BUSINESS BASIC +Visio Online Plan 1,VISIOONLINE_PLAN1,4b244418-9658-4451-a2b8-b5e2b364e9bd,VISIOONLINE,2bdbaf8f-738f-4ac7-9234-3c3ee2ce7d0f,VISIO WEB APP +Visio Online Plan 2,VISIOCLIENT,c5928f49-12ba-48f7-ada3-0d743a3601d5,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,EXCHANGE FOUNDATION +Visio Online Plan 2,VISIOCLIENT,c5928f49-12ba-48f7-ada3-0d743a3601d5,ONEDRIVE_BASIC,da792a53-cbc0-4184-a10d-e544dd34b3c1,ONEDRIVE FOR BUSINESS BASIC +Visio Online Plan 2,VISIOCLIENT,c5928f49-12ba-48f7-ada3-0d743a3601d5,VISIO_CLIENT_SUBSCRIPTION,663a804f-1c30-4ff0-9915-9db84f0d1cea,VISIO DESKTOP APP +Visio Online Plan 2,VISIOCLIENT,c5928f49-12ba-48f7-ada3-0d743a3601d5,VISIOONLINE,2bdbaf8f-738f-4ac7-9234-3c3ee2ce7d0f,VISIO WEB APP +Visio Plan 2 for GCC,VISIOCLIENT_GOV,4ae99959-6b0f-43b0-b1ce-68146001bdba,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,EXCHANGE FOUNDATION FOR GOVERNMENT +Visio Plan 2 for GCC,VISIOCLIENT_GOV,4ae99959-6b0f-43b0-b1ce-68146001bdba,ONEDRIVE_BASIC_GOV,98709c2e-96b5-4244-95f5-a0ebe139fb8a,ONEDRIVE FOR BUSINESS BASIC FOR GOVERNMENT +Visio Plan 2 for GCC,VISIOCLIENT_GOV,4ae99959-6b0f-43b0-b1ce-68146001bdba,VISIO_CLIENT_SUBSCRIPTION_GOV,f85945f4-7a55-4009-bc39-6a5f14a8eac1,VISIO DESKTOP APP FOR Government +Visio Plan 2 for GCC,VISIOCLIENT_GOV,4ae99959-6b0f-43b0-b1ce-68146001bdba,VISIOONLINE_GOV,8a9ecb07-cfc0-48ab-866c-f83c4d911576,VISIO WEB APP FOR GOVERNMENT +Visio Plan 2 for Faculty,VISIOCLIENT_FACULTY,bf95fd32-576a-4742-8d7a-6dc4940b9532,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Visio Plan 2 for Faculty,VISIOCLIENT_FACULTY,bf95fd32-576a-4742-8d7a-6dc4940b9532,ONEDRIVE_BASIC,da792a53-cbc0-4184-a10d-e544dd34b3c1,OneDrive for Business (Basic) +Visio Plan 2 for Faculty,VISIOCLIENT_FACULTY,bf95fd32-576a-4742-8d7a-6dc4940b9532,VISIO_CLIENT_SUBSCRIPTION,663a804f-1c30-4ff0-9915-9db84f0d1cea,Visio Desktop App +Visio Plan 2 for Faculty,VISIOCLIENT_FACULTY,bf95fd32-576a-4742-8d7a-6dc4940b9532,VISIOONLINE,2bdbaf8f-738f-4ac7-9234-3c3ee2ce7d0f,Visio Web App +Viva Goals User-led,Viva_Goals_User_led,3a349c99-ffec-43d2-a2e8-6b97fcb71103,Viva_Goals_Premium,b44c6eaf-5c9f-478c-8f16-8cea26353bfb,Viva Goals +Viva Topics,TOPIC_EXPERIENCES,4016f256-b063-4864-816e-d818aad600c9,GRAPH_CONNECTORS_SEARCH_INDEX_TOPICEXP,b74d57b2-58e9-484a-9731-aeccbba954f0,Graph Connectors Search with Index (Viva Topics) +Viva Topics,TOPIC_EXPERIENCES,4016f256-b063-4864-816e-d818aad600c9,CORTEX,c815c93d-0759-4bb8-b857-bc921a71be83,Viva Topics +Windows 10/11 Enterprise E5 (Original),WIN_ENT_E5,1e7e1070-8ccb-4aca-b470-d7cb538cb07e,DATAVERSE_FOR_POWERAUTOMATE_DESKTOP,59231cdf-b40d-4534-a93e-14d0cd31d27e,Dataverse for PAD +Windows 10/11 Enterprise E5 (Original),WIN_ENT_E5,1e7e1070-8ccb-4aca-b470-d7cb538cb07e,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 10/11 Enterprise E5 (Original),WIN_ENT_E5,1e7e1070-8ccb-4aca-b470-d7cb538cb07e,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,Microsoft Defender for Endpoint +Windows 10/11 Enterprise E5 (Original),WIN_ENT_E5,1e7e1070-8ccb-4aca-b470-d7cb538cb07e,POWERAUTOMATE_DESKTOP_FOR_WIN,2d589a15-b171-4e61-9b5f-31d15eeb2872,PAD for Windows +Windows 10/11 Enterprise E5 (Original),WIN_ENT_E5,1e7e1070-8ccb-4aca-b470-d7cb538cb07e,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print +Windows 10/11 Enterprise E5 (Original),WIN_ENT_E5,1e7e1070-8ccb-4aca-b470-d7cb538cb07e,WIN10_PRO_ENT_SUB,21b439ba-a0ca-424f-a6cc-52f954a5b111,Windows 10/11 Enterprise (Original) +Windows 10/11 Enterprise E5 (Original),WIN_ENT_E5,1e7e1070-8ccb-4aca-b470-d7cb538cb07e,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service +Windows 10/11 Enterprise A3 for faculty,WIN10_ENT_A3_FAC,8efbe2f6-106e-442f-97d4-a59aa6037e06,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 10/11 Enterprise A3 for faculty,WIN10_ENT_A3_FAC,8efbe2f6-106e-442f-97d4-a59aa6037e06,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print +Windows 10/11 Enterprise A3 for faculty,WIN10_ENT_A3_FAC,8efbe2f6-106e-442f-97d4-a59aa6037e06,Virtualization Rights for Windows 10 (E3/E5+VDA),e7c91390-7625-45be-94e0-e16907e03118,Windows 10 Enterprise (New) +Windows 10/11 Enterprise A3 for faculty,WIN10_ENT_A3_FAC,8efbe2f6-106e-442f-97d4-a59aa6037e06,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service +Windows 10/11 Enterprise A3 for students,WIN10_ENT_A3_STU,d4ef921e-840b-4b48-9a90-ab6698bc7b31,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 10/11 Enterprise A3 for students,WIN10_ENT_A3_STU,d4ef921e-840b-4b48-9a90-ab6698bc7b31,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print +Windows 10/11 Enterprise A3 for students,WIN10_ENT_A3_STU,d4ef921e-840b-4b48-9a90-ab6698bc7b31,Virtualization Rights for Windows 10 (E3/E5+VDA),e7c91390-7625-45be-94e0-e16907e03118,Windows 10 Enterprise (New) +Windows 10/11 Enterprise A3 for students,WIN10_ENT_A3_STU,d4ef921e-840b-4b48-9a90-ab6698bc7b31,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service +Windows 10/11 Enterprise A5 for faculty,WIN10_ENT_A5_FAC,7b1a89a9-5eb9-4cf8-9467-20c943f1122c,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 10/11 Enterprise A5 for faculty,WIN10_ENT_A5_FAC,7b1a89a9-5eb9-4cf8-9467-20c943f1122c,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,Microsoft Defender for Endpoint +Windows 10/11 Enterprise A5 for faculty,WIN10_ENT_A5_FAC,7b1a89a9-5eb9-4cf8-9467-20c943f1122c,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print +Windows 10/11 Enterprise A5 for faculty,WIN10_ENT_A5_FAC,7b1a89a9-5eb9-4cf8-9467-20c943f1122c,Virtualization Rights for Windows 10,e7c91390-7625-45be-94e0-e16907e03118,Windows 10/11 Enterprise +Windows 10/11 Enterprise A5 for faculty,WIN10_ENT_A5_FAC,7b1a89a9-5eb9-4cf8-9467-20c943f1122c,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service +Windows 10/11 Enterprise E3,WIN10_PRO_ENT_SUB,cb10e6cd-9da4-4992-867b-67546b1db821,WIN10_PRO_ENT_SUB,21b439ba-a0ca-424f-a6cc-52f954a5b111,WINDOWS 10 ENTERPRISE +Windows 10/11 Enterprise E3,WIN10_VDA_E3,6a0f6da5-0b87-4190-a6ae-9bb5a2b9546a,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,EXCHANGE FOUNDATION +Windows 10/11 Enterprise E3,WIN10_VDA_E3,6a0f6da5-0b87-4190-a6ae-9bb5a2b9546a,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,UNIVERSAL PRINT +Windows 10/11 Enterprise E3,WIN10_VDA_E3,6a0f6da5-0b87-4190-a6ae-9bb5a2b9546a,Virtualization Rights for Windows 10 (E3/E5+VDA),e7c91390-7625-45be-94e0-e16907e03118,WINDOWS 10 ENTERPRISE (NEW) +Windows 10/11 Enterprise E3,WIN10_VDA_E3,6a0f6da5-0b87-4190-a6ae-9bb5a2b9546a,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,WINDOWS UPDATE FOR BUSINESS DEPLOYMENT SERVICE +Windows 10/11 Enterprise E3,WIN10_VDA_E3,6a0f6da5-0b87-4190-a6ae-9bb5a2b9546a,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch +Windows 10/11 Enterprise E5,WIN10_VDA_E5,488ba24a-39a9-4473-8ee5-19291e71b002,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 10/11 Enterprise E5,WIN10_VDA_E5,488ba24a-39a9-4473-8ee5-19291e71b002,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,Microsoft Defender For Endpoint +Windows 10/11 Enterprise E5,WIN10_VDA_E5,488ba24a-39a9-4473-8ee5-19291e71b002,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print +Windows 10/11 Enterprise E5,WIN10_VDA_E5,488ba24a-39a9-4473-8ee5-19291e71b002,Virtualization Rights for Windows 10 (E3/E5+VDA),e7c91390-7625-45be-94e0-e16907e03118,Windows 10 Enterprise (New) +Windows 10/11 Enterprise E5,WIN10_VDA_E5,488ba24a-39a9-4473-8ee5-19291e71b002,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service +Windows 10/11 Enterprise E5,WIN10_VDA_E5,488ba24a-39a9-4473-8ee5-19291e71b002,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch +Windows 10/11 Enterprise E5 Commercial (GCC Compatible),WINE5_GCC_COMPAT,938fd547-d794-42a4-996c-1cc206619580,EXCHANGE_S_FOUNDATION_GOV,922ba911-5694-4e99-a794-73aed9bfeec8,Exchange Foundation for Government +Windows 10/11 Enterprise E5 Commercial (GCC Compatible),WINE5_GCC_COMPAT,938fd547-d794-42a4-996c-1cc206619580,WINDEFATP,871d91ec-ec1a-452b-a83f-bd76c7d770ef,Microsoft Defender For Endpoint +Windows 10/11 Enterprise E5 Commercial (GCC Compatible),WINE5_GCC_COMPAT,938fd547-d794-42a4-996c-1cc206619580,Virtualization Rights for Windows 10 (E3/E5+VDA),e7c91390-7625-45be-94e0-e16907e03118,Windows 10 Enterprise (New) +Windows 10/11 Enterprise E3 VDA,E3_VDA_only,d13ef257-988a-46f3-8fce-f47484dd4550,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 10/11 Enterprise E3 VDA,E3_VDA_only,d13ef257-988a-46f3-8fce-f47484dd4550,UNIVERSAL_PRINT_01,795f6fe0-cc4d-4773-b050-5dde4dc704c9,Universal Print +Windows 10/11 Enterprise E3 VDA,E3_VDA_only,d13ef257-988a-46f3-8fce-f47484dd4550,Virtualization Rights for Windows 10 (E3/E5+VDA),e7c91390-7625-45be-94e0-e16907e03118,Windows 10/11 Enterprise +Windows 10/11 Enterprise E3 VDA,E3_VDA_only,d13ef257-988a-46f3-8fce-f47484dd4550,Windows_Autopatch,9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3,Windows Autopatch +Windows 10/11 Enterprise E3 VDA,E3_VDA_only,d13ef257-988a-46f3-8fce-f47484dd4550,WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE,7bf960f6-2cd9-443a-8046-5dbff9558365,Windows Update for Business Deployment Service +Windows 10/11 Enterprise E3 VDA,E3_VDA_only,d13ef257-988a-46f3-8fce-f47484dd4550,DATAVERSE_FOR_POWERAUTOMATE_DESKTOP,59231cdf-b40d-4534-a93e-14d0cd31d27e,Dataverse for PAD +Windows 10/11 Enterprise E3 VDA,E3_VDA_only,d13ef257-988a-46f3-8fce-f47484dd4550,POWERAUTOMATE_DESKTOP_FOR_WIN,2d589a15-b171-4e61-9b5f-31d15eeb2872,PAD for Windows +Windows 365 Business 1 vCPU 2 GB 64 GB,CPC_B_1C_2RAM_64GB,816eacd3-e1e3-46b3-83c8-1ffd37e053d9,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 365 Business 1 vCPU 2 GB 64 GB,CPC_B_1C_2RAM_64GB,816eacd3-e1e3-46b3-83c8-1ffd37e053d9,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Windows 365 Business 1 vCPU 2 GB 64 GB,CPC_B_1C_2RAM_64GB,816eacd3-e1e3-46b3-83c8-1ffd37e053d9,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) +Windows 365 Business 1 vCPU 2 GB 64 GB,CPC_B_1C_2RAM_64GB,816eacd3-e1e3-46b3-83c8-1ffd37e053d9,CPC_B_1C_2RAM_64GB,3b98b912-1720-4a1e-9630-c9a41dbb61d8,Windows 365 Business 1 vCPU 2 GB 64 GB +Windows 365 Business 2 vCPU 4 GB 128 GB,CPC_B_2C_4RAM_128GB,135bee78-485b-4181-ad6e-40286e311850,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 365 Business 2 vCPU 4 GB 128 GB,CPC_B_2C_4RAM_128GB,135bee78-485b-4181-ad6e-40286e311850,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Windows 365 Business 2 vCPU 4 GB 128 GB,CPC_B_2C_4RAM_128GB,135bee78-485b-4181-ad6e-40286e311850,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) +Windows 365 Business 2 vCPU 4 GB 128 GB,CPC_B_2C_4RAM_128GB,135bee78-485b-4181-ad6e-40286e311850,CPC_B_2C_4RAM_128GB,1a13832e-cd79-497d-be76-24186f55c8b0,Windows 365 Business 2 vCPU 4 GB 128 GB +Windows 365 Business 2 vCPU 4 GB 256 GB,CPC_B_2C_4RAM_256GB,805d57c3-a97d-4c12-a1d0-858ffe5015d0,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 365 Business 2 vCPU 4 GB 256 GB,CPC_B_2C_4RAM_256GB,805d57c3-a97d-4c12-a1d0-858ffe5015d0,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Windows 365 Business 2 vCPU 4 GB 256 GB,CPC_B_2C_4RAM_256GB,805d57c3-a97d-4c12-a1d0-858ffe5015d0,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) +Windows 365 Business 2 vCPU 4 GB 256 GB,CPC_B_2C_4RAM_256GB,805d57c3-a97d-4c12-a1d0-858ffe5015d0,CPC_B_2C_4RAM_256GB,a0b1c075-51c9-4a42-b34c-308f3993bb7e,Windows 365 Business 2 vCPU 4 GB 256 GB +Windows 365 Business 2 vCPU 4 GB 64 GB,CPC_B_2C_4RAM_64GB,42e6818f-8966-444b-b7ac-0027c83fa8b5,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 365 Business 2 vCPU 4 GB 64 GB,CPC_B_2C_4RAM_64GB,42e6818f-8966-444b-b7ac-0027c83fa8b5,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Windows 365 Business 2 vCPU 4 GB 64 GB,CPC_B_2C_4RAM_64GB,42e6818f-8966-444b-b7ac-0027c83fa8b5,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) +Windows 365 Business 2 vCPU 4 GB 64 GB,CPC_B_2C_4RAM_64GB,42e6818f-8966-444b-b7ac-0027c83fa8b5,CPC_B_2C_4RAM_64GB,a790cd6e-a153-4461-83c7-e127037830b6,Windows 365 Business 2 vCPU 4 GB 64 GB +Windows 365 Business 2 vCPU 8 GB 128 GB,CPC_B_2C_8RAM_128GB,71f21848-f89b-4aaa-a2dc-780c8e8aac5b,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 365 Business 2 vCPU 8 GB 128 GB,CPC_B_2C_8RAM_128GB,71f21848-f89b-4aaa-a2dc-780c8e8aac5b,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Windows 365 Business 2 vCPU 8 GB 128 GB,CPC_B_2C_8RAM_128GB,71f21848-f89b-4aaa-a2dc-780c8e8aac5b,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) +Windows 365 Business 2 vCPU 8 GB 128 GB,CPC_B_2C_8RAM_128GB,71f21848-f89b-4aaa-a2dc-780c8e8aac5b,CPC_SS_2,9d2eed2c-b0c0-4a89-940c-bc303444a41b,Windows 365 Business 2 vCPU, 8 GB, 128 GB +Windows 365 Business 2 vCPU 8 GB 256 GB,CPC_B_2C_8RAM_256GB,750d9542-a2f8-41c7-8c81-311352173432,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 365 Business 2 vCPU 8 GB 256 GB,CPC_B_2C_8RAM_256GB,750d9542-a2f8-41c7-8c81-311352173432,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Windows 365 Business 2 vCPU 8 GB 256 GB,CPC_B_2C_8RAM_256GB,750d9542-a2f8-41c7-8c81-311352173432,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) +Windows 365 Business 2 vCPU 8 GB 256 GB,CPC_B_2C_8RAM_256GB,750d9542-a2f8-41c7-8c81-311352173432,CPC_B_2C_8RAM_256GB,1a3ef005-2ef6-434b-8be1-faa56c892854,Windows 365 Business 2 vCPU 8 GB 256 GB +Windows 365 Business 4 vCPU 16 GB 128 GB,CPC_B_4C_16RAM_128GB,ad83ac17-4a5a-4ebb-adb2-079fb277e8b9,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 365 Business 4 vCPU 16 GB 128 GB,CPC_B_4C_16RAM_128GB,ad83ac17-4a5a-4ebb-adb2-079fb277e8b9,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Windows 365 Business 4 vCPU 16 GB 128 GB,CPC_B_4C_16RAM_128GB,ad83ac17-4a5a-4ebb-adb2-079fb277e8b9,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) +Windows 365 Business 4 vCPU 16 GB 128 GB,CPC_B_4C_16RAM_128GB,ad83ac17-4a5a-4ebb-adb2-079fb277e8b9,CPC_B_4C_16RAM_128GB,1d4f75d3-a19b-49aa-88cb-f1ea1690b550,Windows 365 Business 4 vCPU 16 GB 128 GB +Windows 365 Business 4 vCPU 16 GB 128 GB (with Windows Hybrid Benefit),CPC_B_4C_16RAM_128GB_WHB,439ac253-bfbc-49c7-acc0-6b951407b5ef,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 365 Business 4 vCPU 16 GB 128 GB (with Windows Hybrid Benefit),CPC_B_4C_16RAM_128GB_WHB,439ac253-bfbc-49c7-acc0-6b951407b5ef,CPC_B_4C_16RAM_128GB,1d4f75d3-a19b-49aa-88cb-f1ea1690b550,Windows 365 Business 4 vCPU 16 GB 128 GB +Windows 365 Business 4 vCPU 16 GB 256 GB,CPC_B_4C_16RAM_256GB,b3891a9f-c7d9-463c-a2ec-0b2321bda6f9,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 365 Business 4 vCPU 16 GB 256 GB,CPC_B_4C_16RAM_256GB,b3891a9f-c7d9-463c-a2ec-0b2321bda6f9,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Windows 365 Business 4 vCPU 16 GB 256 GB,CPC_B_4C_16RAM_256GB,b3891a9f-c7d9-463c-a2ec-0b2321bda6f9,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) +Windows 365 Business 4 vCPU 16 GB 256 GB,CPC_B_4C_16RAM_256GB,b3891a9f-c7d9-463c-a2ec-0b2321bda6f9,CPC_B_4C_16RAM_256GB,30f6e561-8805-41d0-80ce-f82698b72d7d,Windows 365 Business 4 vCPU 16 GB 256 GB +Windows 365 Business 4 vCPU 16 GB 512 GB,CPC_B_4C_16RAM_512GB,1b3043ad-dfc6-427e-a2c0-5ca7a6c94a2b,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 365 Business 4 vCPU 16 GB 512 GB,CPC_B_4C_16RAM_512GB,1b3043ad-dfc6-427e-a2c0-5ca7a6c94a2b,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Windows 365 Business 4 vCPU 16 GB 512 GB,CPC_B_4C_16RAM_512GB,1b3043ad-dfc6-427e-a2c0-5ca7a6c94a2b,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) +Windows 365 Business 4 vCPU 16 GB 512 GB,CPC_B_4C_16RAM_512GB,1b3043ad-dfc6-427e-a2c0-5ca7a6c94a2b,CPC_B_4C_16RAM_512GB,15499661-b229-4a1f-b0f9-bd5832ef7b3e,Windows 365 Business 4 vCPU 16 GB 512 GB +Windows 365 Business 8 vCPU 32 GB 128 GB,CPC_B_8C_32RAM_128GB,3cb45fab-ae53-4ff6-af40-24c1915ca07b,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 365 Business 8 vCPU 32 GB 128 GB,CPC_B_8C_32RAM_128GB,3cb45fab-ae53-4ff6-af40-24c1915ca07b,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Windows 365 Business 8 vCPU 32 GB 128 GB,CPC_B_8C_32RAM_128GB,3cb45fab-ae53-4ff6-af40-24c1915ca07b,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) +Windows 365 Business 8 vCPU 32 GB 128 GB,CPC_B_8C_32RAM_128GB,3cb45fab-ae53-4ff6-af40-24c1915ca07b,CPC_B_8C_32RAM_128GB,648005fc-b330-4bd9-8af6-771f28958ac0,Windows 365 Business 8 vCPU 32 GB 128 GB +Windows 365 Business 8 vCPU 32 GB 256 GB,CPC_B_8C_32RAM_256GB,fbc79df2-da01-4c17-8d88-17f8c9493d8f,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 365 Business 8 vCPU 32 GB 256 GB,CPC_B_8C_32RAM_256GB,fbc79df2-da01-4c17-8d88-17f8c9493d8f,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Windows 365 Business 8 vCPU 32 GB 256 GB,CPC_B_8C_32RAM_256GB,fbc79df2-da01-4c17-8d88-17f8c9493d8f,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) +Windows 365 Business 8 vCPU 32 GB 256 GB,CPC_B_8C_32RAM_256GB,fbc79df2-da01-4c17-8d88-17f8c9493d8f,CPC_B_8C_32RAM_256GB,d7a5113a-0276-4dc2-94f8-ca9f2c5ae078,Windows 365 Business 8 vCPU 32 GB 256 GB +Windows 365 Business 8 vCPU 32 GB 512 GB,CPC_B_8C_32RAM_512GB,8ee402cd-e6a8-4b67-a411-54d1f37a2049,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 365 Business 8 vCPU 32 GB 512 GB,CPC_B_8C_32RAM_512GB,8ee402cd-e6a8-4b67-a411-54d1f37a2049,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Windows 365 Business 8 vCPU 32 GB 512 GB,CPC_B_8C_32RAM_512GB,8ee402cd-e6a8-4b67-a411-54d1f37a2049,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) +Windows 365 Business 8 vCPU 32 GB 512 GB,CPC_B_8C_32RAM_512GB,8ee402cd-e6a8-4b67-a411-54d1f37a2049,CPC_B_8C_32RAM_512GB,4229a0b4-7f34-4835-b068-6dc8d10be57c,Windows 365 Business 8 vCPU 32 GB 512 GB +Windows 365 Business 16 vCPU, 64 GB, 512 GB,Windows_365_Business_16_vCPU,_64_GB,_512_GB,93d9955a-ec70-44d5-8faa-a194492390f7,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 365 Business 16 vCPU, 64 GB, 512 GB,Windows_365_Business_16_vCPU,_64_GB,_512_GB,93d9955a-ec70-44d5-8faa-a194492390f7,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Windows 365 Business 16 vCPU, 64 GB, 512 GB,Windows_365_Business_16_vCPU,_64_GB,_512_GB,93d9955a-ec70-44d5-8faa-a194492390f7,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) +Windows 365 Business 16 vCPU, 64 GB, 512 GB,Windows_365_Business_16_vCPU,_64_GB,_512_GB,93d9955a-ec70-44d5-8faa-a194492390f7,CPC_B_16C_64GB_512GB,cbbedc49-52d5-4fd6-82ac-a5bc51634dc3,Windows 365 Business 16 vCPU, 64 GB, 512 GB +Windows 365 Business 16 vCPU, 64 GB, 1 TB,Windows_365_Business_16_vCPU,_64_GB,_1_TB,24be3cd7-82ca-41a5-94a7-4903373cdcae,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 365 Business 16 vCPU, 64 GB, 1 TB,Windows_365_Business_16_vCPU,_64_GB,_1_TB,24be3cd7-82ca-41a5-94a7-4903373cdcae,M365_LIGHTHOUSE_CUSTOMER_PLAN1,6f23d6a9-adbf-481c-8538-b4c095654487,Microsoft 365 Lighthouse (Plan 1) +Windows 365 Business 16 vCPU, 64 GB, 1 TB,Windows_365_Business_16_vCPU,_64_GB,_1_TB,24be3cd7-82ca-41a5-94a7-4903373cdcae,M365_LIGHTHOUSE_PARTNER_PLAN1,d55411c9-cfff-40a9-87c7-240f14df7da5,Microsoft 365 Lighthouse (Plan 2) +Windows 365 Business 16 vCPU, 64 GB, 1 TB,Windows_365_Business_16_vCPU,_64_GB,_1_TB,24be3cd7-82ca-41a5-94a7-4903373cdcae,CPC_B_16C_64GB_1TB,37c961db-2cfd-4e13-b81e-b0059ce10e34,Windows 365 Business 16 vCPU, 64 GB, 1 TB +Windows 365 Enterprise 1 vCPU 2 GB 64 GB,CPC_E_1C_2GB_64GB,0c278af4-c9c1-45de-9f4b-cd929e747a2c,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 365 Enterprise 1 vCPU 2 GB 64 GB,CPC_E_1C_2GB_64GB,0c278af4-c9c1-45de-9f4b-cd929e747a2c,CPC_E_1C_2GB_64GB,86d70dbb-d4c6-4662-ba17-3014204cbb28,Windows 365 Enterprise 1 vCPU 2 GB 64 GB +Windows 365 Enterprise 2 vCPU 4 GB 64 GB,CPC_E_2C_4GB_64GB,7bb14422-3b90-4389-a7be-f1b745fc037f,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 365 Enterprise 2 vCPU 4 GB 64 GB,CPC_E_2C_4GB_64GB,7bb14422-3b90-4389-a7be-f1b745fc037f,CPC_E_2C_4GB_64GB,23a25099-1b2f-4e07-84bd-b84606109438,Windows 365 Enterprise 2 vCPU 4 GB 64 GB +Windows 365 Enterprise 2 vCPU 4 GB 128 GB,CPC_E_2C_4GB_128GB,226ca751-f0a4-4232-9be5-73c02a92555e,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 365 Enterprise 2 vCPU 4 GB 128 GB,CPC_E_2C_4GB_128GB,226ca751-f0a4-4232-9be5-73c02a92555e,CPC_1,545e3611-3af8-49a5-9a0a-b7867968f4b0,Windows 365 Enterprise 2 vCPU 4 GB 128 GB +Windows 365 Enterprise 2 vCPU 4 GB 128 GB (Preview),CPC_LVL_1,bce09f38-1800-4a51-8d50-5486380ba84a,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 365 Enterprise 2 vCPU 4 GB 128 GB (Preview),CPC_LVL_1,bce09f38-1800-4a51-8d50-5486380ba84a,CPC_1,545e3611-3af8-49a5-9a0a-b7867968f4b0,Windows 365 Enterprise 2 vCPU 4 GB 128 GB +Windows 365 Enterprise 2 vCPU 4 GB 256 GB,CPC_E_2C_4GB_256GB,5265a84e-8def-4fa2-ab4b-5dc278df5025,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 365 Enterprise 2 vCPU 4 GB 256 GB,CPC_E_2C_4GB_256GB,5265a84e-8def-4fa2-ab4b-5dc278df5025,CPC_E_2C_4GB_256GB,0d143570-9b92-4f57-adb5-e4efcd23b3bb,Windows 365 Enterprise 2 vCPU 4 GB 256 GB +Windows 365 Enterprise 2 vCPU 8 GB 128 GB,CPC_E_2C_8GB_128GB,e2aebe6c-897d-480f-9d62-fff1381581f7,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 365 Enterprise 2 vCPU 8 GB 128 GB,CPC_E_2C_8GB_128GB,e2aebe6c-897d-480f-9d62-fff1381581f7,CPC_2,3efff3fe-528a-4fc5-b1ba-845802cc764f,Windows 365 Enterprise 2 vCPU 8 GB 128 GB +Windows 365 Enterprise 2 vCPU 8 GB 128 GB (Preview),CPC_LVL_2,461cb62c-6db7-41aa-bf3c-ce78236cdb9e,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 365 Enterprise 2 vCPU 8 GB 128 GB (Preview),CPC_LVL_2,461cb62c-6db7-41aa-bf3c-ce78236cdb9e,CPC_2,3efff3fe-528a-4fc5-b1ba-845802cc764f,Windows 365 Enterprise 2 vCPU 8 GB 128 GB +Windows 365 Enterprise 2 vCPU 8 GB 256 GB,CPC_E_2C_8GB_256GB,1c79494f-e170-431f-a409-428f6053fa35,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 365 Enterprise 2 vCPU 8 GB 256 GB,CPC_E_2C_8GB_256GB,1c79494f-e170-431f-a409-428f6053fa35,CPC_E_2C_8GB_256GB,d3468c8c-3545-4f44-a32f-b465934d2498,Windows 365 Enterprise 2 vCPU 8 GB 256 GB +Windows 365 Enterprise 4 vCPU 16 GB 128 GB,CPC_E_4C_16GB_128GB,d201f153-d3b2-4057-be2f-fe25c8983e6f,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 365 Enterprise 4 vCPU 16 GB 128 GB,CPC_E_4C_16GB_128GB,d201f153-d3b2-4057-be2f-fe25c8983e6f,CPC_E_4C_16GB_128GB,2de9c682-ca3f-4f2b-b360-dfc4775db133,Windows 365 Enterprise 4 vCPU 16 GB 128 GB +Windows 365 Enterprise 4 vCPU 16 GB 256 GB,CPC_E_4C_16GB_256GB,96d2951e-cb42-4481-9d6d-cad3baac177e,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 365 Enterprise 4 vCPU 16 GB 256 GB,CPC_E_4C_16GB_256GB,96d2951e-cb42-4481-9d6d-cad3baac177e,CPC_E_4C_16GB_256GB,9ecf691d-8b82-46cb-b254-cd061b2c02fb,Windows 365 Enterprise 4 vCPU 16 GB 256 GB +Windows 365 Enterprise 4 vCPU 16 GB 256 GB (Preview),CPC_LVL_3,bbb4bf6e-3e12-4343-84a1-54d160c00f40,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 365 Enterprise 4 vCPU 16 GB 256 GB (Preview),CPC_LVL_3,bbb4bf6e-3e12-4343-84a1-54d160c00f40,CPC_E_4C_16GB_256GB,9ecf691d-8b82-46cb-b254-cd061b2c02fb,Windows 365 Enterprise 4 vCPU 16 GB 256 GB +Windows 365 Enterprise 4 vCPU 16 GB 512 GB,CPC_E_4C_16GB_512GB,0da63026-e422-4390-89e8-b14520d7e699,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 365 Enterprise 4 vCPU 16 GB 512 GB,CPC_E_4C_16GB_512GB,0da63026-e422-4390-89e8-b14520d7e699,CPC_E_4C_16GB_512GB,3bba9856-7cf2-4396-904a-00de74fba3a4,Windows 365 Enterprise 4 vCPU 16 GB 512 GB +Windows 365 Enterprise 8 vCPU 32 GB 128 GB,CPC_E_8C_32GB_128GB,c97d00e4-0c4c-4ec2-a016-9448c65de986,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 365 Enterprise 8 vCPU 32 GB 128 GB,CPC_E_8C_32GB_128GB,c97d00e4-0c4c-4ec2-a016-9448c65de986,CPC_E_8C_32GB_128GB,2f3cdb12-bcde-4e37-8529-e9e09ec09e23,Windows 365 Enterprise 8 vCPU 32 GB 128 GB +Windows 365 Enterprise 8 vCPU 32 GB 256 GB,CPC_E_8C_32GB_256GB,7818ca3e-73c8-4e49-bc34-1276a2d27918,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 365 Enterprise 8 vCPU 32 GB 256 GB,CPC_E_8C_32GB_256GB,7818ca3e-73c8-4e49-bc34-1276a2d27918,CPC_E_8C_32GB_256GB,69dc175c-dcff-4757-8389-d19e76acb45d,Windows 365 Enterprise 8 vCPU 32 GB 256 GB +Windows 365 Enterprise 8 vCPU 32 GB 512 GB,CPC_E_8C_32GB_512GB,9fb0ba5f-4825-4e84-b239-5167a3a5d4dc,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,Exchange Foundation +Windows 365 Enterprise 8 vCPU 32 GB 512 GB,CPC_E_8C_32GB_512GB,9fb0ba5f-4825-4e84-b239-5167a3a5d4dc,CPC_E_8C_32GB_512GB,0e837228-8250-4047-8a80-d4a34ba11658,Windows 365 Enterprise 8 vCPU 32 GB 512 GB +Windows 365 Shared Use 2 vCPU 4 GB 64 GB,Windows_365_S_2vCPU_4GB_64GB,1f9990ca-45d9-4c8d-8d04-a79241924ce1,CPC_S_2C_4GB_64GB,64981bdb-a5a6-4a22-869f-a9455366d5bc,Windows 365 Shared Use 2 vCPU 4 GB 64 GB +Windows 365 Shared Use 2 vCPU 4 GB 128 GB,Windows_365_S_2vCPU_4GB_128GB,90369797-7141-4e75-8f5e-d13f4b6092c1,CPC_S_2C_4GB_128GB,51855c77-4d2e-4736-be67-6dca605f2b57,Windows 365 Shared Use 2 vCPU 4 GB 128 GB +Windows 365 Shared Use 2 vCPU 4 GB 256 GB,Windows_365_S_2vCPU_4GB_256GB,8fe96593-34d3-49bb-aeee-fb794fed0800,CPC_S_2C_4GB_256GB,aa8fbe7b-695c-4c05-8d45-d1dddf6f7616,Windows 365 Shared Use 2 vCPU 4 GB 256 GB +Windows 365 Shared Use 2 vCPU 8 GB 128 GB,Windows_365_S_2vCPU_8GB_128GB,2d21fc84-b918-491e-ad84-e24d61ccec94,CPC_S_2C_8GB_128GB,057efbfe-a95d-4263-acb0-12b4a31fed8d,Windows 365 Shared Use 2 vCPU 8 GB 128 GB +Windows 365 Shared Use 2 vCPU 8 GB 256 GB,Windows_365_S_2vCPU_8GB_256GB,2eaa4058-403e-4434-9da9-ea693f5d96dc,CPC_S_2C_8GB_256GB,50ef7026-6174-40ba-bff7-f0e4fcddbf65,Windows 365 Shared Use 2 vCPU 8 GB 256 GB +Windows 365 Shared Use 4 vCPU 16 GB 128 GB,Windows_365_S_4vCPU_16GB_128GB,1bf40e76-4065-4530-ac37-f1513f362f50,CPC_S_4C_16GB_128GB,dd3801e2-4aa1-4b16-a44b-243e55497584,Windows 365 Shared Use 4 vCPU 16 GB 128 GB +Windows 365 Shared Use 4 vCPU 16 GB 256 GB,Windows_365_S_4vCPU_16GB_256GB,a9d1e0df-df6f-48df-9386-76a832119cca,CPC_S_4C_16GB_256GB,2d1d344e-d10c-41bb-953b-b3a47521dca0,Windows 365 Shared Use 4 vCPU 16 GB 256 GB +Windows 365 Shared Use 4 vCPU 16 GB 512 GB,Windows_365_S_4vCPU_16GB_512GB,469af4da-121c-4529-8c85-9467bbebaa4b,CPC_S_4C_16GB_512GB,48b82071-99a5-4214-b493-406a637bd68d,Windows 365 Shared Use 4 vCPU 16 GB 512 GB +Windows 365 Shared Use 8 vCPU 32 GB 128 GB,Windows_365_S_8vCPU_32GB_128GB,f319c63a-61a9-42b7-b786-5695bc7edbaf,CPC_S_8C_32GB_128GB,e4dee41f-a5c5-457d-b7d3-c309986fdbb2,Windows 365 Shared Use 8 vCPU 32 GB 128 GB +Windows 365 Shared Use 8 vCPU 32 GB 256 GB,Windows_365_S_8vCPU_32GB_256GB,fb019e88-26a0-4218-bd61-7767d109ac26,CPC_S_8C_32GB_256GB,1e2321a0-f81c-4d43-a0d5-9895125706b8,Windows 365 Shared Use 8 vCPU 32 GB 256 GB +Windows 365 Shared Use 8 vCPU 32 GB 512 GB,Windows_365_S_8vCPU_32GB_512GB,f4dc1de8-8c94-4d37-af8a-1fca6675590a,CPC_S_8C_32GB_512GB,fa0b4021-0f60-4d95-bf68-95036285282a,Windows 365 Shared Use 8 vCPU 32 GB 512 GB +Windows Store for Business,WINDOWS_STORE,6470687e-a428-4b7a-bef2-8a291ad947c9,EXCHANGE_S_FOUNDATION,113feb6c-3fe4-4440-bddc-54d774bf0318,EXCHANGE FOUNDATION +Windows Store for Business,WINDOWS_STORE,6470687e-a428-4b7a-bef2-8a291ad947c9,WINDOWS_STORE,a420f25f-a7b3-4ff5-a9d0-5d58f73b537d,WINDOWS STORE SERVICE +Windows Store for Business EDU Faculty,WSFB_EDU_FACULTY,c7e9d9e6-1981-4bf3-bb50-a5bdfaa06fb2,Windows Store for Business EDU Store_faculty,aaa2cd24-5519-450f-a1a0-160750710ca1,Windows Store for Business EDU Store_faculty +Microsoft Workplace Analytics,WORKPLACE_ANALYTICS,3d957427-ecdc-4df2-aacd-01cc9d519da8,WORKPLACE_ANALYTICS,f477b0f0-3bb1-4890-940c-40fcee6ce05f,Microsoft Workplace Analytics +Microsoft Workplace Analytics,WORKPLACE_ANALYTICS,3d957427-ecdc-4df2-aacd-01cc9d519da8,WORKPLACE_ANALYTICS_INSIGHTS_BACKEND,ff7b261f-d98b-415b-827c-42a3fdf015af,Microsoft Workplace Analytics Insights Backend +Microsoft Workplace Analytics,WORKPLACE_ANALYTICS,3d957427-ecdc-4df2-aacd-01cc9d519da8,WORKPLACE_ANALYTICS_INSIGHTS_USER,b622badb-1b45-48d5-920f-4b27a2c0996c,Microsoft Workplace Analytics Insights User +Workload Identities Premium,Workload_Identities_Premium_CN,73fa80b5-689f-4db9-bbe4-bd414bc41e44,AAD_WRKLDID_P1,84c289f0-efcb-486f-8581-07f44fc9efad,Azure Active Directory workload identities P1 +Workload Identities Premium,Workload_Identities_Premium_CN,73fa80b5-689f-4db9-bbe4-bd414bc41e44,AAD_WRKLDID_P2,7dc0e92d-bf15-401d-907e-0884efe7c760,Azure Active Directory workload identities P2 diff --git a/Modules/CippExtensions/Public/Extension Functions/Get-ExtensionCacheData.ps1 b/Modules/CippExtensions/Public/Extension Functions/Get-ExtensionCacheData.ps1 index f360a3a873bb..bea4a6b65efa 100644 --- a/Modules/CippExtensions/Public/Extension Functions/Get-ExtensionCacheData.ps1 +++ b/Modules/CippExtensions/Public/Extension Functions/Get-ExtensionCacheData.ps1 @@ -8,7 +8,11 @@ function Get-ExtensionCacheData { $Return = @{} foreach ($Data in $CacheData) { - $Return[$Data.RowKey] = $Data.Data | ConvertFrom-Json -ErrorAction SilentlyContinue + try { + $Return[$Data.RowKey] = $Data.Data | ConvertFrom-Json -ErrorAction SilentlyContinue + } catch { + Write-Information "Failed to convert cache data for $($Data.RowKey) to JSON" + } } return [PSCustomObject]$Return } diff --git a/Modules/CippExtensions/Public/Extension Functions/Register-CippExtensionScheduledTasks.ps1 b/Modules/CippExtensions/Public/Extension Functions/Register-CippExtensionScheduledTasks.ps1 index ba3ba64a9f42..d8b2d6cfd01f 100644 --- a/Modules/CippExtensions/Public/Extension Functions/Register-CippExtensionScheduledTasks.ps1 +++ b/Modules/CippExtensions/Public/Extension Functions/Register-CippExtensionScheduledTasks.ps1 @@ -50,13 +50,13 @@ function Register-CIPPExtensionScheduledTasks { $ExistingTask = $ScheduledTasks | Where-Object { $_.Tenant -eq $Tenant.defaultDomainName -and $_.SyncType -eq $SyncType } if (!$ExistingTask -or $Reschedule.IsPresent) { $unixtime = [int64](([datetime]::UtcNow) - (Get-Date '1/1/1970')).TotalSeconds - $Task = @{ + $Task = [pscustomobject]@{ Name = "Extension Sync - $SyncType" Command = @{ value = 'Sync-CippExtensionData' label = 'Sync-CippExtensionData' } - Parameters = @{ + Parameters = [pscustomobject]@{ TenantFilter = $Tenant.defaultDomainName SyncType = $SyncType } @@ -65,7 +65,7 @@ function Register-CIPPExtensionScheduledTasks { TenantFilter = $Tenant.defaultDomainName } if ($ExistingTask) { - $Task.RowKey = $ExistingTask.RowKey + $Task | Add-Member -NotePropertyName 'RowKey' -NotePropertyValue $ExistingTask.RowKey -Force } $null = Add-CIPPScheduledTask -Task $Task -hidden $true -SyncType $SyncType Write-Information "Creating $SyncType task for tenant $($Tenant.defaultDomainName)" @@ -76,13 +76,13 @@ function Register-CIPPExtensionScheduledTasks { if (!$ExistingPushTask -or $Reschedule.IsPresent) { # push cached data to extension $in30mins = [int64](([datetime]::UtcNow.AddMinutes(30)) - (Get-Date '1/1/1970')).TotalSeconds - $Task = @{ + $Task = [pscustomobject]@{ Name = "$Extension Extension Sync" Command = @{ value = 'Push-CippExtensionData' label = 'Push-CippExtensionData' } - Parameters = @{ + Parameters = [pscustomobject]@{ TenantFilter = $Tenant.defaultDomainName Extension = $Extension } @@ -91,7 +91,7 @@ function Register-CIPPExtensionScheduledTasks { TenantFilter = $Tenant.defaultDomainName } if ($ExistingPushTask) { - $Task.RowKey = $ExistingTask.RowKey + $task | Add-Member -NotePropertyName 'RowKey' -NotePropertyValue $ExistingPushTask.RowKey -Force } $null = Add-CIPPScheduledTask -Task $Task -hidden $true -SyncType $Extension Write-Information "Creating $Extension task for tenant $($Tenant.defaultDomainName)" diff --git a/Modules/CippExtensions/Public/Extension Functions/Sync-CippExtensionData.ps1 b/Modules/CippExtensions/Public/Extension Functions/Sync-CippExtensionData.ps1 index 6a02fdd2c6cb..018c2f86899a 100644 --- a/Modules/CippExtensions/Public/Extension Functions/Sync-CippExtensionData.ps1 +++ b/Modules/CippExtensions/Public/Extension Functions/Sync-CippExtensionData.ps1 @@ -131,12 +131,12 @@ function Sync-CippExtensionData { @{ id = 'DeviceCompliancePolicies' method = 'GET' - url = '/deviceManagement/deviceCompliancePolicies' + url = '/deviceManagement/deviceCompliancePolicies?$top=999' }, @{ id = 'DeviceApps' method = 'GET' - url = '/deviceAppManagement/mobileApps' + url = '/deviceAppManagement/mobileApps?$select=id,displayName,description,publisher,isAssigned,createdDateTime,lastModifiedDateTime&$top=999' } ) @@ -151,14 +151,14 @@ function Sync-CippExtensionData { ) } 'Mailboxes' { - $Select = 'id,ExchangeGuid,ArchiveGuid,UserPrincipalName,DisplayName,PrimarySMTPAddress,RecipientType,RecipientTypeDetails,EmailAddresses,WhenSoftDeleted,IsInactiveMailbox' + $Select = 'id,ExchangeGuid,ArchiveGuid,UserPrincipalName,DisplayName,PrimarySMTPAddress,RecipientType,RecipientTypeDetails,EmailAddresses,WhenSoftDeleted,IsInactiveMailbox,ProhibitSendQuota,ProhibitSendReceiveQuota,LitigationHoldEnabled,InPlaceHolds,HiddenFromAddressListsEnabled' $ExoRequest = @{ tenantid = $TenantFilter cmdlet = 'Get-Mailbox' cmdParams = @{} Select = $Select } - $Mailboxes = (New-ExoRequest @ExoRequest) | Select-Object id, ExchangeGuid, ArchiveGuid, WhenSoftDeleted, @{ Name = 'UPN'; Expression = { $_.'UserPrincipalName' } }, + $Mailboxes = (New-ExoRequest @ExoRequest) | Select-Object id, ExchangeGuid, ArchiveGuid, WhenSoftDeleted, ProhibitSendQuota, ProhibitSendReceiveQuota, LitigationHoldEnabled, InplaceHolds, HiddenFromAddressListsEnabled, @{ Name = 'UPN'; Expression = { $_.'UserPrincipalName' } }, @{ Name = 'displayName'; Expression = { $_.'DisplayName' } }, @{ Name = 'primarySmtpAddress'; Expression = { $_.'PrimarySMTPAddress' } }, @@ -233,9 +233,14 @@ function Sync-CippExtensionData { if ($AdditionalRequests) { foreach ($AdditionalRequest in $AdditionalRequests) { + if ($AdditionalRequest.Filter) { + $Filter = [scriptblock]::Create($AdditionalRequest.Filter) + } else { + $Filter = { $true } + } $ParentId = $AdditionalRequest.ParentId $GraphRequest = $AdditionalRequest.graphRequest.PSObject.Copy() - $AdditionalRequestQueries = ($TenantResults | Where-Object { $_.id -eq $ParentId }).body.value | ForEach-Object { + $AdditionalRequestQueries = ($TenantResults | Where-Object { $_.id -eq $ParentId }).body.value | Where-Object $Filter | ForEach-Object { if ($_.id) { [PSCustomObject]@{ id = $_.id @@ -298,7 +303,7 @@ function Sync-CippExtensionData { } catch { $LastSync.Status = 'Failed' $LastSync.Error = [string](Get-CippException -Exception $_ | ConvertTo-Json -Compress) - throw "Failed to sync data: $($_.Exception.Message)" + throw "Failed to sync data: $(Get-NormalizedError -message $_.Exception.Message)" } finally { Add-CIPPAzDataTableEntity @Table -Entity $LastSync -Force } diff --git a/Modules/CippExtensions/Public/Gradient/Get-GradientToken.ps1 b/Modules/CippExtensions/Public/Gradient/Get-GradientToken.ps1 index b4b8023e990b..a944d16b805d 100644 --- a/Modules/CippExtensions/Public/Gradient/Get-GradientToken.ps1 +++ b/Modules/CippExtensions/Public/Gradient/Get-GradientToken.ps1 @@ -4,7 +4,8 @@ function Get-GradientToken { ) if ($Configuration.vendorKey) { $null = Connect-AzAccount -Identity - $partnerApiKey = (Get-AzKeyVaultSecret -VaultName $ENV:WEBSITE_DEPLOYMENT_ID -Name 'Gradient' -AsPlainText) + $keyvaultname = ($ENV:WEBSITE_DEPLOYMENT_ID -split '-')[0] + $partnerApiKey = (Get-AzKeyVaultSecret -VaultName $keyvaultname -Name 'Gradient' -AsPlainText) $authorizationToken = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("$($configuration.vendorKey):$($partnerApiKey)")) $headers = [hashtable]@{ diff --git a/Modules/CippExtensions/Public/Gradient/New-GradientServiceSyncRun.ps1 b/Modules/CippExtensions/Public/Gradient/New-GradientServiceSyncRun.ps1 index b2fdba7b43ae..11d039d1ecf5 100644 --- a/Modules/CippExtensions/Public/Gradient/New-GradientServiceSyncRun.ps1 +++ b/Modules/CippExtensions/Public/Gradient/New-GradientServiceSyncRun.ps1 @@ -1,8 +1,6 @@ function New-GradientServiceSyncRun { - [CmdletBinding()] - param ( - - ) + [CmdletBinding(SupportsShouldProcess = $true)] + param () $Table = Get-CIPPTable -TableName Extensionsconfig $Configuration = ((Get-CIPPAzDataTableEntity @Table).config | ConvertFrom-Json).Gradient @@ -30,12 +28,12 @@ function New-GradientServiceSyncRun { Set-Location (Get-Item $PSScriptRoot).Parent.FullName - $ConvertTable = Import-Csv Conversiontable.csv + $ConvertTable = Import-Csv ConversionTable.csv $Table = Get-CIPPTable -TableName cachelicenses $LicenseTable = Get-CIPPTable -TableName ExcludedLicenses $ExcludedSkuList = Get-CIPPAzDataTableEntity @LicenseTable - $RawGraphRequest = $Tenants | ForEach-Object -Parallel { + $RawGraphRequest = $Tenants | ForEach-Object -Parallel { $domainName = $_.defaultDomainName Import-Module '.\Modules\AzBobbyTables' Import-Module '.\Modules\CIPPCore' @@ -45,17 +43,17 @@ function New-GradientServiceSyncRun { [PSCustomObject]@{ Tenant = $domainName Licenses = $Licrequest - } + } } catch { [PSCustomObject]@{ Tenant = $domainName - Licenses = @{ + Licenses = @{ skuid = "Could not connect to client: $($_.Exception.Message)" skuPartNumber = 'Could not connect to client' - consumedUnits = 0 + consumedUnits = 0 prepaidUnits = { Enabled = 0 } } - } + } } } $LicenseTable = foreach ($singlereq in $RawGraphRequest) { @@ -67,7 +65,7 @@ function New-GradientServiceSyncRun { if (!$PrettyName) { $PrettyName = $sku.skuPartNumber } #Check if serviceID exists by SKUID in gradient $ExistingService = (Invoke-RestMethod -Uri 'https://app.usegradient.com/api/vendor-api' -Method GET -Headers $GradientToken).data.skus | Where-Object name -EQ $PrettyName - Write-Host "New service: $($ExistingService.name) ID: $($ExistingService.id)" + Write-Host "New service: $($ExistingService.name) ID: $($ExistingService.id)" if (!$ExistingService) { #Create service $ServiceBody = [PSCustomObject]@{ @@ -91,4 +89,4 @@ function New-GradientServiceSyncRun { } } -} \ No newline at end of file +} diff --git a/Modules/CippExtensions/Public/Halo/Get-HaloToken.ps1 b/Modules/CippExtensions/Public/Halo/Get-HaloToken.ps1 index 5c407c02a5f0..4fad5d783977 100644 --- a/Modules/CippExtensions/Public/Halo/Get-HaloToken.ps1 +++ b/Modules/CippExtensions/Public/Halo/Get-HaloToken.ps1 @@ -9,7 +9,8 @@ function Get-HaloToken { $Secret = (Get-CIPPAzDataTableEntity @DevSecretsTable -Filter "PartitionKey eq 'HaloPSA' and RowKey eq 'HaloPSA'").APIKey } else { $null = Connect-AzAccount -Identity - $Secret = Get-AzKeyVaultSecret -VaultName $ENV:WEBSITE_DEPLOYMENT_ID -Name 'HaloPSA' -AsPlainText + $VaultName = ($ENV:WEBSITE_DEPLOYMENT_ID -split '-')[0] + $Secret = Get-AzKeyVaultSecret -VaultName $VaultName -Name 'HaloPSA' -AsPlainText } $body = @{ grant_type = 'client_credentials' @@ -24,4 +25,4 @@ function Get-HaloToken { } else { throw 'No Halo configuration' } -} \ No newline at end of file +} diff --git a/Modules/CippExtensions/Public/Halo/New-HaloPSATicket.ps1 b/Modules/CippExtensions/Public/Halo/New-HaloPSATicket.ps1 index 16b4cef697f8..e29ef33bd84c 100644 --- a/Modules/CippExtensions/Public/Halo/New-HaloPSATicket.ps1 +++ b/Modules/CippExtensions/Public/Halo/New-HaloPSATicket.ps1 @@ -1,52 +1,53 @@ function New-HaloPSATicket { - [CmdletBinding()] - param ( - $title, - $description, - $client - ) - #Get Halo PSA Token based on the config we have. - $Table = Get-CIPPTable -TableName Extensionsconfig - $Configuration = ((Get-CIPPAzDataTableEntity @Table).config | ConvertFrom-Json).HaloPSA + [CmdletBinding()] + param ( + $title, + $description, + $client + ) + #Get Halo PSA Token based on the config we have. + $Table = Get-CIPPTable -TableName Extensionsconfig + $Configuration = ((Get-CIPPAzDataTableEntity @Table).config | ConvertFrom-Json).HaloPSA - $token = Get-HaloToken -configuration $Configuration - $Object = [PSCustomObject]@{ - files = $null - usertype = 1 - userlookup = @{ - id = -1 - lookupdisplay = 'Enter Details Manually' + $token = Get-HaloToken -configuration $Configuration + $Object = [PSCustomObject]@{ + files = $null + usertype = 1 + userlookup = @{ + id = -1 + lookupdisplay = 'Enter Details Manually' + } + client_id = ($client | Select-Object -Last 1) + _forcereassign = $true + site_id = $null + user_name = $null + reportedby = $null + summary = $title + details_html = $description + donotapplytemplateintheapi = $true + attachments = @() } - client_id = ($client | Select-Object -Last 1) - _forcereassign = $true - site_id = $null - user_name = $null - reportedby = $null - summary = $title - details_html = $description - donotapplytemplateintheapi = $true - attachments = @() - } - if ($Configuration.TicketType) { - $object | Add-Member -MemberType NoteProperty -Name 'tickettype_id' -Value $Configuration.TicketType - } - #use the token to create a new ticket in HaloPSA - $body = ConvertTo-Json -Compress -Depth 10 -InputObject @($Object) + if ($Configuration.TicketType) { + $object | Add-Member -MemberType NoteProperty -Name 'tickettype_id' -Value $Configuration.TicketType -Force + } + #use the token to create a new ticket in HaloPSA + $body = ConvertTo-Json -Compress -Depth 10 -InputObject @($Object) - Write-Host 'Sending ticket to HaloPSA' - Write-Host $body - try { - $Ticket = Invoke-RestMethod -Uri "$($Configuration.ResourceURL)/Tickets" -ContentType 'application/json; charset=utf-8' -Method Post -Body $body -Headers @{Authorization = "Bearer $($token.access_token)" } - } catch { - $Message = if ($_.ErrorDetails.Message) { - Get-NormalizedError -Message $_.ErrorDetails.Message - } else { - $_.Exception.message + Write-Host 'Sending ticket to HaloPSA' + Write-Host $body + try { + $Ticket = Invoke-RestMethod -Uri "$($Configuration.ResourceURL)/Tickets" -ContentType 'application/json; charset=utf-8' -Method Post -Body $body -Headers @{Authorization = "Bearer $($token.access_token)" } + } catch { + $Message = if ($_.ErrorDetails.Message) { + Get-NormalizedError -Message $_.ErrorDetails.Message + } else { + $_.Exception.message + } + Write-LogMessage -message "Failed to send ticket to HaloPSA: $Message" -API 'HaloPSATicket' -sev Error + Write-Host "Failed to send ticket to HaloPSA: $Message" + Write-Host "Body we tried to ship: $body" } - Write-LogMessage -message "Failed to send ticket to HaloPSA: $Message" -API 'HaloPSATicket' -sev Error - Write-Host "Failed to send ticket to HaloPSA: $Message" - } -} \ No newline at end of file +} diff --git a/Modules/CippExtensions/Public/Hudu/Connect-HuduAPI.ps1 b/Modules/CippExtensions/Public/Hudu/Connect-HuduAPI.ps1 index 3117d343ec55..05c2f9b1e78f 100644 --- a/Modules/CippExtensions/Public/Hudu/Connect-HuduAPI.ps1 +++ b/Modules/CippExtensions/Public/Hudu/Connect-HuduAPI.ps1 @@ -8,9 +8,10 @@ function Connect-HuduAPI { $DevSecretsTable = Get-CIPPTable -tablename 'DevSecrets' $APIKey = (Get-CIPPAzDataTableEntity @DevSecretsTable -Filter "PartitionKey eq 'Hudu' and RowKey eq 'Hudu'").APIKey } else { + $keyvaultname = ($ENV:WEBSITE_DEPLOYMENT_ID -split '-')[0] $null = Connect-AzAccount -Identity - $APIKey = (Get-AzKeyVaultSecret -VaultName $ENV:WEBSITE_DEPLOYMENT_ID -Name 'Hudu' -AsPlainText) + $APIKey = (Get-AzKeyVaultSecret -VaultName $keyvaultname -Name 'Hudu' -AsPlainText) } New-HuduBaseURL -BaseURL $Configuration.BaseURL New-HuduAPIKey -ApiKey $APIKey -} \ No newline at end of file +} diff --git a/Modules/CippExtensions/Public/Hudu/Invoke-HuduExtensionSync.ps1 b/Modules/CippExtensions/Public/Hudu/Invoke-HuduExtensionSync.ps1 index 80f92e6ad662..7eae2f462326 100644 --- a/Modules/CippExtensions/Public/Hudu/Invoke-HuduExtensionSync.ps1 +++ b/Modules/CippExtensions/Public/Hudu/Invoke-HuduExtensionSync.ps1 @@ -7,86 +7,161 @@ function Invoke-HuduExtensionSync { $Configuration, $TenantFilter ) - Connect-HuduAPI -configuration $Configuration + try { + Connect-HuduAPI -configuration $Configuration + + $CompanyResult = [PSCustomObject]@{ + Name = $Tenant.displayName + Users = 0 + Devices = 0 + Errors = [System.Collections.Generic.List[string]]@() + Logs = [System.Collections.Generic.List[string]]@() + } - # Get mapping configuration - $MappingTable = Get-CIPPTable -TableName 'CippMapping' - $Mappings = Get-CIPPAzDataTableEntity @MappingTable -Filter "PartitionKey eq 'HuduMapping' or PartitionKey eq 'HuduFieldMapping'" - #Write-Host ($Mappings | ConvertTo-Json) - $defaultdomain = $TenantFilter - $Tenant = Get-Tenants -IncludeErrors | Where-Object { $_.defaultDomainName -eq $TenantFilter } - $TenantMap = $Mappings | Where-Object { $_.RowKey -eq $Tenant.customerId } + # Get mapping configuration + $MappingTable = Get-CIPPTable -TableName 'CippMapping' + $Mappings = Get-CIPPAzDataTableEntity @MappingTable -Filter "PartitionKey eq 'HuduMapping' or PartitionKey eq 'HuduFieldMapping'" - $HuduAssetCache = Get-CippTable -tablename 'CacheHuduAssets' + $defaultdomain = $TenantFilter + $Tenant = Get-Tenants -IncludeErrors | Where-Object { $_.defaultDomainName -eq $TenantFilter } + $TenantMap = $Mappings | Where-Object { $_.RowKey -eq $Tenant.customerId } - if (!$TenantMap) { - return 'Tenant not found in mapping table' - } + # Get Asset cache + $HuduAssetCache = Get-CippTable -tablename 'CacheHuduAssets' - $CompanyResult = [PSCustomObject]@{ - Name = $Tenant.displayName - Users = 0 - Devices = 0 - Errors = [System.Collections.Generic.List[string]]@() - } + # Import license mapping + Set-Location (Get-Item $PSScriptRoot).Parent.Parent.Parent.Parent.FullName + $LicTable = Import-Csv ConversionTable.csv - $PeopleLayoutId = $Mappings | Where-Object { $_.RowKey -eq 'Users' } | Select-Object -ExpandProperty IntegrationId - $CreateUsers = $Configuration.CreateMissingUsers - $DeviceLayoutId = $Mappings | Where-Object { $_.RowKey -eq 'Devices' } | Select-Object -ExpandProperty IntegrationId - $CreateDevices = $Configuration.CreateMissingDevices + $CompanyResult.Logs.Add('Starting Hudu Extension Sync') - $null = Add-HuduAssetLayoutM365Field -AssetLayoutId $PeopleLayoutId - $null = Add-HuduAssetLayoutM365Field -AssetLayoutId $DeviceLayoutId + # Get CIPP URL + $ConfigTable = Get-Cipptable -tablename 'Config' + $Config = Get-CippAzDataTableEntity @ConfigTable -Filter "PartitionKey eq 'InstanceProperties' and RowKey eq 'CIPPURL'" + $CIPPURL = 'https://{0}' -f $Config.Value + $EnableCIPP = $true - $importDomains = $false - #$monitorDomains = [System.Convert]::ToBoolean($env:monitorDomains) - $IntuneDesktopDeviceTypes = $env:IntuneDesktopDeviceTypes -split ',' - $ExcludeSerials = $env:ExcludeSerials -split ',' + # Get Hudu Extension Cache + $ExtensionCache = Get-ExtensionCacheData -TenantFilter $Tenant.defaultDomainName + $company_id = $TenantMap.IntegrationId - Set-Location (Get-Item $PSScriptRoot).Parent.Parent.Parent.Parent.FullName - $LicTable = Import-Csv Conversiontable.csv + # If tenant not found in mapping table, return error + if (!$TenantMap) { + return 'Tenant not found in mapping table' + } - #$AssignedMap = Get-AssignedMap - #$AssignedNameMap = Get-AssignedNameMap + # Get Hudu Layout mappings + $PeopleLayoutId = $Mappings | Where-Object { $_.RowKey -eq 'Users' } | Select-Object -ExpandProperty IntegrationId + $DeviceLayoutId = $Mappings | Where-Object { $_.RowKey -eq 'Devices' } | Select-Object -ExpandProperty IntegrationId - $EnableCIPP = $true + try { + if (![string]::IsNullOrEmpty($PeopleLayoutId)) { + $null = Add-HuduAssetLayoutM365Field -AssetLayoutId $PeopleLayoutId + $CreateUsers = $Configuration.CreateMissingUsers + $PeopleLayout = Get-HuduAssetLayouts -Id $PeopleLayoutId + if ($PeopleLayout.id) { + $People = Get-HuduAssets -CompanyId $company_id -AssetLayoutId $PeopleLayout.id + } else { + $CreateUsers = $false + $People = @() + } + } else { + $CreateUsers = $false + $People = @() + } + } catch { + $CreateUsers = $false + $People = @() + $CompanyResult.Errors.add("Company: Unable to fetch People $_") + Write-Host "Hudu People - Error: $_" + } - $ConfigTable = Get-Cipptable -tablename 'Config' - $Config = Get-CippAzDataTableEntity @ConfigTable -Filter "PartitionKey eq 'InstanceProperties' and RowKey eq 'CIPPURL'" - $CIPPURL = 'https://{0}' -f $Config.Value + Write-Host "CreateUsers: $CreateUsers" - $ExtensionCache = Get-ExtensionCacheData -TenantFilter $Tenant.defaultDomainName - try { - $company_id = $TenantMap.IntegrationId + try { + if (![string]::IsNullOrEmpty($DeviceLayoutId)) { + $null = Add-HuduAssetLayoutM365Field -AssetLayoutId $DeviceLayoutId + $CreateDevices = $Configuration.CreateMissingDevices + $DesktopsLayout = Get-HuduAssetLayouts -Id $DeviceLayoutId + if ($DesktopsLayout.id) { + $HuduDesktopDevices = Get-HuduAssets -CompanyId $company_id -AssetLayoutId $DesktopsLayout.id + $HuduDevices = $HuduDesktopDevices + } else { + $CreateDevices = $false + $HuduDevices = @() + } + } else { + $CreateDevices = $false + $HuduDevices = @() + } + } catch { + $CreateDevices = $false + $HuduDevices = @() + $CompanyResult.Errors.add("Company: Unable to fetch Devices $_") + Write-Host "Hudu Devices - Error: $_" + } - $PeopleLayout = Get-HuduAssetLayouts -Id $PeopleLayoutId - $People = Get-HuduAssets -CompanyId $company_id -AssetLayoutId $PeopleLayout.id + Write-Host "CreateDevices: $CreateDevices" - $DesktopsLayout = Get-HuduAssetLayouts -Id $DeviceLayoutId - $HuduDesktopDevices = Get-HuduAssets -CompanyId $company_id -AssetLayoutId $DesktopsLayout.id + $importDomains = $Configuration.ImportDomains + $monitordomains = $Configuration.MonitorDomains - $HuduRelations = Get-HuduRelations + # Defaults + $IntuneDesktopDeviceTypes = 'windowsRT,macMDM' -split ',' + $DefaultSerials = [System.Collections.Generic.List[string]]@('SystemSerialNumber', 'To Be Filled By O.E.M.', 'System Serial Number', '0123456789', '123456789', 'TobefilledbyO.E.M.') + + if ($Configuration.ExcludeSerials) { + $ExcludeSerials = $DefaultSerials.AddRange($Configuration.ExcludeSerials -split ',') + } else { + $ExcludeSerials = $DefaultSerials + } - $HuduDevices = $HuduDesktopDevices + $HuduRelations = Get-HuduRelations + $Links = @( + @{ + Title = 'M365 Admin Portal' + URL = 'https://admin.microsoft.com/Partner/BeginClientSession.aspx?CTID={0}&CSDEST=o365admincenter' -f $Tenant.customerId + Icon = 'fas fa-cogs' + } + @{ + Title = 'Exchange Admin Portal' + URL = 'https://admin.exchange.microsoft.com/?landingpage=homepage&form=mac_sidebar&delegatedOrg={0}' -f $Tenant.initialDomainName + Icon = 'fas fa-mail-bulk' + } + @{ + Title = 'Entra Portal' + URL = 'https://entra.microsoft.com/{0}' -f $Tenant.defaultDomainName + Icon = 'fas fa-users-cog' + } + @{ + Title = 'Intune' + URL = 'https://intune.microsoft.com/{0}/' -f $Tenant.defaultDomainName + Icon = 'fas fa-laptop' + } + @{ + Title = 'Teams Portal' + URL = 'https://admin.teams.microsoft.com/?delegatedOrg={0}' -f $Tenant.defaultDomainName + Icon = 'fas fa-users' + } + @{ + Title = 'Azure Portal' + URL = 'https://portal.azure.com/{0}' -f $Tenant.defaultDomainName + Icon = 'fas fa-server' + } + ) + $FormattedLinks = foreach ($Link in $Links) { + Get-HuduLinkBlock @Link + } - $CustomerLinks = "
-
-
-
-
-
-
-
" + $CustomerLinks = $FormattedLinks -join "`n" - #$Users = Get-BulkResultByID -Results $TenantResults -ID 'Users' $Users = $ExtensionCache.Users $licensedUsers = $Users | Where-Object { $null -ne $_.assignedLicenses.skuId } | Sort-Object userPrincipalName $CompanyResult.users = ($licensedUsers | Measure-Object).count - #$AllRoles = Get-BulkResultByID -Results $TenantResults -ID 'AllRoles' $AllRoles = $ExtensionCache.AllRoles @@ -109,7 +184,7 @@ function Invoke-HuduExtensionSync { $post = '' $RolesHtml = $Roles | Select-Object DisplayName, Description, ParsedMembers | ConvertTo-Html -PreContent $pre -PostContent $post -Fragment | ForEach-Object { $tmp = $_ -replace '<', '<'; $tmp -replace '>', '>'; } | Out-String - $AdminUsers = (($Roles | Where-Object { $_.Displayname -match 'Administrator' }).Members | Where-Object { $null -ne $_.displayName } | Select-Object @{N = 'Name'; E = { "$($_.DisplayName) - $($_.UserPrincipalName)" } } -Unique).name -join '
' + $AdminUsers = (($Roles | Where-Object { $_.displayName -match 'Administrator' }).Members | Where-Object { $null -ne $_.displayName } | Select-Object @{N = 'Name'; E = { "$($_.displayName) - $($_.userPrincipalName)" } } -Unique).name -join '
' $Domains = $ExtensionCache.Domains @@ -161,7 +236,6 @@ function Invoke-HuduExtensionSync { " - #$Licenses = Get-BulkResultByID -Results $TenantResults -ID 'Licenses' $Licenses = $ExtensionCache.Licenses if ($Licenses) { $pre = "
@@ -174,27 +248,10 @@ function Invoke-HuduExtensionSync { $licenseHTML = $licenseOut | ConvertTo-Html -PreContent $pre -PostContent $post -Fragment | Out-String } - #$devices = Get-BulkResultByID -Results $TenantResults -ID 'Devices' $devices = $ExtensionCache.Devices $CompanyResult.Devices = ($Devices | Measure-Object).count - #$DeviceCompliancePolicies = Get-BulkResultByID -Results $TenantResults -ID 'DeviceCompliancePolicies' $DeviceCompliancePolicies = $ExtensionCache.DeviceCompliancePolicies - <#[System.Collections.Generic.List[PSCustomObject]]$PolicyRequestArray = @() - foreach ($CompliancePolicy in $DeviceCompliancePolicies) { - $PolicyRequestArray.add(@{ - id = $CompliancePolicy.id - method = 'GET' - url = "/deviceManagement/deviceCompliancePolicies/$($CompliancePolicy.id)/deviceStatuses" - }) - } - - try { - $PolicyReturn = New-GraphBulkRequest -Headers $AuthHeaders -Requests $PolicyRequestArray -tenantid $TenantFilter - } catch { - $CompanyResult.Errors.add("Company: Unable to fetch Policies $_") - $PolicyReturn = $null - }#> $DeviceComplianceDetails = foreach ($Policy in $DeviceCompliancePolicies) { $DeviceStatuses = $ExtensionCache."DeviceCompliancePolicy_$($Policy.id)" @@ -205,6 +262,7 @@ function Invoke-HuduExtensionSync { } } + #$DeviceApps = $ExtensionCache.DeviceApps <#$DeviceApps = Get-BulkResultByID -Results $TenantResults -ID 'DeviceApps' [System.Collections.Generic.List[PSCustomObject]]$RequestArray = @() @@ -220,34 +278,18 @@ function Invoke-HuduExtensionSync { } catch { $CompanyResult.Errors.add("Company: Unable to fetch Installed Device Details $_") $InstalledAppDetailsReturn = $null - } - - $DeviceAppInstallDetails = foreach ($Result in $InstalledAppDetailsReturn) { + }#> + <# + $DeviceAppInstallDetails = foreach ($DeviceApp in $DeviceApps) { [pscustomobject]@{ - ID = $Result.id - DisplayName = ($DeviceApps | Where-Object { $_.id -eq $Result.id }).DisplayName - InstalledAppDetails = $result.body.value + ID = $DeviceApp.id + DisplayName = $DeviceApp.displayName + #InstalledAppDetails = $DeviceAppStatus } - } -#> - #$AllGroups = Get-BulkResultByID -Results $TenantResults -ID 'Groups' - $AllGroups = $ExtensionCache.Groups - - <#[System.Collections.Generic.List[PSCustomObject]]$GroupRequestArray = @() - foreach ($Group in $AllGroups) { - $GroupRequestArray.add(@{ - id = $Group.id - method = 'GET' - url = "/groups/$($Group.id)/members" - }) - } - try { - $GroupMembersReturn = New-GraphBulkRequest -Headers $AuthHeaders -Requests $GroupRequestArray -tenantid $TenantFilter - } catch { - $CompanyResult.Errors.add("Company: Unable to fetch Group Membership Details $_") - $GroupMembersReturn = $null }#> + $AllGroups = $ExtensionCache.Groups + $Groups = foreach ($Group in $AllGroups) { $Members = $ExtensionCache."Groups_$($Result.id)" [pscustomobject]@{ @@ -257,7 +299,6 @@ function Invoke-HuduExtensionSync { } } - #$AllConditionalAccessPolicies = Get-BulkResultByID -Results $TenantResults -ID 'ConditionalAccess' $AllConditionalAccessPolicies = $ExtensionCache.ConditionalAccess $ConditionalAccessMembers = foreach ($CAPolicy in $AllConditionalAccessPolicies) { @@ -301,25 +342,19 @@ function Invoke-HuduExtensionSync { [pscustomobject]@{ ID = $CAPolicy.id - DisplayName = $CAPolicy.DisplayName + DisplayName = $CAPolicy.displayName Members = $CAMembers } } if ($ExtensionCache.OneDriveUsage) { - #$OneDriveDetails = New-GraphGetRequest -uri "https://graph.microsoft.com/beta/reports/getOneDriveUsageAccountDetail(period='D7')" -tenantid $TenantFilter | ConvertFrom-Csv $OneDriveDetails = $ExtensionCache.OneDriveUsage } else { $CompanyResult.Errors.add("Company: Unable to fetch One Drive Details $_") $OneDriveDetails = $null } - <#try { - $CASFull = New-GraphGetRequest -uri "https://outlook.office365.com/adminapi/beta/$($tenantfilter)/CasMailbox" -Tenantid $tenantfilter -scope ExchangeOnline -noPagination $true - } catch { - $CASFull = $null - $CompanyResult.Errors.add("Company: Unable to fetch CAS Mailbox Details $_") - }#> + if ($ExtensionCache.CASMailbox) { $CASFull = $ExtensionCache.CASMailbox @@ -329,21 +364,16 @@ function Invoke-HuduExtensionSync { } - <#try { - $MailboxDetailedFull = New-ExoRequest -TenantID $TenantFilter -cmdlet 'Get-Mailbox' - } catch { - $CompanyResult.Errors.add("Company: Unable to fetch Mailbox Details $_") + + + if ($ExtensionCache.Mailboxes) { + $MailboxDetailedFull = $ExtensionCache.Mailboxes + } else { + $CompanyResult.Errors.add('Company: Unable to fetch Mailbox Details') $MailboxDetailedFull = $null - }#> - $MailboxDetailedFull = $ExtensionCache.Mailboxes + } - <#try { - $MailboxStatsFull = New-GraphGetRequest -uri "https://graph.microsoft.com/v1.0/reports/getMailboxUsageDetail(period='D7')" -tenantid $TenantFilter | ConvertFrom-Csv - } catch { - $CompanyResult.Errors.add("Company: Unable to fetch Mailbox Statistic Details $_") - $MailboxStatsFull = $null - }#> if ($ExtensionCache.MailboxUsage) { $MailboxStatsFull = $ExtensionCache.MailboxUsage } else { @@ -358,7 +388,7 @@ function Invoke-HuduExtensionSync {
" $post = '
' - + $CompanyResult.Logs.Add('Starting User Processing') $OutputUsers = foreach ($user in $licensedUsers) { try { @@ -389,16 +419,12 @@ function Invoke-HuduExtensionSync { $MailboxDetailedRequest = '' $CASRequest = '' - $CASRequest = $CASFull | Where-Object { $_.ExternalDirectoryObjectId -eq $User.iD } - $MailboxDetailedRequest = $MailboxDetailedFull | Where-Object { $_.ExternalDirectoryObjectId -eq $User.iD } - $StatsRequest = $MailboxStatsFull | Where-Object { $_.'userPrincipalName' -eq $User.UserPrincipalName } + $CASRequest = $CASFull | Where-Object { $_.ExternalDirectoryObjectId -eq $User.id } + $MailboxDetailedRequest = $MailboxDetailedFull | Where-Object { $_.Id -eq $User.id } + $StatsRequest = $MailboxStatsFull | Where-Object { $_.'userPrincipalName' -eq $User.userPrincipalName } - <#try { - $PermsRequest = New-GraphGetRequest -uri "https://outlook.office365.com/adminapi/beta/$($tenantfilter)/Mailbox('$($User.ID)')/MailboxPermission" -Tenantid $tenantfilter -scope ExchangeOnline -noPagination $true - } catch { - $PermsRequest = $null - }#> - $PermsRequest = $Permissions | Where-Object { $_.Identity -eq $User.ID } + + $PermsRequest = $Permissions | Where-Object { $_.Identity -eq $User.id } $ParsedPerms = foreach ($Perm in $PermsRequest) { if ($Perm.User -ne 'NT AUTHORITY\SELF') { @@ -433,9 +459,9 @@ function Invoke-HuduExtensionSync { TotalItemSize = $TotalItemSize } - $userDevices = ($devices | Where-Object { $_.userPrincipalName -eq $user.UserPrincipalName } | Select-Object @{N = 'Name'; E = { "$($_.deviceName) ($($_.operatingSystem))" } }).name -join '
' + $userDevices = ($devices | Where-Object { $_.userPrincipalName -eq $user.userPrincipalName } | Select-Object @{N = 'Name'; E = { "
$($_.deviceName) ($($_.operatingSystem))" } }).name -join '
' - $UserDevicesDetailsRaw = $devices | Where-Object { $_.userPrincipalName -eq $user.UserPrincipalName } | Select-Object @{N = 'Name'; E = { "
$($_.deviceName)" } }, @{n = 'Owner'; e = { $_.managedDeviceOwnerType } }, ` + $UserDevicesDetailsRaw = $devices | Where-Object { $_.userPrincipalName -eq $user.userPrincipalName } | Select-Object @{N = 'Name'; E = { "$($_.deviceName)" } }, @{n = 'Owner'; e = { $_.managedDeviceOwnerType } }, ` @{n = 'Enrolled'; e = { $_.enrolledDateTime } }, ` @{n = 'Last Sync'; e = { $_.lastSyncDateTime } }, ` @{n = 'OS'; e = { $_.operatingSystem } }, ` @@ -446,7 +472,7 @@ function Invoke-HuduExtensionSync { deviceName, @{n = 'url'; e = { "https://endpoint.microsoft.com/$($Tenant.defaultDomainName)/#blade/Microsoft_Intune_Devices/DeviceSettingsBlade/overview/mdmDeviceId/$($_.id)" } } - $aliases = (($user.ProxyAddresses | Where-Object { $_ -cnotmatch 'SMTP' -and $_ -notmatch '.onmicrosoft.com' }) -replace 'SMTP:', ' ') -join ', ' + $aliases = (($user.proxyAddresses | Where-Object { $_ -cnotmatch 'SMTP' -and $_ -notmatch '.onmicrosoft.com' }) -replace 'SMTP:', ' ') -join ', ' $userLicenses = ($user.AssignedLicenses.SkuID | ForEach-Object { $UserLic = $_ @@ -458,7 +484,7 @@ function Invoke-HuduExtensionSync { $DisplayName }) -join ', ' - $UserOneDriveDetails = $OneDriveDetails | Where-Object { $_.ownerPrincipalName -eq $user.UserPrincipalName } + $UserOneDriveDetails = $OneDriveDetails | Where-Object { $_.ownerPrincipalName -eq $user.userPrincipalName } @@ -603,13 +629,13 @@ function Invoke-HuduExtensionSync { $UserDevicesDetailsBlock = $null } - $HuduUser = $People | Where-Object { $_.email_address -eq $user.UserPrincipalName -or $_.primary_mail -eq $user.UserPrincipalName -or ($_.cards.integrator_name -eq 'cw_manage' -and $_.cards.data.communicationItems.communicationType -eq 'Email' -and $_.cards.data.communicationItems.value -eq $user.UserPrincipalName) } + $HuduUser = $People | Where-Object { ($_.fields.label -eq 'Email Address' -and $_.fields.value -eq $user.userPrincipalName) -or $_.primary_mail -eq $user.userPrincipalName -or ($_.cards.integrator_name -eq 'cw_manage' -and $_.cards.data.communicationItems.communicationType -eq 'Email' -and $_.cards.data.communicationItems.value -eq $user.userPrincipalName) } [System.Collections.Generic.List[PSCustomObject]]$CIPPLinksFormatted = @() if ($EnableCIPP) { - $CIPPLinksFormatted.add((Get-HuduLinkBlock -URL "$($CIPPURL)/identity/administration/users/view?customerId=$($Tenant.customerid)&userId=$($User.id)&tenantDomain=$($Tenant.defaultDomainName)&userEmail=$($User.UserPrincipalName)" -Icon 'far fa-eye' -Title 'CIPP - View User')) - $CIPPLinksFormatted.add((Get-HuduLinkBlock -URL "$($CIPPURL)/identity/administration/users/edit?customerId=$($Tenant.customerid)&userId=$($User.id)&tenantDomain=$($Tenant.defaultDomainName)&userEmail=$($User.UserPrincipalName)" -Icon 'fas fa-user-cog' -Title 'CIPP - Edit User')) - $CIPPLinksFormatted.add((Get-HuduLinkBlock -URL "$($CIPPURL)/identity/administration/ViewBec?customerId=$($Tenant.customerid)&userId=$($User.id)&tenantDomain=$($Tenant.defaultDomainName)&userEmail=$($User.UserPrincipalName)" -Icon 'fas fa-user-secret' -Title 'CIPP - BEC Tool')) + $CIPPLinksFormatted.add((Get-HuduLinkBlock -URL "$($CIPPURL)/identity/administration/users/view?customerId=$($Tenant.customerid)&userId=$($User.id)&tenantDomain=$($Tenant.defaultDomainName)&userEmail=$($User.userPrincipalName)" -Icon 'far fa-eye' -Title 'CIPP - View User')) + $CIPPLinksFormatted.add((Get-HuduLinkBlock -URL "$($CIPPURL)/identity/administration/users/edit?customerId=$($Tenant.customerid)&userId=$($User.id)&tenantDomain=$($Tenant.defaultDomainName)&userEmail=$($User.userPrincipalName)" -Icon 'fas fa-user-cog' -Title 'CIPP - Edit User')) + $CIPPLinksFormatted.add((Get-HuduLinkBlock -URL "$($CIPPURL)/identity/administration/ViewBec?customerId=$($Tenant.customerid)&userId=$($User.id)&tenantDomain=$($Tenant.defaultDomainName)&ID=$($User.userPrincipalName)" -Icon 'fas fa-user-secret' -Title 'CIPP - BEC Tool')) } [System.Collections.Generic.List[PSCustomObject]]$UserLinksFormatted = @() @@ -630,55 +656,62 @@ function Invoke-HuduExtensionSync { $UserBody = "
$AssignedPlansBlock
$UserLinksBlock
$($UserOverviewBlock)$($UserMailDetailsBlock)$($OneDriveBlock)$($UserMailSettingsBlock)$($UserPoliciesBlock)
$($UserDevicesDetailsBlock)
$($UserGroupsBlock)
" - $UserAssetFields = @{ - microsoft_365 = $UserBody - email_address = $user.UserPrincipalName - } - $NewHash = Get-StringHash -String $UserBody - - $HuduUserCount = ($HuduUser | Measure-Object).count - if ($HuduUserCount -eq 1) { - $ExistingAsset = Get-CIPPAzDataTableEntity @HuduAssetCache -Filter "PartitionKey eq 'HuduUser' and CompanyId eq $company_id and RowKey eq '$($HuduUser.id)'" - $ExistingHash = $ExistingAsset.Hash - - if (!$ExistingAsset -or $ExistingHash -ne $NewHash) { - $null = Set-HuduAsset -asset_id $HuduUser.id -Name $HuduUser.name -company_id $company_id -asset_layout_id $PeopleLayout.id -Fields $UserAssetFields - $AssetCache = [PSCustomObject]@{ - PartitionKey = 'HuduUser' - RowKey = [string]$HuduUser.id - CompanyId = [string]$company_id - Hash = [string]$NewHash - } - Add-CIPPAzDataTableEntity @HuduAssetCache -Entity $AssetCache -Force + if (![string]::IsNullOrEmpty($PeopleLayoutId)) { + $UserAssetFields = @{ + microsoft_365 = $UserBody + email_address = $user.userPrincipalName } + $NewHash = Get-StringHash -String $UserBody + + $HuduUserCount = ($HuduUser | Measure-Object).Count + if ($HuduUserCount -eq 1) { + $ExistingAsset = Get-CIPPAzDataTableEntity @HuduAssetCache -Filter "PartitionKey eq 'HuduUser' and CompanyId eq '$company_id' and RowKey eq '$($HuduUser.id)'" + $ExistingHash = $ExistingAsset.Hash + + if (!$ExistingAsset -or $ExistingHash -ne $NewHash) { + $CompanyResult.Logs.Add("Updating $($HuduUser.name) in Hudu") + $null = Set-HuduAsset -asset_id $HuduUser.id -Name $HuduUser.name -company_id $company_id -asset_layout_id $PeopleLayout.id -Fields $UserAssetFields + $AssetCache = [PSCustomObject]@{ + PartitionKey = 'HuduUser' + RowKey = [string]$HuduUser.id + CompanyId = [string]$company_id + Hash = [string]$NewHash + } + Add-CIPPAzDataTableEntity @HuduAssetCache -Entity $AssetCache -Force + } - } elseif ($HuduUserCount -eq 0) { - if ($CreateUsers -eq $True) { - $HuduUser = (New-HuduAsset -Name $User.DisplayName -company_id $company_id -asset_layout_id $PeopleLayout.id -Fields $UserAssetFields -primary_mail $user.UserPrincipalName).asset - $AssetCache = [PSCustomObject]@{ - PartitionKey = 'HuduUser' - RowKey = [string]$HuduUser.id - CompanyId = [string]$company_id - Hash = [string]$NewHash + } elseif ($HuduUserCount -eq 0) { + if ($CreateUsers -eq $True) { + $CompanyResult.Logs.Add("Creating $($User.displayName) in Hudu") + $HuduUser = (New-HuduAsset -Name $User.displayName -company_id $company_id -asset_layout_id $PeopleLayout.id -Fields $UserAssetFields).asset + if (!$HuduUser) { + $CompanyResult.Errors.add("User $($User.userPrincipalName): Unable to create user in Hudu. Check the User asset fields for 'Email Address'") + } else { + $AssetCache = [PSCustomObject]@{ + PartitionKey = 'HuduUser' + RowKey = [string]$HuduUser.id + CompanyId = [string]$company_id + Hash = [string]$NewHash + } + Add-CIPPAzDataTableEntity @HuduAssetCache -Entity $AssetCache -Force + } } - Add-CIPPAzDataTableEntity @HuduAssetCache -Entity $AssetCache -Force + } else { + $CompanyResult.Errors.add("User $($User.userPrincipalName): Multiple Users Matched to email address in Hudu: ($($HuduUser.name -join ', ') - $($($HuduUser.id -join ', '))) $_") } - } else { - $CompanyResult.Errors.add("User $($User.UserPrincipalName): Multiple Users Matched to email address in Hudu: ($($HuduUser.name -join ', ') - $($($HuduUser.id -join ', '))) $_") } - - $UserLink = "$($user.DisplayName)" + $UserLink = "$($user.displayName)" [PSCustomObject]@{ 'Display Name' = $UserLink - 'Addresses' = "$($user.UserPrincipalName)
$aliases" + 'Addresses' = "$($user.userPrincipalName)
$aliases" 'EPM Devices' = $userDevices 'Assigned Licenses' = $userLicenses 'Options' = "Azure AD | M365 Admin" } } catch { - $CompanyResult.Errors.add("User $($User.UserPrincipalName): A fatal error occured while processing user $_") + $CompanyResult.Errors.add("User $($User.userPrincipalName): A fatal error occured while processing user $_") } } @@ -686,6 +719,7 @@ function Invoke-HuduExtensionSync { } + $CompanyResult.Logs.Add('Starting Device Processing') foreach ($Device in $Devices) { try { [System.Collections.Generic.List[PSCustomObject]]$DeviceOverviewFormatted = @() @@ -727,7 +761,7 @@ function Invoke-HuduExtensionSync { $Status = $Policy.DeviceStatuses | Where-Object { $_.deviceDisplayName -eq $device.deviceName } if ($Status.status -ne 'unknown') { [PSCustomObject]@{ - Name = $Policy.DisplayName + Name = $Policy.displayName Status = ($Status.status | Select-Object -Unique) -join ', ' 'Last Report' = "$(Get-Date($Status.lastReportedDateTime[0]) -Format 'yyyy-MM-dd HH:mm:ss')" 'Grace Expiry' = "$(Get-Date($Status.complianceGracePeriodExpirationDateTime[0]) -Format 'yyyy-MM-dd HH:mm:ss')" @@ -745,29 +779,32 @@ function Invoke-HuduExtensionSync { } } $DeviceGroupsFormatted = $DeviceGroupsTable | ConvertTo-Html -Fragment | Out-String - + <# $DeviceAppsTable = foreach ($App in $DeviceAppInstallDetails) { if ($device.id -in $App.InstalledAppDetails.deviceId) { $Status = $App.InstalledAppDetails | Where-Object { $_.deviceId -eq $device.id } [PSCustomObject]@{ - Name = $App.DisplayName + Name = $App.displayName 'Install Status' = ($Status.installState | Select-Object -Unique ) -join ',' } } } $DeviceAppsFormatted = $DeviceAppsTable | ConvertTo-Html -Fragment | Out-String - +#> $DeviceOverviewBlock = Get-HuduFormattedBlock -Heading 'Device Details' -Body ($DeviceOverviewFormatted -join '') $DeviceHardwareBlock = Get-HuduFormattedBlock -Heading 'Hardware Details' -Body ($DeviceHardwareFormatted -join '') $DeviceEnrollmentBlock = Get-HuduFormattedBlock -Heading 'Device Enrollment Details' -Body ($DeviceEnrollmentFormatted -join '') $DevicePolicyBlock = Get-HuduFormattedBlock -Heading 'Compliance Policies' -Body ($DevicePoliciesFormatted -join '') - $DeviceAppsBlock = Get-HuduFormattedBlock -Heading 'App Details' -Body ($DeviceAppsFormatted -join '') + #$DeviceAppsBlock = Get-HuduFormattedBlock -Heading 'App Details' -Body ($DeviceAppsFormatted -join '') $DeviceGroupsBlock = Get-HuduFormattedBlock -Heading 'Device Groups' -Body ($DeviceGroupsFormatted -join '') if ("$($device.serialNumber)" -in $ExcludeSerials) { $HuduDevice = $HuduDevices | Where-Object { $_.name -eq $device.deviceName -or ($_.cards.integrator_name -eq 'cw_manage' -and $_.cards.data.name -contains $device.deviceName) } } else { $HuduDevice = $HuduDevices | Where-Object { $_.primary_serial -eq $device.serialNumber -or ($_.cards.integrator_name -eq 'cw_manage' -and $_.cards.data.serialNumber -eq $device.serialNumber) } + if (!$HuduDevice) { + $HuduDevice = $HuduDevices | Where-Object { $_.name -eq $device.deviceName -or ($_.cards.integrator_name -eq 'cw_manage' -and $_.cards.data.name -contains $device.deviceName) } + } } [System.Collections.Generic.List[PSCustomObject]]$DeviceLinksFormatted = @() @@ -795,60 +832,68 @@ function Invoke-HuduExtensionSync { } $NewHash = Get-StringHash -String $DeviceIntuneDetailshtml - if ($HuduDevice) { - if (($HuduDevice | Measure-Object).count -eq 1) { - $ExistingAsset = Get-CIPPAzDataTableEntity @HuduAssetCache -Filter "PartitionKey eq 'HuduDevice' and CompanyId eq $company_id and RowKey eq '$($HuduDevice.id)'" - $ExistingHash = $ExistingAsset.Hash - - if (!$ExistingAsset -or $ExistingAsset.Hash -ne $NewHash) { - $null = Set-HuduAsset -asset_id $HuduDevice.id -Name $HuduDevice.name -company_id $company_id -asset_layout_id $HuduDevice.asset_layout_id -Fields $DeviceAssetFields -PrimarySerial $Device.serialNumber - $AssetCache = [PSCustomObject]@{ - PartitionKey = 'HuduDevice' - RowKey = [string]$HuduDevice.id - CompanyId = [string]$company_id - Hash = [string]$NewHash - } - Add-CIPPAzDataTableEntity @HuduAssetCache -Entity $AssetCache -Force + if (![string]::IsNullOrEmpty($DeviceLayoutId)) { + if ($HuduDevice) { + if (($HuduDevice | Measure-Object).count -eq 1) { + $ExistingAsset = Get-CIPPAzDataTableEntity @HuduAssetCache -Filter "PartitionKey eq 'HuduDevice' and CompanyId eq '$company_id' and RowKey eq '$($HuduDevice.id)'" + $ExistingHash = $ExistingAsset.Hash + + if (!$ExistingAsset -or $ExistingAsset.Hash -ne $NewHash) { + $CompanyResult.Logs.Add("Updating $($HuduDevice.name) in Hudu") + $null = Set-HuduAsset -asset_id $HuduDevice.id -Name $HuduDevice.name -company_id $company_id -asset_layout_id $HuduDevice.asset_layout_id -Fields $DeviceAssetFields -PrimarySerial $Device.serialNumber + $AssetCache = [PSCustomObject]@{ + PartitionKey = 'HuduDevice' + RowKey = [string]$HuduDevice.id + CompanyId = [string]$company_id + Hash = [string]$NewHash + } + Add-CIPPAzDataTableEntity @HuduAssetCache -Entity $AssetCache -Force - $HuduUser = $People | Where-Object { $_.primary_mail -eq $Device.userPrincipalName -or ($_.cards.integrator_name -eq 'cw_manage' -and $_.cards.data.communicationItems.communicationType -eq 'Email' -and $_.cards.data.communicationItems.value -eq $Device.userPrincipalName) } + $HuduUser = $People | Where-Object { $_.primary_mail -eq $Device.userPrincipalName -or ($_.cards.integrator_name -eq 'cw_manage' -and $_.cards.data.communicationItems.communicationType -eq 'Email' -and $_.cards.data.communicationItems.value -eq $Device.userPrincipalName) } - if ($HuduUser) { - $Relation = $HuduRelations | Where-Object { $_.fromable_type -eq 'Asset' -and $_.fromable_id -eq $HuduUser.id -and $_.toable_type -eq 'Asset' -and $_toable_id -eq $HuduDevice.id } - if (-not $Relation) { - try { - $null = New-HuduRelation -FromableType 'Asset' -FromableID $HuduUser.id -ToableType 'Asset' -ToableID $HuduDevice.id -ea stop - } catch {} + if ($HuduUser) { + $Relation = $HuduRelations | Where-Object { $_.fromable_type -eq 'Asset' -and $_.fromable_id -eq $HuduUser.id -and $_.toable_type -eq 'Asset' -and $_toable_id -eq $HuduDevice.id } + if (-not $Relation) { + try { + $null = New-HuduRelation -FromableType 'Asset' -FromableID $HuduUser.id -ToableType 'Asset' -ToableID $HuduDevice.id -ea stop + } catch {} + } } } + } else { + $CompanyResult.Errors.add("Device $($HuduDevice.name): Multiple devices matched on name or serial ($($device.serialNumber -join ', '))") } } else { - $CompanyResult.Errors.add("Device $($HuduDevice.name): Multiple devices matched on name or serial ($($device.serialNumber -join ', '))") - } - } else { - if ($device.deviceType -in $IntuneDesktopDeviceTypes) { - $DeviceLayoutID = $DesktopsLayout.id - $DeviceCreation = $CreateDevices - } else { - $DeviceLayoutID = $MobilesLayout.id - $DeviceCreation = $CreateMobileDevices - } - if ($DeviceCreation -eq $true) { - $HuduDevice = (New-HuduAsset -Name $device.deviceName -company_id $company_id -asset_layout_id $DeviceLayoutID -Fields $DeviceAssetFields -PrimarySerial $Device.serialNumber).asset - - $AssetCache = [PSCustomObject]@{ - PartitionKey = 'HuduDevice' - RowKey = [string]$HuduDevice.id - CompanyId = [string]$company_id - Hash = [string]$NewHash + if ($device.deviceType -in $IntuneDesktopDeviceTypes) { + $DeviceLayoutID = $DesktopsLayout.id + $DeviceCreation = $CreateDevices + } else { + $DeviceLayoutID = $MobilesLayout.id + $DeviceCreation = $CreateMobileDevices } - Add-CIPPAzDataTableEntity @HuduAssetCache -Entity $AssetCache -Force - - $HuduUser = $People | Where-Object { $_.primary_mail -eq $Device.userPrincipalName -or ($_.cards.integrator_name -eq 'cw_manage' -and $_.cards.data.communicationItems.communicationType -eq 'Email' -and $_.cards.data.communicationItems.value -eq $Device.userPrincipalName) } - if ($HuduUser) { - try { - $null = New-HuduRelation -FromableType 'Asset' -FromableID $HuduUser.id -ToableType 'Asset' -ToableID $HuduDevice.id -ea stop - } catch { - # No need to do anything here as its will be when relations already exist. + if ($DeviceCreation -eq $true) { + $CompanyResult.Logs.Add("Creating $($device.deviceName) in Hudu") + $HuduDevice = (New-HuduAsset -Name $device.deviceName -company_id $company_id -asset_layout_id $DeviceLayoutID -Fields $DeviceAssetFields -PrimarySerial $Device.serialNumber).asset + + if (!$HuduDevice) { + $CompanyResult.Errors.add("Device $($device.deviceName): Failed to create device in Hudu, check your device asset fields for 'Primary Serial'.") + } else { + $AssetCache = [PSCustomObject]@{ + PartitionKey = 'HuduDevice' + RowKey = [string]$HuduDevice.id + CompanyId = [string]$company_id + Hash = [string]$NewHash + } + Add-CIPPAzDataTableEntity @HuduAssetCache -Entity $AssetCache -Force + + $HuduUser = $People | Where-Object { $_.primary_mail -eq $Device.userPrincipalName -or ($_.cards.integrator_name -eq 'cw_manage' -and $_.cards.data.communicationItems.communicationType -eq 'Email' -and $_.cards.data.communicationItems.value -eq $Device.userPrincipalName) } + if ($HuduUser) { + try { + $null = New-HuduRelation -FromableType 'Asset' -FromableID $HuduUser.id -ToableType 'Asset' -ToableID $HuduDevice.id -ea stop + } catch { + # No need to do anything here as its will be when relations already exist. + } + } } } } @@ -864,7 +909,7 @@ function Invoke-HuduExtensionSync {

Administrative Portals

-
$CustomerLinks
+
$CustomerLinks


@@ -883,13 +928,15 @@ function Invoke-HuduExtensionSync { try { $null = Set-HuduMagicDash -Title "Microsoft 365 - $($Tenant.displayName)" -company_name $TenantMap.IntegrationName -Message "$($licensedUsers.count) Licensed Users" -Icon 'fab fa-microsoft' -Content $body -Shade 'success' + $CompanyResult.Logs.Add("Updated Magic Dash for $($Tenant.displayName)") } catch { $CompanyResult.Errors.add("Company: Failed to add Magic Dash to Company: $_") } try { if ($importDomains) { - $domainstoimport = $RawDomains + $CompanyResult.Logs.Add('Starting Domain Processing') + $domainstoimport = $ExtensionCache.Domains foreach ($imp in $domainstoimport) { $impdomain = $imp.id $huduimpdomain = Get-HuduWebsites -Name "https://$impdomain" @@ -909,6 +956,7 @@ function Invoke-HuduExtensionSync { Write-LogMessage -tenant $Tenant.defaultDomainName -tenantid $Tenant.customerId -API 'Hudu Sync' -message "Company: Failed to import domain: $_" -level 'Error' } Write-LogMessage -tenant $Tenant.defaultDomainName -tenantid $Tenant.customerId -API 'Hudu Sync' -message 'Company: Completed Sync' -level 'Information' + $CompanyResult.Logs.Add('Hudu Sync Completed') } catch { $CompanyResult.Errors.add("Company: A fatal error occured: $_") Write-LogMessage -tenant $Tenant.defaultDomainName -tenantid $Tenant.customerId -API 'Hudu Sync' -message "Company: A fatal error occured: $_" -level 'Error' diff --git a/Modules/CippExtensions/Public/New-CippExtAlert.ps1 b/Modules/CippExtensions/Public/New-CippExtAlert.ps1 index 21f5acf1923e..28a4b957c2cb 100644 --- a/Modules/CippExtensions/Public/New-CippExtAlert.ps1 +++ b/Modules/CippExtensions/Public/New-CippExtAlert.ps1 @@ -8,14 +8,15 @@ function New-CippExtAlert { $Table = Get-CIPPTable -TableName Extensionsconfig $Configuration = (Get-CIPPAzDataTableEntity @Table).config | ConvertFrom-Json -Depth 10 $MappingTable = Get-CIPPTable -TableName CippMapping - $MappingFile = (Get-CIPPAzDataTableEntity @MappingTable) + foreach ($ConfigItem in $Configuration.psobject.properties.name) { switch ($ConfigItem) { 'HaloPSA' { If ($Configuration.HaloPSA.enabled) { + $MappingFile = Get-CIPPAzDataTableEntity @MappingTable -Filter "PartitionKey eq 'HaloMapping'" $TenantId = (Get-Tenants | Where-Object defaultDomainName -EQ $Alert.TenantId).customerId Write-Host "TenantId: $TenantId" - $MappedId = ($MappingFile | Where-Object { $_.PartitionKey -eq 'HaloMapping' -and $_.RowKey -eq $TenantId }).IntegrationId + $MappedId = ($MappingFile | Where-Object { $_.RowKey -eq $TenantId }).IntegrationId Write-Host "MappedId: $MappedId" if (!$mappedId) { $MappedId = 1 } Write-Host "MappedId: $MappedId" @@ -30,4 +31,4 @@ function New-CippExtAlert { } } -} \ No newline at end of file +} diff --git a/Modules/CippExtensions/Public/NinjaOne/Get-NinjaOneFieldMapping.ps1 b/Modules/CippExtensions/Public/NinjaOne/Get-NinjaOneFieldMapping.ps1 index e88f53ceba9c..8a430f372b0e 100644 --- a/Modules/CippExtensions/Public/NinjaOne/Get-NinjaOneFieldMapping.ps1 +++ b/Modules/CippExtensions/Public/NinjaOne/Get-NinjaOneFieldMapping.ps1 @@ -102,7 +102,7 @@ function Get-NinjaOneFieldMapping { } catch { [System.Collections.Generic.List[object]]$NinjaCustomFieldsNode = @() - [System.Collections.Generic.List[objecgt]]$NinjaCustomFieldsOrg = @() + [System.Collections.Generic.List[object]]$NinjaCustomFieldsOrg = @() } $MappingObj = [PSCustomObject]@{ @@ -114,4 +114,4 @@ function Get-NinjaOneFieldMapping { return $MappingObj -} \ No newline at end of file +} diff --git a/Modules/CippExtensions/Public/NinjaOne/Get-NinjaOneToken.ps1 b/Modules/CippExtensions/Public/NinjaOne/Get-NinjaOneToken.ps1 index ba293404b5bd..d7102d7d0e27 100644 --- a/Modules/CippExtensions/Public/NinjaOne/Get-NinjaOneToken.ps1 +++ b/Modules/CippExtensions/Public/NinjaOne/Get-NinjaOneToken.ps1 @@ -11,7 +11,8 @@ function Get-NinjaOneToken { $ClientSecret = (Get-CIPPAzDataTableEntity @DevSecretsTable -Filter "PartitionKey eq 'NinjaOne' and RowKey eq 'NinjaOne'").APIKey } else { $null = Connect-AzAccount -Identity - $ClientSecret = (Get-AzKeyVaultSecret -VaultName $ENV:WEBSITE_DEPLOYMENT_ID -Name 'NinjaOne' -AsPlainText) + $keyvaultname = ($ENV:WEBSITE_DEPLOYMENT_ID -split '-')[0] + $ClientSecret = (Get-AzKeyVaultSecret -VaultName $keyvaultname -Name 'NinjaOne' -AsPlainText) } } else { $ClientSecret = $ENV:NinjaClientSecret @@ -37,4 +38,4 @@ function Get-NinjaOneToken { } return $token -} \ No newline at end of file +} diff --git a/Modules/CippExtensions/Public/NinjaOne/Invoke-NinjaOneDeviceWebhook.ps1 b/Modules/CippExtensions/Public/NinjaOne/Invoke-NinjaOneDeviceWebhook.ps1 index 9213a7015b1a..67e54991324e 100644 --- a/Modules/CippExtensions/Public/NinjaOne/Invoke-NinjaOneDeviceWebhook.ps1 +++ b/Modules/CippExtensions/Public/NinjaOne/Invoke-NinjaOneDeviceWebhook.ps1 @@ -5,7 +5,6 @@ function Invoke-NinjaOneDeviceWebhook { $Configuration ) try { - Write-LogMessage -user $ExecutingUser -API $APIName -message "Webhook Recieved - Updating NinjaOne Device compliance for $($Data.resourceData.id) in $($Data.tenantId)" -Sev 'Info' -tenant $TenantFilter $MappedFields = [pscustomobject]@{} $CIPPMapping = Get-CIPPTable -TableName CippMapping $Filter = "PartitionKey eq 'NinjaOneFieldMapping'" @@ -14,6 +13,7 @@ function Invoke-NinjaOneDeviceWebhook { } if ($MappedFields.DeviceCompliance) { + Write-LogMessage -user $ExecutingUser -API $APIName -message "Webhook Recieved - Updating NinjaOne Device compliance for $($Data.resourceData.id) in $($Data.tenantId)" -Sev 'Info' -tenant $TenantFilter $tenantfilter = $Data.tenantId $M365DeviceID = $Data.resourceData.id @@ -24,23 +24,36 @@ function Invoke-NinjaOneDeviceWebhook { $Device = Get-CIPPAzDataTableEntity @DeviceMapTable -Filter $DeviceFilter if (($Device | Measure-Object).count -eq 1) { - $Token = Get-NinjaOneToken -configuration $Configuration + try { + $Token = Get-NinjaOneToken -configuration $Configuration - if ($DeviceM365.isCompliant -eq $True) { - $Compliant = 'Compliant' - } else { - $Compliant = 'Non-Compliant' - } - - $ComplianceBody = @{ - "$($MappedFields.DeviceCompliance)" = $Compliant - } | ConvertTo-Json + if (!$Token.access_token) { + Write-LogMessage -API 'NinjaOneSync' -tenant $tenantfilter -user 'CIPP' -message 'Failed to get NinjaOne Token for Device Compliance Update' -Sev 'Error' + return + } - $Null = Invoke-WebRequest -Uri "https://$($Configuration.Instance)/api/v2/device/$($Device.NinjaOneID)/custom-fields" -Method PATCH -Body $ComplianceBody -Headers @{Authorization = "Bearer $($token.access_token)" } -ContentType 'application/json' + if ($DeviceM365.isCompliant -eq $True) { + $Compliant = 'Compliant' + } else { + $Compliant = 'Non-Compliant' + } - Write-Host 'Updated NinjaOne Device Compliance' + $ComplianceBody = @{ + "$($MappedFields.DeviceCompliance)" = $Compliant + } | ConvertTo-Json + $Null = Invoke-WebRequest -Uri "https://$($Configuration.Instance)/api/v2/device/$($Device.NinjaOneID)/custom-fields" -Method PATCH -Body $ComplianceBody -Headers @{Authorization = "Bearer $($token.access_token)" } -ContentType 'application/json' + Write-Host 'Updated NinjaOne Device Compliance' + } catch { + $Message = if ($_.ErrorDetails.Message) { + Get-NormalizedError -Message $_.ErrorDetails.Message + } else { + $_.Exception.message + } + Write-Error "Failed NinjaOne Device Webhook for: $($Data | ConvertTo-Json -Depth 100) Linenumber: $($_.InvocationInfo.ScriptLineNumber) Error: $Message" + Write-LogMessage -API 'NinjaOneSync' -user 'CIPP' -message "Failed NinjaOne Device Webhook Linenumber: $($_.InvocationInfo.ScriptLineNumber) Error: $Message" -Sev 'Error' + } } else { Write-LogMessage -API 'NinjaOneSync' -user 'CIPP' -message "$($DeviceM365.displayName) ($($M365DeviceID)) was not matched in Ninja for $($tenantfilter)" -Sev 'Info' } @@ -59,4 +72,4 @@ function Invoke-NinjaOneDeviceWebhook { -} \ No newline at end of file +} diff --git a/Modules/CippExtensions/Public/NinjaOne/Invoke-NinjaOneTenantSync.ps1 b/Modules/CippExtensions/Public/NinjaOne/Invoke-NinjaOneTenantSync.ps1 index 9a3b6949b056..d45407edb06e 100644 --- a/Modules/CippExtensions/Public/NinjaOne/Invoke-NinjaOneTenantSync.ps1 +++ b/Modules/CippExtensions/Public/NinjaOne/Invoke-NinjaOneTenantSync.ps1 @@ -5,7 +5,7 @@ function Invoke-NinjaOneTenantSync { ) try { $StartQueueTime = Get-Date - Write-Host "$(Get-Date) - Starting NinjaOne Sync" + Write-Information "$(Get-Date) - Starting NinjaOne Sync" # Stagger start # Check Global Rate Limiting @@ -22,7 +22,7 @@ function Invoke-NinjaOneTenantSync { $StartDate = try { Get-Date($CurrentItem.lastStartTime) } catch { $Null } $EndDate = try { Get-Date($CurrentItem.lastEndTime) } catch { $Null } - if (($null -ne $CurrentItem.lastStartTime) -and ($StartDate -gt (Get-Date).AddMinutes(-10)) -and ( $Null -eq $CurrentItem.lastEndTime -or ($StartDate -gt $EndDate))) { + if (($null -ne $CurrentItem.lastStartTime) -and ($StartDate -gt (Get-Date).ToUniversalTime().AddMinutes(-10)) -and ( $Null -eq $CurrentItem.lastEndTime -or ($StartDate -gt $EndDate))) { Throw "NinjaOne Sync for Tenant $($MappedTenant.RowKey) is still running, please wait 10 minutes and try again." } @@ -43,7 +43,7 @@ function Invoke-NinjaOneTenantSync { $Customer = Get-Tenants -IncludeErrors | Where-Object { $_.customerId -eq $MappedTenant.RowKey } - Write-Host "Processing: $($Customer.displayName) - Queued for $((New-TimeSpan -Start $StartQueueTime -End $StartTime).TotalSeconds)" + Write-Information "Processing: $($Customer.displayName) - Queued for $((New-TimeSpan -Start $StartQueueTime -End $StartTime).TotalSeconds)" Write-LogMessage -API 'NinjaOneSync' -user 'NinjaOneSync' -message "Processing NinjaOne Synchronization for $($Customer.displayName) - Queued for $((New-TimeSpan -Start $StartQueueTime -End $StartTime).TotalSeconds)" -Sev 'Info' @@ -59,6 +59,18 @@ function Invoke-NinjaOneTenantSync { $Table = Get-CIPPTable -TableName Extensionsconfig $Configuration = ((Get-CIPPAzDataTableEntity @Table).config | ConvertFrom-Json).NinjaOne + $AllowedNinjaHostnames = @( + 'app.ninjarmm.com', + 'eu.ninjarmm.com', + 'oc.ninjarmm.com', + 'ca.ninjarmm.com', + 'us2.ninjarmm.com' + ) + + if ($AllowedNinjaHostnames -notcontains $Configuration.Instance) { + throw "NinjaOne URL is invalid. Allowed hostnames are: $($AllowedNinjaHostnames -join ', ')" + } + # Pull the list of field Mappings so we know which fields to render. $MappedFields = [pscustomobject]@{} $CIPPMapping = Get-CIPPTable -TableName CippMapping @@ -79,7 +91,7 @@ function Invoke-NinjaOneTenantSync { } while ($ResultCount.count -eq $PageSize) - Write-Host 'Fetched NinjaOne Devices' + Write-Information 'Fetched NinjaOne Devices' [System.Collections.Generic.List[PSCustomObject]]$NinjaOneUserDocs = @() @@ -183,7 +195,7 @@ function Invoke-NinjaOneTenantSync { $NinjaDoc | Add-Member -NotePropertyName 'ParsedFields' -NotePropertyValue $ParsedFields -Force } - Write-Host 'Fetched NinjaOne User Docs' + Write-Information 'Fetched NinjaOne User Docs' } [System.Collections.Generic.List[PSCustomObject]]$NinjaOneLicenseDocs = @() @@ -253,7 +265,7 @@ function Invoke-NinjaOneTenantSync { $NinjaLic | Add-Member -NotePropertyName 'ParsedFields' -NotePropertyValue $ParsedFields -Force } - Write-Host 'Fetched NinjaOne License Docs' + Write-Information 'Fetched NinjaOne License Docs' } @@ -299,11 +311,11 @@ function Invoke-NinjaOneTenantSync { method = 'GET' url = '/deviceManagement/deviceCompliancePolicies/' }, - @{ + <#@{ id = 'DeviceApps' method = 'GET' url = '/deviceAppManagement/mobileApps' - }, + },#> @{ id = 'Groups' method = 'GET' @@ -339,7 +351,7 @@ function Invoke-NinjaOneTenantSync { Throw "Failed to fetch bulk company data: $_" } - Write-Host 'Fetched Bulk M365 Data' + Write-Information 'Fetched Bulk M365 Data' $Users = Get-GraphBulkResultByID -value -Results $TenantResults -ID 'Users' @@ -399,7 +411,7 @@ function Invoke-NinjaOneTenantSync { $MemberReturn = $null } - Write-Host 'Fetched M365 Roles' + Write-Information 'Fetched M365 Roles' $Roles = foreach ($Result in $MemberReturn) { [PSCustomObject]@{ @@ -457,7 +469,7 @@ function Invoke-NinjaOneTenantSync { $PolicyReturn = $null } - Write-Host 'Fetched M365 Device Compliance' + Write-Information 'Fetched M365 Device Compliance' $DeviceComplianceDetails = foreach ($Result in $PolicyReturn) { [pscustomobject]@{ @@ -487,7 +499,7 @@ function Invoke-NinjaOneTenantSync { $GroupMembersReturn = $null } - Write-Host 'Fetched M365 Group Membership' + Write-Information 'Fetched M365 Group Membership' $Groups = foreach ($Result in $GroupMembersReturn) { [pscustomobject]@{ @@ -596,7 +608,7 @@ function Invoke-NinjaOneTenantSync { $MailboxStatsFull = $null } - Write-Host 'Fetched M365 Additional Data' + Write-Information 'Fetched M365 Additional Data' $FetchEnd = Get-Date @@ -877,7 +889,7 @@ function Invoke-NinjaOneTenantSync { New-CIPPGraphSubscription -TenantFilter $TenantFilter -TypeofSubscription 'updated' -BaseURL $CIPPUrl -Resource 'devices' -EventType 'DeviceUpdate' -ExecutingUser 'NinjaOneSync' } - Write-Host 'Processed Devices' + Write-Information 'Processed Devices' ########## Create / Update User Objects @@ -1353,25 +1365,25 @@ function Invoke-NinjaOneTenantSync { try { # Create New Users if (($NinjaUserCreation | Measure-Object).count -ge 100) { - Write-Host 'Creating NinjaOne Users' + Write-Information 'Creating NinjaOne Users' [System.Collections.Generic.List[PSCustomObject]]$CreatedUsers = (Invoke-WebRequest -Uri "https://$($Configuration.Instance)/api/v2/organization/documents" -Method POST -Headers @{Authorization = "Bearer $($token.access_token)" } -ContentType 'application/json; charset=utf-8' -Body ("[$($NinjaUserCreation.body -join ',')]") -EA Stop).content | ConvertFrom-Json -Depth 100 Remove-AzDataTableEntity @UsersUpdateTable -Entity $NinjaUserCreation [System.Collections.Generic.List[PSCustomObject]]$NinjaUserCreation = @() } } Catch { - Write-Host "Bulk Creation Error, but may have been successful as only 1 record with an issue could have been the cause: $_" + Write-Information "Bulk Creation Error, but may have been successful as only 1 record with an issue could have been the cause: $_" } try { # Update Users if (($NinjaUserUpdates | Measure-Object).count -ge 100) { - Write-Host 'Updating NinjaOne Users' + Write-Information 'Updating NinjaOne Users' [System.Collections.Generic.List[PSCustomObject]]$UpdatedUsers = (Invoke-WebRequest -Uri "https://$($Configuration.Instance)/api/v2/organization/documents" -Method PATCH -Headers @{Authorization = "Bearer $($token.access_token)" } -ContentType 'application/json; charset=utf-8' -Body ("[$($NinjaUserUpdates.body -join ',')]") -EA Stop).content | ConvertFrom-Json -Depth 100 Remove-AzDataTableEntity @UsersUpdateTable -Entity $NinjaUserUpdates [System.Collections.Generic.List[PSCustomObject]]$NinjaUserUpdates = @() } } Catch { - Write-Host "Bulk Update Errored, but may have been successful as only 1 record with an issue could have been the cause: $_" + Write-Information "Bulk Update Errored, but may have been successful as only 1 record with an issue could have been the cause: $_" } @@ -1428,24 +1440,24 @@ function Invoke-NinjaOneTenantSync { try { # Create New Users if (($NinjaUserCreation | Measure-Object).count -ge 1) { - Write-Host 'Creating NinjaOne Users' + Write-Information 'Creating NinjaOne Users' [System.Collections.Generic.List[PSCustomObject]]$CreatedUsers = (Invoke-WebRequest -Uri "https://$($Configuration.Instance)/api/v2/organization/documents" -Method POST -Headers @{Authorization = "Bearer $($token.access_token)" } -ContentType 'application/json; charset=utf-8' -Body ("[$($NinjaUserCreation.body -join ',')]") -EA Stop).content | ConvertFrom-Json -Depth 100 Remove-AzDataTableEntity @UsersUpdateTable -Entity $NinjaUserCreation } } Catch { - Write-Host "Bulk Creation Error, but may have been successful as only 1 record with an issue could have been the cause: $_" + Write-Information "Bulk Creation Error, but may have been successful as only 1 record with an issue could have been the cause: $_" } try { # Update Users if (($NinjaUserUpdates | Measure-Object).count -ge 1) { - Write-Host 'Updating NinjaOne Users' + Write-Information 'Updating NinjaOne Users' [System.Collections.Generic.List[PSCustomObject]]$UpdatedUsers = (Invoke-WebRequest -Uri "https://$($Configuration.Instance)/api/v2/organization/documents" -Method PATCH -Headers @{Authorization = "Bearer $($token.access_token)" } -ContentType 'application/json; charset=utf-8' -Body ("[$($NinjaUserUpdates.body -join ',')]") -EA Stop).content | ConvertFrom-Json -Depth 100 Remove-AzDataTableEntity @UsersUpdateTable -Entity $NinjaUserUpdates } } Catch { - Write-Host "Bulk Update Errored, but may have been successful as only 1 record with an issue could have been the cause: $_" + Write-Information "Bulk Update Errored, but may have been successful as only 1 record with an issue could have been the cause: $_" } ### Relationship Mapping @@ -1512,12 +1524,12 @@ function Invoke-NinjaOneTenantSync { try { # Update Relations if (($Relations | Measure-Object).count -ge 1) { - Write-Host 'Updating Relations' + Write-Information 'Updating Relations' $Null = Invoke-WebRequest -Uri "https://$($Configuration.Instance)/api/v2/related-items/entity/NODE/$($LinkDevice.NinjaDevice.id)/relations" -Method POST -Headers @{Authorization = "Bearer $($token.access_token)" } -ContentType 'application/json' -Body ($Relations | ConvertTo-Json -Depth 100 -AsArray) -EA Stop - Write-Host 'Completed Update' + Write-Information 'Completed Update' } } Catch { - Write-Host "Creating Relations Failed: $_" + Write-Information "Creating Relations Failed: $_" } } } @@ -1624,22 +1636,22 @@ function Invoke-NinjaOneTenantSync { try { # Create New Subscriptions if (($NinjaLicenseCreation | Measure-Object).count -ge 1) { - Write-Host 'Creating NinjaOne Licenses' + Write-Information 'Creating NinjaOne Licenses' [System.Collections.Generic.List[PSCustomObject]]$CreatedLicenses = (Invoke-WebRequest -Uri "https://$($Configuration.Instance)/api/v2/organization/documents" -Method POST -Headers @{Authorization = "Bearer $($token.access_token)" } -ContentType 'application/json; charset=utf-8' -Body ($NinjaLicenseCreation | ConvertTo-Json -Depth 100 -AsArray) -EA Stop).content | ConvertFrom-Json -Depth 100 } } Catch { - Write-Host "Bulk Creation Error, but may have been successful as only 1 record with an issue could have been the cause: $_" + Write-Information "Bulk Creation Error, but may have been successful as only 1 record with an issue could have been the cause: $_" } try { # Update Subscriptions if (($NinjaLicenseUpdates | Measure-Object).count -ge 1) { - Write-Host 'Updating NinjaOne Licenses' + Write-Information 'Updating NinjaOne Licenses' [System.Collections.Generic.List[PSCustomObject]]$UpdatedLicenses = (Invoke-WebRequest -Uri "https://$($Configuration.Instance)/api/v2/organization/documents" -Method PATCH -Headers @{Authorization = "Bearer $($token.access_token)" } -ContentType 'application/json; charset=utf-8' -Body ($NinjaLicenseUpdates | ConvertTo-Json -Depth 100 -AsArray) -EA Stop).content | ConvertFrom-Json -Depth 100 - Write-Host 'Completed Update' + Write-Information 'Completed Update' } } Catch { - Write-Host "Bulk Update Errored, but may have been successful as only 1 record with an issue could have been the cause: $_" + Write-Information "Bulk Update Errored, but may have been successful as only 1 record with an issue could have been the cause: $_" } [System.Collections.Generic.List[PSCustomObject]]$LicenseDocs = $CreatedLicenses + $UpdatedLicenses @@ -1668,12 +1680,12 @@ function Invoke-NinjaOneTenantSync { try { # Update Relations if (($Relations | Measure-Object).count -ge 1) { - Write-Host 'Updating Relations' + Write-Information 'Updating Relations' $Null = Invoke-WebRequest -Uri "https://$($Configuration.Instance)/api/v2/related-items/entity/DOCUMENT/$($($MatchedLicDoc.documentId))/relations" -Method POST -Headers @{Authorization = "Bearer $($token.access_token)" } -ContentType 'application/json' -Body ($Relations | ConvertTo-Json -Depth 100 -AsArray) -EA Stop - Write-Host 'Completed Update' + Write-Information 'Completed Update' } } Catch { - Write-Host "Creating Relations Failed: $_" + Write-Information "Creating Relations Failed: $_" } #Remove relations @@ -1681,7 +1693,7 @@ function Invoke-NinjaOneTenantSync { try { $RelatedItems = (Invoke-WebRequest -Uri "https://$($Configuration.Instance)/api/v2/related-items/$($DelUser.id)" -Method Delete -Headers @{Authorization = "Bearer $($token.access_token)" } -ContentType 'application/json').content | ConvertFrom-Json -Depth 100 } catch { - Write-Host "Failed to remove relation $($DelUser.id) from $($LinkLic.name)" + Write-Information "Failed to remove relation $($DelUser.id) from $($LinkLic.name)" } } } @@ -1696,7 +1708,7 @@ function Invoke-NinjaOneTenantSync { ### M365 Links Section if ($MappedFields.TenantLinks) { - Write-Host 'Tenant Links' + Write-Information 'Tenant Links' $ManagementLinksData = @( @{ @@ -1798,7 +1810,7 @@ function Invoke-NinjaOneTenantSync { if ($MappedFields.TenantSummary) { - Write-Host 'Tenant Summary' + Write-Information 'Tenant Summary' ### Tenant Overview Card $ParsedAdmins = [PSCustomObject]@{} @@ -1820,7 +1832,7 @@ function Invoke-NinjaOneTenantSync { $TenantSummaryCard = Get-NinjaOneInfoCard -Title 'Tenant Details' -Data $TenantDetailsItems -Icon 'fas fa-building' ### Users details card - Write-Host 'User Details' + Write-Information 'User Details' $TotalUsersCount = ($Users | Measure-Object).count $GuestUsersCount = ($Users | Where-Object { $_.UserType -eq 'Guest' } | Measure-Object).count $LicensedUsersCount = ($licensedUsers | Measure-Object).count @@ -1878,7 +1890,7 @@ function Invoke-NinjaOneTenantSync { ### Device Details Card - Write-Host 'Device Details' + Write-Information 'Device Details' $TotalDeviceswCount = ($Devices | Measure-Object).count $ComplianceDevicesCount = ($Devices | Where-Object { $_.complianceState -eq 'compliant' } | Measure-Object).count $WindowsCount = ($Devices | Where-Object { $_.operatingSystem -eq 'Windows' } | Measure-Object).count @@ -1958,7 +1970,7 @@ function Invoke-NinjaOneTenantSync { $DeviceSummaryCardHTML = Get-NinjaOneCard -Title 'Device Details' -Body $DeviceCardBodyHTML -Icon 'fas fa-network-wired' -TitleLink $TitleLink #### Secure Score Card - Write-Host 'Secure Score Details' + Write-Information 'Secure Score Details' $Top5Actions = ($SecureScoreParsed | Where-Object { $_.scoreInPercentage -ne 100 } | Sort-Object 'Score Impact', adjustedRank -Descending) | Select-Object -First 5 # Score Chart @@ -1975,7 +1987,11 @@ function Invoke-NinjaOneTenantSync { } ) - $SecureScoreHTML = Get-NinjaInLineBarGraph -Title "Secure Score - $([System.Math]::Round((($CurrentSecureScore.currentScore / $MaxSecureScore) * 100),2))%" -Data $Data -KeyInLine -NoCount -NoSort + try { + $SecureScoreHTML = Get-NinjaInLineBarGraph -Title "Secure Score - $([System.Math]::Round((($CurrentSecureScore.currentScore / $MaxSecureScore) * 100),2))%" -Data $Data -KeyInLine -NoCount -NoSort + } catch { + $SecureScoreHTML = 'No Secure Score Data Available' + } # Recommended Actions HTML $RecommendedActionsHTML = $Top5Actions | Select-Object 'Recommended Action', @{n = 'Score Impact'; e = { "+$($_.'Score Impact')%" } }, Category, @{n = 'Link'; e = { '' } } | ConvertTo-Html -As Table -Fragment @@ -1989,30 +2005,37 @@ function Invoke-NinjaOneTenantSync { ### CIPP Applied Standards Cards - Write-Host 'Applied Standards' - Set-Location (Get-Item $PSScriptRoot).Parent.Parent.Parent.FullName - $StandardsDefinitions = Get-Content 'config/standards.json' | ConvertFrom-Json -Depth 100 + Write-Information 'Applied Standards' + $ModuleBase = Get-Module CIPPExtensions | Select-Object -ExpandProperty ModuleBase + $CIPPRoot = (Get-Item $ModuleBase).Parent.Parent.FullName + Set-Location $CIPPRoot + + try { + $StandardsDefinitions = Get-Content 'config/standards.json' | ConvertFrom-Json -Depth 100 - $Table = Get-CippTable -tablename 'standards' + $Table = Get-CippTable -tablename 'standards' - $Filter = "PartitionKey eq 'standards'" + $Filter = "PartitionKey eq 'standards'" - $AllStandards = (Get-CIPPAzDataTableEntity @Table -Filter $Filter).JSON | ConvertFrom-Json -Depth 100 + $AllStandards = (Get-CIPPAzDataTableEntity @Table -Filter $Filter).JSON | ConvertFrom-Json -Depth 100 - $AppliedStandards = ($AllStandards | Where-Object { $_.Tenant -eq $Customer.defaultDomainName -or $_.Tenant -eq 'AllTenants' }) + $AppliedStandards = ($AllStandards | Where-Object { $_.Tenant -eq $Customer.defaultDomainName -or $_.Tenant -eq 'AllTenants' }) - $ParsedStandards = foreach ($Standard in $AppliedStandards) { - [PSCustomObject]$Standards = $Standard.Standards - $Standards.PSObject.Properties | ForEach-Object { - $CheckValue = $_ - if ($CheckValue.value) { - $MatchedStandard = $StandardsDefinitions | Where-Object { ($_.name -split 'standards.')[1] -eq $CheckValue.name } - if (($MatchedStandard | Measure-Object).count -eq 1) { - '
  • ' + $($MatchedStandard.label) + ' (' + ($($Standard.Tenant)) + ')
  • ' + $ParsedStandards = foreach ($Standard in $AppliedStandards) { + [PSCustomObject]$Standards = $Standard.Standards + $Standards.PSObject.Properties | ForEach-Object { + $CheckValue = $_ + if ($CheckValue.value) { + $MatchedStandard = $StandardsDefinitions | Where-Object { ($_.name -split 'standards.')[1] -eq $CheckValue.name } + if (($MatchedStandard | Measure-Object).count -eq 1) { + '
  • ' + $($MatchedStandard.label) + ' (' + ($($Standard.Tenant)) + ')
  • ' + } } } - } + } + } catch { + $ParsedStandards = 'No standards applied or error retrieving standards' } $TitleLink = "https://$CIPPUrl/tenant/standards/list-applied-standards?customerId=$($Customer.customerId)" @@ -2022,7 +2045,7 @@ function Invoke-NinjaOneTenantSync { $CIPPStandardsSummaryCardHTML = Get-NinjaOneCard -Title 'CIPP Applied Standards' -Body $CIPPStandardsBodyHTML -Icon 'fas fa-shield-halved' -TitleLink $TitleLink ### License Card - Write-Host 'License Details' + Write-Information 'License Details' $LicenseTableHTML = $LicensesParsed | Sort-Object 'License Name' | ConvertTo-Html -As Table -Fragment $LicenseTableHTML = '
    ' + (([System.Web.HttpUtility]::HtmlDecode($LicenseTableHTML) -replace '
    ', '') -replace '', '') + '' @@ -2031,7 +2054,7 @@ function Invoke-NinjaOneTenantSync { ### Summary Stats - Write-Host 'Widget Details' + Write-Information 'Widget Details' [System.Collections.Generic.List[PSCustomObject]]$WidgetData = @() @@ -2216,12 +2239,12 @@ function Invoke-NinjaOneTenantSync { - Write-Host 'Summary Details' + Write-Information 'Summary Details' $SummaryDetailsCardHTML = Get-NinjaOneWidgetCard -Data $WidgetData -Icon 'fas fa-building' -SmallCols 2 -MedCols 3 -LargeCols 4 -XLCols 6 -NoCard # Create the Tenant Summary Field - Write-Host 'Complete Tenant Summary' + Write-Information 'Complete Tenant Summary' $TenantSummaryHTML = '
    ' + $SummaryDetailsCardHTML + '
    ' + '
    ' + '
    ' + $TenantSummaryCard + @@ -2239,7 +2262,7 @@ function Invoke-NinjaOneTenantSync { } if ($MappedFields.UsersSummary) { - Write-Host 'User Details Section' + Write-Information 'User Details Section' $UsersTableFornatted = $ParsedUsers | Sort-Object name | Select-Object -First 100 Name, @{n = 'User Principal Name'; e = { $_.UPN } }, @@ -2277,26 +2300,26 @@ function Invoke-NinjaOneTenantSync { - Write-Host 'Posting Details' + Write-Information 'Posting Details' $Token = Get-NinjaOneToken -configuration $Configuration - Write-Host "Ninja Body: $($NinjaOrgUpdate | ConvertTo-Json -Depth 100)" + Write-Information "Ninja Body: $($NinjaOrgUpdate | ConvertTo-Json -Depth 100)" $Result = Invoke-WebRequest -Uri "https://$($Configuration.Instance)/api/v2/organization/$($MappedTenant.IntegrationId)/custom-fields" -Method PATCH -Headers @{Authorization = "Bearer $($token.access_token)" } -ContentType 'application/json; charset=utf-8' -Body ($NinjaOrgUpdate | ConvertTo-Json -Depth 100) - Write-Host 'Cleaning Users Cache' + Write-Information 'Cleaning Users Cache' if (($ParsedUsers | Measure-Object).count -gt 0) { Remove-AzDataTableEntity @UsersTable -Entity ($ParsedUsers | Select-Object PartitionKey, RowKey) } - Write-Host 'Cleaning Device Cache' + Write-Information 'Cleaning Device Cache' if (($ParsedDevices | Measure-Object).count -gt 0) { Remove-AzDataTableEntity @DeviceTable -Entity ($ParsedDevices | Select-Object PartitionKey, RowKey) } - Write-Host "Total Fetch Time: $((New-TimeSpan -Start $StartTime -End $FetchEnd).TotalSeconds)" - Write-Host "Completed Total Time: $((New-TimeSpan -Start $StartTime -End (Get-Date)).TotalSeconds)" + Write-Information "Total Fetch Time: $((New-TimeSpan -Start $StartTime -End $FetchEnd).TotalSeconds)" + Write-Information "Completed Total Time: $((New-TimeSpan -Start $StartTime -End (Get-Date)).TotalSeconds)" # Set Last End Time $CurrentItem | Add-Member -NotePropertyName lastEndTime -NotePropertyValue ([string]$((Get-Date).ToUniversalTime().ToString('yyyy-MM-ddTHH:mm:ss.fffZ'))) -Force diff --git a/Modules/CippExtensions/Public/PwPush/New-PwPushLink.ps1 b/Modules/CippExtensions/Public/PwPush/New-PwPushLink.ps1 index a8739f39c9b6..0a29234f0071 100644 --- a/Modules/CippExtensions/Public/PwPush/New-PwPushLink.ps1 +++ b/Modules/CippExtensions/Public/PwPush/New-PwPushLink.ps1 @@ -13,12 +13,21 @@ function New-PwPushLink { if ($Configuration.ExpireAfterDays) { $PushParams.ExpireAfterDays = $Configuration.ExpireAfterDays } if ($Configuration.ExpireAfterViews) { $PushParams.ExpireAfterViews = $Configuration.ExpireAfterViews } if ($Configuration.DeletableByViewer) { $PushParams.DeletableByViewer = $Configuration.DeletableByViewer } - $Link = New-Push @PushParams | Select-Object Link, LinkRetrievalStep - if ($Configuration.RetrievalStep) { - $Link.Link = $Link.LinkRetrievalStep + try { + $Link = New-Push @PushParams | Select-Object Link, LinkRetrievalStep + if ($Configuration.RetrievalStep) { + $Link.Link = $Link.LinkRetrievalStep + } + $Link | Select-Object -ExpandProperty Link + } catch { + $LogData = [PSCustomObject]@{ + 'Response' = $Link + 'Exception' = Get-CippException -Exception $_ + } + Write-LogMessage -API PwPush -Message "Failed to create a new PwPush link: $($_.Exception.Message)" -Sev 'Error' -LogData $LogData + throw 'Failed to create a new PwPush link, check the log book for more details' } - $Link | Select-Object -ExpandProperty Link } else { return $false } -} \ No newline at end of file +} diff --git a/Modules/CippExtensions/Public/PwPush/Set-PwPushConfig.ps1 b/Modules/CippExtensions/Public/PwPush/Set-PwPushConfig.ps1 index d43ffa888575..82021abb0539 100644 --- a/Modules/CippExtensions/Public/PwPush/Set-PwPushConfig.ps1 +++ b/Modules/CippExtensions/Public/PwPush/Set-PwPushConfig.ps1 @@ -1,4 +1,15 @@ function Set-PwPushConfig { + <# + .SYNOPSIS + Sets PwPush configuration + + .DESCRIPTION + Sets PwPush configuration from CIPP Extension config + + .PARAMETER Configuration + Configuration object + #> + [CmdletBinding(SupportsShouldProcess = $true)] param( $Configuration ) @@ -6,18 +17,21 @@ function Set-PwPushConfig { if ($Configuration.BaseUrl) { $InitParams.BaseUrl = $Configuration.BaseUrl } - if ($Configuration.EmailAddress) { + if (![string]::IsNullOrEmpty($Configuration.EmailAddress)) { if ($env:AzureWebJobsStorage -eq 'UseDevelopmentStorage=true') { $DevSecretsTable = Get-CIPPTable -tablename 'DevSecrets' $ApiKey = (Get-CIPPAzDataTableEntity @DevSecretsTable -Filter "PartitionKey eq 'PWPush' and RowKey eq 'PWPush'").APIKey } else { $null = Connect-AzAccount -Identity - $ApiKey = Get-AzKeyVaultSecret -VaultName $ENV:WEBSITE_DEPLOYMENT_ID -Name 'PWPush' -AsPlainText + $VaultName = ($ENV:WEBSITE_DEPLOYMENT_ID -split '-')[0] + $ApiKey = Get-AzKeyVaultSecret -VaultName $VaultName -Name 'PWPush' -AsPlainText } - if ($ApiKey) { + if (![string]::IsNullOrEmpty($ApiKey)) { $InitParams.APIKey = $ApiKey $InitParams.EmailAddress = $Configuration.EmailAddress } } - Initialize-PassPushPosh @InitParams -} \ No newline at end of file + if ($PSCmdlet.ShouldProcess('Initialize-PassPushPosh')) { + Initialize-PassPushPosh @InitParams + } +} diff --git a/Modules/MicrosoftTeams/6.4.0/GetTeamSettings.format.ps1xml b/Modules/MicrosoftTeams/6.4.0/GetTeamSettings.format.ps1xml new file mode 100644 index 000000000000..a3a280436756 --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/GetTeamSettings.format.ps1xml @@ -0,0 +1,271 @@ + + + + TeamSettings + + Microsoft.Teams.PowerShell.TeamsCmdlets.Model.TeamSettings + + + + + 36 + + + 18 + + + 11 + + + 9 + + + 18 + + + 18 + + + + + + + GroupId + + + DisplayName + + + Visibility + + + Archived + + + MailNickName + + + Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Modules/MicrosoftTeams/6.4.0/LICENSE.txt b/Modules/MicrosoftTeams/6.4.0/LICENSE.txt new file mode 100644 index 000000000000..8b9ecf6f5734 --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/LICENSE.txt @@ -0,0 +1,76 @@ +Your use of the Microsoft Teams PowerShell is subject to the terms and conditions of the agreement you agreed to when you signed up for the Microsoft Teams subscription and by which you acquired a license for the software. For instance, if you are: + +• a volume license customer, use of this software is subject to your volume license agreement. +• a Microsoft Online Subscription customer, use of this software is subject to the Microsoft Online Subscription agreement. + +You may not use the service or software if you have not validly acquired a license from Microsoft or its licensed distributors. + +----------------START OF THIRD PARTY NOTICE-------------------------------- +The software includes the Polly library ("Polly"). The New BSD License set out below is provided for informational purposes only. It is not the license that governs any part of the software. + +Copyright (c) 2015-2020, App vNext +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of App vNext nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +---END OF LICENSE--------- + +The software includes the Polly.Contrib.WaitAndRetry library ("Polly-Contrib"). The New BSD License set out below is provided for informational purposes only. It is not the license that governs any part of the software. + +Copyright (c) 2015-2020, App vNext and contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of App vNext nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +---END OF LICENSE--------- + +The software includes Newtonsoft.Json. The MIT License set out below is provided for informational purposes only. It is not the license that governs any part of the software. + +Newtonsoft.Json + +The MIT License (MIT) +Copyright (c) 2007 James Newton-King +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +---END OF LICENSE--------- + +-------------END OF THIRD PARTY NOTICE---------------------------------------- \ No newline at end of file diff --git a/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.ConfigAPI.Cmdlets.custom.format.ps1xml b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.ConfigAPI.Cmdlets.custom.format.ps1xml new file mode 100644 index 000000000000..c80160b7de80 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.ConfigAPI.Cmdlets.custom.format.ps1xml differ diff --git a/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.ConfigAPI.Cmdlets.format.ps1xml b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.ConfigAPI.Cmdlets.format.ps1xml new file mode 100644 index 000000000000..a59d386c5089 --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.ConfigAPI.Cmdlets.format.ps1xml @@ -0,0 +1,15749 @@ + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.XdsConfiguration + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.XdsConfiguration + + + + + + + + + + + + + + + Identity + + + BeforeJson + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConferencingServiceNumber + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConferencingServiceNumber + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + BridgeId + + + City + + + IsShared + + + Number + + + PrimaryLanguage + + + SecondaryLanguages + + + Type + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.AadAssignedPlan + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.AadAssignedPlan + + + + + + + + + + + + + + + + + + + + + AssignedDateTime + + + CapabilityStatus + + + Service + + + ServicePlanId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.AssignedPlan1 + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.AssignedPlan1 + + + + + + + + + + + + + + + + + + + + + + + + + + + AssignedTimestamp + + + Capability + + + CapabilityStatus + + + ServiceInstance + + + ServicePlanId + + + SubscribedPlanId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConnectorSpecificBlueYonderSettingsRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConnectorSpecificBlueYonderSettingsRequest + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LoginPwd + + + LoginUserName + + + Type + + + AdminApiUrl + + + CookieAuthUrl + + + EssApiUrl + + + FederatedAuthUrl + + + RetailWebApiUrl + + + SiteManagerUrl + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConnectorSpecificUkgDimensionsSettingsRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConnectorSpecificUkgDimensionsSettingsRequest + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LoginPwd + + + LoginUserName + + + Type + + + ApiUrl + + + AppKey + + + ClientId + + + ClientSecret + + + SsoUrl + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ErrorReportResponseReferenceLinks + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ErrorReportResponseReferenceLinks + + + + + + + + + + + + Item + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.AssignedPlan + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.AssignedPlan + + + + + + + + + + + + + + + + + + + + + + + + + + + AssignedTimestamp + + + Capability + + + CapabilityStatus + + + ServiceInstance + + + ServicePlanId + + + SubscribedPlanId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.Number + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.Number + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ActivationState + + + BridgeNumber + + + CallingProfile + + + CityCode + + + CivicAddressId + + + DisplayNumber + + + InventoryType + + + IsManagedByServiceDesk + + + LocationId + + + O365Region + + + PortInOrderStatus + + + SourceType + + + TargetType + + + TenantId + + + UserId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ProvisionedPlan + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ProvisionedPlan + + + + + + + + + + + + + + + + + + CapabilityStatus + + + ProvisioningStatus + + + Service + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UserPolicyDefinition + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UserPolicyDefinition + + + + + + + + + + + + + + + Authority + + + Name + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UserProvisionedPlan + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UserProvisionedPlan + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AssignedTimestamp + + + Capability + + + CapabilityStatus + + + ProvisionedTimestamp + + + ProvisioningStatus + + + ServiceInstance + + + ServicePlanId + + + SubscribedPlanId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UserValidationError + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UserValidationError + + + + + + + + + + + + + + + ErrorCode + + + ErrorDescription + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.AadAssignedLicense + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.AadAssignedLicense + + + + + + + + + + + + + + + DisabledPlan + + + SkuId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.AadProvisionedPlans + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.AadProvisionedPlans + + + + + + + + + + + + + + + + + + CapabilityStatus + + + ProvisioningStatus + + + Service + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.AadProvisionErrors + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.AadProvisionErrors + + + + + + + + + + + + + + + + + + + + + ErrorDetail + + + Resolved + + + Service + + + Timestamp + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.AadUserAssignedPlan + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.AadUserAssignedPlan + + + + + + + + + + + + + + + + + + + + + AssignedTimestamp + + + CapabilityStatus + + + Service + + + ServicePlanId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.AadVerifiedDomains + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.AadVerifiedDomains + + + + + + + + + + + + + + + Name + + + Type + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.Agent + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.Agent + + + + + + + + + + + + + + + ObjectId + + + OptIn + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ApiErrorItem + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ApiErrorItem + + + + + + + + + + + + + + + + + + + + + + + + Code + + + CorrelationId + + + Message + + + Target + + + TimeStampUtc + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ApiErrorItemAutoGenerated + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ApiErrorItemAutoGenerated + + + + + + + + + + + + + + + + + + + + + + + + Code + + + CorrelationId + + + Message + + + Target + + + TimeStampUtc + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ApiErrorItemAutoGenerated2 + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ApiErrorItemAutoGenerated2 + + + + + + + + + + + + + + + + + + + + + + + + Code + + + CorrelationId + + + Message + + + Target + + + TimeStampUtc + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ApiErrorItemObject + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ApiErrorItemObject + + + + + + + + + + + + + + + + + + + + + + + + Code + + + CorrelationId + + + Message + + + Target + + + TimeStampUtc + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.AppAccessRequestConfig + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.AppAccessRequestConfig + + + + + + + + + + + + + + + AdminInstructionMessage + + + ApprovalPortalUrl + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ApplicationEndpointRoutingDetails + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ApplicationEndpointRoutingDetails + + + + + + + + + + + + + + + + + + ApplicationEndpointId + + + ApplicationId + + + CallbackUri + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ApplicationInstance + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ApplicationInstance + + + + + + + + + + + + + + + + + + Id + + + Name + + + TelephoneNumber + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ApplicationInstanceAssociation + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ApplicationInstanceAssociation + + + + + + + + + + + + + + + + + + + + + ApplicationConfigurationType + + + CallPriority + + + ConfigurationId + + + Id + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ApplicationInstanceAutoGenerated + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ApplicationInstanceAutoGenerated + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AcsResourceId + + + ApplicationId + + + DisplayName + + + ObjectId + + + PhoneNumber + + + TenantId + + + UserPrincipalName + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ApplicationInstanceCreateRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ApplicationInstanceCreateRequest + + + + + + + + + + + + + + + + + + ApplicationId + + + DisplayName + + + UserPrincipalName + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ApplicationInstanceSearchResults + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ApplicationInstanceSearchResults + + + + + + + + + + + + SkipToken + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ApplicationInstanceUpdateRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ApplicationInstanceUpdateRequest + + + + + + + + + + + + + + + + + + + + + AcsResourceId + + + ApplicationId + + + DisplayName + + + OnpremPhoneNumber + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ApplicationObject + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ApplicationObject + + + + + + + + + + + + + + + + + + + + + Context + + + Id + + + IsAppLevelAutoInstallEnabled + + + IsEnabled + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.AssignedLicense + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.AssignedLicense + + + + + + + + + + + + + + + DisabledPlan + + + SkuId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.AssignedPlanAutoGenerated + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.AssignedPlanAutoGenerated + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AssignedTimestamp + + + Capability + + + CapabilityStatus + + + GracePeriodExpiryDate + + + IsInGracePeriod + + + ServiceInstance + + + ServicePlanId + + + SubscribedPlanId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.AudioFile + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.AudioFile + + + + + + + + + + + + + + + + + + DownloadUri + + + FileName + + + Id + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.AudioFileDto + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.AudioFileDto + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ApplicationId + + + GroupId + + + Id + + + Content + + + ContextId + + + ConvertedFilename + + + DeletionTimestampOffset + + + DownloadUri + + + DownloadUriExpiryTimestampOffset + + + Duration + + + LastAccessedTimestampOffset + + + OriginalFilename + + + UploadedTimestampOffset + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.AutoAttendant + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.AutoAttendant + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ApplicationInstance + + + AuthorizedUser + + + DialByNameResourceId + + + HideAuthorizedUser + + + Id + + + LanguageId + + + Name + + + TenantId + + + TimeZoneId + + + VoiceId + + + VoiceResponseEnabled + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.BatchAssignBody + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.BatchAssignBody + + + + + + + + + + + + Identity + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.BatchAssignPayload + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.BatchAssignPayload + + + + + + + + + + + + Identity + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.BatchJobStatus + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.BatchJobStatus + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OperationId + + + OperationName + + + OverallStatus + + + CreatedBy + + + CreatedTime + + + CompletedTime + + + CompletedCount + + + ErrorCount + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.BatchOperationId + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.BatchOperationId + + + + + + + + + + + + OperationId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.BeginMoveRequestBody + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.BeginMoveRequestBody + + + + + + + + + + + + + + + MajorVersion + + + UserSipUri + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.BridgeUpdateRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.BridgeUpdateRequest + + + + + + + + + + + + + + + + + + DefaultServiceNumber + + + Name + + + SetDefault + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CacheClearRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CacheClearRequest + + + + + + + + + + + + + + + KeysToDelete + + + Region + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CacheClearResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CacheClearResponse + + + + + + + + + + + + + + + FailedKeys + + + Region + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CallableEntity + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CallableEntity + + + + + + + + + + + + + + + + + + + + + + + + CallPriority + + + EnableSharedVoicemailSystemPromptSuppression + + + EnableTranscription + + + Id + + + Type + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CallFlow + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CallFlow + + + + + + + + + + + + + + + + + + ForceListenMenuEnabled + + + Id + + + Name + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CallGroupDetails + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CallGroupDetails + + + + + + + + + + + + + + + + + + Delay + + + Order + + + Target + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CallGroupMembershipDetails + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CallGroupMembershipDetails + + + + + + + + + + + + + + + CallGroupOwnerId + + + NotificationSetting + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CallGroupMembershipSettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CallGroupMembershipSettings + + + + + + + + + + + + CallGroupNotificationOverride + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CallHandlingAssociation + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CallHandlingAssociation + + + + + + + + + + + + + + + + + + + + + + + + CallFlowId + + + Enabled + + + Priority + + + ScheduleId + + + Type + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CallQueue + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CallQueue + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AgentAlertTime + + + AgentsCapped + + + AgentsInSyncWithDistributionList + + + AllowOptOut + + + ApplicationInstance + + + AuthorizedUser + + + CallToAgentRatioThresholdBeforeOfferingCallback + + + CallbackOfferAudioFilePromptFileName + + + CallbackOfferAudioFilePromptResourceId + + + CallbackOfferTextToSpeechPrompt + + + CallbackRequestDtmf + + + ConferenceMode + + + Description + + + DistributionList + + + DistributionListsLastExpanded + + + EnableNoAgentSharedVoicemailSystemPromptSuppression + + + EnableNoAgentSharedVoicemailTranscription + + + EnableOverflowSharedVoicemailSystemPromptSuppression + + + EnableOverflowSharedVoicemailTranscription + + + EnableResourceAccountsForObo + + + EnableTimeoutSharedVoicemailSystemPromptSuppression + + + EnableTimeoutSharedVoicemailTranscription + + + HideAuthorizedUser + + + Identity + + + IsCallbackEnabled + + + LanguageId + + + MusicOnHoldFileDownloadUri + + + MusicOnHoldFileName + + + MusicOnHoldResourceId + + + Name + + + NoAgentAction + + + NoAgentActionCallPriority + + + NoAgentApplyTo + + + NoAgentDisconnectAudioFilePrompt + + + NoAgentDisconnectAudioFilePromptFileName + + + NoAgentDisconnectTextToSpeechPrompt + + + NoAgentRedirectPersonAudioFilePrompt + + + NoAgentRedirectPersonAudioFilePromptFileName + + + NoAgentRedirectPersonTextToSpeechPrompt + + + NoAgentRedirectPhoneNumberAudioFilePrompt + + + NoAgentRedirectPhoneNumberAudioFilePromptFileName + + + NoAgentRedirectPhoneNumberTextToSpeechPrompt + + + NoAgentRedirectVoiceAppAudioFilePrompt + + + NoAgentRedirectVoiceAppAudioFilePromptFileName + + + NoAgentRedirectVoiceAppTextToSpeechPrompt + + + NoAgentRedirectVoicemailAudioFilePrompt + + + NoAgentRedirectVoicemailAudioFilePromptFileName + + + NoAgentRedirectVoicemailTextToSpeechPrompt + + + NoAgentSharedVoicemailAudioFilePrompt + + + NoAgentSharedVoicemailAudioFilePromptFileName + + + NoAgentSharedVoicemailTextToSpeechPrompt + + + NumberOfCallsInQueueBeforeOfferingCallback + + + OverflowAction + + + OverflowActionCallPriority + + + OverflowDisconnectAudioFilePrompt + + + OverflowDisconnectAudioFilePromptFileName + + + OverflowDisconnectTextToSpeechPrompt + + + OverflowRedirectPersonAudioFilePrompt + + + OverflowRedirectPersonAudioFilePromptFileName + + + OverflowRedirectPersonTextToSpeechPrompt + + + OverflowRedirectPhoneNumberAudioFilePrompt + + + OverflowRedirectPhoneNumberAudioFilePromptFileName + + + OverflowRedirectPhoneNumberTextToSpeechPrompt + + + OverflowRedirectVoiceAppAudioFilePrompt + + + OverflowRedirectVoiceAppAudioFilePromptFileName + + + OverflowRedirectVoiceAppTextToSpeechPrompt + + + OverflowRedirectVoicemailAudioFilePrompt + + + OverflowRedirectVoicemailAudioFilePromptFileName + + + OverflowRedirectVoicemailTextToSpeechPrompt + + + OverflowSharedVoicemailAudioFilePrompt + + + OverflowSharedVoicemailAudioFilePromptFileName + + + OverflowSharedVoicemailTextToSpeechPrompt + + + OverflowThreshold + + + PresenceAwareRouting + + + RoutingMethod + + + ServiceLevelThresholdResponseTimeInSecond + + + ShouldOverwriteCallableChannelProperty + + + TenantId + + + ThreadId + + + TimeoutAction + + + TimeoutActionCallPriority + + + TimeoutDisconnectAudioFilePrompt + + + TimeoutDisconnectAudioFilePromptFileName + + + TimeoutDisconnectTextToSpeechPrompt + + + TimeoutRedirectPersonAudioFilePrompt + + + TimeoutRedirectPersonAudioFilePromptFileName + + + TimeoutRedirectPersonTextToSpeechPrompt + + + TimeoutRedirectPhoneNumberAudioFilePrompt + + + TimeoutRedirectPhoneNumberAudioFilePromptFileName + + + TimeoutRedirectPhoneNumberTextToSpeechPrompt + + + TimeoutRedirectVoiceAppAudioFilePrompt + + + TimeoutRedirectVoiceAppAudioFilePromptFileName + + + TimeoutRedirectVoiceAppTextToSpeechPrompt + + + TimeoutRedirectVoicemailAudioFilePrompt + + + TimeoutRedirectVoicemailAudioFilePromptFileName + + + TimeoutRedirectVoicemailTextToSpeechPrompt + + + TimeoutSharedVoicemailAudioFilePrompt + + + TimeoutSharedVoicemailAudioFilePromptFileName + + + TimeoutSharedVoicemailTextToSpeechPrompt + + + TimeoutThreshold + + + UseDefaultMusicOnHold + + + User + + + WaitTimeBeforeOfferingCallbackInSecond + + + WelcomeMusicFileDownloadUri + + + WelcomeMusicFileName + + + WelcomeMusicResourceId + + + WelcomeTextToSpeechPrompt + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CallQueueStatistic + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CallQueueStatistic + + + + + + + + + + + + + + + StatName + + + StatValue + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CancellationToken + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CancellationToken + + + + + + + + + + + + + + + CanBeCanceled + + + IsCancellationRequested + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ChannelTabTemplate + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ChannelTabTemplate + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Id + + + Key + + + MessageId + + + Name + + + SortOrderIndex + + + TeamsAppId + + + WebUrl + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ChannelTemplate + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ChannelTemplate + + + + + + + + + + + + + + + + + + + + + Description + + + DisplayName + + + Id + + + IsFavoriteByDefault + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CivicAddress + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CivicAddress + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AdditionalLocationInfo + + + City + + + CityAlias + + + CivicAddressId + + + CompanyName + + + CompanyTaxId + + + Confidence + + + CountryOrRegion + + + CountyOrDistrict + + + DefaultLocationId + + + Description + + + Elin + + + HouseNumber + + + HouseNumberSuffix + + + Latitude + + + Longitude + + + NumberOfTelephoneNumbers + + + NumberOfVoiceUsers + + + PartnerId + + + PostDirectional + + + PostalCode + + + PreDirectional + + + StateOrProvince + + + StreetName + + + StreetSuffix + + + TenantId + + + ValidationStatus + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ClearScheduleRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ClearScheduleRequest + + + + + + + + + + + + + + + + + + + + + + + + ClearSchedulingGroup + + + DesignatedActorId + + + EntityType + + + TeamId + + + TimeZone + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CloudAudioConferencingProviderInfo + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CloudAudioConferencingProviderInfo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Default + + + Domain + + + Name + + + ParticipantPassCode + + + TollFreeNumber + + + TollNumber + + + Url + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CloudCallDataConnection + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CloudCallDataConnection + + + + + + + + + + + + Token + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CloudMSRtcServiceAttributes + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CloudMSRtcServiceAttributes + + + + + + + + + + + + + + + + + + + + + ApplicationOption + + + DeploymentLocator + + + HideFromAddressList + + + OptionFlag + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CompanyPartnership + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CompanyPartnership + + + + + + + + + + + + + + + + + + + + + LoggingEnabled + + + PartnerContextId + + + PartnerType + + + SupportPartner + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CompleteMoveRequestBody + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CompleteMoveRequestBody + + + + + + + + + + + + + + + MajorVersion + + + UserSipUri + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConferencingBridge + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConferencingBridge + + + + + + + + + + + + + + + + + + + + + + + + Identity + + + IsDefault + + + IsShared + + + Name + + + Region + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConferencingProperties + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConferencingProperties + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AllowPstnOnlyMeeting + + + AllowTollFreeDialIn + + + BridgeId + + + BridgeName + + + ConferenceId + + + ObjectId + + + ServiceNumber + + + TollFreeServiceNumber + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConferencingUser + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConferencingUser + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AllowPstnOnlyMeeting + + + AllowTollFreeDialIn + + + BridgeId + + + BridgeName + + + ConferenceId + + + DefaultTollFreeNumber + + + DefaultTollNumber + + + DisplayName + + + Identity + + + LeaderPin + + + ServiceNumber + + + SipAddress + + + TenantId + + + TollFreeServiceNumber + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConferencingUserSearchResults + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConferencingUserSearchResults + + + + + + + + + + + + NextLink + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConfigApiBasedCmdletsIdentity + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConfigApiBasedCmdletsIdentity + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AppId + + + AudioFileId + + + Bssid + + + ChassisId + + + CivicAddressId + + + ConfigName + + + ConfigType + + + ConnectionId + + + ConnectorInstanceId + + + Country + + + DialedNumber + + + EndpointId + + + ErrorReportId + + + GroupId + + + Id + + + Identity + + + Locale + + + LocationId + + + MemberId + + + ObjectId + + + OdataId + + + OperationId + + + OrchestrationId + + + OrderId + + + OwnerId + + + PackageName + + + PartitionKey + + + PolicyType + + + PublicTemplateLocale + + + Region + + + SubnetId + + + Table + + + TeamId + + + TelephoneNumber + + + UserId + + + Version + + + WfmTeamId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConfigDefinition + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConfigDefinition + + + + + + + + + + + + + + + ConfigName + + + ConfigType + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConnectorInstanceBaseRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConnectorInstanceBaseRequest + + + + + + + + + + + + + + + ConnectorId + + + Name + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConnectorInstanceRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConnectorInstanceRequest + + + + + + + + + + + + + + + + + + + + + + + + + + + ConnectionId + + + ConnectorAdminEmail + + + DesignatedActorId + + + Name + + + State + + + SyncFrequencyInMin + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConnectorInstanceResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConnectorInstanceResponse + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ConnectionId + + + ConnectorAdminEmail + + + ConnectorId + + + CreatedDateTime + + + DesignatedActorId + + + Etag + + + Id + + + LastModifiedDateTime + + + Name + + + State + + + SyncFrequencyInMin + + + TenantId + + + WorkforceIntegrationId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConnectorResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConnectorResponse + + + + + + + + + + + + + + + + + + Id + + + Name + + + Version + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConnectorSpecificBlueYonderSettingsResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConnectorSpecificBlueYonderSettingsResponse + + + + + + + + + + + + + + + + + + + + + + + + + + + AdminApiUrl + + + CookieAuthUrl + + + EssApiUrl + + + FederatedAuthUrl + + + RetailWebApiUrl + + + SiteManagerUrl + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConnectorSpecificSettingsRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConnectorSpecificSettingsRequest + + + + + + + + + + + + + + + + + + LoginPwd + + + LoginUserName + + + Type + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConnectorSpecificSettingsResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConnectorSpecificSettingsResponse + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AdminApiUrl + + + ApiUrl + + + AppKey + + + ClientId + + + CookieAuthUrl + + + EssApiUrl + + + FederatedAuthUrl + + + RetailWebApiUrl + + + SiteManagerUrl + + + SsoUrl + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConnectorSpecificUkgDimensionsSettingsResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConnectorSpecificUkgDimensionsSettingsResponse + + + + + + + + + + + + + + + + + + ApiUrl + + + ClientId + + + SsoUrl + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConnectPowershellTelemetry + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConnectPowershellTelemetry + + + + + + + + + + + + + + + + + + + + + ConfigApiPowershellModuleVersion + + + MicrosoftTeamsPsVersion + + + SfBOnlineConnectorPsversion + + + TeamsModuleAuthTypeUsed + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CreateApplicationInstanceAssociationsRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CreateApplicationInstanceAssociationsRequest + + + + + + + + + + + + + + + + + + + + + CallPriority + + + ConfigurationId + + + ConfigurationType + + + EndpointsId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CreateAutoAttendantRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CreateAutoAttendantRequest + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AuthorizedUser + + + HideAuthorizedUser + + + LanguageId + + + Name + + + TimeZoneId + + + VoiceId + + + VoiceResponseEnabled + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CreateCallableEntityRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CreateCallableEntityRequest + + + + + + + + + + + + + + + + + + + + + + + + CallPriority + + + EnableSharedVoicemailSystemPromptSuppression + + + EnableTranscription + + + Id + + + Type + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CreateCallFlowRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CreateCallFlowRequest + + + + + + + + + + + + + + + ForceListenMenuEnabled + + + Name + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CreateCallHandlingAssociationRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CreateCallHandlingAssociationRequest + + + + + + + + + + + + + + + + + + + + + CallFlowId + + + Enabled + + + ScheduleId + + + Type + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CreateCallQueueRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CreateCallQueueRequest + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AgentAlertTime + + + AllowOptOut + + + AuthorizedUser + + + CallToAgentRatioThresholdBeforeOfferingCallback + + + CallbackEmailNotificationTarget + + + CallbackOfferAudioFilePromptResourceId + + + CallbackOfferTextToSpeechPrompt + + + CallbackRequestDtmf + + + ConferenceMode + + + DistributionList + + + EnableNoAgentSharedVoicemailSystemPromptSuppression + + + EnableNoAgentSharedVoicemailTranscription + + + EnableOverflowSharedVoicemailSystemPromptSuppression + + + EnableOverflowSharedVoicemailTranscription + + + EnableResourceAccountsForObo + + + EnableTimeoutSharedVoicemailSystemPromptSuppression + + + EnableTimeoutSharedVoicemailTranscription + + + HideAuthorizedUser + + + IsCallbackEnabled + + + LanguageId + + + MusicOnHoldAudioFileId + + + Name + + + NoAgentAction + + + NoAgentActionCallPriority + + + NoAgentActionTarget + + + NoAgentApplyTo + + + NoAgentDisconnectAudioFilePrompt + + + NoAgentDisconnectTextToSpeechPrompt + + + NoAgentRedirectPersonAudioFilePrompt + + + NoAgentRedirectPersonTextToSpeechPrompt + + + NoAgentRedirectPhoneNumberAudioFilePrompt + + + NoAgentRedirectPhoneNumberTextToSpeechPrompt + + + NoAgentRedirectVoiceAppAudioFilePrompt + + + NoAgentRedirectVoiceAppTextToSpeechPrompt + + + NoAgentRedirectVoicemailAudioFilePrompt + + + NoAgentRedirectVoicemailTextToSpeechPrompt + + + NoAgentSharedVoicemailAudioFilePrompt + + + NoAgentSharedVoicemailTextToSpeechPrompt + + + NumberOfCallsInQueueBeforeOfferingCallback + + + OboResourceAccountId + + + OverflowAction + + + OverflowActionCallPriority + + + OverflowActionTarget + + + OverflowDisconnectAudioFilePrompt + + + OverflowDisconnectTextToSpeechPrompt + + + OverflowRedirectPersonAudioFilePrompt + + + OverflowRedirectPersonTextToSpeechPrompt + + + OverflowRedirectPhoneNumberAudioFilePrompt + + + OverflowRedirectPhoneNumberTextToSpeechPrompt + + + OverflowRedirectVoiceAppAudioFilePrompt + + + OverflowRedirectVoiceAppTextToSpeechPrompt + + + OverflowRedirectVoicemailAudioFilePrompt + + + OverflowRedirectVoicemailTextToSpeechPrompt + + + OverflowSharedVoicemailAudioFilePrompt + + + OverflowSharedVoicemailTextToSpeechPrompt + + + OverflowThreshold + + + PresenceAwareRouting + + + RoutingMethod + + + ServiceLevelThresholdResponseTimeInSecond + + + ShouldOverwriteCallableChannelProperty + + + ThreadId + + + TimeoutAction + + + TimeoutActionCallPriority + + + TimeoutActionTarget + + + TimeoutDisconnectAudioFilePrompt + + + TimeoutDisconnectTextToSpeechPrompt + + + TimeoutRedirectPersonAudioFilePrompt + + + TimeoutRedirectPersonTextToSpeechPrompt + + + TimeoutRedirectPhoneNumberAudioFilePrompt + + + TimeoutRedirectPhoneNumberTextToSpeechPrompt + + + TimeoutRedirectVoiceAppAudioFilePrompt + + + TimeoutRedirectVoiceAppTextToSpeechPrompt + + + TimeoutRedirectVoicemailAudioFilePrompt + + + TimeoutRedirectVoicemailTextToSpeechPrompt + + + TimeoutSharedVoicemailAudioFilePrompt + + + TimeoutSharedVoicemailTextToSpeechPrompt + + + TimeoutThreshold + + + UseDefaultMusicOnHold + + + User + + + WaitTimeBeforeOfferingCallbackInSecond + + + WelcomeMusicAudioFileId + + + WelcomeTextToSpeechPrompt + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CreateDateTimeRangeRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CreateDateTimeRangeRequest + + + + + + + + + + + + + + + End + + + Start + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CreateGroupDialScopeRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CreateGroupDialScopeRequest + + + + + + + + + + + + GroupId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CreateMenuOptionRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CreateMenuOptionRequest + + + + + + + + + + + + + + + + + + Action + + + DtmfResponse + + + VoiceResponse + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CreateMenuRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CreateMenuRequest + + + + + + + + + + + + + + + + + + DialByNameEnabled + + + DirectorySearchMethod + + + Name + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CreateOrUpdateRequestBody + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CreateOrUpdateRequestBody + + + + + + + + + + + + + + + + + + + + + EnableLobbyBackgroundBranding + + + EnableLobbyLogoBranding + + + EnableMeetingBackgroundImage + + + EnableNdiAssuranceSlate + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CreatePromptRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CreatePromptRequest + + + + + + + + + + + + + + + ActiveType + + + TextToSpeechPrompt + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CreateScheduleRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CreateScheduleRequest + + + + + + + + + + + + Name + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CreateTeamFromTemplateResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CreateTeamFromTemplateResponse + + + + + + + + + + + + + + + + + + WorkflowId + + + GroupId + + + ThreadId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CreateTimeRangeRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CreateTimeRangeRequest + + + + + + + + + + + + + + + End + + + Start + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CustomHandlerPayload + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.CustomHandlerPayload + + + + + + + + + + + + + + + HandlerFullyQualifiedName + + + Payload + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.DateRange + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.DateRange + + + + + + + + + + + + + + + EndDate + + + StartDate + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.DateTimeRange + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.DateTimeRange + + + + + + + + + + + + + + + End + + + Start + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.DefaultHttpErrorResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.DefaultHttpErrorResponse + + + + + + + + + + + + + + + Action + + + Code + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.DelegateAllowedActions + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.DelegateAllowedActions + + + + + + + + + + + + + + + + + + MakeCall + + + ManageSetting + + + ReceiveCall + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.DelegationDetail + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.DelegationDetail + + + + + + + + + + + + Id + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.DeploymentInfo + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.DeploymentInfo + + + + + + + + + + + + + + + + + + + + + HostingProviderFqdn + + + MajorVersion + + + PresenceFqdn + + + RegistrarFqdn + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.Details + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.Details + + + + + + + + + + + + + + + + + + Code + + + Message + + + Target + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.DiagnosticRecord + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.DiagnosticRecord + + + + + + + + + + + + + + + Level + + + Message + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.Diagnostics + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.Diagnostics + + + + + + + + + + + + + + + + + + + + + + + + + + + Code + + + CorrelationId + + + DebugContent + + + GenevaLogsUrl + + + Reason + + + SubCode + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.DialPlanRulesTestBody + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.DialPlanRulesTestBody + + + + + + + + + + + + + + + + + + EffectiveTenantDialPlanName + + + Identity + + + TenantScopeOnly + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.DialPlanTestResult + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.DialPlanTestResult + + + + + + + + + + + + + + + MatchingRule + + + TranslatedNumber + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.DialScope + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.DialScope + + + + + + + + + + + + Type + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.DictionaryOfString + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.DictionaryOfString + + + + + + + + + + + + Item + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.DsRequestBody + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.DsRequestBody + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DeploymentName + + + IsValidationRequest + + + ObjectClass + + + ObjectId + + + ObjectIds + + + ReSyncOption + + + ScenariosToSuppress + + + ServiceInstance + + + SynchronizeTenantWithAllObject + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.EffectivePolicy + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.EffectivePolicy + + + + + + + + + + + + + + + + + + PolicyType + + + PolicyName + + + PolicySource + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.EmergencyDisclaimerReturnType + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.EmergencyDisclaimerReturnType + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Content + + + CorrelationId + + + Country + + + IsCurrent + + + IsDebug + + + Locale + + + OriginalUserAgent + + + TargetStore + + + TenantId + + + UserAgent + + + Version + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.EmergencyDisclaimerUserResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.EmergencyDisclaimerUserResponse + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Content + + + CorrelationId + + + Country + + + Locale + + + RespondedByObjectId + + + Response + + + ResponseTimestamp + + + Version + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.EmergencyDisclaimerUserResponseInput + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.EmergencyDisclaimerUserResponseInput + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Content + + + Country + + + ForceAccept + + + Locale + + + RespondedByObjectId + + + Response + + + ResponseTimestamp + + + Version + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.EntityProperty + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.EntityProperty + + + + + + + + + + + + + + + + + + Name + + + Type + + + Value + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ErrorDetailsResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ErrorDetailsResponse + + + + + + + + + + + + + + + + + + Code + + + Message + + + Target + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ErrorObject + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ErrorObject + + + + + + + + + + + + + + + + + + Action + + + Code + + + Message + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ErrorReport + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ErrorReport + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Code + + + CreatedAt + + + Culture + + + ErrorType + + + Id + + + IntermediateIncident + + + Message + + + Operation + + + Parameter + + + Procedure + + + ResolvedAt + + + RevisitIntervalInMinute + + + RevisitedAt + + + ScheduleSequenceNumber + + + Severity + + + TeamId + + + TenantId + + + TotalIncident + + + Ttl + + + WfmConnectorInstanceId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ErrorReportCreate + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ErrorReportCreate + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Code + + + Message + + + Operation + + + Parameter + + + Procedure + + + ReferenceLink + + + RevisitInterval + + + TeamId + + + TenantId + + + Ttl + + + WfmConnectorInstanceId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ErrorReportReferenceLinks + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ErrorReportReferenceLinks + + + + + + + + + + + + Item + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ErrorReportResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ErrorReportResponse + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Code + + + ConnectionId + + + CreatedAt + + + Culture + + + ErrorNotificationSent + + + ErrorType + + + Id + + + IntermediateIncident + + + Message + + + Operation + + + Parameter + + + Procedure + + + ResolvedAt + + + ResolvedNotificationSentOn + + + RevisitIntervalInMinute + + + RevisitedAt + + + ScheduleSequenceNumber + + + Severity + + + TeamId + + + TenantId + + + TotalIncident + + + Ttl + + + WfmConnectorInstanceId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ErrorResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ErrorResponse + + + + + + + + + + + + + + + + + + Action + + + Code + + + Message + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ErrorResponseAutoGenerated + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ErrorResponseAutoGenerated + + + + + + + + + + + + + + + + + + Action + + + Code + + + Message + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ErrorResponseAutoGenerated3 + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ErrorResponseAutoGenerated3 + + + + + + + + + + + + + + + + + + Action + + + Code + + + Message + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ErrorResponseAutoGenerated4 + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ErrorResponseAutoGenerated4 + + + + + + + + + + + + + + + + + + Action + + + Code + + + Message + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ErrorResponseAutoGenerated5 + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ErrorResponseAutoGenerated5 + + + + + + + + + + + + Message + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ExportHolidaysResult + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ExportHolidaysResult + + + + + + + + + + + + SerializedHolidayRecord + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.FileContentDto + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.FileContentDto + + + + + + + + + + + + Content + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.FileItemTemplate + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.FileItemTemplate + + + + + + + + + + + + + + + + + + + + + + + + + + + Id + + + IsFolder + + + Name + + + PreviewUrl + + + Type + + + Url + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.FlwoServiceModelsFlwosBatchRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.FlwoServiceModelsFlwosBatchRequest + + + + + + + + + + + + + + + DeploymentCsv + + + UsersToNotify + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.FlwoServiceModelsFlwosBatchRequestResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.FlwoServiceModelsFlwosBatchRequestResponse + + + + + + + + + + + + + + + ExecutionId + + + InstanceId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ForwardingSettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ForwardingSettings + + + + + + + + + + + + + + + + + + + + + ForwardingType + + + IsEnabled + + + Target + + + TargetType + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.GetApplicationInstanceAssociationResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.GetApplicationInstanceAssociationResponse + + + + + + + + + + + + + + + + + + + + + Id + + + ConfigurationType + + + ConfigurationId + + + CallPriority + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.GetCustomAppSettingResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.GetCustomAppSettingResponse + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IsAppsEnabled + + + IsAppsPurchaseEnabled + + + IsExternalAppsEnabledByDefault + + + IsLicenseBasedPinnedAppsEnabled + + + IsSideloadedAppsInteractionEnabled + + + IsTenantWideAutoInstallEnabled + + + LobBackground + + + LobLogo + + + LobLogomark + + + LobTextColor + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.GetOperationResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.GetOperationResponse + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CreatedDateTime + + + Id + + + LastActionDateTime + + + Status + + + TenantId + + + Type + + + WfmConnectorInstanceId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.GetTeamTemplateStatusResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.GetTeamTemplateStatusResponse + + + + + + + + + + + + Status + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.GetTeamTemplateStatusResponseChannel + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.GetTeamTemplateStatusResponseChannel + + + + + + + + + + + + + + + + + + + + + Index + + + Reference + + + Status + + + UpdateTimestamp + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.GetTeamTemplateStatusResponseItem + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.GetTeamTemplateStatusResponseItem + + + + + + + + + + + + + + + + + + + + + Index + + + Reference + + + Status + + + UpdateTimestamp + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.GrantActionStatus + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.GrantActionStatus + + + + + + + + + + + + + + + + + + Id + + + Result + + + State + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.Group + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.Group + + + + + + + + + + + + + + + DisplayName + + + Id + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.GroupAssignment + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.GroupAssignment + + + + + + + + + + + + + + + + + + + + + + + + + + + GroupId + + + PolicyType + + + PolicyName + + + Priority + + + CreatedTime + + + CreatedBy + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.GroupAssignPayload + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.GroupAssignPayload + + + + + + + + + + + + + + + PolicyName + + + Priority + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.GroupDialScope + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.GroupDialScope + + + + + + + + + + + + GroupId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.GroupGrantPayload + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.GroupGrantPayload + + + + + + + + + + + + + + + PolicyName + + + Priority + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.GroupUpdatePayload + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.GroupUpdatePayload + + + + + + + + + + + + + + + PolicyName + + + Priority + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.HolidayVisualizationRecord + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.HolidayVisualizationRecord + + + + + + + + + + + + + + + Name + + + Year + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.HybridTelephoneNumber + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.HybridTelephoneNumber + + + + + + + + + + + + + + + + + + + + + + + + + + + Id + + + O365Region + + + SourceType + + + TargetType + + + TelephoneNumber + + + UserId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ImportAutoAttendantHolidaysRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ImportAutoAttendantHolidaysRequest + + + + + + + + + + + + + + + + + + Id + + + SerializedHolidayRecord + + + TenantId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ImportHolidayStatus + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ImportHolidayStatus + + + + + + + + + + + + + + + + + + FailureReason + + + Name + + + Succeeded + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.InvitationTicket + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.InvitationTicket + + + + + + + + + + + + + + + Ticket + + + Type + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.KeyValuePairStringItem + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.KeyValuePairStringItem + + + + + + + + + + + + + + + Key + + + Value + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.Language + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.Language + + + + + + + + + + + + + + + + + + DisplayName + + + Id + + + VoiceResponseSupported + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.LicenseAssignmentState + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.LicenseAssignmentState + + + + + + + + + + + + + + + + + + + + + + + + AssignedByGroup + + + DisabledPlan + + + Error + + + SkuId + + + State + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.LobbyBackgroundBrandingModel + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.LobbyBackgroundBrandingModel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + BackgroundImage + + + Id + + + IsDefault + + + Name + + + Status + + + ValidateNewRequest + + + ValidateUpdateRequest + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.LobbyLogoBrandingModel + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.LobbyLogoBrandingModel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Id + + + IsDefault + + + LogoImage + + + Name + + + Status + + + ValidateNewRequest + + + ValidateUpdateRequest + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.LocationInfo + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.LocationInfo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + City + + + CityAlias + + + CivicAddressId + + + CompanyName + + + CompanyTaxId + + + Confidence + + + CountryOrRegion + + + Description + + + Elin + + + HouseNumber + + + HouseNumberSuffix + + + Latitude + + + Location + + + LocationId + + + Longitude + + + NumberOfTelephoneNumber + + + NumberOfVoiceUser + + + PostDirectional + + + PostalCode + + + PreDirectional + + + StateOrProvince + + + StreetName + + + StreetSuffix + + + TenantId + + + ValidationStatus + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.LocationProperties + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.LocationProperties + + + + + + + + + + + + + + + + + + + + + + + + Default + + + InitialDomain + + + Name + + + ServiceInstance + + + ServiceInstance1 + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.LocationSchema + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.LocationSchema + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + City + + + CityAlias + + + CivicAddressId + + + CompanyName + + + CompanyTaxId + + + Confidence + + + CountryOrRegion + + + CountyOrDistrict + + + Description + + + Elin + + + HouseNumber + + + HouseNumberSuffix + + + IsDefault + + + Latitude + + + Location + + + LocationId + + + Longitude + + + NumberOfTelephoneNumbers + + + NumberOfVoiceUsers + + + PartnerId + + + PostDirectional + + + PostalCode + + + PreDirectional + + + StateOrProvince + + + StreetName + + + StreetSuffix + + + TenantId + + + ValidationStatus + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.MasSchemaResultTypes + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.MasSchemaResultTypes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Id + + + IsTombstone + + + TenantId + + + UpdatedBy + + + UserId + + + Version + + + VersionCreatedTime + + + VersionObsoleteTime + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.MasTenantProperties + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.MasTenantProperties + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + C + + + CompanyTag + + + DirSyncEnabled + + + DisabledDomain + + + DisplayName + + + L + + + PostalCode + + + PreferredLanguage + + + SchemaName + + + ServiceInstance + + + St + + + Street + + + TelephoneNumber + + + VerifiedDomain + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.MasUserAuthoredPropsProperties + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.MasUserAuthoredPropsProperties + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + EffectiveDataRegion + + + HostingProvider + + + PartitioningScheme + + + RegistrarPool + + + SchemaName + + + SipAddress + + + SipAddressStatus + + + SipDomain + + + SipEnabled + + + SourceOfAuthority + + + UserCategory + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.MasUserProperties + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.MasUserProperties + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AccountEnabled + + + Department + + + DisplayName + + + GivenName + + + LastSyncTime + + + Mail + + + MailNickname + + + PreferredLanguage + + + ProxyAddress + + + SchemaName + + + ServiceInstance + + + Sn + + + StsRefreshTokensValidFrom + + + Title + + + UsageLocation + + + UserPrincipalName + + + UserType + + + WindowsLiveNetId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.MediaFileDto + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.MediaFileDto + + + + + + + + + + + + + + + + + + ApplicationId + + + GroupId + + + Id + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.MeetingBackgroundImageModel + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.MeetingBackgroundImageModel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Id + + + IsDefault + + + MeetingBackgroundImage + + + Name + + + Order + + + Status + + + ValidateNewRequest + + + ValidateUpdateRequest + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.MeetingMigrationStateSummary + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.MeetingMigrationStateSummary + + + + + + + + + + + + + + + State + + + UserCount + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.MeetingMigrationStatusResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.MeetingMigrationStatusResponse + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CorrelationId + + + CreateDate + + + FailedMeeting + + + InvitesUpdate + + + LastMessage + + + MigrationType + + + ModifiedDate + + + RetryCount + + + State + + + SucceededMeeting + + + TotalMeeting + + + UserId + + + UserPrincipalName + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.MeetingMigrationStatusSummaryResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.MeetingMigrationStatusSummaryResponse + + + + + + + + + + + + MigrationType + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.MeetingMigrationTransactionHistoryResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.MeetingMigrationTransactionHistoryResponse + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CorrelationId + + + FailedMeeting + + + InternalErrorMessage + + + InvitesUpdated + + + LastErrorMessage + + + ModifiedDate + + + Operation + + + State + + + SucceededMeeting + + + TotalMeeting + + + TriggerSource + + + UserId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.Menu + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.Menu + + + + + + + + + + + + + + + + + + DialByNameEnabled + + + DirectorySearchMethod + + + Name + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.MenuOption + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.MenuOption + + + + + + + + + + + + + + + + + + Action + + + DtmfResponse + + + VoiceResponse + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.MigrationData + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.MigrationData + + + + + + + + + + + + Datastr + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.NdiAssuranceSlateModel + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.NdiAssuranceSlateModel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Id + + + IsDefault + + + Name + + + NdiImage + + + Status + + + ValidateNewRequest + + + ValidateUpdateRequest + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.NewCivicAddress + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.NewCivicAddress + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CityOrTown + + + CityOrTownAlias + + + CompanyId + + + CompanyName + + + Confidence + + + Country + + + Description + + + Elin + + + HouseNumber + + + HouseNumberSuffix + + + Latitude + + + Longitude + + + PostDirectional + + + PostalOrZipCode + + + PreDirectional + + + StateOrProvince + + + StreetName + + + StreetSuffix + + + ValidationStatus + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.NewLocation + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.NewLocation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AdditionalInfo + + + CityOrTown + + + CityOrTownAlias + + + CivicAddressId + + + CompanyId + + + CompanyName + + + Confidence + + + Country + + + CountyOrDistrict + + + Description + + + Elin + + + HouseNumber + + + HouseNumberSuffix + + + IsDefault + + + Latitude + + + Longitude + + + PartnerId + + + PostDirectional + + + PostalOrZipCode + + + PreDirectional + + + StateOrProvince + + + StreetName + + + StreetSuffix + + + TenantId + + + ValidationStatus + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.NormalizationRuleForTest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.NormalizationRuleForTest + + + + + + + + + + + + + + + + + + Name + + + Pattern + + + Translation + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.OboResourceAccountInfo + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.OboResourceAccountInfo + + + + + + + + + + + + + + + + + + DisplayName + + + ObjectId + + + PhoneNumber + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.OnlineNumberAssignmentRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.OnlineNumberAssignmentRequest + + + + + + + + + + + + TelephoneNumber + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.OperationResponseDetail + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.OperationResponseDetail + + + + + + + + + + + + + + + Error + + + Status + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.OperationResponseDetailProperties + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.OperationResponseDetailProperties + + + + + + + + + + + + Item + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.OperationResult + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.OperationResult + + + + + + + + + + + + Message + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.OperationResultAutoGenerated + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.OperationResultAutoGenerated + + + + + + + + + + + + Id + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PackageServiceModelsApplyPackageGroupRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PackageServiceModelsApplyPackageGroupRequest + + + + + + + + + + + + + + + GroupId + + + PackageName + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PackageServiceModelsApplyPackageGroupResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PackageServiceModelsApplyPackageGroupResponse + + + + + + + + + + + + ResponseMessage + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PackageServiceModelsBatchPostPackageResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PackageServiceModelsBatchPostPackageResponse + + + + + + + + + + + + + + + OperationId + + + ResponseMessage + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PackageServiceModelsCreateCustomPackageRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PackageServiceModelsCreateCustomPackageRequest + + + + + + + + + + + + + + + Description + + + PackageName + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PackageServiceModelsCustomPackageResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PackageServiceModelsCustomPackageResponse + + + + + + + + + + + + ResponseMessage + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PackageServiceModelsFormattedPackageRecommendation + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PackageServiceModelsFormattedPackageRecommendation + + + + + + + + + + + + + + + + + + Name + + + Description + + + RecommendationType + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PackageServiceModelsFormattedPackageSummary + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PackageServiceModelsFormattedPackageSummary + + + + + + + + + + + + + + + Name + + + Description + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PackageServiceModelsPackageResponseBase + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PackageServiceModelsPackageResponseBase + + + + + + + + + + + + ResponseMessage + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PackageServiceModelsPostPackageBatchRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PackageServiceModelsPostPackageBatchRequest + + + + + + + + + + + + + + + PackageType + + + UserId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PackageServiceModelsPostPackageResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PackageServiceModelsPostPackageResponse + + + + + + + + + + + + ResponseMessage + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PackageServiceModelsPostPackageResponseFailedUserErrorMessages + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PackageServiceModelsPostPackageResponseFailedUserErrorMessages + + + + + + + + + + + + LegacyUser + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PackageServiceModelsRequestsPolicyRanking + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PackageServiceModelsRequestsPolicyRanking + + + + + + + + + + + + + + + PolicyType + + + Rank + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PackageServiceModelsRequestsPolicyTypeAndName + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PackageServiceModelsRequestsPolicyTypeAndName + + + + + + + + + + + + + + + PolicyName + + + PolicyType + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PackageServiceModelsUpdateCustomPackageRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PackageServiceModelsUpdateCustomPackageRequest + + + + + + + + + + + + + + + Description + + + PackageName + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PartitionMovementError + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PartitionMovementError + + + + + + + + + + + + + + + ErrorCode + + + Message + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PartitionMovementRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PartitionMovementRequest + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + BasePartitionKey + + + BatchSize + + + ContainerName + + + NumberOfDocument + + + PercentageOfPartition + + + SourcePartitionKey + + + TargetPartitionKey + + + Workload + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PasswordProfile + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PasswordProfile + + + + + + + + + + + + + + + + + + EnforceChangePasswordPolicy + + + ForceChangePasswordNextLogin + + + Password + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PolicyDefinition + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PolicyDefinition + + + + + + + + + + + + + + + PolicyName + + + PolicyType + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PortRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PortRequest + + + + + + + + + + + + + + + + + + + + + ChassisId + + + Description + + + LocationId + + + PortId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PortResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PortResponse + + + + + + + + + + + + + + + + + + + + + ChassisId + + + Description + + + LocationId + + + PortId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PrivacyProfile + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PrivacyProfile + + + + + + + + + + + + + + + ContactEmail + + + StatementUrl + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ProcessingException + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ProcessingException + + + + + + + + + + + + + + + + + + CorrelationId + + + ErrorId + + + Message + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.Prompt + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.Prompt + + + + + + + + + + + + + + + ActiveType + + + TextToSpeechPrompt + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.RehomeUserRequestBody + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.RehomeUserRequestBody + + + + + + + + + + + + + + + MoveToCloud + + + UserSipUri + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.RemoveApplicationInstanceAssociationsRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.RemoveApplicationInstanceAssociationsRequest + + + + + + + + + + + + EndpointsId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ResourceStatusRecord + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ResourceStatusRecord + + + + + + + + + + + + + + + + + + + + + + + + + + + AuxiliaryData + + + ErrorCode + + + Id + + + Message + + + Status + + + StatusTimestamp + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ResyncRequestBody + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ResyncRequestBody + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DeploymentName + + + IsValidationRequest + + + ObjectClass + + + ObjectId + + + ReSyncOption + + + ScenariosToSuppress + + + ServiceInstance + + + SynchronizeTenantWithAllObject + + + TenantId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SafeWaitHandle + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SafeWaitHandle + + + + + + + + + + + + + + + IsClosed + + + IsInvalid + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.Schedule + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.Schedule + + + + + + + + + + + + + + + + + + + + + AssociatedConfigurationId + + + Id + + + Name + + + Type + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ScheduleRecurrenceRange + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ScheduleRecurrenceRange + + + + + + + + + + + + + + + + + + + + + End + + + NumberOfOccurrence + + + Start + + + Type + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SdgBulkSignInBatchStatusItem + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SdgBulkSignInBatchStatusItem + + + + + + + + + + + + + + + + + + + + + Error + + + HardwareId + + + Status + + + UserName + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SdgBulkSignInRequestItem + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SdgBulkSignInRequestItem + + + + + + + + + + + + + + + HardwareId + + + UserName + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SdgBulkSignInRequestsSummaryResponseItem + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SdgBulkSignInRequestsSummaryResponseItem + + + + + + + + + + + + + + + + + + + + + + + + + + + BatchId + + + BatchItemsCount + + + BatchStatus + + + Region + + + RequestTime + + + UserId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SdgBulkSignInRequestStatusResult + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SdgBulkSignInRequestStatusResult + + + + + + + + + + + + + + + + + + + + + + + + BatchId + + + BatchStatus + + + Region + + + RequestTime + + + UserId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SdgBulkSignInResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SdgBulkSignInResponse + + + + + + + + + + + + + + + BatchId + + + BatchItemsCount + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SdgDeviceTaggingRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SdgDeviceTaggingRequest + + + + + + + + + + + + + + + + + + + + + + + + HardwareId + + + IcmId + + + OceUserName + + + SdhRegion + + + TenantId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SdgDeviceTaggingResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SdgDeviceTaggingResponse + + + + + + + + + + + + + + + CorrelationId + + + Status + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SdgDeviceTransferResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SdgDeviceTransferResponse + + + + + + + + + + + + Message + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SdgErrorResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SdgErrorResponse + + + + + + + + + + + + + + + ErrorCode + + + Message + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SdgUnauthorizedAccessErrorResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SdgUnauthorizedAccessErrorResponse + + + + + + + + + + + + + + + + + + Action + + + Code + + + Message + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SelfServePasswordResetData + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SelfServePasswordResetData + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AlternateAuthenticationPhoneRegisteredTime + + + AlternateEmailRegisteredTime + + + AuthenticationEmailRegisteredTime + + + AuthenticationPhoneRegisteredTime + + + DeferralCount + + + DeferredTime + + + LastRegisteredTime + + + MobilePhoneRegisteredTime + + + ReinforceAfterTime + + + SecurityAnswersRegisteredTime + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ServiceAttributesPropertiesPublishedAttributesSfbServiceAttributes + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ServiceAttributesPropertiesPublishedAttributesSfbServiceAttributes + + + + + + + + + + + + + + + + + + + + + ApplicationOption + + + DeploymentLocator + + + HideFromAddressList + + + OptionFlag + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ServiceInfoDetail + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ServiceInfoDetail + + + + + + + + + + + + + + + + + + + + + BusinessVoiceDirectoryUrl + + + HostingProvider + + + ServiceInstance + + + TenantMajorRegistrarPool + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ServiceNumberUpdateRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ServiceNumberUpdateRequest + + + + + + + + + + + + + + + + + + PrimaryLanguage + + + RestoreDefaultLanguage + + + SecondaryLanguage + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SetCivicAddress + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SetCivicAddress + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CityAlias + + + CityOrTown + + + CompanyName + + + CompanyTaxId + + + Confidence + + + Country + + + Description + + + Elin + + + HouseNumber + + + HouseNumberSuffix + + + Id + + + Latitude + + + Longitude + + + PostDirectional + + + PostalCode + + + PreDirectional + + + StateOrProvince + + + StreetName + + + StreetSuffix + + + ValidationStatus + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SetLocation + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SetLocation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AdditionalInfo + + + CityOrTown + + + CityOrTownAlias + + + CivicAddressId + + + CompanyId + + + CompanyName + + + Confidence + + + Country + + + CountyOrDistrict + + + Description + + + Elin + + + HouseNumber + + + HouseNumberSuffix + + + Id + + + IsDefault + + + Latitude + + + Longitude + + + NumberOfTelephoneNumber + + + NumberOfVoiceUser + + + PartnerId + + + PostDirectional + + + PostalOrZipCode + + + PreDirectional + + + StateOrProvince + + + StreetName + + + StreetSuffix + + + TenantId + + + ValidationStatus + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SetMovedResourceDataRequestBody + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SetMovedResourceDataRequestBody + + + + + + + + + + + + + + + MajorVersion + + + UserSipUri + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SimpleBatchJobStatus + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SimpleBatchJobStatus + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OperationId + + + OperationName + + + OverallStatus + + + CreatedBy + + + CreatedTime + + + CompletedTime + + + CompletedCount + + + ErrorCount + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SingleGrantTenantRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SingleGrantTenantRequest + + + + + + + + + + + + + + + ForceSwitchPresent + + + PolicyName + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SingleGrantUserRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SingleGrantUserRequest + + + + + + + + + + + + PolicyName + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SkypeTelephoneNumberMgmtAvailabilityInfo + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SkypeTelephoneNumberMgmtAvailabilityInfo + + + + + + + + + + + + + + + + + + + + + + + + Acquired + + + Allowed + + + MaximumSearchSize + + + Reason + + + SearchAvailability + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SkypeTelephoneNumberMgmtCmdletAcquiredTelephoneNumber + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SkypeTelephoneNumberMgmtCmdletAcquiredTelephoneNumber + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ActivationState + + + AssignedPstnTargetId + + + AssignmentCategory + + + Capability + + + City + + + CivicAddressId + + + IsoCountryCode + + + IsoSubdivision + + + LocationId + + + LocationUpdateSupported + + + NetworkSiteId + + + NumberSource + + + NumberType + + + OperatorId + + + PortInOrderStatus + + + PstnAssignmentStatus + + + PstnPartnerId + + + PstnPartnerName + + + ReverseNumberLookup + + + TelephoneNumber + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SkypeTelephoneNumberMgmtCmdletCreateSearchOrderRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SkypeTelephoneNumberMgmtCmdletCreateSearchOrderRequest + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AreaCode + + + CivicAddressId + + + Country + + + Description + + + Name + + + NumberPrefix + + + NumberType + + + Quantity + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SkypeTelephoneNumberMgmtCmdletReleaseOrderResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SkypeTelephoneNumberMgmtCmdletReleaseOrderResponse + + + + + + + + + + + + + + + + + + + + + + + + NumberIdsAssigned + + + NumberIdsDeleteFailed + + + NumberIdsDeleted + + + NumberIdsManagedByServiceDesk + + + NumberIdsNotOwnedByTenant + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SkypeTelephoneNumberMgmtCmdletReleaseRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SkypeTelephoneNumberMgmtCmdletReleaseRequest + + + + + + + + + + + + TelephoneNumber + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SkypeTelephoneNumberMgmtCmdletSearchOrder + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SkypeTelephoneNumberMgmtCmdletSearchOrder + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AreaCode + + + CivicAddressId + + + CountryCode + + + CreatedAt + + + Description + + + ErrorCode + + + Id + + + InventoryType + + + IsManual + + + Name + + + NumberPrefix + + + NumberType + + + Quantity + + + ReservationExpiryDate + + + SearchType + + + SendToServiceDesk + + + Status + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SkypeTelephoneNumberMgmtCmdletsSetResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SkypeTelephoneNumberMgmtCmdletsSetResponse + + + + + + + + + + + + Message + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SkypeTelephoneNumberMgmtCountry + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SkypeTelephoneNumberMgmtCountry + + + + + + + + + + + + + + + Name + + + Value + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SkypeTelephoneNumberMgmtCreateSearchOrderResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SkypeTelephoneNumberMgmtCreateSearchOrderResponse + + + + + + + + + + + + Id + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SkypeTelephoneNumberMgmtErrorResponseDetails + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SkypeTelephoneNumberMgmtErrorResponseDetails + + + + + + + + + + + + + + + Code + + + Message + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SkypeTelephoneNumberMgmtPrefixSearchOptions + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SkypeTelephoneNumberMgmtPrefixSearchOptions + + + + + + + + + + + + + + + CountryCallingCode + + + MinimumPrefixLength + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SkypeTelephoneNumberMgmtTelephoneNumberSearchResult + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SkypeTelephoneNumberMgmtTelephoneNumberSearchResult + + + + + + + + + + + + + + + Location + + + TelephoneNumber + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SkypeTelephoneNumberMgmtUpdateSearchOrderRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SkypeTelephoneNumberMgmtUpdateSearchOrderRequest + + + + + + + + + + + + Action + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SourceEntry + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SourceEntry + + + + + + + + + + + + + + + + + + + + + AssignmentType + + + PolicyType + + + PolicyName + + + Reference + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.StartMeetingMigrationEnqueueResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.StartMeetingMigrationEnqueueResponse + + + + + + + + + + + + OperationId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.StartMeetingMigrationRequestBody + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.StartMeetingMigrationRequestBody + + + + + + + + + + + + + + + + + + Identity + + + SourceMeetingType + + + TargetMeetingType + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.StatusRecord + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.StatusRecord + + + + + + + + + + + + + + + + + + AuxiliaryData + + + Message + + + WarningCode + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.StatusRecord2 + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.StatusRecord2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AuxiliaryData + + + ErrorCode + + + Id + + + Message + + + Status + + + StatusTimestamp + + + Type + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.StatusRecord3 + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.StatusRecord3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AuxiliaryData + + + ErrorCode + + + Id + + + Message + + + Status + + + StatusTimestamp + + + Type + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SubnetResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SubnetResponse + + + + + + + + + + + + + + + + + + Description + + + LocationId + + + Subnet + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SupportedLanguage + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SupportedLanguage + + + + + + + + + + + + + + + Code + + + Name + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SupportedSyncScenarios + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SupportedSyncScenarios + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OfferShiftRequest + + + OpenShift + + + OpenShiftRequest + + + Shift + + + SwapRequest + + + TimeCard + + + TimeOff + + + TimeOffRequest + + + UserShiftPreference + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SwitchResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SwitchResponse + + + + + + + + + + + + + + + + + + ChassisId + + + Description + + + LocationId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SyncScenarioSettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SyncScenarioSettings + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OfferShiftRequest + + + OpenShift + + + OpenShiftRequest + + + Shift + + + SwapRequest + + + TimeCard + + + TimeOff + + + TimeOffRequest + + + UserShiftPreference + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TagErrorObject + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TagErrorObject + + + + + + + + + + + + + + + + + + Action + + + Code + + + Message + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.Target + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.Target + + + + + + + + + + + + + + + Id + + + Type + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TeamConnectResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TeamConnectResponse + + + + + + + + + + + + + + + + + + + + + + + + + + + State + + + TeamId + + + TeamName + + + TimeZone + + + WfmTeamId + + + WfmTeamName + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TeamConnectsResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TeamConnectsResponse + + + + + + + + + + + + + + + + + + + + + CreatedDateTime + + + LastActionDateTime + + + OperationId + + + Status + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TeamDefinition + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TeamDefinition + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Alias + + + Classification + + + Description + + + DisplayName + + + IsDynamicMembership + + + IsMembershipLimitedToOwner + + + OwnerUserObjectId + + + SensitivityLabelId + + + SmtpAddress + + + Specialization + + + Visibility + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TeamDiscoverySettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TeamDiscoverySettings + + + + + + + + + + + + ShowInTeamsSearchAndSuggestion + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TeamFunSettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TeamFunSettings + + + + + + + + + + + + + + + + + + + + + AllowCustomMeme + + + AllowGiphy + + + AllowStickersAndMeme + + + GiphyContentRating + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TeamGuestSettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TeamGuestSettings + + + + + + + + + + + + + + + AllowCreateUpdateChannel + + + AllowDeleteChannel + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TeamMapping + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TeamMapping + + + + + + + + + + + + + + + + + + TeamId + + + TimeZone + + + WfmTeamId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TeamMemberSettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TeamMemberSettings + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AllowAddRemoveApp + + + AllowCreatePrivateChannel + + + AllowCreateUpdateChannel + + + AllowCreateUpdateRemoveConnector + + + AllowCreateUpdateRemoveTab + + + AllowDeleteChannel + + + UploadCustomApp + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TeamMessagingSettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TeamMessagingSettings + + + + + + + + + + + + + + + + + + + + + + + + AllowChannelMention + + + AllowOwnerDeleteMessage + + + AllowTeamMention + + + AllowUserDeleteMessage + + + AllowUserEditMessage + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TeamMiddletierErrorResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TeamMiddletierErrorResponse + + + + + + + + + + + + OperationId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TeamsAppTemplate + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TeamsAppTemplate + + + + + + + + + + + + Id + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TeamsData + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TeamsData + + + + + + + + + + + + + + + + + + CheckCpc + + + CheckEnterpriseVoice + + + MoveToTeam + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TeamsTabConfiguration + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TeamsTabConfiguration + + + + + + + + + + + + + + + + + + + + + ContentUrl + + + EntityId + + + RemoveUrl + + + WebsiteUrl + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TeamTemplateExtendedProperties + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TeamTemplateExtendedProperties + + + + + + + + + + + + + + + + + + + + + + + + + + + Category + + + ModifiedBy + + + ModifiedOn + + + PublishedBy + + + PublisherUrl + + + ShortDescription + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TeamTemplateSummary + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TeamTemplateSummary + + + + + + 120 + + + + 30 + + + + 30 + + + + 5 + + + + 5 + + + + + + + OdataId + + + Name + + + ShortDescription + + + ChannelCount + + + AppCount + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TenantAudioFileDto + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TenantAudioFileDto + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ApplicationId + + + Id + + + Content + + + ContextId + + + ConvertedFilename + + + DeletionTimestampOffset + + + DownloadUri + + + DownloadUriExpiryTimestampOffset + + + Duration + + + LastAccessedTimestampOffset + + + OriginalFilename + + + UploadedTimestampOffset + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TenantDialPlan + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TenantDialPlan + + + + + + + + + + + + + + + EffectiveTenantDialPlanName + + + NormalizationRule + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TenantInformation + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TenantInformation + + + + + + + + + + + + + + + + + + DefaultLanguage + + + DefaultTimeZone + + + EnabledFeature + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TenantMediaFileDto + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TenantMediaFileDto + + + + + + + + + + + + + + + ApplicationId + + + Id + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TenantMigration + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TenantMigration + + + + + + + + + + + + + + + MoveOption + + + TargetServiceInstance + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TenantMigrationResult + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TenantMigrationResult + + + + + + + + + + + + + + + + + + JobName + + + OrderId + + + TenantId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TenantSipDomainRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TenantSipDomainRequest + + + + + + + + + + + + + + + Action + + + DomainName + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TenantSyncInLyncAdInfo + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TenantSyncInLyncAdInfo + + + + + + + + + + + + + + + + + + + + + + + + + + + IsSyncDisabledAtTenantCreation + + + IsUserSyncDisabled + + + IsUserSyncStateChanging + + + StopSyncRevertCompleteTimestamp + + + StopSyncRevertTimestamp + + + StopSyncTimestamp + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TenantVerifiedSipDomain + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TenantVerifiedSipDomain + + + + + + + + + + + + + + + Name + + + Status + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TestInboundBlockedNumberResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TestInboundBlockedNumberResponse + + + + + + + + + + + + IsNumberBlocked + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TestTeamsTranslationRuleResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TestTeamsTranslationRuleResponse + + + + + + + + + + + + + + + + + + + + + Identity + + + Pattern + + + PhoneNumberTranslated + + + Translation + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TestUnassignedNumberTreatmentResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TestUnassignedNumberTreatmentResponse + + + + + + + + + + + + + + + + + + + + + + + + + + + Description + + + Pattern + + + Priority + + + Target + + + TargetType + + + TreatmentId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TimeRange + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TimeRange + + + + + + + + + + + + + + + End + + + Start + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TimeZone + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TimeZone + + + + + + + + + + + + + + + DisplayName + + + Id + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UnansweredSettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UnansweredSettings + + + + + + + + + + + + + + + + + + + + + Delay + + + IsEnabled + + + Target + + + TargetType + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UpdateCallQueueRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UpdateCallQueueRequest + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AgentAlertTime + + + AllowOptOut + + + AuthorizedUser + + + CallToAgentRatioThresholdBeforeOfferingCallback + + + CallbackEmailNotificationTarget + + + CallbackOfferAudioFilePromptResourceId + + + CallbackOfferTextToSpeechPrompt + + + CallbackRequestDtmf + + + ConferenceMode + + + DistributionList + + + EnableNoAgentSharedVoicemailSystemPromptSuppression + + + EnableNoAgentSharedVoicemailTranscription + + + EnableOverflowSharedVoicemailSystemPromptSuppression + + + EnableOverflowSharedVoicemailTranscription + + + EnableResourceAccountsForObo + + + EnableTimeoutSharedVoicemailSystemPromptSuppression + + + EnableTimeoutSharedVoicemailTranscription + + + HideAuthorizedUser + + + IsCallbackEnabled + + + LanguageId + + + MusicOnHoldAudioFileId + + + Name + + + NoAgentAction + + + NoAgentActionCallPriority + + + NoAgentActionTarget + + + NoAgentApplyTo + + + NoAgentDisconnectAudioFilePrompt + + + NoAgentDisconnectTextToSpeechPrompt + + + NoAgentRedirectPersonAudioFilePrompt + + + NoAgentRedirectPersonTextToSpeechPrompt + + + NoAgentRedirectPhoneNumberAudioFilePrompt + + + NoAgentRedirectPhoneNumberTextToSpeechPrompt + + + NoAgentRedirectVoiceAppAudioFilePrompt + + + NoAgentRedirectVoiceAppTextToSpeechPrompt + + + NoAgentRedirectVoicemailAudioFilePrompt + + + NoAgentRedirectVoicemailTextToSpeechPrompt + + + NoAgentSharedVoicemailAudioFilePrompt + + + NoAgentSharedVoicemailTextToSpeechPrompt + + + NumberOfCallsInQueueBeforeOfferingCallback + + + OboResourceAccountId + + + OverflowAction + + + OverflowActionCallPriority + + + OverflowActionTarget + + + OverflowDisconnectAudioFilePrompt + + + OverflowDisconnectTextToSpeechPrompt + + + OverflowRedirectPersonAudioFilePrompt + + + OverflowRedirectPersonTextToSpeechPrompt + + + OverflowRedirectPhoneNumberAudioFilePrompt + + + OverflowRedirectPhoneNumberTextToSpeechPrompt + + + OverflowRedirectVoiceAppAudioFilePrompt + + + OverflowRedirectVoiceAppTextToSpeechPrompt + + + OverflowRedirectVoicemailAudioFilePrompt + + + OverflowRedirectVoicemailTextToSpeechPrompt + + + OverflowSharedVoicemailAudioFilePrompt + + + OverflowSharedVoicemailTextToSpeechPrompt + + + OverflowThreshold + + + PresenceAwareRouting + + + RoutingMethod + + + ServiceLevelThresholdResponseTimeInSecond + + + ShouldOverwriteCallableChannelProperty + + + ThreadId + + + TimeoutAction + + + TimeoutActionCallPriority + + + TimeoutActionTarget + + + TimeoutDisconnectAudioFilePrompt + + + TimeoutDisconnectTextToSpeechPrompt + + + TimeoutRedirectPersonAudioFilePrompt + + + TimeoutRedirectPersonTextToSpeechPrompt + + + TimeoutRedirectPhoneNumberAudioFilePrompt + + + TimeoutRedirectPhoneNumberTextToSpeechPrompt + + + TimeoutRedirectVoiceAppAudioFilePrompt + + + TimeoutRedirectVoiceAppTextToSpeechPrompt + + + TimeoutRedirectVoicemailAudioFilePrompt + + + TimeoutRedirectVoicemailTextToSpeechPrompt + + + TimeoutSharedVoicemailAudioFilePrompt + + + TimeoutSharedVoicemailTextToSpeechPrompt + + + TimeoutThreshold + + + UseDefaultMusicOnHold + + + User + + + WaitTimeBeforeOfferingCallbackInSecond + + + WelcomeMusicAudioFileId + + + WelcomeTextToSpeechPrompt + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UpdateConnectorInstanceFieldsRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UpdateConnectorInstanceFieldsRequest + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ConnectionId + + + ConnectorAdminEmail + + + DesignatedActorId + + + Etag + + + Name + + + State + + + SyncFrequencyInMin + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UpdateConnectorInstanceRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UpdateConnectorInstanceRequest + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ConnectionId + + + ConnectorAdminEmail + + + DesignatedActorId + + + Etag + + + Name + + + State + + + SyncFrequencyInMin + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UpdateCustomAppSettingRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UpdateCustomAppSettingRequest + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IsAppsEnabled + + + IsAppsPurchaseEnabled + + + IsExternalAppsEnabledByDefault + + + IsLicenseBasedPinnedAppsEnabled + + + IsSideloadedAppsInteractionEnabled + + + IsTenantWideAutoInstallEnabled + + + LobBackground + + + LobLogo + + + LobLogomark + + + LobTextColor + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UpdateGreetingRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UpdateGreetingRequest + + + + + + + + + + + + + + + + + + AudioFilePromptId + + + AudioFilePromptName + + + TextToSpeechPrompt + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UpdateWfmConnectionFieldsRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UpdateWfmConnectionFieldsRequest + + + + + + + + + + + + + + + + + + + + + ConnectorId + + + Etag + + + Name + + + State + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UpdateWfmConnectionRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UpdateWfmConnectionRequest + + + + + + + + + + + + + + + + + + + + + ConnectorId + + + Etag + + + Name + + + State + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UserAdminAuthoredPropsSchemaProperties + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UserAdminAuthoredPropsSchemaProperties + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + EnterpriseVoiceEnabled + + + IsPhoneNumberSynergy + + + LineUri + + + LineUriValidationError + + + OptionFlag + + + PartitioningScheme + + + PolicyAssignment + + + UserEntityType + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UserApiSearchResults + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UserApiSearchResults + + + + + + + + + + + + NextLink + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UserAutoGenerated + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UserAutoGenerated + + + + + + + + + + + + + + + Id + + + Name + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UserConnectResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UserConnectResponse + + + + + + + + + + + + + + + + + + + + + UserId + + + UserName + + + WfmUserId + + + WfmUserName + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UserData + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UserData + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AllowTollFreeDialIn + + + BridgeId + + + BridgeName + + + ResetLeaderPin + + + SendEmail + + + SendEmailToAddress + + + ServiceNumber + + + TollFreeServiceNumber + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UserDelicensingAccelerationPatch + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UserDelicensingAccelerationPatch + + + + + + + + + + + + + + + Action + + + Capability + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UserRoutingSettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UserRoutingSettings + + + + + + + + + + + + SipUri + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UsersDefaultNumberUpdateRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UsersDefaultNumberUpdateRequest + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AreaOrState + + + BridgeId + + + BridgeName + + + CapitalOrMajorCity + + + CountryOrRegion + + + FromNumber + + + NumberType + + + RescheduleMeeting + + + ToNumber + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UserSipUriRequestBody + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UserSipUriRequestBody + + + + + + + + + + + + UserSipUri + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UserVoiceState + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.UserVoiceState + + + + + + + + + + + + + + + + + + + + + LineUri + + + OptionFlag + + + PolicyAssignment + + + UsageLocation + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ValidateUserRequestBody + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ValidateUserRequestBody + + + + + + + + + + + + + + + + + + + + + CmdletVersion + + + Force + + + MoveToCloud + + + UserSipUri + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ValidationBatchParameters + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ValidationBatchParameters + + + + + + + + + + + + UserId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ValidationParameters + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ValidationParameters + + + + + + + + + + + + + + + + + + + + + Authority + + + PolicyName + + + PolicyType + + + UserId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ValidationPolicyDefinition + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ValidationPolicyDefinition + + + + + + + + + + + + + + + PolicyName + + + PolicyType + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.Voice + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.Voice + + + + + + + + + + + + + + + Id + + + Name + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.VoicemailSettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.VoicemailSettings + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CallAnswerRule + + + DefaultGreetingPromptOverwrite + + + DefaultOofGreetingPromptOverwrite + + + OofGreetingEnabled + + + OofGreetingFollowAutomaticRepliesEnabled + + + PromptLanguage + + + ShareData + + + TransferTarget + + + VoicemailEnabled + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.VoiceNormalizationTestResult + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.VoiceNormalizationTestResult + + + + + + + + + + + + TranslatedNumber + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.WaPResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.WaPResponse + + + + + + + + + + + + + + + + + + Bssid + + + Description + + + LocationId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.WeeklyRecurrentSchedule + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.WeeklyRecurrentSchedule + + + + + + + + + + + + IsComplemented + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.WfmConnectionRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.WfmConnectionRequest + + + + + + + + + + + + + + + + + + ConnectorId + + + Name + + + State + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.WfmConnectionResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.WfmConnectionResponse + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ConnectorId + + + CreatedDateTime + + + Etag + + + Id + + + LastModifiedDateTime + + + Name + + + State + + + TenantId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.WfmConnectorResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.WfmConnectorResponse + + + + + + + + + + + + + + + Id + + + Name + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.WfmTeam + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.WfmTeam + + + + + + + + + + + + + + + Id + + + Name + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.WfmTeamResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.WfmTeamResponse + + + + + + + + + + + + + + + + + + + + + ConnectorInstanceId + + + Id + + + Name + + + TeamId + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.WorkflowResponse + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.WorkflowResponse + + + + + + + + + + + + WorkflowId + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.ConfigAPI.Cmdlets.psd1 b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.ConfigAPI.Cmdlets.psd1 new file mode 100644 index 000000000000..3c4d28ed12b1 --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.ConfigAPI.Cmdlets.psd1 @@ -0,0 +1,245 @@ +@{ + GUID = '82b0bf19-c5cd-4c30-8db4-b458a4b84495' + RootModule = './Microsoft.Teams.ConfigAPI.Cmdlets.psm1' + ModuleVersion = '7.0612.1' + CompatiblePSEditions = 'Core', 'Desktop' + Author="Microsoft Corporation" + CompanyName="Microsoft Corporation" + Copyright="Copyright (c) Microsoft Corporation. All rights reserved." + Description="Microsoft Teams Configuration PowerShell module" + PowerShellVersion = '5.1' + DotNetFrameworkVersion = '4.7.2' + FormatsToProcess = @( + './Microsoft.Teams.ConfigAPI.Cmdlets.custom.format.ps1xml', + './Microsoft.Teams.ConfigAPI.Cmdlets.format.ps1xml', + './SfbRpsModule.format.ps1xml') + CmdletsToExport = '*' + FunctionsToExport = '*' + AliasesToExport = '*' + PrivateData = @{ + PSData = @{ + # For dev test set Prerelease to preview. This will ensure devtest module get all preview ECS features. + Prerelease = 'preview' + Tags = '' + LicenseUri = '' + ProjectUri = '' + ReleaseNotes = '' + } + } +} + +# SIG # Begin signature block +# MIInzgYJKoZIhvcNAQcCoIInvzCCJ7sCAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCB34fnntnbnOpKj +# ERgSXBcs1HwKlYJK3mJR5LTK7yDhpaCCDYUwggYDMIID66ADAgECAhMzAAADri01 +# UchTj1UdAAAAAAOuMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMjMxMTE2MTkwODU5WhcNMjQxMTE0MTkwODU5WjB0MQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +# AQD0IPymNjfDEKg+YyE6SjDvJwKW1+pieqTjAY0CnOHZ1Nj5irGjNZPMlQ4HfxXG +# yAVCZcEWE4x2sZgam872R1s0+TAelOtbqFmoW4suJHAYoTHhkznNVKpscm5fZ899 +# QnReZv5WtWwbD8HAFXbPPStW2JKCqPcZ54Y6wbuWV9bKtKPImqbkMcTejTgEAj82 +# 6GQc6/Th66Koka8cUIvz59e/IP04DGrh9wkq2jIFvQ8EDegw1B4KyJTIs76+hmpV +# M5SwBZjRs3liOQrierkNVo11WuujB3kBf2CbPoP9MlOyyezqkMIbTRj4OHeKlamd +# WaSFhwHLJRIQpfc8sLwOSIBBAgMBAAGjggGCMIIBfjAfBgNVHSUEGDAWBgorBgEE +# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUhx/vdKmXhwc4WiWXbsf0I53h8T8w +# VAYDVR0RBE0wS6RJMEcxLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh +# dGlvbnMgTGltaXRlZDEWMBQGA1UEBRMNMjMwMDEyKzUwMTgzNjAfBgNVHSMEGDAW +# gBRIbmTlUAXTgqoXNzcitW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8v +# d3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIw +# MTEtMDctMDguY3JsMGEGCCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDov +# L3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDEx +# XzIwMTEtMDctMDguY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIB +# AGrJYDUS7s8o0yNprGXRXuAnRcHKxSjFmW4wclcUTYsQZkhnbMwthWM6cAYb/h2W +# 5GNKtlmj/y/CThe3y/o0EH2h+jwfU/9eJ0fK1ZO/2WD0xi777qU+a7l8KjMPdwjY +# 0tk9bYEGEZfYPRHy1AGPQVuZlG4i5ymJDsMrcIcqV8pxzsw/yk/O4y/nlOjHz4oV +# APU0br5t9tgD8E08GSDi3I6H57Ftod9w26h0MlQiOr10Xqhr5iPLS7SlQwj8HW37 +# ybqsmjQpKhmWul6xiXSNGGm36GarHy4Q1egYlxhlUnk3ZKSr3QtWIo1GGL03hT57 +# xzjL25fKiZQX/q+II8nuG5M0Qmjvl6Egltr4hZ3e3FQRzRHfLoNPq3ELpxbWdH8t +# Nuj0j/x9Crnfwbki8n57mJKI5JVWRWTSLmbTcDDLkTZlJLg9V1BIJwXGY3i2kR9i +# 5HsADL8YlW0gMWVSlKB1eiSlK6LmFi0rVH16dde+j5T/EaQtFz6qngN7d1lvO7uk +# 6rtX+MLKG4LDRsQgBTi6sIYiKntMjoYFHMPvI/OMUip5ljtLitVbkFGfagSqmbxK +# 7rJMhC8wiTzHanBg1Rrbff1niBbnFbbV4UDmYumjs1FIpFCazk6AADXxoKCo5TsO +# zSHqr9gHgGYQC2hMyX9MGLIpowYCURx3L7kUiGbOiMwaMIIHejCCBWKgAwIBAgIK +# YQ6Q0gAAAAAAAzANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNV +# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv +# c29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlm +# aWNhdGUgQXV0aG9yaXR5IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEw +# OTA5WjB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE +# BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYD +# VQQDEx9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG +# 9w0BAQEFAAOCAg8AMIICCgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+la +# UKq4BjgaBEm6f8MMHt03a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc +# 6Whe0t+bU7IKLMOv2akrrnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4D +# dato88tt8zpcoRb0RrrgOGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+ +# lD3v++MrWhAfTVYoonpy4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nk +# kDstrjNYxbc+/jLTswM9sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6 +# A4aN91/w0FK/jJSHvMAhdCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmd +# X4jiJV3TIUs+UsS1Vz8kA/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL +# 5zmhD+kjSbwYuER8ReTBw3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zd +# sGbiwZeBe+3W7UvnSSmnEyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3 +# T8HhhUSJxAlMxdSlQy90lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS +# 4NaIjAsCAwEAAaOCAe0wggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRI +# bmTlUAXTgqoXNzcitW2oynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAL +# BgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBD +# uRQFTuHqp8cx0SOJNDBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jv +# c29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf +# MDNfMjIuY3JsMF4GCCsGAQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3 +# dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf +# MDNfMjIuY3J0MIGfBgNVHSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEF +# BQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1h +# cnljcHMuaHRtMEAGCCsGAQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkA +# YwB5AF8AcwB0AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn +# 8oalmOBUeRou09h0ZyKbC5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7 +# v0epo/Np22O/IjWll11lhJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0b +# pdS1HXeUOeLpZMlEPXh6I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/ +# KmtYSWMfCWluWpiW5IP0wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvy +# CInWH8MyGOLwxS3OW560STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBp +# mLJZiWhub6e3dMNABQamASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJi +# hsMdYzaXht/a8/jyFqGaJ+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYb +# BL7fQccOKO7eZS/sl/ahXJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbS +# oqKfenoi+kiVH6v7RyOA9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sL +# gOppO6/8MO0ETI7f33VtY5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtX +# cVZOSEXAQsmbdlsKgEhr/Xmfwb1tbWrJUnMTDXpQzTGCGZ8wghmbAgEBMIGVMH4x +# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt +# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01p +# Y3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTECEzMAAAOuLTVRyFOPVR0AAAAA +# A64wDQYJYIZIAWUDBAIBBQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQw +# HAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIDYE +# nTHwQTFKi5lJAr/Zl8oEqsUDl5Zg+sY73yaAJvI2MEIGCisGAQQBgjcCAQwxNDAy +# oBSAEgBNAGkAYwByAG8AcwBvAGYAdKEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5j +# b20wDQYJKoZIhvcNAQEBBQAEggEAE06xYkIqIzKaz1UFfyA1gS1WD2c4m2q6B5pi +# XMcSXnz5GD3gU6TVX8YMbQ8uS/f6xhZU8uAGA/WZ4GEi965Vk6DUCOx62DOapUUm +# KTmxa2NpaMYofP2kHKUh5FaBY0kx+Qc/jWliYMItRzrr9L/B9bILZkiKS4HXLs0i +# KyvUqzeQWKA0XJvheqXh4j0NVe7uTenx+fJaamlX4/11wbUtzEdYdKN7XXY989Or +# TlV+F4ZJ7sr3qPim4aato+2gWMjBbjBFx/gW5gXF3o1X2p9hkTs1h8ckaKnYSfCw +# bXmCMMQCNkbUDCP38X3c/gVEoA9TqKwPEJ6ViuJFBhGaMZaxQqGCFykwghclBgor +# BgEEAYI3AwMBMYIXFTCCFxEGCSqGSIb3DQEHAqCCFwIwghb+AgEDMQ8wDQYJYIZI +# AWUDBAIBBQAwggFZBgsqhkiG9w0BCRABBKCCAUgEggFEMIIBQAIBAQYKKwYBBAGE +# WQoDATAxMA0GCWCGSAFlAwQCAQUABCAW70/LRtKhN42fiDjJL3MMGIhJ0nuhfDMw +# //KW45Y7HwIGZlcfxLHvGBMyMDI0MDYxOTExMzEzMC4xNzlaMASAAgH0oIHYpIHV +# MIHSMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH +# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQL +# EyRNaWNyb3NvZnQgSXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsT +# HVRoYWxlcyBUU1MgRVNOOjNCRDQtNEI4MC02OUMzMSUwIwYDVQQDExxNaWNyb3Nv +# ZnQgVGltZS1TdGFtcCBTZXJ2aWNloIIReDCCBycwggUPoAMCAQICEzMAAAHlj2rA +# 8z20C6MAAQAAAeUwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxEzARBgNV +# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv +# c29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAg +# UENBIDIwMTAwHhcNMjMxMDEyMTkwNzM1WhcNMjUwMTEwMTkwNzM1WjCB0jELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9z +# b2Z0IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMg +# VFNTIEVTTjozQkQ0LTRCODAtNjlDMzElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUt +# U3RhbXAgU2VydmljZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKl7 +# 4Drau2O6LLrJO3HyTvO9aXai//eNyP5MLWZrmUGNOJMPwMI08V9zBfRPNcucreIY +# SyJHjkMIUGmuh0rPV5/2+UCLGrN1P77n9fq/mdzXMN1FzqaPHdKElKneJQ8R6cP4 +# dru2Gymmt1rrGcNe800CcD6d/Ndoommkd196VqOtjZFA1XWu+GsFBeWHiez/Pllq +# cM/eWntkQMs0lK0zmCfH+Bu7i1h+FDRR8F7WzUr/7M3jhVdPpAfq2zYCA8ZVLNgE +# izY+vFmgx+zDuuU/GChDK7klDcCw+/gVoEuSOl5clQsydWQjJJX7Z2yV+1KC6G1J +# VqpP3dpKPAP/4udNqpR5HIeb8Ta1JfjRUzSv3qSje5y9RYT/AjWNYQ7gsezuDWM/ +# 8cZ11kco1JvUyOQ8x/JDkMFqSRwj1v+mc6LKKlj//dWCG/Hw9ppdlWJX6psDesQu +# QR7FV7eCqV/lfajoLpPNx/9zF1dv8yXBdzmWJPeCie2XaQnrAKDqlG3zXux9tNQm +# z2L96TdxnIO2OGmYxBAAZAWoKbmtYI+Ciz4CYyO0Fm5Z3T40a5d7KJuftF6CTocc +# c/Up/jpFfQitLfjd71cS+cLCeoQ+q0n0IALvV+acbENouSOrjv/QtY4FIjHlI5zd +# JzJnGskVJ5ozhji0YRscv1WwJFAuyyCMQvLdmPddAgMBAAGjggFJMIIBRTAdBgNV +# HQ4EFgQU3/+fh7tNczEifEXlCQgFOXgMh6owHwYDVR0jBBgwFoAUn6cVXQBeYl2D +# 9OXSZacbUzUZ6XIwXwYDVR0fBFgwVjBUoFKgUIZOaHR0cDovL3d3dy5taWNyb3Nv +# ZnQuY29tL3BraW9wcy9jcmwvTWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUy +# MDIwMTAoMSkuY3JsMGwGCCsGAQUFBwEBBGAwXjBcBggrBgEFBQcwAoZQaHR0cDov +# L3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBUaW1l +# LVN0YW1wJTIwUENBJTIwMjAxMCgxKS5jcnQwDAYDVR0TAQH/BAIwADAWBgNVHSUB +# Af8EDDAKBggrBgEFBQcDCDAOBgNVHQ8BAf8EBAMCB4AwDQYJKoZIhvcNAQELBQAD +# ggIBADP6whOFjD1ad8GkEJ9oLBuvfjndMyGQ9R4HgBKSlPt3pa0XVLcimrJlDnKG +# gFBiWwI6XOgw82hdolDiMDBLLWRMTJHWVeUY1gU4XB8OOIxBc9/Q83zb1c0RWEup +# gC48I+b+2x2VNgGJUsQIyPR2PiXQhT5PyerMgag9OSodQjFwpNdGirna2rpV23EU +# wFeO5+3oSX4JeCNZvgyUOzKpyMvqVaubo+Glf/psfW5tIcMjZVt0elswfq0qJNQg +# oYipbaTvv7xmixUJGTbixYifTwAivPcKNdeisZmtts7OHbAM795ZvKLSEqXiRUjD +# YZyeHyAysMEALbIhdXgHEh60KoZyzlBXz3VxEirE7nhucNwM2tViOlwI7EkeU5hu +# dctnXCG55JuMw/wb7c71RKimZA/KXlWpmBvkJkB0BZES8OCGDd+zY/T9BnTp8si3 +# 6Tql84VfpYe9iHmy7PqqxqMF2Cn4q2a0mEMnpBruDGE/gR9c8SVJ2ntkARy5Sflu +# uJ/MB61yRvT1mUx3lyppO22ePjBjnwoEvVxbDjT1jhdMNdevOuDeJGzRLK9HNmTD +# C+TdZQlj+VMgIm8ZeEIRNF0oaviF+QZcUZLWzWbYq6yDok8EZKFiRR5otBoGLvaY +# FpxBZUE8mnLKuDlYobjrxh7lnwrxV/fMy0F9fSo2JxFmtLgtMIIHcTCCBVmgAwIB +# AgITMwAAABXF52ueAptJmQAAAAAAFTANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UE +# BhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAc +# BgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0 +# IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTAwHhcNMjEwOTMwMTgyMjI1 +# WhcNMzAwOTMwMTgzMjI1WjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu +# Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv +# cmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDCC +# AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAOThpkzntHIhC3miy9ckeb0O +# 1YLT/e6cBwfSqWxOdcjKNVf2AX9sSuDivbk+F2Az/1xPx2b3lVNxWuJ+Slr+uDZn +# hUYjDLWNE893MsAQGOhgfWpSg0S3po5GawcU88V29YZQ3MFEyHFcUTE3oAo4bo3t +# 1w/YJlN8OWECesSq/XJprx2rrPY2vjUmZNqYO7oaezOtgFt+jBAcnVL+tuhiJdxq +# D89d9P6OU8/W7IVWTe/dvI2k45GPsjksUZzpcGkNyjYtcI4xyDUoveO0hyTD4MmP +# frVUj9z6BVWYbWg7mka97aSueik3rMvrg0XnRm7KMtXAhjBcTyziYrLNueKNiOSW +# rAFKu75xqRdbZ2De+JKRHh09/SDPc31BmkZ1zcRfNN0Sidb9pSB9fvzZnkXftnIv +# 231fgLrbqn427DZM9ituqBJR6L8FA6PRc6ZNN3SUHDSCD/AQ8rdHGO2n6Jl8P0zb +# r17C89XYcz1DTsEzOUyOArxCaC4Q6oRRRuLRvWoYWmEBc8pnol7XKHYC4jMYcten +# IPDC+hIK12NvDMk2ZItboKaDIV1fMHSRlJTYuVD5C4lh8zYGNRiER9vcG9H9stQc +# xWv2XFJRXRLbJbqvUAV6bMURHXLvjflSxIUXk8A8FdsaN8cIFRg/eKtFtvUeh17a +# j54WcmnGrnu3tz5q4i6tAgMBAAGjggHdMIIB2TASBgkrBgEEAYI3FQEEBQIDAQAB +# MCMGCSsGAQQBgjcVAgQWBBQqp1L+ZMSavoKRPEY1Kc8Q/y8E7jAdBgNVHQ4EFgQU +# n6cVXQBeYl2D9OXSZacbUzUZ6XIwXAYDVR0gBFUwUzBRBgwrBgEEAYI3TIN9AQEw +# QTA/BggrBgEFBQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9E +# b2NzL1JlcG9zaXRvcnkuaHRtMBMGA1UdJQQMMAoGCCsGAQUFBwMIMBkGCSsGAQQB +# gjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/ +# MB8GA1UdIwQYMBaAFNX2VsuP6KJcYmjRPZSQW9fOmhjEMFYGA1UdHwRPME0wS6BJ +# oEeGRWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01p +# Y1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYB +# BQUHMAKGPmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljUm9v +# Q2VyQXV0XzIwMTAtMDYtMjMuY3J0MA0GCSqGSIb3DQEBCwUAA4ICAQCdVX38Kq3h +# LB9nATEkW+Geckv8qW/qXBS2Pk5HZHixBpOXPTEztTnXwnE2P9pkbHzQdTltuw8x +# 5MKP+2zRoZQYIu7pZmc6U03dmLq2HnjYNi6cqYJWAAOwBb6J6Gngugnue99qb74p +# y27YP0h1AdkY3m2CDPVtI1TkeFN1JFe53Z/zjj3G82jfZfakVqr3lbYoVSfQJL1A +# oL8ZthISEV09J+BAljis9/kpicO8F7BUhUKz/AyeixmJ5/ALaoHCgRlCGVJ1ijbC +# HcNhcy4sa3tuPywJeBTpkbKpW99Jo3QMvOyRgNI95ko+ZjtPu4b6MhrZlvSP9pEB +# 9s7GdP32THJvEKt1MMU0sHrYUP4KWN1APMdUbZ1jdEgssU5HLcEUBHG/ZPkkvnNt +# yo4JvbMBV0lUZNlz138eW0QBjloZkWsNn6Qo3GcZKCS6OEuabvshVGtqRRFHqfG3 +# rsjoiV5PndLQTHa1V1QJsWkBRH58oWFsc/4Ku+xBZj1p/cvBQUl+fpO+y/g75LcV +# v7TOPqUxUYS8vwLBgqJ7Fx0ViY1w/ue10CgaiQuPNtq6TPmb/wrpNPgkNWcr4A24 +# 5oyZ1uEi6vAnQj0llOZ0dFtq0Z4+7X6gMTN9vMvpe784cETRkPHIqzqKOghif9lw +# Y1NNje6CbaUFEMFxBmoQtB1VM1izoXBm8qGCAtQwggI9AgEBMIIBAKGB2KSB1TCB +# 0jELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1Jl +# ZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMk +# TWljcm9zb2Z0IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1U +# aGFsZXMgVFNTIEVTTjozQkQ0LTRCODAtNjlDMzElMCMGA1UEAxMcTWljcm9zb2Z0 +# IFRpbWUtU3RhbXAgU2VydmljZaIjCgEBMAcGBSsOAwIaAxUA942iGuYFrsE4wzWD +# d85EpM6RiwqggYMwgYCkfjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu +# Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv +# cmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDAN +# BgkqhkiG9w0BAQUFAAIFAOocou0wIhgPMjAyNDA2MTkwODIxMDFaGA8yMDI0MDYy +# MDA4MjEwMVowdDA6BgorBgEEAYRZCgQBMSwwKjAKAgUA6hyi7QIBADAHAgEAAgIU +# MjAHAgEAAgISEzAKAgUA6h30bQIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEE +# AYRZCgMCoAowCAIBAAIDB6EgoQowCAIBAAIDAYagMA0GCSqGSIb3DQEBBQUAA4GB +# AFZeHjUZP4Z4u2SdzthhV+nP6G0eup1nDgNVYQfaOEyamlH8LLjTCf/f4yeNmuqP +# JQYU8zeNN5rQK2UJBLCIuENhPXyn1GsCxZHccyS/ZOBKbLmkZ9cU2K4P4Owntn5e +# cqNQNdd4OdHl0AQ2X3vgF05JzP6kv+4AGpq1MxiIN92bMYIEDTCCBAkCAQEwgZMw +# fDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1Jl +# ZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMd +# TWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTACEzMAAAHlj2rA8z20C6MAAQAA +# AeUwDQYJYIZIAWUDBAIBBQCgggFKMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRAB +# BDAvBgkqhkiG9w0BCQQxIgQgv47uCj5QkXT4yWdgP0wN5uuA3Yz51JyF0Zvz1v0c +# t10wgfoGCyqGSIb3DQEJEAIvMYHqMIHnMIHkMIG9BCAVqdP//qjxGFhe2YboEXeb +# 8I/pAof01CwhbxUH9U697TCBmDCBgKR+MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQI +# EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv +# ZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBD +# QSAyMDEwAhMzAAAB5Y9qwPM9tAujAAEAAAHlMCIEIKFipkV/DVpxusVZcZtSUcBg +# 5g8NIUAMTmbSG9mhVjq/MA0GCSqGSIb3DQEBCwUABIICAI5pz0I/PtlyyALDXI1D +# P7avR+h3zRiv5SMFvaEoXvruAzXdXUNekLQ4uvI8SHPYEmxuLsgy4pToEuYaerSG +# k00ej+a7I66wA46XclsusGoKcu7U9HVtfTTidB/c8WQrMpDQIJ1sbtY6vIh7jeIx +# ZS8/BdM5yRXdcpqjiuFngLtlZI8SLSHfTSk6+YxIEBdAljdA5LzeYrRwquOPGhJK +# BTTSckJR5Gs6GhrhNVtF+WI1azwKCVVcPMMH3sZJkaOKK2rIf58E7qwjltuhCD0h +# 0tjbm7dSAO/LRvBsCDmqLJNb7fEnMctjw/4D9mjuKT07mdRMnT3eIta50bwvqOsW +# qBCZvxTyJiqF7aNJF5EyTUNYjtqfBnPrlzBcyrMz96oIB+9kvDJl1JwViwY3NFAU +# 87SZN/qgA8sqADwpLkKfhEfN7SWIDfA5w7LM9NymkQ5NIDnSLFTgYzU3bYZ5O+4C +# QzuXRaPBzpoUXKFM34cEdd51FTaw7QDlJAbgJCNQZ9ASINHCAXzXtaU6xnX4aTdD +# 4lX9uKZhYgMGA4J1BhlhDP8Lm/ODzFCyq0t1rQOFYlv7798zmljkI3nceCWj84uk +# XAdFfh5PMN4Bk4S9zv200pDvRt0Xburbh73FefssYenEvNmM2/n2Se8tk1WtqFZ9 +# Gub9dakVez/n+N3t3IOtCuiI +# SIG # End signature block diff --git a/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.ConfigAPI.Cmdlets.psm1 b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.ConfigAPI.Cmdlets.psm1 new file mode 100644 index 000000000000..0944e5225226 --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.ConfigAPI.Cmdlets.psm1 @@ -0,0 +1,265 @@ +# region Generated + # Load the private module dll + $null = Import-Module -Name (Join-Path $PSScriptRoot './bin/Microsoft.Teams.ConfigAPI.Cmdlets.private.dll') + + # Get the private module's instance + $instance = [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Module]::Instance + + # Load the custom module + $customModulePath = Join-Path $PSScriptRoot './custom/Microsoft.Teams.ConfigAPI.Cmdlets.custom.psm1' + if(Test-Path $customModulePath) { + $null = Import-Module -Name $customModulePath + } + + # Export nothing to clear implicit exports + Export-ModuleMember + + # Export proxy cmdlet scripts + $exportsPath = Join-Path $PSScriptRoot './exports' + $directories = Get-ChildItem -Directory -Path $exportsPath + $profileDirectory = $null + if($instance.ProfileName) { + if(($directories | ForEach-Object { $_.Name }) -contains $instance.ProfileName) { + $profileDirectory = $directories | Where-Object { $_.Name -eq $instance.ProfileName } + } else { + # Don't export anything if the profile doesn't exist for the module + $exportsPath = $null + Write-Warning "Selected Azure profile '$($instance.ProfileName)' does not exist for module '$($instance.Name)'. No cmdlets were loaded." + } + } elseif(($directories | Measure-Object).Count -gt 0) { + # Load the last folder if no profile is selected + $profileDirectory = $directories | Select-Object -Last 1 + } + + if($profileDirectory) { + Write-Information "Loaded Azure profile '$($profileDirectory.Name)' for module '$($instance.Name)'" + $exportsPath = $profileDirectory.FullName + } + + if($exportsPath) { + Get-ChildItem -Path $exportsPath -Recurse -Include '*.ps1' -File | ForEach-Object { . $_.FullName } + $cmdletNames = Get-ScriptCmdlet -ScriptFolder $exportsPath + #Export-ModuleMember -Function $cmdletNames -Alias (Get-ScriptCmdlet -ScriptFolder $exportsPath -AsAlias) + } + + # Finalize initialization of this module + $instance.Init(); + Export-ModuleMember -Function $instance.FunctionsToExport.Split(",") + Write-Information "Loaded Module '$($instance.Name)'" +# endregion + +# SIG # Begin signature block +# MIInvwYJKoZIhvcNAQcCoIInsDCCJ6wCAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCA11zYyqhtEZno0 +# vnR835d32vg185cJKudkjxJ9lgIViKCCDXYwggX0MIID3KADAgECAhMzAAADrzBA +# DkyjTQVBAAAAAAOvMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMjMxMTE2MTkwOTAwWhcNMjQxMTE0MTkwOTAwWjB0MQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +# AQDOS8s1ra6f0YGtg0OhEaQa/t3Q+q1MEHhWJhqQVuO5amYXQpy8MDPNoJYk+FWA +# hePP5LxwcSge5aen+f5Q6WNPd6EDxGzotvVpNi5ve0H97S3F7C/axDfKxyNh21MG +# 0W8Sb0vxi/vorcLHOL9i+t2D6yvvDzLlEefUCbQV/zGCBjXGlYJcUj6RAzXyeNAN +# xSpKXAGd7Fh+ocGHPPphcD9LQTOJgG7Y7aYztHqBLJiQQ4eAgZNU4ac6+8LnEGAL +# go1ydC5BJEuJQjYKbNTy959HrKSu7LO3Ws0w8jw6pYdC1IMpdTkk2puTgY2PDNzB +# tLM4evG7FYer3WX+8t1UMYNTAgMBAAGjggFzMIIBbzAfBgNVHSUEGDAWBgorBgEE +# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQURxxxNPIEPGSO8kqz+bgCAQWGXsEw +# RQYDVR0RBD4wPKQ6MDgxHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEW +# MBQGA1UEBRMNMjMwMDEyKzUwMTgyNjAfBgNVHSMEGDAWgBRIbmTlUAXTgqoXNzci +# tW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8vd3d3Lm1pY3Jvc29mdC5j +# b20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3JsMGEG +# CCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDovL3d3dy5taWNyb3NvZnQu +# Y29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3J0 +# MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIBAISxFt/zR2frTFPB45Yd +# mhZpB2nNJoOoi+qlgcTlnO4QwlYN1w/vYwbDy/oFJolD5r6FMJd0RGcgEM8q9TgQ +# 2OC7gQEmhweVJ7yuKJlQBH7P7Pg5RiqgV3cSonJ+OM4kFHbP3gPLiyzssSQdRuPY +# 1mIWoGg9i7Y4ZC8ST7WhpSyc0pns2XsUe1XsIjaUcGu7zd7gg97eCUiLRdVklPmp +# XobH9CEAWakRUGNICYN2AgjhRTC4j3KJfqMkU04R6Toyh4/Toswm1uoDcGr5laYn +# TfcX3u5WnJqJLhuPe8Uj9kGAOcyo0O1mNwDa+LhFEzB6CB32+wfJMumfr6degvLT +# e8x55urQLeTjimBQgS49BSUkhFN7ois3cZyNpnrMca5AZaC7pLI72vuqSsSlLalG +# OcZmPHZGYJqZ0BacN274OZ80Q8B11iNokns9Od348bMb5Z4fihxaBWebl8kWEi2O +# PvQImOAeq3nt7UWJBzJYLAGEpfasaA3ZQgIcEXdD+uwo6ymMzDY6UamFOfYqYWXk +# ntxDGu7ngD2ugKUuccYKJJRiiz+LAUcj90BVcSHRLQop9N8zoALr/1sJuwPrVAtx +# HNEgSW+AKBqIxYWM4Ev32l6agSUAezLMbq5f3d8x9qzT031jMDT+sUAoCw0M5wVt +# CUQcqINPuYjbS1WgJyZIiEkBMIIHejCCBWKgAwIBAgIKYQ6Q0gAAAAAAAzANBgkq +# hkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x +# EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv +# bjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5 +# IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEwOTA5WjB+MQswCQYDVQQG +# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG +# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQg +# Q29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC +# CgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+laUKq4BjgaBEm6f8MMHt03 +# a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc6Whe0t+bU7IKLMOv2akr +# rnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4Ddato88tt8zpcoRb0Rrrg +# OGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+lD3v++MrWhAfTVYoonpy +# 4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nkkDstrjNYxbc+/jLTswM9 +# sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6A4aN91/w0FK/jJSHvMAh +# dCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmdX4jiJV3TIUs+UsS1Vz8k +# A/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL5zmhD+kjSbwYuER8ReTB +# w3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zdsGbiwZeBe+3W7UvnSSmn +# Eyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3T8HhhUSJxAlMxdSlQy90 +# lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS4NaIjAsCAwEAAaOCAe0w +# ggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRIbmTlUAXTgqoXNzcitW2o +# ynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYD +# VR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBDuRQFTuHqp8cx0SOJNDBa +# BgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2Ny +# bC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3JsMF4GCCsG +# AQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3dy5taWNyb3NvZnQuY29t +# L3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3J0MIGfBgNV +# HSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEFBQcCARYzaHR0cDovL3d3 +# dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1hcnljcHMuaHRtMEAGCCsG +# AQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkAYwB5AF8AcwB0AGEAdABl +# AG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn8oalmOBUeRou09h0ZyKb +# C5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7v0epo/Np22O/IjWll11l +# hJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0bpdS1HXeUOeLpZMlEPXh6 +# I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/KmtYSWMfCWluWpiW5IP0 +# wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvyCInWH8MyGOLwxS3OW560 +# STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBpmLJZiWhub6e3dMNABQam +# ASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJihsMdYzaXht/a8/jyFqGa +# J+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYbBL7fQccOKO7eZS/sl/ah +# XJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbSoqKfenoi+kiVH6v7RyOA +# 9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sLgOppO6/8MO0ETI7f33Vt +# Y5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtXcVZOSEXAQsmbdlsKgEhr +# /Xmfwb1tbWrJUnMTDXpQzTGCGZ8wghmbAgEBMIGVMH4xCzAJBgNVBAYTAlVTMRMw +# EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN +# aWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNp +# Z25pbmcgUENBIDIwMTECEzMAAAOvMEAOTKNNBUEAAAAAA68wDQYJYIZIAWUDBAIB +# BQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEO +# MAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIL/XKtNBJBHJGGbe7wFtIYIf +# MWxPHreyoYsrh/7+1ayVMEIGCisGAQQBgjcCAQwxNDAyoBSAEgBNAGkAYwByAG8A +# cwBvAGYAdKEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20wDQYJKoZIhvcNAQEB +# BQAEggEAsznplfpYKEm4uixovlZz95SlVq7QdSxNze04M6Fga5HvYIXrHYRHN6DU +# NxZrD6TUTlazf4rMXW4N/bkWcldOavU0/1Tkwf6H44uswSBtXgWXcRw/hQ+jA+Il +# JNUyRBEhtZJ+Yk4YZyeSTYOHvgr+//zqEMQCjL9oeajHuQwSIv4r9RHEV/muFz6A +# 20/OIa5i3YDhDMgt26t0pSkcX78Q1BIyHIBd10DTdW55lST45hXoOMRKsBBYv6tB +# AhKBGnKyGv6Xuq3PJx+fSfjF1h/Qi7+t2qAwKkUhi8FEgIMQsFkzX60jUm4wPoRd +# pXOFRp+VquTBpBen543+30dfJi7+uKGCFykwghclBgorBgEEAYI3AwMBMYIXFTCC +# FxEGCSqGSIb3DQEHAqCCFwIwghb+AgEDMQ8wDQYJYIZIAWUDBAIBBQAwggFZBgsq +# hkiG9w0BCRABBKCCAUgEggFEMIIBQAIBAQYKKwYBBAGEWQoDATAxMA0GCWCGSAFl +# AwQCAQUABCCmIe+V9DAkzO7fxsccHK/per06KvB9j0COTSemV+1e8gIGZldU1N0F +# GBMyMDI0MDYxOTExMzE0MC43NjFaMASAAgH0oIHYpIHVMIHSMQswCQYDVQQGEwJV +# UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE +# ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQgSXJl +# bGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNO +# OkZDNDEtNEJENC1EMjIwMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBT +# ZXJ2aWNloIIReDCCBycwggUPoAMCAQICEzMAAAHimZmV8dzjIOsAAQAAAeIwDQYJ +# KoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x +# EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv +# bjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwHhcNMjMx +# MDEyMTkwNzI1WhcNMjUwMTEwMTkwNzI1WjCB0jELMAkGA1UEBhMCVVMxEzARBgNV +# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv +# c29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxhbmQgT3Bl +# cmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjpGQzQxLTRC +# RDQtRDIyMDElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZTCC +# AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALVjtZhV+kFmb8cKQpg2mzis +# DlRI978Gb2amGvbAmCd04JVGeTe/QGzM8KbQrMDol7DC7jS03JkcrPsWi9WpVwsI +# ckRQ8AkX1idBG9HhyCspAavfuvz55khl7brPQx7H99UJbsE3wMmpmJasPWpgF05z +# ZlvpWQDULDcIYyl5lXI4HVZ5N6MSxWO8zwWr4r9xkMmUXs7ICxDJr5a39SSePAJR +# IyznaIc0WzZ6MFcTRzLLNyPBE4KrVv1LFd96FNxAzwnetSePg88EmRezr2T3HTFE +# lneJXyQYd6YQ7eCIc7yllWoY03CEg9ghorp9qUKcBUfFcS4XElf3GSERnlzJsK7s +# /ZGPU4daHT2jWGoYha2QCOmkgjOmBFCqQFFwFmsPrZj4eQszYxq4c4HqPnUu4hT4 +# aqpvUZ3qIOXbdyU42pNL93cn0rPTTleOUsOQbgvlRdthFCBepxfb6nbsp3fcZaPB +# fTbtXVa8nLQuMCBqyfsebuqnbwj+lHQfqKpivpyd7KCWACoj78XUwYqy1HyYnStT +# me4T9vK6u2O/KThfROeJHiSg44ymFj+34IcFEhPogaKvNNsTVm4QbqphCyknrwBy +# qorBCLH6bllRtJMJwmu7GRdTQsIx2HMKqphEtpSm1z3ufASdPrgPhsQIRFkHZGui +# hL1Jjj4Lu3CbAmha0lOrAgMBAAGjggFJMIIBRTAdBgNVHQ4EFgQURIQOEdq+7Qds +# lptJiCRNpXgJ2gUwHwYDVR0jBBgwFoAUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXwYD +# VR0fBFgwVjBUoFKgUIZOaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9j +# cmwvTWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUyMDIwMTAoMSkuY3JsMGwG +# CCsGAQUFBwEBBGAwXjBcBggrBgEFBQcwAoZQaHR0cDovL3d3dy5taWNyb3NvZnQu +# Y29tL3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIw +# MjAxMCgxKS5jcnQwDAYDVR0TAQH/BAIwADAWBgNVHSUBAf8EDDAKBggrBgEFBQcD +# CDAOBgNVHQ8BAf8EBAMCB4AwDQYJKoZIhvcNAQELBQADggIBAORURDGrVRTbnulf +# sg2cTsyyh7YXvhVU7NZMkITAQYsFEPVgvSviCylr5ap3ka76Yz0t/6lxuczI6w7t +# Xq8n4WxUUgcj5wAhnNorhnD8ljYqbck37fggYK3+wEwLhP1PGC5tvXK0xYomU1nU +# +lXOy9ZRnShI/HZdFrw2srgtsbWow9OMuADS5lg7okrXa2daCOGnxuaD1IO+65E7 +# qv2O0W0sGj7AWdOjNdpexPrspL2KEcOMeJVmkk/O0ganhFzzHAnWjtNWneU11WQ6 +# Bxv8OpN1fY9wzQoiycgvOOJM93od55EGeXxfF8bofLVlUE3zIikoSed+8s61NDP+ +# x9RMya2mwK/Ys1xdvDlZTHndIKssfmu3vu/a+BFf2uIoycVTvBQpv/drRJD68eo4 +# 01mkCRFkmy/+BmQlRrx2rapqAu5k0Nev+iUdBUKmX/iOaKZ75vuQg7hCiBA5xIm5 +# ZIXDSlX47wwFar3/BgTwntMq9ra6QRAeS/o/uYWkmvqvE8Aq38QmKgTiBnWSS/uV +# PcaHEyArnyFh5G+qeCGmL44MfEnFEhxc3saPmXhe6MhSgCIGJUZDA7336nQD8fn4 +# y6534Lel+LuT5F5bFt0mLwd+H5GxGzObZmm/c3pEWtHv1ug7dS/Dfrcd1sn2E4gk +# 4W1L1jdRBbK9xwkMmwY+CHZeMSvBMIIHcTCCBVmgAwIBAgITMwAAABXF52ueAptJ +# mQAAAAAAFTANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT +# Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m +# dCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNh +# dGUgQXV0aG9yaXR5IDIwMTAwHhcNMjEwOTMwMTgyMjI1WhcNMzAwOTMwMTgzMjI1 +# WjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH +# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQD +# Ex1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDCCAiIwDQYJKoZIhvcNAQEB +# BQADggIPADCCAgoCggIBAOThpkzntHIhC3miy9ckeb0O1YLT/e6cBwfSqWxOdcjK +# NVf2AX9sSuDivbk+F2Az/1xPx2b3lVNxWuJ+Slr+uDZnhUYjDLWNE893MsAQGOhg +# fWpSg0S3po5GawcU88V29YZQ3MFEyHFcUTE3oAo4bo3t1w/YJlN8OWECesSq/XJp +# rx2rrPY2vjUmZNqYO7oaezOtgFt+jBAcnVL+tuhiJdxqD89d9P6OU8/W7IVWTe/d +# vI2k45GPsjksUZzpcGkNyjYtcI4xyDUoveO0hyTD4MmPfrVUj9z6BVWYbWg7mka9 +# 7aSueik3rMvrg0XnRm7KMtXAhjBcTyziYrLNueKNiOSWrAFKu75xqRdbZ2De+JKR +# Hh09/SDPc31BmkZ1zcRfNN0Sidb9pSB9fvzZnkXftnIv231fgLrbqn427DZM9itu +# qBJR6L8FA6PRc6ZNN3SUHDSCD/AQ8rdHGO2n6Jl8P0zbr17C89XYcz1DTsEzOUyO +# ArxCaC4Q6oRRRuLRvWoYWmEBc8pnol7XKHYC4jMYctenIPDC+hIK12NvDMk2ZItb +# oKaDIV1fMHSRlJTYuVD5C4lh8zYGNRiER9vcG9H9stQcxWv2XFJRXRLbJbqvUAV6 +# bMURHXLvjflSxIUXk8A8FdsaN8cIFRg/eKtFtvUeh17aj54WcmnGrnu3tz5q4i6t +# AgMBAAGjggHdMIIB2TASBgkrBgEEAYI3FQEEBQIDAQABMCMGCSsGAQQBgjcVAgQW +# BBQqp1L+ZMSavoKRPEY1Kc8Q/y8E7jAdBgNVHQ4EFgQUn6cVXQBeYl2D9OXSZacb +# UzUZ6XIwXAYDVR0gBFUwUzBRBgwrBgEEAYI3TIN9AQEwQTA/BggrBgEFBQcCARYz +# aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnku +# aHRtMBMGA1UdJQQMMAoGCCsGAQUFBwMIMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIA +# QwBBMAsGA1UdDwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNX2 +# VsuP6KJcYmjRPZSQW9fOmhjEMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwu +# bWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dF8yMDEw +# LTA2LTIzLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93 +# d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYt +# MjMuY3J0MA0GCSqGSIb3DQEBCwUAA4ICAQCdVX38Kq3hLB9nATEkW+Geckv8qW/q +# XBS2Pk5HZHixBpOXPTEztTnXwnE2P9pkbHzQdTltuw8x5MKP+2zRoZQYIu7pZmc6 +# U03dmLq2HnjYNi6cqYJWAAOwBb6J6Gngugnue99qb74py27YP0h1AdkY3m2CDPVt +# I1TkeFN1JFe53Z/zjj3G82jfZfakVqr3lbYoVSfQJL1AoL8ZthISEV09J+BAljis +# 9/kpicO8F7BUhUKz/AyeixmJ5/ALaoHCgRlCGVJ1ijbCHcNhcy4sa3tuPywJeBTp +# kbKpW99Jo3QMvOyRgNI95ko+ZjtPu4b6MhrZlvSP9pEB9s7GdP32THJvEKt1MMU0 +# sHrYUP4KWN1APMdUbZ1jdEgssU5HLcEUBHG/ZPkkvnNtyo4JvbMBV0lUZNlz138e +# W0QBjloZkWsNn6Qo3GcZKCS6OEuabvshVGtqRRFHqfG3rsjoiV5PndLQTHa1V1QJ +# sWkBRH58oWFsc/4Ku+xBZj1p/cvBQUl+fpO+y/g75LcVv7TOPqUxUYS8vwLBgqJ7 +# Fx0ViY1w/ue10CgaiQuPNtq6TPmb/wrpNPgkNWcr4A245oyZ1uEi6vAnQj0llOZ0 +# dFtq0Z4+7X6gMTN9vMvpe784cETRkPHIqzqKOghif9lwY1NNje6CbaUFEMFxBmoQ +# tB1VM1izoXBm8qGCAtQwggI9AgEBMIIBAKGB2KSB1TCB0jELMAkGA1UEBhMCVVMx +# EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoT +# FU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxh +# bmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjpG +# QzQxLTRCRDQtRDIyMDElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2Vy +# dmljZaIjCgEBMAcGBSsOAwIaAxUAFpuZafp0bnpJdIhfiB1d8pTohm+ggYMwgYCk +# fjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH +# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQD +# Ex1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDANBgkqhkiG9w0BAQUFAAIF +# AOoc1n4wIhgPMjAyNDA2MTkxMjAxMDJaGA8yMDI0MDYyMDEyMDEwMlowdDA6Bgor +# BgEEAYRZCgQBMSwwKjAKAgUA6hzWfgIBADAHAgEAAgILXDAHAgEAAgISTjAKAgUA +# 6h4n/gIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMCoAowCAIBAAID +# B6EgoQowCAIBAAIDAYagMA0GCSqGSIb3DQEBBQUAA4GBAL5M3XQ99+gQS1xkP1KW +# 9nX9OAGCMIcR5ZK/al66Qs/t2ef5Yd1qcilDgcLjajg2et2D7Qfe6+lWhe1lINiI +# o0Z3+Bb+0CiQnyZqdLL8XEVn1mfh3TLKNcQVgdWuwvOG3iMPpUikySuKKrmrDBIy +# W/SEDRfVG/7/WwzWaZpHoWvRMYIEDTCCBAkCAQEwgZMwfDELMAkGA1UEBhMCVVMx +# EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoT +# FU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUt +# U3RhbXAgUENBIDIwMTACEzMAAAHimZmV8dzjIOsAAQAAAeIwDQYJYIZIAWUDBAIB +# BQCgggFKMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQx +# IgQghUgAAHvdDUiSPPMqqyDr5C1mOMmYZ64jmf2dHSA/GuYwgfoGCyqGSIb3DQEJ +# EAIvMYHqMIHnMIHkMIG9BCAriSpKEP0muMbBUETODoL4d5LU6I/bjucIZkOJCI9/ +# /zCBmDCBgKR+MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAw +# DgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24x +# JjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAB4pmZ +# lfHc4yDrAAEAAAHiMCIEIKw+Z1qEOrrAAGY5V/nbas2e2BWwg6KvDkh01Ho2gial +# MA0GCSqGSIb3DQEBCwUABIICAJkynjRk5SYcDb1vubjetUlcudLlirrtUenTmK5i +# DAaBZoi4TTbOQiqbBdn69qIWAYHh29wFNz6LLUZ/VCGQM01R8XVidur1/nwXMT99 +# MpBrPm0YKZ6VAx7e4nK6aXiRqKvFyZKhiC/ynVmjVZEFI1hiZpDky1Dcyif3AjMQ +# cL0TDXGx1fbCBTbhNPv1R5H/Kv4x1dqcYcpLXQcU3FAsgMyMU/jtVMXjzxUWOqja +# raAEZLAILO3OX6Nwt2MFnvIx1tFrSfwmnRXiriGMnDiuVgt1UxmwUHoFtuBz4NRM +# BmBLFvD3TD/+mpbuhXuNvE/RWmTWROaFB9nPHCp3pv6KZW0VIWiUfwuWvnDzBXvQ +# EU+JkzR1s81h6jYytVBRCCfGkkjKZP1aSWa9k5h+1Z8WRWcVaWbJvtxZyvtfNndS +# WTZwUZKQ0hUxX2SusjKuU3GC/9SraV3sWe1dpXPs+bafSaWCoFwLBqDgGKoN2WDU +# +9f3Sz+gZGNX6Ot5QAiS0vDzGA2CvfmymIhkiwFDDB2ysQX9nZ7DVzhifKT7vg9K +# TcMsgLXaGjVBxBydO99cH2DAKDXHV3W9+FzBU0r9+BruWaCcWADgz66QljCqkruC +# 7AuX4DdowJQTGgPeUxr389fORfNqMsVMPN00Am2beCzhC3dKLXd4pZxU508pSWxQ +# whXf +# SIG # End signature block diff --git a/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.ExternalAccess.format.ps1xml b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.ExternalAccess.format.ps1xml new file mode 100644 index 000000000000..c5c4f4c80450 --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.ExternalAccess.format.ps1xml @@ -0,0 +1,285 @@ + + + + + ExternalAccessPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.ExternalAccess.ExternalAccessPolicy + + + + + + + + + Identity + + + + Description + + + + EnableFederationAccess + + + + EnableXmppAccess + + + + EnablePublicCloudAccess + + + + EnablePublicCloudAudioVideoAccess + + + + EnableTeamsSmsAccess + + + + EnableOutsideAccess + + + + EnableAcsFederationAccess + + + + EnableTeamsConsumerAccess + + + + EnableTeamsConsumerInbound + + + + RestrictTeamsConsumerAccessToExternalUserProfiles + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.OnlineDialinConferencing.format.ps1xml b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.OnlineDialinConferencing.format.ps1xml new file mode 100644 index 000000000000..db853bb7cf8b --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.OnlineDialinConferencing.format.ps1xml @@ -0,0 +1,249 @@ + + + + + OnlineDialinConferencingPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.OnlineDialinConferencing.OnlineDialinConferencingPolicy + + + + + + + + + Identity + + + + AllowService + + + + Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.OnlineVoicemail.format.ps1xml b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.OnlineVoicemail.format.ps1xml new file mode 100644 index 000000000000..8b5e83a50e63 --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.OnlineVoicemail.format.ps1xml @@ -0,0 +1,289 @@ + + + + + OnlineVoicemailPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.OnlineVoicemail.OnlineVoicemailPolicy + + + + + + + + + Identity + + + + Description + + + + EnableTranscription + + + + ShareData + + + + EnableTranscriptionProfanityMasking + + + + EnableEditingCallAnswerRulesSetting + + + + MaximumRecordingLength + + + + EnableTranscriptionTranslation + + + + PrimarySystemPromptLanguage + + + + SecondarySystemPromptLanguage + + + + PreambleAudioFile + + + + PostambleAudioFile + + + + PreamblePostambleMandatory + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsAppPolicyConfiguration.format.ps1xml b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsAppPolicyConfiguration.format.ps1xml new file mode 100644 index 000000000000..502fcef15b17 --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsAppPolicyConfiguration.format.ps1xml @@ -0,0 +1,249 @@ + + + + + TeamsAppPolicyConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsAppPolicyConfiguration.TeamsAppPolicyConfiguration + + + + + + + + + Identity + + + + AppCatalogUri + + + + ResourceUri + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsMeetingConfiguration.format.ps1xml b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsMeetingConfiguration.format.ps1xml new file mode 100644 index 000000000000..7bda8827c268 --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsMeetingConfiguration.format.ps1xml @@ -0,0 +1,305 @@ + + + + + TeamsMeetingConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsMeetingConfiguration.TeamsMeetingConfiguration + + + + + + + + + Identity + + + + LogoURL + + + + LegalURL + + + + HelpURL + + + + CustomFooterText + + + + DisableAnonymousJoin + + + + DisableAppInteractionForAnonymousUsers + + + + EnableQoS + + + + ClientAudioPort + + + + ClientAudioPortRange + + + + ClientVideoPort + + + + ClientVideoPortRange + + + + ClientAppSharingPort + + + + ClientAppSharingPortRange + + + + ClientMediaPortRangeEnabled + + + + LimitPresenterRolePermissions + + + + FeedbackSurveyForAnonymousUsers + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsMigrationConfiguration.format.ps1xml b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsMigrationConfiguration.format.ps1xml new file mode 100644 index 000000000000..7d67f94c3c62 --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsMigrationConfiguration.format.ps1xml @@ -0,0 +1,245 @@ + + + + + TeamsMigrationConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsMigrationConfiguration.TeamsMigrationConfiguration + + + + + + + + + Identity + + + + EnableLegacyClientInterop + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsRoutingConfiguration.format.ps1xml b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsRoutingConfiguration.format.ps1xml new file mode 100644 index 000000000000..910f14af0536 --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsRoutingConfiguration.format.ps1xml @@ -0,0 +1,297 @@ + + + + + TeamsRoutingConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsRoutingConfiguration.TeamsRoutingConfiguration + + + + + + + + + Identity + + + + VoiceGatewayFqdn + + + + EnableMessagingGatewayProxy + + + + MessagingConversationRequestUrl + + + + MessagingConversationResponseUrl + + + + MgwRedirectUrlTemplate + + + + EnablePoollessTeamsOnlyUserFlighting + + + + EnablePoollessTeamsOnlyCallingFlighting + + + + EnablePoollessTeamsOnlyMessagingFlighting + + + + EnablePoollessTeamsOnlyConferencingFlighting + + + + EnablePoollessTeamsOnlyPresenceFlighting + + + + HybridEdgeFqdn + + + + DisableTeamsOnlyUsersConfCreateFlighting + + + + TenantDisabledForTeamsOnlyUsersConfCreate + + + + EnableTenantLevelPolicyCheck + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsSipDevicesConfiguration.format.ps1xml b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsSipDevicesConfiguration.format.ps1xml new file mode 100644 index 000000000000..0647d5ff9441 --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsSipDevicesConfiguration.format.ps1xml @@ -0,0 +1,245 @@ + + + + + TeamsSipDevicesConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsSipDevicesConfiguration.TeamsSipDevicesConfiguration + + + + + + + + + Identity + + + + BulkSignIn + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.TenantConfiguration.format.ps1xml b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.TenantConfiguration.format.ps1xml new file mode 100644 index 000000000000..da8b2c2fdd45 --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.TenantConfiguration.format.ps1xml @@ -0,0 +1,295 @@ + + + + + TenantConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TenantConfiguration.TenantConfiguration + + + + + + + + + Identity + + + + MaxAllowedDomains + + + + MaxBlockedDomains + + + + + + + + TenantLicensingConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TenantConfiguration.TenantLicensingConfiguration + + + + + + + + + Identity + + + + Status + + + + + + + + TenantWebServiceConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TenantConfiguration.TenantWebServiceConfiguration + + + + + + + + + Identity + + + + CertificateValidityPeriodInHours + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.VoicemailConfig.format.ps1xml b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.VoicemailConfig.format.ps1xml new file mode 100644 index 000000000000..c146f2299d69 --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.VoicemailConfig.format.ps1xml @@ -0,0 +1,249 @@ + + + + + OnlineVoicemailValidationConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.VoicemailConfig.OnlineVoicemailValidationConfiguration + + + + + + + + + Identity + + + + AudioFileValidationEnabled + + + + AudioFileValidationUri + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.format.ps1xml b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.format.ps1xml new file mode 100644 index 000000000000..9f976293f6e9 --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.format.ps1xml @@ -0,0 +1,7374 @@ + + + + + ConversationRolesSettingView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.ConversationRolesSetting + + + + + + + + + Identity + + + + ConversationRoles + + + + + + + + ConversationRoleView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.ConversationRole + + + + + + + + + Identity + + + + Permissions + + + + Id + + + + Name + + + + IsAssignable + + + + CreatedAt + + + + UpdatedAt + + + + + + + + ConversationRolePermissionsView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.ConversationRolePermissions + + + + + + + + + Chat + + + + Calling + + + + + + + + ChatPermissionsView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.ChatPermissions + + + + + + + + + AddParticipants + + + + RemoveSelf + + + + RemoveParticipants + + + + ListParticipants + + + + GetOwnDetails + + + + GetOthersDetails + + + + UpdateOwnDetails + + + + UpdateOthersDetails + + + + ShareHistory + + + + GetChatThreadProperties + + + + UpdateChatThreadProperties + + + + DeleteChatThread + + + + SendMessage + + + + ReceiveMessage + + + + EditOwnMessage + + + + EditOthersMessage + + + + DeleteOwnMessage + + + + DeleteOthersMessage + + + + + + + + CallingPermissionsView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.CallingPermissions + + + + + + + + + AddParticipants + + + + AddPhoneNumbers + + + + RemoveParticipants + + + + SendVideo + + + + RestrictOthersVideo + + + + SendAudio + + + + RestrictOthersAudio + + + + ShareScreen + + + + MuteSelf + + + + UnmuteSelf + + + + MuteOthers + + + + SpotlightParticipants + + + + RemoveSpotlights + + + + + + + + LocationPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.LocationPolicy + + + + + + + + + Identity + + + + EmergencyNumbers + + + + Description + + + + EnhancedEmergencyServicesEnabled + + + + LocationRequired + + + + UseLocationForE911Only + + + + PstnUsage + + + + EmergencyDialString + + + + EmergencyDialMask + + + + NotificationUri + + + + ConferenceUri + + + + ConferenceMode + + + + LocationRefreshInterval + + + + EnhancedEmergencyServiceDisclaimer + + + + UseHybridVoiceForE911 + + + + EnablePlusPrefix + + + + AllowEmergencyCallsWithoutLineURI + + + + + + + + EmergencyNumberView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.EmergencyNumber + + + + + + + + + DialString + + + + DialMask + + + + + + + + MeetingPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.MeetingPolicy + + + + + + + + + Identity + + + + AllowIPAudio + + + + AllowIPVideo + + + + AllowMultiView + + + + Description + + + + AllowParticipantControl + + + + AllowAnnotations + + + + DisablePowerPointAnnotations + + + + AllowUserToScheduleMeetingsWithAppSharing + + + + ApplicationSharingMode + + + + AllowNonEnterpriseVoiceUsersToDialOut + + + + AllowAnonymousUsersToDialOut + + + + AllowAnonymousParticipantsInMeetings + + + + AllowFederatedParticipantJoinAsSameEnterprise + + + + AllowExternalUsersToSaveContent + + + + AllowExternalUserControl + + + + AllowExternalUsersToRecordMeeting + + + + AllowPolls + + + + AllowSharedNotes + + + + AllowQandA + + + + AllowOfficeContent + + + + EnableDialInConferencing + + + + EnableAppDesktopSharing + + + + AllowConferenceRecording + + + + EnableP2PRecording + + + + EnableFileTransfer + + + + EnableP2PFileTransfer + + + + EnableP2PVideo + + + + AllowLargeMeetings + + + + EnableOnlineMeetingPromptForLyncResources + + + + EnableDataCollaboration + + + + MaxVideoConferenceResolution + + + + MaxMeetingSize + + + + AudioBitRateKb + + + + VideoBitRateKb + + + + AppSharingBitRateKb + + + + FileTransferBitRateKb + + + + TotalReceiveVideoBitRateKb + + + + EnableMultiViewJoin + + + + CloudRecordingServiceSupport + + + + EnableReliableConferenceDeletion + + + + + + + + BroadcastMeetingPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.BroadcastMeetingPolicy + + + + + + + + + Identity + + + + AllowBroadcastMeeting + + + + AllowOpenBroadcastMeeting + + + + AllowBroadcastMeetingRecording + + + + AllowAnonymousBroadcastMeeting + + + + BroadcastMeetingRecordingEnforced + + + + + + + + CloudMeetingPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.CloudMeetingPolicy + + + + + + + + + Identity + + + + AllowAutoSchedule + + + + IsModernSchedulingEnabled + + + + + + + + CloudMeetingOpsPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.CloudMeetingOpsPolicy + + + + + + + + + Identity + + + + ActivationLocation + + + + + + + + CloudVideoInteropPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.CloudVideoInteropPolicy + + + + + + + + + Identity + + + + EnableCloudVideoInterop + + + + + + + + ApplicationAccessPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.ApplicationAccessPolicy + + + + + + + + + Identity + + + + AppIds + + + + Description + + + + + + + + TeamsMeetingPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsMeetingPolicy + + + + + + + + + Identity + + + + Description + + + + AllowChannelMeetingScheduling + + + + AllowMeetNow + + + + AllowPrivateMeetNow + + + + MeetingChatEnabledType + + + + AllowExternalNonTrustedMeetingChat + + + + CopyRestriction + + + + LiveCaptionsEnabledType + + + + DesignatedPresenterRoleMode + + + + AllowIPAudio + + + + AllowIPVideo + + + + AllowEngagementReport + + + + AllowTrackingInReport + + + + IPAudioMode + + + + IPVideoMode + + + + AllowAnonymousUsersToDialOut + + + + AllowAnonymousUsersToStartMeeting + + + + AllowAnonymousUsersToJoinMeeting + + + + BlockedAnonymousJoinClientTypes + + + + AllowedStreamingMediaInput + + + + ExplicitRecordingConsent + + + + AllowLocalRecording + + + + AutoRecording + + + + ParticipantNameChange + + + + AllowPrivateMeetingScheduling + + + + AutoAdmittedUsers + + + + AllowCloudRecording + + + + AllowRecordingStorageOutsideRegion + + + + RecordingStorageMode + + + + AllowOutlookAddIn + + + + AllowPowerPointSharing + + + + AllowParticipantGiveRequestControl + + + + AllowExternalParticipantGiveRequestControl + + + + AllowSharedNotes + + + + AllowWhiteboard + + + + AllowTranscription + + + + AllowNetworkConfigurationSettingsLookup + + + + MediaBitRateKb + + + + ScreenSharingMode + + + + VideoFiltersMode + + + + AllowPSTNUsersToBypassLobby + + + + AllowOrganizersToOverrideLobbySettings + + + + PreferredMeetingProviderForIslandsMode + + + + AllowNDIStreaming + + + + SpeakerAttributionMode + + + + EnrollUserOverride + + + + RoomAttributeUserOverride + + + + StreamingAttendeeMode + + + + AttendeeIdentityMasking + + + + AllowBreakoutRooms + + + + TeamsCameraFarEndPTZMode + + + + AllowMeetingReactions + + + + AllowMeetingRegistration + + + + WhoCanRegister + + + + AllowScreenContentDigitization + + + + AllowCarbonSummary + + + + RoomPeopleNameUserOverride + + + + AllowMeetingCoach + + + + NewMeetingRecordingExpirationDays + + + + LiveStreamingMode + + + + MeetingInviteLanguages + + + + ChannelRecordingDownload + + + + AllowCartCaptionsScheduling + + + + AllowTasksFromTranscript + + + + InfoShownInReportMode + + + + LiveInterpretationEnabledType + + + + QnAEngagementMode + + + + AllowImmersiveView + + + + AllowAvatarsInGallery + + + + AllowAnnotations + + + + AllowDocumentCollaboration + + + + AllowWatermarkForScreenSharing + + + + AllowWatermarkForCameraVideo + + + + AllowWatermarkCustomizationForCameraVideo + + + + WatermarkForCameraVideoOpacity + + + + WatermarkForCameraVideoPattern + + + + AllowWatermarkCustomizationForScreenSharing + + + + WatermarkForScreenSharingOpacity + + + + WatermarkForScreenSharingPattern + + + + WatermarkForAnonymousUsers + + + + DetectSensitiveContentDuringScreenSharing + + + + AudibleRecordingNotification + + + + ConnectToMeetingControls + + + + Copilot + + + + AutomaticallyStartCopilot + + + + VoiceIsolation + + + + ExternalMeetingJoin + + + + ContentSharingInExternalMeetings + + + + AllowedUsersForMeetingContext + + + + SmsNotifications + + + + CaptchaVerificationForAnonymousUsers + + + + + + + + TeamsMeetingBrandingPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsMeetingBrandingPolicy + + + + + + + + + Identity + + + + NdiAssuranceSlateImages + + + + MeetingBackgroundImages + + + + MeetingBrandingThemes + + + + DefaultTheme + + + + EnableMeetingOptionsThemeOverride + + + + EnableNdiAssuranceSlate + + + + EnableMeetingBackgroundImages + + + + RequireBackgroundEffect + + + + + + + + NdiAssuranceSlateView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.NdiAssuranceSlate + + + + + + + + + Id + + + + Name + + + + NdiImageUri + + + + IsDefault + + + + + + + + MeetingBackgroundImageView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.MeetingBackgroundImage + + + + + + + + + Id + + + + Order + + + + Name + + + + IsRequired + + + + IsHidden + + + + ImageUri + + + + + + + + MeetingBrandingThemeView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.MeetingBrandingTheme + + + + + + + + + DisplayName + + + + LogoImageLightUri + + + + LogoImageDarkUri + + + + BackgroundImageLightUri + + + + BackgroundImageDarkUri + + + + LogoImageLightPreAuthUri + + + + LogoImageDarkPreAuthUri + + + + MeetingInviteLogoImageLightPreAuthUri + + + + MeetingInviteLogoImageDarkPreAuthUri + + + + BackgroundImageLightPreAuthUri + + + + BackgroundImageDarkPreAuthUri + + + + BrandAccentColor + + + + Enabled + + + + Identity + + + + + + + + TeamsEventsPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsEventsPolicy + + + + + + + + + Identity + + + + AllowWebinars + + + + EventAccessType + + + + AllowTownhalls + + + + AllowEmailEditing + + + + AllowedQuestionTypesInRegistrationForm + + + + AllowEventIntegrations + + + + AllowedWebinarTypesForRecordingPublish + + + + AllowedTownhallTypesForRecordingPublish + + + + TownhallChatExperience + + + + UseMicrosoftECDN + + + + Description + + + + + + + + OnlineDialOutPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.OnlineDialOutPolicy + + + + + + + + + Identity + + + + AllowPSTNConferencingDialOutType + + + + AllowPSTNOutboundCallingType + + + + + + + + TeamsCallingPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsCallingPolicy + + + + + + + + + Identity + + + + Description + + + + AllowPrivateCalling + + + + AllowWebPSTNCalling + + + + AllowSIPDevicesCalling + + + + AllowVoicemail + + + + AllowCallGroups + + + + AllowDelegation + + + + AllowCallForwardingToUser + + + + AllowCallForwardingToPhone + + + + PreventTollBypass + + + + BusyOnBusyEnabledType + + + + MusicOnHoldEnabledType + + + + AllowCloudRecordingForCalls + + + + AllowTranscriptionForCalling + + + + PopoutForIncomingPstnCalls + + + + PopoutAppPathForIncomingPstnCalls + + + + LiveCaptionsEnabledTypeForCalling + + + + AutoAnswerEnabledType + + + + SpamFilteringEnabledType + + + + CallRecordingExpirationDays + + + + AllowCallRedirect + + + + InboundPstnCallRoutingTreatment + + + + InboundFederatedCallRoutingTreatment + + + + EnableWebPstnMediaBypass + + + + + + + + TeamsInteropPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsInteropPolicy + + + + + + + + + Identity + + + + AllowEndUserClientOverride + + + + CallingDefaultClient + + + + ChatDefaultClient + + + + + + + + TeamsMessagingPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsMessagingPolicy + + + + + + + + + Identity + + + + Description + + + + AllowUrlPreviews + + + + AllowOwnerDeleteMessage + + + + AllowUserEditMessage + + + + AllowUserDeleteMessage + + + + AllowUserDeleteChat + + + + AllowUserChat + + + + AllowRemoveUser + + + + AllowGiphy + + + + GiphyRatingType + + + + AllowGiphyDisplay + + + + AllowPasteInternetImage + + + + AllowMemes + + + + AllowImmersiveReader + + + + AllowStickers + + + + AllowUserTranslation + + + + ReadReceiptsEnabledType + + + + AllowPriorityMessages + + + + AllowSmartReply + + + + AllowSmartCompose + + + + ChannelsInChatListEnabledType + + + + AudioMessageEnabledType + + + + ChatPermissionRole + + + + AllowFullChatPermissionUserToDeleteAnyMessage + + + + AllowFluidCollaborate + + + + AllowVideoMessages + + + + AllowCommunicationComplianceEndUserReporting + + + + AllowChatWithGroup + + + + AllowSecurityEndUserReporting + + + + InOrganizationChatControl + + + + AllowGroupChatJoinLinks + + + + CreateCustomEmojis + + + + DeleteCustomEmojis + + + + DesignerForBackgroundsAndImages + + + + AllowCustomGroupChatAvatars + + + + + + + + TeamsUpgradePolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsUpgradePolicy + + + + + + + + + Identity + + + + Description + + + + Mode + + + + NotifySfbUsers + + + + Action + + + + + + + + TeamsUpgradeOverridePolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsUpgradeOverridePolicy + + + + + + + + + Identity + + + + Description + + + + ProvisionedAsTeamsOnly + + + + SkypePoolMode + + + + Action + + + + Enabled + + + + + + + + TeamsMediaLoggingPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsMediaLoggingPolicy + + + + + + + + + Identity + + + + Description + + + + AllowMediaLogging + + + + + + + + TeamsVideoInteropServicePolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsVideoInteropServicePolicy + + + + + + + + + Identity + + + + Description + + + + ProviderName + + + + Enabled + + + + + + + + TeamsWorkLoadPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsWorkLoadPolicy + + + + + + + + + Identity + + + + Description + + + + AllowMeeting + + + + AllowMeetingPinned + + + + AllowMessaging + + + + AllowMessagingPinned + + + + AllowCalling + + + + AllowCallingPinned + + + + + + + + TeamsCortanaPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsCortanaPolicy + + + + + + + + + Identity + + + + Description + + + + CortanaVoiceInvocationMode + + + + AllowCortanaVoiceInvocation + + + + AllowCortanaAmbientListening + + + + AllowCortanaInContextSuggestions + + + + + + + + TeamsOwnersPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsOwnersPolicy + + + + + + + + + Identity + + + + Description + + + + AllowPrivateTeams + + + + AllowOrgwideTeams + + + + AllowPublicTeams + + + + + + + + TeamsMeetingBroadcastPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsMeetingBroadcastPolicy + + + + + + + + + Identity + + + + Description + + + + AllowBroadcastScheduling + + + + AllowBroadcastTranscription + + + + BroadcastAttendeeVisibilityMode + + + + BroadcastRecordingMode + + + + + + + + TeamsAppPermissionPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsAppPermissionPolicy + + + + + + + + + Identity + + + + DefaultCatalogApps + + + + GlobalCatalogApps + + + + PrivateCatalogApps + + + + Description + + + + DefaultCatalogAppsType + + + + GlobalCatalogAppsType + + + + PrivateCatalogAppsType + + + + + + + + DefaultCatalogAppView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.DefaultCatalogApp + + + + + + + + + Identity + + + Priority + + + + Id + + + + + + + + GlobalCatalogAppView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.GlobalCatalogApp + + + + + + + + + Identity + + + Priority + + + + Id + + + + + + + + PrivateCatalogAppView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PrivateCatalogApp + + + + + + + + + Identity + + + Priority + + + + Id + + + + + + + + TeamsAppSetupPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsAppSetupPolicy + + + + + + + + + Identity + + + + AppPresetList + + + + PinnedAppBarApps + + + + PinnedMessageBarApps + + + + AppPresetMeetingList + + + + AdditionalCustomizationApps + + + + Description + + + + AllowSideLoading + + + + AllowUserPinning + + + + + + + + AppPresetView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.AppPreset + + + + + + + + + Identity + + + Priority + + + + Id + + + + + + + + PinnedAppView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PinnedApp + + + + + + + + + Identity + + + Priority + + + + Id + + + + Order + + + + + + + + PinnedMessageBarAppView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PinnedMessageBarApp + + + + + + + + + Identity + + + Priority + + + + Id + + + + Order + + + + + + + + AppPresetMeetingView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.AppPresetMeeting + + + + + + + + + Identity + + + Priority + + + + Id + + + + + + + + AdditionalCustomizationAppView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.AdditionalCustomizationApp + + + + + + + + + Identity + + + Priority + + + + Id + + + + AdditionalCustomizationId + + + + + + + + TeamsCallParkPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsCallParkPolicy + + + + + + + + + Identity + + + + Description + + + + AllowCallPark + + + + PickupRangeStart + + + + PickupRangeEnd + + + + ParkTimeoutSeconds + + + + + + + + TeamsEducationAssignmentsAppPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsEducationAssignmentsAppPolicy + + + + + + + + + Identity + + + + ParentDigestEnabledType + + + + MakeCodeEnabledType + + + + TurnItInEnabledType + + + + TurnItInApiUrl + + + + TurnItInApiKey + + + + + + + + TeamsEmergencyCallRoutingPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsEmergencyCallRoutingPolicy + + + + + + + + + Identity + + + + EmergencyNumbers + + + + AllowEnhancedEmergencyServices + + + + Description + + + + + + + + TeamsEmergencyNumberView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsEmergencyNumber + + + + + + + + + EmergencyDialString + + + + EmergencyDialMask + + + + OnlinePSTNUsage + + + + + + + + TeamsEmergencyCallingPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsEmergencyCallingPolicy + + + + + + + + + Identity + + + + ExtendedNotifications + + + + NotificationGroup + + + + NotificationDialOutNumber + + + + ExternalLocationLookupMode + + + + NotificationMode + + + + EnhancedEmergencyServiceDisclaimer + + + + Description + + + + + + + + TeamsEmergencyCallingExtendedNotificationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsEmergencyCallingExtendedNotification + + + + + + + + + EmergencyDialString + + + + NotificationGroup + + + + NotificationDialOutNumber + + + + NotificationMode + + + + + + + + TeamsUpdateManagementPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsUpdateManagementPolicy + + + + + + + + + Identity + + + + DisabledInProductMessages + + + + Description + + + + AllowManagedUpdates + + + + AllowPreview + + + + UpdateDayOfWeek + + + + UpdateTime + + + + $_.UpdateTimeOfDay.ToShortTimeString() + + + + AllowPublicPreview + + + + UseNewTeamsClient + + + + BlockLegacyAuthorization + + + + + + + + TeamsNotificationAndFeedsPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsNotificationAndFeedsPolicy + + + + + + + + + Identity + + + + Description + + + + SuggestedFeedsEnabledType + + + + TrendingFeedsEnabledType + + + + + + + + TeamsChannelsPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsChannelsPolicy + + + + + + + + + Identity + + + + Description + + + + AllowOrgWideTeamCreation + + + + EnablePrivateTeamDiscovery + + + + AllowPrivateChannelCreation + + + + AllowSharedChannelCreation + + + + AllowChannelSharingToExternalUser + + + + AllowUserToParticipateInExternalSharedChannel + + + + + + + + TeamsMobilityPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsMobilityPolicy + + + + + + + + + Identity + + + + Description + + + + IPVideoMobileMode + + + + IPAudioMobileMode + + + + MobileDialerPreference + + + + + + + + TeamsSyntheticAutomatedCallPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsSyntheticAutomatedCallPolicy + + + + + + + + + Identity + + + + Description + + + + SyntheticAutomatedCallsMode + + + + + + + + TeamsTargetingPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsTargetingPolicy + + + + + + + + + Identity + + + + Description + + + + ManageTagsPermissionMode + + + + TeamOwnersEditWhoCanManageTagsMode + + + + SuggestedPresetTags + + + + CustomTagsMode + + + + ShiftBackedTagsMode + + + + + + + + TeamsIPPhonePolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsIPPhonePolicy + + + + + + + + + Identity + + + + Description + + + + SignInMode + + + + SearchOnCommonAreaPhoneMode + + + + AllowHomeScreen + + + + AllowBetterTogether + + + + AllowHotDesking + + + + HotDeskingIdleTimeoutInMinutes + + + + + + + + TeamsVerticalPackagePolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsVerticalPackagePolicy + + + + + + + + + Identity + + + + PackageIncludedPolices + + + + Description + + + + PackageId + + + + FirstRunExperienceId + + + + + + + + PolicyTypeToPolicyInstanceView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PolicyTypeToPolicyInstance + + + + + + + + + PolicyType + + + + PolicyName + + + + + + + + TeamsFeedbackPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsFeedbackPolicy + + + + + + + + + Identity + + + + UserInitiatedMode + + + + ReceiveSurveysMode + + + + AllowScreenshotCollection + + + + AllowEmailCollection + + + + AllowLogCollection + + + + EnableFeatureSuggestions + + + + + + + + TeamsComplianceRecordingPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsComplianceRecordingPolicy + + + + + + + + + Identity + + + + ComplianceRecordingApplications + + + + Enabled + + + + WarnUserOnRemoval + + + + DisableComplianceRecordingAudioNotificationForCalls + + + + Description + + + + RecordReroutedCalls + + + + CustomPromptsEnabled + + + + CustomPromptsPackageId + + + + CustomBanner + + + + + + + + ComplianceRecordingApplicationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.ComplianceRecordingApplication + + + + + + + + + Identity + + + Priority + + + + ComplianceRecordingPairedApplications + + + + Id + + + + RequiredBeforeMeetingJoin + + + + RequiredBeforeCallEstablishment + + + + RequiredDuringMeeting + + + + RequiredDuringCall + + + + ConcurrentInvitationCount + + + + + + + + ComplianceRecordingPairedApplicationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.ComplianceRecordingPairedApplication + + + + + + + + + Id + + + + + + + + TeamsShiftsPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsShiftsPolicy + + + + + + + + + Identity + + + + ShiftNoticeFrequency + + + + ShiftNoticeMessageType + + + + ShiftNoticeMessageCustom + + + + AccessType + + + + AccessGracePeriodMinutes + + + + EnableScheduleOwnerPermissions + + + + + + + + TeamsTasksPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsTasksPolicy + + + + + + + + + Identity + + + + TasksMode + + + + AllowActivityWhenTasksPublished + + + + + + + + TeamsVdiPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsVdiPolicy + + + + + + + + + Identity + + + + DisableCallsAndMeetings + + + + DisableAudioVideoInCallsAndMeetings + + + + VDI2Optimization + + + + + + + + TeamsNetworkRoamingPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsNetworkRoamingPolicy + + + + + + + + + Identity + + + + AllowIPVideo + + + + MediaBitRateKb + + + + Description + + + + + + + + TeamsTemplatePermissionPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsTemplatePermissionPolicy + + + + + + + + + Identity + + + + HiddenTemplates + + + + Description + + + + + + + + HiddenTemplateView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.HiddenTemplate + + + + + + + + + Id + + + + + + + + TeamsCarrierEmergencyCallRoutingPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsCarrierEmergencyCallRoutingPolicy + + + + + + + + + Identity + + + + LocationPolicyId + + + + Description + + + + + + + + TeamsCallHoldPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsCallHoldPolicy + + + + + + + + + Identity + + + + Description + + + + AudioFileId + + + + StreamingSourceUrl + + + + StreamingSourceAuthType + + + + + + + + TeamsEnhancedEncryptionPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsEnhancedEncryptionPolicy + + + + + + + + + Identity + + + + CallingEndtoEndEncryptionEnabledType + + + + MeetingEndToEndEncryption + + + + Description + + + + + + + + TeamsFilesPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsFilesPolicy + + + + + + + + + Identity + + + + NativeFileEntryPoints + + + + SPChannelFilesTab + + + + DefaultFileUploadAppId + + + + + + + + TeamsWatermarkPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsWatermarkPolicy + + + + + + + + + Identity + + + + AllowForScreenSharing + + + + AllowForCameraVideo + + + + Description + + + + + + + + TeamsVoiceApplicationsPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsVoiceApplicationsPolicy + + + + + + + + + Identity + + + + Description + + + + AllowAutoAttendantBusinessHoursGreetingChange + + + + AllowAutoAttendantAfterHoursGreetingChange + + + + AllowAutoAttendantHolidayGreetingChange + + + + AllowAutoAttendantBusinessHoursChange + + + + AllowAutoAttendantTimeZoneChange + + + + AllowAutoAttendantLanguageChange + + + + AllowAutoAttendantHolidaysChange + + + + AllowAutoAttendantBusinessHoursRoutingChange + + + + AllowAutoAttendantAfterHoursRoutingChange + + + + AllowAutoAttendantHolidayRoutingChange + + + + AllowCallQueueWelcomeGreetingChange + + + + AllowCallQueueMusicOnHoldChange + + + + AllowCallQueueOverflowSharedVoicemailGreetingChange + + + + AllowCallQueueTimeoutSharedVoicemailGreetingChange + + + + AllowCallQueueOptOutChange + + + + AllowCallQueueAgentOptChange + + + + AllowCallQueueMembershipChange + + + + AllowCallQueueRoutingMethodChange + + + + AllowCallQueuePresenceBasedRoutingChange + + + + CallQueueAgentMonitorMode + + + + CallQueueAgentMonitorNotificationMode + + + + AllowCallQueueLanguageChange + + + + AllowCallQueueOverflowRoutingChange + + + + AllowCallQueueTimeoutRoutingChange + + + + AllowCallQueueNoAgentsRoutingChange + + + + AllowCallQueueConferenceModeChange + + + + AllowCallQueueNoAgentSharedVoicemailGreetingChange + + + + RealTimeAutoAttendantMetricsPermission + + + + RealTimeCallQueueMetricsPermission + + + + RealTimeAgentMetricsPermission + + + + HistoricalAutoAttendantMetricsPermission + + + + HistoricalCallQueueMetricsPermission + + + + HistoricalAgentMetricsPermission + + + + + + + + TeamsRoomVideoTeleConferencingPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsRoomVideoTeleConferencingPolicy + + + + + + + + + Identity + + + + Description + + + + Enabled + + + + AreaCode + + + + ReceiveExternalCalls + + + + ReceiveInternalCalls + + + + PlaceExternalCalls + + + + PlaceInternalCalls + + + + + + + + TeamsMeetingTemplatePermissionPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsMeetingTemplatePermissionPolicy + + + + + + + + + Identity + + + + HiddenMeetingTemplates + + + + Description + + + + + + + + HiddenMeetingTemplateView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.HiddenMeetingTemplate + + + + + + + + + Id + + + + + + + + TeamsShiftsAppPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsShiftsAppPolicy + + + + + + + + + Identity + + + + AllowTimeClockLocationDetection + + + + + + + + PstnUsagesView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PstnUsages + + + + + + + + + Identity + + + + Usage + + + + + + + + OnlinePstnUsagesView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.OnlinePstnUsages + + + + + + + + + Identity + + + + Usage + + + + + + + + RouteView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.Route + + + + + + + + + Identity + + + Priority + + + + Description + + + + NumberPattern + + + + PstnUsages + + + + PstnGatewayList + + + + Name + + + + SuppressCallerId + + + + AlternateCallerId + + + + + + + + PstnGatewayServiceIdView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PstnGatewayServiceId + + + + + + + + + SiteId + + + + RoleName + + + + Instance + + + + + + + + PstnRoutingSettingsView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PstnRoutingSettings + + + + + + + + + Identity + + + + Route + + + + EnableLocationBasedRouting + + + + CallViaWorkCallerId + + + + + + + + OnlineRouteView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.OnlineRoute + + + + + + + + + Identity + + + Priority + + + + Description + + + + NumberPattern + + + + OnlinePstnUsages + + + + OnlinePstnGatewayList + + + + BridgeSourcePhoneNumber + + + + Name + + + + + + + + OnlinePstnRoutingSettingsView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.OnlinePstnRoutingSettings + + + + + + + + + Identity + + + + OnlineRoute + + + + + + + + TenantBlockedCallingNumbersView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TenantBlockedCallingNumbers + + + + + + + + + Identity + + + + InboundBlockedNumberPatterns + + + + InboundExemptNumberPatterns + + + + Enabled + + + + Name + + + + + + + + InboundBlockedNumberPatternView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.InboundBlockedNumberPattern + + + + + + + + + Identity + + + + Name + + + + Enabled + + + + Description + + + + Pattern + + + + + + + + InboundExemptNumberPatternView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.InboundExemptNumberPattern + + + + + + + + + Identity + + + + Name + + + + Enabled + + + + Description + + + + Pattern + + + + + + + + LocationProfileView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.LocationProfile + + + + + + + + + Identity + + + + Description + + + + DialinConferencingRegion + + + + NormalizationRules + + + + PriorityNormalizationRules + + + + CountryCode + + + + State + + + + City + + + + ExternalAccessPrefix + + + + SimpleName + + + + OptimizeDeviceDialing + + + + ITUCountryPrefix + + + + + + + + NormalizationRuleView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.NormalizationRule + + + + + + + + + Identity + + + Priority + + + + Description + + + + Pattern + + + + Translation + + + + Name + + + + IsInternalExtension + + + + + + + + TenantDialPlanView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TenantDialPlan + + + + + + + + + Identity + + + + Description + + + + NormalizationRules + + + + ExternalAccessPrefix + + + + SimpleName + + + + OptimizeDeviceDialing + + + + + + + + VoicePolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.VoicePolicy + + + + + + + + + Identity + + + + PstnUsages + + + + CustomCallForwardingSimulRingUsages + + + + Description + + + + AllowSimulRing + + + + AllowCallForwarding + + + + AllowPSTNReRouting + + + + Name + + + + EnableDelegation + + + + EnableTeamCall + + + + EnableCallTransfer + + + + EnableCallPark + + + + EnableBusyOptions + + + + EnableMaliciousCallTracing + + + + EnableBWPolicyOverride + + + + PreventPSTNTollBypass + + + + EnableFMC + + + + CallForwardingSimulRingUsageType + + + + VoiceDeploymentMode + + + + EnableVoicemailEscapeTimer + + + + PSTNVoicemailEscapeTimer + + + + TenantAdminEnabled + + + + BusinessVoiceEnabled + + + + + + + + CallerIdPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.CallerIdPolicy + + + + + + + + + Identity + + + + Description + + + + Name + + + + EnableUserOverride + + + + ServiceNumber + + + + CallerIDSubstitute + + + + + + + + CallingLineIdentityView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.CallingLineIdentity + + + + + + + + + Identity + + + + Description + + + + EnableUserOverride + + + + ServiceNumber + + + + CallingIDSubstitute + + + + BlockIncomingPstnCallerID + + + + ResourceAccount + + + + CompanyName + + + + + + + + NgcBvMigrationPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.NgcBvMigrationPolicy + + + + + + + + + Identity + + + + Description + + + + PstnOut + + + + + + + + TestConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TestConfiguration + + + + + + + + + Identity + + + + Name + + + + DialedNumber + + + + TargetDialplan + + + + TargetVoicePolicy + + + + ExpectedTranslatedNumber + + + + ExpectedUsage + + + + ExpectedRoute + + + + + + + + VoiceConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.VoiceConfiguration + + + + + + + + + Identity + + + + VoiceTestConfigurations + + + + + + + + UcPhoneSettingsView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.UcPhoneSettings + + + + + + + + + Identity + + + + CalendarPollInterval + + + + EnforcePhoneLock + + + + PhoneLockTimeout + + + + MinPhonePinLength + + + + SIPSecurityMode + + + + VoiceDiffServTag + + + + Voice8021p + + + + LoggingLevel + + + + + + + + HostedVoicemailPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.HostedVoicemailPolicy + + + + + + + + + Identity + + + + Description + + + + Destination + + + + Organization + + + + BusinessVoiceEnabled + + + + NgcEnabled + + + + + + + + VoiceRoutingPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.VoiceRoutingPolicy + + + + + + + + + Identity + + + + PstnUsages + + + + Description + + + + Name + + + + AllowInternationalCalls + + + + HybridPSTNSiteIndex + + + + + + + + OnlineVoiceRoutingPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.OnlineVoiceRoutingPolicy + + + + + + + + + Identity + + + + OnlinePstnUsages + + + + Description + + + + RouteType + + + + + + + + OnlineAudioConferencingRoutingPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.OnlineAudioConferencingRoutingPolicy + + + + + + + + + Identity + + + + OnlinePstnUsages + + + + Description + + + + RouteType + + + + + + + + SurvivableBranchApplianceView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.SurvivableBranchAppliance + + + + + + + + + Identity + + + + Fqdn + + + + Site + + + + Description + + + + + + + + TeamsSharedCallingRoutingPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsSharedCallingRoutingPolicy + + + + + + + + + Identity + + + + EmergencyNumbers + + + + ResourceAccount + + + + Description + + + + + + + + TeamsBranchSurvivabilityPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsBranchSurvivabilityPolicy + + + + + + + + + Identity + + + + BranchApplianceFqdns + + + + + + + + TeamsAcsFederationConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsAcsFederationConfiguration + + + + + + + + + Identity + + + + AllowedAcsResources + + + + BlockedAcsResources + + + + EnableAcsUsers + + + + AllowAllAcsResources + + + + + + + + DialInConferencingDtmfConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.DialInConferencingDtmfConfiguration + + + + + + + + + Identity + + + + CommandCharacter + + + + MuteUnmuteCommand + + + + AudienceMuteCommand + + + + LockUnlockConferenceCommand + + + + HelpCommand + + + + PrivateRollCallCommand + + + + EnableDisableAnnouncementsCommand + + + + AdmitAll + + + + OperatorLineUri + + + + + + + + DialInConferencingConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.DialInConferencingConfiguration + + + + + + + + + Identity + + + + EntryExitAnnouncementsType + + + + BatchToneAnnouncements + + + + EnableNameRecording + + + + EntryExitAnnouncementsEnabledByDefault + + + + UsePinAuth + + + + PinAuthType + + + + EnableInterpoolTransfer + + + + EnableAccessibilityOptions + + + + EnableAnnouncementServiceTransfer + + + + + + + + DialInConferencingLanguageListView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.DialInConferencingLanguageList + + + + + + + + + Identity + + + + Languages + + + + + + + + TenantFederationSettingsView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TenantFederationSettings + + + + + + + + + Identity + + + + AllowedDomains + + + + BlockedDomains + + + + AllowFederatedUsers + + + + AllowPublicUsers + + + + AllowTeamsSms + + + + AllowTeamsConsumer + + + + AllowTeamsConsumerInbound + + + + TreatDiscoveredPartnersAsUnverified + + + + SharedSipAddressSpace + + + + RestrictTeamsConsumerToExternalUserProfiles + + + + BlockAllSubdomains + + + + ExternalAccessWithTrialTenants + + + + + + + + AllowedDomainsView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.AllowedDomains + + + + + + + + + AllowedDomainsChoice + + + + + + + + AllowListView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.AllowList + + + + + + + + + AllowedDomain + + + + + + + + DomainPatternView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.DomainPattern + + + + + + + + + Domain + + + + + + + + AllowedDomainView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.AllowedDomain + + + + + + + + + Identity + + + + Domain + + + + ProxyFqdn + + + + VerificationLevel + + + + Comment + + + + MarkForMonitoring + + + + + + + + BlockedDomainView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.BlockedDomain + + + + + + + + + Identity + + + + Domain + + + + Comment + + + + + + + + AdditionalInternalDomainView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.AdditionalInternalDomain + + + + + + + + + Identity + + + + Domain + + + + + + + + MediaRelaySettingsView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.MediaRelaySettings + + + + + + + + + Identity + + + + MaxTokenLifetime + + + + MaxBandwidthPerUserKb + + + + MaxBandwidthPerPortKb + + + + PermissionListIgnoreSeconds + + + + MaxAverageConnPps + + + + MaxPeakConnPps + + + + TRAPUrl + + + + TRAPCallDistribution + + + + TRAPHttpclientRetryCount + + + + TRAPHttpclientTimeoutInMilliSeconds + + + + HideMrasInternalFqdnForClientRequest + + + + + + + + OnlineDialinPageConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.OnlineDialinPageConfiguration + + + + + + + + + Identity + + + + MaximumConcurrentBvdGetSipResourceRequests + + + + MaximumConcurrentBvdGetBridgeRequests + + + + EnablePinServicesUserLookup + + + + EnableRedirectToAzureDialinPage + + + + AzureDialinPageUrl + + + + + + + + OnlineDialinConferencingTenantConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.OnlineDialinConferencingTenantConfiguration + + + + + + + + + Identity + + + + Status + + + + EnableCustomTrunking + + + + ThirdPartyNumberStatus + + + + + + + + SharedResourcesConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.SharedResourcesConfiguration + + + + + + + + + Identity + + + + SupportedRings + + + + TelephoneNumberManagementV2ServiceUrl + + + + TenantAdminApiServiceUrl + + + + BusinessVoiceDirectoryUrl + + + + TgsServiceUrl + + + + AgentProvisioningServiceUrl + + + + SipDomain + + + + ProxyFqdn + + + + EmailServiceUrl + + + + MicrosoftEmailServiceUrl + + + + MicrosoftAuthenticationUrl + + + + EmailFlightPercentage + + + + DialOutInformationLink + + + + MediaStorageServiceUrl + + + + GlobalMediaStorageServiceUrl + + + + MediaStorageServiceRegion + + + + TelephoneNumberManagementServiceUrl + + + + NameDictionaryServiceUrl + + + + OrganizationalAutoAttendantAdminServiceUrl + + + + IsEcsProdEnvironment + + + + DialinBridgeFormatEnabled + + + + ApplicationConfigurationServiceUrl + + + + RecognizeServiceEndpointUrl + + + + RecognizeServiceAadResourceUrl + + + + AuthorityUrl + + + + ConferenceAutoAttendantApplicationId + + + + SchedulerMaxBvdConcurrentCalls + + + + + + + + OnlineDialinConferencingServiceConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.OnlineDialinConferencingServiceConfiguration + + + + + + + + + Identity + + + + AnonymousCallerGracePeriod + + + + AnonymousCallerMeetingRuntime + + + + AuthenticatedCallerMeetingRuntime + + + + + + + + OnlineDialInConferencingNumberMapView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.OnlineDialInConferencingNumberMap + + + + + + + + + Identity + + + Priority + + + + Geocodes + + + + Name + + + + Shared + + + + + + + + OnlineDialInConferencingMarketProfileView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.OnlineDialInConferencingMarketProfile + + + + + + + + + Identity + + + Priority + + + + NumberMaps + + + + Name + + + + Code + + + + Region + + + + DefaultBridgeGeocode + + + + + + + + OnlineDialinConferencingDefaultLanguageView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.OnlineDialinConferencingDefaultLanguage + + + + + + + + + Identity + + + + DefaultLanguages + + + + + + + + DefaultLanguageEntryView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.DefaultLanguageEntry + + + + + + + + + SecondaryLanguages + + + + Geocode + + + + PrimaryLanguage + + + + + + + + OnlineDialInConferencingTenantSettingsView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.OnlineDialInConferencingTenantSettings + + + + + + + + + Identity + + + + AllowedDialOutExternalDomains + + + + EnableEntryExitNotifications + + + + EntryExitAnnouncementsType + + + + EnableNameRecording + + + + IncludeTollFreeNumberInMeetingInvites + + + + MaskPstnNumbersType + + + + PinLength + + + + AllowPSTNOnlyMeetingsByDefault + + + + AutomaticallySendEmailsToUsers + + + + SendEmailFromOverride + + + + SendEmailFromAddress + + + + SendEmailFromDisplayName + + + + AutomaticallyReplaceAcpProvider + + + + UseUniqueConferenceIds + + + + AutomaticallyMigrateUserMeetings + + + + MigrateServiceNumbersOnCrossForestMove + + + + EnableDialOutJoinConfirmation + + + + AllowFederatedUsersToDialOutToSelf + + + + AllowFederatedUsersToDialOutToThirdParty + + + + + + + + OnlineDialInConferencingAllowedDomainView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.OnlineDialInConferencingAllowedDomain + + + + + + + + + Identity + + + + Domain + + + + + + + + PlatformApplicationsConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PlatformApplicationsConfiguration + + + + + + + + + Identity + + + + PublicApplicationList + + + + PublicApplicationListMode + + + + + + + + ApplicationMeetingConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.ApplicationMeetingConfiguration + + + + + + + + + Identity + + + + AllowRemoveParticipantAppIds + + + + + + + + TeamsAudioConferencingCustomPromptsConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsAudioConferencingCustomPromptsConfiguration + + + + + + + + + Identity + + + + Prompts + + + + Packages + + + + + + + + CustomPromptView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.CustomPrompt + + + + + + + + + Id + + + + Name + + + + AudioPrompt + + + + TextPrompt + + + + Type + + + + Locale + + + + + + + + CustomPromptPackageView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.CustomPromptPackage + + + + + + + + + InboundStartRecordingPrompt + + + + InboundEndRecordingPrompt + + + + OutboundStartRecordingPrompt + + + + OutboundEndRecordingPrompt + + + + MeetingStartRecordingPrompt + + + + MeetingEndRecordingPrompt + + + + Id + + + + Name + + + + DefaultLocale + + + + + + + + TeamsConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsConfiguration + + + + + + + + + Identity + + + + EnabledForVoice + + + + EnabledForMessaging + + + + + + + + TeamsUpgradeConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsUpgradeConfiguration + + + + + + + + + Identity + + + + DownloadTeams + + + + SfBMeetingJoinUx + + + + BlockLegacyAuthorization + + + + + + + + TeamsClientConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsClientConfiguration + + + + + + + + + Identity + + + + AllowEmailIntoChannel + + + + RestrictedSenderList + + + + AllowDropBox + + + + AllowBox + + + + AllowGoogleDrive + + + + AllowShareFile + + + + AllowEgnyte + + + + AllowOrganizationTab + + + + AllowSkypeBusinessInterop + + + + ContentPin + + + + AllowResourceAccountSendMessage + + + + ResourceAccountContentAccess + + + + AllowGuestUser + + + + AllowScopedPeopleSearchandAccess + + + + AllowRoleBasedChatPermissions + + + + + + + + TeamsGuestMessagingConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsGuestMessagingConfiguration + + + + + + + + + Identity + + + + AllowUserEditMessage + + + + AllowUserDeleteMessage + + + + AllowUserDeleteChat + + + + AllowUserChat + + + + AllowGiphy + + + + GiphyRatingType + + + + AllowMemes + + + + AllowImmersiveReader + + + + AllowStickers + + + + + + + + TeamsGuestMeetingConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsGuestMeetingConfiguration + + + + + + + + + Identity + + + + AllowIPVideo + + + + ScreenSharingMode + + + + AllowMeetNow + + + + LiveCaptionsEnabledType + + + + AllowTranscription + + + + + + + + TeamsGuestCallingConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsGuestCallingConfiguration + + + + + + + + + Identity + + + + AllowPrivateCalling + + + + + + + + TeamsMeetingBroadcastConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsMeetingBroadcastConfiguration + + + + + + + + + Identity + + + + SupportURL + + + + AllowSdnProviderForBroadcastMeeting + + + + + + + + TeamsEffectiveMeetingSurveyConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsEffectiveMeetingSurveyConfiguration + + + + + + + + + Identity + + + + Survey + + + + DefaultOrganizerMode + + + + + + + + TeamsCallHoldValidationConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsCallHoldValidationConfiguration + + + + + + + + + Identity + + + + AudioFileValidationEnabled + + + + AudioFileValidationUri + + + + + + + + TeamsEducationConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsEducationConfiguration + + + + + + + + + Identity + + + + ParentGuardianPreferredContactMethod + + + + EduGenerativeAIEnhancements + + + + UpdateParentInformation + + + + + + + + TeamsMeetingTemplateConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsMeetingTemplateConfiguration + + + + + + + + + Identity + + + + TeamsMeetingTemplates + + + + Description + + + + + + + + TeamsMeetingTemplateTypeView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsMeetingTemplateType + + + + + + + + + Identity + + + + TeamsMeetingOptions + + + + Description + + + + Name + + + + Category + + + + + + + + TeamsMeetingOptionView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsMeetingOption + + + + + + + + + IsLocked + + + + IsHidden + + + + Value + + + + Name + + + + + + + + TeamsFirstPartyMeetingTemplateConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsFirstPartyMeetingTemplateConfiguration + + + + + + + + + Identity + + + + TeamsMeetingTemplates + + + + Description + + + + + + + + TeamsMessagingConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsMessagingConfiguration + + + + + + + + + Identity + + + + EnableVideoMessageCaptions + + + + EnableInOrganizationChatControl + + + + CustomEmojis + + + + + + + + CustomBannerTextView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.CustomBannerText + + + + + + + + + Identity + + + + Id + + + + Text + + + + Description + + + + + + + + TeamsExternalAccessConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsExternalAccessConfiguration + + + + + + + + + Identity + + + + BlockedUsers + + + + BlockExternalUserAccess + + + + + + + + TenantMigrationConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TenantMigrationConfiguration + + + + + + + + + Identity + + + + MeetingMigrationEnabled + + + + + + + + TenantNetworkConfigurationSettingsView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TenantNetworkConfigurationSettings + + + + + + + + + Identity + + + + NetworkRegions + + + + NetworkSites + + + + Subnets + + + + PostalCodes + + + + + + + + NetworkRegionTypeView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.NetworkRegionType + + + + + + + + + Identity + + + + Description + + + + CentralSite + + + + NetworkRegionID + + + + + + + + NetworkSiteTypeView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.NetworkSiteType + + + + + + + + + Identity + + + + Description + + + + NetworkRegionID + + + + LocationPolicyID + + + + SiteAddress + + + + NetworkSiteID + + + + OnlineVoiceRoutingPolicyTagID + + + + EnableLocationBasedRouting + + + + EmergencyCallRoutingPolicyTagID + + + + EmergencyCallingPolicyTagID + + + + NetworkRoamingPolicyTagID + + + + EmergencyCallRoutingPolicyName + + + + EmergencyCallingPolicyName + + + + NetworkRoamingPolicyName + + + + + + + + SubnetTypeView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.SubnetType + + + + + + + + + Identity + + + + Description + + + + NetworkSiteID + + + + MaskBits + + + + SubnetID + + + + + + + + PostalCodeTypeView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PostalCodeType + + + + + + + + + Identity + + + + Description + + + + NetworkSiteID + + + + PostalCode + + + + CountryCode + + + + + + + + TrustedIPView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.TrustedIP + + + + + + + + + Identity + + + + MaskBits + + + + Description + + + + IPAddress + + + + + + + + VideoInteropServiceProviderView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.VideoInteropServiceProvider + + + + + + + + + Identity + + + + Name + + + + AadApplicationIds + + + + TenantKey + + + + InstructionUri + + + + AllowAppGuestJoinsAsAuthenticated + + + + + + + + UnassignedNumberTreatmentView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.UnassignedNumberTreatment + + + + + + + + + Identity + + + + TreatmentId + + + + Pattern + + + + TargetType + + + + Target + + + + TreatmentPriority + + + + Description + + + + + + + + UserServicesSettingsView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.UserServicesSettings + + + + + + + + + Identity + + + + PresenceProviders + + + + $_.MaintenanceTimeOfDay.ToShortTimeString() + + + + MinSubscriptionExpiration + + + + MaxSubscriptionExpiration + + + + DefaultSubscriptionExpiration + + + + AnonymousUserGracePeriod + + + + DeactivationGracePeriod + + + + MaxScheduledMeetingsPerOrganizer + + + + AllowNonRoomSystemNotification + + + + MaxSubscriptions + + + + MaxContacts + + + + MaxPersonalNotes + + + + SubscribeToCollapsedDG + + + + StateReplicationFlag + + + + TestFeatureList + + + + TestParameterList + + + + + + + + PresenceProviderView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PresenceProvider + + + + + + + + + Identity + + + + Fqdn + + + + + + + + PrivacyConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PrivacyConfiguration + + + + + + + + + Identity + + + + EnablePrivacyMode + + + + AutoInitiateContacts + + + + PublishLocationDataDefault + + + + DisplayPublishedPhotoDefault + + + + + + + + MeetingConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.MeetingConfiguration + + + + + + + + + Identity + + + + PstnCallersBypassLobby + + + + EnableAssignedConferenceType + + + + DesignateAsPresenter + + + + AssignedConferenceTypeByDefault + + + + AdmitAnonymousUsersByDefault + + + + RequireRoomSystemsAuthorization + + + + LogoURL + + + + LegalURL + + + + HelpURL + + + + CustomFooterText + + + + AllowConferenceRecording + + + + AllowCloudRecordingService + + + + EnableMeetingReport + + + + UserUriFormatForStUser + + + + + + + + RoutingDataSyncAgentConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.RoutingDataSyncAgentConfiguration + + + + + + + + + Identity + + + + Enabled + + + + BatchesPerTransaction + + + + + + + + UserStoreConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.UserStoreConfiguration + + + + + + + + + Identity + + + + UserStoreServiceUri + + + + UserStoreSyncAgentSyncIntervalSeconds + + + + UserStoreSyncAgentSyncIntervalSecondsForPush + + + + UserStoreSyncAgentSyncIntervalTimeoutSeconds + + + + UserStoreClientRetryCount + + + + UserStoreClientWaitBeforeRetryMilliseconds + + + + UserStoreClientTimeoutPerTrySeconds + + + + UserStoreClientRetryCountForPush + + + + UserStoreClientWaitBeforeRetryMillisecondsForPush + + + + UserStoreClientTimeoutPerTrySecondsForPush + + + + MaxConcurrentPulls + + + + MaxConfDocsToPull + + + + HealthProbeRtcSrvIntervalSeconds + + + + HealthProbeReplicationAppIntervalSeconds + + + + UserStoreClientUseIfxLogging + + + + UserStoreClientLoggingIfxSessionName + + + + UserStoreClientLoggingFileLocation + + + + UserStoreClientEnableHttpTracing + + + + UserStoreClientHttpTimeoutSeconds + + + + UserStoreClientConnectionLimit + + + + UserStorePhase + + + + BackfillFrequencySeconds + + + + BackfillQueueSizeThreshold + + + + BackfillBatchSize + + + + RoutingGroupPartitionHealthExpirationInMinutes + + + + RoutingGroupPartitionUnhealthyThresholdInMinutes + + + + RoutingGroupPartitionFailuresThreshold + + + + PartitionKeySuffix + + + + EnablePullStatusReporting + + + + EnableSlowPullBackOff + + + + BackOffValueMaximumThresholdInSeconds + + + + BackOffInitialValueInSeconds + + + + BackOffFactor + + + + PushControllerBatchSize + + + + HttpIdleConnectionTimeInSeconds + + + + + + + + BroadcastMeetingConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.BroadcastMeetingConfiguration + + + + + + + + + Identity + + + + EnableBroadcastMeeting + + + + EnableOpenBroadcastMeeting + + + + EnableBroadcastMeetingRecording + + + + EnableAnonymousBroadcastMeeting + + + + EnforceBroadcastMeetingRecording + + + + BroadcastMeetingSupportUrl + + + + EnableSdnProviderForBroadcastMeeting + + + + SdnFallbackAttendeeThresholdCountForBroadcastMeeting + + + + EnableTechPreviewFeatures + + + + + + + + CloudMeetingConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.CloudMeetingConfiguration + + + + + + + + + Identity + + + + EnableAutoSchedule + + + + + + + + CloudVideoInteropConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.CloudVideoInteropConfiguration + + + + + + + + + Identity + + + + EnableCloudVideoInterop + + + + AllowLobbyBypass + + + + + + + + CloudMeetingServiceConfigurationView + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.CloudMeetingServiceConfiguration + + + + + + + + + Identity + + + + SchedulingUrl + + + + DiscoveryUrl + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.oce.psd1 b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.oce.psd1 new file mode 100644 index 000000000000..352c30453003 --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.oce.psd1 @@ -0,0 +1,537 @@ +# +# Module manifest for module 'Microsoft.Teams.Policy.Administration.Core' +# + +@{ +# Script module or binary module file associated with this manifest. +RootModule = './Microsoft.Teams.Policy.Administration.Cmdlets.Core.psm1' + +# Version number of this module. +ModuleVersion = '1.1.10' + +# Supported PSEditions +CompatiblePSEditions = 'Core', 'Desktop' + +# ID used to uniquely identify this module +GUID = '048c99d9-471a-4935-a810-542687c5f950' + +# Author of this module +Author = 'Microsoft Corporation' + +# Company or vendor of this module +CompanyName = 'Microsoft Corporation' + +# Copyright statement for this module +Copyright = 'Microsoft Corporation. All rights reserved.' + +# Description of the functionality provided by this module +Description = 'Microsoft Teams OCE cmdlets module for Policy Administration' + +# Minimum version of the Windows PowerShell engine required by this module +PowerShellVersion = '5.1' + +# Name of the Windows PowerShell host required by this module +# PowerShellHostName = '' + +# Minimum version of the Windows PowerShell host required by this module +# PowerShellHostVersion = '' + +# Minimum version of Microsoft .NET Framework required by this module. This prerequisite is valid for the PowerShell Desktop edition only. +DotNetFrameworkVersion = '4.7.2' + +# Minimum version of the common language runtime (CLR) required by this module. This prerequisite is valid for the PowerShell Desktop edition only. +CLRVersion = '4.0' + +# Processor architecture (None, X86, Amd64) required by this module +# ProcessorArchitecture = 'Amd64' + +# Modules that must be imported into the global environment prior to importing this module +# RequiredModules = @() + +# Assemblies that must be loaded prior to importing this module +# RequiredAssemblies = @() + +# Script files (.ps1) that are run in the caller's environment prior to importing this module. +# Removed this script from here because this module is used in SAW machines as well where Contraint Language Mode is on. +# Because of CLM constraint we were not able to import Teams module to SAW machines, that is why removing this script. +# ScriptsToProcess = @() + +# Type files (.ps1xml) to be loaded when importing this module +# TypesToProcess = @() + +# Format files (.ps1xml) to be loaded when importing this module +FormatsToProcess = @() + +# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess +NestedModules = @() + +# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export. +FunctionsToExport = '*' + +# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export. +CmdletsToExport = @( + 'New-CsTeamsAppSetupPolicy', + 'Get-CsTeamsAppSetupPolicy', + 'Remove-CsTeamsAppSetupPolicy', + 'Set-CsTeamsAppSetupPolicy', + 'Grant-CsTeamsAppSetupPolicy', + + + 'New-CsTeamsAppPermissionPolicy', + 'Get-CsTeamsAppPermissionPolicy', + 'Remove-CsTeamsAppPermissionPolicy', + 'Set-CsTeamsAppPermissionPolicy', + 'Grant-CsTeamsAppPermissionPolicy', + + 'New-CsTeamsMessagingPolicy', + 'Set-CsTeamsMessagingPolicy', + 'Get-CsTeamsMessagingPolicy', + 'Remove-CsTeamsMessagingPolicy', + + 'New-CsTeamsChannelsPolicy', + 'Get-CsTeamsChannelsPolicy', + 'Remove-CsTeamsChannelsPolicy', + 'Set-CsTeamsChannelsPolicy', + + 'New-CsTeamsUpdateManagementPolicy', + 'Get-CsTeamsUpdateManagementPolicy', + 'Remove-CsTeamsUpdateManagementPolicy', + 'Set-CsTeamsUpdateManagementPolicy', + + 'Get-CsTeamsUpgradeConfiguration', + 'Set-CsTeamsUpgradeConfiguration', + + 'New-CsTeamsMeetingPolicy', + 'Get-CsTeamsMeetingPolicy', + 'Remove-CsTeamsMeetingPolicy', + 'Set-CsTeamsMeetingPolicy', + + 'Get-CsOnlineVoicemailPolicy', + 'New-CsOnlineVoicemailPolicy', + 'Remove-CsOnlineVoicemailPolicy', + 'Set-CsOnlineVoicemailPolicy', + + 'Get-CsOnlineVoicemailValidationConfiguration', + 'Set-CsOnlineVoicemailValidationConfiguration', + + 'New-CsTeamsFeedbackPolicy', + 'Get-CsTeamsFeedbackPolicy', + 'Remove-CsTeamsFeedbackPolicy', + 'Set-CsTeamsFeedbackPolicy', + + 'New-CsTeamsMeetingBrandingPolicy', + 'Get-CsTeamsMeetingBrandingPolicy', + 'Remove-CsTeamsMeetingBrandingPolicy', + 'Set-CsTeamsMeetingBrandingPolicy', + 'Grant-CsTeamsMeetingBrandingPolicy' + + 'New-CsTeamsMeetingBrandingTheme', + 'New-CsTeamsMeetingBackgroundImage', + 'New-CsTeamsNdiAssuranceSlate', + + 'New-CsTeamsEmergencyCallingPolicy', + 'Get-CsTeamsEmergencyCallingPolicy', + 'Remove-CsTeamsEmergencyCallingPolicy', + 'Set-CsTeamsEmergencyCallingPolicy', + 'New-CsTeamsEmergencyCallingExtendedNotification', + + 'New-CsTeamsCallHoldPolicy', + 'Get-CsTeamsCallHoldPolicy', + 'Remove-CsTeamsCallHoldPolicy', + 'Set-CsTeamsCallHoldPolicy', + + 'Get-CsOnlineVoicemailValidationConfiguration', + 'Set-CsOnlineVoicemailValidationConfiguration', + 'Get-CsTeamsMessagingConfiguration', + 'Set-CsTeamsMessagingConfiguration', + + 'New-CsTeamsVoiceApplicationsPolicy', + 'Get-CsTeamsVoiceApplicationsPolicy', + 'Remove-CsTeamsVoiceApplicationsPolicy', + 'Set-CsTeamsVoiceApplicationsPolicy', + + 'New-CsTeamsHiddenMeetingTemplate', + + 'New-CsTeamsMeetingTemplatePermissionPolicy', + 'Get-CsTeamsMeetingTemplatePermissionPolicy', + 'Set-CsTeamsMeetingTemplatePermissionPolicy', + 'Remove-CsTeamsMeetingTemplatePermissionPolicy', + 'Grant-CsTeamsMeetingTemplatePermissionPolicy', + + "Get-CsTeamsAudioConferencingCustomPromptsConfiguration", + "Set-CsTeamsAudioConferencingCustomPromptsConfiguration", + "New-CsCustomPrompt", + "New-CsCustomPromptPackage", + + 'Get-CsTeamsMeetingTemplateConfiguration', + 'Get-CsTeamsFirstPartyMeetingTemplateConfiguration', + + 'New-CsTeamsEventsPolicy', + 'Get-CsTeamsEventsPolicy', + 'Remove-CsTeamsEventsPolicy', + 'Set-CsTeamsEventsPolicy', + 'Grant-CsTeamsEventsPolicy', + + 'New-CsTeamsCallingPolicy', + 'Get-CsTeamsCallingPolicy', + 'Remove-CsTeamsCallingPolicy', + 'Set-CsTeamsCallingPolicy', + 'Grant-CsTeamsCallingPolicy', + + 'New-CsExternalAccessPolicy', + 'Get-CsExternalAccessPolicy', + 'Remove-CsExternalAccessPolicy', + 'Set-CsExternalAccessPolicy', + 'Grant-CsExternalAccessPolicy', + + 'New-CsLocationPolicy', + 'Get-CsLocationPolicy', + 'Remove-CsLocationPolicy', + 'Set-CsLocationPolicy', + + 'New-CsTeamsCarrierEmergencyCallRoutingPolicy', + 'Get-CsTeamsCarrierEmergencyCallRoutingPolicy', + 'Remove-CsTeamsCarrierEmergencyCallRoutingPolicy', + 'Set-CsTeamsCarrierEmergencyCallRoutingPolicy', + 'Grant-CsTeamsCarrierEmergencyCallRoutingPolicy', + + 'Get-CsTenantConfiguration', + 'Set-CsTenantConfiguration', + + 'Get-CsTenantNetworkSite', + + 'New-CsTeamsShiftsPolicy', + 'Get-CsTeamsShiftsPolicy', + 'Remove-CsTeamsShiftsPolicy', + 'Set-CsTeamsShiftsPolicy', + 'Grant-CsTeamsShiftsPolicy', + + 'New-CsTeamsHiddenTemplate', + + 'New-CsTeamsTemplatePermissionPolicy', + 'Get-CsTeamsTemplatePermissionPolicy', + 'Remove-CsTeamsTemplatePermissionPolicy', + 'Set-CsTeamsTemplatePermissionPolicy', + + 'Get-CsTeamsAppPolicyConfiguration', + 'Set-CsTeamsAppPolicyConfiguration', + + 'Get-CsTeamsSipDevicesConfiguration', + 'Set-CsTeamsSipDevicesConfiguration', + + 'New-CsTeamsVirtualAppointmentsPolicy', + 'Get-CsTeamsVirtualAppointmentsPolicy', + 'Remove-CsTeamsVirtualAppointmentsPolicy', + 'Set-CsTeamsVirtualAppointmentsPolicy', + 'Grant-CsTeamsVirtualAppointmentsPolicy', + + 'New-CsTeamsComplianceRecordingPolicy', + 'Get-CsTeamsComplianceRecordingPolicy', + 'Remove-CsTeamsComplianceRecordingPolicy', + 'Set-CsTeamsComplianceRecordingPolicy', + + 'New-CsTeamsComplianceRecordingApplication', + 'Get-CsTeamsComplianceRecordingApplication', + 'Remove-CsTeamsComplianceRecordingApplication', + 'Set-CsTeamsComplianceRecordingApplication', + + 'New-CsTeamsComplianceRecordingPairedApplication', + + 'New-CsTeamsSharedCallingRoutingPolicy', + 'Get-CsTeamsSharedCallingRoutingPolicy', + 'Remove-CsTeamsSharedCallingRoutingPolicy', + 'Set-CsTeamsSharedCallingRoutingPolicy', + 'Grant-CsTeamsSharedCallingRoutingPolicy', + + 'New-CsTeamsVdiPolicy', + 'Get-CsTeamsVdiPolicy', + 'Remove-CsTeamsVdiPolicy', + 'Set-CsTeamsVdiPolicy', + 'Grant-CsTeamsVdiPolicy', + + 'Get-CsTeamsMeetingConfiguration', + 'Set-CsTeamsMeetingConfiguration', + + 'New-CsTeamsCustomBannerText', + 'Get-CsTeamsCustomBannerText', + 'Set-CsTeamsCustomBannerText', + 'Remove-CsTeamsCustomBannerText', + + 'Get-CsTeamsEducationConfiguration', + 'Set-CsTeamsEducationConfiguration', + + 'New-CsTeamsWorkLocationDetectionPolicy', + 'Get-CsTeamsWorkLocationDetectionPolicy', + 'Remove-CsTeamsWorkLocationDetectionPolicy', + 'Set-CsTeamsWorkLocationDetectionPolicy', + 'Grant-CsTeamsWorkLocationDetectionPolicy', + + 'New-CsTeamsMediaConnectivityPolicy', + 'Get-CsTeamsMediaConnectivityPolicy', + 'Remove-CsTeamsMediaConnectivityPolicy', + 'Set-CsTeamsMediaConnectivityPolicy', + 'Grant-CsTeamsMediaConnectivityPolicy', + + 'New-CsTeamsRecordingRollOutPolicy', + 'Get-CsTeamsRecordingRollOutPolicy', + 'Remove-CsTeamsRecordingRollOutPolicy', + 'Set-CsTeamsRecordingRollOutPolicy', + 'Grant-CsTeamsRecordingRollOutPolicy', + + 'New-CsTeamsFilesPolicy', + 'Get-CsTeamsFilesPolicy', + 'Remove-CsTeamsFilesPolicy', + 'Set-CsTeamsFilesPolicy', + 'Grant-CsTeamsFilesPolicy', + + 'Get-CsTeamsExternalAccessConfiguration', + 'Set-CsTeamsExternalAccessConfiguration', + + 'New-CsConversationRole', + 'Remove-CsConversationRole', + 'Get-CsConversationRole', + 'Set-CsConversationRole', + + 'Get-CsConversationRolesSetting', + 'Set-CsConversationRolesSetting' +) + +# Variables to export from this module +VariablesToExport = @() + +# Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export. +AliasesToExport = @() + +# DSC resources to export from this module +# DscResourcesToExport = @() + +# List of all modules packaged with this module +# ModuleList = @() + +# List of all files packaged with this module +# FileList = @() + +# Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell. +PrivateData = @{} + +# HelpInfo URI of this module +# HelpInfoURI = '' + +# Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix. +# DefaultCommandPrefix = '' +} +# SIG # Begin signature block +# MIInvwYJKoZIhvcNAQcCoIInsDCCJ6wCAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBWUsquGU/yoKWz +# 7H5RqYzPkZ2ACV4KAwzvxcOxQfo8cqCCDXYwggX0MIID3KADAgECAhMzAAADrzBA +# DkyjTQVBAAAAAAOvMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMjMxMTE2MTkwOTAwWhcNMjQxMTE0MTkwOTAwWjB0MQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +# AQDOS8s1ra6f0YGtg0OhEaQa/t3Q+q1MEHhWJhqQVuO5amYXQpy8MDPNoJYk+FWA +# hePP5LxwcSge5aen+f5Q6WNPd6EDxGzotvVpNi5ve0H97S3F7C/axDfKxyNh21MG +# 0W8Sb0vxi/vorcLHOL9i+t2D6yvvDzLlEefUCbQV/zGCBjXGlYJcUj6RAzXyeNAN +# xSpKXAGd7Fh+ocGHPPphcD9LQTOJgG7Y7aYztHqBLJiQQ4eAgZNU4ac6+8LnEGAL +# go1ydC5BJEuJQjYKbNTy959HrKSu7LO3Ws0w8jw6pYdC1IMpdTkk2puTgY2PDNzB +# tLM4evG7FYer3WX+8t1UMYNTAgMBAAGjggFzMIIBbzAfBgNVHSUEGDAWBgorBgEE +# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQURxxxNPIEPGSO8kqz+bgCAQWGXsEw +# RQYDVR0RBD4wPKQ6MDgxHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEW +# MBQGA1UEBRMNMjMwMDEyKzUwMTgyNjAfBgNVHSMEGDAWgBRIbmTlUAXTgqoXNzci +# tW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8vd3d3Lm1pY3Jvc29mdC5j +# b20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3JsMGEG +# CCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDovL3d3dy5taWNyb3NvZnQu +# Y29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3J0 +# MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIBAISxFt/zR2frTFPB45Yd +# mhZpB2nNJoOoi+qlgcTlnO4QwlYN1w/vYwbDy/oFJolD5r6FMJd0RGcgEM8q9TgQ +# 2OC7gQEmhweVJ7yuKJlQBH7P7Pg5RiqgV3cSonJ+OM4kFHbP3gPLiyzssSQdRuPY +# 1mIWoGg9i7Y4ZC8ST7WhpSyc0pns2XsUe1XsIjaUcGu7zd7gg97eCUiLRdVklPmp +# XobH9CEAWakRUGNICYN2AgjhRTC4j3KJfqMkU04R6Toyh4/Toswm1uoDcGr5laYn +# TfcX3u5WnJqJLhuPe8Uj9kGAOcyo0O1mNwDa+LhFEzB6CB32+wfJMumfr6degvLT +# e8x55urQLeTjimBQgS49BSUkhFN7ois3cZyNpnrMca5AZaC7pLI72vuqSsSlLalG +# OcZmPHZGYJqZ0BacN274OZ80Q8B11iNokns9Od348bMb5Z4fihxaBWebl8kWEi2O +# PvQImOAeq3nt7UWJBzJYLAGEpfasaA3ZQgIcEXdD+uwo6ymMzDY6UamFOfYqYWXk +# ntxDGu7ngD2ugKUuccYKJJRiiz+LAUcj90BVcSHRLQop9N8zoALr/1sJuwPrVAtx +# HNEgSW+AKBqIxYWM4Ev32l6agSUAezLMbq5f3d8x9qzT031jMDT+sUAoCw0M5wVt +# CUQcqINPuYjbS1WgJyZIiEkBMIIHejCCBWKgAwIBAgIKYQ6Q0gAAAAAAAzANBgkq +# hkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x +# EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv +# bjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5 +# IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEwOTA5WjB+MQswCQYDVQQG +# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG +# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQg +# Q29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC +# CgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+laUKq4BjgaBEm6f8MMHt03 +# a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc6Whe0t+bU7IKLMOv2akr +# rnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4Ddato88tt8zpcoRb0Rrrg +# OGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+lD3v++MrWhAfTVYoonpy +# 4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nkkDstrjNYxbc+/jLTswM9 +# sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6A4aN91/w0FK/jJSHvMAh +# dCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmdX4jiJV3TIUs+UsS1Vz8k +# A/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL5zmhD+kjSbwYuER8ReTB +# w3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zdsGbiwZeBe+3W7UvnSSmn +# Eyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3T8HhhUSJxAlMxdSlQy90 +# lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS4NaIjAsCAwEAAaOCAe0w +# ggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRIbmTlUAXTgqoXNzcitW2o +# ynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYD +# VR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBDuRQFTuHqp8cx0SOJNDBa +# BgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2Ny +# bC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3JsMF4GCCsG +# AQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3dy5taWNyb3NvZnQuY29t +# L3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3J0MIGfBgNV +# HSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEFBQcCARYzaHR0cDovL3d3 +# dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1hcnljcHMuaHRtMEAGCCsG +# AQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkAYwB5AF8AcwB0AGEAdABl +# AG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn8oalmOBUeRou09h0ZyKb +# C5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7v0epo/Np22O/IjWll11l +# hJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0bpdS1HXeUOeLpZMlEPXh6 +# I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/KmtYSWMfCWluWpiW5IP0 +# wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvyCInWH8MyGOLwxS3OW560 +# STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBpmLJZiWhub6e3dMNABQam +# ASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJihsMdYzaXht/a8/jyFqGa +# J+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYbBL7fQccOKO7eZS/sl/ah +# XJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbSoqKfenoi+kiVH6v7RyOA +# 9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sLgOppO6/8MO0ETI7f33Vt +# Y5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtXcVZOSEXAQsmbdlsKgEhr +# /Xmfwb1tbWrJUnMTDXpQzTGCGZ8wghmbAgEBMIGVMH4xCzAJBgNVBAYTAlVTMRMw +# EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN +# aWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNp +# Z25pbmcgUENBIDIwMTECEzMAAAOvMEAOTKNNBUEAAAAAA68wDQYJYIZIAWUDBAIB +# BQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEO +# MAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIDtKfxsYIxTytpm4R3rY/BLw +# /eQcv4z3ulYtGNtrhqggMEIGCisGAQQBgjcCAQwxNDAyoBSAEgBNAGkAYwByAG8A +# cwBvAGYAdKEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20wDQYJKoZIhvcNAQEB +# BQAEggEAEb6K3I6pXlGNyu7fJZ9hmp9WDUfdSf1Lbdxv29EPzses/ZQgk4+FSr29 +# 7cz12YmfjvLnuQJP8vZhge8i9cfrNZ2ZPCFlPSoPA57Op4KIjl8F13RVh6WIIVBo +# +8un1C264WlgJwwjAoA/2SeVlUSwcyPlc0XmowGtB1pZZ9RrBvYCf2xXtROzl2Gz +# X3E19F5QimiUQkq/oeUSscNGC2HS4i/ctc+jtA0IksWqO6KT9CjDm43ORytcdinh +# A/kbSZ/tRZJ/t3aS42X81PaPDeHYnqJYN1Gi6l1+7kx7mnWqK7c4pdzZsA5Hbkmy +# 32D1G3rYRKSbnZtdSaFbAcEiLmf/faGCFykwghclBgorBgEEAYI3AwMBMYIXFTCC +# FxEGCSqGSIb3DQEHAqCCFwIwghb+AgEDMQ8wDQYJYIZIAWUDBAIBBQAwggFZBgsq +# hkiG9w0BCRABBKCCAUgEggFEMIIBQAIBAQYKKwYBBAGEWQoDATAxMA0GCWCGSAFl +# AwQCAQUABCCl5QwhpF5gGVcTyAVHY14DZWHxaTnxzrxtUuwB7ermagIGZlc9ifW8 +# GBMyMDI0MDYxOTExMzEyOS43NDZaMASAAgH0oIHYpIHVMIHSMQswCQYDVQQGEwJV +# UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE +# ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQgSXJl +# bGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNO +# Ojg2REYtNEJCQy05MzM1MSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBT +# ZXJ2aWNloIIReDCCBycwggUPoAMCAQICEzMAAAHdXVcdldStqhsAAQAAAd0wDQYJ +# KoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x +# EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv +# bjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwHhcNMjMx +# MDEyMTkwNzA5WhcNMjUwMTEwMTkwNzA5WjCB0jELMAkGA1UEBhMCVVMxEzARBgNV +# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv +# c29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxhbmQgT3Bl +# cmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjo4NkRGLTRC +# QkMtOTMzNTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZTCC +# AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKhOA5RE6i53nHURH4lnfKLp +# +9JvipuTtctairCxMUSrPSy5CWK2DtriQP+T52HXbN2g7AktQ1pQZbTDGFzK6d03 +# vYYNrCPuJK+PRsP2FPVDjBXy5mrLRFzIHHLaiAaobE5vFJuoxZ0ZWdKMCs8acjhH +# UmfaY+79/CR7uN+B4+xjJqwvdpU/mp0mAq3earyH+AKmv6lkrQN8zgrcbCgHwsqv +# vqT6lEFqYpi7uKn7MAYbSeLe0pMdatV5EW6NVnXMYOTRKuGPfyfBKdShualLo88k +# G7qa2mbA5l77+X06JAesMkoyYr4/9CgDFjHUpcHSODujlFBKMi168zRdLerdpW0b +# BX9EDux2zBMMaEK8NyxawCEuAq7++7ktFAbl3hUKtuzYC1FUZuUl2Bq6U17S4CKs +# qR3itLT9qNcb2pAJ4jrIDdll5Tgoqef5gpv+YcvBM834bXFNwytd3ujDD24P9Dd8 +# xfVJvumjsBQQkK5T/qy3HrQJ8ud1nHSvtFVi5Sa/ubGuYEpS8gF6GDWN5/KbveFk +# dsoTVIPo8pkWhjPs0Q7nA5+uBxQB4zljEjKz5WW7BA4wpmFm24fhBmRjV4Nbp+n7 +# 8cgAjvDSfTlA6DYBcv2kx1JH2dIhaRnSeOXePT6hMF0Il598LMu0rw35ViUWcAQk +# UNUTxRnqGFxz5w+ZusMDAgMBAAGjggFJMIIBRTAdBgNVHQ4EFgQUbqL1toyPUdpF +# yyHSDKWj0I4lw/EwHwYDVR0jBBgwFoAUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXwYD +# VR0fBFgwVjBUoFKgUIZOaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9j +# cmwvTWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUyMDIwMTAoMSkuY3JsMGwG +# CCsGAQUFBwEBBGAwXjBcBggrBgEFBQcwAoZQaHR0cDovL3d3dy5taWNyb3NvZnQu +# Y29tL3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIw +# MjAxMCgxKS5jcnQwDAYDVR0TAQH/BAIwADAWBgNVHSUBAf8EDDAKBggrBgEFBQcD +# CDAOBgNVHQ8BAf8EBAMCB4AwDQYJKoZIhvcNAQELBQADggIBAC5U2bINLgXIHWbM +# cqVuf9jkUT/K8zyLBvu5h8JrqYR2z/eaO2yo1Ooc9Shyvxbe9GZDu7kkUzxSyJ1I +# ZksZZw6FDq6yZNT3PEjAEnREpRBL8S+mbXg+O4VLS0LSmb8XIZiLsaqZ0fDEcv3H +# eA+/y/qKnCQWkXghpaEMwGMQzRkhGwcGdXr1zGpQ7HTxvfu57xFxZX1MkKnWFENJ +# 6urd+4teUgXj0ngIOx//l3XMK3Ht8T2+zvGJNAF+5/5qBk7nr079zICbFXvxtidN +# N5eoXdW+9rAIkS+UGD19AZdBrtt6dZ+OdAquBiDkYQ5kVfUMKS31yHQOGgmFxuCO +# zTpWHalrqpdIllsy8KNsj5U9sONiWAd9PNlyEHHbQZDmi9/BNlOYyTt0YehLbDov +# mZUNazk79Od/A917mqCdTqrExwBGUPbMP+/vdYUqaJspupBnUtjOf/76DAhVy8e/ +# e6zR98PkplmliO2brL3Q3rD6+ZCVdrGM9Rm6hUDBBkvYh+YjmGdcQ5HB6WT9Rec8 +# +qDHmbhLhX4Zdaard5/OXeLbgx2f7L4QQQj3KgqjqDOWInVhNE1gYtTWLHe4882d +# /k7Lui0K1g8EZrKD7maOrsJLKPKlegceJ9FCqY1sDUKUhRa0EHUW+ZkKLlohKrS7 +# FwjdrINWkPBgbQznCjdE2m47QjTbMIIHcTCCBVmgAwIBAgITMwAAABXF52ueAptJ +# mQAAAAAAFTANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT +# Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m +# dCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNh +# dGUgQXV0aG9yaXR5IDIwMTAwHhcNMjEwOTMwMTgyMjI1WhcNMzAwOTMwMTgzMjI1 +# WjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH +# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQD +# Ex1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDCCAiIwDQYJKoZIhvcNAQEB +# BQADggIPADCCAgoCggIBAOThpkzntHIhC3miy9ckeb0O1YLT/e6cBwfSqWxOdcjK +# NVf2AX9sSuDivbk+F2Az/1xPx2b3lVNxWuJ+Slr+uDZnhUYjDLWNE893MsAQGOhg +# fWpSg0S3po5GawcU88V29YZQ3MFEyHFcUTE3oAo4bo3t1w/YJlN8OWECesSq/XJp +# rx2rrPY2vjUmZNqYO7oaezOtgFt+jBAcnVL+tuhiJdxqD89d9P6OU8/W7IVWTe/d +# vI2k45GPsjksUZzpcGkNyjYtcI4xyDUoveO0hyTD4MmPfrVUj9z6BVWYbWg7mka9 +# 7aSueik3rMvrg0XnRm7KMtXAhjBcTyziYrLNueKNiOSWrAFKu75xqRdbZ2De+JKR +# Hh09/SDPc31BmkZ1zcRfNN0Sidb9pSB9fvzZnkXftnIv231fgLrbqn427DZM9itu +# qBJR6L8FA6PRc6ZNN3SUHDSCD/AQ8rdHGO2n6Jl8P0zbr17C89XYcz1DTsEzOUyO +# ArxCaC4Q6oRRRuLRvWoYWmEBc8pnol7XKHYC4jMYctenIPDC+hIK12NvDMk2ZItb +# oKaDIV1fMHSRlJTYuVD5C4lh8zYGNRiER9vcG9H9stQcxWv2XFJRXRLbJbqvUAV6 +# bMURHXLvjflSxIUXk8A8FdsaN8cIFRg/eKtFtvUeh17aj54WcmnGrnu3tz5q4i6t +# AgMBAAGjggHdMIIB2TASBgkrBgEEAYI3FQEEBQIDAQABMCMGCSsGAQQBgjcVAgQW +# BBQqp1L+ZMSavoKRPEY1Kc8Q/y8E7jAdBgNVHQ4EFgQUn6cVXQBeYl2D9OXSZacb +# UzUZ6XIwXAYDVR0gBFUwUzBRBgwrBgEEAYI3TIN9AQEwQTA/BggrBgEFBQcCARYz +# aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnku +# aHRtMBMGA1UdJQQMMAoGCCsGAQUFBwMIMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIA +# QwBBMAsGA1UdDwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNX2 +# VsuP6KJcYmjRPZSQW9fOmhjEMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwu +# bWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dF8yMDEw +# LTA2LTIzLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93 +# d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYt +# MjMuY3J0MA0GCSqGSIb3DQEBCwUAA4ICAQCdVX38Kq3hLB9nATEkW+Geckv8qW/q +# XBS2Pk5HZHixBpOXPTEztTnXwnE2P9pkbHzQdTltuw8x5MKP+2zRoZQYIu7pZmc6 +# U03dmLq2HnjYNi6cqYJWAAOwBb6J6Gngugnue99qb74py27YP0h1AdkY3m2CDPVt +# I1TkeFN1JFe53Z/zjj3G82jfZfakVqr3lbYoVSfQJL1AoL8ZthISEV09J+BAljis +# 9/kpicO8F7BUhUKz/AyeixmJ5/ALaoHCgRlCGVJ1ijbCHcNhcy4sa3tuPywJeBTp +# kbKpW99Jo3QMvOyRgNI95ko+ZjtPu4b6MhrZlvSP9pEB9s7GdP32THJvEKt1MMU0 +# sHrYUP4KWN1APMdUbZ1jdEgssU5HLcEUBHG/ZPkkvnNtyo4JvbMBV0lUZNlz138e +# W0QBjloZkWsNn6Qo3GcZKCS6OEuabvshVGtqRRFHqfG3rsjoiV5PndLQTHa1V1QJ +# sWkBRH58oWFsc/4Ku+xBZj1p/cvBQUl+fpO+y/g75LcVv7TOPqUxUYS8vwLBgqJ7 +# Fx0ViY1w/ue10CgaiQuPNtq6TPmb/wrpNPgkNWcr4A245oyZ1uEi6vAnQj0llOZ0 +# dFtq0Z4+7X6gMTN9vMvpe784cETRkPHIqzqKOghif9lwY1NNje6CbaUFEMFxBmoQ +# tB1VM1izoXBm8qGCAtQwggI9AgEBMIIBAKGB2KSB1TCB0jELMAkGA1UEBhMCVVMx +# EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoT +# FU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxh +# bmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjo4 +# NkRGLTRCQkMtOTMzNTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2Vy +# dmljZaIjCgEBMAcGBSsOAwIaAxUANiNHGWXbNaDPxnyiDbEOciSjFhCggYMwgYCk +# fjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH +# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQD +# Ex1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDANBgkqhkiG9w0BAQUFAAIF +# AOocwLQwIhgPMjAyNDA2MTkxMDI4MDRaGA8yMDI0MDYyMDEwMjgwNFowdDA6Bgor +# BgEEAYRZCgQBMSwwKjAKAgUA6hzAtAIBADAHAgEAAgIE6TAHAgEAAgITDTAKAgUA +# 6h4SNAIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMCoAowCAIBAAID +# B6EgoQowCAIBAAIDAYagMA0GCSqGSIb3DQEBBQUAA4GBAAbyb8Su2rf0Pj4Mz8zF +# pHkZnerXKaQDFNIYG+YJo7bymwzJagni/QuyQ19k9tA/nxq2817npuwilbRkLWc6 +# c2SUEP+kMQU5pdHIWo9V9fmE9zgIGgy8he4Ps5zy+og6uRWJCAWjt1iYkyjNakS8 +# qKGHQzh+ySo70O3h50t9uN95MYIEDTCCBAkCAQEwgZMwfDELMAkGA1UEBhMCVVMx +# EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoT +# FU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUt +# U3RhbXAgUENBIDIwMTACEzMAAAHdXVcdldStqhsAAQAAAd0wDQYJYIZIAWUDBAIB +# BQCgggFKMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQx +# IgQgWTMt7M1UtU7nLjyU3rUds8m9u8mqZyuhSeW7+hgXydQwgfoGCyqGSIb3DQEJ +# EAIvMYHqMIHnMIHkMIG9BCBh/w4tmmWsT3iZnHtH0Vk37UCN02lRxY+RiON6wDFj +# ZjCBmDCBgKR+MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAw +# DgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24x +# JjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAB3V1X +# HZXUraobAAEAAAHdMCIEIIgcTWCCW5NrBNBmccK771oerdx1QI0HesTJWaIUvHHS +# MA0GCSqGSIb3DQEBCwUABIICAFsrC7S+iv/uMPBB8Fuj8vcaAbAQ2afK7UbCgpll +# m3AFa76Z5AjFXmvL2qrs0nEtBdgdfJqYky30iU2Ea+DUX2I0+32wR9D5OwFb4rvt +# HAbfdnHkklO26fmN8fqU6K/7yIgxfVrFMRqgjpuCu/8TDPfotpuI1ui69fOO9ZIp +# EMz1kHQqKo8jVj4lzdWHqSua6VFjN+cA1dnXZHui+TLcSJwEEvI7CLUt0jHjiYG4 +# /rFIkwptSmCC+WUOteee6BaIFOxnL6AuMzO3iiBcMdiWutA/ZcGOw6gOsAtgqSan +# k6FCzBlzYaBOYHmxB4KS2EVLi8HzPEwExgmqoz/CDcMg/6VCvAnY1GVVKeT3RItq +# 8pthSfmjrsr3OSyAY4ZtclHFCo6QojnV+vjNjHU8keKabELKptYXaQx1rhqBWZy4 +# sg6U/l+LpPDovvngRRqQ/8cUtQoGL2B2nzoeU0+BVMDQQv3Yw+Cql2U3fd2vJXzl +# cd9zArdO5rJQhPyiWSUMtgwgkQTOniMpUpkAMT002iwC2PXpPFeVjscw1rY3VPI3 +# foq9NOuN7WB6iVQgjTA5He1Dnzn32SEwxnUJHusZ6fujFmGnL14L3pyFUCVxxux+ +# Lo47snemWyR1RNihjuvOGjAnpABhg4WTVN99xOV7i4kBSP13vX5Vc+uPc/NNG56z +# R2Ta +# SIG # End signature block diff --git a/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.preview.psd1 b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.preview.psd1 new file mode 100644 index 000000000000..ee437e46ed7f --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.preview.psd1 @@ -0,0 +1,509 @@ +# +# Module manifest for module 'Microsoft.Teams.Policy.Administration.Core' +# + +@{ +# Script module or binary module file associated with this manifest. +RootModule = './Microsoft.Teams.Policy.Administration.Cmdlets.Core.psm1' + +# Version number of this module. +ModuleVersion = '1.1.10' + +# Supported PSEditions +CompatiblePSEditions = 'Core', 'Desktop' + +# ID used to uniquely identify this module +GUID = '048c99d9-471a-4935-a810-542687c5f950' + +# Author of this module +Author = 'Microsoft Corporation' + +# Company or vendor of this module +CompanyName = 'Microsoft Corporation' + +# Copyright statement for this module +Copyright = 'Microsoft Corporation. All rights reserved.' + +# Description of the functionality provided by this module +Description = 'Microsoft Teams preview cmdlets module for Policy Administration' + +# Minimum version of the Windows PowerShell engine required by this module +PowerShellVersion = '5.1' + +# Name of the Windows PowerShell host required by this module +# PowerShellHostName = '' + +# Minimum version of the Windows PowerShell host required by this module +# PowerShellHostVersion = '' + +# Minimum version of Microsoft .NET Framework required by this module. This prerequisite is valid for the PowerShell Desktop edition only. +DotNetFrameworkVersion = '4.7.2' + +# Minimum version of the common language runtime (CLR) required by this module. This prerequisite is valid for the PowerShell Desktop edition only. +CLRVersion = '4.0' + +# Processor architecture (None, X86, Amd64) required by this module +# ProcessorArchitecture = 'Amd64' + +# Modules that must be imported into the global environment prior to importing this module +# RequiredModules = @() + +# Assemblies that must be loaded prior to importing this module +# RequiredAssemblies = @() + +# Script files (.ps1) that are run in the caller's environment prior to importing this module. +# Removed this script from here because this module is used in SAW machines as well where Contraint Language Mode is on. +# Because of CLM constraint we were not able to import Teams module to SAW machines, that is why removing this script. +# ScriptsToProcess = @() + +# Type files (.ps1xml) to be loaded when importing this module +# TypesToProcess = @() + +# Format files (.ps1xml) to be loaded when importing this module +FormatsToProcess = @() + +# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess +NestedModules = @() + +# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export. +FunctionsToExport = '*' + +# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export. +CmdletsToExport = @( + 'New-CsTeamsAppSetupPolicy', + 'Get-CsTeamsAppSetupPolicy', + 'Remove-CsTeamsAppSetupPolicy', + 'Set-CsTeamsAppSetupPolicy', + 'Grant-CsTeamsAppSetupPolicy', + + 'New-CsTeamsAppPermissionPolicy', + 'Get-CsTeamsAppPermissionPolicy', + 'Remove-CsTeamsAppPermissionPolicy', + 'Set-CsTeamsAppPermissionPolicy', + 'Grant-CsTeamsAppPermissionPolicy', + + 'New-CsTeamsMessagingPolicy', + 'Get-CsTeamsMessagingPolicy', + 'Remove-CsTeamsMessagingPolicy', + 'Set-CsTeamsMessagingPolicy', + + 'New-CsTeamsChannelsPolicy', + 'Get-CsTeamsChannelsPolicy', + 'Remove-CsTeamsChannelsPolicy', + 'Set-CsTeamsChannelsPolicy', + + 'New-CsTeamsUpdateManagementPolicy', + 'Get-CsTeamsUpdateManagementPolicy', + 'Remove-CsTeamsUpdateManagementPolicy', + 'Set-CsTeamsUpdateManagementPolicy', + + 'Get-CsTeamsUpgradeConfiguration', + 'Set-CsTeamsUpgradeConfiguration', + + 'Get-CsTeamsSipDevicesConfiguration', + 'Set-CsTeamsSipDevicesConfiguration', + + 'New-CsTeamsMeetingPolicy', + 'Get-CsTeamsMeetingPolicy', + 'Remove-CsTeamsMeetingPolicy', + 'Set-CsTeamsMeetingPolicy', + + 'New-CsOnlineVoicemailPolicy', + 'Get-CsOnlineVoicemailPolicy', + 'Remove-CsOnlineVoicemailPolicy', + 'Set-CsOnlineVoicemailPolicy', + + 'New-CsTeamsFeedbackPolicy', + 'Get-CsTeamsFeedbackPolicy', + 'Remove-CsTeamsFeedbackPolicy', + 'Set-CsTeamsFeedbackPolicy', + + 'New-CsTeamsMeetingBrandingPolicy', + 'Get-CsTeamsMeetingBrandingPolicy', + 'Remove-CsTeamsMeetingBrandingPolicy', + 'Set-CsTeamsMeetingBrandingPolicy', + 'Grant-CsTeamsMeetingBrandingPolicy' + + 'New-CsTeamsMeetingBrandingTheme', + 'New-CsTeamsMeetingBackgroundImage', + 'New-CsTeamsNdiAssuranceSlate', + + 'New-CsTeamsEmergencyCallingPolicy', + 'Get-CsTeamsEmergencyCallingPolicy', + 'Remove-CsTeamsEmergencyCallingPolicy', + 'Set-CsTeamsEmergencyCallingPolicy', + 'New-CsTeamsEmergencyCallingExtendedNotification', + + 'New-CsTeamsCallHoldPolicy', + 'Get-CsTeamsCallHoldPolicy', + 'Remove-CsTeamsCallHoldPolicy', + 'Set-CsTeamsCallHoldPolicy', + + 'Get-CsTeamsMessagingConfiguration', + 'Set-CsTeamsMessagingConfiguration', + + 'New-CsTeamsVoiceApplicationsPolicy', + 'Get-CsTeamsVoiceApplicationsPolicy', + 'Remove-CsTeamsVoiceApplicationsPolicy', + 'Set-CsTeamsVoiceApplicationsPolicy', + + "Get-CsTeamsAudioConferencingCustomPromptsConfiguration", + "Set-CsTeamsAudioConferencingCustomPromptsConfiguration", + "New-CsCustomPrompt", + "New-CsCustomPromptPackage", + + 'New-CsTeamsEventsPolicy', + 'Get-CsTeamsEventsPolicy', + 'Remove-CsTeamsEventsPolicy', + 'Set-CsTeamsEventsPolicy', + 'Grant-CsTeamsEventsPolicy', + + 'New-CsTeamsCallingPolicy', + 'Get-CsTeamsCallingPolicy', + 'Remove-CsTeamsCallingPolicy', + 'Set-CsTeamsCallingPolicy', + 'Grant-CsTeamsCallingPolicy', + + 'New-CsExternalAccessPolicy', + 'Get-CsExternalAccessPolicy', + 'Remove-CsExternalAccessPolicy', + 'Set-CsExternalAccessPolicy', + 'Grant-CsExternalAccessPolicy', + + 'New-CsTeamsHiddenMeetingTemplate', + + 'New-CsTeamsMeetingTemplatePermissionPolicy', + 'Get-CsTeamsMeetingTemplatePermissionPolicy', + 'Set-CsTeamsMeetingTemplatePermissionPolicy', + 'Remove-CsTeamsMeetingTemplatePermissionPolicy', + 'Grant-CsTeamsMeetingTemplatePermissionPolicy', + + 'Get-CsTeamsMeetingTemplateConfiguration', + 'Get-CsTeamsFirstPartyMeetingTemplateConfiguration', + + 'Get-CsTenantNetworkSite', + + 'New-CsTeamsShiftsPolicy', + 'Get-CsTeamsShiftsPolicy', + 'Remove-CsTeamsShiftsPolicy', + 'Set-CsTeamsShiftsPolicy', + 'Grant-CsTeamsShiftsPolicy', + + 'New-CsTeamsHiddenTemplate', + + 'New-CsTeamsTemplatePermissionPolicy', + 'Get-CsTeamsTemplatePermissionPolicy', + 'Remove-CsTeamsTemplatePermissionPolicy', + 'Set-CsTeamsTemplatePermissionPolicy', + + 'New-CsTeamsVirtualAppointmentsPolicy', + 'Get-CsTeamsVirtualAppointmentsPolicy', + 'Remove-CsTeamsVirtualAppointmentsPolicy', + 'Set-CsTeamsVirtualAppointmentsPolicy', + 'Grant-CsTeamsVirtualAppointmentsPolicy', + + 'New-CsTeamsComplianceRecordingPolicy', + 'Get-CsTeamsComplianceRecordingPolicy', + 'Remove-CsTeamsComplianceRecordingPolicy', + 'Set-CsTeamsComplianceRecordingPolicy', + + 'New-CsTeamsComplianceRecordingApplication', + 'Get-CsTeamsComplianceRecordingApplication', + 'Remove-CsTeamsComplianceRecordingApplication', + 'Set-CsTeamsComplianceRecordingApplication', + + 'New-CsTeamsComplianceRecordingPairedApplication', + + 'New-CsTeamsSharedCallingRoutingPolicy', + 'Get-CsTeamsSharedCallingRoutingPolicy', + 'Remove-CsTeamsSharedCallingRoutingPolicy', + 'Set-CsTeamsSharedCallingRoutingPolicy', + 'Grant-CsTeamsSharedCallingRoutingPolicy', + + 'New-CsTeamsVdiPolicy', + 'Get-CsTeamsVdiPolicy', + 'Remove-CsTeamsVdiPolicy', + 'Set-CsTeamsVdiPolicy', + 'Grant-CsTeamsVdiPolicy', + + + 'Get-CsTeamsMeetingConfiguration', + 'Set-CsTeamsMeetingConfiguration', + + 'New-CsTeamsCustomBannerText', + 'Get-CsTeamsCustomBannerText', + 'Remove-CsTeamsCustomBannerText', + 'Set-CsTeamsCustomBannerText', + + 'New-CsTeamsWorkLocationDetectionPolicy', + 'Get-CsTeamsWorkLocationDetectionPolicy', + 'Remove-CsTeamsWorkLocationDetectionPolicy', + 'Set-CsTeamsWorkLocationDetectionPolicy', + 'Grant-CsTeamsWorkLocationDetectionPolicy', + + 'New-CsTeamsMediaConnectivityPolicy', + 'Get-CsTeamsMediaConnectivityPolicy', + 'Remove-CsTeamsMediaConnectivityPolicy', + 'Set-CsTeamsMediaConnectivityPolicy', + 'Grant-CsTeamsMediaConnectivityPolicy', + + 'New-CsTeamsRecordingRollOutPolicy', + 'Get-CsTeamsRecordingRollOutPolicy', + 'Remove-CsTeamsRecordingRollOutPolicy', + 'Set-CsTeamsRecordingRollOutPolicy', + 'Grant-CsTeamsRecordingRollOutPolicy', + + 'New-CsTeamsFilesPolicy', + 'Get-CsTeamsFilesPolicy', + 'Remove-CsTeamsFilesPolicy', + 'Set-CsTeamsFilesPolicy', + 'Grant-CsTeamsFilesPolicy', + + 'Get-CsTeamsExternalAccessConfiguration', + 'Set-CsTeamsExternalAccessConfiguration', + + 'New-CsConversationRole', + 'Remove-CsConversationRole', + 'Get-CsConversationRole', + 'Set-CsConversationRole' +) + +# Variables to export from this module +VariablesToExport = @() + +# Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export. +AliasesToExport = @() + +# DSC resources to export from this module +# DscResourcesToExport = @() + +# List of all modules packaged with this module +# ModuleList = @() + +# List of all files packaged with this module +# FileList = @() + +# Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell. +PrivateData = @{} + +# HelpInfo URI of this module +# HelpInfoURI = '' + +# Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix. +# DefaultCommandPrefix = '' +} +# SIG # Begin signature block +# MIInzgYJKoZIhvcNAQcCoIInvzCCJ7sCAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCCqfPekNMkTrfbw +# VIN3fSGiizFcZkMkT8GWWeJZo9zCb6CCDYUwggYDMIID66ADAgECAhMzAAADri01 +# UchTj1UdAAAAAAOuMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMjMxMTE2MTkwODU5WhcNMjQxMTE0MTkwODU5WjB0MQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +# AQD0IPymNjfDEKg+YyE6SjDvJwKW1+pieqTjAY0CnOHZ1Nj5irGjNZPMlQ4HfxXG +# yAVCZcEWE4x2sZgam872R1s0+TAelOtbqFmoW4suJHAYoTHhkznNVKpscm5fZ899 +# QnReZv5WtWwbD8HAFXbPPStW2JKCqPcZ54Y6wbuWV9bKtKPImqbkMcTejTgEAj82 +# 6GQc6/Th66Koka8cUIvz59e/IP04DGrh9wkq2jIFvQ8EDegw1B4KyJTIs76+hmpV +# M5SwBZjRs3liOQrierkNVo11WuujB3kBf2CbPoP9MlOyyezqkMIbTRj4OHeKlamd +# WaSFhwHLJRIQpfc8sLwOSIBBAgMBAAGjggGCMIIBfjAfBgNVHSUEGDAWBgorBgEE +# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUhx/vdKmXhwc4WiWXbsf0I53h8T8w +# VAYDVR0RBE0wS6RJMEcxLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh +# dGlvbnMgTGltaXRlZDEWMBQGA1UEBRMNMjMwMDEyKzUwMTgzNjAfBgNVHSMEGDAW +# gBRIbmTlUAXTgqoXNzcitW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8v +# d3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIw +# MTEtMDctMDguY3JsMGEGCCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDov +# L3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDEx +# XzIwMTEtMDctMDguY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIB +# AGrJYDUS7s8o0yNprGXRXuAnRcHKxSjFmW4wclcUTYsQZkhnbMwthWM6cAYb/h2W +# 5GNKtlmj/y/CThe3y/o0EH2h+jwfU/9eJ0fK1ZO/2WD0xi777qU+a7l8KjMPdwjY +# 0tk9bYEGEZfYPRHy1AGPQVuZlG4i5ymJDsMrcIcqV8pxzsw/yk/O4y/nlOjHz4oV +# APU0br5t9tgD8E08GSDi3I6H57Ftod9w26h0MlQiOr10Xqhr5iPLS7SlQwj8HW37 +# ybqsmjQpKhmWul6xiXSNGGm36GarHy4Q1egYlxhlUnk3ZKSr3QtWIo1GGL03hT57 +# xzjL25fKiZQX/q+II8nuG5M0Qmjvl6Egltr4hZ3e3FQRzRHfLoNPq3ELpxbWdH8t +# Nuj0j/x9Crnfwbki8n57mJKI5JVWRWTSLmbTcDDLkTZlJLg9V1BIJwXGY3i2kR9i +# 5HsADL8YlW0gMWVSlKB1eiSlK6LmFi0rVH16dde+j5T/EaQtFz6qngN7d1lvO7uk +# 6rtX+MLKG4LDRsQgBTi6sIYiKntMjoYFHMPvI/OMUip5ljtLitVbkFGfagSqmbxK +# 7rJMhC8wiTzHanBg1Rrbff1niBbnFbbV4UDmYumjs1FIpFCazk6AADXxoKCo5TsO +# zSHqr9gHgGYQC2hMyX9MGLIpowYCURx3L7kUiGbOiMwaMIIHejCCBWKgAwIBAgIK +# YQ6Q0gAAAAAAAzANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNV +# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv +# c29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlm +# aWNhdGUgQXV0aG9yaXR5IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEw +# OTA5WjB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE +# BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYD +# VQQDEx9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG +# 9w0BAQEFAAOCAg8AMIICCgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+la +# UKq4BjgaBEm6f8MMHt03a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc +# 6Whe0t+bU7IKLMOv2akrrnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4D +# dato88tt8zpcoRb0RrrgOGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+ +# lD3v++MrWhAfTVYoonpy4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nk +# kDstrjNYxbc+/jLTswM9sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6 +# A4aN91/w0FK/jJSHvMAhdCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmd +# X4jiJV3TIUs+UsS1Vz8kA/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL +# 5zmhD+kjSbwYuER8ReTBw3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zd +# sGbiwZeBe+3W7UvnSSmnEyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3 +# T8HhhUSJxAlMxdSlQy90lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS +# 4NaIjAsCAwEAAaOCAe0wggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRI +# bmTlUAXTgqoXNzcitW2oynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAL +# BgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBD +# uRQFTuHqp8cx0SOJNDBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jv +# c29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf +# MDNfMjIuY3JsMF4GCCsGAQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3 +# dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf +# MDNfMjIuY3J0MIGfBgNVHSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEF +# BQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1h +# cnljcHMuaHRtMEAGCCsGAQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkA +# YwB5AF8AcwB0AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn +# 8oalmOBUeRou09h0ZyKbC5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7 +# v0epo/Np22O/IjWll11lhJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0b +# pdS1HXeUOeLpZMlEPXh6I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/ +# KmtYSWMfCWluWpiW5IP0wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvy +# CInWH8MyGOLwxS3OW560STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBp +# mLJZiWhub6e3dMNABQamASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJi +# hsMdYzaXht/a8/jyFqGaJ+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYb +# BL7fQccOKO7eZS/sl/ahXJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbS +# oqKfenoi+kiVH6v7RyOA9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sL +# gOppO6/8MO0ETI7f33VtY5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtX +# cVZOSEXAQsmbdlsKgEhr/Xmfwb1tbWrJUnMTDXpQzTGCGZ8wghmbAgEBMIGVMH4x +# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt +# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01p +# Y3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTECEzMAAAOuLTVRyFOPVR0AAAAA +# A64wDQYJYIZIAWUDBAIBBQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQw +# HAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIEJ7 +# zRe0kgIYyiqQo6AJ1lxqGWjgTSWgoWNwtDz/gHs3MEIGCisGAQQBgjcCAQwxNDAy +# oBSAEgBNAGkAYwByAG8AcwBvAGYAdKEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5j +# b20wDQYJKoZIhvcNAQEBBQAEggEAJ8nOIJ9u7Ub5CjnhbCRZ/wkfo/WpKBOUQKNG +# +PVjSpUpDXTjQvZl8STgiWAepw22lNloIdURDbIi298zTvlY/ShJou01+cJ1XVQs +# qOPWQFAtc7tOpJL0ZPfZx03eSXbGCTQuf/r7CBPHvHT2LMcFZ4pANVNSof+HG7nL +# wf4ljZrsUPSqd7t3W56EtTHTo8kPfUAgc0DgRWsHNwgfUETSL86CaKFkAPSxqT8O +# DXDaipTkl5WhKMFdYI1pkdXSBrNgv7XZw3mloMP2VJ/e1t0n396IwSzmA0KAQiAs +# SWUbODXv5CicOs7Yqv9AKmNcu1URmYPJv3c+2QxaUTH1NMeqw6GCFykwghclBgor +# BgEEAYI3AwMBMYIXFTCCFxEGCSqGSIb3DQEHAqCCFwIwghb+AgEDMQ8wDQYJYIZI +# AWUDBAIBBQAwggFZBgsqhkiG9w0BCRABBKCCAUgEggFEMIIBQAIBAQYKKwYBBAGE +# WQoDATAxMA0GCWCGSAFlAwQCAQUABCDk5n4JSzKhNw78nwDCHxLnNegl0WHwFvrc +# r8i5lpihqQIGZldU1NsiGBMyMDI0MDYxOTExMzEzMC4zNTVaMASAAgH0oIHYpIHV +# MIHSMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH +# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQL +# EyRNaWNyb3NvZnQgSXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsT +# HVRoYWxlcyBUU1MgRVNOOkZDNDEtNEJENC1EMjIwMSUwIwYDVQQDExxNaWNyb3Nv +# ZnQgVGltZS1TdGFtcCBTZXJ2aWNloIIReDCCBycwggUPoAMCAQICEzMAAAHimZmV +# 8dzjIOsAAQAAAeIwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxEzARBgNV +# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv +# c29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAg +# UENBIDIwMTAwHhcNMjMxMDEyMTkwNzI1WhcNMjUwMTEwMTkwNzI1WjCB0jELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9z +# b2Z0IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMg +# VFNTIEVTTjpGQzQxLTRCRDQtRDIyMDElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUt +# U3RhbXAgU2VydmljZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALVj +# tZhV+kFmb8cKQpg2mzisDlRI978Gb2amGvbAmCd04JVGeTe/QGzM8KbQrMDol7DC +# 7jS03JkcrPsWi9WpVwsIckRQ8AkX1idBG9HhyCspAavfuvz55khl7brPQx7H99UJ +# bsE3wMmpmJasPWpgF05zZlvpWQDULDcIYyl5lXI4HVZ5N6MSxWO8zwWr4r9xkMmU +# Xs7ICxDJr5a39SSePAJRIyznaIc0WzZ6MFcTRzLLNyPBE4KrVv1LFd96FNxAzwne +# tSePg88EmRezr2T3HTFElneJXyQYd6YQ7eCIc7yllWoY03CEg9ghorp9qUKcBUfF +# cS4XElf3GSERnlzJsK7s/ZGPU4daHT2jWGoYha2QCOmkgjOmBFCqQFFwFmsPrZj4 +# eQszYxq4c4HqPnUu4hT4aqpvUZ3qIOXbdyU42pNL93cn0rPTTleOUsOQbgvlRdth +# FCBepxfb6nbsp3fcZaPBfTbtXVa8nLQuMCBqyfsebuqnbwj+lHQfqKpivpyd7KCW +# ACoj78XUwYqy1HyYnStTme4T9vK6u2O/KThfROeJHiSg44ymFj+34IcFEhPogaKv +# NNsTVm4QbqphCyknrwByqorBCLH6bllRtJMJwmu7GRdTQsIx2HMKqphEtpSm1z3u +# fASdPrgPhsQIRFkHZGuihL1Jjj4Lu3CbAmha0lOrAgMBAAGjggFJMIIBRTAdBgNV +# HQ4EFgQURIQOEdq+7QdslptJiCRNpXgJ2gUwHwYDVR0jBBgwFoAUn6cVXQBeYl2D +# 9OXSZacbUzUZ6XIwXwYDVR0fBFgwVjBUoFKgUIZOaHR0cDovL3d3dy5taWNyb3Nv +# ZnQuY29tL3BraW9wcy9jcmwvTWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUy +# MDIwMTAoMSkuY3JsMGwGCCsGAQUFBwEBBGAwXjBcBggrBgEFBQcwAoZQaHR0cDov +# L3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBUaW1l +# LVN0YW1wJTIwUENBJTIwMjAxMCgxKS5jcnQwDAYDVR0TAQH/BAIwADAWBgNVHSUB +# Af8EDDAKBggrBgEFBQcDCDAOBgNVHQ8BAf8EBAMCB4AwDQYJKoZIhvcNAQELBQAD +# ggIBAORURDGrVRTbnulfsg2cTsyyh7YXvhVU7NZMkITAQYsFEPVgvSviCylr5ap3 +# ka76Yz0t/6lxuczI6w7tXq8n4WxUUgcj5wAhnNorhnD8ljYqbck37fggYK3+wEwL +# hP1PGC5tvXK0xYomU1nU+lXOy9ZRnShI/HZdFrw2srgtsbWow9OMuADS5lg7okrX +# a2daCOGnxuaD1IO+65E7qv2O0W0sGj7AWdOjNdpexPrspL2KEcOMeJVmkk/O0gan +# hFzzHAnWjtNWneU11WQ6Bxv8OpN1fY9wzQoiycgvOOJM93od55EGeXxfF8bofLVl +# UE3zIikoSed+8s61NDP+x9RMya2mwK/Ys1xdvDlZTHndIKssfmu3vu/a+BFf2uIo +# ycVTvBQpv/drRJD68eo401mkCRFkmy/+BmQlRrx2rapqAu5k0Nev+iUdBUKmX/iO +# aKZ75vuQg7hCiBA5xIm5ZIXDSlX47wwFar3/BgTwntMq9ra6QRAeS/o/uYWkmvqv +# E8Aq38QmKgTiBnWSS/uVPcaHEyArnyFh5G+qeCGmL44MfEnFEhxc3saPmXhe6MhS +# gCIGJUZDA7336nQD8fn4y6534Lel+LuT5F5bFt0mLwd+H5GxGzObZmm/c3pEWtHv +# 1ug7dS/Dfrcd1sn2E4gk4W1L1jdRBbK9xwkMmwY+CHZeMSvBMIIHcTCCBVmgAwIB +# AgITMwAAABXF52ueAptJmQAAAAAAFTANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UE +# BhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAc +# BgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0 +# IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTAwHhcNMjEwOTMwMTgyMjI1 +# WhcNMzAwOTMwMTgzMjI1WjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu +# Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv +# cmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDCC +# AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAOThpkzntHIhC3miy9ckeb0O +# 1YLT/e6cBwfSqWxOdcjKNVf2AX9sSuDivbk+F2Az/1xPx2b3lVNxWuJ+Slr+uDZn +# hUYjDLWNE893MsAQGOhgfWpSg0S3po5GawcU88V29YZQ3MFEyHFcUTE3oAo4bo3t +# 1w/YJlN8OWECesSq/XJprx2rrPY2vjUmZNqYO7oaezOtgFt+jBAcnVL+tuhiJdxq +# D89d9P6OU8/W7IVWTe/dvI2k45GPsjksUZzpcGkNyjYtcI4xyDUoveO0hyTD4MmP +# frVUj9z6BVWYbWg7mka97aSueik3rMvrg0XnRm7KMtXAhjBcTyziYrLNueKNiOSW +# rAFKu75xqRdbZ2De+JKRHh09/SDPc31BmkZ1zcRfNN0Sidb9pSB9fvzZnkXftnIv +# 231fgLrbqn427DZM9ituqBJR6L8FA6PRc6ZNN3SUHDSCD/AQ8rdHGO2n6Jl8P0zb +# r17C89XYcz1DTsEzOUyOArxCaC4Q6oRRRuLRvWoYWmEBc8pnol7XKHYC4jMYcten +# IPDC+hIK12NvDMk2ZItboKaDIV1fMHSRlJTYuVD5C4lh8zYGNRiER9vcG9H9stQc +# xWv2XFJRXRLbJbqvUAV6bMURHXLvjflSxIUXk8A8FdsaN8cIFRg/eKtFtvUeh17a +# j54WcmnGrnu3tz5q4i6tAgMBAAGjggHdMIIB2TASBgkrBgEEAYI3FQEEBQIDAQAB +# MCMGCSsGAQQBgjcVAgQWBBQqp1L+ZMSavoKRPEY1Kc8Q/y8E7jAdBgNVHQ4EFgQU +# n6cVXQBeYl2D9OXSZacbUzUZ6XIwXAYDVR0gBFUwUzBRBgwrBgEEAYI3TIN9AQEw +# QTA/BggrBgEFBQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9E +# b2NzL1JlcG9zaXRvcnkuaHRtMBMGA1UdJQQMMAoGCCsGAQUFBwMIMBkGCSsGAQQB +# gjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/ +# MB8GA1UdIwQYMBaAFNX2VsuP6KJcYmjRPZSQW9fOmhjEMFYGA1UdHwRPME0wS6BJ +# oEeGRWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01p +# Y1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYB +# BQUHMAKGPmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljUm9v +# Q2VyQXV0XzIwMTAtMDYtMjMuY3J0MA0GCSqGSIb3DQEBCwUAA4ICAQCdVX38Kq3h +# LB9nATEkW+Geckv8qW/qXBS2Pk5HZHixBpOXPTEztTnXwnE2P9pkbHzQdTltuw8x +# 5MKP+2zRoZQYIu7pZmc6U03dmLq2HnjYNi6cqYJWAAOwBb6J6Gngugnue99qb74p +# y27YP0h1AdkY3m2CDPVtI1TkeFN1JFe53Z/zjj3G82jfZfakVqr3lbYoVSfQJL1A +# oL8ZthISEV09J+BAljis9/kpicO8F7BUhUKz/AyeixmJ5/ALaoHCgRlCGVJ1ijbC +# HcNhcy4sa3tuPywJeBTpkbKpW99Jo3QMvOyRgNI95ko+ZjtPu4b6MhrZlvSP9pEB +# 9s7GdP32THJvEKt1MMU0sHrYUP4KWN1APMdUbZ1jdEgssU5HLcEUBHG/ZPkkvnNt +# yo4JvbMBV0lUZNlz138eW0QBjloZkWsNn6Qo3GcZKCS6OEuabvshVGtqRRFHqfG3 +# rsjoiV5PndLQTHa1V1QJsWkBRH58oWFsc/4Ku+xBZj1p/cvBQUl+fpO+y/g75LcV +# v7TOPqUxUYS8vwLBgqJ7Fx0ViY1w/ue10CgaiQuPNtq6TPmb/wrpNPgkNWcr4A24 +# 5oyZ1uEi6vAnQj0llOZ0dFtq0Z4+7X6gMTN9vMvpe784cETRkPHIqzqKOghif9lw +# Y1NNje6CbaUFEMFxBmoQtB1VM1izoXBm8qGCAtQwggI9AgEBMIIBAKGB2KSB1TCB +# 0jELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1Jl +# ZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMk +# TWljcm9zb2Z0IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1U +# aGFsZXMgVFNTIEVTTjpGQzQxLTRCRDQtRDIyMDElMCMGA1UEAxMcTWljcm9zb2Z0 +# IFRpbWUtU3RhbXAgU2VydmljZaIjCgEBMAcGBSsOAwIaAxUAFpuZafp0bnpJdIhf +# iB1d8pTohm+ggYMwgYCkfjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu +# Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv +# cmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDAN +# BgkqhkiG9w0BAQUFAAIFAOoc1n4wIhgPMjAyNDA2MTkxMjAxMDJaGA8yMDI0MDYy +# MDEyMDEwMlowdDA6BgorBgEEAYRZCgQBMSwwKjAKAgUA6hzWfgIBADAHAgEAAgIL +# XDAHAgEAAgISTjAKAgUA6h4n/gIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEE +# AYRZCgMCoAowCAIBAAIDB6EgoQowCAIBAAIDAYagMA0GCSqGSIb3DQEBBQUAA4GB +# AL5M3XQ99+gQS1xkP1KW9nX9OAGCMIcR5ZK/al66Qs/t2ef5Yd1qcilDgcLjajg2 +# et2D7Qfe6+lWhe1lINiIo0Z3+Bb+0CiQnyZqdLL8XEVn1mfh3TLKNcQVgdWuwvOG +# 3iMPpUikySuKKrmrDBIyW/SEDRfVG/7/WwzWaZpHoWvRMYIEDTCCBAkCAQEwgZMw +# fDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1Jl +# ZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMd +# TWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTACEzMAAAHimZmV8dzjIOsAAQAA +# AeIwDQYJYIZIAWUDBAIBBQCgggFKMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRAB +# BDAvBgkqhkiG9w0BCQQxIgQg9+luBBkxz2LQf1Vs7nfWjUSm1S6ZnvFpjU+/QFq4 +# gXcwgfoGCyqGSIb3DQEJEAIvMYHqMIHnMIHkMIG9BCAriSpKEP0muMbBUETODoL4 +# d5LU6I/bjucIZkOJCI9//zCBmDCBgKR+MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQI +# EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv +# ZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBD +# QSAyMDEwAhMzAAAB4pmZlfHc4yDrAAEAAAHiMCIEIKw+Z1qEOrrAAGY5V/nbas2e +# 2BWwg6KvDkh01Ho2gialMA0GCSqGSIb3DQEBCwUABIICAGB24UGmziCp7fTK86N3 +# EdhjljMiZHhPwWITXmkGU4onRcsZ3azZnaKLjdcGCATB0juNJZ/BSHX/NjQRtVJJ +# k2WEvTuN/awD7qPcE9sjAfWybuMY3G9U81zgjLgjYN9z3vrU0XvZEA46OxAVs0wE +# EotfEDa60iLobESTEmlhyqSUuOF5PQyEs/lKcYfIu8NL1Y9M0CWlIW1OJwjhTHLS +# KlANcq0wrb5kJZZXYoeBLe49DZcG2UZtgpBjLt611e3KHA4dy+gSXNuTPtj2vi9D +# ogXfgvg9FecGoQs4L/0C+eZEvsYms8EQ7l/CumYt3lRDbyONVd7onHWafsDGbpfX +# 1EUQp4R8xGkGmU2tlfYt2N+QVT1mEG15zlox+6Tme8ajM1gnep+uaJbDrqNybVlj +# pptwDfa/94UbQd6zP/chBpwPv83uxCT5K4Zjtem+xSERgHaLclwY4dhfjfl44KOV +# 5qLQoo5yd2gG/f6H2VCmmFGhuJ85wh7xIRI5AK0emMcZMP7YsbLGeePZg7XJ7XVe +# LRTyaHQmuyN+4X4nbpXlXwB2qcf3x1PTWjpyrpy2+0Zl35hIfdsInRTV3eSy7ZfX +# RkQlnQTpb5IDeWW0xFEUfEppOWXWD7VVVjZRz5HlcECT7v2B7yNkh5U8TnBjtNCM +# zbDuhDDHm4AhgITfxuURrX2/ +# SIG # End signature block diff --git a/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.psd1 b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.psd1 new file mode 100644 index 000000000000..f8ad753cc877 --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.psd1 @@ -0,0 +1,511 @@ +# +# Module manifest for module 'Microsoft.Teams.Policy.Administration.Core' +# + +@{ +# Script module or binary module file associated with this manifest. +RootModule = './Microsoft.Teams.Policy.Administration.Cmdlets.Core.psm1' + +# Version number of this module. +ModuleVersion = '1.1.10' + +# Supported PSEditions +CompatiblePSEditions = 'Core', 'Desktop' + +# ID used to uniquely identify this module +GUID = '048c99d9-471a-4935-a810-542687c5f950' + +# Author of this module +Author = 'Microsoft Corporation' + +# Company or vendor of this module +CompanyName = 'Microsoft Corporation' + +# Copyright statement for this module +Copyright = 'Microsoft Corporation. All rights reserved.' + +# Description of the functionality provided by this module +Description = 'Microsoft Teams cmdlets module for Policy Administration' + +# Minimum version of the Windows PowerShell engine required by this module +PowerShellVersion = '5.1' + +# Name of the Windows PowerShell host required by this module +# PowerShellHostName = '' + +# Minimum version of the Windows PowerShell host required by this module +# PowerShellHostVersion = '' + +# Minimum version of Microsoft .NET Framework required by this module. This prerequisite is valid for the PowerShell Desktop edition only. +DotNetFrameworkVersion = '4.7.2' + +# Minimum version of the common language runtime (CLR) required by this module. This prerequisite is valid for the PowerShell Desktop edition only. +CLRVersion = '4.0' + +# Processor architecture (None, X86, Amd64) required by this module +# ProcessorArchitecture = 'Amd64' + +# Modules that must be imported into the global environment prior to importing this module +# RequiredModules = @() + +# Assemblies that must be loaded prior to importing this module +# RequiredAssemblies = @() + +# Script files (.ps1) that are run in the caller's environment prior to importing this module. +# Removed this script from here because this module is used in SAW machines as well where Contraint Language Mode is on. +# Because of CLM constraint we were not able to import Teams module to SAW machines, that is why removing this script. +# ScriptsToProcess = @() + +# Type files (.ps1xml) to be loaded when importing this module +# TypesToProcess = @() + +# Format files (.ps1xml) to be loaded when importing this module +FormatsToProcess = @() + +# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess +NestedModules = @() + +# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export. +FunctionsToExport = '*' + +# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export. +CmdletsToExport = @( + 'New-CsTeamsAppSetupPolicy', + 'Get-CsTeamsAppSetupPolicy', + 'Remove-CsTeamsAppSetupPolicy', + 'Set-CsTeamsAppSetupPolicy', + 'Grant-CsTeamsAppSetupPolicy', + + 'New-CsTeamsAppPermissionPolicy', + 'Get-CsTeamsAppPermissionPolicy', + 'Remove-CsTeamsAppPermissionPolicy', + 'Set-CsTeamsAppPermissionPolicy', + 'Grant-CsTeamsAppPermissionPolicy', + + 'New-CsTeamsMessagingPolicy', + 'Get-CsTeamsMessagingPolicy', + 'Remove-CsTeamsMessagingPolicy', + 'Set-CsTeamsMessagingPolicy', + + 'New-CsTeamsChannelsPolicy', + 'Get-CsTeamsChannelsPolicy', + 'Remove-CsTeamsChannelsPolicy', + 'Set-CsTeamsChannelsPolicy', + + 'New-CsTeamsUpdateManagementPolicy', + 'Get-CsTeamsUpdateManagementPolicy', + 'Remove-CsTeamsUpdateManagementPolicy', + 'Set-CsTeamsUpdateManagementPolicy', + + 'Get-CsTeamsUpgradeConfiguration', + 'Set-CsTeamsUpgradeConfiguration', + + 'Get-CsTeamsSipDevicesConfiguration', + 'Set-CsTeamsSipDevicesConfiguration', + + 'New-CsTeamsMeetingPolicy', + 'Get-CsTeamsMeetingPolicy', + 'Remove-CsTeamsMeetingPolicy', + 'Set-CsTeamsMeetingPolicy', + + 'New-CsOnlineVoicemailPolicy', + 'Get-CsOnlineVoicemailPolicy', + 'Remove-CsOnlineVoicemailPolicy', + 'Set-CsOnlineVoicemailPolicy', + + 'New-CsTeamsFeedbackPolicy', + 'Get-CsTeamsFeedbackPolicy', + 'Remove-CsTeamsFeedbackPolicy', + 'Set-CsTeamsFeedbackPolicy', + + 'New-CsTeamsMeetingBrandingPolicy', + 'Get-CsTeamsMeetingBrandingPolicy', + 'Remove-CsTeamsMeetingBrandingPolicy', + 'Set-CsTeamsMeetingBrandingPolicy', + 'Grant-CsTeamsMeetingBrandingPolicy' + + 'New-CsTeamsMeetingBrandingTheme', + 'New-CsTeamsMeetingBackgroundImage', + 'New-CsTeamsNdiAssuranceSlate', + + 'New-CsTeamsEmergencyCallingPolicy', + 'Get-CsTeamsEmergencyCallingPolicy', + 'Remove-CsTeamsEmergencyCallingPolicy', + 'Set-CsTeamsEmergencyCallingPolicy', + 'New-CsTeamsEmergencyCallingExtendedNotification', + + 'New-CsTeamsCallHoldPolicy', + 'Get-CsTeamsCallHoldPolicy', + 'Remove-CsTeamsCallHoldPolicy', + 'Set-CsTeamsCallHoldPolicy', + + 'Get-CsTeamsMessagingConfiguration', + 'Set-CsTeamsMessagingConfiguration', + + 'New-CsTeamsVoiceApplicationsPolicy', + 'Get-CsTeamsVoiceApplicationsPolicy', + 'Remove-CsTeamsVoiceApplicationsPolicy', + 'Set-CsTeamsVoiceApplicationsPolicy', + + "Get-CsTeamsAudioConferencingCustomPromptsConfiguration", + "Set-CsTeamsAudioConferencingCustomPromptsConfiguration", + "New-CsCustomPrompt", + "New-CsCustomPromptPackage", + + 'New-CsTeamsEventsPolicy', + 'Get-CsTeamsEventsPolicy', + 'Remove-CsTeamsEventsPolicy', + 'Set-CsTeamsEventsPolicy', + 'Grant-CsTeamsEventsPolicy', + + 'New-CsTeamsCallingPolicy', + 'Get-CsTeamsCallingPolicy', + 'Remove-CsTeamsCallingPolicy', + 'Set-CsTeamsCallingPolicy', + 'Grant-CsTeamsCallingPolicy', + + 'New-CsExternalAccessPolicy', + 'Get-CsExternalAccessPolicy', + 'Remove-CsExternalAccessPolicy', + 'Set-CsExternalAccessPolicy', + 'Grant-CsExternalAccessPolicy', + + 'New-CsTeamsHiddenMeetingTemplate', + + 'New-CsTeamsMeetingTemplatePermissionPolicy', + 'Get-CsTeamsMeetingTemplatePermissionPolicy', + 'Set-CsTeamsMeetingTemplatePermissionPolicy', + 'Remove-CsTeamsMeetingTemplatePermissionPolicy', + 'Grant-CsTeamsMeetingTemplatePermissionPolicy', + + 'Get-CsTeamsMeetingTemplateConfiguration', + 'Get-CsTeamsFirstPartyMeetingTemplateConfiguration', + + 'Get-CsTenantNetworkSite', + + 'New-CsTeamsShiftsPolicy', + 'Get-CsTeamsShiftsPolicy', + 'Remove-CsTeamsShiftsPolicy', + 'Set-CsTeamsShiftsPolicy', + 'Grant-CsTeamsShiftsPolicy', + + 'New-CsTeamsHiddenTemplate', + + 'New-CsTeamsTemplatePermissionPolicy', + 'Get-CsTeamsTemplatePermissionPolicy', + 'Remove-CsTeamsTemplatePermissionPolicy', + 'Set-CsTeamsTemplatePermissionPolicy', + + 'New-CsTeamsVirtualAppointmentsPolicy', + 'Get-CsTeamsVirtualAppointmentsPolicy', + 'Remove-CsTeamsVirtualAppointmentsPolicy', + 'Set-CsTeamsVirtualAppointmentsPolicy', + 'Grant-CsTeamsVirtualAppointmentsPolicy', + + 'New-CsTeamsComplianceRecordingPolicy', + 'Get-CsTeamsComplianceRecordingPolicy', + 'Remove-CsTeamsComplianceRecordingPolicy', + 'Set-CsTeamsComplianceRecordingPolicy', + + 'New-CsTeamsComplianceRecordingApplication', + 'Get-CsTeamsComplianceRecordingApplication', + 'Remove-CsTeamsComplianceRecordingApplication', + 'Set-CsTeamsComplianceRecordingApplication', + + 'New-CsTeamsComplianceRecordingPairedApplication', + + 'New-CsTeamsSharedCallingRoutingPolicy', + 'Get-CsTeamsSharedCallingRoutingPolicy', + 'Remove-CsTeamsSharedCallingRoutingPolicy', + 'Set-CsTeamsSharedCallingRoutingPolicy', + 'Grant-CsTeamsSharedCallingRoutingPolicy', + + 'New-CsTeamsVdiPolicy', + 'Get-CsTeamsVdiPolicy', + 'Remove-CsTeamsVdiPolicy', + 'Set-CsTeamsVdiPolicy', + 'Grant-CsTeamsVdiPolicy', + + 'Get-CsTeamsMeetingConfiguration', + 'Set-CsTeamsMeetingConfiguration', + + 'New-CsTeamsCustomBannerText', + 'Get-CsTeamsCustomBannerText', + 'Remove-CsTeamsCustomBannerText', + 'Set-CsTeamsCustomBannerText', + + 'Get-CsTeamsEducationConfiguration', + 'Set-CsTeamsEducationConfiguration', + + 'New-CsTeamsWorkLocationDetectionPolicy', + 'Get-CsTeamsWorkLocationDetectionPolicy', + 'Remove-CsTeamsWorkLocationDetectionPolicy', + 'Set-CsTeamsWorkLocationDetectionPolicy', + 'Grant-CsTeamsWorkLocationDetectionPolicy', + + 'New-CsTeamsMediaConnectivityPolicy', + 'Get-CsTeamsMediaConnectivityPolicy', + 'Remove-CsTeamsMediaConnectivityPolicy', + 'Set-CsTeamsMediaConnectivityPolicy', + 'Grant-CsTeamsMediaConnectivityPolicy', + + 'New-CsTeamsRecordingRollOutPolicy', + 'Get-CsTeamsRecordingRollOutPolicy', + 'Remove-CsTeamsRecordingRollOutPolicy', + 'Set-CsTeamsRecordingRollOutPolicy', + 'Grant-CsTeamsRecordingRollOutPolicy', + + 'New-CsTeamsFilesPolicy', + 'Get-CsTeamsFilesPolicy', + 'Remove-CsTeamsFilesPolicy', + 'Set-CsTeamsFilesPolicy', + 'Grant-CsTeamsFilesPolicy', + + 'Get-CsTeamsExternalAccessConfiguration', + 'Set-CsTeamsExternalAccessConfiguration', + + 'New-CsConversationRole', + 'Remove-CsConversationRole', + 'Get-CsConversationRole', + 'Set-CsConversationRole' +) + +# Variables to export from this module +VariablesToExport = @() + +# Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export. +AliasesToExport = @() + +# DSC resources to export from this module +# DscResourcesToExport = @() + +# List of all modules packaged with this module +# ModuleList = @() + +# List of all files packaged with this module +# FileList = @() + +# Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell. +PrivateData = @{} + +# HelpInfo URI of this module +# HelpInfoURI = '' + +# Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix. +# DefaultCommandPrefix = '' +} +# SIG # Begin signature block +# MIInwQYJKoZIhvcNAQcCoIInsjCCJ64CAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAZTFbbvOaF+sxa +# 9dX8kxRBoLQBw3yLzCBu87skb3QfBqCCDXYwggX0MIID3KADAgECAhMzAAADrzBA +# DkyjTQVBAAAAAAOvMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMjMxMTE2MTkwOTAwWhcNMjQxMTE0MTkwOTAwWjB0MQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +# AQDOS8s1ra6f0YGtg0OhEaQa/t3Q+q1MEHhWJhqQVuO5amYXQpy8MDPNoJYk+FWA +# hePP5LxwcSge5aen+f5Q6WNPd6EDxGzotvVpNi5ve0H97S3F7C/axDfKxyNh21MG +# 0W8Sb0vxi/vorcLHOL9i+t2D6yvvDzLlEefUCbQV/zGCBjXGlYJcUj6RAzXyeNAN +# xSpKXAGd7Fh+ocGHPPphcD9LQTOJgG7Y7aYztHqBLJiQQ4eAgZNU4ac6+8LnEGAL +# go1ydC5BJEuJQjYKbNTy959HrKSu7LO3Ws0w8jw6pYdC1IMpdTkk2puTgY2PDNzB +# tLM4evG7FYer3WX+8t1UMYNTAgMBAAGjggFzMIIBbzAfBgNVHSUEGDAWBgorBgEE +# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQURxxxNPIEPGSO8kqz+bgCAQWGXsEw +# RQYDVR0RBD4wPKQ6MDgxHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEW +# MBQGA1UEBRMNMjMwMDEyKzUwMTgyNjAfBgNVHSMEGDAWgBRIbmTlUAXTgqoXNzci +# tW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8vd3d3Lm1pY3Jvc29mdC5j +# b20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3JsMGEG +# CCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDovL3d3dy5taWNyb3NvZnQu +# Y29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3J0 +# MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIBAISxFt/zR2frTFPB45Yd +# mhZpB2nNJoOoi+qlgcTlnO4QwlYN1w/vYwbDy/oFJolD5r6FMJd0RGcgEM8q9TgQ +# 2OC7gQEmhweVJ7yuKJlQBH7P7Pg5RiqgV3cSonJ+OM4kFHbP3gPLiyzssSQdRuPY +# 1mIWoGg9i7Y4ZC8ST7WhpSyc0pns2XsUe1XsIjaUcGu7zd7gg97eCUiLRdVklPmp +# XobH9CEAWakRUGNICYN2AgjhRTC4j3KJfqMkU04R6Toyh4/Toswm1uoDcGr5laYn +# TfcX3u5WnJqJLhuPe8Uj9kGAOcyo0O1mNwDa+LhFEzB6CB32+wfJMumfr6degvLT +# e8x55urQLeTjimBQgS49BSUkhFN7ois3cZyNpnrMca5AZaC7pLI72vuqSsSlLalG +# OcZmPHZGYJqZ0BacN274OZ80Q8B11iNokns9Od348bMb5Z4fihxaBWebl8kWEi2O +# PvQImOAeq3nt7UWJBzJYLAGEpfasaA3ZQgIcEXdD+uwo6ymMzDY6UamFOfYqYWXk +# ntxDGu7ngD2ugKUuccYKJJRiiz+LAUcj90BVcSHRLQop9N8zoALr/1sJuwPrVAtx +# HNEgSW+AKBqIxYWM4Ev32l6agSUAezLMbq5f3d8x9qzT031jMDT+sUAoCw0M5wVt +# CUQcqINPuYjbS1WgJyZIiEkBMIIHejCCBWKgAwIBAgIKYQ6Q0gAAAAAAAzANBgkq +# hkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x +# EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv +# bjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5 +# IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEwOTA5WjB+MQswCQYDVQQG +# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG +# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQg +# Q29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC +# CgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+laUKq4BjgaBEm6f8MMHt03 +# a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc6Whe0t+bU7IKLMOv2akr +# rnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4Ddato88tt8zpcoRb0Rrrg +# OGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+lD3v++MrWhAfTVYoonpy +# 4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nkkDstrjNYxbc+/jLTswM9 +# sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6A4aN91/w0FK/jJSHvMAh +# dCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmdX4jiJV3TIUs+UsS1Vz8k +# A/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL5zmhD+kjSbwYuER8ReTB +# w3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zdsGbiwZeBe+3W7UvnSSmn +# Eyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3T8HhhUSJxAlMxdSlQy90 +# lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS4NaIjAsCAwEAAaOCAe0w +# ggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRIbmTlUAXTgqoXNzcitW2o +# ynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYD +# VR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBDuRQFTuHqp8cx0SOJNDBa +# BgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2Ny +# bC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3JsMF4GCCsG +# AQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3dy5taWNyb3NvZnQuY29t +# L3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3J0MIGfBgNV +# HSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEFBQcCARYzaHR0cDovL3d3 +# dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1hcnljcHMuaHRtMEAGCCsG +# AQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkAYwB5AF8AcwB0AGEAdABl +# AG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn8oalmOBUeRou09h0ZyKb +# C5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7v0epo/Np22O/IjWll11l +# hJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0bpdS1HXeUOeLpZMlEPXh6 +# I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/KmtYSWMfCWluWpiW5IP0 +# wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvyCInWH8MyGOLwxS3OW560 +# STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBpmLJZiWhub6e3dMNABQam +# ASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJihsMdYzaXht/a8/jyFqGa +# J+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYbBL7fQccOKO7eZS/sl/ah +# XJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbSoqKfenoi+kiVH6v7RyOA +# 9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sLgOppO6/8MO0ETI7f33Vt +# Y5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtXcVZOSEXAQsmbdlsKgEhr +# /Xmfwb1tbWrJUnMTDXpQzTGCGaEwghmdAgEBMIGVMH4xCzAJBgNVBAYTAlVTMRMw +# EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN +# aWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNp +# Z25pbmcgUENBIDIwMTECEzMAAAOvMEAOTKNNBUEAAAAAA68wDQYJYIZIAWUDBAIB +# BQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEO +# MAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIPGBcUGpAM1P3/qeS32QoiTP +# Y+YA6OjRTBOSv5QXWDb4MEIGCisGAQQBgjcCAQwxNDAyoBSAEgBNAGkAYwByAG8A +# cwBvAGYAdKEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20wDQYJKoZIhvcNAQEB +# BQAEggEAxN8SWQDFJRGB02ui4iffy+oZO3z4YBlKmMKp83TRN4WoxaQzWg0BdU2U +# G4kgKk8FJcmQfOM06r9eKwj4Tpa9s0kH3tO/cy97zXz0OPuN1bZUJ0hVnzh7guTE +# 3Rskt3UVVd2GPaz4Rc9Y5Rjow/+OdmJdIk0Wo22z1pFo/uRoIxO8IByxwKwJkZI5 +# k8qqH8cB1vnePKjNLlJd9zQIwBAqfBc62N1PVTNcYPBjPyX4U8H8v8nx3a6ZTkWz +# YPeCYsf23Uif2XLx37S+33k33abc/OmMO7wifld7Esc782GlAZK/i6GcHfT79HcB +# lDjtft4KSaTLLmTotAqql+HKe5b326GCFyswghcnBgorBgEEAYI3AwMBMYIXFzCC +# FxMGCSqGSIb3DQEHAqCCFwQwghcAAgEDMQ8wDQYJYIZIAWUDBAIBBQAwggFYBgsq +# hkiG9w0BCRABBKCCAUcEggFDMIIBPwIBAQYKKwYBBAGEWQoDATAxMA0GCWCGSAFl +# AwQCAQUABCA9DwvlZj9wDoi8QFS9QZgrfhP/I6oRhU8kDEjm5UGwSQIGZldeYHsN +# GBIyMDI0MDYxOTExMzEzMi41OVowBIACAfSggdikgdUwgdIxCzAJBgNVBAYTAlVT +# MRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQK +# ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVs +# YW5kIE9wZXJhdGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhhbGVzIFRTUyBFU046 +# RDA4Mi00QkZELUVFQkExJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNl +# cnZpY2WgghF7MIIHJzCCBQ+gAwIBAgITMwAAAdzB4IzCX1hejgABAAAB3DANBgkq +# hkiG9w0BAQsFADB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQ +# MA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9u +# MSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDAeFw0yMzEw +# MTIxOTA3MDZaFw0yNTAxMTAxOTA3MDZaMIHSMQswCQYDVQQGEwJVUzETMBEGA1UE +# CBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9z +# b2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQgSXJlbGFuZCBPcGVy +# YXRpb25zIExpbWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNOOkQwODItNEJG +# RC1FRUJBMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNlMIIC +# IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAi8izIDWyOD2RIonN6WtRYXlK +# GphYvzdqafdITknIhU9QLsXqpNwumGEdn2J1/bV/RFoatTwQfJ0Xw3E8xHYpU2IC +# 0IY8lryRXUIa+fdt4YHabaW2aolqcbvWYDLCuQoBNieLAos9AsnTQSRfDlNLB+Yl +# dt2BAsWUfJ8DkqD6lSwlfOq6aQi8SvQNc++m0AaqR0UsrCjgFOUSCe/N5N9e6TNf +# y9C1MAt9Um5NSBFTvOg/9EVa3dZqBqFnpSWgjQULxeUFANUNfkl4wSzHuOAkN0Sc +# rjhjyAe4RZEOr5Ib1ejQYg6OK5NYPm6/e+USYgDJH/utIW9wufACox2pzL+KpA8y +# UM5x3QBueI/yJrUFARSd9lPdTHIr2ssH9JGIo/IcOWDyhbBfKK/f5sYHp2Z0zrW6 +# vqdS18N/nWU9wqErhWjzek4TX+eJaVWcQdBX00nn8NtRKpbZGpNRrY7Yq6+zJEYw +# SCMYkDXb9KqtGqW8TZ+I3lmZlW2pI9ZohqzHtrQYH591PD6B5GfoyjZLr79tkTBL +# /QgnmBwoaKc1t/JDXGu9Zc+1fMo5+OSHvmJG5ei6sZU9GqSbPlRjP5HnJswlaP6Z +# 9warPaFdXyJmcJkMGuudmK+cSsIyHkWV+Dzj3qlPSmGNRMfYYKEci8ThINKTaHBY +# /+4cH2ASzyn/097+a30CAwEAAaOCAUkwggFFMB0GA1UdDgQWBBToc9IF3Q58Rfe4 +# 1ax2RKtpQZ7d2zAfBgNVHSMEGDAWgBSfpxVdAF5iXYP05dJlpxtTNRnpcjBfBgNV +# HR8EWDBWMFSgUqBQhk5odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2Ny +# bC9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIwMjAxMCgxKS5jcmwwbAYI +# KwYBBQUHAQEEYDBeMFwGCCsGAQUFBzAChlBodHRwOi8vd3d3Lm1pY3Jvc29mdC5j +# b20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMFRpbWUtU3RhbXAlMjBQQ0ElMjAy +# MDEwKDEpLmNydDAMBgNVHRMBAf8EAjAAMBYGA1UdJQEB/wQMMAoGCCsGAQUFBwMI +# MA4GA1UdDwEB/wQEAwIHgDANBgkqhkiG9w0BAQsFAAOCAgEA2etvwTCvx5f8fWwq +# 3eufBMPHgCqAduQw1Cj6RQbAIg1dLfLUZRx2qwr9HWDpN/u03HWrQ2kqTUlO6lQl +# 8d0TEq2S6EcD7zaVPvIhKn9jvh2onTdEJPhD7yihBdMzPGJ7B8StUu3xZ595udxJ +# PSLrKkq/zukJiTEzbhtupsz9X4zlUGmkJSztH5wROLP/MQDUBtkv++Je0eavIDQI +# Z34+31z5p2xh+bup7lQydLR/9gmYQQyQSoZcLPIsr52H5SwWLR3iWR1wT5mrkk2M +# gd6xfXDO0ZUC29fQNgNl03ZZnWST6E4xuVRX8vyfVhbOE//ldCdiXTcB9cSuf7UR +# q3KWJ/N3cKEnXG4YbvphtaCJFecO8KLAOq9Ql69VFjWrLjLi+VUppKG1t1+A/IZ5 +# 4n9hxIE405zQM1NZuMxsvnSp4gQLSUdKkvatFg1W7eGwfMbyfm7kJBqM/DH0/Omx +# kh4VM0fJUXqS6MjhWj0287/MXw63jggyPgztRf1lrhDAZ/kHvXHns6NpfneDFPi/ +# Oge8QFcX2oKYdGBcEttGiYl8OfrRqXO/t2kJVAi5DTrafIhkqexfHO4oVvRONdbD +# o4WkbVuyNek6jkMweTKyuJvEeivhjPl1mNXIcA3IqjRtKsCVV6KFxobkXvhJlPwW +# 3IcBboiAtznD/cP5HWhsOEpnbVYwggdxMIIFWaADAgECAhMzAAAAFcXna54Cm0mZ +# AAAAAAAVMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMK +# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0 +# IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0 +# ZSBBdXRob3JpdHkgMjAxMDAeFw0yMTA5MzAxODIyMjVaFw0zMDA5MzAxODMyMjVa +# MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS +# ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMT +# HU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMIICIjANBgkqhkiG9w0BAQEF +# AAOCAg8AMIICCgKCAgEA5OGmTOe0ciELeaLL1yR5vQ7VgtP97pwHB9KpbE51yMo1 +# V/YBf2xK4OK9uT4XYDP/XE/HZveVU3Fa4n5KWv64NmeFRiMMtY0Tz3cywBAY6GB9 +# alKDRLemjkZrBxTzxXb1hlDcwUTIcVxRMTegCjhuje3XD9gmU3w5YQJ6xKr9cmmv +# Haus9ja+NSZk2pg7uhp7M62AW36MEBydUv626GIl3GoPz130/o5Tz9bshVZN7928 +# jaTjkY+yOSxRnOlwaQ3KNi1wjjHINSi947SHJMPgyY9+tVSP3PoFVZhtaDuaRr3t +# pK56KTesy+uDRedGbsoy1cCGMFxPLOJiss254o2I5JasAUq7vnGpF1tnYN74kpEe +# HT39IM9zfUGaRnXNxF803RKJ1v2lIH1+/NmeRd+2ci/bfV+AutuqfjbsNkz2K26o +# ElHovwUDo9Fzpk03dJQcNIIP8BDyt0cY7afomXw/TNuvXsLz1dhzPUNOwTM5TI4C +# vEJoLhDqhFFG4tG9ahhaYQFzymeiXtcodgLiMxhy16cg8ML6EgrXY28MyTZki1ug +# poMhXV8wdJGUlNi5UPkLiWHzNgY1GIRH29wb0f2y1BzFa/ZcUlFdEtsluq9QBXps +# xREdcu+N+VLEhReTwDwV2xo3xwgVGD94q0W29R6HXtqPnhZyacaue7e3PmriLq0C +# AwEAAaOCAd0wggHZMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYE +# FCqnUv5kxJq+gpE8RjUpzxD/LwTuMB0GA1UdDgQWBBSfpxVdAF5iXYP05dJlpxtT +# NRnpcjBcBgNVHSAEVTBTMFEGDCsGAQQBgjdMg30BATBBMD8GCCsGAQUFBwIBFjNo +# dHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL0RvY3MvUmVwb3NpdG9yeS5o +# dG0wEwYDVR0lBAwwCgYIKwYBBQUHAwgwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBD +# AEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAU1fZW +# y4/oolxiaNE9lJBb186aGMQwVgYDVR0fBE8wTTBLoEmgR4ZFaHR0cDovL2NybC5t +# aWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvTWljUm9vQ2VyQXV0XzIwMTAt +# MDYtMjMuY3JsMFoGCCsGAQUFBwEBBE4wTDBKBggrBgEFBQcwAoY+aHR0cDovL3d3 +# dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0y +# My5jcnQwDQYJKoZIhvcNAQELBQADggIBAJ1VffwqreEsH2cBMSRb4Z5yS/ypb+pc +# FLY+TkdkeLEGk5c9MTO1OdfCcTY/2mRsfNB1OW27DzHkwo/7bNGhlBgi7ulmZzpT +# Td2YurYeeNg2LpypglYAA7AFvonoaeC6Ce5732pvvinLbtg/SHUB2RjebYIM9W0j +# VOR4U3UkV7ndn/OOPcbzaN9l9qRWqveVtihVJ9AkvUCgvxm2EhIRXT0n4ECWOKz3 +# +SmJw7wXsFSFQrP8DJ6LGYnn8AtqgcKBGUIZUnWKNsIdw2FzLixre24/LAl4FOmR +# sqlb30mjdAy87JGA0j3mSj5mO0+7hvoyGtmW9I/2kQH2zsZ0/fZMcm8Qq3UwxTSw +# ethQ/gpY3UA8x1RtnWN0SCyxTkctwRQEcb9k+SS+c23Kjgm9swFXSVRk2XPXfx5b +# RAGOWhmRaw2fpCjcZxkoJLo4S5pu+yFUa2pFEUep8beuyOiJXk+d0tBMdrVXVAmx +# aQFEfnyhYWxz/gq77EFmPWn9y8FBSX5+k77L+DvktxW/tM4+pTFRhLy/AsGConsX +# HRWJjXD+57XQKBqJC4822rpM+Zv/Cuk0+CQ1ZyvgDbjmjJnW4SLq8CdCPSWU5nR0 +# W2rRnj7tfqAxM328y+l7vzhwRNGQ8cirOoo6CGJ/2XBjU02N7oJtpQUQwXEGahC0 +# HVUzWLOhcGbyoYIC1zCCAkACAQEwggEAoYHYpIHVMIHSMQswCQYDVQQGEwJVUzET +# MBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMV +# TWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQgSXJlbGFu +# ZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNOOkQw +# ODItNEJGRC1FRUJBMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2 +# aWNloiMKAQEwBwYFKw4DAhoDFQAcOf9zP7fJGQhQIl9Jsvd2OdASpqCBgzCBgKR+ +# MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS +# ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMT +# HU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMA0GCSqGSIb3DQEBBQUAAgUA +# 6hzhjTAiGA8yMDI0MDYxOTEyNDgxM1oYDzIwMjQwNjIwMTI0ODEzWjB3MD0GCisG +# AQQBhFkKBAExLzAtMAoCBQDqHOGNAgEAMAoCAQACAgJjAgH/MAcCAQACAhHPMAoC +# BQDqHjMNAgEAMDYGCisGAQQBhFkKBAIxKDAmMAwGCisGAQQBhFkKAwKgCjAIAgEA +# AgMHoSChCjAIAgEAAgMBhqAwDQYJKoZIhvcNAQEFBQADgYEARISFTYF+l4iQp6yM +# H/3Nw5Mn0Ff5o0A1NqcNscuFHJxkiraLYoTYmWorEqT+1v4c0SBbpEWMNqR9H6l7 +# O3ol+4Zoc/gaLoUxQq6asDbAoY4wClHyLwxX2U91bi0hHE4ENZs+KmGx8+TN/Ai+ +# T1AifXG/3jHs9qJ8YYMzLpxCHj8xggQNMIIECQIBATCBkzB8MQswCQYDVQQGEwJV +# UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE +# ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGlt +# ZS1TdGFtcCBQQ0EgMjAxMAITMwAAAdzB4IzCX1hejgABAAAB3DANBglghkgBZQME +# AgEFAKCCAUowGgYJKoZIhvcNAQkDMQ0GCyqGSIb3DQEJEAEEMC8GCSqGSIb3DQEJ +# BDEiBCAAXoWFwkXEeLYBCWIhf2KYpTIU5d2xukFaytk2QU0/ejCB+gYLKoZIhvcN +# AQkQAi8xgeowgecwgeQwgb0EIFOnF4pq2UQ/jLypnOO5YvQ67QirEQsOFfZMvKXE +# gg03MIGYMIGApH4wfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x +# EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv +# bjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTACEzMAAAHc +# weCMwl9YXo4AAQAAAdwwIgQg/6IcrdsxSth39b+gvnJuqBEEo5g+zI07cS71z5gR +# FeIwDQYJKoZIhvcNAQELBQAEggIAGCJSBOpg+egRM0P2KtH/XbyM5oJTXUvzh+mg +# x41+j5PDog3ZcHFspVtCuo9sdIusWZOx//ClDPtQU3dHPOnsj739QTVket5ufqAW +# 2lYwNijCwRRI+z4pWuxBLZ7R1wiDs9pspk8lL1V8hmTl1aotL1Zyto3RB8gcLsJ1 +# X28/c8DtER3AbQ89HS/kH6dXk7a/kfgIWx9gk8TuipFg2PXFgf1yED0mMtgVR/X3 +# XXMdrGi1Tmsafg+1aMZe4TcRl1DemcKsjXCvz5+3fz8s2l+WUnuQ1KbyGrJz3I0E +# Yz9klb/zxm9H2y2FSX3QxBwYTH8lWM5YYVHzNvUdeYaYV0wSwSwF9w2xpLU/++K0 +# Rt+38s6pvoSzHFXJXsNHLXtgJuU3qNsDueCnARJ8Du94UnLZ1b6JN/CLBc06WPJT +# zKewehighAK/AgZsXtnGAqrErZOqsKA4hkNDaInZLxVhpUH2Hknlg8+sM+H6xabt +# UA9CE0PeuL0PFEUIEXv234DGf6fT7vfqH9eU5cHvxcQ0wvCUaO/hojP9V3lrAQnQ +# nY3rx7tsm5AVEaIeW5TIHESvFMuNeSuEHyhr0Za5qYpJwKbuAN8eM0vtEczAeYWt +# PIfJ5gFwn9RZK4Vk810CvoAjBNpon+Xia9Vaw01EDauk0MM3X00NAoecZL4YXAGu +# Q+V3ykE= +# SIG # End signature block diff --git a/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.psm1 b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.psm1 new file mode 100644 index 000000000000..35f7f492b585 --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.psm1 @@ -0,0 +1,235 @@ +$path = Join-Path $PSScriptRoot 'Microsoft.Teams.Policy.Administration.Cmdlets.Core.dll' + +if (test-path $path) +{ + $null = Import-Module -Name $path +} +else +{ + if ($PSEdition -ne 'Desktop') + { + $null = Import-Module -Name (Join-Path $PSScriptRoot 'netcoreapp3.1\Microsoft.Teams.Policy.Administration.Cmdlets.Core.dll') + } + else + { + $null = Import-Module -Name (Join-Path $PSScriptRoot 'net472\Microsoft.Teams.Policy.Administration.Cmdlets.Core.dll') + } +} + +gci (Join-Path $PSScriptRoot 'Microsoft.Teams.Policy.Administration.Cmdlets.Core.*.ps1xml') | % {Update-FormatData -PrependPath $_ } + +# SIG # Begin signature block +# MIInzgYJKoZIhvcNAQcCoIInvzCCJ7sCAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAkAcLpsaJGFDbZ +# eSS41J6zw7DVHNDwNlPCWsROSiOFqaCCDYUwggYDMIID66ADAgECAhMzAAADri01 +# UchTj1UdAAAAAAOuMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMjMxMTE2MTkwODU5WhcNMjQxMTE0MTkwODU5WjB0MQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +# AQD0IPymNjfDEKg+YyE6SjDvJwKW1+pieqTjAY0CnOHZ1Nj5irGjNZPMlQ4HfxXG +# yAVCZcEWE4x2sZgam872R1s0+TAelOtbqFmoW4suJHAYoTHhkznNVKpscm5fZ899 +# QnReZv5WtWwbD8HAFXbPPStW2JKCqPcZ54Y6wbuWV9bKtKPImqbkMcTejTgEAj82 +# 6GQc6/Th66Koka8cUIvz59e/IP04DGrh9wkq2jIFvQ8EDegw1B4KyJTIs76+hmpV +# M5SwBZjRs3liOQrierkNVo11WuujB3kBf2CbPoP9MlOyyezqkMIbTRj4OHeKlamd +# WaSFhwHLJRIQpfc8sLwOSIBBAgMBAAGjggGCMIIBfjAfBgNVHSUEGDAWBgorBgEE +# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUhx/vdKmXhwc4WiWXbsf0I53h8T8w +# VAYDVR0RBE0wS6RJMEcxLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh +# dGlvbnMgTGltaXRlZDEWMBQGA1UEBRMNMjMwMDEyKzUwMTgzNjAfBgNVHSMEGDAW +# gBRIbmTlUAXTgqoXNzcitW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8v +# d3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIw +# MTEtMDctMDguY3JsMGEGCCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDov +# L3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDEx +# XzIwMTEtMDctMDguY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIB +# AGrJYDUS7s8o0yNprGXRXuAnRcHKxSjFmW4wclcUTYsQZkhnbMwthWM6cAYb/h2W +# 5GNKtlmj/y/CThe3y/o0EH2h+jwfU/9eJ0fK1ZO/2WD0xi777qU+a7l8KjMPdwjY +# 0tk9bYEGEZfYPRHy1AGPQVuZlG4i5ymJDsMrcIcqV8pxzsw/yk/O4y/nlOjHz4oV +# APU0br5t9tgD8E08GSDi3I6H57Ftod9w26h0MlQiOr10Xqhr5iPLS7SlQwj8HW37 +# ybqsmjQpKhmWul6xiXSNGGm36GarHy4Q1egYlxhlUnk3ZKSr3QtWIo1GGL03hT57 +# xzjL25fKiZQX/q+II8nuG5M0Qmjvl6Egltr4hZ3e3FQRzRHfLoNPq3ELpxbWdH8t +# Nuj0j/x9Crnfwbki8n57mJKI5JVWRWTSLmbTcDDLkTZlJLg9V1BIJwXGY3i2kR9i +# 5HsADL8YlW0gMWVSlKB1eiSlK6LmFi0rVH16dde+j5T/EaQtFz6qngN7d1lvO7uk +# 6rtX+MLKG4LDRsQgBTi6sIYiKntMjoYFHMPvI/OMUip5ljtLitVbkFGfagSqmbxK +# 7rJMhC8wiTzHanBg1Rrbff1niBbnFbbV4UDmYumjs1FIpFCazk6AADXxoKCo5TsO +# zSHqr9gHgGYQC2hMyX9MGLIpowYCURx3L7kUiGbOiMwaMIIHejCCBWKgAwIBAgIK +# YQ6Q0gAAAAAAAzANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNV +# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv +# c29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlm +# aWNhdGUgQXV0aG9yaXR5IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEw +# OTA5WjB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE +# BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYD +# VQQDEx9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG +# 9w0BAQEFAAOCAg8AMIICCgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+la +# UKq4BjgaBEm6f8MMHt03a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc +# 6Whe0t+bU7IKLMOv2akrrnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4D +# dato88tt8zpcoRb0RrrgOGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+ +# lD3v++MrWhAfTVYoonpy4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nk +# kDstrjNYxbc+/jLTswM9sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6 +# A4aN91/w0FK/jJSHvMAhdCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmd +# X4jiJV3TIUs+UsS1Vz8kA/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL +# 5zmhD+kjSbwYuER8ReTBw3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zd +# sGbiwZeBe+3W7UvnSSmnEyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3 +# T8HhhUSJxAlMxdSlQy90lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS +# 4NaIjAsCAwEAAaOCAe0wggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRI +# bmTlUAXTgqoXNzcitW2oynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAL +# BgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBD +# uRQFTuHqp8cx0SOJNDBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jv +# c29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf +# MDNfMjIuY3JsMF4GCCsGAQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3 +# dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf +# MDNfMjIuY3J0MIGfBgNVHSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEF +# BQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1h +# cnljcHMuaHRtMEAGCCsGAQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkA +# YwB5AF8AcwB0AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn +# 8oalmOBUeRou09h0ZyKbC5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7 +# v0epo/Np22O/IjWll11lhJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0b +# pdS1HXeUOeLpZMlEPXh6I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/ +# KmtYSWMfCWluWpiW5IP0wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvy +# CInWH8MyGOLwxS3OW560STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBp +# mLJZiWhub6e3dMNABQamASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJi +# hsMdYzaXht/a8/jyFqGaJ+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYb +# BL7fQccOKO7eZS/sl/ahXJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbS +# oqKfenoi+kiVH6v7RyOA9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sL +# gOppO6/8MO0ETI7f33VtY5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtX +# cVZOSEXAQsmbdlsKgEhr/Xmfwb1tbWrJUnMTDXpQzTGCGZ8wghmbAgEBMIGVMH4x +# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt +# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01p +# Y3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTECEzMAAAOuLTVRyFOPVR0AAAAA +# A64wDQYJYIZIAWUDBAIBBQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQw +# HAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIPfa +# nlNFBOVfSygxXiGchjDoSjX9DIEVGb2vyXmTS6s/MEIGCisGAQQBgjcCAQwxNDAy +# oBSAEgBNAGkAYwByAG8AcwBvAGYAdKEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5j +# b20wDQYJKoZIhvcNAQEBBQAEggEAZd+/Y4iJzy56dJa1fLkxtzxzCeh4sii+m3lg +# LlvuxJYhjxpnabroqBSgGWmbKPjED/TVo33jRipDrymR0mruJNFWnS5ZcWrHfv4W +# erAXW70HhM9qAEtpqQAHpC5Aj1TJrkOn/tuCOEvRPIqByu8R7Bep/JU4tcYmKurk +# UwmpdisVQJg0J8Dwtf6QlL/kRSuVw4ONw7mkXwI74OWfvgMPpRd+xPsRQrBluXn8 +# 5lJydw8hiijGz7n6Z6q+ou1zr1tqtKUfKrkN+4qKfAYaI8Sv10zGK0RBOud7i0fz +# boTTG52lU+5OEyH4UxjF14yTb+ClX8lYrl7joPI/juu18VjrIKGCFykwghclBgor +# BgEEAYI3AwMBMYIXFTCCFxEGCSqGSIb3DQEHAqCCFwIwghb+AgEDMQ8wDQYJYIZI +# AWUDBAIBBQAwggFZBgsqhkiG9w0BCRABBKCCAUgEggFEMIIBQAIBAQYKKwYBBAGE +# WQoDATAxMA0GCWCGSAFlAwQCAQUABCCcg0WkJUaCHxOAjou3VlQjlHT6ysefj9k9 +# El3cKnL0PgIGZlcfxLL5GBMyMDI0MDYxOTExMzEzOC4zMjJaMASAAgH0oIHYpIHV +# MIHSMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH +# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQL +# EyRNaWNyb3NvZnQgSXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsT +# HVRoYWxlcyBUU1MgRVNOOjNCRDQtNEI4MC02OUMzMSUwIwYDVQQDExxNaWNyb3Nv +# ZnQgVGltZS1TdGFtcCBTZXJ2aWNloIIReDCCBycwggUPoAMCAQICEzMAAAHlj2rA +# 8z20C6MAAQAAAeUwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxEzARBgNV +# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv +# c29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAg +# UENBIDIwMTAwHhcNMjMxMDEyMTkwNzM1WhcNMjUwMTEwMTkwNzM1WjCB0jELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9z +# b2Z0IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMg +# VFNTIEVTTjozQkQ0LTRCODAtNjlDMzElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUt +# U3RhbXAgU2VydmljZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKl7 +# 4Drau2O6LLrJO3HyTvO9aXai//eNyP5MLWZrmUGNOJMPwMI08V9zBfRPNcucreIY +# SyJHjkMIUGmuh0rPV5/2+UCLGrN1P77n9fq/mdzXMN1FzqaPHdKElKneJQ8R6cP4 +# dru2Gymmt1rrGcNe800CcD6d/Ndoommkd196VqOtjZFA1XWu+GsFBeWHiez/Pllq +# cM/eWntkQMs0lK0zmCfH+Bu7i1h+FDRR8F7WzUr/7M3jhVdPpAfq2zYCA8ZVLNgE +# izY+vFmgx+zDuuU/GChDK7klDcCw+/gVoEuSOl5clQsydWQjJJX7Z2yV+1KC6G1J +# VqpP3dpKPAP/4udNqpR5HIeb8Ta1JfjRUzSv3qSje5y9RYT/AjWNYQ7gsezuDWM/ +# 8cZ11kco1JvUyOQ8x/JDkMFqSRwj1v+mc6LKKlj//dWCG/Hw9ppdlWJX6psDesQu +# QR7FV7eCqV/lfajoLpPNx/9zF1dv8yXBdzmWJPeCie2XaQnrAKDqlG3zXux9tNQm +# z2L96TdxnIO2OGmYxBAAZAWoKbmtYI+Ciz4CYyO0Fm5Z3T40a5d7KJuftF6CTocc +# c/Up/jpFfQitLfjd71cS+cLCeoQ+q0n0IALvV+acbENouSOrjv/QtY4FIjHlI5zd +# JzJnGskVJ5ozhji0YRscv1WwJFAuyyCMQvLdmPddAgMBAAGjggFJMIIBRTAdBgNV +# HQ4EFgQU3/+fh7tNczEifEXlCQgFOXgMh6owHwYDVR0jBBgwFoAUn6cVXQBeYl2D +# 9OXSZacbUzUZ6XIwXwYDVR0fBFgwVjBUoFKgUIZOaHR0cDovL3d3dy5taWNyb3Nv +# ZnQuY29tL3BraW9wcy9jcmwvTWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUy +# MDIwMTAoMSkuY3JsMGwGCCsGAQUFBwEBBGAwXjBcBggrBgEFBQcwAoZQaHR0cDov +# L3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBUaW1l +# LVN0YW1wJTIwUENBJTIwMjAxMCgxKS5jcnQwDAYDVR0TAQH/BAIwADAWBgNVHSUB +# Af8EDDAKBggrBgEFBQcDCDAOBgNVHQ8BAf8EBAMCB4AwDQYJKoZIhvcNAQELBQAD +# ggIBADP6whOFjD1ad8GkEJ9oLBuvfjndMyGQ9R4HgBKSlPt3pa0XVLcimrJlDnKG +# gFBiWwI6XOgw82hdolDiMDBLLWRMTJHWVeUY1gU4XB8OOIxBc9/Q83zb1c0RWEup +# gC48I+b+2x2VNgGJUsQIyPR2PiXQhT5PyerMgag9OSodQjFwpNdGirna2rpV23EU +# wFeO5+3oSX4JeCNZvgyUOzKpyMvqVaubo+Glf/psfW5tIcMjZVt0elswfq0qJNQg +# oYipbaTvv7xmixUJGTbixYifTwAivPcKNdeisZmtts7OHbAM795ZvKLSEqXiRUjD +# YZyeHyAysMEALbIhdXgHEh60KoZyzlBXz3VxEirE7nhucNwM2tViOlwI7EkeU5hu +# dctnXCG55JuMw/wb7c71RKimZA/KXlWpmBvkJkB0BZES8OCGDd+zY/T9BnTp8si3 +# 6Tql84VfpYe9iHmy7PqqxqMF2Cn4q2a0mEMnpBruDGE/gR9c8SVJ2ntkARy5Sflu +# uJ/MB61yRvT1mUx3lyppO22ePjBjnwoEvVxbDjT1jhdMNdevOuDeJGzRLK9HNmTD +# C+TdZQlj+VMgIm8ZeEIRNF0oaviF+QZcUZLWzWbYq6yDok8EZKFiRR5otBoGLvaY +# FpxBZUE8mnLKuDlYobjrxh7lnwrxV/fMy0F9fSo2JxFmtLgtMIIHcTCCBVmgAwIB +# AgITMwAAABXF52ueAptJmQAAAAAAFTANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UE +# BhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAc +# BgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0 +# IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTAwHhcNMjEwOTMwMTgyMjI1 +# WhcNMzAwOTMwMTgzMjI1WjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu +# Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv +# cmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDCC +# AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAOThpkzntHIhC3miy9ckeb0O +# 1YLT/e6cBwfSqWxOdcjKNVf2AX9sSuDivbk+F2Az/1xPx2b3lVNxWuJ+Slr+uDZn +# hUYjDLWNE893MsAQGOhgfWpSg0S3po5GawcU88V29YZQ3MFEyHFcUTE3oAo4bo3t +# 1w/YJlN8OWECesSq/XJprx2rrPY2vjUmZNqYO7oaezOtgFt+jBAcnVL+tuhiJdxq +# D89d9P6OU8/W7IVWTe/dvI2k45GPsjksUZzpcGkNyjYtcI4xyDUoveO0hyTD4MmP +# frVUj9z6BVWYbWg7mka97aSueik3rMvrg0XnRm7KMtXAhjBcTyziYrLNueKNiOSW +# rAFKu75xqRdbZ2De+JKRHh09/SDPc31BmkZ1zcRfNN0Sidb9pSB9fvzZnkXftnIv +# 231fgLrbqn427DZM9ituqBJR6L8FA6PRc6ZNN3SUHDSCD/AQ8rdHGO2n6Jl8P0zb +# r17C89XYcz1DTsEzOUyOArxCaC4Q6oRRRuLRvWoYWmEBc8pnol7XKHYC4jMYcten +# IPDC+hIK12NvDMk2ZItboKaDIV1fMHSRlJTYuVD5C4lh8zYGNRiER9vcG9H9stQc +# xWv2XFJRXRLbJbqvUAV6bMURHXLvjflSxIUXk8A8FdsaN8cIFRg/eKtFtvUeh17a +# j54WcmnGrnu3tz5q4i6tAgMBAAGjggHdMIIB2TASBgkrBgEEAYI3FQEEBQIDAQAB +# MCMGCSsGAQQBgjcVAgQWBBQqp1L+ZMSavoKRPEY1Kc8Q/y8E7jAdBgNVHQ4EFgQU +# n6cVXQBeYl2D9OXSZacbUzUZ6XIwXAYDVR0gBFUwUzBRBgwrBgEEAYI3TIN9AQEw +# QTA/BggrBgEFBQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9E +# b2NzL1JlcG9zaXRvcnkuaHRtMBMGA1UdJQQMMAoGCCsGAQUFBwMIMBkGCSsGAQQB +# gjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/ +# MB8GA1UdIwQYMBaAFNX2VsuP6KJcYmjRPZSQW9fOmhjEMFYGA1UdHwRPME0wS6BJ +# oEeGRWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01p +# Y1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYB +# BQUHMAKGPmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljUm9v +# Q2VyQXV0XzIwMTAtMDYtMjMuY3J0MA0GCSqGSIb3DQEBCwUAA4ICAQCdVX38Kq3h +# LB9nATEkW+Geckv8qW/qXBS2Pk5HZHixBpOXPTEztTnXwnE2P9pkbHzQdTltuw8x +# 5MKP+2zRoZQYIu7pZmc6U03dmLq2HnjYNi6cqYJWAAOwBb6J6Gngugnue99qb74p +# y27YP0h1AdkY3m2CDPVtI1TkeFN1JFe53Z/zjj3G82jfZfakVqr3lbYoVSfQJL1A +# oL8ZthISEV09J+BAljis9/kpicO8F7BUhUKz/AyeixmJ5/ALaoHCgRlCGVJ1ijbC +# HcNhcy4sa3tuPywJeBTpkbKpW99Jo3QMvOyRgNI95ko+ZjtPu4b6MhrZlvSP9pEB +# 9s7GdP32THJvEKt1MMU0sHrYUP4KWN1APMdUbZ1jdEgssU5HLcEUBHG/ZPkkvnNt +# yo4JvbMBV0lUZNlz138eW0QBjloZkWsNn6Qo3GcZKCS6OEuabvshVGtqRRFHqfG3 +# rsjoiV5PndLQTHa1V1QJsWkBRH58oWFsc/4Ku+xBZj1p/cvBQUl+fpO+y/g75LcV +# v7TOPqUxUYS8vwLBgqJ7Fx0ViY1w/ue10CgaiQuPNtq6TPmb/wrpNPgkNWcr4A24 +# 5oyZ1uEi6vAnQj0llOZ0dFtq0Z4+7X6gMTN9vMvpe784cETRkPHIqzqKOghif9lw +# Y1NNje6CbaUFEMFxBmoQtB1VM1izoXBm8qGCAtQwggI9AgEBMIIBAKGB2KSB1TCB +# 0jELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1Jl +# ZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMk +# TWljcm9zb2Z0IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1U +# aGFsZXMgVFNTIEVTTjozQkQ0LTRCODAtNjlDMzElMCMGA1UEAxMcTWljcm9zb2Z0 +# IFRpbWUtU3RhbXAgU2VydmljZaIjCgEBMAcGBSsOAwIaAxUA942iGuYFrsE4wzWD +# d85EpM6RiwqggYMwgYCkfjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu +# Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv +# cmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDAN +# BgkqhkiG9w0BAQUFAAIFAOocou0wIhgPMjAyNDA2MTkwODIxMDFaGA8yMDI0MDYy +# MDA4MjEwMVowdDA6BgorBgEEAYRZCgQBMSwwKjAKAgUA6hyi7QIBADAHAgEAAgIU +# MjAHAgEAAgISEzAKAgUA6h30bQIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEE +# AYRZCgMCoAowCAIBAAIDB6EgoQowCAIBAAIDAYagMA0GCSqGSIb3DQEBBQUAA4GB +# AFZeHjUZP4Z4u2SdzthhV+nP6G0eup1nDgNVYQfaOEyamlH8LLjTCf/f4yeNmuqP +# JQYU8zeNN5rQK2UJBLCIuENhPXyn1GsCxZHccyS/ZOBKbLmkZ9cU2K4P4Owntn5e +# cqNQNdd4OdHl0AQ2X3vgF05JzP6kv+4AGpq1MxiIN92bMYIEDTCCBAkCAQEwgZMw +# fDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1Jl +# ZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMd +# TWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTACEzMAAAHlj2rA8z20C6MAAQAA +# AeUwDQYJYIZIAWUDBAIBBQCgggFKMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRAB +# BDAvBgkqhkiG9w0BCQQxIgQg8kao1M0QzC9lAuVKksUhYC4zbjn6vUrN+wiyRJ7m +# RhowgfoGCyqGSIb3DQEJEAIvMYHqMIHnMIHkMIG9BCAVqdP//qjxGFhe2YboEXeb +# 8I/pAof01CwhbxUH9U697TCBmDCBgKR+MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQI +# EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv +# ZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBD +# QSAyMDEwAhMzAAAB5Y9qwPM9tAujAAEAAAHlMCIEIKFipkV/DVpxusVZcZtSUcBg +# 5g8NIUAMTmbSG9mhVjq/MA0GCSqGSIb3DQEBCwUABIICAE1Rr4J0Dcc/oeOoFSnI +# HwtOYgEdptGbfdlRwTgh2OviN6XHxa66kPOrll4FmK7i470t7DKKXbsbVJPTMCQb +# JUZaocoe+RCNOn6uKhi923R1R+6vUGDbl2ZkAGx1VYb1mbCRHOec9EwyQ6829D9e +# 4TAPI2ZUEM9ruWzFn53LokowaALvoOJfWEW+j3bFDs85U+Ixald7efOLPRIaoRoo +# h+fo0fLqkihkpE5g5JsAJFTOfshNN/V0s43QIDCxY2oeoJIAFdL0A8e4xbsUl5uD +# eRwvyjN7Zv2K0JYPCe1LPpALn3LbgRcO0tGMdr6sOcCJBQ5p8WJkGElnU/sUL94R +# TRADPWjqFC562rXff73tuMyYJwA+2vSJ9oOkcimjigafPMFs3ZI1eOo4mxLFkHTz +# U+BP89NA1+baWbLE6geQi5Rb3d4B3O203wlkz7I0k0iAGwYk94u2AwCG0Vs7ygss +# f2s3QCm0P/BYZ2JS0tKcZ2lcaOcaAf8mAAnu9CTyvwB0/34iFojfGZWi7e0O9j/c +# /weYRYTbEvR9i/mE4V9vR1dkS9/Pnp9j3kbTYt1xLXz5Gl+QFMp2aDffZSttnAQy +# j6Eb2S5ZTkafkMvXYnyTj5JtKG6tECl/eLI/g5fHT5MUrDQHPmMNzjT0SyzA42l+ +# VGyu70KxayffELE+zPQFnSdS +# SIG # End signature block diff --git a/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.xml b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.xml new file mode 100644 index 000000000000..69719455253b --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.Core.xml @@ -0,0 +1,27 @@ + + + + Microsoft.Teams.Policy.Administration.Cmdlets.Core + + + + + 'Applies a PSListModifier to a collection. + The collection either has the items in modifier.Add added and those in modifier.Remove removed, + or is replaced entirely with the items in modifier.Replace. + keyEqualityPredicate is called during a remove operation to determine if an item in the collection + is the same as an item in the modifier - reference equality is not sufficient. + + + + + 'Applies a PSListModifier to a collection. + The collection either has the items in modifier.Add added and those in modifier.Remove removed, + or is replaced entirely with the items in modifier.Replace. + This overload is used then the objects in the collection can be compared correctly with those + in the modifier by calling .Equals(). + + + + + diff --git a/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.CoreAudioConferencing.format.ps1xml b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.CoreAudioConferencing.format.ps1xml new file mode 100644 index 000000000000..aaffbdb21c86 --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.CoreAudioConferencing.format.ps1xml @@ -0,0 +1,249 @@ + + + + + TeamsAudioConferencingPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.CoreAudioConferencing.TeamsAudioConferencingPolicy + + + + + + + + + Identity + + + + MeetingInvitePhoneNumbers + + + + AllowTollFreeDialin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.CoreMediaConnectivityPolicy.format.ps1xml b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.CoreMediaConnectivityPolicy.format.ps1xml new file mode 100644 index 000000000000..7eeccf691c54 --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.CoreMediaConnectivityPolicy.format.ps1xml @@ -0,0 +1,245 @@ + + + + + TeamsMediaConnectivityPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.CoreMediaConnectivityPolicy.TeamsMediaConnectivityPolicy + + + + + + + + + Identity + + + + DirectConnection + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.CoreRecordingRollOutPolicy.format.ps1xml b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.CoreRecordingRollOutPolicy.format.ps1xml new file mode 100644 index 000000000000..28b6d1c2be9b --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.CoreRecordingRollOutPolicy.format.ps1xml @@ -0,0 +1,245 @@ + + + + + TeamsRecordingRollOutPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.CoreRecordingRollOutPolicy.TeamsRecordingRollOutPolicy + + + + + + + + + Identity + + + + MeetingRecordingOwnership + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.CoreVirtualAppointmentsPolicy.format.ps1xml b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.CoreVirtualAppointmentsPolicy.format.ps1xml new file mode 100644 index 000000000000..72af20fdb3fb --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.CoreVirtualAppointmentsPolicy.format.ps1xml @@ -0,0 +1,247 @@ + + + + + TeamsVirtualAppointmentsPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.CoreVirtualAppointmentsPolicy.TeamsVirtualAppointmentsPolicy + + + + + + + + + Identity + + + + EnableSmsNotifications + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.CoreWorkLocationDetectionPolicy.format.ps1xml b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.CoreWorkLocationDetectionPolicy.format.ps1xml new file mode 100644 index 000000000000..7aa59ad2115d --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.Cmdlets.CoreWorkLocationDetectionPolicy.format.ps1xml @@ -0,0 +1,247 @@ + + + + + TeamsWorkLocationDetectionPolicyView + + Microsoft.Teams.Policy.Administration.Cmdlets.CoreWorkLocationDetectionPolicy.TeamsWorkLocationDetectionPolicy + + + + + + + + + Identity + + + + EnableWorkLocationDetection + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.psd1 b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.psd1 new file mode 100644 index 000000000000..55be5517b33e --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.psd1 @@ -0,0 +1,316 @@ +# +# Module manifest for module 'MicrosoftTeamsPolicyAdministration' +# +# Generated by: Microsoft Corporation +# +# Updated on: 1/31/2022 +# + +@{ +# Script module or binary module file associated with this manifest. +RootModule = './Microsoft.Teams.Policy.Administration.psm1' + +# Version number of this module. +ModuleVersion = '1.1.10' + +# Supported PSEditions +CompatiblePSEditions = 'Core', 'Desktop' + +# ID used to uniquely identify this module +GUID = '048c99d9-471a-4935-a810-542687c5f950' + +# Author of this module +Author = 'Microsoft Corporation' + +# Company or vendor of this module +CompanyName = 'Microsoft Corporation' + +# Copyright statement for this module +Copyright = 'Microsoft Corporation. All rights reserved.' + +# Description of the functionality provided by this module +Description = 'Microsoft Teams cmdlets module for Policy Administration' + +# Minimum version of the Windows PowerShell engine required by this module +PowerShellVersion = '5.1' + +# Name of the Windows PowerShell host required by this module +# PowerShellHostName = '' + +# Minimum version of the Windows PowerShell host required by this module +# PowerShellHostVersion = '' + +# Minimum version of Microsoft .NET Framework required by this module. This prerequisite is valid for the PowerShell Desktop edition only. +DotNetFrameworkVersion = '4.7.2' + +# Minimum version of the common language runtime (CLR) required by this module. This prerequisite is valid for the PowerShell Desktop edition only. +CLRVersion = '4.0' + +# Processor architecture (None, X86, Amd64) required by this module +# ProcessorArchitecture = 'Amd64' + +# Modules that must be imported into the global environment prior to importing this module +# RequiredModules = @() + +# Assemblies that must be loaded prior to importing this module +# RequiredAssemblies = @() + +# Script files (.ps1) that are run in the caller's environment prior to importing this module. +# Removed this script from here because this module is used in SAW machines as well where Contraint Language Mode is on. +# Because of CLM constraint we were not able to import Teams module to SAW machines, that is why removing this script. +# ScriptsToProcess = @() + +# Type files (.ps1xml) to be loaded when importing this module +# TypesToProcess = @() + +# Format files (.ps1xml) to be loaded when importing this module +FormatsToProcess = @() + +# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess +NestedModules = @() + +# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export. +FunctionsToExport = '*' + +# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export. +CmdletsToExport = '*' + +# Variables to export from this module +VariablesToExport = '*' + +# Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export. +AliasesToExport = '*' + +# DSC resources to export from this module +# DscResourcesToExport = @() + +# List of all modules packaged with this module +# ModuleList = @() + +# List of all files packaged with this module +# FileList = @() + +# Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell. +PrivateData = @{} + +# HelpInfo URI of this module +# HelpInfoURI = '' + +# Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix. +# DefaultCommandPrefix = '' +} +# SIG # Begin signature block +# MIInzgYJKoZIhvcNAQcCoIInvzCCJ7sCAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBX5bNv/e/hEJjq +# Q6D5HlOhRxR598nY2Kn5dTMSnhzIe6CCDYUwggYDMIID66ADAgECAhMzAAADri01 +# UchTj1UdAAAAAAOuMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMjMxMTE2MTkwODU5WhcNMjQxMTE0MTkwODU5WjB0MQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +# AQD0IPymNjfDEKg+YyE6SjDvJwKW1+pieqTjAY0CnOHZ1Nj5irGjNZPMlQ4HfxXG +# yAVCZcEWE4x2sZgam872R1s0+TAelOtbqFmoW4suJHAYoTHhkznNVKpscm5fZ899 +# QnReZv5WtWwbD8HAFXbPPStW2JKCqPcZ54Y6wbuWV9bKtKPImqbkMcTejTgEAj82 +# 6GQc6/Th66Koka8cUIvz59e/IP04DGrh9wkq2jIFvQ8EDegw1B4KyJTIs76+hmpV +# M5SwBZjRs3liOQrierkNVo11WuujB3kBf2CbPoP9MlOyyezqkMIbTRj4OHeKlamd +# WaSFhwHLJRIQpfc8sLwOSIBBAgMBAAGjggGCMIIBfjAfBgNVHSUEGDAWBgorBgEE +# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUhx/vdKmXhwc4WiWXbsf0I53h8T8w +# VAYDVR0RBE0wS6RJMEcxLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh +# dGlvbnMgTGltaXRlZDEWMBQGA1UEBRMNMjMwMDEyKzUwMTgzNjAfBgNVHSMEGDAW +# gBRIbmTlUAXTgqoXNzcitW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8v +# d3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIw +# MTEtMDctMDguY3JsMGEGCCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDov +# L3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDEx +# XzIwMTEtMDctMDguY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIB +# AGrJYDUS7s8o0yNprGXRXuAnRcHKxSjFmW4wclcUTYsQZkhnbMwthWM6cAYb/h2W +# 5GNKtlmj/y/CThe3y/o0EH2h+jwfU/9eJ0fK1ZO/2WD0xi777qU+a7l8KjMPdwjY +# 0tk9bYEGEZfYPRHy1AGPQVuZlG4i5ymJDsMrcIcqV8pxzsw/yk/O4y/nlOjHz4oV +# APU0br5t9tgD8E08GSDi3I6H57Ftod9w26h0MlQiOr10Xqhr5iPLS7SlQwj8HW37 +# ybqsmjQpKhmWul6xiXSNGGm36GarHy4Q1egYlxhlUnk3ZKSr3QtWIo1GGL03hT57 +# xzjL25fKiZQX/q+II8nuG5M0Qmjvl6Egltr4hZ3e3FQRzRHfLoNPq3ELpxbWdH8t +# Nuj0j/x9Crnfwbki8n57mJKI5JVWRWTSLmbTcDDLkTZlJLg9V1BIJwXGY3i2kR9i +# 5HsADL8YlW0gMWVSlKB1eiSlK6LmFi0rVH16dde+j5T/EaQtFz6qngN7d1lvO7uk +# 6rtX+MLKG4LDRsQgBTi6sIYiKntMjoYFHMPvI/OMUip5ljtLitVbkFGfagSqmbxK +# 7rJMhC8wiTzHanBg1Rrbff1niBbnFbbV4UDmYumjs1FIpFCazk6AADXxoKCo5TsO +# zSHqr9gHgGYQC2hMyX9MGLIpowYCURx3L7kUiGbOiMwaMIIHejCCBWKgAwIBAgIK +# YQ6Q0gAAAAAAAzANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNV +# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv +# c29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlm +# aWNhdGUgQXV0aG9yaXR5IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEw +# OTA5WjB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE +# BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYD +# VQQDEx9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG +# 9w0BAQEFAAOCAg8AMIICCgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+la +# UKq4BjgaBEm6f8MMHt03a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc +# 6Whe0t+bU7IKLMOv2akrrnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4D +# dato88tt8zpcoRb0RrrgOGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+ +# lD3v++MrWhAfTVYoonpy4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nk +# kDstrjNYxbc+/jLTswM9sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6 +# A4aN91/w0FK/jJSHvMAhdCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmd +# X4jiJV3TIUs+UsS1Vz8kA/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL +# 5zmhD+kjSbwYuER8ReTBw3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zd +# sGbiwZeBe+3W7UvnSSmnEyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3 +# T8HhhUSJxAlMxdSlQy90lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS +# 4NaIjAsCAwEAAaOCAe0wggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRI +# bmTlUAXTgqoXNzcitW2oynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAL +# BgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBD +# uRQFTuHqp8cx0SOJNDBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jv +# c29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf +# MDNfMjIuY3JsMF4GCCsGAQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3 +# dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf +# MDNfMjIuY3J0MIGfBgNVHSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEF +# BQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1h +# cnljcHMuaHRtMEAGCCsGAQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkA +# YwB5AF8AcwB0AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn +# 8oalmOBUeRou09h0ZyKbC5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7 +# v0epo/Np22O/IjWll11lhJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0b +# pdS1HXeUOeLpZMlEPXh6I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/ +# KmtYSWMfCWluWpiW5IP0wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvy +# CInWH8MyGOLwxS3OW560STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBp +# mLJZiWhub6e3dMNABQamASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJi +# hsMdYzaXht/a8/jyFqGaJ+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYb +# BL7fQccOKO7eZS/sl/ahXJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbS +# oqKfenoi+kiVH6v7RyOA9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sL +# gOppO6/8MO0ETI7f33VtY5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtX +# cVZOSEXAQsmbdlsKgEhr/Xmfwb1tbWrJUnMTDXpQzTGCGZ8wghmbAgEBMIGVMH4x +# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt +# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01p +# Y3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTECEzMAAAOuLTVRyFOPVR0AAAAA +# A64wDQYJYIZIAWUDBAIBBQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQw +# HAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIMLj +# tC9+pUuKRksB9P/PV4PoVbixIGnJ8tv2bfusInoyMEIGCisGAQQBgjcCAQwxNDAy +# oBSAEgBNAGkAYwByAG8AcwBvAGYAdKEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5j +# b20wDQYJKoZIhvcNAQEBBQAEggEA59DRspxZW9JhihnS5v2lVuvWt9Jn5BAaWtkh +# lRq83vAiNVx6btepr0GQUa++n76mMF+Lh/7LuOH5yCCzhahQ4SFA4rrLpjLtCmkB +# KO6Xa0UFfaSUcXga6zRzky7bmgVca4kJZjYIwIjopzuaRw4R9ZMIbUisCF2OZtOU +# 41RYci/UiLT3Qt3PO29dLD3EWWQhOpjYJ9qyMbpKAJ1ShuoYKSL1ZGA8lZIKihtu +# isutMqCkoO4fx1otZAajHQKMidEm/63gu2DobwhT45novlHlJN0s2l/o0Vo0F1b7 +# Mb1dcll8YOE18ZSJTQo0kEIkG6Eb46HmB99SvQviaDX0q92OiaGCFykwghclBgor +# BgEEAYI3AwMBMYIXFTCCFxEGCSqGSIb3DQEHAqCCFwIwghb+AgEDMQ8wDQYJYIZI +# AWUDBAIBBQAwggFZBgsqhkiG9w0BCRABBKCCAUgEggFEMIIBQAIBAQYKKwYBBAGE +# WQoDATAxMA0GCWCGSAFlAwQCAQUABCBOV55TKThhyIAWzPcX8lcAOc9uELf7VoBu +# AxX1blpeOwIGZlc9ifXXGBMyMDI0MDYxOTExMzEzMS4xMDFaMASAAgH0oIHYpIHV +# MIHSMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH +# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQL +# EyRNaWNyb3NvZnQgSXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsT +# HVRoYWxlcyBUU1MgRVNOOjg2REYtNEJCQy05MzM1MSUwIwYDVQQDExxNaWNyb3Nv +# ZnQgVGltZS1TdGFtcCBTZXJ2aWNloIIReDCCBycwggUPoAMCAQICEzMAAAHdXVcd +# ldStqhsAAQAAAd0wDQYJKoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxEzARBgNV +# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv +# c29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAg +# UENBIDIwMTAwHhcNMjMxMDEyMTkwNzA5WhcNMjUwMTEwMTkwNzA5WjCB0jELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9z +# b2Z0IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMg +# VFNTIEVTTjo4NkRGLTRCQkMtOTMzNTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUt +# U3RhbXAgU2VydmljZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKhO +# A5RE6i53nHURH4lnfKLp+9JvipuTtctairCxMUSrPSy5CWK2DtriQP+T52HXbN2g +# 7AktQ1pQZbTDGFzK6d03vYYNrCPuJK+PRsP2FPVDjBXy5mrLRFzIHHLaiAaobE5v +# FJuoxZ0ZWdKMCs8acjhHUmfaY+79/CR7uN+B4+xjJqwvdpU/mp0mAq3earyH+AKm +# v6lkrQN8zgrcbCgHwsqvvqT6lEFqYpi7uKn7MAYbSeLe0pMdatV5EW6NVnXMYOTR +# KuGPfyfBKdShualLo88kG7qa2mbA5l77+X06JAesMkoyYr4/9CgDFjHUpcHSODuj +# lFBKMi168zRdLerdpW0bBX9EDux2zBMMaEK8NyxawCEuAq7++7ktFAbl3hUKtuzY +# C1FUZuUl2Bq6U17S4CKsqR3itLT9qNcb2pAJ4jrIDdll5Tgoqef5gpv+YcvBM834 +# bXFNwytd3ujDD24P9Dd8xfVJvumjsBQQkK5T/qy3HrQJ8ud1nHSvtFVi5Sa/ubGu +# YEpS8gF6GDWN5/KbveFkdsoTVIPo8pkWhjPs0Q7nA5+uBxQB4zljEjKz5WW7BA4w +# pmFm24fhBmRjV4Nbp+n78cgAjvDSfTlA6DYBcv2kx1JH2dIhaRnSeOXePT6hMF0I +# l598LMu0rw35ViUWcAQkUNUTxRnqGFxz5w+ZusMDAgMBAAGjggFJMIIBRTAdBgNV +# HQ4EFgQUbqL1toyPUdpFyyHSDKWj0I4lw/EwHwYDVR0jBBgwFoAUn6cVXQBeYl2D +# 9OXSZacbUzUZ6XIwXwYDVR0fBFgwVjBUoFKgUIZOaHR0cDovL3d3dy5taWNyb3Nv +# ZnQuY29tL3BraW9wcy9jcmwvTWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUy +# MDIwMTAoMSkuY3JsMGwGCCsGAQUFBwEBBGAwXjBcBggrBgEFBQcwAoZQaHR0cDov +# L3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBUaW1l +# LVN0YW1wJTIwUENBJTIwMjAxMCgxKS5jcnQwDAYDVR0TAQH/BAIwADAWBgNVHSUB +# Af8EDDAKBggrBgEFBQcDCDAOBgNVHQ8BAf8EBAMCB4AwDQYJKoZIhvcNAQELBQAD +# ggIBAC5U2bINLgXIHWbMcqVuf9jkUT/K8zyLBvu5h8JrqYR2z/eaO2yo1Ooc9Shy +# vxbe9GZDu7kkUzxSyJ1IZksZZw6FDq6yZNT3PEjAEnREpRBL8S+mbXg+O4VLS0LS +# mb8XIZiLsaqZ0fDEcv3HeA+/y/qKnCQWkXghpaEMwGMQzRkhGwcGdXr1zGpQ7HTx +# vfu57xFxZX1MkKnWFENJ6urd+4teUgXj0ngIOx//l3XMK3Ht8T2+zvGJNAF+5/5q +# Bk7nr079zICbFXvxtidNN5eoXdW+9rAIkS+UGD19AZdBrtt6dZ+OdAquBiDkYQ5k +# VfUMKS31yHQOGgmFxuCOzTpWHalrqpdIllsy8KNsj5U9sONiWAd9PNlyEHHbQZDm +# i9/BNlOYyTt0YehLbDovmZUNazk79Od/A917mqCdTqrExwBGUPbMP+/vdYUqaJsp +# upBnUtjOf/76DAhVy8e/e6zR98PkplmliO2brL3Q3rD6+ZCVdrGM9Rm6hUDBBkvY +# h+YjmGdcQ5HB6WT9Rec8+qDHmbhLhX4Zdaard5/OXeLbgx2f7L4QQQj3KgqjqDOW +# InVhNE1gYtTWLHe4882d/k7Lui0K1g8EZrKD7maOrsJLKPKlegceJ9FCqY1sDUKU +# hRa0EHUW+ZkKLlohKrS7FwjdrINWkPBgbQznCjdE2m47QjTbMIIHcTCCBVmgAwIB +# AgITMwAAABXF52ueAptJmQAAAAAAFTANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UE +# BhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAc +# BgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0 +# IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTAwHhcNMjEwOTMwMTgyMjI1 +# WhcNMzAwOTMwMTgzMjI1WjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu +# Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv +# cmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDCC +# AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAOThpkzntHIhC3miy9ckeb0O +# 1YLT/e6cBwfSqWxOdcjKNVf2AX9sSuDivbk+F2Az/1xPx2b3lVNxWuJ+Slr+uDZn +# hUYjDLWNE893MsAQGOhgfWpSg0S3po5GawcU88V29YZQ3MFEyHFcUTE3oAo4bo3t +# 1w/YJlN8OWECesSq/XJprx2rrPY2vjUmZNqYO7oaezOtgFt+jBAcnVL+tuhiJdxq +# D89d9P6OU8/W7IVWTe/dvI2k45GPsjksUZzpcGkNyjYtcI4xyDUoveO0hyTD4MmP +# frVUj9z6BVWYbWg7mka97aSueik3rMvrg0XnRm7KMtXAhjBcTyziYrLNueKNiOSW +# rAFKu75xqRdbZ2De+JKRHh09/SDPc31BmkZ1zcRfNN0Sidb9pSB9fvzZnkXftnIv +# 231fgLrbqn427DZM9ituqBJR6L8FA6PRc6ZNN3SUHDSCD/AQ8rdHGO2n6Jl8P0zb +# r17C89XYcz1DTsEzOUyOArxCaC4Q6oRRRuLRvWoYWmEBc8pnol7XKHYC4jMYcten +# IPDC+hIK12NvDMk2ZItboKaDIV1fMHSRlJTYuVD5C4lh8zYGNRiER9vcG9H9stQc +# xWv2XFJRXRLbJbqvUAV6bMURHXLvjflSxIUXk8A8FdsaN8cIFRg/eKtFtvUeh17a +# j54WcmnGrnu3tz5q4i6tAgMBAAGjggHdMIIB2TASBgkrBgEEAYI3FQEEBQIDAQAB +# MCMGCSsGAQQBgjcVAgQWBBQqp1L+ZMSavoKRPEY1Kc8Q/y8E7jAdBgNVHQ4EFgQU +# n6cVXQBeYl2D9OXSZacbUzUZ6XIwXAYDVR0gBFUwUzBRBgwrBgEEAYI3TIN9AQEw +# QTA/BggrBgEFBQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9E +# b2NzL1JlcG9zaXRvcnkuaHRtMBMGA1UdJQQMMAoGCCsGAQUFBwMIMBkGCSsGAQQB +# gjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/ +# MB8GA1UdIwQYMBaAFNX2VsuP6KJcYmjRPZSQW9fOmhjEMFYGA1UdHwRPME0wS6BJ +# oEeGRWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01p +# Y1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYB +# BQUHMAKGPmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljUm9v +# Q2VyQXV0XzIwMTAtMDYtMjMuY3J0MA0GCSqGSIb3DQEBCwUAA4ICAQCdVX38Kq3h +# LB9nATEkW+Geckv8qW/qXBS2Pk5HZHixBpOXPTEztTnXwnE2P9pkbHzQdTltuw8x +# 5MKP+2zRoZQYIu7pZmc6U03dmLq2HnjYNi6cqYJWAAOwBb6J6Gngugnue99qb74p +# y27YP0h1AdkY3m2CDPVtI1TkeFN1JFe53Z/zjj3G82jfZfakVqr3lbYoVSfQJL1A +# oL8ZthISEV09J+BAljis9/kpicO8F7BUhUKz/AyeixmJ5/ALaoHCgRlCGVJ1ijbC +# HcNhcy4sa3tuPywJeBTpkbKpW99Jo3QMvOyRgNI95ko+ZjtPu4b6MhrZlvSP9pEB +# 9s7GdP32THJvEKt1MMU0sHrYUP4KWN1APMdUbZ1jdEgssU5HLcEUBHG/ZPkkvnNt +# yo4JvbMBV0lUZNlz138eW0QBjloZkWsNn6Qo3GcZKCS6OEuabvshVGtqRRFHqfG3 +# rsjoiV5PndLQTHa1V1QJsWkBRH58oWFsc/4Ku+xBZj1p/cvBQUl+fpO+y/g75LcV +# v7TOPqUxUYS8vwLBgqJ7Fx0ViY1w/ue10CgaiQuPNtq6TPmb/wrpNPgkNWcr4A24 +# 5oyZ1uEi6vAnQj0llOZ0dFtq0Z4+7X6gMTN9vMvpe784cETRkPHIqzqKOghif9lw +# Y1NNje6CbaUFEMFxBmoQtB1VM1izoXBm8qGCAtQwggI9AgEBMIIBAKGB2KSB1TCB +# 0jELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1Jl +# ZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMk +# TWljcm9zb2Z0IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1U +# aGFsZXMgVFNTIEVTTjo4NkRGLTRCQkMtOTMzNTElMCMGA1UEAxMcTWljcm9zb2Z0 +# IFRpbWUtU3RhbXAgU2VydmljZaIjCgEBMAcGBSsOAwIaAxUANiNHGWXbNaDPxnyi +# DbEOciSjFhCggYMwgYCkfjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu +# Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv +# cmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDAN +# BgkqhkiG9w0BAQUFAAIFAOocwLQwIhgPMjAyNDA2MTkxMDI4MDRaGA8yMDI0MDYy +# MDEwMjgwNFowdDA6BgorBgEEAYRZCgQBMSwwKjAKAgUA6hzAtAIBADAHAgEAAgIE +# 6TAHAgEAAgITDTAKAgUA6h4SNAIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEE +# AYRZCgMCoAowCAIBAAIDB6EgoQowCAIBAAIDAYagMA0GCSqGSIb3DQEBBQUAA4GB +# AAbyb8Su2rf0Pj4Mz8zFpHkZnerXKaQDFNIYG+YJo7bymwzJagni/QuyQ19k9tA/ +# nxq2817npuwilbRkLWc6c2SUEP+kMQU5pdHIWo9V9fmE9zgIGgy8he4Ps5zy+og6 +# uRWJCAWjt1iYkyjNakS8qKGHQzh+ySo70O3h50t9uN95MYIEDTCCBAkCAQEwgZMw +# fDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1Jl +# ZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMd +# TWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTACEzMAAAHdXVcdldStqhsAAQAA +# Ad0wDQYJYIZIAWUDBAIBBQCgggFKMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRAB +# BDAvBgkqhkiG9w0BCQQxIgQgDdVb3X5KzWcALLvi45mAfCh/G+WIHtdzI+c8ilAk +# c8swgfoGCyqGSIb3DQEJEAIvMYHqMIHnMIHkMIG9BCBh/w4tmmWsT3iZnHtH0Vk3 +# 7UCN02lRxY+RiON6wDFjZjCBmDCBgKR+MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQI +# EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv +# ZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBD +# QSAyMDEwAhMzAAAB3V1XHZXUraobAAEAAAHdMCIEIIgcTWCCW5NrBNBmccK771oe +# rdx1QI0HesTJWaIUvHHSMA0GCSqGSIb3DQEBCwUABIICACn35IwC1LXvX81tKo6g +# x/zIb8scKbk0CcUQzKSmxGcTjXLJJF6alq4woogq/qHuOnAXq/17k5UOwfItcrQi +# hBDhD6zRndpeYLO6SoKKy0FFeDNvAk3xYBgI/U7zxJXfOBnMLZAHMErN0v7/49OD +# rK0NbSfY/vMQ9Qsm8hMv2N7+ji4KuOHHfVz8DrvV8fcx9x+W9Ppb7gX+CAjaxROu +# exowFl/aCNk/1rdS8WLeWmuBoRs89KHSWAAsEJ0qVSHmr4gRjOU52Wuo/cKCstLN +# YP3X+vOijUUFxRrcQlN5q8WzGUlOi0roC1RIrlTN0AD6law5Z0W7t4+sHB2KgtI4 +# HFb9dGeswnF0xNAdJackfJZX9IL6JNYKi4ncQEyVuIZdMFLmt+2POdcG5y8ygi/e +# Ov0GgxGUxYHN9JJDo+ExquhkA+FaL77HK2sVsKE8V1rxDFD67yLiwg0RKocTR8OR +# 836zVVGWa8PPnt/bIcb6ZKJbTjE6ZtzcGKzZBdmLMYkiNsoWS8GY8GyWhjawI1S2 +# GghJXhOqGkkEAFTi+gqUkl0g9+AsRBOipfLDdG4/k2x7br7BGxcDlLzbkKeZXh7T +# /WtDLWeOfh5vvQKcxiNjH2QKDZRbqB8qhf2S3u9lXULDaOAAI2jqLRB0zDhEOdnq +# v9BKhjxX4QnbxNanHwq+oI5i +# SIG # End signature block diff --git a/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.psm1 b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.psm1 new file mode 100644 index 000000000000..7ae3c52381ec --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.psm1 @@ -0,0 +1,245 @@ +# Define which modules to load based on the environment +# These environment variables are set in TPM + +if ($env:MSTeamsContextInternal -eq "IsOCEModule") { + $mpaModule = 'Microsoft.Teams.Policy.Administration.Cmdlets.Core.oce.psd1' +} +elseif ($env:MSTeamsReleaseEnvironment -eq 'TeamsPreview') { + $mpaModule = 'Microsoft.Teams.Policy.Administration.Cmdlets.Core.preview.psd1' +} +else { + $mpaModule = 'Microsoft.Teams.Policy.Administration.Cmdlets.Core.psd1' +} + +$path = (Join-Path $PSScriptRoot $mpaModule) + +if (test-path $path) +{ + $null = Import-Module -Name $path +} +else +{ + if ($PSEdition -ne 'Desktop') + { + $null = Import-Module -Name (Join-Path $PSScriptRoot "netcoreapp3.1\$mpaModule") + } + else + { + $null = Import-Module -Name (Join-Path $PSScriptRoot "net472\$mpaModule") + } +} +# SIG # Begin signature block +# MIInzwYJKoZIhvcNAQcCoIInwDCCJ7wCAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCCY/3SaRU5aX7aK +# TQZJ6IK4Qt60ySomlFTBejL/fus5QaCCDYUwggYDMIID66ADAgECAhMzAAADri01 +# UchTj1UdAAAAAAOuMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMjMxMTE2MTkwODU5WhcNMjQxMTE0MTkwODU5WjB0MQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +# AQD0IPymNjfDEKg+YyE6SjDvJwKW1+pieqTjAY0CnOHZ1Nj5irGjNZPMlQ4HfxXG +# yAVCZcEWE4x2sZgam872R1s0+TAelOtbqFmoW4suJHAYoTHhkznNVKpscm5fZ899 +# QnReZv5WtWwbD8HAFXbPPStW2JKCqPcZ54Y6wbuWV9bKtKPImqbkMcTejTgEAj82 +# 6GQc6/Th66Koka8cUIvz59e/IP04DGrh9wkq2jIFvQ8EDegw1B4KyJTIs76+hmpV +# M5SwBZjRs3liOQrierkNVo11WuujB3kBf2CbPoP9MlOyyezqkMIbTRj4OHeKlamd +# WaSFhwHLJRIQpfc8sLwOSIBBAgMBAAGjggGCMIIBfjAfBgNVHSUEGDAWBgorBgEE +# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUhx/vdKmXhwc4WiWXbsf0I53h8T8w +# VAYDVR0RBE0wS6RJMEcxLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh +# dGlvbnMgTGltaXRlZDEWMBQGA1UEBRMNMjMwMDEyKzUwMTgzNjAfBgNVHSMEGDAW +# gBRIbmTlUAXTgqoXNzcitW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8v +# d3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIw +# MTEtMDctMDguY3JsMGEGCCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDov +# L3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDEx +# XzIwMTEtMDctMDguY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIB +# AGrJYDUS7s8o0yNprGXRXuAnRcHKxSjFmW4wclcUTYsQZkhnbMwthWM6cAYb/h2W +# 5GNKtlmj/y/CThe3y/o0EH2h+jwfU/9eJ0fK1ZO/2WD0xi777qU+a7l8KjMPdwjY +# 0tk9bYEGEZfYPRHy1AGPQVuZlG4i5ymJDsMrcIcqV8pxzsw/yk/O4y/nlOjHz4oV +# APU0br5t9tgD8E08GSDi3I6H57Ftod9w26h0MlQiOr10Xqhr5iPLS7SlQwj8HW37 +# ybqsmjQpKhmWul6xiXSNGGm36GarHy4Q1egYlxhlUnk3ZKSr3QtWIo1GGL03hT57 +# xzjL25fKiZQX/q+II8nuG5M0Qmjvl6Egltr4hZ3e3FQRzRHfLoNPq3ELpxbWdH8t +# Nuj0j/x9Crnfwbki8n57mJKI5JVWRWTSLmbTcDDLkTZlJLg9V1BIJwXGY3i2kR9i +# 5HsADL8YlW0gMWVSlKB1eiSlK6LmFi0rVH16dde+j5T/EaQtFz6qngN7d1lvO7uk +# 6rtX+MLKG4LDRsQgBTi6sIYiKntMjoYFHMPvI/OMUip5ljtLitVbkFGfagSqmbxK +# 7rJMhC8wiTzHanBg1Rrbff1niBbnFbbV4UDmYumjs1FIpFCazk6AADXxoKCo5TsO +# zSHqr9gHgGYQC2hMyX9MGLIpowYCURx3L7kUiGbOiMwaMIIHejCCBWKgAwIBAgIK +# YQ6Q0gAAAAAAAzANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNV +# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv +# c29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlm +# aWNhdGUgQXV0aG9yaXR5IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEw +# OTA5WjB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE +# BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYD +# VQQDEx9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG +# 9w0BAQEFAAOCAg8AMIICCgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+la +# UKq4BjgaBEm6f8MMHt03a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc +# 6Whe0t+bU7IKLMOv2akrrnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4D +# dato88tt8zpcoRb0RrrgOGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+ +# lD3v++MrWhAfTVYoonpy4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nk +# kDstrjNYxbc+/jLTswM9sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6 +# A4aN91/w0FK/jJSHvMAhdCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmd +# X4jiJV3TIUs+UsS1Vz8kA/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL +# 5zmhD+kjSbwYuER8ReTBw3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zd +# sGbiwZeBe+3W7UvnSSmnEyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3 +# T8HhhUSJxAlMxdSlQy90lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS +# 4NaIjAsCAwEAAaOCAe0wggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRI +# bmTlUAXTgqoXNzcitW2oynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAL +# BgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBD +# uRQFTuHqp8cx0SOJNDBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jv +# c29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf +# MDNfMjIuY3JsMF4GCCsGAQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3 +# dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf +# MDNfMjIuY3J0MIGfBgNVHSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEF +# BQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1h +# cnljcHMuaHRtMEAGCCsGAQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkA +# YwB5AF8AcwB0AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn +# 8oalmOBUeRou09h0ZyKbC5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7 +# v0epo/Np22O/IjWll11lhJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0b +# pdS1HXeUOeLpZMlEPXh6I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/ +# KmtYSWMfCWluWpiW5IP0wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvy +# CInWH8MyGOLwxS3OW560STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBp +# mLJZiWhub6e3dMNABQamASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJi +# hsMdYzaXht/a8/jyFqGaJ+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYb +# BL7fQccOKO7eZS/sl/ahXJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbS +# oqKfenoi+kiVH6v7RyOA9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sL +# gOppO6/8MO0ETI7f33VtY5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtX +# cVZOSEXAQsmbdlsKgEhr/Xmfwb1tbWrJUnMTDXpQzTGCGaAwghmcAgEBMIGVMH4x +# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt +# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01p +# Y3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTECEzMAAAOuLTVRyFOPVR0AAAAA +# A64wDQYJYIZIAWUDBAIBBQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQw +# HAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIBMw +# q7DKEXveX/tYp75+TAPnyE5ZJziyHVTCrrAiSia5MEIGCisGAQQBgjcCAQwxNDAy +# oBSAEgBNAGkAYwByAG8AcwBvAGYAdKEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5j +# b20wDQYJKoZIhvcNAQEBBQAEggEAHhWyLuUncwg2/c/tyX1m+6rcx6w4c7t4UPby +# OVYZuLTTRaXoDR9n9GhNOIevF2BZWIC09XLIm9S6EWkWihbHe4sYVJsoqRsnDVrC +# n6Ay2CDJRauWhsOvXgyxmBxo9lMI6vSXBIPm0UeOZ16b2PNtu/MxQoFYT0kQBthj +# XZURVTtLzcOMqezAUOIYia2tDwXvTiYaZ7dgm9KbdUITVj+qwGxKdGhgMFOBxiie +# uv2DyaIZ98oO7juxg5oBSFZe596affkE1/mFYpiXO66bfi9fViAwZELmYmzpxGxx +# QbdGazp6wqZInqCwfyStVWpWTftc88KkRmjwbJAjdNi62Xm0BqGCFyowghcmBgor +# BgEEAYI3AwMBMYIXFjCCFxIGCSqGSIb3DQEHAqCCFwMwghb/AgEDMQ8wDQYJYIZI +# AWUDBAIBBQAwggFYBgsqhkiG9w0BCRABBKCCAUcEggFDMIIBPwIBAQYKKwYBBAGE +# WQoDATAxMA0GCWCGSAFlAwQCAQUABCCLpjng4ZBAni52UqAoBhljw1OtpYf4eBy/ +# pdIdRU7KwQIGZnLApgusGBIyMDI0MDYxOTExMzEzMS43OVowBIACAfSggdikgdUw +# gdIxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS +# ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xLTArBgNVBAsT +# JE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJhdGlvbnMgTGltaXRlZDEmMCQGA1UECxMd +# VGhhbGVzIFRTUyBFU046MkFENC00QjkyLUZBMDExJTAjBgNVBAMTHE1pY3Jvc29m +# dCBUaW1lLVN0YW1wIFNlcnZpY2WgghF6MIIHJzCCBQ+gAwIBAgITMwAAAd6eSJ6W +# nyhEPQABAAAB3jANBgkqhkiG9w0BAQsFADB8MQswCQYDVQQGEwJVUzETMBEGA1UE +# CBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9z +# b2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQ +# Q0EgMjAxMDAeFw0yMzEwMTIxOTA3MTJaFw0yNTAxMTAxOTA3MTJaMIHSMQswCQYD +# VQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEe +# MBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3Nv +# ZnQgSXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBU +# U1MgRVNOOjJBRDQtNEI5Mi1GQTAxMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1T +# dGFtcCBTZXJ2aWNlMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtIH0 +# HIX1QgOEDrEWs6eLD/GwOXyxKL2s4I5dJI7hUxCOc0YCjlUfHSKKMwQwf0tjZJQg +# GRVBLQyXqRH5NqCRQ9toSnCOFDWamuFGAlP+OVKeJzjZUMCjR6fgkjrGdegChagr +# JJjz9E4gp2mmGAjs4lvhceTU/exfak1nfYsNjWS1yErX+FbI+VuVpcAdG7QTfKe/ +# CtLz9tyisA07oOO7KzJL3NSav7DcfcAS9KCzZF64uPamQFx9bVQ8IW50t3sg9nZE +# Lih1BwQ+djXaPKlg+dLrJkCzSkumrQpEVTIHXHrHo5Tvey52Ic43XqYTSXostP06 +# YajRL3gHGDc3/doTp9RudWh6ZVzsWQUu6bwqRlxtDtw4dIBYYnF0K+jk61S1F1Kp +# /zkWSUJcgiSDiybucz1OS1RV87SSnqTHubKyAPRCvHHr/mhqqfA5NYs3Mr4EKLUb +# udQPWm165e9Cnx8TUqlOOcb/U4l56HAo00+Ma33xXQGaiBlN7dLEGQ545DIsD77k +# fKD8vryl74Otmhk9cloZT+IGIWYv66X86Ld3zfMsAeUdCYf9UY0F9HA/6LG+qHKT +# 8R5vC5dUlj6tPJ9tF+6H2fQBoyGE3HGDq0YrJlLgQASIPGsX2YBkTLx7yt/p2Uoh +# fl3dpAuj18N1rVlM7D5cBwC+Pb83cMtUZmUeceUCAwEAAaOCAUkwggFFMB0GA1Ud +# DgQWBBRrMCZvGx5pqmB3HMrw6z6do9ASyDAfBgNVHSMEGDAWgBSfpxVdAF5iXYP0 +# 5dJlpxtTNRnpcjBfBgNVHR8EWDBWMFSgUqBQhk5odHRwOi8vd3d3Lm1pY3Jvc29m +# dC5jb20vcGtpb3BzL2NybC9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIw +# MjAxMCgxKS5jcmwwbAYIKwYBBQUHAQEEYDBeMFwGCCsGAQUFBzAChlBodHRwOi8v +# d3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMFRpbWUt +# U3RhbXAlMjBQQ0ElMjAyMDEwKDEpLmNydDAMBgNVHRMBAf8EAjAAMBYGA1UdJQEB +# /wQMMAoGCCsGAQUFBwMIMA4GA1UdDwEB/wQEAwIHgDANBgkqhkiG9w0BAQsFAAOC +# AgEA4pTAexcNpwY69QiCzkcOA+zQtnWrIdLoLrB8qUtoPfq1l9ta3XH4YyJrNK7L +# 4azGJUfOSExb4WoryCu4tBY3+w4Jf58ZSBP0tPbVxEilxmPj9kUi/C2QFywLPVcR +# Sxdg5IlQ+K1jsTxtuV2aaFhnb2n5dCkhywb+r5iOSoFb2bDSu7Ux/ExNCz0xMOIP +# byABUas8Dc3KSJIKG92pLtVf78twTP1RvO2j/DbxYDwc4IeoFNsNEeaI/swiP5JC +# Yj1UhrJiwgZGO96WY1rQ69tT0IlLP818wSB/Y0cxlRhbwqpYSMiM98cgrFaU0xiG +# 5Z9ZFIdkIrIgA0DRokviygdC3PNnYyc1+NhjznXAdiMaDBSP+GUtGBA7lLfRnHvw +# aoEp/KWnblo5Yn+o+EL4NczaBdqMhduX6OkZxUA3C0UW6MIlF1lt4fVH5DjUWOAG +# Dibc5MUMai3kNK5WRCCOS7uk5U+2V0TjpCUOD/ZaE+lNDFcfriw/UZ+QDBS23qut +# kz88LBEbqCKtiadNEsuyJwGGhguH4QQWNW+JcAZOTqme7yPH/hY9a7SOzPvIXODz +# b8UyoKT3Arcu/IsDIMc34XFscDG2DBp3ugtA8zRYYRF0HW6Y8IiJixJ/+Pv0Sod2 +# g3BBhE5Wb5lfXRFfefptGYCeyR42GLTCdVp5WiAsx0YP6eowggdxMIIFWaADAgEC +# AhMzAAAAFcXna54Cm0mZAAAAAAAVMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQG +# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG +# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQg +# Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgMjAxMDAeFw0yMTA5MzAxODIyMjVa +# Fw0zMDA5MzAxODMyMjVaMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5n +# dG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9y +# YXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMIIC +# IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA5OGmTOe0ciELeaLL1yR5vQ7V +# gtP97pwHB9KpbE51yMo1V/YBf2xK4OK9uT4XYDP/XE/HZveVU3Fa4n5KWv64NmeF +# RiMMtY0Tz3cywBAY6GB9alKDRLemjkZrBxTzxXb1hlDcwUTIcVxRMTegCjhuje3X +# D9gmU3w5YQJ6xKr9cmmvHaus9ja+NSZk2pg7uhp7M62AW36MEBydUv626GIl3GoP +# z130/o5Tz9bshVZN7928jaTjkY+yOSxRnOlwaQ3KNi1wjjHINSi947SHJMPgyY9+ +# tVSP3PoFVZhtaDuaRr3tpK56KTesy+uDRedGbsoy1cCGMFxPLOJiss254o2I5Jas +# AUq7vnGpF1tnYN74kpEeHT39IM9zfUGaRnXNxF803RKJ1v2lIH1+/NmeRd+2ci/b +# fV+AutuqfjbsNkz2K26oElHovwUDo9Fzpk03dJQcNIIP8BDyt0cY7afomXw/TNuv +# XsLz1dhzPUNOwTM5TI4CvEJoLhDqhFFG4tG9ahhaYQFzymeiXtcodgLiMxhy16cg +# 8ML6EgrXY28MyTZki1ugpoMhXV8wdJGUlNi5UPkLiWHzNgY1GIRH29wb0f2y1BzF +# a/ZcUlFdEtsluq9QBXpsxREdcu+N+VLEhReTwDwV2xo3xwgVGD94q0W29R6HXtqP +# nhZyacaue7e3PmriLq0CAwEAAaOCAd0wggHZMBIGCSsGAQQBgjcVAQQFAgMBAAEw +# IwYJKwYBBAGCNxUCBBYEFCqnUv5kxJq+gpE8RjUpzxD/LwTuMB0GA1UdDgQWBBSf +# pxVdAF5iXYP05dJlpxtTNRnpcjBcBgNVHSAEVTBTMFEGDCsGAQQBgjdMg30BATBB +# MD8GCCsGAQUFBwIBFjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL0Rv +# Y3MvUmVwb3NpdG9yeS5odG0wEwYDVR0lBAwwCgYIKwYBBQUHAwgwGQYJKwYBBAGC +# NxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8w +# HwYDVR0jBBgwFoAU1fZWy4/oolxiaNE9lJBb186aGMQwVgYDVR0fBE8wTTBLoEmg +# R4ZFaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvTWlj +# Um9vQ2VyQXV0XzIwMTAtMDYtMjMuY3JsMFoGCCsGAQUFBwEBBE4wTDBKBggrBgEF +# BQcwAoY+aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29D +# ZXJBdXRfMjAxMC0wNi0yMy5jcnQwDQYJKoZIhvcNAQELBQADggIBAJ1VffwqreEs +# H2cBMSRb4Z5yS/ypb+pcFLY+TkdkeLEGk5c9MTO1OdfCcTY/2mRsfNB1OW27DzHk +# wo/7bNGhlBgi7ulmZzpTTd2YurYeeNg2LpypglYAA7AFvonoaeC6Ce5732pvvinL +# btg/SHUB2RjebYIM9W0jVOR4U3UkV7ndn/OOPcbzaN9l9qRWqveVtihVJ9AkvUCg +# vxm2EhIRXT0n4ECWOKz3+SmJw7wXsFSFQrP8DJ6LGYnn8AtqgcKBGUIZUnWKNsId +# w2FzLixre24/LAl4FOmRsqlb30mjdAy87JGA0j3mSj5mO0+7hvoyGtmW9I/2kQH2 +# zsZ0/fZMcm8Qq3UwxTSwethQ/gpY3UA8x1RtnWN0SCyxTkctwRQEcb9k+SS+c23K +# jgm9swFXSVRk2XPXfx5bRAGOWhmRaw2fpCjcZxkoJLo4S5pu+yFUa2pFEUep8beu +# yOiJXk+d0tBMdrVXVAmxaQFEfnyhYWxz/gq77EFmPWn9y8FBSX5+k77L+DvktxW/ +# tM4+pTFRhLy/AsGConsXHRWJjXD+57XQKBqJC4822rpM+Zv/Cuk0+CQ1ZyvgDbjm +# jJnW4SLq8CdCPSWU5nR0W2rRnj7tfqAxM328y+l7vzhwRNGQ8cirOoo6CGJ/2XBj +# U02N7oJtpQUQwXEGahC0HVUzWLOhcGbyoYIC1jCCAj8CAQEwggEAoYHYpIHVMIHS +# MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVk +# bW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRN +# aWNyb3NvZnQgSXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsTHVRo +# YWxlcyBUU1MgRVNOOjJBRDQtNEI5Mi1GQTAxMSUwIwYDVQQDExxNaWNyb3NvZnQg +# VGltZS1TdGFtcCBTZXJ2aWNloiMKAQEwBwYFKw4DAhoDFQBooFKKzLjLzqmXxfLb +# YIlkTETa86CBgzCBgKR+MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5n +# dG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9y +# YXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMA0G +# CSqGSIb3DQEBBQUAAgUA6h0/JzAiGA8yMDI0MDYxOTE5MjczNVoYDzIwMjQwNjIw +# MTkyNzM1WjB2MDwGCisGAQQBhFkKBAExLjAsMAoCBQDqHT8nAgEAMAkCAQACAQQC +# Af8wBwIBAAICETwwCgIFAOoekKcCAQAwNgYKKwYBBAGEWQoEAjEoMCYwDAYKKwYB +# BAGEWQoDAqAKMAgCAQACAwehIKEKMAgCAQACAwGGoDANBgkqhkiG9w0BAQUFAAOB +# gQBP/UiIl9kAE7rK0iJYbEzp5oQNhP0lDxYmCGGCNa5LZmzXQigIXAcY6PywKZyF +# eEFwZbMg5ij35mcHGutF8l1IRFJS7m0azMrPeWN2Q42sUWVay0+FUEvDUnr+Og23 +# rOs9xte95DTGg2E6vHdDAG5GNUY9mRaWh8wswMa3DEXpQDGCBA0wggQJAgEBMIGT +# MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS +# ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMT +# HU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAB3p5InpafKEQ9AAEA +# AAHeMA0GCWCGSAFlAwQCAQUAoIIBSjAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQ +# AQQwLwYJKoZIhvcNAQkEMSIEIOvj6a4YnY//B1riO1IEsAHq7oBGXw3eKzG+HIMp +# VkpfMIH6BgsqhkiG9w0BCRACLzGB6jCB5zCB5DCBvQQgjj4jnw3BXhAQSQJ/5gtz +# IK0+cP1Ns/NS2A+OB3N+HXswgZgwgYCkfjB8MQswCQYDVQQGEwJVUzETMBEGA1UE +# CBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9z +# b2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQ +# Q0EgMjAxMAITMwAAAd6eSJ6WnyhEPQABAAAB3jAiBCB4JMnjim6Wcp89qairamt6 +# CVLoovVLZAfuredK4/kVcDANBgkqhkiG9w0BAQsFAASCAgCx2aXMMES22nofoR9a +# ErL/nlJqZx3Oi7vGXJdLWRLKqf9nRyU3hIazp6ow/6BKzyuo4IIhNDVw0DRHWuf4 +# 2rbEPfPXWhu1IAw0+PwgrI4Gg9VznMmCOgn0gGe+fcCY5YJTt6Et2toWwwBFH2lM +# zfxzEnT6ZJYJCcoxSTo797EEkFz6zO7MLjRG1GQbvNt/ZOCeZxiDQI8OX5p05PYo +# keUee2wMJhWYCEDRY8TYsP8zQkIiT5aWgpExeDGu6wHGeDWqBNpuReV2bLouFiH2 +# 5WTfWTTFWcbcg2IAmRxZaxqrgW3uCq6ExYJ4rgwtgrYz/ImXpPMZEol71hpeawMB +# xJUm/CriKmJpc2wIbUJIUKBtBzduKGuXGTMmlRRl0S8DdoBedvzz8OSjfBGgDP7g +# P886tvDdPPTUQrkj/1ktTjHSKWvm6H0rZwOX4qkts+DRZmKFcGJv/hK/NEyupLj0 +# 8vCcR+uxrj4JBWegb9QihZiJVt7Jx10TD9MlAZhY0lCOT+z09P3g4NOSOLEFlldd +# xm6bz5gkGCRbj1+D1bXY6ZFY6K6W2sSq/E32cMlRDdojz8M5MZvvyIszrO9fuPJ0 +# k5Hg242gSFyRseMWuvVGR4SayfIQYNgF0odfiEkHwYhVIKbXWKQr5U8S035Azy6v +# tbXZFdZU+v0tI2YVOt5rLv/4qA== +# SIG # End signature block diff --git a/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.xml b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.xml new file mode 100644 index 000000000000..22a6afd1c8b0 --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.Policy.Administration.xml @@ -0,0 +1,8 @@ + + + + Microsoft.Teams.Policy.Administration + + + + diff --git a/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.PowerShell.Module.xml b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.PowerShell.Module.xml new file mode 100644 index 000000000000..9c5b7f84166a --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.PowerShell.Module.xml @@ -0,0 +1,8 @@ + + + + Microsoft.Teams.PowerShell.Module + + + + diff --git a/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.PowerShell.TeamsCmdlets.dll-Help.xml b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.PowerShell.TeamsCmdlets.dll-Help.xml new file mode 100644 index 000000000000..33cdaa343deb --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.PowerShell.TeamsCmdlets.dll-Help.xml @@ -0,0 +1,5742 @@ + + + + + Add-TeamChannelUser + Add + TeamChannelUser + + Adds an owner or member to the private channel. + Note: the command will return immediately, but the Teams application will not reflect the update immediately, please refresh the members page to see the update. + To turn an existing Member into an Owner, first Add-TeamChannelUser -User foo to add them to the members list, then Add-TeamChannelUser -User foo -Role Owner to add them to owner list. + + + + Note: This cmdlet is part of the Public Preview version of Teams PowerShell Module, for more information see Install Teams PowerShell public preview (https://docs.microsoft.com/microsoftteams/teams-powershell-install#install-teams-powershell-public-preview) and also see [Microsoft Teams PowerShell Release Notes](https://docs.microsoft.com/microsoftteams/teams-powershell-release-notes). + + + + Add-TeamChannelUser + + GroupId + + GroupId of the parent team + + String + + String + + + None + + + DisplayName + + Display name of the private channel + + String + + String + + + None + + + User + + User's UPN (user principal name - e.g. johndoe@example.com) + + String + + String + + + None + + + Role + + Owner + + String + + String + + + None + + + + + + GroupId + + GroupId of the parent team + + String + + String + + + None + + + DisplayName + + Display name of the private channel + + String + + String + + + None + + + User + + User's UPN (user principal name - e.g. johndoe@example.com) + + String + + String + + + None + + + Role + + Owner + + String + + String + + + None + + + + + + GroupId, DisplayName, User, Role + + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Add-TeamChannelUser -GroupId 31f1ff6c-d48c-4f8a-b2e1-abca7fd399df -DisplayName "Engineering" -User dmx@example.com + + Add user dmx@example.com to private channel with name "Engineering" under the given group. + + + + -------------------------- Example 2 -------------------------- + Add-TeamChannelUser -GroupId 31f1ff6c-d48c-4f8a-b2e1-abca7fd399df -DisplayName "Engineering" -User dmx@example.com -Role Owner + + Promote user dmx@example.com to an owner of private channel with name "Engineering" under the given group. + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/teams/add-teamchanneluser + + + + + + Add-TeamsAppInstallation + Add + TeamsAppInstallation + + Add a Teams App to Microsoft Teams. + + + + Add a Teams App to Microsoft Teams. + Note: This cmdlet is part of the Public Preview version of Teams PowerShell Module, for more information see Install Teams PowerShell public preview (https://docs.microsoft.com/microsoftteams/teams-powershell-install#install-teams-powershell-public-preview) and also see [Microsoft Teams PowerShell Release Notes](https://docs.microsoft.com/microsoftteams/teams-powershell-release-notes). + + + + Add-TeamsAppInstallation + + AppId + + Teams App identifier in Microsoft Teams. + + String + + String + + + None + + + Permissions + + RSC permissions for the Teams App. + + String + + String + + + None + + + TeamId + + Team identifier in Microsoft Teams. + + String + + String + + + None + + + + Add-TeamsAppInstallation + + AppId + + Teams App identifier in Microsoft Teams. + + String + + String + + + None + + + Permissions + + RSC permissions for the Teams App. + + String + + String + + + None + + + UserId + + User identifier in Microsoft Teams. + + String + + String + + + None + + + + + + AppId + + Teams App identifier in Microsoft Teams. + + String + + String + + + None + + + Permissions + + RSC permissions for the Teams App. + + String + + String + + + None + + + TeamId + + Team identifier in Microsoft Teams. + + String + + String + + + None + + + UserId + + User identifier in Microsoft Teams. + + String + + String + + + None + + + + + + System.String + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Add-TeamsAppInstallation -AppId b9cc7986-dd56-4b57-ab7d-9c4e5288b775 -TeamId 31f1ff6c-d48c-4f8a-b2e1-abca7fd399df + + This example adds a Teams App to Microsoft Teams. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Add-TeamsAppInstallation -AppId b9cc7986-dd56-4b57-ab7d-9c4e5288b775 -TeamId 31f1ff6c-d48c-4f8a-b2e1-abca7fd399df -Permissions "TeamSettings.Read.Group ChannelMessage.Read.Group" + + This example adds a Teams App to Microsoft Teams with RSC Permissions. + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/teams/add-teamsappinstallation + + + + + + Add-TeamUser + Add + TeamUser + + The `Add-TeamUser` adds an owner or member to the team, and to the unified group which backs the team. + + + + This cmdlet adds an owner or member to the team, and to the unified group which backs the team. + > [!Note] > The command will return immediately, but the Teams application will not reflect the update immediately. The change can take between 24 and 48 hours to appear within the Teams client. + + + + Add-TeamUser + + GroupId + + GroupId of the team. + + String + + String + + + None + + + User + + UPN of a user of the organization (user principal name - e.g. johndoe@example.com). + + String + + String + + + None + + + Role + + Member or Owner. If Owner is specified then the user is also added as a member to the Team backed by unified group. + + String + + String + + + Member + + + + + + GroupId + + GroupId of the team. + + String + + String + + + None + + + User + + UPN of a user of the organization (user principal name - e.g. johndoe@example.com). + + String + + String + + + None + + + Role + + Member or Owner. If Owner is specified then the user is also added as a member to the Team backed by unified group. + + String + + String + + + Member + + + + + + GroupId, User, Role + + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Add-TeamUser -GroupId 31f1ff6c-d48c-4f8a-b2e1-abca7fd399df -User dmx@example.com + + This example adds the user "dmx@example.com" to a group with the id "31f1ff6c-d48c-4f8a-b2e1-abca7fd399df". + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/teams/add-teamuser + + + + + + Get-Team + Get + Team + + This cmdlet supports retrieving teams with particular properties/information, including all teams that a specific user belongs to, all teams that have been archived, all teams with a specific display name, or all teams in the organization. + + + + This cmdlet supports retrieving teams with particular properties/information, including all teams that a specific user belongs to, all teams that have been archived, all teams with a specific display name, or all teams in the organization. + >[!NOTE] >Depending on the number of teams and O365 Groups in your organization and which filters you are using, this cmdlet can take upwards of ten minutes to run. Some of the input parameters are guaranteed unique (e.g. GroupId), and others serve as filters (e.g. -Archived). + + + + Get-Team + + User + + User's UPN (user principal name - e.g. johndoe@example.com) + + String + + String + + + None + + + Archived + + If $true, filters to return teams that have been archived. If $false, filters to return teams that have not been archived. Do not specify any value to return teams that match filter regardless of archived state. This is a filter rather than an exact match. + + Boolean + + Boolean + + + None + + + DisplayName + + Filters to return teams with a full match to the provided displayname. As displayname is not unique, this acts as a filter rather than an exact match. Note that this filter value is case-sensitive. + + String + + String + + + None + + + GroupId + + Specify the specific GroupId (as a string) of the team to be returned. This is a unique identifier and returns exact match. + + String + + String + + + None + + + MailNickName + + Specify the mailnickname of the team that is being returned. This is a unique identifier and returns exact match. + + String + + String + + + None + + + Visibility + + Filters to return teams with a set "visibility" value. Accepted values are "Public", "Private" or "HiddenMembership". Do not specify any value to return teams that match filter regardless of visibility. This is a filter rather than an exact match. + + String + + String + + + None + + + + Get-Team + + User + + User's UPN (user principal name - e.g. johndoe@example.com) + + String + + String + + + None + + + Archived + + If $true, filters to return teams that have been archived. If $false, filters to return teams that have not been archived. Do not specify any value to return teams that match filter regardless of archived state. This is a filter rather than an exact match. + + Boolean + + Boolean + + + None + + + DisplayName + + Filters to return teams with a full match to the provided displayname. As displayname is not unique, this acts as a filter rather than an exact match. Note that this filter value is case-sensitive. + + String + + String + + + None + + + MailNickName + + Specify the mailnickname of the team that is being returned. This is a unique identifier and returns exact match. + + String + + String + + + None + + + Visibility + + Filters to return teams with a set "visibility" value. Accepted values are "Public", "Private" or "HiddenMembership". Do not specify any value to return teams that match filter regardless of visibility. This is a filter rather than an exact match. + + String + + String + + + None + + + + + + User + + User's UPN (user principal name - e.g. johndoe@example.com) + + String + + String + + + None + + + Archived + + If $true, filters to return teams that have been archived. If $false, filters to return teams that have not been archived. Do not specify any value to return teams that match filter regardless of archived state. This is a filter rather than an exact match. + + Boolean + + Boolean + + + None + + + DisplayName + + Filters to return teams with a full match to the provided displayname. As displayname is not unique, this acts as a filter rather than an exact match. Note that this filter value is case-sensitive. + + String + + String + + + None + + + GroupId + + Specify the specific GroupId (as a string) of the team to be returned. This is a unique identifier and returns exact match. + + String + + String + + + None + + + MailNickName + + Specify the mailnickname of the team that is being returned. This is a unique identifier and returns exact match. + + String + + String + + + None + + + Visibility + + Filters to return teams with a set "visibility" value. Accepted values are "Public", "Private" or "HiddenMembership". Do not specify any value to return teams that match filter regardless of visibility. This is a filter rather than an exact match. + + String + + String + + + None + + + + + + UPN, UserID + + + + + + + + + + Team + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS> Get-Team -User dmx1@example.com + + Returns all teams that a user (dmx1@example.com) belongs to + + + + -------------------------- Example 2 -------------------------- + PS> Get-Team -Archived $true -Visibility Private + + Returns all teams that are private and have been archived. + + + + -------------------------- Example 3 -------------------------- + PS> Get-Team -MailNickName "BusinessDevelopment" + + Returns the team that matches the specified MailNickName + + + + -------------------------- Example 4 -------------------------- + PS> Get-Team -DisplayName "Sales and Marketing" + + Returns the team that matches the specified DisplayName + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/teams/get-team + + + New-Team + + + + Set-Team + + + + + + + Get-TeamChannel + Get + TeamChannel + + Get all the channels for a team. + + + + + + + + Get-TeamChannel + + GroupId + + GroupId of the team + + String + + String + + + None + + + MembershipType + + Membership type of the channel to display, Standard or Private (available in private preview) + + String + + String + + + None + + + + + + GroupId + + GroupId of the team + + String + + String + + + None + + + MembershipType + + Membership type of the channel to display, Standard or Private (available in private preview) + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-TeamChannel -GroupId af55e84c-dc67-4e48-9005-86e0b07272f9 + + Get channels of the group. + + + + -------------------------- Example 2 -------------------------- + Get-TeamChannel -GroupId af55e84c-dc67-4e48-9005-86e0b07272f9 -MembershipType Private + + Get all private channels of the group. + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/teams/get-teamchannel + + + + + + Get-TeamChannelUser + Get + TeamChannelUser + + Returns users of a channel. + + + + Note: This cmdlet is part of the Public Preview version of Teams PowerShell Module, for more information see Install Teams PowerShell public preview (https://docs.microsoft.com/microsoftteams/teams-powershell-install#install-teams-powershell-public-preview) and also see [Microsoft Teams PowerShell Release Notes](https://docs.microsoft.com/microsoftteams/teams-powershell-release-notes). + + + + Get-TeamChannelUser + + GroupId + + GroupId of the team + + String + + String + + + None + + + DisplayName + + Display name of the channel + + String + + String + + + None + + + Role + + Filter the results to only users with the given role: Owner or Member. + + String + + String + + + None + + + + + + GroupId + + GroupId of the team + + String + + String + + + None + + + DisplayName + + Display name of the channel + + String + + String + + + None + + + Role + + Filter the results to only users with the given role: Owner or Member. + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-TeamChannelUser -GroupId 2f162b0e-36d2-4e15-8ba3-ba229cecdccf -DisplayName "Engineering" -Role Owner + + Get owners of channel with display name as "Engineering" + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/teams/get-teamchanneluser + + + + + + Get-TeamFunSettings + Get + TeamFunSettings + + Note: This cmdlet is deprecated as of our 1.0 PowerShell release, and is not supported in our 1.0 release. To retrieve a Team's fun settings, run Get-Team. + Gets a team's fun settings. + + + + + + + + Get-TeamFunSettings + + GroupId + + GroupId of the team + + String + + String + + + None + + + + + + GroupId + + GroupId of the team + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-TeamFunSettings -GroupId 2f162b0e-36d2-4e15-8ba3-ba229cecdccf + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/teams/get-teamfunsettings + + + + + + Get-TeamGuestSettings + Get + TeamGuestSettings + + Note: This cmdlet is deprecated as of our 1.0 PowerShell release, and is not supported in our 1.0 release. To retrieve a Team's guest settings, run Get-Team. + Gets Team guest settings. + + + + + + + + Get-TeamGuestSettings + + GroupId + + GroupId of the team + + String + + String + + + None + + + + + + GroupId + + GroupId of the team + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-TeamGuestSettings -GroupId 2f162b0e-36d2-4e15-8ba3-ba229cecdccf + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/teams/get-teamguestsettings + + + + + + Get-TeamMemberSettings + Get + TeamMemberSettings + + Note: This cmdlet is deprecated as of our 1.0 PowerShell release, and is not supported in our 1.0 release. To retrieve a Team's member settings, run Get-Team. + Gets team member settings. + + + + + + + + Get-TeamMemberSettings + + GroupId + + GroupId of the team + + String + + String + + + None + + + + + + GroupId + + GroupId of the team + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-TeamMemberSettings -GroupId 2f162b0e-36d2-4e15-8ba3-ba229cecdccf + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/teams/get-teammembersettings + + + + + + Get-TeamMessagingSettings + Get + TeamMessagingSettings + + Note: This cmdlet is deprecated as of our 1.0 PowerShell release, and is not supported in our 1.0 release. To retrieve a Team's messaging settings, run Get-Team. + Gets team messaging settings. + + + + + + + + Get-TeamMessagingSettings + + GroupId + + GroupId of the team + + String + + String + + + None + + + + + + GroupId + + GroupId of the team + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-TeamMessagingSettings -GroupId 2f162b0e-36d2-4e15-8ba3-ba229cecdccf + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/teams/get-teammessagingsettings + + + + + + Get-TeamsApp + Get + TeamsApp + + Returns app information from the Teams tenant app store. + + + + Use any optional parameter to retrieve app information from the Teams tenant app store. + + + + Get-TeamsApp + + DisplayName + + Name of the app visible to users + + String + + String + + + None + + + DistributionMethod + + The type of app in Teams: global or organization. For LOB apps, use "organization" + + String + + String + + + None + + + ExternalId + + The external ID of the app, provided by the app developer and used by Azure Active Directory + + String + + String + + + None + + + Id + + The app's ID generated by Teams (different from the external ID) + + String + + String + + + None + + + + + + DisplayName + + Name of the app visible to users + + String + + String + + + None + + + DistributionMethod + + The type of app in Teams: global or organization. For LOB apps, use "organization" + + String + + String + + + None + + + ExternalId + + The external ID of the app, provided by the app developer and used by Azure Active Directory + + String + + String + + + None + + + Id + + The app's ID generated by Teams (different from the external ID) + + String + + String + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-TeamsApp -Id b9cc7986-dd56-4b57-ab7d-9c4e5288b775 + + + + + + -------------------------- Example 2 -------------------------- + PS C:\> Get-TeamsApp -ExternalId b00080be-9b31-4927-9e3e-fa8024a7d98a -DisplayName <String>] [-DistributionMethod <String>] + + + + + + -------------------------- Example 3 -------------------------- + PS C:\> Get-TeamsApp -DisplayName SampleApp -DistributionMethod organization + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/teams/get-teamsapp + + + + + + Get-TeamsAppInstallation + Get + TeamsAppInstallation + + Get a Teams App installed in Microsoft Teams. + + + + Get a Teams App installed in Microsoft Teams. + Note: This cmdlet is part of the Public Preview version of Teams PowerShell Module, for more information see Install Teams PowerShell public preview (https://docs.microsoft.com/microsoftteams/teams-powershell-install#install-teams-powershell-public-preview) and also see [Microsoft Teams PowerShell Release Notes](https://docs.microsoft.com/microsoftteams/teams-powershell-release-notes). + + + + Get-TeamsAppInstallation + + AppId + + Teams App identifier in Microsoft Teams. + + String + + String + + + None + + + AppInstallationId + + Installation identifier of the Teams App. + + String + + String + + + None + + + TeamId + + Team identifier in Microsoft Teams. + + String + + String + + + None + + + + Get-TeamsAppInstallation + + AppId + + Teams App identifier in Microsoft Teams. + + String + + String + + + None + + + AppInstallationId + + Installation identifier of the Teams App. + + String + + String + + + None + + + UserId + + User identifier in Microsoft Teams. + + String + + String + + + None + + + + + + AppId + + Teams App identifier in Microsoft Teams. + + String + + String + + + None + + + AppInstallationId + + Installation identifier of the Teams App. + + String + + String + + + None + + + TeamId + + Team identifier in Microsoft Teams. + + String + + String + + + None + + + UserId + + User identifier in Microsoft Teams. + + String + + String + + + None + + + + + + System.String + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-TeamsAppInstallation -AppId b9cc7986-dd56-4b57-ab7d-9c4e5288b775 -TeamId 31f1ff6c-d48c-4f8a-b2e1-abca7fd399df + + This example gets a Teams App specifying its AppId and the TeamId. + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/teams/get-teamsappinstallation + + + + + + Get-TeamUser + Get + TeamUser + + Returns users of a team. + + + + Returns an array containing the UPN, UserId, Name and Role of users belonging to an specific GroupId. + + + + Get-TeamUser + + GroupId + + GroupId of the team + + String + + String + + + None + + + Role + + Filter the results to only users with the given role: Owner or Member. + + String + + String + + + None + + + + + + GroupId + + GroupId of the team + + String + + String + + + None + + + Role + + Filter the results to only users with the given role: Owner or Member. + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-TeamUser -GroupId 2f162b0e-36d2-4e15-8ba3-ba229cecdccf -Role Owner + + This example returns the UPN, UserId, Name, and Role of the owners of the specified GroupId. + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/teams/get-teamuser + + + + + + New-Team + New + Team + + This cmdlet lets you provision a new Team for use in Microsoft Teams and will create an O365 Unified Group to back the team. Groups created through teams cmdlets, APIs, or clients will not show up in Outlook by default. + If you want these groups to appear in Outlook clients, you can use the Set-UnifiedGroup (https://docs.microsoft.com/powershell/module/exchange/set-unifiedgroup) cmdlet in the Exchange Powershell Module to disable the switch parameter `HiddenFromExchangeClientsEnabled` (-HiddenFromExchangeClientsEnabled:$false). + + Note: The Teams application may need to be open by an Owner for up to two hours before changes are reflected. + IMPORTANT: Using this cmdlet to create a new team using a template is still in preview. You can install and use the preview module from the PowerShell test gallery. For instructions on installing and using the Teams PowerShell preview module, see Install the pre-release version of the Teams PowerShell module (https://docs.microsoft.com/microsoftteams/install-prerelease-teams-powershell-module). + + + + Creates a new team with user specified settings, and returns a Group object with a GroupID property. Note that Templates are not yet supported in our 1.0 PowerShell release. + + + + New-Team + + MailNickName + + The MailNickName parameter specifies the alias for the associated Office 365 Group. This value will be used for the mail enabled object and will be used as PrimarySmtpAddress for this Office 365 Group. The value of the MailNickName parameter has to be unique across your tenant. + For more details about the naming conventions see here: New-UnifiedGroup (https://docs.microsoft.com/powershell/module/exchange/new-unifiedgroup#parameters), Parameter: -Alias. + + String + + String + + + None + + + Classification + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + Description + + Team description. Characters Limit - 1024. + + String + + String + + + None + + + DisplayName + + Team display name. Characters Limit - 256. + + String + + String + + + None + + + Template + + Note: this parameter is not supported in our 1.0 PowerShell release, only in Preview. + If you have an EDU license, you can use this parameter to specify which template you'd like to use for creating your group. Do not use this parameter when converting an existing group. + Valid values are: "EDU_Class" or "EDU_PLC" + + String + + String + + + None + + + Owner + + An admin who is allowed to create on behalf of another user should use this flag to specify the desired owner of the group. This user will be added as both a member and an owner of the group. If not specified, the user who creates the team will be added as both a member and an owner. + + String + + String + + + None + + + AllowAddRemoveApps + + Boolean value that determines whether or not members (not only owners) are allowed to add apps to the team. + + Boolean + + Boolean + + + True + + + AllowChannelMentions + + Boolean value that determines whether or not channels in the team can be @ mentioned so that all users who follow the channel are notified. + + Boolean + + Boolean + + + True + + + AllowCreateUpdateChannels + + Setting that determines whether or not members (and not just owners) are allowed to create channels. + + Boolean + + Boolean + + + True + + + AllowCreateUpdateRemoveConnectors + + Setting that determines whether or not members (and not only owners) can manage connectors in the team. + + Boolean + + Boolean + + + True + + + AllowCreateUpdateRemoveTabs + + Setting that determines whether or not members (and not only owners) can manage tabs in channels. + + Boolean + + Boolean + + + True + + + AllowCustomMemes + + Setting that determines whether or not members can use the custom memes functionality in teams. + + Boolean + + Boolean + + + True + + + AllowDeleteChannels + + Setting that determines whether or not members (and not only owners) can delete channels in the team. + + Boolean + + Boolean + + + True + + + AllowGiphy + + Setting that determines whether or not giphy can be used in the team. + + Boolean + + Boolean + + + True + + + AllowGuestCreateUpdateChannels + + Setting that determines whether or not guests can create channels in the team. + + Boolean + + Boolean + + + False + + + AllowGuestDeleteChannels + + Setting that determines whether or not guests can delete in the team. + + Boolean + + Boolean + + + False + + + AllowOwnerDeleteMessages + + Setting that determines whether or not owners can delete messages that they or other members of the team have posted. + + Boolean + + Boolean + + + True + + + AllowStickersAndMemes + + Setting that determines whether stickers and memes usage is allowed in the team. + + Boolean + + Boolean + + + True + + + AllowTeamMentions + + Setting that determines whether the entire team can be @ mentioned (which means that all users will be notified) + + Boolean + + Boolean + + + True + + + AllowUserDeleteMessages + + Setting that determines whether or not members can delete messages that they have posted. + + Boolean + + Boolean + + + True + + + AllowUserEditMessages + + Setting that determines whether or not users can edit messages that they have posted. + + Boolean + + Boolean + + + True + + + GiphyContentRating + + Setting that determines the level of sensitivity of giphy usage that is allowed in the team. Accepted values are "Strict" or "Moderate" + + String + + String + + + Moderate + + + Visibility + + Set to Public to allow all users in your organization to join the group by default. Set to Private to require that an owner approve the join request. + + String + + String + + + Private + + + ShowInTeamsSearchAndSuggestions + + Setting that determines whether or not private teams should be searchable from Teams clients for users who do not belong to that team. Set to $false to make those teams not discoverable from Teams clients. + + Boolean + + Boolean + + + True + + + RetainCreatedGroup + + Switch Parameter allowing toggle of group cleanup if team creation fails. The default value of this parameter is $false to retain with current functionality where the unified group is deleted if the step of adding a team to the group fails. Set it to $true to retain the unified group created even if team creation fails to allow self-retry of team creation or self-cleanup of group as appropriate. + + + SwitchParameter + + + False + + + + New-Team + + Owner + + An admin who is allowed to create on behalf of another user should use this flag to specify the desired owner of the group. This user will be added as both a member and an owner of the group. If not specified, the user who creates the team will be added as both a member and an owner. + + String + + String + + + None + + + AllowAddRemoveApps + + Boolean value that determines whether or not members (not only owners) are allowed to add apps to the team. + + Boolean + + Boolean + + + True + + + AllowChannelMentions + + Boolean value that determines whether or not channels in the team can be @ mentioned so that all users who follow the channel are notified. + + Boolean + + Boolean + + + True + + + AllowCreateUpdateChannels + + Setting that determines whether or not members (and not just owners) are allowed to create channels. + + Boolean + + Boolean + + + True + + + AllowCreateUpdateRemoveConnectors + + Setting that determines whether or not members (and not only owners) can manage connectors in the team. + + Boolean + + Boolean + + + True + + + AllowCreateUpdateRemoveTabs + + Setting that determines whether or not members (and not only owners) can manage tabs in channels. + + Boolean + + Boolean + + + True + + + AllowCustomMemes + + Setting that determines whether or not members can use the custom memes functionality in teams. + + Boolean + + Boolean + + + True + + + AllowDeleteChannels + + Setting that determines whether or not members (and not only owners) can delete channels in the team. + + Boolean + + Boolean + + + True + + + AllowGiphy + + Setting that determines whether or not giphy can be used in the team. + + Boolean + + Boolean + + + True + + + AllowGuestCreateUpdateChannels + + Setting that determines whether or not guests can create channels in the team. + + Boolean + + Boolean + + + False + + + AllowGuestDeleteChannels + + Setting that determines whether or not guests can delete in the team. + + Boolean + + Boolean + + + False + + + AllowOwnerDeleteMessages + + Setting that determines whether or not owners can delete messages that they or other members of the team have posted. + + Boolean + + Boolean + + + True + + + AllowStickersAndMemes + + Setting that determines whether stickers and memes usage is allowed in the team. + + Boolean + + Boolean + + + True + + + AllowTeamMentions + + Setting that determines whether the entire team can be @ mentioned (which means that all users will be notified) + + Boolean + + Boolean + + + True + + + AllowUserDeleteMessages + + Setting that determines whether or not members can delete messages that they have posted. + + Boolean + + Boolean + + + True + + + AllowUserEditMessages + + Setting that determines whether or not users can edit messages that they have posted. + + Boolean + + Boolean + + + True + + + GiphyContentRating + + Setting that determines the level of sensitivity of giphy usage that is allowed in the team. Accepted values are "Strict" or "Moderate" + + String + + String + + + Moderate + + + GroupId + + Specify a GroupId to convert to a Team. If specified, you cannot provide the other values that are already specified by the existing group, namely: Visibility, Alias, Description, or DisplayName. If, for example, you need to create a Team from an existing Microsoft 365 Group, use the ExternalDirectoryObjectId property value returned by Get-UnifiedGroup (https://docs.microsoft.com/powershell/module/exchange/get-unifiedgroup?view=exchange-ps). + + String + + String + + + None + + + ShowInTeamsSearchAndSuggestions + + Setting that determines whether or not private teams should be searchable from Teams clients for users who do not belong to that team. Set to $false to make those teams not discoverable from Teams clients. + + Boolean + + Boolean + + + True + + + RetainCreatedGroup + + Switch Parameter allowing toggle of group cleanup if team creation fails. The default value of this parameter is $false to retain with current functionality where the unified group is deleted if the step of adding a team to the group fails. Set it to $true to retain the unified group created even if team creation fails to allow self-retry of team creation or self-cleanup of group as appropriate. + + + SwitchParameter + + + False + + + + + + MailNickName + + The MailNickName parameter specifies the alias for the associated Office 365 Group. This value will be used for the mail enabled object and will be used as PrimarySmtpAddress for this Office 365 Group. The value of the MailNickName parameter has to be unique across your tenant. + For more details about the naming conventions see here: New-UnifiedGroup (https://docs.microsoft.com/powershell/module/exchange/new-unifiedgroup#parameters), Parameter: -Alias. + + String + + String + + + None + + + Classification + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + Description + + Team description. Characters Limit - 1024. + + String + + String + + + None + + + DisplayName + + Team display name. Characters Limit - 256. + + String + + String + + + None + + + Template + + Note: this parameter is not supported in our 1.0 PowerShell release, only in Preview. + If you have an EDU license, you can use this parameter to specify which template you'd like to use for creating your group. Do not use this parameter when converting an existing group. + Valid values are: "EDU_Class" or "EDU_PLC" + + String + + String + + + None + + + Owner + + An admin who is allowed to create on behalf of another user should use this flag to specify the desired owner of the group. This user will be added as both a member and an owner of the group. If not specified, the user who creates the team will be added as both a member and an owner. + + String + + String + + + None + + + AllowAddRemoveApps + + Boolean value that determines whether or not members (not only owners) are allowed to add apps to the team. + + Boolean + + Boolean + + + True + + + AllowChannelMentions + + Boolean value that determines whether or not channels in the team can be @ mentioned so that all users who follow the channel are notified. + + Boolean + + Boolean + + + True + + + AllowCreateUpdateChannels + + Setting that determines whether or not members (and not just owners) are allowed to create channels. + + Boolean + + Boolean + + + True + + + AllowCreateUpdateRemoveConnectors + + Setting that determines whether or not members (and not only owners) can manage connectors in the team. + + Boolean + + Boolean + + + True + + + AllowCreateUpdateRemoveTabs + + Setting that determines whether or not members (and not only owners) can manage tabs in channels. + + Boolean + + Boolean + + + True + + + AllowCustomMemes + + Setting that determines whether or not members can use the custom memes functionality in teams. + + Boolean + + Boolean + + + True + + + AllowDeleteChannels + + Setting that determines whether or not members (and not only owners) can delete channels in the team. + + Boolean + + Boolean + + + True + + + AllowGiphy + + Setting that determines whether or not giphy can be used in the team. + + Boolean + + Boolean + + + True + + + AllowGuestCreateUpdateChannels + + Setting that determines whether or not guests can create channels in the team. + + Boolean + + Boolean + + + False + + + AllowGuestDeleteChannels + + Setting that determines whether or not guests can delete in the team. + + Boolean + + Boolean + + + False + + + AllowOwnerDeleteMessages + + Setting that determines whether or not owners can delete messages that they or other members of the team have posted. + + Boolean + + Boolean + + + True + + + AllowStickersAndMemes + + Setting that determines whether stickers and memes usage is allowed in the team. + + Boolean + + Boolean + + + True + + + AllowTeamMentions + + Setting that determines whether the entire team can be @ mentioned (which means that all users will be notified) + + Boolean + + Boolean + + + True + + + AllowUserDeleteMessages + + Setting that determines whether or not members can delete messages that they have posted. + + Boolean + + Boolean + + + True + + + AllowUserEditMessages + + Setting that determines whether or not users can edit messages that they have posted. + + Boolean + + Boolean + + + True + + + GiphyContentRating + + Setting that determines the level of sensitivity of giphy usage that is allowed in the team. Accepted values are "Strict" or "Moderate" + + String + + String + + + Moderate + + + GroupId + + Specify a GroupId to convert to a Team. If specified, you cannot provide the other values that are already specified by the existing group, namely: Visibility, Alias, Description, or DisplayName. If, for example, you need to create a Team from an existing Microsoft 365 Group, use the ExternalDirectoryObjectId property value returned by Get-UnifiedGroup (https://docs.microsoft.com/powershell/module/exchange/get-unifiedgroup?view=exchange-ps). + + String + + String + + + None + + + Visibility + + Set to Public to allow all users in your organization to join the group by default. Set to Private to require that an owner approve the join request. + + String + + String + + + Private + + + ShowInTeamsSearchAndSuggestions + + Setting that determines whether or not private teams should be searchable from Teams clients for users who do not belong to that team. Set to $false to make those teams not discoverable from Teams clients. + + Boolean + + Boolean + + + True + + + RetainCreatedGroup + + Switch Parameter allowing toggle of group cleanup if team creation fails. The default value of this parameter is $false to retain with current functionality where the unified group is deleted if the step of adding a team to the group fails. Set it to $true to retain the unified group created even if team creation fails to allow self-retry of team creation or self-cleanup of group as appropriate. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + GroupId + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + New-Team -DisplayName "Tech Reads" + + This example creates a team with all parameters with their default values. + + + + -------------------------- Example 2 -------------------------- + New-Team -DisplayName "Tech Reads" -Description "Team to post technical articles and blogs" -Visibility Public + + This example creates a team with a specific description and public visibility. + + + + -------------------------- Example 3 -------------------------- + $group = New-Team -MailNickname "TestTeam" -displayname "Test Teams" -Visibility "private" +Add-TeamUser -GroupId $group.GroupId -User "fred@example.com" +Add-TeamUser -GroupId $group.GroupId -User "john@example.com" +Add-TeamUser -GroupId $group.GroupId -User "wilma@example.com" +New-TeamChannel -GroupId $group.GroupId -DisplayName "Q4 planning" +New-TeamChannel -GroupId $group.GroupId -DisplayName "Exec status" +New-TeamChannel -GroupId $group.GroupId -DisplayName "Contracts" + + This example creates a team, adds three members to it, and creates three channels within it. + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/teams/new-team + + + Remove-Team + + + + Get-Team + + + + Set-Team + + + + + + + New-TeamChannel + New + TeamChannel + + Add a new channel to a team. + + + + > [!IMPORTANT] > Modules in the PS INT gallery for Microsoft Teams run on the /beta version in Microsoft Graph and are subject to change. Int modules can be install from here <https://www.poshtestgallery.com/packages/MicrosoftTeams>. + + + + New-TeamChannel + + GroupId + + GroupId of the team + + String + + String + + + None + + + DisplayName + + Channel display name. Names must be 50 characters or less, and can't contain the characters # % & * { } / \ : < > ? + | ' " + + String + + String + + + None + + + Description + + Channel description. Channel description can be up to 1024 characters. + + String + + String + + + None + + + MembershipType (available in private preview) + + Channel membership type, Standard or Private. + + String + + String + + + None + + + Owner (available in private preview) + + UPN of owner that can be specified while creating a private channel. + + String + + String + + + None + + + + + + GroupId + + GroupId of the team + + String + + String + + + None + + + DisplayName + + Channel display name. Names must be 50 characters or less, and can't contain the characters # % & * { } / \ : < > ? + | ' " + + String + + String + + + None + + + Description + + Channel description. Channel description can be up to 1024 characters. + + String + + String + + + None + + + MembershipType (available in private preview) + + Channel membership type, Standard or Private. + + String + + String + + + None + + + Owner (available in private preview) + + UPN of owner that can be specified while creating a private channel. + + String + + String + + + None + + + + + + GroupId, DisplayName, Description, MembershipType, Owner + + + + + + + + + + Id + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + New-TeamChannel -GroupId 126b90a5-e65a-4fef-98e3-d9b49f4acf12 -DisplayName "Architecture" + + Create a standard channel with display name as "Architecture" + + + + -------------------------- Example 2 -------------------------- + New-TeamChannel -GroupId 126b90a5-e65a-4fef-98e3-d9b49f4acf12 -DisplayName "Engineering" -MembershipType Private + + Create a private channel with display name as "Engineering" + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/teams/new-teamchannel + + + + + + New-TeamsApp + New + TeamsApp + + Creates a new app in the Teams tenant app store. + + + + Use a Teams app manifest zip file to upload an app to the tenant app store. DistributionMethod specifies that the app should be added to the organization. + + + + New-TeamsApp + + DistributionMethod + + The type of app in Teams: global or organization. For LOB apps, use "organization" + + String + + String + + + None + + + Path + + The local path of the app manifest zip file, for use in New and Set + + String + + String + + + None + + + + + + DistributionMethod + + The type of app in Teams: global or organization. For LOB apps, use "organization" + + String + + String + + + None + + + Path + + The local path of the app manifest zip file, for use in New and Set + + String + + String + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> New-TeamsApp -DistributionMethod organization -Path c:\Path\SampleApp.zip + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/teams/new-teamsapp + + + + + + Remove-Team + Remove + Team + + This cmdlet deletes a specified Team from Microsoft Teams. + NOTE: The associated Office 365 Unified Group will also be removed. + + + + Removes a specified team via GroupID and all its associated components, like O365 Unified Group... + + + + + Remove-Team + + GroupId + + GroupId of the team + + String + + String + + + None + + + + + + GroupId + + GroupId of the team + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Remove-Team -GroupId 31f1ff6c-d48c-4f8a-b2e1-abca7fd399df + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/teams/remove-team + + + New-Team + + + + + + + Remove-TeamChannel + Remove + TeamChannel + + Delete a channel. This will not delete content in associated tabs. + Note: The channel will be "soft deleted", meaning the contents are not permanently deleted for a time. So a subsequent call to Add-TeamChannel using the same channel name will fail if enough time has not passed. + + + + > [!IMPORTANT] > Modules in the PS INT gallery for Microsoft Teams run on the /beta version in Microsoft Graph and are subject to change. Int modules can be install from here <https://www.poshtestgallery.com/packages/MicrosoftTeams>. + + + + Remove-TeamChannel + + GroupId + + GroupId of the team + + String + + String + + + None + + + DisplayName + + Channel name to be deleted + + String + + String + + + None + + + + + + GroupId + + GroupId of the team + + String + + String + + + None + + + DisplayName + + Channel name to be deleted + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Remove-TeamChannel -GroupId 2f162b0e-36d2-4e15-8ba3-ba229cecdccf -DisplayName "Tech Reads" + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/teams/remove-teamchannel + + + + + + Remove-TeamChannelUser + Remove + TeamChannelUser + + Note: the command will return immediately, but the Teams application will not reflect the update immediately, please refresh the members page to see the update. + To turn an existing Owner into an Member, specify role parameter as Owner. + Note: last owner cannot be removed from the private channel. + + + + Note: This cmdlet is part of the Public Preview version of Teams PowerShell Module, for more information see Install Teams PowerShell public preview (https://docs.microsoft.com/microsoftteams/teams-powershell-install#install-teams-powershell-public-preview) and also see [Microsoft Teams PowerShell Release Notes](https://docs.microsoft.com/microsoftteams/teams-powershell-release-notes). + + + + Remove-TeamChannelUser + + GroupId + + GroupId of the team + + String + + String + + + None + + + DisplayName + + Display name of the private channel + + String + + String + + + None + + + User + + User's UPN (user principal name - e.g. johndoe@example.com) + + String + + String + + + None + + + Role + + Use this to demote a user from owner to member of the team + + String + + String + + + None + + + + + + GroupId + + GroupId of the team + + String + + String + + + None + + + DisplayName + + Display name of the private channel + + String + + String + + + None + + + User + + User's UPN (user principal name - e.g. johndoe@example.com) + + String + + String + + + None + + + Role + + Use this to demote a user from owner to member of the team + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Remove-TeamChannelUser -GroupId 31f1ff6c-d48c-4f8a-b2e1-abca7fd399df -DisplayName "Engineering" -User dmx@example.com + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/teams/remove-teamchanneluser + + + + + + Remove-TeamsApp + Remove + TeamsApp + + Removes an app in the Teams tenant app store. + + + + Removes an app in the Teams tenant app store. + + + + Remove-TeamsApp + + Id + + The app's ID generated by Teams (different from the external ID) + + String + + String + + + None + + + + + + Id + + The app's ID generated by Teams (different from the external ID) + + String + + String + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Remove-TeamsApp -Id b9cc7986-dd56-4b57-ab7d-9c4e5288b775 + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/teams/remove-teamsapp + + + + + + Remove-TeamsAppInstallation + Remove + TeamsAppInstallation + + Removes a Teams App installed in Microsoft Teams. + + + + Removes a Teams App installed in Microsoft Teams. + Note: This cmdlet is part of the Public Preview version of Teams PowerShell Module, for more information see Install Teams PowerShell public preview (https://docs.microsoft.com/microsoftteams/teams-powershell-install#install-teams-powershell-public-preview) and also see [Microsoft Teams PowerShell Release Notes](https://docs.microsoft.com/microsoftteams/teams-powershell-release-notes). + + + + Remove-TeamsAppInstallation + + AppId + + Teams App identifier in Microsoft Teams. + + String + + String + + + None + + + AppInstallationId + + Installation identifier of the Teams App. + + String + + String + + + None + + + TeamId + + Team identifier in Microsoft Teams. + + String + + String + + + None + + + + Remove-TeamsAppInstallation + + AppId + + Teams App identifier in Microsoft Teams. + + String + + String + + + None + + + AppInstallationId + + Installation identifier of the Teams App. + + String + + String + + + None + + + UserId + + User identifier in Microsoft Teams. + + String + + String + + + None + + + + + + AppId + + Teams App identifier in Microsoft Teams. + + String + + String + + + None + + + AppInstallationId + + Installation identifier of the Teams App. + + String + + String + + + None + + + TeamId + + Team identifier in Microsoft Teams. + + String + + String + + + None + + + UserId + + User identifier in Microsoft Teams. + + String + + String + + + None + + + + + + System.String + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Remove-TeamsAppInstallation -AppId b9cc7986-dd56-4b57-ab7d-9c4e5288b775 -TeamId 31f1ff6c-d48c-4f8a-b2e1-abca7fd399df + + This example removes a Teams App in Microsoft Teams specifying its AppId and TeamId. + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/teams/remove-teamsappinstallation + + + + + + Remove-TeamUser + Remove + TeamUser + + Remove an owner or member from a team, and from the unified group which backs the team. + Note: the command will return immediately, but the Teams application will not reflect the update immediately. The Teams application may need to be open for up to an hour before changes are reflected. + Note: last owner cannot be removed from the team. + + + + + + + + Remove-TeamUser + + GroupId + + GroupId of the team + + String + + String + + + None + + + User + + User's UPN (user principal name - e.g. johndoe@example.com) + + String + + String + + + None + + + Role + + If cmdlet is called with -Role parameter as "Owner", the specified user is removed as an owner of the team but stays as a team member. + Note: The last owner cannot be removed from the team. + + String + + String + + + None + + + + + + GroupId + + GroupId of the team + + String + + String + + + None + + + User + + User's UPN (user principal name - e.g. johndoe@example.com) + + String + + String + + + None + + + Role + + If cmdlet is called with -Role parameter as "Owner", the specified user is removed as an owner of the team but stays as a team member. + Note: The last owner cannot be removed from the team. + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Remove-TeamUser -GroupId 31f1ff6c-d48c-4f8a-b2e1-abca7fd399df -User dmx@example.com -Role Owner + + In this example, the user "dmx" is removed the role Owner but stays as a team member. + + + + -------------------------- Example 2 -------------------------- + Remove-TeamUser -GroupId 31f1ff6c-d48c-4f8a-b2e1-abca7fd399df -User dmx@example.com + + In this example, the user "dmx" is removed from the team. + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/teams/remove-teamuser + + + + + + Set-Team + Set + Team + + This cmdlet allows you to update properties of a team, including its displayname, description, and team-specific settings. + + + + This cmdlet allows you to update properties of a team, including its displayname, description, and team-specific settings. This cmdlet includes all settings that used to be set using the Set-TeamFunSettings, Set-TeamGuestSettings, etc. cmdlets + + + + Set-Team + + GroupId + + GroupId of the team + + String + + String + + + None + + + DisplayName + + Team display name. Team Name Characters Limit - 256. + + String + + String + + + None + + + Description + + Team description. Team Description Characters Limit - 1024. + + String + + String + + + None + + + MailNickName + + The MailNickName parameter specifies the alias for the associated Office 365 Group. This value will be used for the mail enabled object and will be used as PrimarySmtpAddress for this Office 365 Group. The value of the MailNickName parameter has to be unique across your tenant. + + String + + String + + + None + + + Classification + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + Visibility + + Team visibility. Valid values are "Private" and "Public" + + String + + String + + + None + + + AllowAddRemoveApps + + Boolean value that determines whether or not members (not only owners) are allowed to add apps to the team. + + Boolean + + Boolean + + + None + + + AllowChannelMentions + + Boolean value that determines whether or not channels in the team can be @ mentioned so that all users who follow the channel are notified. + + Boolean + + Boolean + + + None + + + AllowCreateUpdateChannels + + Setting that determines whether or not members (and not just owners) are allowed to create channels. + + Boolean + + Boolean + + + None + + + AllowCreateUpdateRemoveConnectors + + Setting that determines whether or not members (and not only owners) can manage connectors in the team. + + Boolean + + Boolean + + + None + + + AllowCreateUpdateRemoveTabs + + Setting that determines whether or not members (and not only owners) can manage tabs in channels. + + Boolean + + Boolean + + + None + + + AllowCustomMemes + + Setting that determines whether or not members can use the custom memes functionality in teams. + + Boolean + + Boolean + + + None + + + AllowDeleteChannels + + Setting that determines whether or not members (and not only owners) can delete channels in the team. + + Boolean + + Boolean + + + None + + + AllowGiphy + + Setting that determines whether or not giphy can be used in the team. + + Boolean + + Boolean + + + None + + + AllowGuestCreateUpdateChannels + + Setting that determines whether or not guests can create channels in the team. + + Boolean + + Boolean + + + None + + + AllowGuestDeleteChannels + + Setting that determines whether or not guests can delete in the team. + + Boolean + + Boolean + + + None + + + AllowOwnerDeleteMessages + + Setting that determines whether or not owners can delete messages that they or other members of the team have posted. + + Boolean + + Boolean + + + None + + + AllowStickersAndMemes + + Setting that determines whether stickers and memes usage is allowed in the team. + + Boolean + + Boolean + + + None + + + AllowTeamMentions + + Setting that determines whether the entire team can be @ mentioned (which means that all users will be notified) + + Boolean + + Boolean + + + None + + + AllowUserDeleteMessages + + Setting that determines whether or not members can delete messages that they have posted. + + Boolean + + Boolean + + + None + + + AllowUserEditMessages + + Setting that determines whether or not users can edit messages that they have posted. + + Boolean + + Boolean + + + None + + + GiphyContentRating + + Setting that determines the level of sensitivity of giphy usage that is allowed in the team. Accepted values are "Strict" or "Moderate" + + String + + String + + + None + + + ShowInTeamsSearchAndSuggestions + + Setting that determines whether or not private teams should be searchable from Teams clients for users who do not belong to that team. Set to $false to make those teams not discoverable from Teams clients. + + Boolean + + Boolean + + + None + + + + + + GroupId + + GroupId of the team + + String + + String + + + None + + + DisplayName + + Team display name. Team Name Characters Limit - 256. + + String + + String + + + None + + + Description + + Team description. Team Description Characters Limit - 1024. + + String + + String + + + None + + + MailNickName + + The MailNickName parameter specifies the alias for the associated Office 365 Group. This value will be used for the mail enabled object and will be used as PrimarySmtpAddress for this Office 365 Group. The value of the MailNickName parameter has to be unique across your tenant. + + String + + String + + + None + + + Classification + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + Visibility + + Team visibility. Valid values are "Private" and "Public" + + String + + String + + + None + + + AllowAddRemoveApps + + Boolean value that determines whether or not members (not only owners) are allowed to add apps to the team. + + Boolean + + Boolean + + + None + + + AllowChannelMentions + + Boolean value that determines whether or not channels in the team can be @ mentioned so that all users who follow the channel are notified. + + Boolean + + Boolean + + + None + + + AllowCreateUpdateChannels + + Setting that determines whether or not members (and not just owners) are allowed to create channels. + + Boolean + + Boolean + + + None + + + AllowCreateUpdateRemoveConnectors + + Setting that determines whether or not members (and not only owners) can manage connectors in the team. + + Boolean + + Boolean + + + None + + + AllowCreateUpdateRemoveTabs + + Setting that determines whether or not members (and not only owners) can manage tabs in channels. + + Boolean + + Boolean + + + None + + + AllowCustomMemes + + Setting that determines whether or not members can use the custom memes functionality in teams. + + Boolean + + Boolean + + + None + + + AllowDeleteChannels + + Setting that determines whether or not members (and not only owners) can delete channels in the team. + + Boolean + + Boolean + + + None + + + AllowGiphy + + Setting that determines whether or not giphy can be used in the team. + + Boolean + + Boolean + + + None + + + AllowGuestCreateUpdateChannels + + Setting that determines whether or not guests can create channels in the team. + + Boolean + + Boolean + + + None + + + AllowGuestDeleteChannels + + Setting that determines whether or not guests can delete in the team. + + Boolean + + Boolean + + + None + + + AllowOwnerDeleteMessages + + Setting that determines whether or not owners can delete messages that they or other members of the team have posted. + + Boolean + + Boolean + + + None + + + AllowStickersAndMemes + + Setting that determines whether stickers and memes usage is allowed in the team. + + Boolean + + Boolean + + + None + + + AllowTeamMentions + + Setting that determines whether the entire team can be @ mentioned (which means that all users will be notified) + + Boolean + + Boolean + + + None + + + AllowUserDeleteMessages + + Setting that determines whether or not members can delete messages that they have posted. + + Boolean + + Boolean + + + None + + + AllowUserEditMessages + + Setting that determines whether or not users can edit messages that they have posted. + + Boolean + + Boolean + + + None + + + GiphyContentRating + + Setting that determines the level of sensitivity of giphy usage that is allowed in the team. Accepted values are "Strict" or "Moderate" + + String + + String + + + None + + + ShowInTeamsSearchAndSuggestions + + Setting that determines whether or not private teams should be searchable from Teams clients for users who do not belong to that team. Set to $false to make those teams not discoverable from Teams clients. + + Boolean + + Boolean + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-Team -GroupId 2f162b0e-36d2-4e15-8ba3-ba229cecdccf -DisplayName "Updated TeamName" -Visibility Public + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/teams/set-team + + + Get-Team + + + + New-Team + + + + + + + Set-TeamArchivedState + Set + TeamArchivedState + + This cmdlet is used to freeze all of the team activity, but Teams Administrators and team owners will still be able to add or remove members and update roles. You can unarchive the team anytime. + + + + This cmdlet is used to freeze all of the team activity and also specify whether SharePoint site should be marked as Read-Only. Teams administrators and team owners will still be able to add or remove members and update roles. You can unarchive the team anytime. + + + + Set-TeamArchivedState + + Archived + + Boolean value that determines whether or not the Team is archived. + + Boolean + + Boolean + + + None + + + GroupId + + GroupId of the team + + String + + String + + + None + + + SetSpoSiteReadOnlyForMembers + + Use this parameter switch to make the SharePoint site read-only for team members. + + Boolean + + Boolean + + + None + + + + + + Archived + + Boolean value that determines whether or not the Team is archived. + + Boolean + + Boolean + + + None + + + GroupId + + GroupId of the team + + String + + String + + + None + + + SetSpoSiteReadOnlyForMembers + + Use this parameter switch to make the SharePoint site read-only for team members. + + Boolean + + Boolean + + + None + + + + + + System.String + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-TeamArchivedState -GroupId 105b16e2-dc55-4f37-a922-97551e9e862d -Archived:$true + + This example sets the group with id 105b16e2-dc55-4f37-a922-97551e9e862d as archived + + + + -------------------------- Example 2 -------------------------- + PS C:\> Set-TeamArchivedState -GroupId 105b16e2-dc55-4f37-a922-97551e9e862d -Archived:$true -SetSpoSiteReadOnlyForMembers:$true + + This example sets the group with id 105b16e2-dc55-4f37-a922-97551e9e862d as archived and makes the SharePoint site read-only for team members. + + + + -------------------------- Example 3 -------------------------- + PS C:\> Set-TeamArchivedState -GroupId 105b16e2-dc55-4f37-a922-97551e9e862d -Archived:$false + + This example unarchives the group with id 105b16e2-dc55-4f37-a922-97551e9e862d. + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/teams/set-teamarchivedstate + + + + + + Set-TeamChannel + Set + TeamChannel + + Update Team channels settings. + + + + > [!IMPORTANT] > Modules in the PS INT gallery for Microsoft Teams run on the /beta version in Microsoft Graph and are subject to change. Int modules can be install from here <https://www.poshtestgallery.com/packages/MicrosoftTeams>. + + + + Set-TeamChannel + + GroupId + + GroupId of the team + + String + + String + + + None + + + CurrentDisplayName + + Current channel name + + String + + String + + + None + + + NewDisplayName + + New Channel display name. Names must be 50 characters or less, and can't contain the characters # % & * { } / \ : < > ? + | ' " + + String + + String + + + None + + + Description + + Updated Channel description. Channel Description Characters Limit - 1024. + + String + + String + + + None + + + + + + GroupId + + GroupId of the team + + String + + String + + + None + + + CurrentDisplayName + + Current channel name + + String + + String + + + None + + + NewDisplayName + + New Channel display name. Names must be 50 characters or less, and can't contain the characters # % & * { } / \ : < > ? + | ' " + + String + + String + + + None + + + Description + + Updated Channel description. Channel Description Characters Limit - 1024. + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-TeamChannel -GroupId c58566a6-4bb4-4221-98d4-47677dbdbef6 -CurrentDisplayName TechReads -NewDisplayName "Technical Reads" + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/teams/set-teamchannel + + + + + + Set-TeamFunSettings + Set + TeamFunSettings + + Note: This cmdlet is deprecated as of our 1.0 PowerShell release, and is not supported in our 1.0 release. To set a Team's settings, run Set-Team. + Update Giphy, Stickers and Memes settings. + + + + + + + + Set-TeamFunSettings + + GroupId + + GroupId of the team + + String + + String + + + None + + + AllowGiphy + + Setting to enable giphy for team + + String + + String + + + None + + + GiphyContentRating + + Settings to set content rating for giphy. Can be "Strict" or "Moderate" + + String + + String + + + None + + + AllowStickersAndMemes + + Enable Stickers and memes + + String + + String + + + None + + + AllowCustomMemes + + Allow custom memes to be uploaded + + String + + String + + + None + + + + + + GroupId + + GroupId of the team + + String + + String + + + None + + + AllowGiphy + + Setting to enable giphy for team + + String + + String + + + None + + + GiphyContentRating + + Settings to set content rating for giphy. Can be "Strict" or "Moderate" + + String + + String + + + None + + + AllowStickersAndMemes + + Enable Stickers and memes + + String + + String + + + None + + + AllowCustomMemes + + Allow custom memes to be uploaded + + String + + String + + + None + + + + + + GroupId, AllowGiphy, GiphyContentRating, AllowStickersAndMemes, AllowCustomMemes + + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-TeamFunSettings -GroupId 0ebb500c-f5f3-44dd-b155-cc8c4f383e2d -AllowGiphy true -GiphyContentRating Strict + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/teams/set-teamfunsettings + + + + + + Set-TeamGuestSettings + Set + TeamGuestSettings + + Note: This cmdlet is deprecated as of our 1.0 PowerShell release, and is not supported in our 1.0 release. To set a Team's settings, run Set-Team. + Updates team guest settings. + + + + + + + + Set-TeamGuestSettings + + GroupId + + GroupId of the team + + String + + String + + + None + + + AllowCreateUpdateChannels + + Settings to create and update channels + + String + + String + + + None + + + AllowDeleteChannels + + Settings to Delete channels + + String + + String + + + None + + + + + + GroupId + + GroupId of the team + + String + + String + + + None + + + AllowCreateUpdateChannels + + Settings to create and update channels + + String + + String + + + None + + + AllowDeleteChannels + + Settings to Delete channels + + String + + String + + + None + + + + + + GroupId + + + + + + + + AllowCreateUpdateChannels + + + + + + + + AllowDeleteChannels + + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-TeamGuestSettings -GroupId a61f5a96-a0cf-43db-a7c8-cec05f8a8fc4 -AllowCreateUpdateChannels true + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/teams/set-teamguestsettings + + + + + + Set-TeamMemberSettings + Set + TeamMemberSettings + + Note: This cmdlet is deprecated as of our 1.0 PowerShell release, and is not supported in our 1.0 release. To set a Team's settings, run Set-Team. + Updates team member settings. + + + + + + + + Set-TeamMemberSettings + + GroupId + + GroupId of the team + + String + + String + + + None + + + AllowCreateUpdateChannels + + Setting to create and update channels + + String + + String + + + None + + + AllowDeleteChannels + + Setting to Delete channels + + String + + String + + + None + + + AllowAddRemoveApps + + Setting to add and remove apps to teams + + String + + String + + + None + + + AllowCreateUpdateRemoveTabs + + Setting to create, update and remove tabs + + String + + String + + + None + + + AllowCreateUpdateRemoveConnectors + + Setting to create, update and remove connectors + + String + + String + + + None + + + + + + GroupId + + GroupId of the team + + String + + String + + + None + + + AllowCreateUpdateChannels + + Setting to create and update channels + + String + + String + + + None + + + AllowDeleteChannels + + Setting to Delete channels + + String + + String + + + None + + + AllowAddRemoveApps + + Setting to add and remove apps to teams + + String + + String + + + None + + + AllowCreateUpdateRemoveTabs + + Setting to create, update and remove tabs + + String + + String + + + None + + + AllowCreateUpdateRemoveConnectors + + Setting to create, update and remove connectors + + String + + String + + + None + + + + + + GroupId + + + + + + + + AllowCreateUpdateChannels + + + + + + + + AllowDeleteChannels + + + + + + + + AllowAddRemoveApps + + + + + + + + AllowCreateUpdateRemoveTabs + + + + + + + + AllowCreateUpdateRemoveConnectors + + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-TeamMemberSettings -GroupId 4ba546e6-e28d-4645-8cc1-d3575ef9d266 -AllowCreateUpdateChannels false + + + + + + -------------------------- Example 2 -------------------------- + Set-TeamMemberSettings -GroupId 4ba546e6-e28d-4645-8cc1-d3575ef9d266 -AllowDeleteChannels true -AllowAddRemoveApps false + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/teams/set-teammembersettings + + + + + + Set-TeamMessagingSettings + Set + TeamMessagingSettings + + Note: This cmdlet is deprecated as of our 1.0 PowerShell release, and is not supported in our 1.0 release. To set a Team's settings, run Set-Team. + Updates team messaging settings. + + + + + + + + Set-TeamMessagingSettings + + GroupId + + GroupId of the team + + String + + String + + + None + + + AllowUserEditMessages + + Setting to allow user to edit messages + + String + + String + + + None + + + AllowUserDeleteMessages + + Setting to allow user to delete messages + + String + + String + + + None + + + AllowOwnerDeleteMessages + + Setting to allow owner to Delete messages + + String + + String + + + None + + + AllowTeamMentions + + Allow @team or @[team name] mentions. This will notify everyone in the team + + String + + String + + + None + + + AllowChannelMentions + + Allow @channel or @[channel name] mentions. This wil notify members who've favorited that channel + + String + + String + + + None + + + + + + GroupId + + GroupId of the team + + String + + String + + + None + + + AllowUserEditMessages + + Setting to allow user to edit messages + + String + + String + + + None + + + AllowUserDeleteMessages + + Setting to allow user to delete messages + + String + + String + + + None + + + AllowOwnerDeleteMessages + + Setting to allow owner to Delete messages + + String + + String + + + None + + + AllowTeamMentions + + Allow @team or @[team name] mentions. This will notify everyone in the team + + String + + String + + + None + + + AllowChannelMentions + + Allow @channel or @[channel name] mentions. This wil notify members who've favorited that channel + + String + + String + + + None + + + + + + GroupId + + + + + + + + AllowUserEditMessages + + + + + + + + AllowUserDeleteMessages + + + + + + + + AllowOwnerDeleteMessages + + + + + + + + AllowTeamMentions + + + + + + + + AllowChannelMentions + + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-TeamMessagingSettings -GroupId 4ba546e6-e28d-4645-8cc1-d3575ef9d266 -AllowUserEditMessages true + + + + + + -------------------------- Example 2 -------------------------- + Set-TeamMessagingSettings -GroupId 4ba546e6-e28d-4645-8cc1-d3575ef9d266 -AllowUserDeleteMessages false -AllowChannelMentions true + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/teams/set-teammessagingsettings + + + + + + Set-TeamPicture + Set + TeamPicture + + Update the team picture. + Note: the command will return immediately, but the Teams application will not reflect the update immediately. The Teams application may need to be open for up to an hour before changes are reflected. + Note: this cmdlet is not support in special government environments (TeamsGCCH and TeamsDoD) and is currently only supported in our beta release. + + + + + + + + Set-TeamPicture + + GroupId + + GroupId of the team + + String + + String + + + None + + + ImagePath + + File path and image ( .png, .gif, .jpg, or .jpeg) + + String + + String + + + None + + + + + + GroupId + + GroupId of the team + + String + + String + + + None + + + ImagePath + + File path and image ( .png, .gif, .jpg, or .jpeg) + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-TeamPicture -GroupId 2f162b0e-36d2-4e15-8ba3-ba229cecdccf -ImagePath c:\Image\TeamPicture.png + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/teams/set-teampicture + + + + + + Set-TeamsApp + Set + TeamsApp + + Updates an app in the Teams tenant app store. + + + + Use a Teams app manifest zip file to upload an app to the tenant app store. + + + + Set-TeamsApp + + Id + + The app's ID generated by Teams (different from the external ID) + + String + + String + + + None + + + Path + + The local path of the app manifest zip file, for use in New and Set + + String + + String + + + None + + + + + + Id + + The app's ID generated by Teams (different from the external ID) + + String + + String + + + None + + + Path + + The local path of the app manifest zip file, for use in New and Set + + String + + String + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-TeamsApp -Id b9cc7986-dd56-4b57-ab7d-9c4e5288b775 -Path c:\Path\SampleApp.zip + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/teams/set-teamsapp + + + + + + Update-TeamsAppInstallation + Update + TeamsAppInstallation + + Update a Teams App in Microsoft Teams. + + + + Update a Teams App in Microsoft Teams. + Note: This cmdlet is part of the Public Preview version of Teams PowerShell Module, for more information see Install Teams PowerShell public preview (https://docs.microsoft.com/microsoftteams/teams-powershell-install#install-teams-powershell-public-preview) and also see [Microsoft Teams PowerShell Release Notes](https://docs.microsoft.com/microsoftteams/teams-powershell-release-notes). + + + + Update-TeamsAppInstallation + + AppId + + Teams App identifier in Microsoft Teams. + + String + + String + + + None + + + AppInstallationId + + Installation identifier of the Teams App. + + String + + String + + + None + + + Permissions + + RSC permissions for the Teams App. + + String + + String + + + None + + + TeamId + + Team identifier in Microsoft Teams. + + String + + String + + + None + + + + Update-TeamsAppInstallation + + AppId + + Teams App identifier in Microsoft Teams. + + String + + String + + + None + + + AppInstallationId + + Installation identifier of the Teams App. + + String + + String + + + None + + + Permissions + + RSC permissions for the Teams App. + + String + + String + + + None + + + UserId + + User identifier in Microsoft Teams. + + String + + String + + + None + + + + + + AppId + + Teams App identifier in Microsoft Teams. + + String + + String + + + None + + + AppInstallationId + + Installation identifier of the Teams App. + + String + + String + + + None + + + Permissions + + RSC permissions for the Teams App. + + String + + String + + + None + + + TeamId + + Team identifier in Microsoft Teams. + + String + + String + + + None + + + UserId + + User identifier in Microsoft Teams. + + String + + String + + + None + + + + + + System.String + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Update-TeamsAppInstallation -AppId b9cc7986-dd56-4b57-ab7d-9c4e5288b775 -TeamId 31f1ff6c-d48c-4f8a-b2e1-abca7fd399df + + This example updates a Teams App in Microsoft Teams specifying its AppId and TeamId. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Update-TeamsAppInstallation -AppId b9cc7986-dd56-4b57-ab7d-9c4e5288b775 -TeamId 31f1ff6c-d48c-4f8a-b2e1-abca7fd399df -Permissions "TeamSettings.Read.Group ChannelMessage.Read.Group" + + This example updates a Teams App in Microsoft Teams specifying its AppId and TeamId and RSC Permissions. + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/teams/update-teamsappinstallation + + + + \ No newline at end of file diff --git a/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.PowerShell.TeamsCmdlets.psd1 b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.PowerShell.TeamsCmdlets.psd1 new file mode 100644 index 000000000000..679256ecc99e --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.PowerShell.TeamsCmdlets.psd1 @@ -0,0 +1,348 @@ +# +# Module manifest for module 'Microsoft.Teams.PowerShell.TeamsCmdlets' +# +# Generated by: Microsoft Corporation +# +# Updated on: 6/30/2020 +# + +@{ +# Script module or binary module file associated with this manifest. +RootModule = './Microsoft.Teams.PowerShell.TeamsCmdlets.psm1' + +# Version number of this module. +# There's a string replace for the actual module version in the build pipeline +ModuleVersion = '1.2.18' + +# Supported PSEditions +CompatiblePSEditions = 'Core', 'Desktop' + +# ID used to uniquely identify this module +GUID = '3dfbed68-91ab-432e-b8bf-affe360d2c2f' + +# Author of this module +Author = 'Microsoft Corporation' + +# Company or vendor of this module +CompanyName = 'Microsoft Corporation' + +# Copyright statement for this module +Copyright = 'Microsoft Corporation. All rights reserved.' + +# Description of the functionality provided by this module +Description = 'Microsoft Teams cmdlets sub module for Windows PowerShell and PowerShell Core. + +For more information, please visit the following: https://docs.microsoft.com/MicrosoftTeams/teams-powershell-overview' + +# Minimum version of the Windows PowerShell engine required by this module +PowerShellVersion = '5.1' + +# Name of the Windows PowerShell host required by this module +# PowerShellHostName = '' + +# Minimum version of the Windows PowerShell host required by this module +# PowerShellHostVersion = '' + +# Minimum version of Microsoft .NET Framework required by this module. This prerequisite is valid for the PowerShell Desktop edition only. +DotNetFrameworkVersion = '4.7.2' + +# Minimum version of the common language runtime (CLR) required by this module. This prerequisite is valid for the PowerShell Desktop edition only. +CLRVersion = '4.0' + +# Processor architecture (None, X86, Amd64) required by this module +# ProcessorArchitecture = 'Amd64' + +# Modules that must be imported into the global environment prior to importing this module +# RequiredModules = @() + +# Assemblies that must be loaded prior to importing this module +# RequiredAssemblies = @() + +# Script files (.ps1) that are run in the caller's environment prior to importing this module. +# ScriptsToProcess = @() + +# Type files (.ps1xml) to be loaded when importing this module +# TypesToProcess = @() + +# Format files (.ps1xml) to be loaded when importing this module +FormatsToProcess = @('GetTeamSettings.format.ps1xml') + +# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export. +CmdletsToExport = @( + 'Add-TeamChannelUser' + ,'Add-TeamUser' + ,'Get-AssociatedTeam' + ,'Get-MultiGeoRegion' + ,'Get-Operation' + ,'Get-SharedWithTeam' + ,'Get-SharedWithTeamUser' + ,'Get-Team' + ,'Get-TeamAllChannel' + ,'Get-TeamChannel' + ,'Get-TeamChannelUser' + ,'Get-TeamIncomingChannel' + ,'Get-TeamsApp' + ,'Get-TeamUser' + ,'Get-M365TeamsApp' + ,'Get-AllM365TeamsApps' + ,'New-Team' + ,'New-TeamChannel' + ,'New-TeamsApp' + ,'Remove-SharedWithTeam' + ,'Remove-Team' + ,'Remove-TeamChannel' + ,'Remove-TeamChannelUser' + ,'Remove-TeamsApp' + ,'Remove-TeamUser' + ,'Set-Team' + ,'Set-TeamArchivedState' + ,'Set-TeamChannel' + ,'Set-TeamPicture' + ,'Set-TeamsApp' + ,'Update-M365TeamsApp' + ,'Add-TeamsAppInstallation' + ,'Get-TeamsAppInstallation' + ,'Get-TeamTargetingHierarchyStatus' + ,'Remove-TeamsAppInstallation' + ,'Remove-TeamTargetingHierarchy' + ,'Set-TeamTargetingHierarchy' + ,'Update-TeamsAppInstallation' + ,'Get-LicenseReportForChangeNotificationSubscription' + ) + +# Variables to export from this module +VariablesToExport = '*' + +# Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export. +AliasesToExport = '*' + +# DSC resources to export from this module +# DscResourcesToExport = @() + +# List of all modules packaged with this module +# ModuleList = @() + +# List of all files packaged with this module +# FileList = @() + +# HelpInfo URI of this module +# HelpInfoURI = '' + +# Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix. +# DefaultCommandPrefix = '' +} +# SIG # Begin signature block +# MIIn0AYJKoZIhvcNAQcCoIInwTCCJ70CAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCDpKQ2e5sCbqhNf +# 7UrFIbt2yI6IAFe3XsqqIgHTZnVkg6CCDYUwggYDMIID66ADAgECAhMzAAADri01 +# UchTj1UdAAAAAAOuMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMjMxMTE2MTkwODU5WhcNMjQxMTE0MTkwODU5WjB0MQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +# AQD0IPymNjfDEKg+YyE6SjDvJwKW1+pieqTjAY0CnOHZ1Nj5irGjNZPMlQ4HfxXG +# yAVCZcEWE4x2sZgam872R1s0+TAelOtbqFmoW4suJHAYoTHhkznNVKpscm5fZ899 +# QnReZv5WtWwbD8HAFXbPPStW2JKCqPcZ54Y6wbuWV9bKtKPImqbkMcTejTgEAj82 +# 6GQc6/Th66Koka8cUIvz59e/IP04DGrh9wkq2jIFvQ8EDegw1B4KyJTIs76+hmpV +# M5SwBZjRs3liOQrierkNVo11WuujB3kBf2CbPoP9MlOyyezqkMIbTRj4OHeKlamd +# WaSFhwHLJRIQpfc8sLwOSIBBAgMBAAGjggGCMIIBfjAfBgNVHSUEGDAWBgorBgEE +# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUhx/vdKmXhwc4WiWXbsf0I53h8T8w +# VAYDVR0RBE0wS6RJMEcxLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh +# dGlvbnMgTGltaXRlZDEWMBQGA1UEBRMNMjMwMDEyKzUwMTgzNjAfBgNVHSMEGDAW +# gBRIbmTlUAXTgqoXNzcitW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8v +# d3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIw +# MTEtMDctMDguY3JsMGEGCCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDov +# L3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDEx +# XzIwMTEtMDctMDguY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIB +# AGrJYDUS7s8o0yNprGXRXuAnRcHKxSjFmW4wclcUTYsQZkhnbMwthWM6cAYb/h2W +# 5GNKtlmj/y/CThe3y/o0EH2h+jwfU/9eJ0fK1ZO/2WD0xi777qU+a7l8KjMPdwjY +# 0tk9bYEGEZfYPRHy1AGPQVuZlG4i5ymJDsMrcIcqV8pxzsw/yk/O4y/nlOjHz4oV +# APU0br5t9tgD8E08GSDi3I6H57Ftod9w26h0MlQiOr10Xqhr5iPLS7SlQwj8HW37 +# ybqsmjQpKhmWul6xiXSNGGm36GarHy4Q1egYlxhlUnk3ZKSr3QtWIo1GGL03hT57 +# xzjL25fKiZQX/q+II8nuG5M0Qmjvl6Egltr4hZ3e3FQRzRHfLoNPq3ELpxbWdH8t +# Nuj0j/x9Crnfwbki8n57mJKI5JVWRWTSLmbTcDDLkTZlJLg9V1BIJwXGY3i2kR9i +# 5HsADL8YlW0gMWVSlKB1eiSlK6LmFi0rVH16dde+j5T/EaQtFz6qngN7d1lvO7uk +# 6rtX+MLKG4LDRsQgBTi6sIYiKntMjoYFHMPvI/OMUip5ljtLitVbkFGfagSqmbxK +# 7rJMhC8wiTzHanBg1Rrbff1niBbnFbbV4UDmYumjs1FIpFCazk6AADXxoKCo5TsO +# zSHqr9gHgGYQC2hMyX9MGLIpowYCURx3L7kUiGbOiMwaMIIHejCCBWKgAwIBAgIK +# YQ6Q0gAAAAAAAzANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNV +# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv +# c29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlm +# aWNhdGUgQXV0aG9yaXR5IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEw +# OTA5WjB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE +# BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYD +# VQQDEx9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG +# 9w0BAQEFAAOCAg8AMIICCgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+la +# UKq4BjgaBEm6f8MMHt03a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc +# 6Whe0t+bU7IKLMOv2akrrnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4D +# dato88tt8zpcoRb0RrrgOGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+ +# lD3v++MrWhAfTVYoonpy4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nk +# kDstrjNYxbc+/jLTswM9sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6 +# A4aN91/w0FK/jJSHvMAhdCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmd +# X4jiJV3TIUs+UsS1Vz8kA/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL +# 5zmhD+kjSbwYuER8ReTBw3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zd +# sGbiwZeBe+3W7UvnSSmnEyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3 +# T8HhhUSJxAlMxdSlQy90lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS +# 4NaIjAsCAwEAAaOCAe0wggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRI +# bmTlUAXTgqoXNzcitW2oynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAL +# BgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBD +# uRQFTuHqp8cx0SOJNDBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jv +# c29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf +# MDNfMjIuY3JsMF4GCCsGAQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3 +# dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf +# MDNfMjIuY3J0MIGfBgNVHSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEF +# BQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1h +# cnljcHMuaHRtMEAGCCsGAQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkA +# YwB5AF8AcwB0AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn +# 8oalmOBUeRou09h0ZyKbC5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7 +# v0epo/Np22O/IjWll11lhJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0b +# pdS1HXeUOeLpZMlEPXh6I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/ +# KmtYSWMfCWluWpiW5IP0wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvy +# CInWH8MyGOLwxS3OW560STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBp +# mLJZiWhub6e3dMNABQamASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJi +# hsMdYzaXht/a8/jyFqGaJ+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYb +# BL7fQccOKO7eZS/sl/ahXJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbS +# oqKfenoi+kiVH6v7RyOA9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sL +# gOppO6/8MO0ETI7f33VtY5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtX +# cVZOSEXAQsmbdlsKgEhr/Xmfwb1tbWrJUnMTDXpQzTGCGaEwghmdAgEBMIGVMH4x +# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt +# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01p +# Y3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTECEzMAAAOuLTVRyFOPVR0AAAAA +# A64wDQYJYIZIAWUDBAIBBQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQw +# HAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEILrH +# 6+myDzCIwcGj8h6h7wolM+spHXGJFc4+uiPUlISjMEIGCisGAQQBgjcCAQwxNDAy +# oBSAEgBNAGkAYwByAG8AcwBvAGYAdKEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5j +# b20wDQYJKoZIhvcNAQEBBQAEggEAiX37qrEaxRqvB3RmfzExw1vHEdBlRfG87zkM +# MTxi9WEipnsCEU8sU3Pv0fUJbnApoaJQlF7A9F0FZFGLrHvzwd6CwJ1wBxJFnEjU +# QyqdcoXf3i7cD1H+FiQwoIvySa/JVMdseSafRt6Y+YcnPRcOfXbvgnV4KCcF6aeG +# CVy8Z93a2SCsnfQoVGW4PC+TbdZDyHLPq0f6EW+ZNYKmDkNhiVGWABW49NoSgPqG +# GNP7rTMyyS79M7kWYujY/mPskyUHS4CkcMFi0aB+QAmCdbvQdhs6tBqxKAoP70JO +# aT1ueesrGsxrdiwkPDsDVg44/9/TzuVs+JcMLVX+zVkMqDFU9KGCFyswghcnBgor +# BgEEAYI3AwMBMYIXFzCCFxMGCSqGSIb3DQEHAqCCFwQwghcAAgEDMQ8wDQYJYIZI +# AWUDBAIBBQAwggFZBgsqhkiG9w0BCRABBKCCAUgEggFEMIIBQAIBAQYKKwYBBAGE +# WQoDATAxMA0GCWCGSAFlAwQCAQUABCDjKYur1fIhEdRbKMxQy/ph1O0GKbxOzOO9 +# eRE+/tw2qQIGZnLApgueGBMyMDI0MDYxOTExMzEzMC40NDZaMASAAgH0oIHYpIHV +# MIHSMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH +# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQL +# EyRNaWNyb3NvZnQgSXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsT +# HVRoYWxlcyBUU1MgRVNOOjJBRDQtNEI5Mi1GQTAxMSUwIwYDVQQDExxNaWNyb3Nv +# ZnQgVGltZS1TdGFtcCBTZXJ2aWNloIIRejCCBycwggUPoAMCAQICEzMAAAHenkie +# lp8oRD0AAQAAAd4wDQYJKoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxEzARBgNV +# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv +# c29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAg +# UENBIDIwMTAwHhcNMjMxMDEyMTkwNzEyWhcNMjUwMTEwMTkwNzEyWjCB0jELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9z +# b2Z0IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMg +# VFNTIEVTTjoyQUQ0LTRCOTItRkEwMTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUt +# U3RhbXAgU2VydmljZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALSB +# 9ByF9UIDhA6xFrOniw/xsDl8sSi9rOCOXSSO4VMQjnNGAo5VHx0iijMEMH9LY2SU +# IBkVQS0Ml6kR+TagkUPbaEpwjhQ1mprhRgJT/jlSnic42VDAo0en4JI6xnXoAoWo +# KySY8/ROIKdpphgI7OJb4XHk1P3sX2pNZ32LDY1ktchK1/hWyPlblaXAHRu0E3yn +# vwrS8/bcorANO6DjuysyS9zUmr+w3H3AEvSgs2ReuLj2pkBcfW1UPCFudLd7IPZ2 +# RC4odQcEPnY12jypYPnS6yZAs0pLpq0KRFUyB1x6x6OU73sudiHON16mE0l6LLT9 +# OmGo0S94Bxg3N/3aE6fUbnVoemVc7FkFLum8KkZcbQ7cOHSAWGJxdCvo5OtUtRdS +# qf85FklCXIIkg4sm7nM9TktUVfO0kp6kx7mysgD0Qrxx6/5oaqnwOTWLNzK+BCi1 +# G7nUD1pteuXvQp8fE1KpTjnG/1OJeehwKNNPjGt98V0BmogZTe3SxBkOeOQyLA++ +# 5Hyg/L68pe+DrZoZPXJaGU/iBiFmL+ul/Oi3d83zLAHlHQmH/VGNBfRwP+ixvqhy +# k/EebwuXVJY+rTyfbRfuh9n0AaMhhNxxg6tGKyZS4EAEiDxrF9mAZEy8e8rf6dlK +# IX5d3aQLo9fDda1ZTOw+XAcAvj2/N3DLVGZlHnHlAgMBAAGjggFJMIIBRTAdBgNV +# HQ4EFgQUazAmbxseaapgdxzK8Os+naPQEsgwHwYDVR0jBBgwFoAUn6cVXQBeYl2D +# 9OXSZacbUzUZ6XIwXwYDVR0fBFgwVjBUoFKgUIZOaHR0cDovL3d3dy5taWNyb3Nv +# ZnQuY29tL3BraW9wcy9jcmwvTWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUy +# MDIwMTAoMSkuY3JsMGwGCCsGAQUFBwEBBGAwXjBcBggrBgEFBQcwAoZQaHR0cDov +# L3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBUaW1l +# LVN0YW1wJTIwUENBJTIwMjAxMCgxKS5jcnQwDAYDVR0TAQH/BAIwADAWBgNVHSUB +# Af8EDDAKBggrBgEFBQcDCDAOBgNVHQ8BAf8EBAMCB4AwDQYJKoZIhvcNAQELBQAD +# ggIBAOKUwHsXDacGOvUIgs5HDgPs0LZ1qyHS6C6wfKlLaD36tZfbWt1x+GMiazSu +# y+GsxiVHzkhMW+FqK8gruLQWN/sOCX+fGUgT9LT21cRIpcZj4/ZFIvwtkBcsCz1X +# EUsXYOSJUPitY7E8bbldmmhYZ29p+XQpIcsG/q+YjkqBW9mw0ru1MfxMTQs9MTDi +# D28gAVGrPA3NykiSChvdqS7VX+/LcEz9Ubzto/w28WA8HOCHqBTbDRHmiP7MIj+S +# QmI9VIayYsIGRjvelmNa0OvbU9CJSz/NfMEgf2NHMZUYW8KqWEjIjPfHIKxWlNMY +# huWfWRSHZCKyIANA0aJL4soHQtzzZ2MnNfjYY851wHYjGgwUj/hlLRgQO5S30Zx7 +# 8GqBKfylp25aOWJ/qPhC+DXM2gXajIXbl+jpGcVANwtFFujCJRdZbeH1R+Q41Fjg +# Bg4m3OTFDGot5DSuVkQgjku7pOVPtldE46QlDg/2WhPpTQxXH64sP1GfkAwUtt6r +# rZM/PCwRG6girYmnTRLLsicBhoYLh+EEFjVviXAGTk6pnu8jx/4WPWu0jsz7yFzg +# 82/FMqCk9wK3LvyLAyDHN+FxbHAxtgwad7oLQPM0WGERdB1umPCIiYsSf/j79EqH +# doNwQYROVm+ZX10RX3n6bRmAnskeNhi0wnVaeVogLMdGD+nqMIIHcTCCBVmgAwIB +# AgITMwAAABXF52ueAptJmQAAAAAAFTANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UE +# BhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAc +# BgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0 +# IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTAwHhcNMjEwOTMwMTgyMjI1 +# WhcNMzAwOTMwMTgzMjI1WjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu +# Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv +# cmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDCC +# AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAOThpkzntHIhC3miy9ckeb0O +# 1YLT/e6cBwfSqWxOdcjKNVf2AX9sSuDivbk+F2Az/1xPx2b3lVNxWuJ+Slr+uDZn +# hUYjDLWNE893MsAQGOhgfWpSg0S3po5GawcU88V29YZQ3MFEyHFcUTE3oAo4bo3t +# 1w/YJlN8OWECesSq/XJprx2rrPY2vjUmZNqYO7oaezOtgFt+jBAcnVL+tuhiJdxq +# D89d9P6OU8/W7IVWTe/dvI2k45GPsjksUZzpcGkNyjYtcI4xyDUoveO0hyTD4MmP +# frVUj9z6BVWYbWg7mka97aSueik3rMvrg0XnRm7KMtXAhjBcTyziYrLNueKNiOSW +# rAFKu75xqRdbZ2De+JKRHh09/SDPc31BmkZ1zcRfNN0Sidb9pSB9fvzZnkXftnIv +# 231fgLrbqn427DZM9ituqBJR6L8FA6PRc6ZNN3SUHDSCD/AQ8rdHGO2n6Jl8P0zb +# r17C89XYcz1DTsEzOUyOArxCaC4Q6oRRRuLRvWoYWmEBc8pnol7XKHYC4jMYcten +# IPDC+hIK12NvDMk2ZItboKaDIV1fMHSRlJTYuVD5C4lh8zYGNRiER9vcG9H9stQc +# xWv2XFJRXRLbJbqvUAV6bMURHXLvjflSxIUXk8A8FdsaN8cIFRg/eKtFtvUeh17a +# j54WcmnGrnu3tz5q4i6tAgMBAAGjggHdMIIB2TASBgkrBgEEAYI3FQEEBQIDAQAB +# MCMGCSsGAQQBgjcVAgQWBBQqp1L+ZMSavoKRPEY1Kc8Q/y8E7jAdBgNVHQ4EFgQU +# n6cVXQBeYl2D9OXSZacbUzUZ6XIwXAYDVR0gBFUwUzBRBgwrBgEEAYI3TIN9AQEw +# QTA/BggrBgEFBQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9E +# b2NzL1JlcG9zaXRvcnkuaHRtMBMGA1UdJQQMMAoGCCsGAQUFBwMIMBkGCSsGAQQB +# gjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/ +# MB8GA1UdIwQYMBaAFNX2VsuP6KJcYmjRPZSQW9fOmhjEMFYGA1UdHwRPME0wS6BJ +# oEeGRWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01p +# Y1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYB +# BQUHMAKGPmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljUm9v +# Q2VyQXV0XzIwMTAtMDYtMjMuY3J0MA0GCSqGSIb3DQEBCwUAA4ICAQCdVX38Kq3h +# LB9nATEkW+Geckv8qW/qXBS2Pk5HZHixBpOXPTEztTnXwnE2P9pkbHzQdTltuw8x +# 5MKP+2zRoZQYIu7pZmc6U03dmLq2HnjYNi6cqYJWAAOwBb6J6Gngugnue99qb74p +# y27YP0h1AdkY3m2CDPVtI1TkeFN1JFe53Z/zjj3G82jfZfakVqr3lbYoVSfQJL1A +# oL8ZthISEV09J+BAljis9/kpicO8F7BUhUKz/AyeixmJ5/ALaoHCgRlCGVJ1ijbC +# HcNhcy4sa3tuPywJeBTpkbKpW99Jo3QMvOyRgNI95ko+ZjtPu4b6MhrZlvSP9pEB +# 9s7GdP32THJvEKt1MMU0sHrYUP4KWN1APMdUbZ1jdEgssU5HLcEUBHG/ZPkkvnNt +# yo4JvbMBV0lUZNlz138eW0QBjloZkWsNn6Qo3GcZKCS6OEuabvshVGtqRRFHqfG3 +# rsjoiV5PndLQTHa1V1QJsWkBRH58oWFsc/4Ku+xBZj1p/cvBQUl+fpO+y/g75LcV +# v7TOPqUxUYS8vwLBgqJ7Fx0ViY1w/ue10CgaiQuPNtq6TPmb/wrpNPgkNWcr4A24 +# 5oyZ1uEi6vAnQj0llOZ0dFtq0Z4+7X6gMTN9vMvpe784cETRkPHIqzqKOghif9lw +# Y1NNje6CbaUFEMFxBmoQtB1VM1izoXBm8qGCAtYwggI/AgEBMIIBAKGB2KSB1TCB +# 0jELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1Jl +# ZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMk +# TWljcm9zb2Z0IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1U +# aGFsZXMgVFNTIEVTTjoyQUQ0LTRCOTItRkEwMTElMCMGA1UEAxMcTWljcm9zb2Z0 +# IFRpbWUtU3RhbXAgU2VydmljZaIjCgEBMAcGBSsOAwIaAxUAaKBSisy4y86pl8Xy +# 22CJZExE2vOggYMwgYCkfjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu +# Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv +# cmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDAN +# BgkqhkiG9w0BAQUFAAIFAOodPycwIhgPMjAyNDA2MTkxOTI3MzVaGA8yMDI0MDYy +# MDE5MjczNVowdjA8BgorBgEEAYRZCgQBMS4wLDAKAgUA6h0/JwIBADAJAgEAAgEE +# AgH/MAcCAQACAhE8MAoCBQDqHpCnAgEAMDYGCisGAQQBhFkKBAIxKDAmMAwGCisG +# AQQBhFkKAwKgCjAIAgEAAgMHoSChCjAIAgEAAgMBhqAwDQYJKoZIhvcNAQEFBQAD +# gYEAT/1IiJfZABO6ytIiWGxM6eaEDYT9JQ8WJghhgjWuS2Zs10IoCFwHGOj8sCmc +# hXhBcGWzIOYo9+ZnBxrrRfJdSERSUu5tGszKz3ljdkONrFFlWstPhVBLw1J6/joN +# t6zrPcbXveQ0xoNhOrx3QwBuRjVGPZkWlofMLMDGtwxF6UAxggQNMIIECQIBATCB +# kzB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH +# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQD +# Ex1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMAITMwAAAd6eSJ6WnyhEPQAB +# AAAB3jANBglghkgBZQMEAgEFAKCCAUowGgYJKoZIhvcNAQkDMQ0GCyqGSIb3DQEJ +# EAEEMC8GCSqGSIb3DQEJBDEiBCBKg7zodNPG50HL77OKF6TXINSNre7/P6rOdPyD +# t1XzrTCB+gYLKoZIhvcNAQkQAi8xgeowgecwgeQwgb0EII4+I58NwV4QEEkCf+YL +# cyCtPnD9TbPzUtgPjgdzfh17MIGYMIGApH4wfDELMAkGA1UEBhMCVVMxEzARBgNV +# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv +# c29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAg +# UENBIDIwMTACEzMAAAHenkielp8oRD0AAQAAAd4wIgQgeCTJ44pulnKfPamoq2pr +# eglS6KL1S2QH7q3nSuP5FXAwDQYJKoZIhvcNAQELBQAEggIArRsw3EM/bS1SC0mu +# nMxrsgqzV6l7O0+ObjkCa9UJWDDorz3c7WYmEIF1WUXrzieovrJ55mPVf5jUZSfm +# leXixZk4p3TMV7VdQJ+cwOBhJ27zwNTASM1QPxUbf5ltubyoWmYWCuBVrTan5Fv6 +# 6k2MHa/nLJRq6Ud+SRIVtS1VQtDgBMUrXp42LHuRBtyq6ZeyZRETsy/C0V5F2OIj +# 1t4Jw7L9lIYwqlOzKOg3oaDVGfxtoLiL3GaWG+0AEyrSP39IaGztXws54dhll8wR +# cm/d9MzPjBkgxojBSvfexK83/crCyqbcs6GmROLyYRX0xuJFd3cqYs/3Ba/i/sAM +# 73t7ITvK7GiBZ4OIuR+giCGTvrrE5fkFdwbXLTR+SfXN8d31bytq3JmOfeTRiPXX +# RCy7GJJWoNtlXfnX1OlQauPuvX2grFdPO2bVuXYYGQROtDi7FLv+iMGTd0ANz2r/ +# oPR+/tqiEXvRr9yrkBV1iphnZjZZyRYf/Yq+/a3MmKgxEiQneurmsCqo5GGoTJeT +# +7tXyR5YkVVo+tjd1L4unVU/ee/mhamtR4iZgYbdduH0emu7W8xME7FnAdUSIlyZ +# rOCWB2hi2EiMrxBD9mwvfoz2cfZuVTsYsIxYzcbyDBY1wwbl3yUDVOZTNwBFlvbR +# +nUOFECRxY18HskwWnA7/Izwz84= +# SIG # End signature block diff --git a/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.PowerShell.TeamsCmdlets.psm1 b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.PowerShell.TeamsCmdlets.psm1 new file mode 100644 index 000000000000..d6e6af387b68 --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.PowerShell.TeamsCmdlets.psm1 @@ -0,0 +1,223 @@ +if($PSEdition -ne 'Desktop') +{ + Import-Module $('{0}\netcoreapp3.1\Microsoft.Teams.PowerShell.TeamsCmdlets.dll' -f $PSScriptRoot) +} +else +{ + Import-Module $('{0}\net472\Microsoft.Teams.PowerShell.TeamsCmdlets.dll' -f $PSScriptRoot) +} +# SIG # Begin signature block +# MIIn0QYJKoZIhvcNAQcCoIInwjCCJ74CAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCCtJNoep0vYvS0u +# zCBbwqBqybUYNuPYHWudLYoWOcLIVqCCDYUwggYDMIID66ADAgECAhMzAAADri01 +# UchTj1UdAAAAAAOuMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMjMxMTE2MTkwODU5WhcNMjQxMTE0MTkwODU5WjB0MQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +# AQD0IPymNjfDEKg+YyE6SjDvJwKW1+pieqTjAY0CnOHZ1Nj5irGjNZPMlQ4HfxXG +# yAVCZcEWE4x2sZgam872R1s0+TAelOtbqFmoW4suJHAYoTHhkznNVKpscm5fZ899 +# QnReZv5WtWwbD8HAFXbPPStW2JKCqPcZ54Y6wbuWV9bKtKPImqbkMcTejTgEAj82 +# 6GQc6/Th66Koka8cUIvz59e/IP04DGrh9wkq2jIFvQ8EDegw1B4KyJTIs76+hmpV +# M5SwBZjRs3liOQrierkNVo11WuujB3kBf2CbPoP9MlOyyezqkMIbTRj4OHeKlamd +# WaSFhwHLJRIQpfc8sLwOSIBBAgMBAAGjggGCMIIBfjAfBgNVHSUEGDAWBgorBgEE +# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUhx/vdKmXhwc4WiWXbsf0I53h8T8w +# VAYDVR0RBE0wS6RJMEcxLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh +# dGlvbnMgTGltaXRlZDEWMBQGA1UEBRMNMjMwMDEyKzUwMTgzNjAfBgNVHSMEGDAW +# gBRIbmTlUAXTgqoXNzcitW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8v +# d3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIw +# MTEtMDctMDguY3JsMGEGCCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDov +# L3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDEx +# XzIwMTEtMDctMDguY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIB +# AGrJYDUS7s8o0yNprGXRXuAnRcHKxSjFmW4wclcUTYsQZkhnbMwthWM6cAYb/h2W +# 5GNKtlmj/y/CThe3y/o0EH2h+jwfU/9eJ0fK1ZO/2WD0xi777qU+a7l8KjMPdwjY +# 0tk9bYEGEZfYPRHy1AGPQVuZlG4i5ymJDsMrcIcqV8pxzsw/yk/O4y/nlOjHz4oV +# APU0br5t9tgD8E08GSDi3I6H57Ftod9w26h0MlQiOr10Xqhr5iPLS7SlQwj8HW37 +# ybqsmjQpKhmWul6xiXSNGGm36GarHy4Q1egYlxhlUnk3ZKSr3QtWIo1GGL03hT57 +# xzjL25fKiZQX/q+II8nuG5M0Qmjvl6Egltr4hZ3e3FQRzRHfLoNPq3ELpxbWdH8t +# Nuj0j/x9Crnfwbki8n57mJKI5JVWRWTSLmbTcDDLkTZlJLg9V1BIJwXGY3i2kR9i +# 5HsADL8YlW0gMWVSlKB1eiSlK6LmFi0rVH16dde+j5T/EaQtFz6qngN7d1lvO7uk +# 6rtX+MLKG4LDRsQgBTi6sIYiKntMjoYFHMPvI/OMUip5ljtLitVbkFGfagSqmbxK +# 7rJMhC8wiTzHanBg1Rrbff1niBbnFbbV4UDmYumjs1FIpFCazk6AADXxoKCo5TsO +# zSHqr9gHgGYQC2hMyX9MGLIpowYCURx3L7kUiGbOiMwaMIIHejCCBWKgAwIBAgIK +# YQ6Q0gAAAAAAAzANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNV +# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv +# c29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlm +# aWNhdGUgQXV0aG9yaXR5IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEw +# OTA5WjB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE +# BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYD +# VQQDEx9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG +# 9w0BAQEFAAOCAg8AMIICCgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+la +# UKq4BjgaBEm6f8MMHt03a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc +# 6Whe0t+bU7IKLMOv2akrrnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4D +# dato88tt8zpcoRb0RrrgOGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+ +# lD3v++MrWhAfTVYoonpy4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nk +# kDstrjNYxbc+/jLTswM9sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6 +# A4aN91/w0FK/jJSHvMAhdCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmd +# X4jiJV3TIUs+UsS1Vz8kA/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL +# 5zmhD+kjSbwYuER8ReTBw3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zd +# sGbiwZeBe+3W7UvnSSmnEyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3 +# T8HhhUSJxAlMxdSlQy90lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS +# 4NaIjAsCAwEAAaOCAe0wggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRI +# bmTlUAXTgqoXNzcitW2oynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAL +# BgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBD +# uRQFTuHqp8cx0SOJNDBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jv +# c29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf +# MDNfMjIuY3JsMF4GCCsGAQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3 +# dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf +# MDNfMjIuY3J0MIGfBgNVHSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEF +# BQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1h +# cnljcHMuaHRtMEAGCCsGAQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkA +# YwB5AF8AcwB0AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn +# 8oalmOBUeRou09h0ZyKbC5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7 +# v0epo/Np22O/IjWll11lhJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0b +# pdS1HXeUOeLpZMlEPXh6I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/ +# KmtYSWMfCWluWpiW5IP0wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvy +# CInWH8MyGOLwxS3OW560STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBp +# mLJZiWhub6e3dMNABQamASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJi +# hsMdYzaXht/a8/jyFqGaJ+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYb +# BL7fQccOKO7eZS/sl/ahXJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbS +# oqKfenoi+kiVH6v7RyOA9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sL +# gOppO6/8MO0ETI7f33VtY5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtX +# cVZOSEXAQsmbdlsKgEhr/Xmfwb1tbWrJUnMTDXpQzTGCGaIwghmeAgEBMIGVMH4x +# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt +# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01p +# Y3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTECEzMAAAOuLTVRyFOPVR0AAAAA +# A64wDQYJYIZIAWUDBAIBBQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQw +# HAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIF3F +# viB5I/Ax1ZFPXrSiQ9VfQ9tIZcCOZ+89t8Pe2ekmMEIGCisGAQQBgjcCAQwxNDAy +# oBSAEgBNAGkAYwByAG8AcwBvAGYAdKEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5j +# b20wDQYJKoZIhvcNAQEBBQAEggEA7odxB25uePtN96QYvdb3h+awtnJmset9sSxA +# 8kAbDdiGOUzOCafI8LtIT2BsvjydBIRNeH4PEqGtmNx5RmO2bOGWu35kWXdzr6oj +# cF3BwcAqhDf3S4+9TZTLKyLEathVbYiOpF3c84NjsWw+ERpvQNEkc6QY+Sl3/icV +# lyJ/L9VmiVLmsPUSaG1UlaT72i+9nmRsUjMaoaIPbfeKykS1ZcXRxMZlb98DlmLm +# LMkOMX+aF94u3Vd2fM+A0esBa5lswZGRkc5W4WFISrazi64HAYlFcEKR8jJbNMlJ +# GeS3GfUtq7I3ROyR2fBPO6F3XVWKtDBkFHLwdlk6cbSDOujEL6GCFywwghcoBgor +# BgEEAYI3AwMBMYIXGDCCFxQGCSqGSIb3DQEHAqCCFwUwghcBAgEDMQ8wDQYJYIZI +# AWUDBAIBBQAwggFZBgsqhkiG9w0BCRABBKCCAUgEggFEMIIBQAIBAQYKKwYBBAGE +# WQoDATAxMA0GCWCGSAFlAwQCAQUABCBkh/Ode1VQ1ffVNfm6ze8GIZHQ0FdWQGGA +# cJYFlNT49gIGZldeYHsYGBMyMDI0MDYxOTExMzEzMi43NjFaMASAAgH0oIHYpIHV +# MIHSMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH +# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQL +# EyRNaWNyb3NvZnQgSXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsT +# HVRoYWxlcyBUU1MgRVNOOkQwODItNEJGRC1FRUJBMSUwIwYDVQQDExxNaWNyb3Nv +# ZnQgVGltZS1TdGFtcCBTZXJ2aWNloIIRezCCBycwggUPoAMCAQICEzMAAAHcweCM +# wl9YXo4AAQAAAdwwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxEzARBgNV +# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv +# c29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAg +# UENBIDIwMTAwHhcNMjMxMDEyMTkwNzA2WhcNMjUwMTEwMTkwNzA2WjCB0jELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9z +# b2Z0IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMg +# VFNTIEVTTjpEMDgyLTRCRkQtRUVCQTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUt +# U3RhbXAgU2VydmljZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAIvI +# syA1sjg9kSKJzelrUWF5ShqYWL83amn3SE5JyIVPUC7F6qTcLphhHZ9idf21f0Ra +# GrU8EHydF8NxPMR2KVNiAtCGPJa8kV1CGvn3beGB2m2ltmqJanG71mAywrkKATYn +# iwKLPQLJ00EkXw5TSwfmJXbdgQLFlHyfA5Kg+pUsJXzqumkIvEr0DXPvptAGqkdF +# LKwo4BTlEgnvzeTfXukzX8vQtTALfVJuTUgRU7zoP/RFWt3WagahZ6UloI0FC8Xl +# BQDVDX5JeMEsx7jgJDdEnK44Y8gHuEWRDq+SG9Xo0GIOjiuTWD5uv3vlEmIAyR/7 +# rSFvcLnwAqMdqcy/iqQPMlDOcd0AbniP8ia1BQEUnfZT3UxyK9rLB/SRiKPyHDlg +# 8oWwXyiv3+bGB6dmdM61ur6nUtfDf51lPcKhK4Vo83pOE1/niWlVnEHQV9NJ5/Db +# USqW2RqTUa2O2KuvsyRGMEgjGJA12/SqrRqlvE2fiN5ZmZVtqSPWaIasx7a0GB+f +# dTw+geRn6Mo2S6+/bZEwS/0IJ5gcKGinNbfyQ1xrvWXPtXzKOfjkh75iRuXourGV +# PRqkmz5UYz+R5ybMJWj+mfcGqz2hXV8iZnCZDBrrnZivnErCMh5Flfg8496pT0ph +# jUTH2GChHIvE4SDSk2hwWP/uHB9gEs8p/9Pe/mt9AgMBAAGjggFJMIIBRTAdBgNV +# HQ4EFgQU6HPSBd0OfEX3uNWsdkSraUGe3dswHwYDVR0jBBgwFoAUn6cVXQBeYl2D +# 9OXSZacbUzUZ6XIwXwYDVR0fBFgwVjBUoFKgUIZOaHR0cDovL3d3dy5taWNyb3Nv +# ZnQuY29tL3BraW9wcy9jcmwvTWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUy +# MDIwMTAoMSkuY3JsMGwGCCsGAQUFBwEBBGAwXjBcBggrBgEFBQcwAoZQaHR0cDov +# L3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBUaW1l +# LVN0YW1wJTIwUENBJTIwMjAxMCgxKS5jcnQwDAYDVR0TAQH/BAIwADAWBgNVHSUB +# Af8EDDAKBggrBgEFBQcDCDAOBgNVHQ8BAf8EBAMCB4AwDQYJKoZIhvcNAQELBQAD +# ggIBANnrb8Ewr8eX/H1sKt3rnwTDx4AqgHbkMNQo+kUGwCINXS3y1GUcdqsK/R1g +# 6Tf7tNx1q0NpKk1JTupUJfHdExKtkuhHA+82lT7yISp/Y74dqJ03RCT4Q+8ooQXT +# MzxiewfErVLt8WefebncST0i6ypKv87pCYkxM24bbqbM/V+M5VBppCUs7R+cETiz +# /zEA1AbZL/viXtHmryA0CGd+Pt9c+adsYfm7qe5UMnS0f/YJmEEMkEqGXCzyLK+d +# h+UsFi0d4lkdcE+Zq5JNjIHesX1wztGVAtvX0DYDZdN2WZ1kk+hOMblUV/L8n1YW +# zhP/5XQnYl03AfXErn+1Eatylifzd3ChJ1xuGG76YbWgiRXnDvCiwDqvUJevVRY1 +# qy4y4vlVKaShtbdfgPyGeeJ/YcSBONOc0DNTWbjMbL50qeIEC0lHSpL2rRYNVu3h +# sHzG8n5u5CQajPwx9PzpsZIeFTNHyVF6kujI4Vo9NvO/zF8Ot44IMj4M7UX9Za4Q +# wGf5B71x57OjaX53gxT4vzoHvEBXF9qCmHRgXBLbRomJfDn60alzv7dpCVQIuQ06 +# 2nyIZKnsXxzuKFb0TjXWw6OFpG1bsjXpOo5DMHkysribxHor4Yz5dZjVyHANyKo0 +# bSrAlVeihcaG5F74SZT8FtyHAW6IgLc5w/3D+R1obDhKZ21WMIIHcTCCBVmgAwIB +# AgITMwAAABXF52ueAptJmQAAAAAAFTANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UE +# BhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAc +# BgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0 +# IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTAwHhcNMjEwOTMwMTgyMjI1 +# WhcNMzAwOTMwMTgzMjI1WjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu +# Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv +# cmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDCC +# AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAOThpkzntHIhC3miy9ckeb0O +# 1YLT/e6cBwfSqWxOdcjKNVf2AX9sSuDivbk+F2Az/1xPx2b3lVNxWuJ+Slr+uDZn +# hUYjDLWNE893MsAQGOhgfWpSg0S3po5GawcU88V29YZQ3MFEyHFcUTE3oAo4bo3t +# 1w/YJlN8OWECesSq/XJprx2rrPY2vjUmZNqYO7oaezOtgFt+jBAcnVL+tuhiJdxq +# D89d9P6OU8/W7IVWTe/dvI2k45GPsjksUZzpcGkNyjYtcI4xyDUoveO0hyTD4MmP +# frVUj9z6BVWYbWg7mka97aSueik3rMvrg0XnRm7KMtXAhjBcTyziYrLNueKNiOSW +# rAFKu75xqRdbZ2De+JKRHh09/SDPc31BmkZ1zcRfNN0Sidb9pSB9fvzZnkXftnIv +# 231fgLrbqn427DZM9ituqBJR6L8FA6PRc6ZNN3SUHDSCD/AQ8rdHGO2n6Jl8P0zb +# r17C89XYcz1DTsEzOUyOArxCaC4Q6oRRRuLRvWoYWmEBc8pnol7XKHYC4jMYcten +# IPDC+hIK12NvDMk2ZItboKaDIV1fMHSRlJTYuVD5C4lh8zYGNRiER9vcG9H9stQc +# xWv2XFJRXRLbJbqvUAV6bMURHXLvjflSxIUXk8A8FdsaN8cIFRg/eKtFtvUeh17a +# j54WcmnGrnu3tz5q4i6tAgMBAAGjggHdMIIB2TASBgkrBgEEAYI3FQEEBQIDAQAB +# MCMGCSsGAQQBgjcVAgQWBBQqp1L+ZMSavoKRPEY1Kc8Q/y8E7jAdBgNVHQ4EFgQU +# n6cVXQBeYl2D9OXSZacbUzUZ6XIwXAYDVR0gBFUwUzBRBgwrBgEEAYI3TIN9AQEw +# QTA/BggrBgEFBQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9E +# b2NzL1JlcG9zaXRvcnkuaHRtMBMGA1UdJQQMMAoGCCsGAQUFBwMIMBkGCSsGAQQB +# gjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/ +# MB8GA1UdIwQYMBaAFNX2VsuP6KJcYmjRPZSQW9fOmhjEMFYGA1UdHwRPME0wS6BJ +# oEeGRWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01p +# Y1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYB +# BQUHMAKGPmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljUm9v +# Q2VyQXV0XzIwMTAtMDYtMjMuY3J0MA0GCSqGSIb3DQEBCwUAA4ICAQCdVX38Kq3h +# LB9nATEkW+Geckv8qW/qXBS2Pk5HZHixBpOXPTEztTnXwnE2P9pkbHzQdTltuw8x +# 5MKP+2zRoZQYIu7pZmc6U03dmLq2HnjYNi6cqYJWAAOwBb6J6Gngugnue99qb74p +# y27YP0h1AdkY3m2CDPVtI1TkeFN1JFe53Z/zjj3G82jfZfakVqr3lbYoVSfQJL1A +# oL8ZthISEV09J+BAljis9/kpicO8F7BUhUKz/AyeixmJ5/ALaoHCgRlCGVJ1ijbC +# HcNhcy4sa3tuPywJeBTpkbKpW99Jo3QMvOyRgNI95ko+ZjtPu4b6MhrZlvSP9pEB +# 9s7GdP32THJvEKt1MMU0sHrYUP4KWN1APMdUbZ1jdEgssU5HLcEUBHG/ZPkkvnNt +# yo4JvbMBV0lUZNlz138eW0QBjloZkWsNn6Qo3GcZKCS6OEuabvshVGtqRRFHqfG3 +# rsjoiV5PndLQTHa1V1QJsWkBRH58oWFsc/4Ku+xBZj1p/cvBQUl+fpO+y/g75LcV +# v7TOPqUxUYS8vwLBgqJ7Fx0ViY1w/ue10CgaiQuPNtq6TPmb/wrpNPgkNWcr4A24 +# 5oyZ1uEi6vAnQj0llOZ0dFtq0Z4+7X6gMTN9vMvpe784cETRkPHIqzqKOghif9lw +# Y1NNje6CbaUFEMFxBmoQtB1VM1izoXBm8qGCAtcwggJAAgEBMIIBAKGB2KSB1TCB +# 0jELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1Jl +# ZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMk +# TWljcm9zb2Z0IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1U +# aGFsZXMgVFNTIEVTTjpEMDgyLTRCRkQtRUVCQTElMCMGA1UEAxMcTWljcm9zb2Z0 +# IFRpbWUtU3RhbXAgU2VydmljZaIjCgEBMAcGBSsOAwIaAxUAHDn/cz+3yRkIUCJf +# SbL3djnQEqaggYMwgYCkfjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu +# Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv +# cmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDAN +# BgkqhkiG9w0BAQUFAAIFAOoc4Y0wIhgPMjAyNDA2MTkxMjQ4MTNaGA8yMDI0MDYy +# MDEyNDgxM1owdzA9BgorBgEEAYRZCgQBMS8wLTAKAgUA6hzhjQIBADAKAgEAAgIC +# YwIB/zAHAgEAAgIRzzAKAgUA6h4zDQIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgor +# BgEEAYRZCgMCoAowCAIBAAIDB6EgoQowCAIBAAIDAYagMA0GCSqGSIb3DQEBBQUA +# A4GBAESEhU2BfpeIkKesjB/9zcOTJ9BX+aNANTanDbHLhRycZIq2i2KE2JlqKxKk +# /tb+HNEgW6RFjDakfR+pezt6JfuGaHP4Gi6FMUKumrA2wKGOMApR8i8MV9lPdW4t +# IRxOBDWbPiphsfPkzfwIvk9QIn1xv94x7PaifGGDMy6cQh4/MYIEDTCCBAkCAQEw +# gZMwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcT +# B1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UE +# AxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTACEzMAAAHcweCMwl9YXo4A +# AQAAAdwwDQYJYIZIAWUDBAIBBQCgggFKMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0B +# CRABBDAvBgkqhkiG9w0BCQQxIgQgQEALRewaHrwAP595jPrGKApVlczN2F4UMIUo +# 72G2M2kwgfoGCyqGSIb3DQEJEAIvMYHqMIHnMIHkMIG9BCBTpxeKatlEP4y8qZzj +# uWL0Ou0IqxELDhX2TLylxIINNzCBmDCBgKR+MHwxCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1w +# IFBDQSAyMDEwAhMzAAAB3MHgjMJfWF6OAAEAAAHcMCIEIP+iHK3bMUrYd/W/oL5y +# bqgRBKOYPsyNO3Eu9c+YERXiMA0GCSqGSIb3DQEBCwUABIICAB+fm9fX8sXVjW1e +# +MTell4rtHDIQ2HXCnBf+PQGz028ixtBTQhyqdl9BsK4Zs/Qpoj6U3vbX1UXQoYL +# fA5dlrJYABQUC48WuloWHNTw94ayh3lLpXoSUXXuS5HDYNXPnYErqvb/0R+a8CGn +# GXnCOT1QZKxv8MRAAnfad+4H3QMRjxldvMSlFjEVYPOwUCLzIy85vlfdRICowXPQ +# j1tig8fDg8by3eKvfYZk/RbUlFXUd7CEBorRWa2Qm4FblFmQOrsCEMlIBxXiFpJI +# f04zKlUxLpNX5L2ejxHBawPB6ueacWL7S+3k0CAC7o+VHAS3CdMTtD88+YFCxSJN +# p+X6llq2QqYTvfDsicbIZ5WHWFFlLC0uumbvzALqDkGHgZMd252Ndl55AIFdf/kL +# ixC+Ut1PtlZFXGJ0MnfwR6Lkw2kJb6LUEK2/4wxYUiA0ADOKtaUpKUuKYZcP8FAy +# aERBbsCW/BEz5ReHXGyAOVeWygC++SrL7vKLN4diS6iNCZfxWjxE5mMR4q+rGMf6 +# 8mnM7eYZhdWkmdZv8GZdt63GbivWzEqgIWoDym3xSG7aEBxmANtY2TiJydRG1zOl +# cOoF6f2U7XLWw3Vum6fzl2qAa1/cHhmzDMzb6VxwwJU5tptHYiTqN2Zq+cNV9F1q +# kuG5MSWho9kpIvIfAi94PRAM2LTV +# SIG # End signature block diff --git a/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.PowerShell.TeamsCmdlets.xml b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.PowerShell.TeamsCmdlets.xml new file mode 100644 index 000000000000..e650ea5543af --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/Microsoft.Teams.PowerShell.TeamsCmdlets.xml @@ -0,0 +1,2948 @@ + + + + Microsoft.Teams.PowerShell.TeamsCmdlets + + + + + Cmdlet to add user to a private channel. Role of the user can be specified for member promotion. + + + + + Default constructor necessary for cmdlet. + + + + + Constructor with an implementation of . + Creates an instance of + + + + + + The name of the cmdlet. + + + + + The AAD group id of the team. + + + + + The display name of channel. + + + + + The id or upn of the user. + + + + + The role of the user. + + + + + The tenantId of the external user. + + + + + + + + cmdlet to Add a Teams App to MS Teams. + + + + + Default constructor necessary for cmdlet. + + + + + Constructor with an implementation of . + Creates an instance of + + + + + + Name of the cmdlet. + + + + + Teams App identifier in MS Teams. + + + + + Team identifier in MS Teams. + + + + + User identifier in MS Teams. + + + + + RSC permissions for the Teams App. + + + + + Cmdlet to add user to a team. Role of the user can be specified + + + + + Default constructor necessary for cmdlet. + + + + + Constructor with an implementation of . + Creates an instance of + + + + + + Helper method which adds user to the unified group either as member (default) or as Owner. + Safe to call even if the user already exists in member or owner list for a given group. + Throws exceptions if httpClient is null, userId is (null or whitespace), when the graph api calls fail. + + Http client reference. + UserId represented as either guid or upn or emailid. + Denotes whether user should be added as Owner or not. + + + + Enum of HttpStatusCodes worth retrying when received + + + + + Determines if the returned status code is worth retring + + + + + + + JsonConverter to flatten a nested json object path into an object. + + { + "name": "Joe Doe", + "dateOfBirth": { + "month": "January", + "day": 1 + } + } + + can be serialized into the object: + + [JsonConverter(typeof(JsonPathConverter))] + class Person + { + [JsonProperty("name")] + public string Name { get; set; } + + [JsonProperty("dateOfBirth.month")] + public string DateOfBirthMonth { get; set; } + + [JsonProperty("dateOfBirth.day")] + public int DateOfBirthDay { get; set; } + } + + + + + + Deserializes the object from JSON. + + . + Type of object to deserialize into. + The existing value of the object. + Instance of . + + + + + Determines whether this instance can convert the specified object type. + + The object type that can be converted + Returns if this object can be converted by this converter. + + + + Serializes the object as JSON. + + Instance of . + The object to serialize. + Instance of . + + + + Constants for Microsoft Graph requests. + + + + + The limit imposed by Microsoft Graph for sending batch requests. + + + + + Team name character limit (from MSGraph, the limit is 64). + If alias is greater than 64 characters, we trim it to around 60 characters, so MT can append some number, if alias is already taken. + + + + + validate team alias uniqueness retry limit + + + + + team alias suffix: random number range + + + + + The installation scope of a TeamsApp. + + + + + Default installation scope. + + + + + TeamsApp installed in Team scope. + + + + + TeamsApp installed in Chat scope. + + + + + TeamsApp installed in User scope. + + + + + Channel membership type + + + + + Endpoint versions + + + + + UAM substrate endpoint version. + + + + + UAM service Admin App gesture constants. + + + + + AvailableTo gesture administered by the admin to the user(s) or group(s) for a specific app. + To make the app available to the user(s) or group(s). + + + + + DeployTo gesture administered by the admin to the user(s) or group(s) for a specific app. + To deploy the app to the specified user(s) or group(s). + + + + + Operation type that the Admin is using to perform the operation. + + + + + Add operation to add an App to user(s) or group(s) + + + + + Remove operation to remove an App from user(s) or group(s) + + + + + Available to all users. + + + + + Available to some users. + + + + + Available to no users. + + + + + API Exception + + + + + Gets or sets the error code (HTTP status code) + + The error code (HTTP status code). + + + + Gets or sets the error content (body json object) + + The error content (Http response body). + + + + The Microsoft Graph error code + + The error code from the MS Graph API call + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + HTTP status code. + Error message. + + + + Initializes a new instance of the class. + + HTTP status code. + Error message. + MSGraph error code. + + + + Initializes a new instance of the class. + + HTTP status code. + Error message. + Error content. + + + + Initializes a new instance of the class. + + + + + Deserializes the http response string to MS Graph api error root. + + Http response + MSGraphApiErrorRoot object + True if deserialization succeeds, otherwise false. + + + + Deserializes the http response string to MS Graph api error root. + + The content string + MSGraphApiErrorRoot object + True if deserialization succeeds, otherwise false. + + + + Root class for DeserializeSubstrate API Error. + + + + + Deserializes the http response string to Substrate api error root. + + Http response + SubstrateErrorRoot object + True if deserialization succeeds, otherwise false. + + + + Deserializes the http response string to Substrate api error root. + + The content string + SubstrateApiErrorRoot object + True if deserialization succeeds, otherwise false. + + + + Get the display string for the response. + + Substrate error generated. + error string for the display. + + + + Root class for MS Graph API Error. + For more information go to https://graph.microsoft.io/en-us/docs/overview/errors + + + + + InnerError class for MS Graph API Error. + For more information go to https://graph.microsoft.io/en-us/docs/overview/errors + + + + + Substrate API Error class. + + + + + Code for the error. + + + + + Message for the error. + + + + + Inner error object. + + + + + Root class for Substrate API Error. + + + + + Error object. + + + + + InnerError class for Substrate API Error. + + + + + Request ID for the error. + + + + + Date + + + + + Cmdlet to list teams where the user is direct member or + indirect member because they are part of a shared channel + that is hosted under the team. + + + + + Default constructor necessary for cmdlet. + + + + + Constructor with an implementation of . + Creates an instance of + + + + + + The name of cmdlet. + + + + + User id or email. + + + + + Process record. + + + + + Returns the userId if the input is a id else fetch userId by making graph api call. + + + + + Cmdlet to get Teams usage report for users in a tenant, particularly messages sent per user, as well as a check on + whether each user has the appropriate DLP license SKU. + + + + + Default constructor necessary for cmdlet. + + + + + Constructor with an implementation of . + Creates an instance of + + + + + + Name of the cmdlet. + + + + + Indicates the period over which this usage report is generated. + + + + + Fetches user license details given the available Teams usage data for the users in a tenant. + + The Teams user activity details. + The http client. + The user license details for the users. + A collection of error strings if any calls to get license details fails. + + + + Fetches the user license details for a batch of users (max 20 due to Graph $batch limits). + + The HTTP client. + The batch of Teams user activity details for which the UPN is extracted to retrieve license details. + A dictionary of licenses mapping UPN to license details. + A collection of error strings containing error messages if any individual call within the $batch call fails. + + + + Given the Teams user activity details, AAD user details, and a mapping from UPN to license details, generates a collection of DlpUserLicenseReports. + + The Teams user activity details. + The AAD user details for the tenant. + The user UPN to license details dictionary. + A collection of DlpUserLicenseReports. + + + + Default constructor necessary for cmdlet. + + + + + Represents a cmdlet to list teams with which specified channel is shared. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with an implementation of . + + The http client factory. + + + + The name of the cmdlet. + + + + + The AAD group id of the host team. + + + + + The thread id of the channel. + + + + + The AAD group id of the shared with team. + + + + + + + + Represents a cmdlet to list users of a shared with team. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with an implementation of . + + The http client factory. + + + + The name of the cmdlet. + + + + + The AAD group id of the host team. + + + + + The thread id of the channel. + + + + + The AAD group id of the shared with team. + + + + + The role of the users. + + + + + + + + Default constructor necessary for cmdlet. + + + + + Constructor with an implementation of . + Creates an instance of + + + + + + Takes in the groups, divides the groups by batch size and sends the batch to be processed in parallel + If GetNextTeamBatch returns False for shouldContinue, then stop processing + + Current batch number to process + List of groups to process + List of team data; List of error messages + + + + Retrieves team properties using Graph Batch API. + + List of groups to process + List of team data + List of error messages from trying to get team data + + + + Represents a cmdlet to list all channels of a team, including incoming channels and channels hosted by the team. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with an implementation of . + + The http client factory. + + + + The name of the cmdlet. + + + + + The AAD group id of the team. + + + + + The membership type of the channels. + + + + + + + + Default constructor necessary for cmdlet. + + + + + Constructor with an implementation of . + Creates an instance of + + + + + + Represents a cmdlet to list users of a channel. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with an implementation of . + + The http client factory. + + + + The name of the cmdlet. + + + + + The AAD group id of the team. + + + + + The display name. + + + + + The role of the users. + + + + + + + + Represents a cmdlet to list incoming channels of a team. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with an implementation of . + + The http client factory. + + + + The name of the cmdlet. + + + + + The AAD group id of the team. + + + + + + + + Default constructor necessary for cmdlet. + + + + + Constructor with an implementation of . + Creates an instance of + + + + + + cmdlet to get a Teams App installed in MS Teams. + + + + + Default constructor necessary for cmdlet. + + + + + Constructor with an implementation of . + Creates an instance of + + + + + + Name of the cmdlet. + + + + + Team identifier in MS Teams. + + + + + User identifier in MS Teams. + + + + + Installation identifier of the Teams App. + + + + + Teams App identifier in MS Teams. + + + + + Default constructor necessary for cmdlet. + + + + + Constructor with an implementation of . + Creates an instance of + + + + + + Default constructor necessary for cmdlet. + + + + + Constructor with an implementation of . + Creates an instance of + + + + + + Get the Unified App from UAM service. + + + + + Default Constructor + + + + + Constructor with an implementation of . + Creates an instance of + + + + + + The Id of the app to get. + + + + + Gets all unified apps from UAM service. + + + + + Default Constructor + + + + + Constructor with an implementation of . + Creates an instance of + + + + + + Gets or sets a value indicating whether [account enabled]. + + + + + Description for the user + + + + + Gets or sets the display name. + + + + + Gets or sets the email. + + + + + Gets or sets the name of the given. + + + + + Gets or sets the mail. + + + + + User Mri - used for skype requests + + + + + Gets or sets the object identifier. + + + + + Gets or sets the type of the object. + + + + + Gets or sets the surname. + + + + + Gets or sets the telephone number. + + + + + Gets or sets the type. + + + + + Gets or sets the name of the user principal. + + + + + Gets or sets the preferred language of the user. + + + + + The response from the Batch request + + + + + Represents MS Graph channel source. + https://docs.microsoft.com/en-us/graph/api/resources/channel?view=graph-rest-beta + + + + + The odata id. + + + + + Channel id + + + + + Channel display name + + + + + Channel description + + + + + Channel membership type + + + + + The tenant id. + + + + + Represents channel enhanced info used to model cmdlet response. + + + + + Initializes a new instance of the ChannelEnhancedInfo class. + + + + + Initializes a new instance of the ChannelEnhancedInfo class with an object of Channel class. + + The graph channel object used to initialize the instance. + + + + The thread id of the channel. + + + + + The display name of the channel. + + + + + The description of the channel. + + + + + The membership type of the channel. + + + + + The id of the host team. + + + + + The tenant id. + + + + + Represents channel basic info used to model cmdlet response. + + + + + Initializes a new instance of the ChannelInfo class. + + + + + Initializes a new instance of the ChannelInfo class with an object of Channel class. + + The graph channel object used to initialize the instance. + + + + The thread id of the channel. + + + + + The display name of the channel. + + + + + The description of the channel. + + + + + The membership type of the channel. + + + + + Class representing the Dlp User License report for a Teams user. + + + + + Gets or sets the UPN of the user for this report. + + + + + Gets or sets the display name of the user. + + + + + Gets or sets the number of messages sent by the user. + + + + + Gets or sets a boolean string describing whether or not a user is licensed by a Microsoft DLP license plan. + + + + + EnityType + + + + + Team giphy rating setting + + + + + Represents a model of conversation member. + + + + + Initializes a new instance of the GraphAadUserConversationMember class. + + + + + Member object id + + + + + Member UPN + + + + + Member Id (composite id generated from channel id and user id) + + + + + Member roles + + + + + Member display name. + + + + + Member email. + + + + + The tenant id. + + + + + Gets role of the conversation member. + + The role of the member. + + + + Group id. MSGraph version "v1.0"/ "beta" uses this property name. + Please use GetId() method when seeking group ids + + + + + Group id. MSGraph version "edu" uses this property name. + Please use GetId() method when seeking group ids + + + + + Display Name + + + + + Group Description + + + + + Group Types + + + + + Group classification + + + + + Mail Enabled + + + + + Group Mail Nickname + + + + + Security Enabled + + + + + Members + + + + + Members + + + + + Group Visiblilty + + + + + creation Options + + + + + Education Object Type + + + + + Get Group Id + MSGraph version "v1.0" uses "Id" property name. + MSGraph version "edu" uses "ObjectId" property name. + Please use GetId() method when seeking group ids + + Returns group id + + + + Represents a model of user info. + + + + + The id of AAD user. + + + + + The upn of user. + + + + + Abstract definition which registers a and corresponding dictionary for use when serializing/deserializing an object. + + + + + Gets or sets the dynamic properties populated during JSON serialization/deserialization. + + + + + MS Graph License Details object. + https://docs.microsoft.com/en-us/graph/api/resources/licensedetails?view=graph-rest-1.0 + + + + + Unique identifier for the license detail object. + + + + + Information about the service plans assigned with the license. + + + + + Unique identifier (GUID) for the service SKU. + + + + + Unique SKU display name. + + + + + Represents a response to a Microsoft Graph API that returns a collection. + + Type of items. + + + + Gets or sets the value of the collection. + + + + + Response received which support paging + + The type of item the collection contains. + + + + Check if Objects count exceed team members limit or not + + Team Members Limit + True if exceeded or False + + + + Contains information about a service plan associated with a subscribed SKU. + + + + + The unique identifier of the service plan. + + + + + The name of the service plan. + + + + + The provisioning status of the service plan. + + + + + Enum describing the provisioning status of a service plan. + + + + + Represents a model of shared with team info. + + + + + The AAD group id of the team. + + + + + The name of the team. + + + + + The tenant id. + + + + + Indicates whether the team is the host of the channel. + + + + + Id of the request + + + + + Http Method used for the request + + + + + Uri used for the request + + + + + Id of the response, maps to the id of the request + + + + + Http Status Code of the request + + + + + Body of the response which contains the License details object or an Error bject + + + + + The body can either be a LicenseDetails model or an Error model + + + + + Body of the response which contains the Team object + + + + + Id of the response, maps to the id of the request + + + + + Http Status Code of the request + + + + + Body of the response which contains the License details object or an Error bject + + + + + + Body of the response which contains the Team object + + + + + Id of the response, maps to the id of the request + + + + + Http Status Code + + + + + Body of the response which contains the Team object or an Error bject + + + + + The body can either be a Team model or an Error model + + + + + Body of the response which contains the Team object + + + + + Code of the error, NOT Http status code + + + + + Code of the error, NOT Http status code + + + + + Team Id + + + + + Internal Id + + + + + Display Name + + + + + Group Description + + + + + Group Visibility + + + + + Group MailNickName + + + + + Group Classification + + + + + Archived + + + + + Team Member settings + For example: Can user create/update channels? etc. + + + + + Team guest settings + For example: Can guest create/update channels? etc. + + + + + Team Messaging settings + For example: Can user edit/delete messages? etc. + + + + + Team fun settings + For example: Can user post giphy etc. + + + + + Team discovery settings + For example: If team visible in search results/suggestions in Teams client + + + + + Team settings which determine team's discoverability. + + + + + Represents a team with basic information. + + + + + Team Id + + + + + Display Name + + + + + Tenant Id. + + + + + App data returned by Graph API + + + + + The app's internal, generated app ID (different from the external ID) + + + + + The display name of the app + + + + + The method by which the app is distributed + Although this is an Enum in Middle Tier, marking this as a string here + so that Json deserialization doesn't break if we add a new Enum value to MT + without making a code change in these cmdlets + + + + + MS Graph TeamsAppInstallation Object + + + + + The TeamsAppInstallationId + + + + + A unique id (not the teams appid). + + + + + The id from the Teams App manifest. + + + + + The name of the app provided by the app developer. + + + + + The version number of the application. + + + + + Gets or sets the operation id that uniquely identifies a specific instance of the async operation. + + + + + Gets or sets the type of async operation. + + + + + Gets or sets the latest status of the async operation. + + + + + Gets or sets the UTC time when the async operation was created. + + + + + Gets or sets the UTC time when the async operation was last updated. + + + + + Gets or sets the number of times the operation was attempted before being marked suceeded/failed. + + + + + Gets or sets the target resource id. + + + + + Gets or sets the target resource location. + + + + + Invalid value. + + + + + Operation to clone a team. + + + + + Operation to archive a team. + + + + + Operation to unarchive a team. + + + + + Operation to create a team. + + + + + Operation to teamify an existing group. + + + + + Operation to create a channel. + + + + + Invalid value. + + + + + Indicates that the operation has not started. + + + + + Indicates that the operation in running. + + + + + Indicates that the operation has succeeded. + + + + + Indicates that the operation has failed. + + + + + Team Id + + + + + Internal Id + + + + + Display Name + + + + + Description + + + + + Visibility + + + + + MailNickName + + + + + Classification + + + + + Archived + + + + + App data returned by Graph API + + + + + The external ID provided by the app developer + + + + + A report that details the activity of a particular user on Teams. + + + + + The user principal name of the user. + + + + + The number of messages the user sent to team/channel threads. + + + + + The number of messages the user sent to private chats. + + + + + Template + + + + + Unified App response! + + + + + Gets or sets the app id for the Enhanced teams app or Teams app. + + + + + Gets or Sets the app blocked state. + if true then the app is blocked.If false then the app is unblocked. + Denotes whether the app is blocked by the administrator. + + + + + Gets or sets the app Available to data. + + + + + available To data for the pscmdlet response. + + + + + available To data for the unified app response. + + + + + Gets or sets the list of user assignment for available data. + + + + + Gets or sets the list of group assignment for available data. + + + + + Last updated timestamp + + + + + UserId of the assigner + + + + + Group or user assignment id with assignment details + + + + + Group or User Id + + + + + Last updated timestamp + + + + + UserId of the assigner + + + + + Class for GetUnifiedAppsResponse. + + + + + Gets or sets the app id for the Enhanced teams app or Teams app. + + + + + Gets or Sets the app blocked state. + if true then the app is blocked.If false then the app is unblocked. + Denotes whether the app is blocked by the administrator. + + + + + Gets or sets the app Available to data. + + + + + AvailableTo details for the unified app. + + + + + available To data for the unified app response. + + + + + Last updated timestamp + + + + + UserId of the assigner + + + + + Unified App Update Request Body + + + + + Gets or sets app ID for the m365 App / unified app. + + + + + Gets or Sets the app blocked state. + if true then the app is blocked.If false then the app is unblocked. + Denotes whether the app is blocked by the administrator. + + + + + Gets or sets the available to information of the app. + + + + + Gets or sets the deploy to information of the app. + + + + + Gets or Sets the type of availability Information none | some | all. + + + + + Gets or sets List of user guid for available data. + + + + + Gets or sets List of group guid for available data. + + + + + Gets or Sets the operation add | remove. + + + + + Gets or Sets the type of deployTo Information none | some | all. + + + + + Gets or sets List of user guid for available data. + + + + + Gets or sets List of group guid for available data. + + + + + Gets or Sets the operation add | remove. + + + + + Represents a model of user enhanced info. + + + + + Initializes a new instance of the UserEnhancedInfo class. + + + + + Initializes a new instance of the UserEnhancedInfo class with an object of GraphAadUserConversationMember class. + + + + + + The id of AAD user. + + + + + The upn of user. + + + + + The display name of the user. + + + + + The role of the user. + + + + + The tenant id of the user. + + + + + Represents a model of user info. + + + + + Initializes a new instance of the UserInfo class. + + + + + Initializes a new instance of the UserInfo class with an object of GraphAadUserConversationMember class. + + + + + + The id of AAD user. + + + + + The upn of user. + + + + + The display name of the user. + + + + + The role of the user. + + + + + Default constructor necessary for cmdlet. + + + + + Constructor with an implementation of . + Creates an instance of + + + + + + Max number of attempts check if group is available for team creation + + + + + Max number of attempts to try creating a team. + + + + + Sleep time to check for group availability in milliseconds + + + + + Sleep time in milliseconds. + + + + + Set group properties based on template value. + + + + Group + + + + Create new unified group + + + New created group + + + + Provision team portion of an unified group. + + http client + Unified group id + If successful, return created Team object, else return null + + + + Generates unique team alias + 1. Generate valid alias base on DisplayName + 2. Check if the alias exists in MsGraph, if exists, check "originalAlias"+"3 digits random numbers" as alias again, this logic up to 3 times + + http client + Team alias + Unique Alias + + + + Validate that the group is available before trying to create a team. + Tries to validate up to and waits + inbetween validation attempts. + + + Group Id to validate. + True if group with corresponding groupId is available, else false. + + + + Handles scenario when group is created but not yet ready or when team creation fails + + + + + + + Default constructor necessary for cmdlet. + + + + + Constructor with an implementation of . + Creates an instance of + + + + + + Support specifying owner during channel creation + + + + + Default constructor necessary for cmdlet. + + + + + Constructor with an implementation of . + Creates an instance of + + + + + + Represents a cmdlet to unshare a channel with a team. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with an implementation of . + + The http client factory. + + + + The name of the cmdlet. + + + + + The aad group id of the host team. + + + + + The thread id of the shared channel. + + + + + The aad group id of the shared with team. + + + + + + + + Default constructor necessary for cmdlet. + + + + + Constructor with an implementation of . + + + + + + Default constructor necessary for cmdlet. + + + + + Constructor with an implementation of . + Creates an instance of + + + + + + Cmdlet to remove user from a private channel. Role of the user can be specified for member demotion. + + + + + Default constructor necessary for cmdlet. + + + + + Constructor with an implementation of . + Creates an instance of + + + + + + The name of the cmdlet. + + + + + The AAD group id of the team. + + + + + The display name of channel. + + + + + The id or upn of the user. + + + + + The role of the user. + + + + + + + + Default constructor necessary for cmdlet. + + + + + Constructor with an implementation of . + Creates an instance of + + + + + + cmdlet to remove a Teams App from MS Teams. + + + + + Default constructor necessary for cmdlet. + + + + + Constructor with an implementation of . + Creates an instance of + + + + + + Name of the cmdlet. + + + + + Installation identifier of the Teams App. + + + + + Teams App identifier in MS Teams. + + + + + Team identifier in MS Teams. + + + + + User identifier in MS Teams. + + + + + Default constructor necessary for cmdlet. + + + + + Constructor with an implementation of . + Creates an instance of + + + + + + Cmdlet to add user to a team. Role of the user can be specified + + + + + Default constructor necessary for cmdlet. + + + + + Constructor with an implementation of . + Creates an instance of + + + + + + Default constructor necessary for cmdlet. + + + + + Constructor with an implementation of . + Creates an instance of + + + + + + Default constructor necessary for cmdlet. + + + + + Constructor with an implementation of . + Creates an instance of + + + + + + The groupid to be archived. + + + + + If true, archive team (API above). If false, unarchive team. + + + + + Optional parameter. Used with Archived == $true. + This optional parameter defines whether to set permissions for team members to read-only on the Sharepoint Online site associated with the team. + See the following API docs for shouldSetSpoSiteReadOnlyForMembers + https://docs.microsoft.com/en-us/graph/api/team-archive?view=graph-rest-beta + https://docs.microsoft.com/en-us/graph/api/team-archive?view=graph-rest-1.0 + + + + + Default constructor necessary for cmdlet. + + + + + Constructor with an implementation of . + Creates an instance of + + + + + + Channel model without membershiptype as the property is not supported on Graph patch endpoint + + + + + Default constructor necessary for cmdlet. + + + + + Constructor with an implementation of . + Creates an instance of + + + + + + Default constructor necessary for cmdlet. + + + + + Constructor with an implementation of . + Creates an instance of + + + + + + Default constructor necessary for cmdlet. + + + + + Constructor with an implementation of . + Creates an instance of + + + + + + Base class for all teams cmdlet which need AUTH. + + + + + Used to detect system interrupts + + + + + Check whether user is authenticated or not. + + + + + Signal for when the user sends a cancel interrupt (ctrl + c) + + + + + + + cmdlet to update a Teams App in MS Teams. + + + + + Default constructor necessary for cmdlet. + + + + + Constructor with an implementation of . + Creates an instance of + + + + + + Name of the cmdlet. + + + + + Installation identifier of the Teams App. + + + + + Teams App identifier in MS Teams. + + + + + Team identifier in MS Teams. + + + + + User identifier in MS Teams. + + + + + RSC permissions for the Teams App. + + + + + Update unified app in the UAMService cmdlet + + + + + Default Constructor + + + + + Constructor with an implementation of . + Updates an instance of + + + + + + Cmdlet Name. + + + + + Id of the Unified App required. + + + + + IsBlocked flag for the Unified App. + + + + + AppAssignmentType for the Unified App. + This can be 'UsersAndGroups', 'Everyone' or 'Noone'. + + + + + Gesture for the Unified App. This Param is not exposed to the user/client. And it is set to the default value. + Currently the default value is 'availableTo' because 'DeployTo' is not supported in this phase." + + + + + OperationType for the Unified App. + This is either 'Add' or 'Remove' and it represents the operation to be performed on the Users or Groups. + It is a required parameter. + + + + + Users to be added or removed from the Unified App. + If not provided the default value is null. + + + + + Groups to be added or removed from the Unified App. + If not provided the default value is null. + + + + + Create and validate the UnifiedAppUpdateRequestBody + + + + + + + The utilities of graph APIs. + + + + + Return the current user user id. + + http client + graph resource + AAD user id + + + + Given a user UPN or email Id, return user Id. + + http client + user's upn + graph resource + AAD user id + + + + Given a list of userIds, get the dictionary of userId - upn. + + httpClient + list of userIds + graph resource + dictionary of userId - upn + + + + GET all AAD members of a channel. + + http client + graph resource + AAD group id + Channel object + list of AAD members + + + + Maximum number of retries for each http call under special conditions (ex. Service Unavailable) + + + + + JSON Serializer settings. + + + + + Send a GET request to the specified Uri. + + Return type + The Uri the request is sent to. + Returns resource as specified type T + + + + Send a GET request to the specified Uri with headers + + Return type + The Uri the request is sent to. + Custom headers sent with the request. + Returns resource. + + + + GET all entities from Graph + + Return type + The Uri the request is sent to. + List of resources. + + + + Send a POST request to the specified Uri + + Input type + http client + The Uri the request is sent to. + Resource to post + Returns created resource. + + + + Special POST for APIs that return async operation ids via Location header. + + http client + The Uri the request is sent to. + Resource to post + Returns created resource. + + + + Special POST for batch requests. Takes in a GraphBatchRequest and returns a BatchResponse. The response will have an id which maps to the id in the request + + + + + + + + + Send a PUT request to the specified Uri + + Input type + http client + The Uri the request is sent to. + Resource to update + Returns updated resource. + + + + Send a PATCH request to the specified Uri + + Input type + http client + The Uri the request is sent to. + Resource to update + + + + Send a patch request to the UAM service for updating an app. + + Body type + http client + The uri the request is sent to + App to update + + + + + Send a DELETE request to the specified Uri + + Input type + http client + The Uri the request is sent to. + + + + Send a async GET request to the specified Uri. + + + + + + + + + + Send a GET request to the specified Uri with headers + + Return type + http client + The Uri the request is sent to. + Custom headers sent with the request. + Function for refreshing authorization token when we get a 401. + Returns resource. + + + + Sends requests and handles retries, backoff and wait-after time spans + Will only retry if the status code returned is worth retrying + If header has retry-after then wait for the timespan specified + Else uses a decorrelated jitter exponential backoff strategry, useful for multithreaded applications + Creates a new HttpRequestMessage for every request since it cannot be reused with the same HttpClient + + + + + + + + + + + Function for creating HttpRequestMessages + + + + + + + + + + The maximum number of users that can get returned per page in the GET /users API. + + + + + The maximum number of Teams user activity details that can get returned per page in the GET /getTeamsUserActivityUserDetail API. + + + + + The valid report periods for the Teams usage report API. + https://docs.microsoft.com/en-us/graph/api/reportroot-getteamsuseractivityuserdetail?view=graph-rest-beta + + + + + Validates and returns the scope and the scope identifier based on the identifier arguments provided. + + Instance of . + Team Id in MS Teams. + Chat Id in MS Teams. + User Id in MS Teams. + scope and scope identifier. + + + + Fetches the TeamsAppInstallation for a given scope, scopeIdentifier and appId. + + Instance of . + . + Base MS Graph URL. + Scope of the app installation . + Identifier of the scope where the app is installed. + Installation identifier of the Teams App. + The corresponding Teams App installed. + + + + Creates the base url for Teams App lifecycle management. + + Instance of . + The MS Graph base url. + Scope of the app installation . + Identifier of the scope where the app is installed. + The url for Teams App lifecycle management + + + + Fetches the license details for a number of users. + + Instance of . + . + Base MS Graph URL. + The unique IDs or UPNs of the users for which to retrieve license details. + A dictionary representing the license details for a number of users, mapping the UPN to the license details. + A list of error messages from the batch request. + + + + Fetches the details of all users in the tenant. + + Instance of . + . + Base MS Graph URL. + The details about all users in the tenant. + + + + Fetches the Teams user activity details for all users in a tenant. + + Instance of . + . + Base MS Graph URL. + The period for which we want to fetch teh user activity details. + The Teams user activity details for all users in a tenant. + + + + ParameterSet name for resource management in Team scope + + + + + ParameterSet name for resource management in User scope + + + + + Default team alias used when the input alias contains invalid characters + + + + + Team alias suffix length + For example: Team alias is "msteams_d010ac", suffix will be "_"+"d010ac" + + + + + Allowed set of characters in team alias + + + + + Generates valid team alias + This function will be used for generate original alias base on displayName + 1. Only Keeps allowed characters and alias can't exceeds + 2. If genenrated alias in step 1 don't contain alphanumeric characters, MT generate a new alias + + Team alias + Prefix/Suffix Length + If use default alias which starts with "DefaultTeamAlias" + Valid team alias + + + + Generates (0-9, a-f) alias suffix base on Guid + + Valid team alias + + + + Generates unique team alias + This function will be used for generate new alias base on orginal alias if the original alias duplicated + The new alias length must less than alias.Length + suffix.Length + + Team alias + Team alias suffix + Office365 mailNickname Prefix/Suffix Length + Valid team alias + + + + Keeps allowed characters and removes the not allowed ones. + + Input string + Allowed character set + Input string with only the allowed characters + + + + Represents some utilities for user objects. + + + + + Gets the list of UserInfo objects to output. + + The list of graph aad users. + Http client. + Graph resource. + The specified role of users. + The type used to create objects. + The list of objects which implement IUserInfo. + + + + diff --git a/Modules/MicrosoftTeams/6.4.0/MicrosoftTeams.psd1 b/Modules/MicrosoftTeams/6.4.0/MicrosoftTeams.psd1 new file mode 100644 index 000000000000..2a4f48344ba5 --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/MicrosoftTeams.psd1 @@ -0,0 +1,975 @@ +# +# Module manifest for module 'MicrosoftTeams' +# +# Generated by: Microsoft Corporation +# +# Updated on: 6/30/2020 +# + +@{ +# Script module or binary module file associated with this manifest. +RootModule = './MicrosoftTeams.psm1' + +# Version number of this module. +ModuleVersion = '6.4.0' + +# Supported PSEditions +CompatiblePSEditions = 'Core', 'Desktop' + +# ID used to uniquely identify this module +GUID = 'd910df43-3ca6-4c9c-a2e3-e9f45a8e2ad9' + +# Author of this module +Author = 'Microsoft Corporation' + +# Company or vendor of this module +CompanyName = 'Microsoft Corporation' + +# Copyright statement for this module +Copyright = 'Microsoft Corporation. All rights reserved.' + +# Description of the functionality provided by this module +Description = 'Microsoft Teams cmdlets module for Windows PowerShell and PowerShell Core. + +For more information, please visit the following: https://docs.microsoft.com/MicrosoftTeams/teams-powershell-overview' + +# Minimum version of the Windows PowerShell engine required by this module +PowerShellVersion = '5.1' + +# Name of the Windows PowerShell host required by this module +# PowerShellHostName = '' + +# Minimum version of the Windows PowerShell host required by this module +# PowerShellHostVersion = '' + +# Minimum version of Microsoft .NET Framework required by this module. This prerequisite is valid for the PowerShell Desktop edition only. +DotNetFrameworkVersion = '4.7.2' + +# Minimum version of the common language runtime (CLR) required by this module. This prerequisite is valid for the PowerShell Desktop edition only. +CLRVersion = '4.0' + +# Processor architecture (None, X86, Amd64) required by this module +# ProcessorArchitecture = 'Amd64' + +# Modules that must be imported into the global environment prior to importing this module +# RequiredModules = @() + +# Assemblies that must be loaded prior to importing this module +# RequiredAssemblies = @() + +# Script files (.ps1) that are run in the caller's environment prior to importing this module. +# Removed this script from here because this module is used in SAW machines as well where Contraint Language Mode is on. +# Because of CLM constraint we were not able to import Teams module to SAW machines, that is why removing this script. +# ScriptsToProcess = @() + +# Type files (.ps1xml) to be loaded when importing this module +# TypesToProcess = @() + +# Format files (.ps1xml) to be loaded when importing this module +FormatsToProcess = @() + +# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess +#NestedModules = @() + +# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export. +FunctionsToExport = @( + 'Clear-CsOnlineTelephoneNumberOrder' + ,'Complete-CsOnlineTelephoneNumberOrder' + ,'Disable-CsOnlineSipDomain' +#preview ,'Disable-CsTeamsShiftsConnectionErrorReport' + ,'Enable-CsOnlineSipDomain' + ,'Export-CsAutoAttendantHolidays' + ,'Export-CsOnlineAudioFile' + ,'Find-CsGroup' + ,'Find-CsOnlineApplicationInstance' + ,'Get-CsApplicationAccessPolicy' + ,'Get-CsApplicationMeetingConfiguration' + ,'Get-CsAutoAttendant' + ,'Get-CsAutoAttendantHolidays' + ,'Get-CsAutoAttendantStatus' + ,'Get-CsAutoAttendantSupportedLanguage' + ,'Get-CsAutoAttendantSupportedTimeZone' + ,'Get-CsAutoAttendantTenantInformation' + ,'Get-CsBatchPolicyAssignmentOperation' + ,'Get-CsCallingLineIdentity' + ,'Get-CsCallQueue' + ,'Get-CsCloudCallDataConnection' + ,'Get-CsDialPlan' + ,'Get-CsEffectiveTenantDialPlan' + ,'Get-CsGroupPolicyAssignment' + ,'Get-CsHybridTelephoneNumber' + ,'Get-CsInboundBlockedNumberPattern' + ,'Get-CsInboundExemptNumberPattern' + ,'Get-CsMeetingMigrationStatus' + ,'Get-CsOnlineApplicationInstance' + ,'Get-CsOnlineApplicationInstanceAssociation' + ,'Get-CsOnlineApplicationInstanceAssociationStatus' + ,'Get-CsOnlineAudioConferencingRoutingPolicy' + ,'Get-CsOnlineAudioFile' + ,'Get-CsOnlineDialInConferencingBridge' + ,'Get-CsOnlineDialInConferencingLanguagesSupported' + ,'Get-CsOnlineDialinConferencingPolicy' + ,'Get-CsOnlineDialInConferencingServiceNumber' + ,'Get-CsOnlineDialinConferencingTenantConfiguration' + ,'Get-CsOnlineDialInConferencingTenantSettings' + ,'Get-CsOnlineDialInConferencingUser' + ,'Get-CsOnlineDialOutPolicy' + ,'Get-CsOnlineDirectoryTenant' + ,'Get-CsOnlineEnhancedEmergencyServiceDisclaimer' + ,'Get-CsOnlineLisCivicAddress' + ,'Get-CsOnlineLisLocation' + ,'Get-CsOnlineLisPort' + ,'Get-CsOnlineLisSubnet' + ,'Get-CsOnlineLisSwitch' + ,'Get-CsOnlineLisWirelessAccessPoint' + ,'Get-CsOnlinePowerShellEndpoint' + ,'Get-CsOnlinePSTNGateway' + ,'Get-CsOnlinePstnUsage' + ,'Get-CsOnlineSchedule' + ,'Get-CsOnlineSipDomain' + ,'Get-CsOnlineTelephoneNumber' + ,'Get-CsOnlineTelephoneNumberCountry' + ,'Get-CsOnlineTelephoneNumberOrder' + ,'Get-CsOnlineTelephoneNumberType' + ,'Get-CsOnlineUser' + ,'Get-CsOnlineVoicemailUserSettings' + ,'Get-CsOnlineVoiceRoute' + ,'Get-CsOnlineVoiceRoutingPolicy' + ,'Get-CsOnlineVoiceUser' + ,'Get-CsPhoneNumberAssignment' + ,'Get-CsPolicyPackage' + ,'Get-CsPrivacyConfiguration' + ,'Get-CsSdgBulkSignInRequestStatus' + ,'Get-CsSDGBulkSignInRequestsSummary' + ,'Get-CsTeamsAcsFederationConfiguration' + ,'Get-CsTeamsAudioConferencingPolicy' + ,'Get-CsTeamsCallParkPolicy' + ,'Get-CsTeamsClientConfiguration' + ,'Get-CsTeamsCortanaPolicy' + ,'Get-CsTeamsEducationAssignmentsAppPolicy' + ,'Get-CsTeamsEmergencyCallRoutingPolicy' + ,'Get-CsTeamsEnhancedEncryptionPolicy' + ,'Get-CsTeamsGuestCallingConfiguration' + ,'Get-CsTeamsGuestMeetingConfiguration' + ,'Get-CsTeamsGuestMessagingConfiguration' + ,'Get-CsTeamsIPPhonePolicy' + ,'Get-CsTeamsMediaLoggingPolicy' + ,'Get-CsTeamsMeetingBroadcastConfiguration' + ,'Get-CsTeamsMeetingBroadcastPolicy' + ,'Get-CsTeamsMigrationConfiguration' + ,'Get-CsTeamsMobilityPolicy' + ,'Get-CsTeamsNetworkRoamingPolicy' + ,'Get-CsTeamsNotificationAndFeedsPolicy' + ,'Get-CsTeamsRoomVideoTeleConferencingPolicy' + ,'Get-CsTeamsSettingsCustomApp' + ,'Get-CsTeamsShiftsAppPolicy' + ,'Get-CsTeamsShiftsConnectionConnector' + ,'Get-CsTeamsShiftsConnectionErrorReport' + ,'Get-CsTeamsShiftsConnection' + ,'Get-CsTeamsShiftsConnectionInstance' + ,'Get-CsTeamsShiftsConnectionOperation' + ,'Get-CsTeamsShiftsConnectionSyncResult' + ,'Get-CsTeamsShiftsConnectionTeamMap' + ,'Get-CsTeamsShiftsConnectionWfmTeam' + ,'Get-CsTeamsShiftsConnectionWfmUser' + ,'Get-CsTeamsSurvivableBranchAppliance' + ,'Get-CsTeamsSurvivableBranchAppliancePolicy' + ,'Get-CsTeamsTargetingPolicy' + ,'Get-CsTeamsTranslationRule' + ,'Get-CsTeamsUnassignedNumberTreatment' + ,'Get-CsTeamsUpgradePolicy' + ,'Get-CsTeamsVdiPolicy' + ,'Get-CsTeamsVideoInteropServicePolicy' + ,'Get-CsTeamsWorkLoadPolicy' + ,'Get-CsTeamTemplate' + ,'Get-CsTeamTemplateList' + ,'Get-CsTenant' + ,'Get-CsTenantBlockedCallingNumbers' + ,'Get-CsTenantDialPlan' + ,'Get-CsTenantFederationConfiguration' + ,'Get-CsTenantLicensingConfiguration' + ,'Get-CsTenantMigrationConfiguration' + ,'Get-CsTenantNetworkConfiguration' + ,'Get-CsTenantNetworkRegion' + ,'Get-CsTenantNetworkSubnet' + ,'Get-CsTenantTrustedIPAddress' + ,'Get-CsUserCallingSettings' + ,'Get-CsUserPolicyAssignment' + ,'Get-CsUserPolicyPackage' + ,'Get-CsUserPolicyPackageRecommendation' + ,'Get-CsVideoInteropServiceProvider' + ,'Grant-CsApplicationAccessPolicy' + ,'Grant-CsCallingLineIdentity' + ,'Grant-CsDialoutPolicy' + ,'Grant-CsGroupPolicyPackageAssignment' + ,'Grant-CsOnlineAudioConferencingRoutingPolicy' + ,'Grant-CsOnlineVoicemailPolicy' + ,'Grant-CsOnlineVoiceRoutingPolicy' + ,'Grant-CsTeamsAudioConferencingPolicy' + ,'Grant-CsTeamsCallHoldPolicy' + ,'Grant-CsTeamsCallParkPolicy' + ,'Grant-CsTeamsChannelsPolicy' + ,'Grant-CsTeamsCortanaPolicy' + ,'Grant-CsTeamsEmergencyCallingPolicy' + ,'Grant-CsTeamsEmergencyCallRoutingPolicy' + ,'Grant-CsTeamsEnhancedEncryptionPolicy' + ,'Grant-CsTeamsFeedbackPolicy' + + ,'Grant-CsTeamsIPPhonePolicy' + ,'Grant-CsTeamsMediaLoggingPolicy' + ,'Grant-CsTeamsMeetingBroadcastPolicy' + ,'Grant-CsTeamsMeetingPolicy' + ,'Grant-CsTeamsMessagingPolicy' + ,'Grant-CsTeamsMobilityPolicy' + ,'Grant-CsTeamsRoomVideoTeleConferencingPolicy' + ,'Grant-CsTeamsSurvivableBranchAppliancePolicy' + ,'Grant-CsTeamsUpdateManagementPolicy' + ,'Grant-CsTeamsUpgradePolicy' + ,'Grant-CsTeamsVideoInteropServicePolicy' + ,'Grant-CsTeamsVoiceApplicationsPolicy' + ,'Grant-CsTeamsWorkLoadPolicy' + ,'Grant-CsTenantDialPlan' + ,'Grant-CsUserPolicyPackage' + ,'Grant-CsTeamsComplianceRecordingPolicy' + ,'Import-CsAutoAttendantHolidays' + ,'Import-CsOnlineAudioFile' + ,'Invoke-CsInternalPSTelemetry' + ,'Move-CsInternalHelper' + ,'New-CsApplicationAccessPolicy' + ,'New-CsAutoAttendant' + ,'New-CsAutoAttendantCallableEntity' + ,'New-CsAutoAttendantCallFlow' + ,'New-CsAutoAttendantCallHandlingAssociation' + ,'New-CsAutoAttendantDialScope' + ,'New-CsAutoAttendantMenu' + ,'New-CsAutoAttendantMenuOption' + ,'New-CsAutoAttendantPrompt' + ,'New-CsBatchPolicyAssignmentOperation' + ,'New-CsBatchPolicyPackageAssignmentOperation' + ,'New-CsCallingLineIdentity' + ,'New-CsCallQueue' + ,'New-CsCloudCallDataConnection' + ,'New-CsCustomPolicyPackage' + ,'New-CsEdgeAllowAllKnownDomains' + ,'New-CsEdgeAllowList' + ,'New-CsEdgeDomainPattern' + ,'New-CsGroupPolicyAssignment' + ,'New-CsHybridTelephoneNumber' + ,'New-CsInboundBlockedNumberPattern' + ,'New-CsInboundExemptNumberPattern' + ,'New-CsOnlineApplicationInstance' + ,'New-CsOnlineApplicationInstanceAssociation' + ,'New-CsOnlineAudioConferencingRoutingPolicy' + ,'New-CsOnlineDateTimeRange' + ,'New-CsOnlineLisCivicAddress' + ,'New-CsOnlineLisLocation' + ,'New-CsOnlinePSTNGateway' + ,'New-CsOnlineSchedule' + ,'New-CsOnlineTelephoneNumberOrder' + ,'New-CsOnlineTimeRange' + ,'New-CsOnlineVoiceRoute' + ,'New-CsOnlineVoiceRoutingPolicy' + ,'New-CsSdgBulkSignInRequest' + ,'New-CsTeamsAudioConferencingPolicy' + ,'New-CsTeamsCallParkPolicy' + ,'New-CsTeamsCortanaPolicy' + ,'New-CsTeamsEmergencyCallRoutingPolicy' + ,'New-CsTeamsEmergencyNumber' + ,'New-CsTeamsEnhancedEncryptionPolicy' + ,'New-CsTeamsIPPhonePolicy' + ,'New-CsTeamsMeetingBroadcastPolicy' + ,'New-CsTeamsMobilityPolicy' + ,'New-CsTeamsNetworkRoamingPolicy' + ,'New-CsTeamsRoomVideoTeleConferencingPolicy' + ,'New-CsTeamsShiftsConnectionBatchTeamMap' + ,'New-CsTeamsShiftsConnection' + ,'New-CsTeamsShiftsConnectionInstance' + ,'New-CsTeamsSurvivableBranchAppliance' + ,'New-CsTeamsSurvivableBranchAppliancePolicy' + ,'New-CsTeamsTranslationRule' + ,'New-CsTeamsUnassignedNumberTreatment' + ,'New-CsTeamsVdiPolicy' + ,'New-CsTeamsWorkLoadPolicy' + ,'New-CsTeamTemplate' + ,'New-CsTenantDialPlan' + ,'New-CsTenantNetworkRegion' + ,'New-CsTenantNetworkSite' + ,'New-CsTenantNetworkSubnet' + ,'New-CsTenantTrustedIPAddress' + ,'New-CsUserCallingDelegate' + ,'New-CsVideoInteropServiceProvider' + ,'New-CsVoiceNormalizationRule' + ,'Register-CsOnlineDialInConferencingServiceNumber' + ,'Remove-CsApplicationAccessPolicy' + ,'Remove-CsAutoAttendant' + ,'Remove-CsCallingLineIdentity' + ,'Remove-CsCallQueue' + ,'Remove-CsCustomPolicyPackage' + ,'Remove-CsGroupPolicyAssignment' + ,'Remove-CsHybridTelephoneNumber' + ,'Remove-CsInboundBlockedNumberPattern' + ,'Remove-CsInboundExemptNumberPattern' + ,'Remove-CsOnlineApplicationInstanceAssociation' + ,'Remove-CsOnlineAudioConferencingRoutingPolicy' + ,'Remove-CsOnlineAudioFile' + ,'Remove-CsOnlineDialInConferencingTenantSettings' + ,'Remove-CsOnlineLisCivicAddress' + ,'Remove-CsOnlineLisLocation' + ,'Remove-CsOnlineLisPort' + ,'Remove-CsOnlineLisSubnet' + ,'Remove-CsOnlineLisSwitch' + ,'Remove-CsOnlineLisWirelessAccessPoint' + ,'Remove-CsOnlinePSTNGateway' + ,'Remove-CsOnlineSchedule' + ,'Remove-CsOnlineTelephoneNumber' + ,'Remove-CsOnlineVoiceRoute' + ,'Remove-CsOnlineVoiceRoutingPolicy' + ,'Remove-CsPhoneNumberAssignment' + ,'Remove-CsTeamsAudioConferencingPolicy' + ,'Remove-CsTeamsCallParkPolicy' + ,'Remove-CsTeamsCortanaPolicy' + ,'Remove-CsTeamsEmergencyCallRoutingPolicy' + ,'Remove-CsTeamsEnhancedEncryptionPolicy' + ,'Remove-CsTeamsIPPhonePolicy' + ,'Remove-CsTeamsMeetingBroadcastPolicy' + ,'Remove-CsTeamsMobilityPolicy' + ,'Remove-CsTeamsNetworkRoamingPolicy' + ,'Remove-CsTeamsNotificationAndFeedsPolicy' + ,'Remove-CsTeamsRoomVideoTeleConferencingPolicy' + ,'Remove-CsTeamsShiftsConnection' + ,'Remove-CsTeamsShiftsConnectionInstance' + ,'Remove-CsTeamsShiftsConnectionTeamMap' + ,'Remove-CsTeamsShiftsScheduleRecord' + ,'Remove-CsTeamsSurvivableBranchAppliance' + ,'Remove-CsTeamsSurvivableBranchAppliancePolicy' + ,'Remove-CsTeamsTargetingPolicy' + ,'Remove-CsTeamsTranslationRule' + ,'Remove-CsTeamsUnassignedNumberTreatment' + ,'Remove-CsTeamsVdiPolicy' + ,'Remove-CsTeamsWorkLoadPolicy' + ,'Remove-CsTeamTemplate' + ,'Remove-CsTenantDialPlan' + ,'Remove-CsTenantNetworkRegion' + ,'Remove-CsTenantNetworkSite' + ,'Remove-CsTenantNetworkSubnet' + ,'Remove-CsTenantTrustedIPAddress' + ,'Remove-CsUserCallingDelegate' + ,'Remove-CsUserLicenseGracePeriod' + ,'Remove-CsVideoInteropServiceProvider' + ,'Set-CsApplicationAccessPolicy' + ,'Set-CsApplicationMeetingConfiguration' + ,'Set-CsAutoAttendant' + ,'Set-CsCallingLineIdentity' + ,'Set-CsCallQueue' + ,'Set-CsInboundBlockedNumberPattern' + ,'Set-CsInboundExemptNumberPattern' + ,'Set-CsInternalOnlinePowerShellEndpoint' + ,'Set-CsOnlineApplicationInstance' + ,'Set-CsOnlineAudioConferencingRoutingPolicy' + ,'Set-CsOnlineDialInConferencingBridge' + ,'Set-CsOnlineDialInConferencingServiceNumber' + ,'Set-CsOnlineDialInConferencingTenantSettings' + ,'Set-CsOnlineDialInConferencingUser' + ,'Set-CsOnlineDialInConferencingUserDefaultNumber' + ,'Set-CsOnlineEnhancedEmergencyServiceDisclaimer' + ,'Set-CsOnlineLisCivicAddress' + ,'Set-CsOnlineLisLocation' + ,'Set-CsOnlineLisPort' + ,'Set-CsOnlineLisSubnet' + ,'Set-CsOnlineLisSwitch' + ,'Set-CsOnlineLisWirelessAccessPoint' + ,'Set-CsOnlinePSTNGateway' + ,'Set-CsOnlinePstnUsage' + ,'Set-CsOnlineSchedule' + ,'Set-CsOnlineVoiceApplicationInstance' + ,'Set-CsOnlineVoicemailUserSettings' + ,'Set-CsOnlineVoiceRoute' + ,'Set-CsOnlineVoiceRoutingPolicy' + ,'Set-CsOnlineVoiceUser' + ,'Set-CsPhoneNumberAssignment' + ,'Set-CsPrivacyConfiguration' + ,'Set-CsTeamsAcsFederationConfiguration' + ,'Set-CsTeamsAudioConferencingPolicy' + ,'Set-CsTeamsCallParkPolicy' + ,'Set-CsTeamsClientConfiguration' + ,'Set-CsTeamsCortanaPolicy' + ,'Set-CsTeamsEducationAssignmentsAppPolicy' + ,'Set-CsTeamsEmergencyCallRoutingPolicy' + ,'Set-CsTeamsEnhancedEncryptionPolicy' + ,'Set-CsTeamsGuestCallingConfiguration' + ,'Set-CsTeamsGuestMeetingConfiguration' + ,'Set-CsTeamsGuestMessagingConfiguration' + ,'Set-CsTeamsIPPhonePolicy' + ,'Set-CsTeamsMeetingBroadcastConfiguration' + ,'Set-CsTeamsMeetingBroadcastPolicy' + ,'Set-CsTeamsMigrationConfiguration' + ,'Set-CsTeamsMobilityPolicy' + ,'Set-CsTeamsNetworkRoamingPolicy' + ,'Set-CsTeamsNotificationAndFeedsPolicy' + ,'Set-CsTeamsRoomVideoTeleConferencingPolicy' + ,'Set-CsTeamsSettingsCustomApp' + ,'Set-CsTeamsShiftsAppPolicy' + ,'Set-CsTeamsShiftsConnection' + ,'Set-CsTeamsShiftsConnectionInstance' + ,'Set-CsTeamsSurvivableBranchAppliance' + ,'Set-CsTeamsSurvivableBranchAppliancePolicy' + ,'Set-CsTeamsTargetingPolicy' + ,'Set-CsTeamsTranslationRule' + ,'Set-CsTeamsUnassignedNumberTreatment' + ,'Set-CsTeamsVdiPolicy' + ,'Set-CsTeamsWorkLoadPolicy' + ,'Set-CsTenantBlockedCallingNumbers' + ,'Set-CsTenantDialPlan' + ,'Set-CsTenantFederationConfiguration' + ,'Set-CsTenantMigrationConfiguration' + ,'Set-CsTenantNetworkRegion' + ,'Set-CsTenantNetworkSite' + ,'Set-CsTenantNetworkSubnet' + ,'Set-CsTenantTrustedIPAddress' + ,'Set-CsUser' + ,'Set-CsUserCallingDelegate' + ,'Set-CsUserCallingSettings' + ,'Set-CsVideoInteropServiceProvider' + ,'Start-CsExMeetingMigration' + ,'Sync-CsOnlineApplicationInstance' + ,'Test-CsEffectiveTenantDialPlan' + ,'Test-CsInboundBlockedNumberPattern' + ,'Test-CsTeamsShiftsConnectionValidate' + ,'Test-CsTeamsTranslationRule' + ,'Test-CsTeamsUnassignedNumberTreatment' + ,'Test-CsVoiceNormalizationRule' + ,'Unregister-CsOnlineDialInConferencingServiceNumber' + ,'Update-CsAutoAttendant' + ,'Update-CsCustomPolicyPackage' + ,'Update-CsTeamsShiftsConnection' + ,'Update-CsTeamsShiftsConnectionInstance' + ,'Update-CsTeamTemplate' + ,'New-CsBatchTeamsDeployment' + ,'Get-CsBatchTeamsDeploymentStatus' +#OCE related functions exports start here. DO NOT MODIFY! + ,'Set-CsOCEContext' + ,'Clear-CsOCEContext' + ,'Get-CsRegionContext' + ,'Set-CsRegionContext' + ,'Clear-CsRegionContext' + ,'Get-CsMeetingMigrationTransactionHistory' + ,'Get-CsMasVersionedSchemaData' + ,'Get-CsMasObjectChangelog' + ,'Get-CsBusinessVoiceDirectoryDiagnosticData' + ,'Get-CsCloudTenant' + ,'Get-CsCloudUser' + ,'Get-CsHostingProvider' + ,'Set-CsTenantUserBackfill' + ,'Invoke-CsCustomHandlerNgtprov' + ,'Invoke-CsCustomHandlerCallBackNgtprov' + ,'New-CsSdgDeviceTaggingRequest' + ,'Get-CsMoveTenantServiceInstanceTaskStatus' + ,'Move-CsTenantServiceInstance' + ,'Move-CsTenantCrossRegion' + ,'Invoke-CsDirectObjectSync' + ,'New-CsSDGDeviceTransferRequest' + ,'Get-CsAadTenant' + ,'Get-CsAadUser' + ,'Clear-CsCacheOperation' + ,'Move-CsAvsTenantPartition' + ,'Invoke-CsMsodsSync' +#OCE exports end +) +# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export. +CmdletsToExport = @( + 'Add-TeamChannelUser' + ,'Add-TeamUser' + ,'Connect-MicrosoftTeams' + ,'Disconnect-MicrosoftTeams' + ,'Set-TeamsEnvironmentConfig' + ,'Clear-TeamsEnvironmentConfig' + ,'Get-AssociatedTeam' + ,'Get-MultiGeoRegion' + ,'Get-Operation' + ,'Get-SharedWithTeam' + ,'Get-SharedWithTeamUser' + ,'Get-Team' + ,'Get-TeamAllChannel' + ,'Get-TeamChannel' + ,'Get-TeamChannelUser' + ,'Get-TeamIncomingChannel' + ,'Get-TeamsApp' + ,'Get-TeamUser' + ,'Get-M365TeamsApp' + ,'Get-AllM365TeamsApps' + ,'Get-CsTeamsMessagingPolicy' + ,'Get-CsTeamsMeetingPolicy' + ,'Get-CsOnlineVoicemailPolicy' + ,'Get-CsOnlineVoicemailValidationConfiguration' + ,'Get-CsTeamsFeedbackPolicy' + ,'Get-CsTeamsUpdateManagementPolicy' + ,'Get-CsTeamsChannelsPolicy' + ,'Get-CsTeamsMeetingBrandingPolicy' + ,'Get-CsTeamsEmergencyCallingPolicy' + ,'Get-CsTeamsCallHoldPolicy' + ,'Get-CsTeamsMessagingConfiguration' + ,'Get-CsTeamsVoiceApplicationsPolicy' + ,'Get-CsTeamsEventsPolicy' + ,'Get-CsTeamsFilesPolicy' + ,'Get-CsTeamsCallingPolicy' + ,'Get-CsExternalAccessPolicy' + ,'Get-CsTeamsAppPermissionPolicy' + ,'Get-CsTeamsAppSetupPolicy' + ,'Get-CsTeamsFirstPartyMeetingTemplateConfiguration' + ,'Get-CsTeamsMeetingTemplatePermissionPolicy' + ,'Get-CsLocationPolicy' + ,'Get-CsTeamsShiftsPolicy' + ,'Get-CsTenantNetworkSite' + ,'Get-CsTeamsCarrierEmergencyCallRoutingPolicy' + ,'Get-CsTeamsMeetingTemplateConfiguration' + ,'Get-CsTeamsFirstPartyMeetingTemplateConfiguration' + ,'Get-CsTeamsVirtualAppointmentsPolicy' + ,'Get-CsTeamsSharedCallingRoutingPolicy' + ,'Get-CsTeamsTemplatePermissionPolicy' + ,'Get-CsTeamsComplianceRecordingPolicy' + ,'Get-CsTeamsComplianceRecordingApplication' + ,'Get-CsTeamsUpgradeConfiguration' + ,'Get-CsTeamsAudioConferencingCustomPromptsConfiguration' + ,'Get-CsTeamsSipDevicesConfiguration' + ,'Get-CsTeamsCustomBannerText' + ,'Get-CsTeamsVdiPolicy' + ,'Get-CsTeamsMediaConnectivityPolicy' + ,'Get-CsTeamsMeetingConfiguration' + ,'Get-CsTeamsWorkLocationDetectionPolicy' + ,'Get-CsTeamsRecordingRollOutPolicy' + ,'Get-CsTeamsEducationConfiguration' + ,'Grant-CsTeamsMeetingBrandingPolicy' + ,'Grant-CsExternalAccessPolicy' + ,'Grant-CsTeamsCallingPolicy' + ,'Grant-CsTeamsAppPermissionPolicy' + ,'Grant-CsTeamsAppSetupPolicy' + ,'Grant-CsTeamsEventsPolicy' + ,'Grant-CsTeamsFilesPolicy' + ,'Grant-CsTeamsMediaConnectivityPolicy' + ,'Grant-CsTeamsMeetingTemplatePermissionPolicy' + ,'Grant-CsTeamsCarrierEmergencyCallRoutingPolicy' + ,'Grant-CsTeamsVirtualAppointmentsPolicy' + ,'Grant-CsTeamsSharedCallingRoutingPolicy' + ,'Grant-CsTeamsShiftsPolicy' + ,'Grant-CsTeamsRecordingRollOutPolicy' + ,'Grant-CsTeamsVdiPolicy' + ,'Grant-CsTeamsWorkLocationDetectionPolicy' + ,'New-Team' + ,'New-TeamChannel' + ,'New-TeamsApp' + ,'New-CsTeamsMessagingPolicy' + ,'New-CsTeamsMeetingPolicy' + ,'New-CsOnlineVoicemailPolicy' + ,'New-CsTeamsFeedbackPolicy' + ,'New-CsTeamsUpdateManagementPolicy' + ,'New-CsTeamsChannelsPolicy' + ,'New-CsTeamsFilesPolicy' + ,'New-CsTeamsMediaConnectivityPolicy' + ,'New-CsTeamsMeetingBrandingTheme' + ,'New-CsTeamsMeetingBackgroundImage' + ,'New-CsTeamsNdiAssuranceSlate' + ,'New-CsTeamsMeetingBrandingPolicy' + ,'New-CsTeamsEmergencyCallingPolicy' + ,'New-CsTeamsEmergencyCallingExtendedNotification' + ,'New-CsTeamsCallHoldPolicy' + ,'New-CsTeamsVoiceApplicationsPolicy' + ,'New-CsTeamsEventsPolicy' + ,'New-CsTeamsCallingPolicy' + ,'New-CsExternalAccessPolicy' + ,'New-CsTeamsAppPermissionPolicy' + ,'New-CsTeamsAppSetupPolicy' + ,'New-CsTeamsMeetingTemplatePermissionPolicy' + ,'New-CsLocationPolicy' + ,'New-CsTeamsCarrierEmergencyCallRoutingPolicy' + ,'New-CsTeamsHiddenMeetingTemplate' + ,'New-CsTeamsVirtualAppointmentsPolicy' + ,'New-CsTeamsSharedCallingRoutingPolicy' + ,'New-CsTeamsHiddenTemplate' + ,'New-CsTeamsTemplatePermissionPolicy' + ,'New-CsTeamsComplianceRecordingPolicy' + ,'New-CsTeamsComplianceRecordingApplication' + ,'New-CsTeamsComplianceRecordingPairedApplication' + ,'New-CsTeamsWorkLocationDetectionPolicy' + ,'New-CsTeamsRecordingRollOutPolicy' + ,"New-CsCustomPrompt" + ,"New-CsCustomPromptPackage" + ,'New-CsTeamsShiftsPolicy' + ,'New-CsTeamsCustomBannerText' + ,'New-CsTeamsVdiPolicy' + ,'Remove-SharedWithTeam' + ,'Remove-Team' + ,'Remove-TeamChannel' + ,'Remove-TeamChannelUser' + ,'Remove-TeamsApp' + ,'Remove-TeamUser' + ,'Remove-CsTeamsMessagingPolicy' + ,'Remove-CsTeamsMeetingPolicy' + ,'Remove-CsOnlineVoicemailPolicy' + ,'Remove-CsTeamsFeedbackPolicy' + ,'Remove-CsTeamsFilesPolicy' + ,'Remove-CsTeamsUpdateManagementPolicy' + ,'Remove-CsTeamsChannelsPolicy' + ,'Remove-CsTeamsMediaConnectivityPolicy' + ,'Remove-CsTeamsMeetingBrandingPolicy' + ,'Remove-CsTeamsEmergencyCallingPolicy' + ,'Remove-CsTeamsCallHoldPolicy' + ,'Remove-CsTeamsVoiceApplicationsPolicy' + ,'Remove-CsTeamsEventsPolicy' + ,'Remove-CsTeamsCallingPolicy' + ,'Remove-CsExternalAccessPolicy' + ,'Remove-CsTeamsAppPermissionPolicy' + ,'Remove-CsTeamsAppSetupPolicy' + ,'Remove-CsTeamsMeetingTemplatePermissionPolicy' + ,'Remove-CsLocationPolicy' + ,'Remove-CsTeamsCarrierEmergencyCallRoutingPolicy' + ,'Remove-CsTeamsVirtualAppointmentsPolicy' + ,'Remove-CsTeamsSharedCallingRoutingPolicy' + ,'Remove-CsTeamsTemplatePermissionPolicy' + ,'Remove-CsTeamsComplianceRecordingPolicy' + ,'Remove-CsTeamsComplianceRecordingApplication' + ,'Remove-CsTeamsShiftsPolicy' + ,'Remove-CsTeamsCustomBannerText' + ,'Remove-CsTeamsVdiPolicy' + ,'Remove-CsTeamsWorkLocationDetectionPolicy' + ,'Remove-CsTeamsRecordingRollOutPolicy' + ,'Set-Team' + ,'Set-TeamArchivedState' + ,'Set-TeamChannel' + ,'Set-TeamPicture' + ,'Set-TeamsApp' + ,'Set-CsTeamsMessagingPolicy' + ,'Set-CsTeamsMeetingPolicy' + ,'Set-CsOnlineVoicemailPolicy' + ,'Set-CsTeamsFilesPolicy' + ,'Set-CsOnlineVoicemailValidationConfiguration' + ,'Set-CsTeamsFeedbackPolicy' + ,'Set-CsTeamsUpdateManagementPolicy' + ,'Set-CsTeamsChannelsPolicy' + ,'Set-CsTeamsMediaConnectivityPolicy' + ,'Set-CsTeamsMeetingBrandingPolicy' + ,'Set-CsTeamsEmergencyCallingPolicy' + ,'Set-CsTeamsCallHoldPolicy' + ,'Set-CsTeamsMessagingConfiguration' + ,'Set-CsTeamsVoiceApplicationsPolicy' + ,'Set-CsTeamsEventsPolicy' + ,'Set-CsTeamsCallingPolicy' + ,'Set-CsExternalAccessPolicy' + ,'Set-CsTeamsAppPermissionPolicy' + ,'Set-CsTeamsAppSetupPolicy' + ,'Set-CsTeamsFirstPartyMeetingTemplateConfiguration' + ,'Set-CsTeamsMeetingTemplatePermissionPolicy' + ,'Set-CsLocationPolicy' + ,'Set-CsTeamsCarrierEmergencyCallRoutingPolicy' + ,'Set-CsTeamsVirtualAppointmentsPolicy' + ,'Set-CsTeamsSharedCallingRoutingPolicy' + ,'Set-CsTeamsTemplatePermissionPolicy' + ,'Set-CsTeamsComplianceRecordingPolicy' + ,'Set-CsTeamsComplianceRecordingApplication' + ,'Set-CsTeamsShiftsPolicy' + ,'Set-CsTeamsUpgradeConfiguration' + ,'Set-CsTeamsAudioConferencingCustomPromptsConfiguration' + ,'Set-CsTeamsSipDevicesConfiguration' + ,'Set-CsTeamsMeetingConfiguration' + ,'Set-CsTeamsVdiPolicy' + ,'Set-CsTeamsWorkLocationDetectionPolicy' + ,'Set-CsTeamsRecordingRollOutPolicy' + ,'Set-CsTeamsCustomBannerText' + ,'Set-CsTeamsEducationConfiguration' + ,'Update-M365TeamsApp' + + #MPA OCE cmdlets + ,'Get-CsBatchOperationDefinition' + ,'Get-CsBatchOperationStatus' + ,'Get-CsConfiguration' + ,'Get-CsGroupPolicyAssignments' + ,'Get-CsLoginInfo' + ,'Get-CsUserProvHistory' + ,'Get-GPAGroupMembers' + ,'Get-GPAUserMembership' + ,'Get-NgtProvInstanceFailOverStatus' + ,'Invoke-CsDirectoryObjectSync' + ,'Invoke-CsGenericNgtProvCommand' + ,'Invoke-CsRefreshGroupUsers' + ,'Invoke-CsReprocessBatchOperation' + ,'Invoke-CsReprocessGroupPolicyAssignment' + ,'Move-NgtProvInstance' + ,'New-CsConfiguration' + ,'Remove-CsConfiguration' + ,'Set-CsConfiguration' + + +#preview ,'Add-TeamsAppInstallation' +#preview ,'Get-TeamsAppInstallation' + ,'Get-TeamTargetingHierarchyStatus' +#preview ,'Remove-TeamsAppInstallation' + ,'Remove-TeamTargetingHierarchy' + ,'Set-TeamTargetingHierarchy' +#preview ,'Update-TeamsAppInstallation' +#preview ,'Get-LicenseReportForChangeNotificationSubscription' + ) + +# Variables to export from this module +VariablesToExport = '*' + +# Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export. +AliasesToExport = '*' + +# DSC resources to export from this module +# DscResourcesToExport = @() + +# List of all modules packaged with this module +# ModuleList = @() + +# List of all files packaged with this module +# FileList = @() + +# Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell. +PrivateData = @{ + PSData = @{ + # Tags applied to this module. These help with module discovery in online galleries. + Tags = 'Office365', 'MicrosoftTeams', 'Teams' + + # A URL to the license for this module. + LicenseUri = 'https://raw.githubusercontent.com/MicrosoftDocs/office-docs-powershell/master/teams/LICENSE.txt' + + # A URL to the main website for this project. + ProjectUri = 'https://github.com/MicrosoftDocs/office-docs-powershell/tree/master/teams' + + # A URL to an icon representing this module. + IconUri = 'https://statics.teams.microsoft.com/evergreen-assets/apps/teamscmdlets_largeimage.png' + + # Appends prerelease string to version + Prerelease = '' + + # ReleaseNotes of this module + ReleaseNotes = @' + **6.4.0-GA** (The project - MicrosoftTeams contains changes till this release) +- Adds ExternalAccessWithTrialTenants parameter to the Set-CsTenantFederationConfiguration cmdlet. +- The complete release notes can be found in the below link: +https://docs.microsoft.com/MicrosoftTeams/teams-powershell-release-notes +'@ + } # End of PSData hashtable +} # End of PrivateData hashtable + +# HelpInfo URI of this module +# HelpInfoURI = '' + +# Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix. +# DefaultCommandPrefix = '' +} + +# SIG # Begin signature block +# MIInzgYJKoZIhvcNAQcCoIInvzCCJ7sCAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBOazYM49UgHkfy +# fL7n4h99LwL9PQAn+W8tHtiBdfAwIqCCDYUwggYDMIID66ADAgECAhMzAAADri01 +# UchTj1UdAAAAAAOuMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMjMxMTE2MTkwODU5WhcNMjQxMTE0MTkwODU5WjB0MQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +# AQD0IPymNjfDEKg+YyE6SjDvJwKW1+pieqTjAY0CnOHZ1Nj5irGjNZPMlQ4HfxXG +# yAVCZcEWE4x2sZgam872R1s0+TAelOtbqFmoW4suJHAYoTHhkznNVKpscm5fZ899 +# QnReZv5WtWwbD8HAFXbPPStW2JKCqPcZ54Y6wbuWV9bKtKPImqbkMcTejTgEAj82 +# 6GQc6/Th66Koka8cUIvz59e/IP04DGrh9wkq2jIFvQ8EDegw1B4KyJTIs76+hmpV +# M5SwBZjRs3liOQrierkNVo11WuujB3kBf2CbPoP9MlOyyezqkMIbTRj4OHeKlamd +# WaSFhwHLJRIQpfc8sLwOSIBBAgMBAAGjggGCMIIBfjAfBgNVHSUEGDAWBgorBgEE +# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUhx/vdKmXhwc4WiWXbsf0I53h8T8w +# VAYDVR0RBE0wS6RJMEcxLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh +# dGlvbnMgTGltaXRlZDEWMBQGA1UEBRMNMjMwMDEyKzUwMTgzNjAfBgNVHSMEGDAW +# gBRIbmTlUAXTgqoXNzcitW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8v +# d3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIw +# MTEtMDctMDguY3JsMGEGCCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDov +# L3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDEx +# XzIwMTEtMDctMDguY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIB +# AGrJYDUS7s8o0yNprGXRXuAnRcHKxSjFmW4wclcUTYsQZkhnbMwthWM6cAYb/h2W +# 5GNKtlmj/y/CThe3y/o0EH2h+jwfU/9eJ0fK1ZO/2WD0xi777qU+a7l8KjMPdwjY +# 0tk9bYEGEZfYPRHy1AGPQVuZlG4i5ymJDsMrcIcqV8pxzsw/yk/O4y/nlOjHz4oV +# APU0br5t9tgD8E08GSDi3I6H57Ftod9w26h0MlQiOr10Xqhr5iPLS7SlQwj8HW37 +# ybqsmjQpKhmWul6xiXSNGGm36GarHy4Q1egYlxhlUnk3ZKSr3QtWIo1GGL03hT57 +# xzjL25fKiZQX/q+II8nuG5M0Qmjvl6Egltr4hZ3e3FQRzRHfLoNPq3ELpxbWdH8t +# Nuj0j/x9Crnfwbki8n57mJKI5JVWRWTSLmbTcDDLkTZlJLg9V1BIJwXGY3i2kR9i +# 5HsADL8YlW0gMWVSlKB1eiSlK6LmFi0rVH16dde+j5T/EaQtFz6qngN7d1lvO7uk +# 6rtX+MLKG4LDRsQgBTi6sIYiKntMjoYFHMPvI/OMUip5ljtLitVbkFGfagSqmbxK +# 7rJMhC8wiTzHanBg1Rrbff1niBbnFbbV4UDmYumjs1FIpFCazk6AADXxoKCo5TsO +# zSHqr9gHgGYQC2hMyX9MGLIpowYCURx3L7kUiGbOiMwaMIIHejCCBWKgAwIBAgIK +# YQ6Q0gAAAAAAAzANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNV +# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv +# c29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlm +# aWNhdGUgQXV0aG9yaXR5IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEw +# OTA5WjB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE +# BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYD +# VQQDEx9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG +# 9w0BAQEFAAOCAg8AMIICCgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+la +# UKq4BjgaBEm6f8MMHt03a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc +# 6Whe0t+bU7IKLMOv2akrrnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4D +# dato88tt8zpcoRb0RrrgOGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+ +# lD3v++MrWhAfTVYoonpy4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nk +# kDstrjNYxbc+/jLTswM9sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6 +# A4aN91/w0FK/jJSHvMAhdCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmd +# X4jiJV3TIUs+UsS1Vz8kA/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL +# 5zmhD+kjSbwYuER8ReTBw3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zd +# sGbiwZeBe+3W7UvnSSmnEyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3 +# T8HhhUSJxAlMxdSlQy90lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS +# 4NaIjAsCAwEAAaOCAe0wggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRI +# bmTlUAXTgqoXNzcitW2oynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAL +# BgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBD +# uRQFTuHqp8cx0SOJNDBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jv +# c29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf +# MDNfMjIuY3JsMF4GCCsGAQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3 +# dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf +# MDNfMjIuY3J0MIGfBgNVHSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEF +# BQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1h +# cnljcHMuaHRtMEAGCCsGAQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkA +# YwB5AF8AcwB0AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn +# 8oalmOBUeRou09h0ZyKbC5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7 +# v0epo/Np22O/IjWll11lhJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0b +# pdS1HXeUOeLpZMlEPXh6I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/ +# KmtYSWMfCWluWpiW5IP0wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvy +# CInWH8MyGOLwxS3OW560STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBp +# mLJZiWhub6e3dMNABQamASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJi +# hsMdYzaXht/a8/jyFqGaJ+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYb +# BL7fQccOKO7eZS/sl/ahXJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbS +# oqKfenoi+kiVH6v7RyOA9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sL +# gOppO6/8MO0ETI7f33VtY5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtX +# cVZOSEXAQsmbdlsKgEhr/Xmfwb1tbWrJUnMTDXpQzTGCGZ8wghmbAgEBMIGVMH4x +# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt +# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01p +# Y3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTECEzMAAAOuLTVRyFOPVR0AAAAA +# A64wDQYJYIZIAWUDBAIBBQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQw +# HAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIN9b +# 5It0tFCGOy8PrdHi9Ywxd7d63I2GN+JryOXgnYc4MEIGCisGAQQBgjcCAQwxNDAy +# oBSAEgBNAGkAYwByAG8AcwBvAGYAdKEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5j +# b20wDQYJKoZIhvcNAQEBBQAEggEAoFLxP+MxVS+VkrmIo6n2COmm0Bpn3kOUbtb9 +# AjZrRbiAfGniH22Ooal+/WqXFnfTVwIJwBkyRvDDshVqSTuVFElB/YXm583qunJE +# q/LecucWbGPWYVBYUIZws8NW6kMW14wfmgV5Dt6f6CvfvUX9oD1biNidzkoXwPMe +# XamjW3h7p1/+0cE9XQKGRqz92/Ofbqz+dV4s77lU1+dsj1qpjhq0o44Tx2UkajvB +# 0M2dQ2Y/LpqKZakQv24NwYlLbxIxzVbXZGzzwtGLuWcUBTkFklxNTtpZ+vs0SE78 +# PXLAPhgaSVXeXGpExcH1aODGau/HQWDkH3EsSNsfNNsNMmthBaGCFykwghclBgor +# BgEEAYI3AwMBMYIXFTCCFxEGCSqGSIb3DQEHAqCCFwIwghb+AgEDMQ8wDQYJYIZI +# AWUDBAIBBQAwggFZBgsqhkiG9w0BCRABBKCCAUgEggFEMIIBQAIBAQYKKwYBBAGE +# WQoDATAxMA0GCWCGSAFlAwQCAQUABCBqyC1+XThGcwPnUXFDjGAZtDTwJaY+2US1 +# 0m1AwcMz/wIGZlcfxLIIGBMyMDI0MDYxOTExMzEzMS41ODVaMASAAgH0oIHYpIHV +# MIHSMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH +# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQL +# EyRNaWNyb3NvZnQgSXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsT +# HVRoYWxlcyBUU1MgRVNOOjNCRDQtNEI4MC02OUMzMSUwIwYDVQQDExxNaWNyb3Nv +# ZnQgVGltZS1TdGFtcCBTZXJ2aWNloIIReDCCBycwggUPoAMCAQICEzMAAAHlj2rA +# 8z20C6MAAQAAAeUwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxEzARBgNV +# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv +# c29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAg +# UENBIDIwMTAwHhcNMjMxMDEyMTkwNzM1WhcNMjUwMTEwMTkwNzM1WjCB0jELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9z +# b2Z0IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMg +# VFNTIEVTTjozQkQ0LTRCODAtNjlDMzElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUt +# U3RhbXAgU2VydmljZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKl7 +# 4Drau2O6LLrJO3HyTvO9aXai//eNyP5MLWZrmUGNOJMPwMI08V9zBfRPNcucreIY +# SyJHjkMIUGmuh0rPV5/2+UCLGrN1P77n9fq/mdzXMN1FzqaPHdKElKneJQ8R6cP4 +# dru2Gymmt1rrGcNe800CcD6d/Ndoommkd196VqOtjZFA1XWu+GsFBeWHiez/Pllq +# cM/eWntkQMs0lK0zmCfH+Bu7i1h+FDRR8F7WzUr/7M3jhVdPpAfq2zYCA8ZVLNgE +# izY+vFmgx+zDuuU/GChDK7klDcCw+/gVoEuSOl5clQsydWQjJJX7Z2yV+1KC6G1J +# VqpP3dpKPAP/4udNqpR5HIeb8Ta1JfjRUzSv3qSje5y9RYT/AjWNYQ7gsezuDWM/ +# 8cZ11kco1JvUyOQ8x/JDkMFqSRwj1v+mc6LKKlj//dWCG/Hw9ppdlWJX6psDesQu +# QR7FV7eCqV/lfajoLpPNx/9zF1dv8yXBdzmWJPeCie2XaQnrAKDqlG3zXux9tNQm +# z2L96TdxnIO2OGmYxBAAZAWoKbmtYI+Ciz4CYyO0Fm5Z3T40a5d7KJuftF6CTocc +# c/Up/jpFfQitLfjd71cS+cLCeoQ+q0n0IALvV+acbENouSOrjv/QtY4FIjHlI5zd +# JzJnGskVJ5ozhji0YRscv1WwJFAuyyCMQvLdmPddAgMBAAGjggFJMIIBRTAdBgNV +# HQ4EFgQU3/+fh7tNczEifEXlCQgFOXgMh6owHwYDVR0jBBgwFoAUn6cVXQBeYl2D +# 9OXSZacbUzUZ6XIwXwYDVR0fBFgwVjBUoFKgUIZOaHR0cDovL3d3dy5taWNyb3Nv +# ZnQuY29tL3BraW9wcy9jcmwvTWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUy +# MDIwMTAoMSkuY3JsMGwGCCsGAQUFBwEBBGAwXjBcBggrBgEFBQcwAoZQaHR0cDov +# L3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBUaW1l +# LVN0YW1wJTIwUENBJTIwMjAxMCgxKS5jcnQwDAYDVR0TAQH/BAIwADAWBgNVHSUB +# Af8EDDAKBggrBgEFBQcDCDAOBgNVHQ8BAf8EBAMCB4AwDQYJKoZIhvcNAQELBQAD +# ggIBADP6whOFjD1ad8GkEJ9oLBuvfjndMyGQ9R4HgBKSlPt3pa0XVLcimrJlDnKG +# gFBiWwI6XOgw82hdolDiMDBLLWRMTJHWVeUY1gU4XB8OOIxBc9/Q83zb1c0RWEup +# gC48I+b+2x2VNgGJUsQIyPR2PiXQhT5PyerMgag9OSodQjFwpNdGirna2rpV23EU +# wFeO5+3oSX4JeCNZvgyUOzKpyMvqVaubo+Glf/psfW5tIcMjZVt0elswfq0qJNQg +# oYipbaTvv7xmixUJGTbixYifTwAivPcKNdeisZmtts7OHbAM795ZvKLSEqXiRUjD +# YZyeHyAysMEALbIhdXgHEh60KoZyzlBXz3VxEirE7nhucNwM2tViOlwI7EkeU5hu +# dctnXCG55JuMw/wb7c71RKimZA/KXlWpmBvkJkB0BZES8OCGDd+zY/T9BnTp8si3 +# 6Tql84VfpYe9iHmy7PqqxqMF2Cn4q2a0mEMnpBruDGE/gR9c8SVJ2ntkARy5Sflu +# uJ/MB61yRvT1mUx3lyppO22ePjBjnwoEvVxbDjT1jhdMNdevOuDeJGzRLK9HNmTD +# C+TdZQlj+VMgIm8ZeEIRNF0oaviF+QZcUZLWzWbYq6yDok8EZKFiRR5otBoGLvaY +# FpxBZUE8mnLKuDlYobjrxh7lnwrxV/fMy0F9fSo2JxFmtLgtMIIHcTCCBVmgAwIB +# AgITMwAAABXF52ueAptJmQAAAAAAFTANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UE +# BhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAc +# BgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0 +# IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTAwHhcNMjEwOTMwMTgyMjI1 +# WhcNMzAwOTMwMTgzMjI1WjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu +# Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv +# cmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDCC +# AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAOThpkzntHIhC3miy9ckeb0O +# 1YLT/e6cBwfSqWxOdcjKNVf2AX9sSuDivbk+F2Az/1xPx2b3lVNxWuJ+Slr+uDZn +# hUYjDLWNE893MsAQGOhgfWpSg0S3po5GawcU88V29YZQ3MFEyHFcUTE3oAo4bo3t +# 1w/YJlN8OWECesSq/XJprx2rrPY2vjUmZNqYO7oaezOtgFt+jBAcnVL+tuhiJdxq +# D89d9P6OU8/W7IVWTe/dvI2k45GPsjksUZzpcGkNyjYtcI4xyDUoveO0hyTD4MmP +# frVUj9z6BVWYbWg7mka97aSueik3rMvrg0XnRm7KMtXAhjBcTyziYrLNueKNiOSW +# rAFKu75xqRdbZ2De+JKRHh09/SDPc31BmkZ1zcRfNN0Sidb9pSB9fvzZnkXftnIv +# 231fgLrbqn427DZM9ituqBJR6L8FA6PRc6ZNN3SUHDSCD/AQ8rdHGO2n6Jl8P0zb +# r17C89XYcz1DTsEzOUyOArxCaC4Q6oRRRuLRvWoYWmEBc8pnol7XKHYC4jMYcten +# IPDC+hIK12NvDMk2ZItboKaDIV1fMHSRlJTYuVD5C4lh8zYGNRiER9vcG9H9stQc +# xWv2XFJRXRLbJbqvUAV6bMURHXLvjflSxIUXk8A8FdsaN8cIFRg/eKtFtvUeh17a +# j54WcmnGrnu3tz5q4i6tAgMBAAGjggHdMIIB2TASBgkrBgEEAYI3FQEEBQIDAQAB +# MCMGCSsGAQQBgjcVAgQWBBQqp1L+ZMSavoKRPEY1Kc8Q/y8E7jAdBgNVHQ4EFgQU +# n6cVXQBeYl2D9OXSZacbUzUZ6XIwXAYDVR0gBFUwUzBRBgwrBgEEAYI3TIN9AQEw +# QTA/BggrBgEFBQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9E +# b2NzL1JlcG9zaXRvcnkuaHRtMBMGA1UdJQQMMAoGCCsGAQUFBwMIMBkGCSsGAQQB +# gjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/ +# MB8GA1UdIwQYMBaAFNX2VsuP6KJcYmjRPZSQW9fOmhjEMFYGA1UdHwRPME0wS6BJ +# oEeGRWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01p +# Y1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYB +# BQUHMAKGPmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljUm9v +# Q2VyQXV0XzIwMTAtMDYtMjMuY3J0MA0GCSqGSIb3DQEBCwUAA4ICAQCdVX38Kq3h +# LB9nATEkW+Geckv8qW/qXBS2Pk5HZHixBpOXPTEztTnXwnE2P9pkbHzQdTltuw8x +# 5MKP+2zRoZQYIu7pZmc6U03dmLq2HnjYNi6cqYJWAAOwBb6J6Gngugnue99qb74p +# y27YP0h1AdkY3m2CDPVtI1TkeFN1JFe53Z/zjj3G82jfZfakVqr3lbYoVSfQJL1A +# oL8ZthISEV09J+BAljis9/kpicO8F7BUhUKz/AyeixmJ5/ALaoHCgRlCGVJ1ijbC +# HcNhcy4sa3tuPywJeBTpkbKpW99Jo3QMvOyRgNI95ko+ZjtPu4b6MhrZlvSP9pEB +# 9s7GdP32THJvEKt1MMU0sHrYUP4KWN1APMdUbZ1jdEgssU5HLcEUBHG/ZPkkvnNt +# yo4JvbMBV0lUZNlz138eW0QBjloZkWsNn6Qo3GcZKCS6OEuabvshVGtqRRFHqfG3 +# rsjoiV5PndLQTHa1V1QJsWkBRH58oWFsc/4Ku+xBZj1p/cvBQUl+fpO+y/g75LcV +# v7TOPqUxUYS8vwLBgqJ7Fx0ViY1w/ue10CgaiQuPNtq6TPmb/wrpNPgkNWcr4A24 +# 5oyZ1uEi6vAnQj0llOZ0dFtq0Z4+7X6gMTN9vMvpe784cETRkPHIqzqKOghif9lw +# Y1NNje6CbaUFEMFxBmoQtB1VM1izoXBm8qGCAtQwggI9AgEBMIIBAKGB2KSB1TCB +# 0jELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1Jl +# ZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMk +# TWljcm9zb2Z0IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1U +# aGFsZXMgVFNTIEVTTjozQkQ0LTRCODAtNjlDMzElMCMGA1UEAxMcTWljcm9zb2Z0 +# IFRpbWUtU3RhbXAgU2VydmljZaIjCgEBMAcGBSsOAwIaAxUA942iGuYFrsE4wzWD +# d85EpM6RiwqggYMwgYCkfjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu +# Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv +# cmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDAN +# BgkqhkiG9w0BAQUFAAIFAOocou0wIhgPMjAyNDA2MTkwODIxMDFaGA8yMDI0MDYy +# MDA4MjEwMVowdDA6BgorBgEEAYRZCgQBMSwwKjAKAgUA6hyi7QIBADAHAgEAAgIU +# MjAHAgEAAgISEzAKAgUA6h30bQIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEE +# AYRZCgMCoAowCAIBAAIDB6EgoQowCAIBAAIDAYagMA0GCSqGSIb3DQEBBQUAA4GB +# AFZeHjUZP4Z4u2SdzthhV+nP6G0eup1nDgNVYQfaOEyamlH8LLjTCf/f4yeNmuqP +# JQYU8zeNN5rQK2UJBLCIuENhPXyn1GsCxZHccyS/ZOBKbLmkZ9cU2K4P4Owntn5e +# cqNQNdd4OdHl0AQ2X3vgF05JzP6kv+4AGpq1MxiIN92bMYIEDTCCBAkCAQEwgZMw +# fDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1Jl +# ZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMd +# TWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTACEzMAAAHlj2rA8z20C6MAAQAA +# AeUwDQYJYIZIAWUDBAIBBQCgggFKMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRAB +# BDAvBgkqhkiG9w0BCQQxIgQgvwcN+t+OWK2ho0gmboj38u+BD+hTHoJ5lPcPipnd +# Tm4wgfoGCyqGSIb3DQEJEAIvMYHqMIHnMIHkMIG9BCAVqdP//qjxGFhe2YboEXeb +# 8I/pAof01CwhbxUH9U697TCBmDCBgKR+MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQI +# EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv +# ZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBD +# QSAyMDEwAhMzAAAB5Y9qwPM9tAujAAEAAAHlMCIEIKFipkV/DVpxusVZcZtSUcBg +# 5g8NIUAMTmbSG9mhVjq/MA0GCSqGSIb3DQEBCwUABIICAKCGRFPsq4agIGzxEkeb +# qPSpkckb/fzaqt/5u77jGK8VZ9oXOE3G8Dm4VYJ0aFYGv0jgQHGyMkfHHffmAJUN +# T1bjJdoKNufXVtxEZthYZpPHUX4htel6kRugs7K2vpMcinFWrA7ApTjMU6gZOaQO +# oIzjIawUTJtOMCh+cCBEs1T0Pav90zGukIZJt7+uY7nqajLr9UiUkNLcZ2B4HdPH +# /2STLAZP3zIWfjpqug5ymI6mSHzFuocZBpWG2yzM0PfWFY2YfOGShsc69RFEXZw/ +# FBY9wL4FJQJVBUozKAG+h1hA2u6dCiwnghq0/bJwLuCyX8gqSSbrNdCtik0I07K7 +# AzdBiJchuHjjkc/FQ7ibM29UUfU6dsrGt7cCxkBzJ28bvIhlWX2lGFPtN/3ikPhj +# +jL+VOO3O27Ck6CyDx6IHqusLbyRSdiZJ1g3Dr9aiV18ugY+AME5gXomPAOmt4tL +# EfMDoz9BPy2QI0ynUkFu52GcVpaQtp2wUMfhZCp9cC47x2+bN+2YRIJCX7NM1dLT +# X65qxbc5cqg6cgKw44i/BJ4uNlcBe8UJHH/vaUqCMTFXgRSxjyd0q1zMzRjvZjKp +# Tyw5/jY4+a+2rTunjfJvzcY/Qa9CtjwH/60HMdjojWifCpkzXT/Nh5UauJRgIyHd +# BwiYlIO1tY5bLY+3c3wUzols +# SIG # End signature block diff --git a/Modules/MicrosoftTeams/6.4.0/MicrosoftTeams.psm1 b/Modules/MicrosoftTeams/6.4.0/MicrosoftTeams.psm1 new file mode 100644 index 000000000000..ee974690d0cf --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/MicrosoftTeams.psm1 @@ -0,0 +1,257 @@ +#Check for the source module - Common Denominator +$moduleInfo = Get-Module -name "CommonDenominator" +#Check for the cmdlet +if($moduleInfo -ne $null) { +$dmsIdentifier = Get-command "Get-ClientType" -module "CommonDenominator" -ErrorAction SilentlyContinue +} +if($dmsIdentifier -ne $null) { +$isDms = & Get-ClientType + +if($isDms -eq "DMS") { + $env:MSTeamsContextInternal = "IsOCEModule" +} + +} +if($PSEdition -ne 'Desktop') +{ + Import-Module $('{0}\netcoreapp3.1\Microsoft.TeamsCmdlets.PowerShell.Connect.dll' -f $PSScriptRoot) + if ($env:MSTeamsContextInternal -ne "IsOCEModule") { + Import-Module $('{0}\Microsoft.Teams.PowerShell.TeamsCmdlets.psd1' -f $PSScriptRoot) + } + else + { + Import-Module $('{0}\net472\Microsoft.Teams.Policy.Administration.Cmdlets.OCE.dll' -f $PSScriptRoot) + } + Import-Module $('{0}\netcoreapp3.1\Microsoft.Teams.PowerShell.Module.dll' -f $PSScriptRoot) + +} +else +{ + Import-Module $('{0}\net472\Microsoft.TeamsCmdlets.PowerShell.Connect.dll' -f $PSScriptRoot) + [Reflection.Assembly]::Loadfrom($('{0}\net472\Newtonsoft.Json.dll' -f $PSScriptRoot)) + if ($env:MSTeamsContextInternal -ne "IsOCEModule") { + Import-Module $('{0}\Microsoft.Teams.PowerShell.TeamsCmdlets.psd1' -f $PSScriptRoot) + } + else + { + Import-Module $('{0}\net472\Microsoft.Teams.Policy.Administration.Cmdlets.OCE.dll' -f $PSScriptRoot) + } + Import-Module $('{0}\net472\Microsoft.Teams.PowerShell.Module.dll' -f $PSScriptRoot) +} +Import-Module $('{0}\Microsoft.Teams.Policy.Administration.psd1' -f $PSScriptRoot) +Import-Module $('{0}\Microsoft.Teams.ConfigAPI.Cmdlets.psd1' -f $PSScriptRoot) +# SIG # Begin signature block +# MIInvwYJKoZIhvcNAQcCoIInsDCCJ6wCAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBJponIg6/1vb48 +# stXuS4z8oBYcN1DNZwuhwmt7j7P5CaCCDXYwggX0MIID3KADAgECAhMzAAADrzBA +# DkyjTQVBAAAAAAOvMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMjMxMTE2MTkwOTAwWhcNMjQxMTE0MTkwOTAwWjB0MQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +# AQDOS8s1ra6f0YGtg0OhEaQa/t3Q+q1MEHhWJhqQVuO5amYXQpy8MDPNoJYk+FWA +# hePP5LxwcSge5aen+f5Q6WNPd6EDxGzotvVpNi5ve0H97S3F7C/axDfKxyNh21MG +# 0W8Sb0vxi/vorcLHOL9i+t2D6yvvDzLlEefUCbQV/zGCBjXGlYJcUj6RAzXyeNAN +# xSpKXAGd7Fh+ocGHPPphcD9LQTOJgG7Y7aYztHqBLJiQQ4eAgZNU4ac6+8LnEGAL +# go1ydC5BJEuJQjYKbNTy959HrKSu7LO3Ws0w8jw6pYdC1IMpdTkk2puTgY2PDNzB +# tLM4evG7FYer3WX+8t1UMYNTAgMBAAGjggFzMIIBbzAfBgNVHSUEGDAWBgorBgEE +# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQURxxxNPIEPGSO8kqz+bgCAQWGXsEw +# RQYDVR0RBD4wPKQ6MDgxHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEW +# MBQGA1UEBRMNMjMwMDEyKzUwMTgyNjAfBgNVHSMEGDAWgBRIbmTlUAXTgqoXNzci +# tW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8vd3d3Lm1pY3Jvc29mdC5j +# b20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3JsMGEG +# CCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDovL3d3dy5taWNyb3NvZnQu +# Y29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3J0 +# MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIBAISxFt/zR2frTFPB45Yd +# mhZpB2nNJoOoi+qlgcTlnO4QwlYN1w/vYwbDy/oFJolD5r6FMJd0RGcgEM8q9TgQ +# 2OC7gQEmhweVJ7yuKJlQBH7P7Pg5RiqgV3cSonJ+OM4kFHbP3gPLiyzssSQdRuPY +# 1mIWoGg9i7Y4ZC8ST7WhpSyc0pns2XsUe1XsIjaUcGu7zd7gg97eCUiLRdVklPmp +# XobH9CEAWakRUGNICYN2AgjhRTC4j3KJfqMkU04R6Toyh4/Toswm1uoDcGr5laYn +# TfcX3u5WnJqJLhuPe8Uj9kGAOcyo0O1mNwDa+LhFEzB6CB32+wfJMumfr6degvLT +# e8x55urQLeTjimBQgS49BSUkhFN7ois3cZyNpnrMca5AZaC7pLI72vuqSsSlLalG +# OcZmPHZGYJqZ0BacN274OZ80Q8B11iNokns9Od348bMb5Z4fihxaBWebl8kWEi2O +# PvQImOAeq3nt7UWJBzJYLAGEpfasaA3ZQgIcEXdD+uwo6ymMzDY6UamFOfYqYWXk +# ntxDGu7ngD2ugKUuccYKJJRiiz+LAUcj90BVcSHRLQop9N8zoALr/1sJuwPrVAtx +# HNEgSW+AKBqIxYWM4Ev32l6agSUAezLMbq5f3d8x9qzT031jMDT+sUAoCw0M5wVt +# CUQcqINPuYjbS1WgJyZIiEkBMIIHejCCBWKgAwIBAgIKYQ6Q0gAAAAAAAzANBgkq +# hkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x +# EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv +# bjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5 +# IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEwOTA5WjB+MQswCQYDVQQG +# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG +# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQg +# Q29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC +# CgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+laUKq4BjgaBEm6f8MMHt03 +# a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc6Whe0t+bU7IKLMOv2akr +# rnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4Ddato88tt8zpcoRb0Rrrg +# OGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+lD3v++MrWhAfTVYoonpy +# 4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nkkDstrjNYxbc+/jLTswM9 +# sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6A4aN91/w0FK/jJSHvMAh +# dCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmdX4jiJV3TIUs+UsS1Vz8k +# A/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL5zmhD+kjSbwYuER8ReTB +# w3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zdsGbiwZeBe+3W7UvnSSmn +# Eyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3T8HhhUSJxAlMxdSlQy90 +# lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS4NaIjAsCAwEAAaOCAe0w +# ggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRIbmTlUAXTgqoXNzcitW2o +# ynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYD +# VR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBDuRQFTuHqp8cx0SOJNDBa +# BgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2Ny +# bC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3JsMF4GCCsG +# AQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3dy5taWNyb3NvZnQuY29t +# L3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3J0MIGfBgNV +# HSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEFBQcCARYzaHR0cDovL3d3 +# dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1hcnljcHMuaHRtMEAGCCsG +# AQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkAYwB5AF8AcwB0AGEAdABl +# AG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn8oalmOBUeRou09h0ZyKb +# C5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7v0epo/Np22O/IjWll11l +# hJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0bpdS1HXeUOeLpZMlEPXh6 +# I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/KmtYSWMfCWluWpiW5IP0 +# wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvyCInWH8MyGOLwxS3OW560 +# STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBpmLJZiWhub6e3dMNABQam +# ASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJihsMdYzaXht/a8/jyFqGa +# J+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYbBL7fQccOKO7eZS/sl/ah +# XJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbSoqKfenoi+kiVH6v7RyOA +# 9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sLgOppO6/8MO0ETI7f33Vt +# Y5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtXcVZOSEXAQsmbdlsKgEhr +# /Xmfwb1tbWrJUnMTDXpQzTGCGZ8wghmbAgEBMIGVMH4xCzAJBgNVBAYTAlVTMRMw +# EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN +# aWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNp +# Z25pbmcgUENBIDIwMTECEzMAAAOvMEAOTKNNBUEAAAAAA68wDQYJYIZIAWUDBAIB +# BQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEO +# MAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIADBpasuVHSfoJTNR02qga8z +# 3vkaj9V4PoBJXQ16dJ5RMEIGCisGAQQBgjcCAQwxNDAyoBSAEgBNAGkAYwByAG8A +# cwBvAGYAdKEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20wDQYJKoZIhvcNAQEB +# BQAEggEAXf4DDQo7Qj43198KaIW1seXXlgrgOfnWk2kcMxVhB+g+h6Ehl4xP+2UI +# IBC6Tm58kARGP7RxXbBjbH4CYfASCBr9yPCO/+1R+iQLMSJ9bl2wDe6SfBadELAj +# NdpPI07wpZ1+97lWUUQTO9SqTHwlWruZ4VAY9ffggvJBQp0frDVzFM81NkbWiC6c +# ZKyHxt+2cuCHliImeY9rv4jIMr2Oqrt4FmOGI2FtMQ95DHKohfn+MPuWKCk4j/hu +# wSiaSvNSMOnr0qwKYYU6mvMq7l2aVipuCC/aPFmrw7p/Lx2TvKlmL4MOpvmm160l +# B3ItJx6xYtk9/UOcQMcl78UshQ2mQ6GCFykwghclBgorBgEEAYI3AwMBMYIXFTCC +# FxEGCSqGSIb3DQEHAqCCFwIwghb+AgEDMQ8wDQYJYIZIAWUDBAIBBQAwggFZBgsq +# hkiG9w0BCRABBKCCAUgEggFEMIIBQAIBAQYKKwYBBAGEWQoDATAxMA0GCWCGSAFl +# AwQCAQUABCB+1Bjjcf5mMAmGLX8/0+SjXK73pi0p74FCeYecSjU/tQIGZlcoltiS +# GBMyMDI0MDYxOTExMzEzMC40NTRaMASAAgH0oIHYpIHVMIHSMQswCQYDVQQGEwJV +# UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE +# ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQgSXJl +# bGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNO +# OjE3OUUtNEJCMC04MjQ2MSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBT +# ZXJ2aWNloIIReDCCBycwggUPoAMCAQICEzMAAAHg1PwfExUffl0AAQAAAeAwDQYJ +# KoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x +# EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv +# bjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwHhcNMjMx +# MDEyMTkwNzE5WhcNMjUwMTEwMTkwNzE5WjCB0jELMAkGA1UEBhMCVVMxEzARBgNV +# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv +# c29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxhbmQgT3Bl +# cmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjoxNzlFLTRC +# QjAtODI0NjElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZTCC +# AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKyHnPOhxbvRATnGjb/6fuBh +# h3ZLzotAxAgdLaZ/zkRFUdeSKzyNt3tqorMK7GDvcXdKs+qIMUbvenlH+w53ssPa +# 6rYP760ZuFrABrfserf0kFayNXVzwT7jarJOEjnFMBp+yi+uwQ2TnJuxczceG5FD +# HrII6sF6F879lP6ydY0BBZkZ9t39e/svNRieA5gUnv/YcM/bIMY/QYmd9F0B+ebF +# Yi+PH4AkXahNkFgK85OIaRrDGvhnxOa/5zGL7Oiii7+J9/QHkdJGlfnRfbQ3QXM/ +# 5/umBOKG4JoFY1niZ5RVH5PT0+uCjwcqhTbnvUtfK+N+yB2b9rEZvp2Tv4ZwYzEd +# 9A9VsYMuZiCSbaFMk77LwVbklpnw4aHWJXJkEYmJvxRbcThE8FQyOoVkSuKc5OWZ +# 2+WM/j50oblA0tCU53AauvUOZRoQBh89nHK+m5pOXKXdYMJ+ceuLYF8h5y/cXLQM +# OmqLJz5l7MLqGwU0zHV+MEO8L1Fo2zEEQ4iL4BX8YknKXonHGQacSCaLZot2kyJV +# RsFSxn0PlPvHVp0YdsCMzdeiw9jAZ7K9s1WxsZGEBrK/obipX6uxjEpyUA9mbVPl +# jlb3R4MWI0E2xI/NM6F4Ac8Ceax3YWLT+aWCZeqiIMLxyyWZg+i1KY8ZEzMeNTKC +# EI5wF1wxqr6T1/MQo+8tAgMBAAGjggFJMIIBRTAdBgNVHQ4EFgQUcF4XP26dV+8S +# usoA1XXQ2TDSmdIwHwYDVR0jBBgwFoAUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXwYD +# VR0fBFgwVjBUoFKgUIZOaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9j +# cmwvTWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUyMDIwMTAoMSkuY3JsMGwG +# CCsGAQUFBwEBBGAwXjBcBggrBgEFBQcwAoZQaHR0cDovL3d3dy5taWNyb3NvZnQu +# Y29tL3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIw +# MjAxMCgxKS5jcnQwDAYDVR0TAQH/BAIwADAWBgNVHSUBAf8EDDAKBggrBgEFBQcD +# CDAOBgNVHQ8BAf8EBAMCB4AwDQYJKoZIhvcNAQELBQADggIBAMATzg6R/A0ldO7M +# qGxD1VJji5yVA1hHb0Hc0Yjtv7WkxQ8iwfflulX5Us64tD3+3NT1JkphWzaAWf2w +# KdAw35RxtQG1iON3HEZ0X23nde4Kg/Wfbx5rEHkZ9bzKnR/2N5A16+w/1pbwJzdf +# RcnJT3cLyawr/kYjMWd63OP0Glq70ua4WUE/Po5pU7rQRbWEoQozY24hAqOcwuRc +# m6Cb0JBeTOCeRBntEKgjKep4pRaQt7b9vusT97WeJcfaVosmmPtsZsawgnpIjbBa +# 55tHfuk0vDkZtbIXjU4mr5dns9dnanBdBS2PY3N3hIfCPEOszquwHLkfkFZ/9bxw +# 8/eRJldtoukHo16afE/AqP/smmGJh5ZR0pmgW6QcX+61rdi5kDJTzCFaoMyYzUS0 +# SEbyrDZ/p2KOuKAYNngljiOlllct0uJVz2agfczGjjsKi2AS1WaXvOhgZNmGw42S +# FB1qaloa8Kaux9Q2HHLE8gee/5rgOnx9zSbfVUc7IcRNodq6R7v+Rz+P6XKtOgyC +# qW/+rhPmp/n7Fq2BGTRkcy//hmS32p6qyglr2K4OoJDJXxFs6lwc8D86qlUeGjUy +# o7hVy5VvyA+y0mGnEAuA85tsOcUPlzwWF5sv+B5fz35OW3X4Spk5SiNulnLFRPM5 +# XCsSHqvcbC8R3qwj2w1evPhZxDuNMIIHcTCCBVmgAwIBAgITMwAAABXF52ueAptJ +# mQAAAAAAFTANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT +# Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m +# dCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNh +# dGUgQXV0aG9yaXR5IDIwMTAwHhcNMjEwOTMwMTgyMjI1WhcNMzAwOTMwMTgzMjI1 +# WjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH +# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQD +# Ex1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDCCAiIwDQYJKoZIhvcNAQEB +# BQADggIPADCCAgoCggIBAOThpkzntHIhC3miy9ckeb0O1YLT/e6cBwfSqWxOdcjK +# NVf2AX9sSuDivbk+F2Az/1xPx2b3lVNxWuJ+Slr+uDZnhUYjDLWNE893MsAQGOhg +# fWpSg0S3po5GawcU88V29YZQ3MFEyHFcUTE3oAo4bo3t1w/YJlN8OWECesSq/XJp +# rx2rrPY2vjUmZNqYO7oaezOtgFt+jBAcnVL+tuhiJdxqD89d9P6OU8/W7IVWTe/d +# vI2k45GPsjksUZzpcGkNyjYtcI4xyDUoveO0hyTD4MmPfrVUj9z6BVWYbWg7mka9 +# 7aSueik3rMvrg0XnRm7KMtXAhjBcTyziYrLNueKNiOSWrAFKu75xqRdbZ2De+JKR +# Hh09/SDPc31BmkZ1zcRfNN0Sidb9pSB9fvzZnkXftnIv231fgLrbqn427DZM9itu +# qBJR6L8FA6PRc6ZNN3SUHDSCD/AQ8rdHGO2n6Jl8P0zbr17C89XYcz1DTsEzOUyO +# ArxCaC4Q6oRRRuLRvWoYWmEBc8pnol7XKHYC4jMYctenIPDC+hIK12NvDMk2ZItb +# oKaDIV1fMHSRlJTYuVD5C4lh8zYGNRiER9vcG9H9stQcxWv2XFJRXRLbJbqvUAV6 +# bMURHXLvjflSxIUXk8A8FdsaN8cIFRg/eKtFtvUeh17aj54WcmnGrnu3tz5q4i6t +# AgMBAAGjggHdMIIB2TASBgkrBgEEAYI3FQEEBQIDAQABMCMGCSsGAQQBgjcVAgQW +# BBQqp1L+ZMSavoKRPEY1Kc8Q/y8E7jAdBgNVHQ4EFgQUn6cVXQBeYl2D9OXSZacb +# UzUZ6XIwXAYDVR0gBFUwUzBRBgwrBgEEAYI3TIN9AQEwQTA/BggrBgEFBQcCARYz +# aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnku +# aHRtMBMGA1UdJQQMMAoGCCsGAQUFBwMIMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIA +# QwBBMAsGA1UdDwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNX2 +# VsuP6KJcYmjRPZSQW9fOmhjEMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwu +# bWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dF8yMDEw +# LTA2LTIzLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93 +# d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYt +# MjMuY3J0MA0GCSqGSIb3DQEBCwUAA4ICAQCdVX38Kq3hLB9nATEkW+Geckv8qW/q +# XBS2Pk5HZHixBpOXPTEztTnXwnE2P9pkbHzQdTltuw8x5MKP+2zRoZQYIu7pZmc6 +# U03dmLq2HnjYNi6cqYJWAAOwBb6J6Gngugnue99qb74py27YP0h1AdkY3m2CDPVt +# I1TkeFN1JFe53Z/zjj3G82jfZfakVqr3lbYoVSfQJL1AoL8ZthISEV09J+BAljis +# 9/kpicO8F7BUhUKz/AyeixmJ5/ALaoHCgRlCGVJ1ijbCHcNhcy4sa3tuPywJeBTp +# kbKpW99Jo3QMvOyRgNI95ko+ZjtPu4b6MhrZlvSP9pEB9s7GdP32THJvEKt1MMU0 +# sHrYUP4KWN1APMdUbZ1jdEgssU5HLcEUBHG/ZPkkvnNtyo4JvbMBV0lUZNlz138e +# W0QBjloZkWsNn6Qo3GcZKCS6OEuabvshVGtqRRFHqfG3rsjoiV5PndLQTHa1V1QJ +# sWkBRH58oWFsc/4Ku+xBZj1p/cvBQUl+fpO+y/g75LcVv7TOPqUxUYS8vwLBgqJ7 +# Fx0ViY1w/ue10CgaiQuPNtq6TPmb/wrpNPgkNWcr4A245oyZ1uEi6vAnQj0llOZ0 +# dFtq0Z4+7X6gMTN9vMvpe784cETRkPHIqzqKOghif9lwY1NNje6CbaUFEMFxBmoQ +# tB1VM1izoXBm8qGCAtQwggI9AgEBMIIBAKGB2KSB1TCB0jELMAkGA1UEBhMCVVMx +# EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoT +# FU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxh +# bmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjox +# NzlFLTRCQjAtODI0NjElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2Vy +# dmljZaIjCgEBMAcGBSsOAwIaAxUAbfPR1fBX6HxYfyPx8zYzJU5fIQyggYMwgYCk +# fjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH +# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQD +# Ex1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDANBgkqhkiG9w0BAQUFAAIF +# AOocq8EwIhgPMjAyNDA2MTkwODU4NDFaGA8yMDI0MDYyMDA4NTg0MVowdDA6Bgor +# BgEEAYRZCgQBMSwwKjAKAgUA6hyrwQIBADAHAgEAAgIaWzAHAgEAAgITsjAKAgUA +# 6h39QQIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMCoAowCAIBAAID +# B6EgoQowCAIBAAIDAYagMA0GCSqGSIb3DQEBBQUAA4GBAJIuuVFYUQU5IU7i2CmA +# y8JOOS1BjvQtR8D1taNqlY/Obbo90t63KC2Sk12ZKb5Lbcd8ePBna4JUQS+hu8HV +# +ex7BYonkVb26bj7LU5KKyDLFYm+AWBfj/ORDspEFEfVJG5VSJivyZT8quZnNZ8m +# zlalXajq5P2LnR6JonVbXrV/MYIEDTCCBAkCAQEwgZMwfDELMAkGA1UEBhMCVVMx +# EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoT +# FU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUt +# U3RhbXAgUENBIDIwMTACEzMAAAHg1PwfExUffl0AAQAAAeAwDQYJYIZIAWUDBAIB +# BQCgggFKMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQx +# IgQgLz1AEWfpofj9C4vPnZi5P0hsNOwGPbjxP7ldzDsFI9wwgfoGCyqGSIb3DQEJ +# EAIvMYHqMIHnMIHkMIG9BCDj7lK/8jnlbTjPvc77DCCSb4TZApY9nJm5whsK/2kK +# wTCBmDCBgKR+MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAw +# DgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24x +# JjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAB4NT8 +# HxMVH35dAAEAAAHgMCIEIN2I6g1PbSzI9y97EQKD48U59kkNC9WHjsho4W0xNvBd +# MA0GCSqGSIb3DQEBCwUABIICADkz+BkHZYe/jRBuFUcTUMvt36ltA2vBVI7XtIC+ +# Swp2wRWWG/bvS3O0mJRa/odh6HT6HFYEQ+kxSnvCpiBSnMPBbeq5Hsj73ZgSzum0 +# AinpD9WKBCsSVk0mYQX+6ev0Ke74ptVSb8ummAtX/yujucZwv9DZlBVhb91vyPCl +# T1ltAMcRBcLDVd12fA8ClXZdI5MxRPjSPsfR8AoOddebg6Yd5YdIOpGukKURCJaQ +# ZFQQ6jKc/1KVdjUqguV8Qb58hS+pywnECBHtt4wWax3IGgJVOm5kA5mmfh6AbqF3 +# A+uRqRwKRO5QEkcZPbd1MXr/TOTcdQAkg1v+FImf5E9m4/RWBSV/EgPc2KuBVb7V +# pFvPn0lrK9BcwV6suydYB16jo+WVw0N/wE9OgBdpoD3u6Onx7YR5Aq/nuOpX5c4Z +# HwUNjev2q9dOfzfvqRhBD+WxU26g19/NUNFNYRD9QXYjvnFaLuDfMObB8Xu4Oiyu +# auiRz9Y1iBYAKFuHi43Vy/twlKDQdonNw8R0a5d5OlJX0NyGhOG54PRvENOedoiV +# oT2LJj5qrCkwpxSX/TLJbFhK4zZNH1+IKW5mZ7FzQp4536lyi+ESjtHYQ9TdGb1F +# S4riEO5Bx0PkxpmGDqsMBC+MhtMUHrDvv565YTiQnZUMBLhwPBnEEz099hq0ihdI +# +kp5 +# SIG # End signature block diff --git a/Modules/MicrosoftTeams/6.4.0/PSGetModuleInfo.xml b/Modules/MicrosoftTeams/6.4.0/PSGetModuleInfo.xml new file mode 100644 index 000000000000..faf2cdb3bad3 --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/PSGetModuleInfo.xml @@ -0,0 +1,1361 @@ + + + + Microsoft.PowerShell.Commands.PSRepositoryItemInfo + System.Management.Automation.PSCustomObject + System.Object + + + MicrosoftTeams + 6.4.0 + Module + Microsoft Teams cmdlets module for Windows PowerShell and PowerShell Core._x000D__x000A__x000D__x000A_For more information, please visit the following: https://docs.microsoft.com/MicrosoftTeams/teams-powershell-overview + Microsoft Corporation + MicrosoftTeams + Microsoft Corporation. All rights reserved. +
    2024-06-19T13:46:26-04:00
    + + + https://raw.githubusercontent.com/MicrosoftDocs/office-docs-powershell/master/teams/LICENSE.txt + https://github.com/MicrosoftDocs/office-docs-powershell/tree/master/teams + https://statics.teams.microsoft.com/evergreen-assets/apps/teamscmdlets_largeimage.png + + + System.Object[] + System.Array + System.Object + + + Office365 + MicrosoftTeams + Teams + PSModule + PSEdition_Core + PSEdition_Desktop + + + + + System.Collections.Hashtable + System.Object + + + + Cmdlet + + + + Add-TeamChannelUser + Add-TeamUser + Connect-MicrosoftTeams + Disconnect-MicrosoftTeams + Set-TeamsEnvironmentConfig + Clear-TeamsEnvironmentConfig + Get-AssociatedTeam + Get-MultiGeoRegion + Get-Operation + Get-SharedWithTeam + Get-SharedWithTeamUser + Get-Team + Get-TeamAllChannel + Get-TeamChannel + Get-TeamChannelUser + Get-TeamIncomingChannel + Get-TeamsApp + Get-TeamUser + Get-M365TeamsApp + Get-AllM365TeamsApps + Get-CsTeamsMessagingPolicy + Get-CsTeamsMeetingPolicy + Get-CsOnlineVoicemailPolicy + Get-CsOnlineVoicemailValidationConfiguration + Get-CsTeamsFeedbackPolicy + Get-CsTeamsUpdateManagementPolicy + Get-CsTeamsChannelsPolicy + Get-CsTeamsMeetingBrandingPolicy + Get-CsTeamsEmergencyCallingPolicy + Get-CsTeamsCallHoldPolicy + Get-CsTeamsMessagingConfiguration + Get-CsTeamsVoiceApplicationsPolicy + Get-CsTeamsEventsPolicy + Get-CsTeamsFilesPolicy + Get-CsTeamsCallingPolicy + Get-CsExternalAccessPolicy + Get-CsTeamsAppPermissionPolicy + Get-CsTeamsAppSetupPolicy + Get-CsTeamsFirstPartyMeetingTemplateConfiguration + Get-CsTeamsMeetingTemplatePermissionPolicy + Get-CsLocationPolicy + Get-CsTeamsShiftsPolicy + Get-CsTenantNetworkSite + Get-CsTeamsCarrierEmergencyCallRoutingPolicy + Get-CsTeamsMeetingTemplateConfiguration + Get-CsTeamsVirtualAppointmentsPolicy + Get-CsTeamsSharedCallingRoutingPolicy + Get-CsTeamsTemplatePermissionPolicy + Get-CsTeamsComplianceRecordingPolicy + Get-CsTeamsComplianceRecordingApplication + Get-CsTeamsUpgradeConfiguration + Get-CsTeamsAudioConferencingCustomPromptsConfiguration + Get-CsTeamsSipDevicesConfiguration + Get-CsTeamsCustomBannerText + Get-CsTeamsVdiPolicy + Get-CsTeamsMediaConnectivityPolicy + Get-CsTeamsMeetingConfiguration + Get-CsTeamsWorkLocationDetectionPolicy + Get-CsTeamsRecordingRollOutPolicy + Get-CsTeamsEducationConfiguration + Grant-CsTeamsMeetingBrandingPolicy + Grant-CsExternalAccessPolicy + Grant-CsTeamsCallingPolicy + Grant-CsTeamsAppPermissionPolicy + Grant-CsTeamsAppSetupPolicy + Grant-CsTeamsEventsPolicy + Grant-CsTeamsFilesPolicy + Grant-CsTeamsMediaConnectivityPolicy + Grant-CsTeamsMeetingTemplatePermissionPolicy + Grant-CsTeamsCarrierEmergencyCallRoutingPolicy + Grant-CsTeamsVirtualAppointmentsPolicy + Grant-CsTeamsSharedCallingRoutingPolicy + Grant-CsTeamsShiftsPolicy + Grant-CsTeamsRecordingRollOutPolicy + Grant-CsTeamsVdiPolicy + Grant-CsTeamsWorkLocationDetectionPolicy + New-Team + New-TeamChannel + New-TeamsApp + New-CsTeamsMessagingPolicy + New-CsTeamsMeetingPolicy + New-CsOnlineVoicemailPolicy + New-CsTeamsFeedbackPolicy + New-CsTeamsUpdateManagementPolicy + New-CsTeamsChannelsPolicy + New-CsTeamsFilesPolicy + New-CsTeamsMediaConnectivityPolicy + New-CsTeamsMeetingBrandingTheme + New-CsTeamsMeetingBackgroundImage + New-CsTeamsNdiAssuranceSlate + New-CsTeamsMeetingBrandingPolicy + New-CsTeamsEmergencyCallingPolicy + New-CsTeamsEmergencyCallingExtendedNotification + New-CsTeamsCallHoldPolicy + New-CsTeamsVoiceApplicationsPolicy + New-CsTeamsEventsPolicy + New-CsTeamsCallingPolicy + New-CsExternalAccessPolicy + New-CsTeamsAppPermissionPolicy + New-CsTeamsAppSetupPolicy + New-CsTeamsMeetingTemplatePermissionPolicy + New-CsLocationPolicy + New-CsTeamsCarrierEmergencyCallRoutingPolicy + New-CsTeamsHiddenMeetingTemplate + New-CsTeamsVirtualAppointmentsPolicy + New-CsTeamsSharedCallingRoutingPolicy + New-CsTeamsHiddenTemplate + New-CsTeamsTemplatePermissionPolicy + New-CsTeamsComplianceRecordingPolicy + New-CsTeamsComplianceRecordingApplication + New-CsTeamsComplianceRecordingPairedApplication + New-CsTeamsWorkLocationDetectionPolicy + New-CsTeamsRecordingRollOutPolicy + New-CsCustomPrompt + New-CsCustomPromptPackage + New-CsTeamsShiftsPolicy + New-CsTeamsCustomBannerText + New-CsTeamsVdiPolicy + Remove-SharedWithTeam + Remove-Team + Remove-TeamChannel + Remove-TeamChannelUser + Remove-TeamsApp + Remove-TeamUser + Remove-CsTeamsMessagingPolicy + Remove-CsTeamsMeetingPolicy + Remove-CsOnlineVoicemailPolicy + Remove-CsTeamsFeedbackPolicy + Remove-CsTeamsFilesPolicy + Remove-CsTeamsUpdateManagementPolicy + Remove-CsTeamsChannelsPolicy + Remove-CsTeamsMediaConnectivityPolicy + Remove-CsTeamsMeetingBrandingPolicy + Remove-CsTeamsEmergencyCallingPolicy + Remove-CsTeamsCallHoldPolicy + Remove-CsTeamsVoiceApplicationsPolicy + Remove-CsTeamsEventsPolicy + Remove-CsTeamsCallingPolicy + Remove-CsExternalAccessPolicy + Remove-CsTeamsAppPermissionPolicy + Remove-CsTeamsAppSetupPolicy + Remove-CsTeamsMeetingTemplatePermissionPolicy + Remove-CsLocationPolicy + Remove-CsTeamsCarrierEmergencyCallRoutingPolicy + Remove-CsTeamsVirtualAppointmentsPolicy + Remove-CsTeamsSharedCallingRoutingPolicy + Remove-CsTeamsTemplatePermissionPolicy + Remove-CsTeamsComplianceRecordingPolicy + Remove-CsTeamsComplianceRecordingApplication + Remove-CsTeamsShiftsPolicy + Remove-CsTeamsCustomBannerText + Remove-CsTeamsVdiPolicy + Remove-CsTeamsWorkLocationDetectionPolicy + Remove-CsTeamsRecordingRollOutPolicy + Set-Team + Set-TeamArchivedState + Set-TeamChannel + Set-TeamPicture + Set-TeamsApp + Set-CsTeamsMessagingPolicy + Set-CsTeamsMeetingPolicy + Set-CsOnlineVoicemailPolicy + Set-CsTeamsFilesPolicy + Set-CsOnlineVoicemailValidationConfiguration + Set-CsTeamsFeedbackPolicy + Set-CsTeamsUpdateManagementPolicy + Set-CsTeamsChannelsPolicy + Set-CsTeamsMediaConnectivityPolicy + Set-CsTeamsMeetingBrandingPolicy + Set-CsTeamsEmergencyCallingPolicy + Set-CsTeamsCallHoldPolicy + Set-CsTeamsMessagingConfiguration + Set-CsTeamsVoiceApplicationsPolicy + Set-CsTeamsEventsPolicy + Set-CsTeamsCallingPolicy + Set-CsExternalAccessPolicy + Set-CsTeamsAppPermissionPolicy + Set-CsTeamsAppSetupPolicy + Set-CsTeamsFirstPartyMeetingTemplateConfiguration + Set-CsTeamsMeetingTemplatePermissionPolicy + Set-CsLocationPolicy + Set-CsTeamsCarrierEmergencyCallRoutingPolicy + Set-CsTeamsVirtualAppointmentsPolicy + Set-CsTeamsSharedCallingRoutingPolicy + Set-CsTeamsTemplatePermissionPolicy + Set-CsTeamsComplianceRecordingPolicy + Set-CsTeamsComplianceRecordingApplication + Set-CsTeamsShiftsPolicy + Set-CsTeamsUpgradeConfiguration + Set-CsTeamsAudioConferencingCustomPromptsConfiguration + Set-CsTeamsSipDevicesConfiguration + Set-CsTeamsMeetingConfiguration + Set-CsTeamsVdiPolicy + Set-CsTeamsWorkLocationDetectionPolicy + Set-CsTeamsRecordingRollOutPolicy + Set-CsTeamsCustomBannerText + Set-CsTeamsEducationConfiguration + Update-M365TeamsApp + Get-CsBatchOperationDefinition + Get-CsBatchOperationStatus + Get-CsConfiguration + Get-CsGroupPolicyAssignments + Get-CsLoginInfo + Get-CsUserProvHistory + Get-GPAGroupMembers + Get-GPAUserMembership + Get-NgtProvInstanceFailOverStatus + Invoke-CsDirectoryObjectSync + Invoke-CsGenericNgtProvCommand + Invoke-CsRefreshGroupUsers + Invoke-CsReprocessBatchOperation + Invoke-CsReprocessGroupPolicyAssignment + Move-NgtProvInstance + New-CsConfiguration + Remove-CsConfiguration + Set-CsConfiguration + Get-TeamTargetingHierarchyStatus + Remove-TeamTargetingHierarchy + Set-TeamTargetingHierarchy + + + + + Workflow + + + + + + + Function + + + + Clear-CsOnlineTelephoneNumberOrder + Complete-CsOnlineTelephoneNumberOrder + Disable-CsOnlineSipDomain + Enable-CsOnlineSipDomain + Export-CsAutoAttendantHolidays + Export-CsOnlineAudioFile + Find-CsGroup + Find-CsOnlineApplicationInstance + Get-CsApplicationAccessPolicy + Get-CsApplicationMeetingConfiguration + Get-CsAutoAttendant + Get-CsAutoAttendantHolidays + Get-CsAutoAttendantStatus + Get-CsAutoAttendantSupportedLanguage + Get-CsAutoAttendantSupportedTimeZone + Get-CsAutoAttendantTenantInformation + Get-CsBatchPolicyAssignmentOperation + Get-CsCallingLineIdentity + Get-CsCallQueue + Get-CsCloudCallDataConnection + Get-CsDialPlan + Get-CsEffectiveTenantDialPlan + Get-CsGroupPolicyAssignment + Get-CsHybridTelephoneNumber + Get-CsInboundBlockedNumberPattern + Get-CsInboundExemptNumberPattern + Get-CsMeetingMigrationStatus + Get-CsOnlineApplicationInstance + Get-CsOnlineApplicationInstanceAssociation + Get-CsOnlineApplicationInstanceAssociationStatus + Get-CsOnlineAudioConferencingRoutingPolicy + Get-CsOnlineAudioFile + Get-CsOnlineDialInConferencingBridge + Get-CsOnlineDialInConferencingLanguagesSupported + Get-CsOnlineDialinConferencingPolicy + Get-CsOnlineDialInConferencingServiceNumber + Get-CsOnlineDialinConferencingTenantConfiguration + Get-CsOnlineDialInConferencingTenantSettings + Get-CsOnlineDialInConferencingUser + Get-CsOnlineDialOutPolicy + Get-CsOnlineDirectoryTenant + Get-CsOnlineEnhancedEmergencyServiceDisclaimer + Get-CsOnlineLisCivicAddress + Get-CsOnlineLisLocation + Get-CsOnlineLisPort + Get-CsOnlineLisSubnet + Get-CsOnlineLisSwitch + Get-CsOnlineLisWirelessAccessPoint + Get-CsOnlinePowerShellEndpoint + Get-CsOnlinePSTNGateway + Get-CsOnlinePstnUsage + Get-CsOnlineSchedule + Get-CsOnlineSipDomain + Get-CsOnlineTelephoneNumber + Get-CsOnlineTelephoneNumberCountry + Get-CsOnlineTelephoneNumberOrder + Get-CsOnlineTelephoneNumberType + Get-CsOnlineUser + Get-CsOnlineVoicemailUserSettings + Get-CsOnlineVoiceRoute + Get-CsOnlineVoiceRoutingPolicy + Get-CsOnlineVoiceUser + Get-CsPhoneNumberAssignment + Get-CsPolicyPackage + Get-CsPrivacyConfiguration + Get-CsSdgBulkSignInRequestStatus + Get-CsSDGBulkSignInRequestsSummary + Get-CsTeamsAcsFederationConfiguration + Get-CsTeamsAudioConferencingPolicy + Get-CsTeamsCallParkPolicy + Get-CsTeamsClientConfiguration + Get-CsTeamsCortanaPolicy + Get-CsTeamsEducationAssignmentsAppPolicy + Get-CsTeamsEmergencyCallRoutingPolicy + Get-CsTeamsEnhancedEncryptionPolicy + Get-CsTeamsGuestCallingConfiguration + Get-CsTeamsGuestMeetingConfiguration + Get-CsTeamsGuestMessagingConfiguration + Get-CsTeamsIPPhonePolicy + Get-CsTeamsMediaLoggingPolicy + Get-CsTeamsMeetingBroadcastConfiguration + Get-CsTeamsMeetingBroadcastPolicy + Get-CsTeamsMigrationConfiguration + Get-CsTeamsMobilityPolicy + Get-CsTeamsNetworkRoamingPolicy + Get-CsTeamsNotificationAndFeedsPolicy + Get-CsTeamsRoomVideoTeleConferencingPolicy + Get-CsTeamsSettingsCustomApp + Get-CsTeamsShiftsAppPolicy + Get-CsTeamsShiftsConnectionConnector + Get-CsTeamsShiftsConnectionErrorReport + Get-CsTeamsShiftsConnection + Get-CsTeamsShiftsConnectionInstance + Get-CsTeamsShiftsConnectionOperation + Get-CsTeamsShiftsConnectionSyncResult + Get-CsTeamsShiftsConnectionTeamMap + Get-CsTeamsShiftsConnectionWfmTeam + Get-CsTeamsShiftsConnectionWfmUser + Get-CsTeamsSurvivableBranchAppliance + Get-CsTeamsSurvivableBranchAppliancePolicy + Get-CsTeamsTargetingPolicy + Get-CsTeamsTranslationRule + Get-CsTeamsUnassignedNumberTreatment + Get-CsTeamsUpgradePolicy + Get-CsTeamsVdiPolicy + Get-CsTeamsVideoInteropServicePolicy + Get-CsTeamsWorkLoadPolicy + Get-CsTeamTemplate + Get-CsTeamTemplateList + Get-CsTenant + Get-CsTenantBlockedCallingNumbers + Get-CsTenantDialPlan + Get-CsTenantFederationConfiguration + Get-CsTenantLicensingConfiguration + Get-CsTenantMigrationConfiguration + Get-CsTenantNetworkConfiguration + Get-CsTenantNetworkRegion + Get-CsTenantNetworkSubnet + Get-CsTenantTrustedIPAddress + Get-CsUserCallingSettings + Get-CsUserPolicyAssignment + Get-CsUserPolicyPackage + Get-CsUserPolicyPackageRecommendation + Get-CsVideoInteropServiceProvider + Grant-CsApplicationAccessPolicy + Grant-CsCallingLineIdentity + Grant-CsDialoutPolicy + Grant-CsGroupPolicyPackageAssignment + Grant-CsOnlineAudioConferencingRoutingPolicy + Grant-CsOnlineVoicemailPolicy + Grant-CsOnlineVoiceRoutingPolicy + Grant-CsTeamsAudioConferencingPolicy + Grant-CsTeamsCallHoldPolicy + Grant-CsTeamsCallParkPolicy + Grant-CsTeamsChannelsPolicy + Grant-CsTeamsCortanaPolicy + Grant-CsTeamsEmergencyCallingPolicy + Grant-CsTeamsEmergencyCallRoutingPolicy + Grant-CsTeamsEnhancedEncryptionPolicy + Grant-CsTeamsFeedbackPolicy + Grant-CsTeamsIPPhonePolicy + Grant-CsTeamsMediaLoggingPolicy + Grant-CsTeamsMeetingBroadcastPolicy + Grant-CsTeamsMeetingPolicy + Grant-CsTeamsMessagingPolicy + Grant-CsTeamsMobilityPolicy + Grant-CsTeamsRoomVideoTeleConferencingPolicy + Grant-CsTeamsSurvivableBranchAppliancePolicy + Grant-CsTeamsUpdateManagementPolicy + Grant-CsTeamsUpgradePolicy + Grant-CsTeamsVideoInteropServicePolicy + Grant-CsTeamsVoiceApplicationsPolicy + Grant-CsTeamsWorkLoadPolicy + Grant-CsTenantDialPlan + Grant-CsUserPolicyPackage + Grant-CsTeamsComplianceRecordingPolicy + Import-CsAutoAttendantHolidays + Import-CsOnlineAudioFile + Invoke-CsInternalPSTelemetry + Move-CsInternalHelper + New-CsApplicationAccessPolicy + New-CsAutoAttendant + New-CsAutoAttendantCallableEntity + New-CsAutoAttendantCallFlow + New-CsAutoAttendantCallHandlingAssociation + New-CsAutoAttendantDialScope + New-CsAutoAttendantMenu + New-CsAutoAttendantMenuOption + New-CsAutoAttendantPrompt + New-CsBatchPolicyAssignmentOperation + New-CsBatchPolicyPackageAssignmentOperation + New-CsCallingLineIdentity + New-CsCallQueue + New-CsCloudCallDataConnection + New-CsCustomPolicyPackage + New-CsEdgeAllowAllKnownDomains + New-CsEdgeAllowList + New-CsEdgeDomainPattern + New-CsGroupPolicyAssignment + New-CsHybridTelephoneNumber + New-CsInboundBlockedNumberPattern + New-CsInboundExemptNumberPattern + New-CsOnlineApplicationInstance + New-CsOnlineApplicationInstanceAssociation + New-CsOnlineAudioConferencingRoutingPolicy + New-CsOnlineDateTimeRange + New-CsOnlineLisCivicAddress + New-CsOnlineLisLocation + New-CsOnlinePSTNGateway + New-CsOnlineSchedule + New-CsOnlineTelephoneNumberOrder + New-CsOnlineTimeRange + New-CsOnlineVoiceRoute + New-CsOnlineVoiceRoutingPolicy + New-CsSdgBulkSignInRequest + New-CsTeamsAudioConferencingPolicy + New-CsTeamsCallParkPolicy + New-CsTeamsCortanaPolicy + New-CsTeamsEmergencyCallRoutingPolicy + New-CsTeamsEmergencyNumber + New-CsTeamsEnhancedEncryptionPolicy + New-CsTeamsIPPhonePolicy + New-CsTeamsMeetingBroadcastPolicy + New-CsTeamsMobilityPolicy + New-CsTeamsNetworkRoamingPolicy + New-CsTeamsRoomVideoTeleConferencingPolicy + New-CsTeamsShiftsConnectionBatchTeamMap + New-CsTeamsShiftsConnection + New-CsTeamsShiftsConnectionInstance + New-CsTeamsSurvivableBranchAppliance + New-CsTeamsSurvivableBranchAppliancePolicy + New-CsTeamsTranslationRule + New-CsTeamsUnassignedNumberTreatment + New-CsTeamsVdiPolicy + New-CsTeamsWorkLoadPolicy + New-CsTeamTemplate + New-CsTenantDialPlan + New-CsTenantNetworkRegion + New-CsTenantNetworkSite + New-CsTenantNetworkSubnet + New-CsTenantTrustedIPAddress + New-CsUserCallingDelegate + New-CsVideoInteropServiceProvider + New-CsVoiceNormalizationRule + Register-CsOnlineDialInConferencingServiceNumber + Remove-CsApplicationAccessPolicy + Remove-CsAutoAttendant + Remove-CsCallingLineIdentity + Remove-CsCallQueue + Remove-CsCustomPolicyPackage + Remove-CsGroupPolicyAssignment + Remove-CsHybridTelephoneNumber + Remove-CsInboundBlockedNumberPattern + Remove-CsInboundExemptNumberPattern + Remove-CsOnlineApplicationInstanceAssociation + Remove-CsOnlineAudioConferencingRoutingPolicy + Remove-CsOnlineAudioFile + Remove-CsOnlineDialInConferencingTenantSettings + Remove-CsOnlineLisCivicAddress + Remove-CsOnlineLisLocation + Remove-CsOnlineLisPort + Remove-CsOnlineLisSubnet + Remove-CsOnlineLisSwitch + Remove-CsOnlineLisWirelessAccessPoint + Remove-CsOnlinePSTNGateway + Remove-CsOnlineSchedule + Remove-CsOnlineTelephoneNumber + Remove-CsOnlineVoiceRoute + Remove-CsOnlineVoiceRoutingPolicy + Remove-CsPhoneNumberAssignment + Remove-CsTeamsAudioConferencingPolicy + Remove-CsTeamsCallParkPolicy + Remove-CsTeamsCortanaPolicy + Remove-CsTeamsEmergencyCallRoutingPolicy + Remove-CsTeamsEnhancedEncryptionPolicy + Remove-CsTeamsIPPhonePolicy + Remove-CsTeamsMeetingBroadcastPolicy + Remove-CsTeamsMobilityPolicy + Remove-CsTeamsNetworkRoamingPolicy + Remove-CsTeamsNotificationAndFeedsPolicy + Remove-CsTeamsRoomVideoTeleConferencingPolicy + Remove-CsTeamsShiftsConnection + Remove-CsTeamsShiftsConnectionInstance + Remove-CsTeamsShiftsConnectionTeamMap + Remove-CsTeamsShiftsScheduleRecord + Remove-CsTeamsSurvivableBranchAppliance + Remove-CsTeamsSurvivableBranchAppliancePolicy + Remove-CsTeamsTargetingPolicy + Remove-CsTeamsTranslationRule + Remove-CsTeamsUnassignedNumberTreatment + Remove-CsTeamsVdiPolicy + Remove-CsTeamsWorkLoadPolicy + Remove-CsTeamTemplate + Remove-CsTenantDialPlan + Remove-CsTenantNetworkRegion + Remove-CsTenantNetworkSite + Remove-CsTenantNetworkSubnet + Remove-CsTenantTrustedIPAddress + Remove-CsUserCallingDelegate + Remove-CsUserLicenseGracePeriod + Remove-CsVideoInteropServiceProvider + Set-CsApplicationAccessPolicy + Set-CsApplicationMeetingConfiguration + Set-CsAutoAttendant + Set-CsCallingLineIdentity + Set-CsCallQueue + Set-CsInboundBlockedNumberPattern + Set-CsInboundExemptNumberPattern + Set-CsInternalOnlinePowerShellEndpoint + Set-CsOnlineApplicationInstance + Set-CsOnlineAudioConferencingRoutingPolicy + Set-CsOnlineDialInConferencingBridge + Set-CsOnlineDialInConferencingServiceNumber + Set-CsOnlineDialInConferencingTenantSettings + Set-CsOnlineDialInConferencingUser + Set-CsOnlineDialInConferencingUserDefaultNumber + Set-CsOnlineEnhancedEmergencyServiceDisclaimer + Set-CsOnlineLisCivicAddress + Set-CsOnlineLisLocation + Set-CsOnlineLisPort + Set-CsOnlineLisSubnet + Set-CsOnlineLisSwitch + Set-CsOnlineLisWirelessAccessPoint + Set-CsOnlinePSTNGateway + Set-CsOnlinePstnUsage + Set-CsOnlineSchedule + Set-CsOnlineVoiceApplicationInstance + Set-CsOnlineVoicemailUserSettings + Set-CsOnlineVoiceRoute + Set-CsOnlineVoiceRoutingPolicy + Set-CsOnlineVoiceUser + Set-CsPhoneNumberAssignment + Set-CsPrivacyConfiguration + Set-CsTeamsAcsFederationConfiguration + Set-CsTeamsAudioConferencingPolicy + Set-CsTeamsCallParkPolicy + Set-CsTeamsClientConfiguration + Set-CsTeamsCortanaPolicy + Set-CsTeamsEducationAssignmentsAppPolicy + Set-CsTeamsEmergencyCallRoutingPolicy + Set-CsTeamsEnhancedEncryptionPolicy + Set-CsTeamsGuestCallingConfiguration + Set-CsTeamsGuestMeetingConfiguration + Set-CsTeamsGuestMessagingConfiguration + Set-CsTeamsIPPhonePolicy + Set-CsTeamsMeetingBroadcastConfiguration + Set-CsTeamsMeetingBroadcastPolicy + Set-CsTeamsMigrationConfiguration + Set-CsTeamsMobilityPolicy + Set-CsTeamsNetworkRoamingPolicy + Set-CsTeamsNotificationAndFeedsPolicy + Set-CsTeamsRoomVideoTeleConferencingPolicy + Set-CsTeamsSettingsCustomApp + Set-CsTeamsShiftsAppPolicy + Set-CsTeamsShiftsConnection + Set-CsTeamsShiftsConnectionInstance + Set-CsTeamsSurvivableBranchAppliance + Set-CsTeamsSurvivableBranchAppliancePolicy + Set-CsTeamsTargetingPolicy + Set-CsTeamsTranslationRule + Set-CsTeamsUnassignedNumberTreatment + Set-CsTeamsVdiPolicy + Set-CsTeamsWorkLoadPolicy + Set-CsTenantBlockedCallingNumbers + Set-CsTenantDialPlan + Set-CsTenantFederationConfiguration + Set-CsTenantMigrationConfiguration + Set-CsTenantNetworkRegion + Set-CsTenantNetworkSite + Set-CsTenantNetworkSubnet + Set-CsTenantTrustedIPAddress + Set-CsUser + Set-CsUserCallingDelegate + Set-CsUserCallingSettings + Set-CsVideoInteropServiceProvider + Start-CsExMeetingMigration + Sync-CsOnlineApplicationInstance + Test-CsEffectiveTenantDialPlan + Test-CsInboundBlockedNumberPattern + Test-CsTeamsShiftsConnectionValidate + Test-CsTeamsTranslationRule + Test-CsTeamsUnassignedNumberTreatment + Test-CsVoiceNormalizationRule + Unregister-CsOnlineDialInConferencingServiceNumber + Update-CsAutoAttendant + Update-CsCustomPolicyPackage + Update-CsTeamsShiftsConnection + Update-CsTeamsShiftsConnectionInstance + Update-CsTeamTemplate + New-CsBatchTeamsDeployment + Get-CsBatchTeamsDeploymentStatus + Set-CsOCEContext + Clear-CsOCEContext + Get-CsRegionContext + Set-CsRegionContext + Clear-CsRegionContext + Get-CsMeetingMigrationTransactionHistory + Get-CsMasVersionedSchemaData + Get-CsMasObjectChangelog + Get-CsBusinessVoiceDirectoryDiagnosticData + Get-CsCloudTenant + Get-CsCloudUser + Get-CsHostingProvider + Set-CsTenantUserBackfill + Invoke-CsCustomHandlerNgtprov + Invoke-CsCustomHandlerCallBackNgtprov + New-CsSdgDeviceTaggingRequest + Get-CsMoveTenantServiceInstanceTaskStatus + Move-CsTenantServiceInstance + Move-CsTenantCrossRegion + Invoke-CsDirectObjectSync + New-CsSDGDeviceTransferRequest + Get-CsAadTenant + Get-CsAadUser + Clear-CsCacheOperation + Move-CsAvsTenantPartition + Invoke-CsMsodsSync + + + + + RoleCapability + + + + DscResource + + + + Command + + + + Add-TeamChannelUser + Add-TeamUser + Connect-MicrosoftTeams + Disconnect-MicrosoftTeams + Set-TeamsEnvironmentConfig + Clear-TeamsEnvironmentConfig + Get-AssociatedTeam + Get-MultiGeoRegion + Get-Operation + Get-SharedWithTeam + Get-SharedWithTeamUser + Get-Team + Get-TeamAllChannel + Get-TeamChannel + Get-TeamChannelUser + Get-TeamIncomingChannel + Get-TeamsApp + Get-TeamUser + Get-M365TeamsApp + Get-AllM365TeamsApps + Get-CsTeamsMessagingPolicy + Get-CsTeamsMeetingPolicy + Get-CsOnlineVoicemailPolicy + Get-CsOnlineVoicemailValidationConfiguration + Get-CsTeamsFeedbackPolicy + Get-CsTeamsUpdateManagementPolicy + Get-CsTeamsChannelsPolicy + Get-CsTeamsMeetingBrandingPolicy + Get-CsTeamsEmergencyCallingPolicy + Get-CsTeamsCallHoldPolicy + Get-CsTeamsMessagingConfiguration + Get-CsTeamsVoiceApplicationsPolicy + Get-CsTeamsEventsPolicy + Get-CsTeamsFilesPolicy + Get-CsTeamsCallingPolicy + Get-CsExternalAccessPolicy + Get-CsTeamsAppPermissionPolicy + Get-CsTeamsAppSetupPolicy + Get-CsTeamsFirstPartyMeetingTemplateConfiguration + Get-CsTeamsMeetingTemplatePermissionPolicy + Get-CsLocationPolicy + Get-CsTeamsShiftsPolicy + Get-CsTenantNetworkSite + Get-CsTeamsCarrierEmergencyCallRoutingPolicy + Get-CsTeamsMeetingTemplateConfiguration + Get-CsTeamsVirtualAppointmentsPolicy + Get-CsTeamsSharedCallingRoutingPolicy + Get-CsTeamsTemplatePermissionPolicy + Get-CsTeamsComplianceRecordingPolicy + Get-CsTeamsComplianceRecordingApplication + Get-CsTeamsUpgradeConfiguration + Get-CsTeamsAudioConferencingCustomPromptsConfiguration + Get-CsTeamsSipDevicesConfiguration + Get-CsTeamsCustomBannerText + Get-CsTeamsVdiPolicy + Get-CsTeamsMediaConnectivityPolicy + Get-CsTeamsMeetingConfiguration + Get-CsTeamsWorkLocationDetectionPolicy + Get-CsTeamsRecordingRollOutPolicy + Get-CsTeamsEducationConfiguration + Grant-CsTeamsMeetingBrandingPolicy + Grant-CsExternalAccessPolicy + Grant-CsTeamsCallingPolicy + Grant-CsTeamsAppPermissionPolicy + Grant-CsTeamsAppSetupPolicy + Grant-CsTeamsEventsPolicy + Grant-CsTeamsFilesPolicy + Grant-CsTeamsMediaConnectivityPolicy + Grant-CsTeamsMeetingTemplatePermissionPolicy + Grant-CsTeamsCarrierEmergencyCallRoutingPolicy + Grant-CsTeamsVirtualAppointmentsPolicy + Grant-CsTeamsSharedCallingRoutingPolicy + Grant-CsTeamsShiftsPolicy + Grant-CsTeamsRecordingRollOutPolicy + Grant-CsTeamsVdiPolicy + Grant-CsTeamsWorkLocationDetectionPolicy + New-Team + New-TeamChannel + New-TeamsApp + New-CsTeamsMessagingPolicy + New-CsTeamsMeetingPolicy + New-CsOnlineVoicemailPolicy + New-CsTeamsFeedbackPolicy + New-CsTeamsUpdateManagementPolicy + New-CsTeamsChannelsPolicy + New-CsTeamsFilesPolicy + New-CsTeamsMediaConnectivityPolicy + New-CsTeamsMeetingBrandingTheme + New-CsTeamsMeetingBackgroundImage + New-CsTeamsNdiAssuranceSlate + New-CsTeamsMeetingBrandingPolicy + New-CsTeamsEmergencyCallingPolicy + New-CsTeamsEmergencyCallingExtendedNotification + New-CsTeamsCallHoldPolicy + New-CsTeamsVoiceApplicationsPolicy + New-CsTeamsEventsPolicy + New-CsTeamsCallingPolicy + New-CsExternalAccessPolicy + New-CsTeamsAppPermissionPolicy + New-CsTeamsAppSetupPolicy + New-CsTeamsMeetingTemplatePermissionPolicy + New-CsLocationPolicy + New-CsTeamsCarrierEmergencyCallRoutingPolicy + New-CsTeamsHiddenMeetingTemplate + New-CsTeamsVirtualAppointmentsPolicy + New-CsTeamsSharedCallingRoutingPolicy + New-CsTeamsHiddenTemplate + New-CsTeamsTemplatePermissionPolicy + New-CsTeamsComplianceRecordingPolicy + New-CsTeamsComplianceRecordingApplication + New-CsTeamsComplianceRecordingPairedApplication + New-CsTeamsWorkLocationDetectionPolicy + New-CsTeamsRecordingRollOutPolicy + New-CsCustomPrompt + New-CsCustomPromptPackage + New-CsTeamsShiftsPolicy + New-CsTeamsCustomBannerText + New-CsTeamsVdiPolicy + Remove-SharedWithTeam + Remove-Team + Remove-TeamChannel + Remove-TeamChannelUser + Remove-TeamsApp + Remove-TeamUser + Remove-CsTeamsMessagingPolicy + Remove-CsTeamsMeetingPolicy + Remove-CsOnlineVoicemailPolicy + Remove-CsTeamsFeedbackPolicy + Remove-CsTeamsFilesPolicy + Remove-CsTeamsUpdateManagementPolicy + Remove-CsTeamsChannelsPolicy + Remove-CsTeamsMediaConnectivityPolicy + Remove-CsTeamsMeetingBrandingPolicy + Remove-CsTeamsEmergencyCallingPolicy + Remove-CsTeamsCallHoldPolicy + Remove-CsTeamsVoiceApplicationsPolicy + Remove-CsTeamsEventsPolicy + Remove-CsTeamsCallingPolicy + Remove-CsExternalAccessPolicy + Remove-CsTeamsAppPermissionPolicy + Remove-CsTeamsAppSetupPolicy + Remove-CsTeamsMeetingTemplatePermissionPolicy + Remove-CsLocationPolicy + Remove-CsTeamsCarrierEmergencyCallRoutingPolicy + Remove-CsTeamsVirtualAppointmentsPolicy + Remove-CsTeamsSharedCallingRoutingPolicy + Remove-CsTeamsTemplatePermissionPolicy + Remove-CsTeamsComplianceRecordingPolicy + Remove-CsTeamsComplianceRecordingApplication + Remove-CsTeamsShiftsPolicy + Remove-CsTeamsCustomBannerText + Remove-CsTeamsVdiPolicy + Remove-CsTeamsWorkLocationDetectionPolicy + Remove-CsTeamsRecordingRollOutPolicy + Set-Team + Set-TeamArchivedState + Set-TeamChannel + Set-TeamPicture + Set-TeamsApp + Set-CsTeamsMessagingPolicy + Set-CsTeamsMeetingPolicy + Set-CsOnlineVoicemailPolicy + Set-CsTeamsFilesPolicy + Set-CsOnlineVoicemailValidationConfiguration + Set-CsTeamsFeedbackPolicy + Set-CsTeamsUpdateManagementPolicy + Set-CsTeamsChannelsPolicy + Set-CsTeamsMediaConnectivityPolicy + Set-CsTeamsMeetingBrandingPolicy + Set-CsTeamsEmergencyCallingPolicy + Set-CsTeamsCallHoldPolicy + Set-CsTeamsMessagingConfiguration + Set-CsTeamsVoiceApplicationsPolicy + Set-CsTeamsEventsPolicy + Set-CsTeamsCallingPolicy + Set-CsExternalAccessPolicy + Set-CsTeamsAppPermissionPolicy + Set-CsTeamsAppSetupPolicy + Set-CsTeamsFirstPartyMeetingTemplateConfiguration + Set-CsTeamsMeetingTemplatePermissionPolicy + Set-CsLocationPolicy + Set-CsTeamsCarrierEmergencyCallRoutingPolicy + Set-CsTeamsVirtualAppointmentsPolicy + Set-CsTeamsSharedCallingRoutingPolicy + Set-CsTeamsTemplatePermissionPolicy + Set-CsTeamsComplianceRecordingPolicy + Set-CsTeamsComplianceRecordingApplication + Set-CsTeamsShiftsPolicy + Set-CsTeamsUpgradeConfiguration + Set-CsTeamsAudioConferencingCustomPromptsConfiguration + Set-CsTeamsSipDevicesConfiguration + Set-CsTeamsMeetingConfiguration + Set-CsTeamsVdiPolicy + Set-CsTeamsWorkLocationDetectionPolicy + Set-CsTeamsRecordingRollOutPolicy + Set-CsTeamsCustomBannerText + Set-CsTeamsEducationConfiguration + Update-M365TeamsApp + Get-CsBatchOperationDefinition + Get-CsBatchOperationStatus + Get-CsConfiguration + Get-CsGroupPolicyAssignments + Get-CsLoginInfo + Get-CsUserProvHistory + Get-GPAGroupMembers + Get-GPAUserMembership + Get-NgtProvInstanceFailOverStatus + Invoke-CsDirectoryObjectSync + Invoke-CsGenericNgtProvCommand + Invoke-CsRefreshGroupUsers + Invoke-CsReprocessBatchOperation + Invoke-CsReprocessGroupPolicyAssignment + Move-NgtProvInstance + New-CsConfiguration + Remove-CsConfiguration + Set-CsConfiguration + Get-TeamTargetingHierarchyStatus + Remove-TeamTargetingHierarchy + Set-TeamTargetingHierarchy + Clear-CsOnlineTelephoneNumberOrder + Complete-CsOnlineTelephoneNumberOrder + Disable-CsOnlineSipDomain + Enable-CsOnlineSipDomain + Export-CsAutoAttendantHolidays + Export-CsOnlineAudioFile + Find-CsGroup + Find-CsOnlineApplicationInstance + Get-CsApplicationAccessPolicy + Get-CsApplicationMeetingConfiguration + Get-CsAutoAttendant + Get-CsAutoAttendantHolidays + Get-CsAutoAttendantStatus + Get-CsAutoAttendantSupportedLanguage + Get-CsAutoAttendantSupportedTimeZone + Get-CsAutoAttendantTenantInformation + Get-CsBatchPolicyAssignmentOperation + Get-CsCallingLineIdentity + Get-CsCallQueue + Get-CsCloudCallDataConnection + Get-CsDialPlan + Get-CsEffectiveTenantDialPlan + Get-CsGroupPolicyAssignment + Get-CsHybridTelephoneNumber + Get-CsInboundBlockedNumberPattern + Get-CsInboundExemptNumberPattern + Get-CsMeetingMigrationStatus + Get-CsOnlineApplicationInstance + Get-CsOnlineApplicationInstanceAssociation + Get-CsOnlineApplicationInstanceAssociationStatus + Get-CsOnlineAudioConferencingRoutingPolicy + Get-CsOnlineAudioFile + Get-CsOnlineDialInConferencingBridge + Get-CsOnlineDialInConferencingLanguagesSupported + Get-CsOnlineDialinConferencingPolicy + Get-CsOnlineDialInConferencingServiceNumber + Get-CsOnlineDialinConferencingTenantConfiguration + Get-CsOnlineDialInConferencingTenantSettings + Get-CsOnlineDialInConferencingUser + Get-CsOnlineDialOutPolicy + Get-CsOnlineDirectoryTenant + Get-CsOnlineEnhancedEmergencyServiceDisclaimer + Get-CsOnlineLisCivicAddress + Get-CsOnlineLisLocation + Get-CsOnlineLisPort + Get-CsOnlineLisSubnet + Get-CsOnlineLisSwitch + Get-CsOnlineLisWirelessAccessPoint + Get-CsOnlinePowerShellEndpoint + Get-CsOnlinePSTNGateway + Get-CsOnlinePstnUsage + Get-CsOnlineSchedule + Get-CsOnlineSipDomain + Get-CsOnlineTelephoneNumber + Get-CsOnlineTelephoneNumberCountry + Get-CsOnlineTelephoneNumberOrder + Get-CsOnlineTelephoneNumberType + Get-CsOnlineUser + Get-CsOnlineVoicemailUserSettings + Get-CsOnlineVoiceRoute + Get-CsOnlineVoiceRoutingPolicy + Get-CsOnlineVoiceUser + Get-CsPhoneNumberAssignment + Get-CsPolicyPackage + Get-CsPrivacyConfiguration + Get-CsSdgBulkSignInRequestStatus + Get-CsSDGBulkSignInRequestsSummary + Get-CsTeamsAcsFederationConfiguration + Get-CsTeamsAudioConferencingPolicy + Get-CsTeamsCallParkPolicy + Get-CsTeamsClientConfiguration + Get-CsTeamsCortanaPolicy + Get-CsTeamsEducationAssignmentsAppPolicy + Get-CsTeamsEmergencyCallRoutingPolicy + Get-CsTeamsEnhancedEncryptionPolicy + Get-CsTeamsGuestCallingConfiguration + Get-CsTeamsGuestMeetingConfiguration + Get-CsTeamsGuestMessagingConfiguration + Get-CsTeamsIPPhonePolicy + Get-CsTeamsMediaLoggingPolicy + Get-CsTeamsMeetingBroadcastConfiguration + Get-CsTeamsMeetingBroadcastPolicy + Get-CsTeamsMigrationConfiguration + Get-CsTeamsMobilityPolicy + Get-CsTeamsNetworkRoamingPolicy + Get-CsTeamsNotificationAndFeedsPolicy + Get-CsTeamsRoomVideoTeleConferencingPolicy + Get-CsTeamsSettingsCustomApp + Get-CsTeamsShiftsAppPolicy + Get-CsTeamsShiftsConnectionConnector + Get-CsTeamsShiftsConnectionErrorReport + Get-CsTeamsShiftsConnection + Get-CsTeamsShiftsConnectionInstance + Get-CsTeamsShiftsConnectionOperation + Get-CsTeamsShiftsConnectionSyncResult + Get-CsTeamsShiftsConnectionTeamMap + Get-CsTeamsShiftsConnectionWfmTeam + Get-CsTeamsShiftsConnectionWfmUser + Get-CsTeamsSurvivableBranchAppliance + Get-CsTeamsSurvivableBranchAppliancePolicy + Get-CsTeamsTargetingPolicy + Get-CsTeamsTranslationRule + Get-CsTeamsUnassignedNumberTreatment + Get-CsTeamsUpgradePolicy + Get-CsTeamsVdiPolicy + Get-CsTeamsVideoInteropServicePolicy + Get-CsTeamsWorkLoadPolicy + Get-CsTeamTemplate + Get-CsTeamTemplateList + Get-CsTenant + Get-CsTenantBlockedCallingNumbers + Get-CsTenantDialPlan + Get-CsTenantFederationConfiguration + Get-CsTenantLicensingConfiguration + Get-CsTenantMigrationConfiguration + Get-CsTenantNetworkConfiguration + Get-CsTenantNetworkRegion + Get-CsTenantNetworkSubnet + Get-CsTenantTrustedIPAddress + Get-CsUserCallingSettings + Get-CsUserPolicyAssignment + Get-CsUserPolicyPackage + Get-CsUserPolicyPackageRecommendation + Get-CsVideoInteropServiceProvider + Grant-CsApplicationAccessPolicy + Grant-CsCallingLineIdentity + Grant-CsDialoutPolicy + Grant-CsGroupPolicyPackageAssignment + Grant-CsOnlineAudioConferencingRoutingPolicy + Grant-CsOnlineVoicemailPolicy + Grant-CsOnlineVoiceRoutingPolicy + Grant-CsTeamsAudioConferencingPolicy + Grant-CsTeamsCallHoldPolicy + Grant-CsTeamsCallParkPolicy + Grant-CsTeamsChannelsPolicy + Grant-CsTeamsCortanaPolicy + Grant-CsTeamsEmergencyCallingPolicy + Grant-CsTeamsEmergencyCallRoutingPolicy + Grant-CsTeamsEnhancedEncryptionPolicy + Grant-CsTeamsFeedbackPolicy + Grant-CsTeamsIPPhonePolicy + Grant-CsTeamsMediaLoggingPolicy + Grant-CsTeamsMeetingBroadcastPolicy + Grant-CsTeamsMeetingPolicy + Grant-CsTeamsMessagingPolicy + Grant-CsTeamsMobilityPolicy + Grant-CsTeamsRoomVideoTeleConferencingPolicy + Grant-CsTeamsSurvivableBranchAppliancePolicy + Grant-CsTeamsUpdateManagementPolicy + Grant-CsTeamsUpgradePolicy + Grant-CsTeamsVideoInteropServicePolicy + Grant-CsTeamsVoiceApplicationsPolicy + Grant-CsTeamsWorkLoadPolicy + Grant-CsTenantDialPlan + Grant-CsUserPolicyPackage + Grant-CsTeamsComplianceRecordingPolicy + Import-CsAutoAttendantHolidays + Import-CsOnlineAudioFile + Invoke-CsInternalPSTelemetry + Move-CsInternalHelper + New-CsApplicationAccessPolicy + New-CsAutoAttendant + New-CsAutoAttendantCallableEntity + New-CsAutoAttendantCallFlow + New-CsAutoAttendantCallHandlingAssociation + New-CsAutoAttendantDialScope + New-CsAutoAttendantMenu + New-CsAutoAttendantMenuOption + New-CsAutoAttendantPrompt + New-CsBatchPolicyAssignmentOperation + New-CsBatchPolicyPackageAssignmentOperation + New-CsCallingLineIdentity + New-CsCallQueue + New-CsCloudCallDataConnection + New-CsCustomPolicyPackage + New-CsEdgeAllowAllKnownDomains + New-CsEdgeAllowList + New-CsEdgeDomainPattern + New-CsGroupPolicyAssignment + New-CsHybridTelephoneNumber + New-CsInboundBlockedNumberPattern + New-CsInboundExemptNumberPattern + New-CsOnlineApplicationInstance + New-CsOnlineApplicationInstanceAssociation + New-CsOnlineAudioConferencingRoutingPolicy + New-CsOnlineDateTimeRange + New-CsOnlineLisCivicAddress + New-CsOnlineLisLocation + New-CsOnlinePSTNGateway + New-CsOnlineSchedule + New-CsOnlineTelephoneNumberOrder + New-CsOnlineTimeRange + New-CsOnlineVoiceRoute + New-CsOnlineVoiceRoutingPolicy + New-CsSdgBulkSignInRequest + New-CsTeamsAudioConferencingPolicy + New-CsTeamsCallParkPolicy + New-CsTeamsCortanaPolicy + New-CsTeamsEmergencyCallRoutingPolicy + New-CsTeamsEmergencyNumber + New-CsTeamsEnhancedEncryptionPolicy + New-CsTeamsIPPhonePolicy + New-CsTeamsMeetingBroadcastPolicy + New-CsTeamsMobilityPolicy + New-CsTeamsNetworkRoamingPolicy + New-CsTeamsRoomVideoTeleConferencingPolicy + New-CsTeamsShiftsConnectionBatchTeamMap + New-CsTeamsShiftsConnection + New-CsTeamsShiftsConnectionInstance + New-CsTeamsSurvivableBranchAppliance + New-CsTeamsSurvivableBranchAppliancePolicy + New-CsTeamsTranslationRule + New-CsTeamsUnassignedNumberTreatment + New-CsTeamsVdiPolicy + New-CsTeamsWorkLoadPolicy + New-CsTeamTemplate + New-CsTenantDialPlan + New-CsTenantNetworkRegion + New-CsTenantNetworkSite + New-CsTenantNetworkSubnet + New-CsTenantTrustedIPAddress + New-CsUserCallingDelegate + New-CsVideoInteropServiceProvider + New-CsVoiceNormalizationRule + Register-CsOnlineDialInConferencingServiceNumber + Remove-CsApplicationAccessPolicy + Remove-CsAutoAttendant + Remove-CsCallingLineIdentity + Remove-CsCallQueue + Remove-CsCustomPolicyPackage + Remove-CsGroupPolicyAssignment + Remove-CsHybridTelephoneNumber + Remove-CsInboundBlockedNumberPattern + Remove-CsInboundExemptNumberPattern + Remove-CsOnlineApplicationInstanceAssociation + Remove-CsOnlineAudioConferencingRoutingPolicy + Remove-CsOnlineAudioFile + Remove-CsOnlineDialInConferencingTenantSettings + Remove-CsOnlineLisCivicAddress + Remove-CsOnlineLisLocation + Remove-CsOnlineLisPort + Remove-CsOnlineLisSubnet + Remove-CsOnlineLisSwitch + Remove-CsOnlineLisWirelessAccessPoint + Remove-CsOnlinePSTNGateway + Remove-CsOnlineSchedule + Remove-CsOnlineTelephoneNumber + Remove-CsOnlineVoiceRoute + Remove-CsOnlineVoiceRoutingPolicy + Remove-CsPhoneNumberAssignment + Remove-CsTeamsAudioConferencingPolicy + Remove-CsTeamsCallParkPolicy + Remove-CsTeamsCortanaPolicy + Remove-CsTeamsEmergencyCallRoutingPolicy + Remove-CsTeamsEnhancedEncryptionPolicy + Remove-CsTeamsIPPhonePolicy + Remove-CsTeamsMeetingBroadcastPolicy + Remove-CsTeamsMobilityPolicy + Remove-CsTeamsNetworkRoamingPolicy + Remove-CsTeamsNotificationAndFeedsPolicy + Remove-CsTeamsRoomVideoTeleConferencingPolicy + Remove-CsTeamsShiftsConnection + Remove-CsTeamsShiftsConnectionInstance + Remove-CsTeamsShiftsConnectionTeamMap + Remove-CsTeamsShiftsScheduleRecord + Remove-CsTeamsSurvivableBranchAppliance + Remove-CsTeamsSurvivableBranchAppliancePolicy + Remove-CsTeamsTargetingPolicy + Remove-CsTeamsTranslationRule + Remove-CsTeamsUnassignedNumberTreatment + Remove-CsTeamsVdiPolicy + Remove-CsTeamsWorkLoadPolicy + Remove-CsTeamTemplate + Remove-CsTenantDialPlan + Remove-CsTenantNetworkRegion + Remove-CsTenantNetworkSite + Remove-CsTenantNetworkSubnet + Remove-CsTenantTrustedIPAddress + Remove-CsUserCallingDelegate + Remove-CsUserLicenseGracePeriod + Remove-CsVideoInteropServiceProvider + Set-CsApplicationAccessPolicy + Set-CsApplicationMeetingConfiguration + Set-CsAutoAttendant + Set-CsCallingLineIdentity + Set-CsCallQueue + Set-CsInboundBlockedNumberPattern + Set-CsInboundExemptNumberPattern + Set-CsInternalOnlinePowerShellEndpoint + Set-CsOnlineApplicationInstance + Set-CsOnlineAudioConferencingRoutingPolicy + Set-CsOnlineDialInConferencingBridge + Set-CsOnlineDialInConferencingServiceNumber + Set-CsOnlineDialInConferencingTenantSettings + Set-CsOnlineDialInConferencingUser + Set-CsOnlineDialInConferencingUserDefaultNumber + Set-CsOnlineEnhancedEmergencyServiceDisclaimer + Set-CsOnlineLisCivicAddress + Set-CsOnlineLisLocation + Set-CsOnlineLisPort + Set-CsOnlineLisSubnet + Set-CsOnlineLisSwitch + Set-CsOnlineLisWirelessAccessPoint + Set-CsOnlinePSTNGateway + Set-CsOnlinePstnUsage + Set-CsOnlineSchedule + Set-CsOnlineVoiceApplicationInstance + Set-CsOnlineVoicemailUserSettings + Set-CsOnlineVoiceRoute + Set-CsOnlineVoiceRoutingPolicy + Set-CsOnlineVoiceUser + Set-CsPhoneNumberAssignment + Set-CsPrivacyConfiguration + Set-CsTeamsAcsFederationConfiguration + Set-CsTeamsAudioConferencingPolicy + Set-CsTeamsCallParkPolicy + Set-CsTeamsClientConfiguration + Set-CsTeamsCortanaPolicy + Set-CsTeamsEducationAssignmentsAppPolicy + Set-CsTeamsEmergencyCallRoutingPolicy + Set-CsTeamsEnhancedEncryptionPolicy + Set-CsTeamsGuestCallingConfiguration + Set-CsTeamsGuestMeetingConfiguration + Set-CsTeamsGuestMessagingConfiguration + Set-CsTeamsIPPhonePolicy + Set-CsTeamsMeetingBroadcastConfiguration + Set-CsTeamsMeetingBroadcastPolicy + Set-CsTeamsMigrationConfiguration + Set-CsTeamsMobilityPolicy + Set-CsTeamsNetworkRoamingPolicy + Set-CsTeamsNotificationAndFeedsPolicy + Set-CsTeamsRoomVideoTeleConferencingPolicy + Set-CsTeamsSettingsCustomApp + Set-CsTeamsShiftsAppPolicy + Set-CsTeamsShiftsConnection + Set-CsTeamsShiftsConnectionInstance + Set-CsTeamsSurvivableBranchAppliance + Set-CsTeamsSurvivableBranchAppliancePolicy + Set-CsTeamsTargetingPolicy + Set-CsTeamsTranslationRule + Set-CsTeamsUnassignedNumberTreatment + Set-CsTeamsVdiPolicy + Set-CsTeamsWorkLoadPolicy + Set-CsTenantBlockedCallingNumbers + Set-CsTenantDialPlan + Set-CsTenantFederationConfiguration + Set-CsTenantMigrationConfiguration + Set-CsTenantNetworkRegion + Set-CsTenantNetworkSite + Set-CsTenantNetworkSubnet + Set-CsTenantTrustedIPAddress + Set-CsUser + Set-CsUserCallingDelegate + Set-CsUserCallingSettings + Set-CsVideoInteropServiceProvider + Start-CsExMeetingMigration + Sync-CsOnlineApplicationInstance + Test-CsEffectiveTenantDialPlan + Test-CsInboundBlockedNumberPattern + Test-CsTeamsShiftsConnectionValidate + Test-CsTeamsTranslationRule + Test-CsTeamsUnassignedNumberTreatment + Test-CsVoiceNormalizationRule + Unregister-CsOnlineDialInConferencingServiceNumber + Update-CsAutoAttendant + Update-CsCustomPolicyPackage + Update-CsTeamsShiftsConnection + Update-CsTeamsShiftsConnectionInstance + Update-CsTeamTemplate + New-CsBatchTeamsDeployment + Get-CsBatchTeamsDeploymentStatus + Set-CsOCEContext + Clear-CsOCEContext + Get-CsRegionContext + Set-CsRegionContext + Clear-CsRegionContext + Get-CsMeetingMigrationTransactionHistory + Get-CsMasVersionedSchemaData + Get-CsMasObjectChangelog + Get-CsBusinessVoiceDirectoryDiagnosticData + Get-CsCloudTenant + Get-CsCloudUser + Get-CsHostingProvider + Set-CsTenantUserBackfill + Invoke-CsCustomHandlerNgtprov + Invoke-CsCustomHandlerCallBackNgtprov + New-CsSdgDeviceTaggingRequest + Get-CsMoveTenantServiceInstanceTaskStatus + Move-CsTenantServiceInstance + Move-CsTenantCrossRegion + Invoke-CsDirectObjectSync + New-CsSDGDeviceTransferRequest + Get-CsAadTenant + Get-CsAadUser + Clear-CsCacheOperation + Move-CsAvsTenantPartition + Invoke-CsMsodsSync + + + + + + + **6.4.0-GA** (The project - MicrosoftTeams contains changes till this release)_x000D__x000A_- Adds ExternalAccessWithTrialTenants parameter to the Set-CsTenantFederationConfiguration cmdlet._x000D__x000A_- The complete release notes can be found in the below link:_x000D__x000A_https://docs.microsoft.com/MicrosoftTeams/teams-powershell-release-notes + + + + + https://www.powershellgallery.com/api/v2 + PSGallery + NuGet + + + System.Management.Automation.PSCustomObject + System.Object + + + Microsoft Corporation. All rights reserved. + Microsoft Teams cmdlets module for Windows PowerShell and PowerShell Core._x000D__x000A__x000D__x000A_For more information, please visit the following: https://docs.microsoft.com/MicrosoftTeams/teams-powershell-overview + False + **6.4.0-GA** (The project - MicrosoftTeams contains changes till this release)_x000D__x000A_- Adds ExternalAccessWithTrialTenants parameter to the Set-CsTenantFederationConfiguration cmdlet._x000D__x000A_- The complete release notes can be found in the below link:_x000D__x000A_https://docs.microsoft.com/MicrosoftTeams/teams-powershell-release-notes + True + False + 187538 + 9136558 + 12704423 + 6/19/2024 1:46:26 PM -04:00 + 6/19/2024 1:46:26 PM -04:00 + 7/11/2024 7:05:03 PM -04:00 + Office365 MicrosoftTeams Teams PSModule PSEdition_Core PSEdition_Desktop PSCmdlet_Add-TeamChannelUser PSCommand_Add-TeamChannelUser PSCmdlet_Add-TeamUser PSCommand_Add-TeamUser PSCmdlet_Connect-MicrosoftTeams PSCommand_Connect-MicrosoftTeams PSCmdlet_Disconnect-MicrosoftTeams PSCommand_Disconnect-MicrosoftTeams PSCmdlet_Set-TeamsEnvironmentConfig PSCommand_Set-TeamsEnvironmentConfig PSCmdlet_Clear-TeamsEnvironmentConfig PSCommand_Clear-TeamsEnvironmentConfig PSCmdlet_Get-AssociatedTeam PSCommand_Get-AssociatedTeam PSCmdlet_Get-MultiGeoRegion PSCommand_Get-MultiGeoRegion PSCmdlet_Get-Operation PSCommand_Get-Operation PSCmdlet_Get-SharedWithTeam PSCommand_Get-SharedWithTeam PSCmdlet_Get-SharedWithTeamUser PSCommand_Get-SharedWithTeamUser PSCmdlet_Get-Team PSCommand_Get-Team PSCmdlet_Get-TeamAllChannel PSCommand_Get-TeamAllChannel PSCmdlet_Get-TeamChannel PSCommand_Get-TeamChannel PSCmdlet_Get-TeamChannelUser PSCommand_Get-TeamChannelUser PSCmdlet_Get-TeamIncomingChannel PSCommand_Get-TeamIncomingChannel PSCmdlet_Get-TeamsApp PSCommand_Get-TeamsApp PSCmdlet_Get-TeamUser PSCommand_Get-TeamUser PSCmdlet_Get-M365TeamsApp PSCommand_Get-M365TeamsApp PSCmdlet_Get-AllM365TeamsApps PSCommand_Get-AllM365TeamsApps PSCmdlet_Get-CsTeamsMessagingPolicy PSCommand_Get-CsTeamsMessagingPolicy PSCmdlet_Get-CsTeamsMeetingPolicy PSCommand_Get-CsTeamsMeetingPolicy PSCmdlet_Get-CsOnlineVoicemailPolicy PSCommand_Get-CsOnlineVoicemailPolicy PSCmdlet_Get-CsOnlineVoicemailValidationConfiguration PSCommand_Get-CsOnlineVoicemailValidationConfiguration PSCmdlet_Get-CsTeamsFeedbackPolicy PSCommand_Get-CsTeamsFeedbackPolicy PSCmdlet_Get-CsTeamsUpdateManagementPolicy PSCommand_Get-CsTeamsUpdateManagementPolicy PSCmdlet_Get-CsTeamsChannelsPolicy PSCommand_Get-CsTeamsChannelsPolicy PSCmdlet_Get-CsTeamsMeetingBrandingPolicy PSCommand_Get-CsTeamsMeetingBrandingPolicy PSCmdlet_Get-CsTeamsEmergencyCallingPolicy PSCommand_Get-CsTeamsEmergencyCallingPolicy PSCmdlet_Get-CsTeamsCallHoldPolicy PSCommand_Get-CsTeamsCallHoldPolicy PSCmdlet_Get-CsTeamsMessagingConfiguration PSCommand_Get-CsTeamsMessagingConfiguration PSCmdlet_Get-CsTeamsVoiceApplicationsPolicy PSCommand_Get-CsTeamsVoiceApplicationsPolicy PSCmdlet_Get-CsTeamsEventsPolicy PSCommand_Get-CsTeamsEventsPolicy PSCmdlet_Get-CsTeamsFilesPolicy PSCommand_Get-CsTeamsFilesPolicy PSCmdlet_Get-CsTeamsCallingPolicy PSCommand_Get-CsTeamsCallingPolicy PSCmdlet_Get-CsExternalAccessPolicy PSCommand_Get-CsExternalAccessPolicy PSCmdlet_Get-CsTeamsAppPermissionPolicy PSCommand_Get-CsTeamsAppPermissionPolicy PSCmdlet_Get-CsTeamsAppSetupPolicy PSCommand_Get-CsTeamsAppSetupPolicy PSCmdlet_Get-CsTeamsFirstPartyMeetingTemplateConfiguration PSCommand_Get-CsTeamsFirstPartyMeetingTemplateConfiguration PSCmdlet_Get-CsTeamsMeetingTemplatePermissionPolicy PSCommand_Get-CsTeamsMeetingTemplatePermissionPolicy PSCmdlet_Get-CsLocationPolicy PSCommand_Get-CsLocationPolicy PSCmdlet_Get-CsTeamsShiftsPolicy PSCommand_Get-CsTeamsShiftsPolicy PSCmdlet_Get-CsTenantNetworkSite PSCommand_Get-CsTenantNetworkSite PSCmdlet_Get-CsTeamsCarrierEmergencyCallRoutingPolicy PSCommand_Get-CsTeamsCarrierEmergencyCallRoutingPolicy PSCmdlet_Get-CsTeamsMeetingTemplateConfiguration PSCommand_Get-CsTeamsMeetingTemplateConfiguration PSCmdlet_Get-CsTeamsVirtualAppointmentsPolicy PSCommand_Get-CsTeamsVirtualAppointmentsPolicy PSCmdlet_Get-CsTeamsSharedCallingRoutingPolicy PSCommand_Get-CsTeamsSharedCallingRoutingPolicy PSCmdlet_Get-CsTeamsTemplatePermissionPolicy PSCommand_Get-CsTeamsTemplatePermissionPolicy PSCmdlet_Get-CsTeamsComplianceRecordingPolicy PSCommand_Get-CsTeamsComplianceRecordingPolicy PSCmdlet_Get-CsTeamsComplianceRecordingApplication PSCommand_Get-CsTeamsComplianceRecordingApplication PSCmdlet_Get-CsTeamsUpgradeConfiguration PSCommand_Get-CsTeamsUpgradeConfiguration PSCmdlet_Get-CsTeamsAudioConferencingCustomPromptsConfiguration PSCommand_Get-CsTeamsAudioConferencingCustomPromptsConfiguration PSCmdlet_Get-CsTeamsSipDevicesConfiguration PSCommand_Get-CsTeamsSipDevicesConfiguration PSCmdlet_Get-CsTeamsCustomBannerText PSCommand_Get-CsTeamsCustomBannerText PSCmdlet_Get-CsTeamsVdiPolicy PSCommand_Get-CsTeamsVdiPolicy PSCmdlet_Get-CsTeamsMediaConnectivityPolicy PSCommand_Get-CsTeamsMediaConnectivityPolicy PSCmdlet_Get-CsTeamsMeetingConfiguration PSCommand_Get-CsTeamsMeetingConfiguration PSCmdlet_Get-CsTeamsWorkLocationDetectionPolicy PSCommand_Get-CsTeamsWorkLocationDetectionPolicy PSCmdlet_Get-CsTeamsRecordingRollOutPolicy PSCommand_Get-CsTeamsRecordingRollOutPolicy PSCmdlet_Get-CsTeamsEducationConfiguration PSCommand_Get-CsTeamsEducationConfiguration PSCmdlet_Grant-CsTeamsMeetingBrandingPolicy PSCommand_Grant-CsTeamsMeetingBrandingPolicy PSCmdlet_Grant-CsExternalAccessPolicy PSCommand_Grant-CsExternalAccessPolicy PSCmdlet_Grant-CsTeamsCallingPolicy PSCommand_Grant-CsTeamsCallingPolicy PSCmdlet_Grant-CsTeamsAppPermissionPolicy PSCommand_Grant-CsTeamsAppPermissionPolicy PSCmdlet_Grant-CsTeamsAppSetupPolicy PSCommand_Grant-CsTeamsAppSetupPolicy PSCmdlet_Grant-CsTeamsEventsPolicy PSCommand_Grant-CsTeamsEventsPolicy PSCmdlet_Grant-CsTeamsFilesPolicy PSCommand_Grant-CsTeamsFilesPolicy PSCmdlet_Grant-CsTeamsMediaConnectivityPolicy PSCommand_Grant-CsTeamsMediaConnectivityPolicy PSCmdlet_Grant-CsTeamsMeetingTemplatePermissionPolicy PSCommand_Grant-CsTeamsMeetingTemplatePermissionPolicy PSCmdlet_Grant-CsTeamsCarrierEmergencyCallRoutingPolicy PSCommand_Grant-CsTeamsCarrierEmergencyCallRoutingPolicy PSCmdlet_Grant-CsTeamsVirtualAppointmentsPolicy PSCommand_Grant-CsTeamsVirtualAppointmentsPolicy PSCmdlet_Grant-CsTeamsSharedCallingRoutingPolicy PSCommand_Grant-CsTeamsSharedCallingRoutingPolicy PSCmdlet_Grant-CsTeamsShiftsPolicy PSCommand_Grant-CsTeamsShiftsPolicy PSCmdlet_Grant-CsTeamsRecordingRollOutPolicy PSCommand_Grant-CsTeamsRecordingRollOutPolicy PSCmdlet_Grant-CsTeamsVdiPolicy PSCommand_Grant-CsTeamsVdiPolicy PSCmdlet_Grant-CsTeamsWorkLocationDetectionPolicy PSCommand_Grant-CsTeamsWorkLocationDetectionPolicy PSCmdlet_New-Team PSCommand_New-Team PSCmdlet_New-TeamChannel PSCommand_New-TeamChannel PSCmdlet_New-TeamsApp PSCommand_New-TeamsApp PSCmdlet_New-CsTeamsMessagingPolicy PSCommand_New-CsTeamsMessagingPolicy PSCmdlet_New-CsTeamsMeetingPolicy PSCommand_New-CsTeamsMeetingPolicy PSCmdlet_New-CsOnlineVoicemailPolicy PSCommand_New-CsOnlineVoicemailPolicy PSCmdlet_New-CsTeamsFeedbackPolicy PSCommand_New-CsTeamsFeedbackPolicy PSCmdlet_New-CsTeamsUpdateManagementPolicy PSCommand_New-CsTeamsUpdateManagementPolicy PSCmdlet_New-CsTeamsChannelsPolicy PSCommand_New-CsTeamsChannelsPolicy PSCmdlet_New-CsTeamsFilesPolicy PSCommand_New-CsTeamsFilesPolicy PSCmdlet_New-CsTeamsMediaConnectivityPolicy PSCommand_New-CsTeamsMediaConnectivityPolicy PSCmdlet_New-CsTeamsMeetingBrandingTheme PSCommand_New-CsTeamsMeetingBrandingTheme PSCmdlet_New-CsTeamsMeetingBackgroundImage PSCommand_New-CsTeamsMeetingBackgroundImage PSCmdlet_New-CsTeamsNdiAssuranceSlate PSCommand_New-CsTeamsNdiAssuranceSlate PSCmdlet_New-CsTeamsMeetingBrandingPolicy PSCommand_New-CsTeamsMeetingBrandingPolicy PSCmdlet_New-CsTeamsEmergencyCallingPolicy PSCommand_New-CsTeamsEmergencyCallingPolicy PSCmdlet_New-CsTeamsEmergencyCallingExtendedNotification PSCommand_New-CsTeamsEmergencyCallingExtendedNotification PSCmdlet_New-CsTeamsCallHoldPolicy PSCommand_New-CsTeamsCallHoldPolicy PSCmdlet_New-CsTeamsVoiceApplicationsPolicy PSCommand_New-CsTeamsVoiceApplicationsPolicy PSCmdlet_New-CsTeamsEventsPolicy PSCommand_New-CsTeamsEventsPolicy PSCmdlet_New-CsTeamsCallingPolicy PSCommand_New-CsTeamsCallingPolicy PSCmdlet_New-CsExternalAccessPolicy PSCommand_New-CsExternalAccessPolicy PSCmdlet_New-CsTeamsAppPermissionPolicy PSCommand_New-CsTeamsAppPermissionPolicy PSCmdlet_New-CsTeamsAppSetupPolicy PSCommand_New-CsTeamsAppSetupPolicy PSCmdlet_New-CsTeamsMeetingTemplatePermissionPolicy PSCommand_New-CsTeamsMeetingTemplatePermissionPolicy PSCmdlet_New-CsLocationPolicy PSCommand_New-CsLocationPolicy PSCmdlet_New-CsTeamsCarrierEmergencyCallRoutingPolicy PSCommand_New-CsTeamsCarrierEmergencyCallRoutingPolicy PSCmdlet_New-CsTeamsHiddenMeetingTemplate PSCommand_New-CsTeamsHiddenMeetingTemplate PSCmdlet_New-CsTeamsVirtualAppointmentsPolicy PSCommand_New-CsTeamsVirtualAppointmentsPolicy PSCmdlet_New-CsTeamsSharedCallingRoutingPolicy PSCommand_New-CsTeamsSharedCallingRoutingPolicy PSCmdlet_New-CsTeamsHiddenTemplate PSCommand_New-CsTeamsHiddenTemplate PSCmdlet_New-CsTeamsTemplatePermissionPolicy PSCommand_New-CsTeamsTemplatePermissionPolicy PSCmdlet_New-CsTeamsComplianceRecordingPolicy PSCommand_New-CsTeamsComplianceRecordingPolicy PSCmdlet_New-CsTeamsComplianceRecordingApplication PSCommand_New-CsTeamsComplianceRecordingApplication PSCmdlet_New-CsTeamsComplianceRecordingPairedApplication PSCommand_New-CsTeamsComplianceRecordingPairedApplication PSCmdlet_New-CsTeamsWorkLocationDetectionPolicy PSCommand_New-CsTeamsWorkLocationDetectionPolicy PSCmdlet_New-CsTeamsRecordingRollOutPolicy PSCommand_New-CsTeamsRecordingRollOutPolicy PSCmdlet_New-CsCustomPrompt PSCommand_New-CsCustomPrompt PSCmdlet_New-CsCustomPromptPackage PSCommand_New-CsCustomPromptPackage PSCmdlet_New-CsTeamsShiftsPolicy PSCommand_New-CsTeamsShiftsPolicy PSCmdlet_New-CsTeamsCustomBannerText PSCommand_New-CsTeamsCustomBannerText PSCmdlet_New-CsTeamsVdiPolicy PSCommand_New-CsTeamsVdiPolicy PSCmdlet_Remove-SharedWithTeam PSCommand_Remove-SharedWithTeam PSCmdlet_Remove-Team PSCommand_Remove-Team PSCmdlet_Remove-TeamChannel PSCommand_Remove-TeamChannel PSCmdlet_Remove-TeamChannelUser PSCommand_Remove-TeamChannelUser PSCmdlet_Remove-TeamsApp PSCommand_Remove-TeamsApp PSCmdlet_Remove-TeamUser PSCommand_Remove-TeamUser PSCmdlet_Remove-CsTeamsMessagingPolicy PSCommand_Remove-CsTeamsMessagingPolicy PSCmdlet_Remove-CsTeamsMeetingPolicy PSCommand_Remove-CsTeamsMeetingPolicy PSCmdlet_Remove-CsOnlineVoicemailPolicy PSCommand_Remove-CsOnlineVoicemailPolicy PSCmdlet_Remove-CsTeamsFeedbackPolicy PSCommand_Remove-CsTeamsFeedbackPolicy PSCmdlet_Remove-CsTeamsFilesPolicy PSCommand_Remove-CsTeamsFilesPolicy PSCmdlet_Remove-CsTeamsUpdateManagementPolicy PSCommand_Remove-CsTeamsUpdateManagementPolicy PSCmdlet_Remove-CsTeamsChannelsPolicy PSCommand_Remove-CsTeamsChannelsPolicy PSCmdlet_Remove-CsTeamsMediaConnectivityPolicy PSCommand_Remove-CsTeamsMediaConnectivityPolicy PSCmdlet_Remove-CsTeamsMeetingBrandingPolicy PSCommand_Remove-CsTeamsMeetingBrandingPolicy PSCmdlet_Remove-CsTeamsEmergencyCallingPolicy PSCommand_Remove-CsTeamsEmergencyCallingPolicy PSCmdlet_Remove-CsTeamsCallHoldPolicy PSCommand_Remove-CsTeamsCallHoldPolicy PSCmdlet_Remove-CsTeamsVoiceApplicationsPolicy PSCommand_Remove-CsTeamsVoiceApplicationsPolicy PSCmdlet_Remove-CsTeamsEventsPolicy PSCommand_Remove-CsTeamsEventsPolicy PSCmdlet_Remove-CsTeamsCallingPolicy PSCommand_Remove-CsTeamsCallingPolicy PSCmdlet_Remove-CsExternalAccessPolicy PSCommand_Remove-CsExternalAccessPolicy PSCmdlet_Remove-CsTeamsAppPermissionPolicy PSCommand_Remove-CsTeamsAppPermissionPolicy PSCmdlet_Remove-CsTeamsAppSetupPolicy PSCommand_Remove-CsTeamsAppSetupPolicy PSCmdlet_Remove-CsTeamsMeetingTemplatePermissionPolicy PSCommand_Remove-CsTeamsMeetingTemplatePermissionPolicy PSCmdlet_Remove-CsLocationPolicy PSCommand_Remove-CsLocationPolicy PSCmdlet_Remove-CsTeamsCarrierEmergencyCallRoutingPolicy PSCommand_Remove-CsTeamsCarrierEmergencyCallRoutingPolicy PSCmdlet_Remove-CsTeamsVirtualAppointmentsPolicy PSCommand_Remove-CsTeamsVirtualAppointmentsPolicy PSCmdlet_Remove-CsTeamsSharedCallingRoutingPolicy PSCommand_Remove-CsTeamsSharedCallingRoutingPolicy PSCmdlet_Remove-CsTeamsTemplatePermissionPolicy PSCommand_Remove-CsTeamsTemplatePermissionPolicy PSCmdlet_Remove-CsTeamsComplianceRecordingPolicy PSCommand_Remove-CsTeamsComplianceRecordingPolicy PSCmdlet_Remove-CsTeamsComplianceRecordingApplication PSCommand_Remove-CsTeamsComplianceRecordingApplication PSCmdlet_Remove-CsTeamsShiftsPolicy PSCommand_Remove-CsTeamsShiftsPolicy PSCmdlet_Remove-CsTeamsCustomBannerText PSCommand_Remove-CsTeamsCustomBannerText PSCmdlet_Remove-CsTeamsVdiPolicy PSCommand_Remove-CsTeamsVdiPolicy PSCmdlet_Remove-CsTeamsWorkLocationDetectionPolicy PSCommand_Remove-CsTeamsWorkLocationDetectionPolicy PSCmdlet_Remove-CsTeamsRecordingRollOutPolicy PSCommand_Remove-CsTeamsRecordingRollOutPolicy PSCmdlet_Set-Team PSCommand_Set-Team PSCmdlet_Set-TeamArchivedState PSCommand_Set-TeamArchivedState PSCmdlet_Set-TeamChannel PSCommand_Set-TeamChannel PSCmdlet_Set-TeamPicture PSCommand_Set-TeamPicture PSCmdlet_Set-TeamsApp PSCommand_Set-TeamsApp PSCmdlet_Set-CsTeamsMessagingPolicy PSCommand_Set-CsTeamsMessagingPolicy PSCmdlet_Set-CsTeamsMeetingPolicy PSCommand_Set-CsTeamsMeetingPolicy PSCmdlet_Set-CsOnlineVoicemailPolicy PSCommand_Set-CsOnlineVoicemailPolicy PSCmdlet_Set-CsTeamsFilesPolicy PSCommand_Set-CsTeamsFilesPolicy PSCmdlet_Set-CsOnlineVoicemailValidationConfiguration PSCommand_Set-CsOnlineVoicemailValidationConfiguration PSCmdlet_Set-CsTeamsFeedbackPolicy PSCommand_Set-CsTeamsFeedbackPolicy PSCmdlet_Set-CsTeamsUpdateManagementPolicy PSCommand_Set-CsTeamsUpdateManagementPolicy PSCmdlet_Set-CsTeamsChannelsPolicy PSCommand_Set-CsTeamsChannelsPolicy PSCmdlet_Set-CsTeamsMediaConnectivityPolicy PSCommand_Set-CsTeamsMediaConnectivityPolicy PSCmdlet_Set-CsTeamsMeetingBrandingPolicy PSCommand_Set-CsTeamsMeetingBrandingPolicy PSCmdlet_Set-CsTeamsEmergencyCallingPolicy PSCommand_Set-CsTeamsEmergencyCallingPolicy PSCmdlet_Set-CsTeamsCallHoldPolicy PSCommand_Set-CsTeamsCallHoldPolicy PSCmdlet_Set-CsTeamsMessagingConfiguration PSCommand_Set-CsTeamsMessagingConfiguration PSCmdlet_Set-CsTeamsVoiceApplicationsPolicy PSCommand_Set-CsTeamsVoiceApplicationsPolicy PSCmdlet_Set-CsTeamsEventsPolicy PSCommand_Set-CsTeamsEventsPolicy PSCmdlet_Set-CsTeamsCallingPolicy PSCommand_Set-CsTeamsCallingPolicy PSCmdlet_Set-CsExternalAccessPolicy PSCommand_Set-CsExternalAccessPolicy PSCmdlet_Set-CsTeamsAppPermissionPolicy PSCommand_Set-CsTeamsAppPermissionPolicy PSCmdlet_Set-CsTeamsAppSetupPolicy PSCommand_Set-CsTeamsAppSetupPolicy PSCmdlet_Set-CsTeamsFirstPartyMeetingTemplateConfiguration PSCommand_Set-CsTeamsFirstPartyMeetingTemplateConfiguration PSCmdlet_Set-CsTeamsMeetingTemplatePermissionPolicy PSCommand_Set-CsTeamsMeetingTemplatePermissionPolicy PSCmdlet_Set-CsLocationPolicy PSCommand_Set-CsLocationPolicy PSCmdlet_Set-CsTeamsCarrierEmergencyCallRoutingPolicy PSCommand_Set-CsTeamsCarrierEmergencyCallRoutingPolicy PSCmdlet_Set-CsTeamsVirtualAppointmentsPolicy PSCommand_Set-CsTeamsVirtualAppointmentsPolicy PSCmdlet_Set-CsTeamsSharedCallingRoutingPolicy PSCommand_Set-CsTeamsSharedCallingRoutingPolicy PSCmdlet_Set-CsTeamsTemplatePermissionPolicy PSCommand_Set-CsTeamsTemplatePermissionPolicy PSCmdlet_Set-CsTeamsComplianceRecordingPolicy PSCommand_Set-CsTeamsComplianceRecordingPolicy PSCmdlet_Set-CsTeamsComplianceRecordingApplication PSCommand_Set-CsTeamsComplianceRecordingApplication PSCmdlet_Set-CsTeamsShiftsPolicy PSCommand_Set-CsTeamsShiftsPolicy PSCmdlet_Set-CsTeamsUpgradeConfiguration PSCommand_Set-CsTeamsUpgradeConfiguration PSCmdlet_Set-CsTeamsAudioConferencingCustomPromptsConfiguration PSCommand_Set-CsTeamsAudioConferencingCustomPromptsConfiguration PSCmdlet_Set-CsTeamsSipDevicesConfiguration PSCommand_Set-CsTeamsSipDevicesConfiguration PSCmdlet_Set-CsTeamsMeetingConfiguration PSCommand_Set-CsTeamsMeetingConfiguration PSCmdlet_Set-CsTeamsVdiPolicy PSCommand_Set-CsTeamsVdiPolicy PSCmdlet_Set-CsTeamsWorkLocationDetectionPolicy PSCommand_Set-CsTeamsWorkLocationDetectionPolicy PSCmdlet_Set-CsTeamsRecordingRollOutPolicy PSCommand_Set-CsTeamsRecordingRollOutPolicy PSCmdlet_Set-CsTeamsCustomBannerText PSCommand_Set-CsTeamsCustomBannerText PSCmdlet_Set-CsTeamsEducationConfiguration PSCommand_Set-CsTeamsEducationConfiguration PSCmdlet_Update-M365TeamsApp PSCommand_Update-M365TeamsApp PSCmdlet_Get-CsBatchOperationDefinition PSCommand_Get-CsBatchOperationDefinition PSCmdlet_Get-CsBatchOperationStatus PSCommand_Get-CsBatchOperationStatus PSCmdlet_Get-CsConfiguration PSCommand_Get-CsConfiguration PSCmdlet_Get-CsGroupPolicyAssignments PSCommand_Get-CsGroupPolicyAssignments PSCmdlet_Get-CsLoginInfo PSCommand_Get-CsLoginInfo PSCmdlet_Get-CsUserProvHistory PSCommand_Get-CsUserProvHistory PSCmdlet_Get-GPAGroupMembers PSCommand_Get-GPAGroupMembers PSCmdlet_Get-GPAUserMembership PSCommand_Get-GPAUserMembership PSCmdlet_Get-NgtProvInstanceFailOverStatus PSCommand_Get-NgtProvInstanceFailOverStatus PSCmdlet_Invoke-CsDirectoryObjectSync PSCommand_Invoke-CsDirectoryObjectSync PSCmdlet_Invoke-CsGenericNgtProvCommand PSCommand_Invoke-CsGenericNgtProvCommand PSCmdlet_Invoke-CsRefreshGroupUsers PSCommand_Invoke-CsRefreshGroupUsers PSCmdlet_Invoke-CsReprocessBatchOperation PSCommand_Invoke-CsReprocessBatchOperation PSCmdlet_Invoke-CsReprocessGroupPolicyAssignment PSCommand_Invoke-CsReprocessGroupPolicyAssignment PSCmdlet_Move-NgtProvInstance PSCommand_Move-NgtProvInstance PSCmdlet_New-CsConfiguration PSCommand_New-CsConfiguration PSCmdlet_Remove-CsConfiguration PSCommand_Remove-CsConfiguration PSCmdlet_Set-CsConfiguration PSCommand_Set-CsConfiguration PSCmdlet_Get-TeamTargetingHierarchyStatus PSCommand_Get-TeamTargetingHierarchyStatus PSCmdlet_Remove-TeamTargetingHierarchy PSCommand_Remove-TeamTargetingHierarchy PSCmdlet_Set-TeamTargetingHierarchy PSCommand_Set-TeamTargetingHierarchy PSIncludes_Cmdlet PSFunction_Clear-CsOnlineTelephoneNumberOrder PSCommand_Clear-CsOnlineTelephoneNumberOrder PSFunction_Complete-CsOnlineTelephoneNumberOrder PSCommand_Complete-CsOnlineTelephoneNumberOrder PSFunction_Disable-CsOnlineSipDomain PSCommand_Disable-CsOnlineSipDomain PSFunction_Enable-CsOnlineSipDomain PSCommand_Enable-CsOnlineSipDomain PSFunction_Export-CsAutoAttendantHolidays PSCommand_Export-CsAutoAttendantHolidays PSFunction_Export-CsOnlineAudioFile PSCommand_Export-CsOnlineAudioFile PSFunction_Find-CsGroup PSCommand_Find-CsGroup PSFunction_Find-CsOnlineApplicationInstance PSCommand_Find-CsOnlineApplicationInstance PSFunction_Get-CsApplicationAccessPolicy PSCommand_Get-CsApplicationAccessPolicy PSFunction_Get-CsApplicationMeetingConfiguration PSCommand_Get-CsApplicationMeetingConfiguration PSFunction_Get-CsAutoAttendant PSCommand_Get-CsAutoAttendant PSFunction_Get-CsAutoAttendantHolidays PSCommand_Get-CsAutoAttendantHolidays PSFunction_Get-CsAutoAttendantStatus PSCommand_Get-CsAutoAttendantStatus PSFunction_Get-CsAutoAttendantSupportedLanguage PSCommand_Get-CsAutoAttendantSupportedLanguage PSFunction_Get-CsAutoAttendantSupportedTimeZone PSCommand_Get-CsAutoAttendantSupportedTimeZone PSFunction_Get-CsAutoAttendantTenantInformation PSCommand_Get-CsAutoAttendantTenantInformation PSFunction_Get-CsBatchPolicyAssignmentOperation PSCommand_Get-CsBatchPolicyAssignmentOperation PSFunction_Get-CsCallingLineIdentity PSCommand_Get-CsCallingLineIdentity PSFunction_Get-CsCallQueue PSCommand_Get-CsCallQueue PSFunction_Get-CsCloudCallDataConnection PSCommand_Get-CsCloudCallDataConnection PSFunction_Get-CsDialPlan PSCommand_Get-CsDialPlan PSFunction_Get-CsEffectiveTenantDialPlan PSCommand_Get-CsEffectiveTenantDialPlan PSFunction_Get-CsGroupPolicyAssignment PSCommand_Get-CsGroupPolicyAssignment PSFunction_Get-CsHybridTelephoneNumber PSCommand_Get-CsHybridTelephoneNumber PSFunction_Get-CsInboundBlockedNumberPattern PSCommand_Get-CsInboundBlockedNumberPattern PSFunction_Get-CsInboundExemptNumberPattern PSCommand_Get-CsInboundExemptNumberPattern PSFunction_Get-CsMeetingMigrationStatus PSCommand_Get-CsMeetingMigrationStatus PSFunction_Get-CsOnlineApplicationInstance PSCommand_Get-CsOnlineApplicationInstance PSFunction_Get-CsOnlineApplicationInstanceAssociation PSCommand_Get-CsOnlineApplicationInstanceAssociation PSFunction_Get-CsOnlineApplicationInstanceAssociationStatus PSCommand_Get-CsOnlineApplicationInstanceAssociationStatus PSFunction_Get-CsOnlineAudioConferencingRoutingPolicy PSCommand_Get-CsOnlineAudioConferencingRoutingPolicy PSFunction_Get-CsOnlineAudioFile PSCommand_Get-CsOnlineAudioFile PSFunction_Get-CsOnlineDialInConferencingBridge PSCommand_Get-CsOnlineDialInConferencingBridge PSFunction_Get-CsOnlineDialInConferencingLanguagesSupported PSCommand_Get-CsOnlineDialInConferencingLanguagesSupported PSFunction_Get-CsOnlineDialinConferencingPolicy PSCommand_Get-CsOnlineDialinConferencingPolicy PSFunction_Get-CsOnlineDialInConferencingServiceNumber PSCommand_Get-CsOnlineDialInConferencingServiceNumber PSFunction_Get-CsOnlineDialinConferencingTenantConfiguration PSCommand_Get-CsOnlineDialinConferencingTenantConfiguration PSFunction_Get-CsOnlineDialInConferencingTenantSettings PSCommand_Get-CsOnlineDialInConferencingTenantSettings PSFunction_Get-CsOnlineDialInConferencingUser PSCommand_Get-CsOnlineDialInConferencingUser PSFunction_Get-CsOnlineDialOutPolicy PSCommand_Get-CsOnlineDialOutPolicy PSFunction_Get-CsOnlineDirectoryTenant PSCommand_Get-CsOnlineDirectoryTenant PSFunction_Get-CsOnlineEnhancedEmergencyServiceDisclaimer PSCommand_Get-CsOnlineEnhancedEmergencyServiceDisclaimer PSFunction_Get-CsOnlineLisCivicAddress PSCommand_Get-CsOnlineLisCivicAddress PSFunction_Get-CsOnlineLisLocation PSCommand_Get-CsOnlineLisLocation PSFunction_Get-CsOnlineLisPort PSCommand_Get-CsOnlineLisPort PSFunction_Get-CsOnlineLisSubnet PSCommand_Get-CsOnlineLisSubnet PSFunction_Get-CsOnlineLisSwitch PSCommand_Get-CsOnlineLisSwitch PSFunction_Get-CsOnlineLisWirelessAccessPoint PSCommand_Get-CsOnlineLisWirelessAccessPoint PSFunction_Get-CsOnlinePowerShellEndpoint PSCommand_Get-CsOnlinePowerShellEndpoint PSFunction_Get-CsOnlinePSTNGateway PSCommand_Get-CsOnlinePSTNGateway PSFunction_Get-CsOnlinePstnUsage PSCommand_Get-CsOnlinePstnUsage PSFunction_Get-CsOnlineSchedule PSCommand_Get-CsOnlineSchedule PSFunction_Get-CsOnlineSipDomain PSCommand_Get-CsOnlineSipDomain PSFunction_Get-CsOnlineTelephoneNumber PSCommand_Get-CsOnlineTelephoneNumber PSFunction_Get-CsOnlineTelephoneNumberCountry PSCommand_Get-CsOnlineTelephoneNumberCountry PSFunction_Get-CsOnlineTelephoneNumberOrder PSCommand_Get-CsOnlineTelephoneNumberOrder PSFunction_Get-CsOnlineTelephoneNumberType PSCommand_Get-CsOnlineTelephoneNumberType PSFunction_Get-CsOnlineUser PSCommand_Get-CsOnlineUser PSFunction_Get-CsOnlineVoicemailUserSettings PSCommand_Get-CsOnlineVoicemailUserSettings PSFunction_Get-CsOnlineVoiceRoute PSCommand_Get-CsOnlineVoiceRoute PSFunction_Get-CsOnlineVoiceRoutingPolicy PSCommand_Get-CsOnlineVoiceRoutingPolicy PSFunction_Get-CsOnlineVoiceUser PSCommand_Get-CsOnlineVoiceUser PSFunction_Get-CsPhoneNumberAssignment PSCommand_Get-CsPhoneNumberAssignment PSFunction_Get-CsPolicyPackage PSCommand_Get-CsPolicyPackage PSFunction_Get-CsPrivacyConfiguration PSCommand_Get-CsPrivacyConfiguration PSFunction_Get-CsSdgBulkSignInRequestStatus PSCommand_Get-CsSdgBulkSignInRequestStatus PSFunction_Get-CsSDGBulkSignInRequestsSummary PSCommand_Get-CsSDGBulkSignInRequestsSummary PSFunction_Get-CsTeamsAcsFederationConfiguration PSCommand_Get-CsTeamsAcsFederationConfiguration PSFunction_Get-CsTeamsAudioConferencingPolicy PSCommand_Get-CsTeamsAudioConferencingPolicy PSFunction_Get-CsTeamsCallParkPolicy PSCommand_Get-CsTeamsCallParkPolicy PSFunction_Get-CsTeamsClientConfiguration PSCommand_Get-CsTeamsClientConfiguration PSFunction_Get-CsTeamsCortanaPolicy PSCommand_Get-CsTeamsCortanaPolicy PSFunction_Get-CsTeamsEducationAssignmentsAppPolicy PSCommand_Get-CsTeamsEducationAssignmentsAppPolicy PSFunction_Get-CsTeamsEmergencyCallRoutingPolicy PSCommand_Get-CsTeamsEmergencyCallRoutingPolicy PSFunction_Get-CsTeamsEnhancedEncryptionPolicy PSCommand_Get-CsTeamsEnhancedEncryptionPolicy PSFunction_Get-CsTeamsGuestCallingConfiguration PSCommand_Get-CsTeamsGuestCallingConfiguration PSFunction_Get-CsTeamsGuestMeetingConfiguration PSCommand_Get-CsTeamsGuestMeetingConfiguration PSFunction_Get-CsTeamsGuestMessagingConfiguration PSCommand_Get-CsTeamsGuestMessagingConfiguration PSFunction_Get-CsTeamsIPPhonePolicy PSCommand_Get-CsTeamsIPPhonePolicy PSFunction_Get-CsTeamsMediaLoggingPolicy PSCommand_Get-CsTeamsMediaLoggingPolicy PSFunction_Get-CsTeamsMeetingBroadcastConfiguration PSCommand_Get-CsTeamsMeetingBroadcastConfiguration PSFunction_Get-CsTeamsMeetingBroadcastPolicy PSCommand_Get-CsTeamsMeetingBroadcastPolicy PSFunction_Get-CsTeamsMigrationConfiguration PSCommand_Get-CsTeamsMigrationConfiguration PSFunction_Get-CsTeamsMobilityPolicy PSCommand_Get-CsTeamsMobilityPolicy PSFunction_Get-CsTeamsNetworkRoamingPolicy PSCommand_Get-CsTeamsNetworkRoamingPolicy PSFunction_Get-CsTeamsNotificationAndFeedsPolicy PSCommand_Get-CsTeamsNotificationAndFeedsPolicy PSFunction_Get-CsTeamsRoomVideoTeleConferencingPolicy PSCommand_Get-CsTeamsRoomVideoTeleConferencingPolicy PSFunction_Get-CsTeamsSettingsCustomApp PSCommand_Get-CsTeamsSettingsCustomApp PSFunction_Get-CsTeamsShiftsAppPolicy PSCommand_Get-CsTeamsShiftsAppPolicy PSFunction_Get-CsTeamsShiftsConnectionConnector PSCommand_Get-CsTeamsShiftsConnectionConnector PSFunction_Get-CsTeamsShiftsConnectionErrorReport PSCommand_Get-CsTeamsShiftsConnectionErrorReport PSFunction_Get-CsTeamsShiftsConnection PSCommand_Get-CsTeamsShiftsConnection PSFunction_Get-CsTeamsShiftsConnectionInstance PSCommand_Get-CsTeamsShiftsConnectionInstance PSFunction_Get-CsTeamsShiftsConnectionOperation PSCommand_Get-CsTeamsShiftsConnectionOperation PSFunction_Get-CsTeamsShiftsConnectionSyncResult PSCommand_Get-CsTeamsShiftsConnectionSyncResult PSFunction_Get-CsTeamsShiftsConnectionTeamMap PSCommand_Get-CsTeamsShiftsConnectionTeamMap PSFunction_Get-CsTeamsShiftsConnectionWfmTeam PSCommand_Get-CsTeamsShiftsConnectionWfmTeam PSFunction_Get-CsTeamsShiftsConnectionWfmUser PSCommand_Get-CsTeamsShiftsConnectionWfmUser PSFunction_Get-CsTeamsSurvivableBranchAppliance PSCommand_Get-CsTeamsSurvivableBranchAppliance PSFunction_Get-CsTeamsSurvivableBranchAppliancePolicy PSCommand_Get-CsTeamsSurvivableBranchAppliancePolicy PSFunction_Get-CsTeamsTargetingPolicy PSCommand_Get-CsTeamsTargetingPolicy PSFunction_Get-CsTeamsTranslationRule PSCommand_Get-CsTeamsTranslationRule PSFunction_Get-CsTeamsUnassignedNumberTreatment PSCommand_Get-CsTeamsUnassignedNumberTreatment PSFunction_Get-CsTeamsUpgradePolicy PSCommand_Get-CsTeamsUpgradePolicy PSFunction_Get-CsTeamsVdiPolicy PSCommand_Get-CsTeamsVdiPolicy PSFunction_Get-CsTeamsVideoInteropServicePolicy PSCommand_Get-CsTeamsVideoInteropServicePolicy PSFunction_Get-CsTeamsWorkLoadPolicy PSCommand_Get-CsTeamsWorkLoadPolicy PSFunction_Get-CsTeamTemplate PSCommand_Get-CsTeamTemplate PSFunction_Get-CsTeamTemplateList PSCommand_Get-CsTeamTemplateList PSFunction_Get-CsTenant PSCommand_Get-CsTenant PSFunction_Get-CsTenantBlockedCallingNumbers PSCommand_Get-CsTenantBlockedCallingNumbers PSFunction_Get-CsTenantDialPlan PSCommand_Get-CsTenantDialPlan PSFunction_Get-CsTenantFederationConfiguration PSCommand_Get-CsTenantFederationConfiguration PSFunction_Get-CsTenantLicensingConfiguration PSCommand_Get-CsTenantLicensingConfiguration PSFunction_Get-CsTenantMigrationConfiguration PSCommand_Get-CsTenantMigrationConfiguration PSFunction_Get-CsTenantNetworkConfiguration PSCommand_Get-CsTenantNetworkConfiguration PSFunction_Get-CsTenantNetworkRegion PSCommand_Get-CsTenantNetworkRegion PSFunction_Get-CsTenantNetworkSubnet PSCommand_Get-CsTenantNetworkSubnet PSFunction_Get-CsTenantTrustedIPAddress PSCommand_Get-CsTenantTrustedIPAddress PSFunction_Get-CsUserCallingSettings PSCommand_Get-CsUserCallingSettings PSFunction_Get-CsUserPolicyAssignment PSCommand_Get-CsUserPolicyAssignment PSFunction_Get-CsUserPolicyPackage PSCommand_Get-CsUserPolicyPackage PSFunction_Get-CsUserPolicyPackageRecommendation PSCommand_Get-CsUserPolicyPackageRecommendation PSFunction_Get-CsVideoInteropServiceProvider PSCommand_Get-CsVideoInteropServiceProvider PSFunction_Grant-CsApplicationAccessPolicy PSCommand_Grant-CsApplicationAccessPolicy PSFunction_Grant-CsCallingLineIdentity PSCommand_Grant-CsCallingLineIdentity PSFunction_Grant-CsDialoutPolicy PSCommand_Grant-CsDialoutPolicy PSFunction_Grant-CsGroupPolicyPackageAssignment PSCommand_Grant-CsGroupPolicyPackageAssignment PSFunction_Grant-CsOnlineAudioConferencingRoutingPolicy PSCommand_Grant-CsOnlineAudioConferencingRoutingPolicy PSFunction_Grant-CsOnlineVoicemailPolicy PSCommand_Grant-CsOnlineVoicemailPolicy PSFunction_Grant-CsOnlineVoiceRoutingPolicy PSCommand_Grant-CsOnlineVoiceRoutingPolicy PSFunction_Grant-CsTeamsAudioConferencingPolicy PSCommand_Grant-CsTeamsAudioConferencingPolicy PSFunction_Grant-CsTeamsCallHoldPolicy PSCommand_Grant-CsTeamsCallHoldPolicy PSFunction_Grant-CsTeamsCallParkPolicy PSCommand_Grant-CsTeamsCallParkPolicy PSFunction_Grant-CsTeamsChannelsPolicy PSCommand_Grant-CsTeamsChannelsPolicy PSFunction_Grant-CsTeamsCortanaPolicy PSCommand_Grant-CsTeamsCortanaPolicy PSFunction_Grant-CsTeamsEmergencyCallingPolicy PSCommand_Grant-CsTeamsEmergencyCallingPolicy PSFunction_Grant-CsTeamsEmergencyCallRoutingPolicy PSCommand_Grant-CsTeamsEmergencyCallRoutingPolicy PSFunction_Grant-CsTeamsEnhancedEncryptionPolicy PSCommand_Grant-CsTeamsEnhancedEncryptionPolicy PSFunction_Grant-CsTeamsFeedbackPolicy PSCommand_Grant-CsTeamsFeedbackPolicy PSFunction_Grant-CsTeamsIPPhonePolicy PSCommand_Grant-CsTeamsIPPhonePolicy PSFunction_Grant-CsTeamsMediaLoggingPolicy PSCommand_Grant-CsTeamsMediaLoggingPolicy PSFunction_Grant-CsTeamsMeetingBroadcastPolicy PSCommand_Grant-CsTeamsMeetingBroadcastPolicy PSFunction_Grant-CsTeamsMeetingPolicy PSCommand_Grant-CsTeamsMeetingPolicy PSFunction_Grant-CsTeamsMessagingPolicy PSCommand_Grant-CsTeamsMessagingPolicy PSFunction_Grant-CsTeamsMobilityPolicy PSCommand_Grant-CsTeamsMobilityPolicy PSFunction_Grant-CsTeamsRoomVideoTeleConferencingPolicy PSCommand_Grant-CsTeamsRoomVideoTeleConferencingPolicy PSFunction_Grant-CsTeamsSurvivableBranchAppliancePolicy PSCommand_Grant-CsTeamsSurvivableBranchAppliancePolicy PSFunction_Grant-CsTeamsUpdateManagementPolicy PSCommand_Grant-CsTeamsUpdateManagementPolicy PSFunction_Grant-CsTeamsUpgradePolicy PSCommand_Grant-CsTeamsUpgradePolicy PSFunction_Grant-CsTeamsVideoInteropServicePolicy PSCommand_Grant-CsTeamsVideoInteropServicePolicy PSFunction_Grant-CsTeamsVoiceApplicationsPolicy PSCommand_Grant-CsTeamsVoiceApplicationsPolicy PSFunction_Grant-CsTeamsWorkLoadPolicy PSCommand_Grant-CsTeamsWorkLoadPolicy PSFunction_Grant-CsTenantDialPlan PSCommand_Grant-CsTenantDialPlan PSFunction_Grant-CsUserPolicyPackage PSCommand_Grant-CsUserPolicyPackage PSFunction_Grant-CsTeamsComplianceRecordingPolicy PSCommand_Grant-CsTeamsComplianceRecordingPolicy PSFunction_Import-CsAutoAttendantHolidays PSCommand_Import-CsAutoAttendantHolidays PSFunction_Import-CsOnlineAudioFile PSCommand_Import-CsOnlineAudioFile PSFunction_Invoke-CsInternalPSTelemetry PSCommand_Invoke-CsInternalPSTelemetry PSFunction_Move-CsInternalHelper PSCommand_Move-CsInternalHelper PSFunction_New-CsApplicationAccessPolicy PSCommand_New-CsApplicationAccessPolicy PSFunction_New-CsAutoAttendant PSCommand_New-CsAutoAttendant PSFunction_New-CsAutoAttendantCallableEntity PSCommand_New-CsAutoAttendantCallableEntity PSFunction_New-CsAutoAttendantCallFlow PSCommand_New-CsAutoAttendantCallFlow PSFunction_New-CsAutoAttendantCallHandlingAssociation PSCommand_New-CsAutoAttendantCallHandlingAssociation PSFunction_New-CsAutoAttendantDialScope PSCommand_New-CsAutoAttendantDialScope PSFunction_New-CsAutoAttendantMenu PSCommand_New-CsAutoAttendantMenu PSFunction_New-CsAutoAttendantMenuOption PSCommand_New-CsAutoAttendantMenuOption PSFunction_New-CsAutoAttendantPrompt PSCommand_New-CsAutoAttendantPrompt PSFunction_New-CsBatchPolicyAssignmentOperation PSCommand_New-CsBatchPolicyAssignmentOperation PSFunction_New-CsBatchPolicyPackageAssignmentOperation PSCommand_New-CsBatchPolicyPackageAssignmentOperation PSFunction_New-CsCallingLineIdentity PSCommand_New-CsCallingLineIdentity PSFunction_New-CsCallQueue PSCommand_New-CsCallQueue PSFunction_New-CsCloudCallDataConnection PSCommand_New-CsCloudCallDataConnection PSFunction_New-CsCustomPolicyPackage PSCommand_New-CsCustomPolicyPackage PSFunction_New-CsEdgeAllowAllKnownDomains PSCommand_New-CsEdgeAllowAllKnownDomains PSFunction_New-CsEdgeAllowList PSCommand_New-CsEdgeAllowList PSFunction_New-CsEdgeDomainPattern PSCommand_New-CsEdgeDomainPattern PSFunction_New-CsGroupPolicyAssignment PSCommand_New-CsGroupPolicyAssignment PSFunction_New-CsHybridTelephoneNumber PSCommand_New-CsHybridTelephoneNumber PSFunction_New-CsInboundBlockedNumberPattern PSCommand_New-CsInboundBlockedNumberPattern PSFunction_New-CsInboundExemptNumberPattern PSCommand_New-CsInboundExemptNumberPattern PSFunction_New-CsOnlineApplicationInstance PSCommand_New-CsOnlineApplicationInstance PSFunction_New-CsOnlineApplicationInstanceAssociation PSCommand_New-CsOnlineApplicationInstanceAssociation PSFunction_New-CsOnlineAudioConferencingRoutingPolicy PSCommand_New-CsOnlineAudioConferencingRoutingPolicy PSFunction_New-CsOnlineDateTimeRange PSCommand_New-CsOnlineDateTimeRange PSFunction_New-CsOnlineLisCivicAddress PSCommand_New-CsOnlineLisCivicAddress PSFunction_New-CsOnlineLisLocation PSCommand_New-CsOnlineLisLocation PSFunction_New-CsOnlinePSTNGateway PSCommand_New-CsOnlinePSTNGateway PSFunction_New-CsOnlineSchedule PSCommand_New-CsOnlineSchedule PSFunction_New-CsOnlineTelephoneNumberOrder PSCommand_New-CsOnlineTelephoneNumberOrder PSFunction_New-CsOnlineTimeRange PSCommand_New-CsOnlineTimeRange PSFunction_New-CsOnlineVoiceRoute PSCommand_New-CsOnlineVoiceRoute PSFunction_New-CsOnlineVoiceRoutingPolicy PSCommand_New-CsOnlineVoiceRoutingPolicy PSFunction_New-CsSdgBulkSignInRequest PSCommand_New-CsSdgBulkSignInRequest PSFunction_New-CsTeamsAudioConferencingPolicy PSCommand_New-CsTeamsAudioConferencingPolicy PSFunction_New-CsTeamsCallParkPolicy PSCommand_New-CsTeamsCallParkPolicy PSFunction_New-CsTeamsCortanaPolicy PSCommand_New-CsTeamsCortanaPolicy PSFunction_New-CsTeamsEmergencyCallRoutingPolicy PSCommand_New-CsTeamsEmergencyCallRoutingPolicy PSFunction_New-CsTeamsEmergencyNumber PSCommand_New-CsTeamsEmergencyNumber PSFunction_New-CsTeamsEnhancedEncryptionPolicy PSCommand_New-CsTeamsEnhancedEncryptionPolicy PSFunction_New-CsTeamsIPPhonePolicy PSCommand_New-CsTeamsIPPhonePolicy PSFunction_New-CsTeamsMeetingBroadcastPolicy PSCommand_New-CsTeamsMeetingBroadcastPolicy PSFunction_New-CsTeamsMobilityPolicy PSCommand_New-CsTeamsMobilityPolicy PSFunction_New-CsTeamsNetworkRoamingPolicy PSCommand_New-CsTeamsNetworkRoamingPolicy PSFunction_New-CsTeamsRoomVideoTeleConferencingPolicy PSCommand_New-CsTeamsRoomVideoTeleConferencingPolicy PSFunction_New-CsTeamsShiftsConnectionBatchTeamMap PSCommand_New-CsTeamsShiftsConnectionBatchTeamMap PSFunction_New-CsTeamsShiftsConnection PSCommand_New-CsTeamsShiftsConnection PSFunction_New-CsTeamsShiftsConnectionInstance PSCommand_New-CsTeamsShiftsConnectionInstance PSFunction_New-CsTeamsSurvivableBranchAppliance PSCommand_New-CsTeamsSurvivableBranchAppliance PSFunction_New-CsTeamsSurvivableBranchAppliancePolicy PSCommand_New-CsTeamsSurvivableBranchAppliancePolicy PSFunction_New-CsTeamsTranslationRule PSCommand_New-CsTeamsTranslationRule PSFunction_New-CsTeamsUnassignedNumberTreatment PSCommand_New-CsTeamsUnassignedNumberTreatment PSFunction_New-CsTeamsVdiPolicy PSCommand_New-CsTeamsVdiPolicy PSFunction_New-CsTeamsWorkLoadPolicy PSCommand_New-CsTeamsWorkLoadPolicy PSFunction_New-CsTeamTemplate PSCommand_New-CsTeamTemplate PSFunction_New-CsTenantDialPlan PSCommand_New-CsTenantDialPlan PSFunction_New-CsTenantNetworkRegion PSCommand_New-CsTenantNetworkRegion PSFunction_New-CsTenantNetworkSite PSCommand_New-CsTenantNetworkSite PSFunction_New-CsTenantNetworkSubnet PSCommand_New-CsTenantNetworkSubnet PSFunction_New-CsTenantTrustedIPAddress PSCommand_New-CsTenantTrustedIPAddress PSFunction_New-CsUserCallingDelegate PSCommand_New-CsUserCallingDelegate PSFunction_New-CsVideoInteropServiceProvider PSCommand_New-CsVideoInteropServiceProvider PSFunction_New-CsVoiceNormalizationRule PSCommand_New-CsVoiceNormalizationRule PSFunction_Register-CsOnlineDialInConferencingServiceNumber PSCommand_Register-CsOnlineDialInConferencingServiceNumber PSFunction_Remove-CsApplicationAccessPolicy PSCommand_Remove-CsApplicationAccessPolicy PSFunction_Remove-CsAutoAttendant PSCommand_Remove-CsAutoAttendant PSFunction_Remove-CsCallingLineIdentity PSCommand_Remove-CsCallingLineIdentity PSFunction_Remove-CsCallQueue PSCommand_Remove-CsCallQueue PSFunction_Remove-CsCustomPolicyPackage PSCommand_Remove-CsCustomPolicyPackage PSFunction_Remove-CsGroupPolicyAssignment PSCommand_Remove-CsGroupPolicyAssignment PSFunction_Remove-CsHybridTelephoneNumber PSCommand_Remove-CsHybridTelephoneNumber PSFunction_Remove-CsInboundBlockedNumberPattern PSCommand_Remove-CsInboundBlockedNumberPattern PSFunction_Remove-CsInboundExemptNumberPattern PSCommand_Remove-CsInboundExemptNumberPattern PSFunction_Remove-CsOnlineApplicationInstanceAssociation PSCommand_Remove-CsOnlineApplicationInstanceAssociation PSFunction_Remove-CsOnlineAudioConferencingRoutingPolicy PSCommand_Remove-CsOnlineAudioConferencingRoutingPolicy PSFunction_Remove-CsOnlineAudioFile PSCommand_Remove-CsOnlineAudioFile PSFunction_Remove-CsOnlineDialInConferencingTenantSettings PSCommand_Remove-CsOnlineDialInConferencingTenantSettings PSFunction_Remove-CsOnlineLisCivicAddress PSCommand_Remove-CsOnlineLisCivicAddress PSFunction_Remove-CsOnlineLisLocation PSCommand_Remove-CsOnlineLisLocation PSFunction_Remove-CsOnlineLisPort PSCommand_Remove-CsOnlineLisPort PSFunction_Remove-CsOnlineLisSubnet PSCommand_Remove-CsOnlineLisSubnet PSFunction_Remove-CsOnlineLisSwitch PSCommand_Remove-CsOnlineLisSwitch PSFunction_Remove-CsOnlineLisWirelessAccessPoint PSCommand_Remove-CsOnlineLisWirelessAccessPoint PSFunction_Remove-CsOnlinePSTNGateway PSCommand_Remove-CsOnlinePSTNGateway PSFunction_Remove-CsOnlineSchedule PSCommand_Remove-CsOnlineSchedule PSFunction_Remove-CsOnlineTelephoneNumber PSCommand_Remove-CsOnlineTelephoneNumber PSFunction_Remove-CsOnlineVoiceRoute PSCommand_Remove-CsOnlineVoiceRoute PSFunction_Remove-CsOnlineVoiceRoutingPolicy PSCommand_Remove-CsOnlineVoiceRoutingPolicy PSFunction_Remove-CsPhoneNumberAssignment PSCommand_Remove-CsPhoneNumberAssignment PSFunction_Remove-CsTeamsAudioConferencingPolicy PSCommand_Remove-CsTeamsAudioConferencingPolicy PSFunction_Remove-CsTeamsCallParkPolicy PSCommand_Remove-CsTeamsCallParkPolicy PSFunction_Remove-CsTeamsCortanaPolicy PSCommand_Remove-CsTeamsCortanaPolicy PSFunction_Remove-CsTeamsEmergencyCallRoutingPolicy PSCommand_Remove-CsTeamsEmergencyCallRoutingPolicy PSFunction_Remove-CsTeamsEnhancedEncryptionPolicy PSCommand_Remove-CsTeamsEnhancedEncryptionPolicy PSFunction_Remove-CsTeamsIPPhonePolicy PSCommand_Remove-CsTeamsIPPhonePolicy PSFunction_Remove-CsTeamsMeetingBroadcastPolicy PSCommand_Remove-CsTeamsMeetingBroadcastPolicy PSFunction_Remove-CsTeamsMobilityPolicy PSCommand_Remove-CsTeamsMobilityPolicy PSFunction_Remove-CsTeamsNetworkRoamingPolicy PSCommand_Remove-CsTeamsNetworkRoamingPolicy PSFunction_Remove-CsTeamsNotificationAndFeedsPolicy PSCommand_Remove-CsTeamsNotificationAndFeedsPolicy PSFunction_Remove-CsTeamsRoomVideoTeleConferencingPolicy PSCommand_Remove-CsTeamsRoomVideoTeleConferencingPolicy PSFunction_Remove-CsTeamsShiftsConnection PSCommand_Remove-CsTeamsShiftsConnection PSFunction_Remove-CsTeamsShiftsConnectionInstance PSCommand_Remove-CsTeamsShiftsConnectionInstance PSFunction_Remove-CsTeamsShiftsConnectionTeamMap PSCommand_Remove-CsTeamsShiftsConnectionTeamMap PSFunction_Remove-CsTeamsShiftsScheduleRecord PSCommand_Remove-CsTeamsShiftsScheduleRecord PSFunction_Remove-CsTeamsSurvivableBranchAppliance PSCommand_Remove-CsTeamsSurvivableBranchAppliance PSFunction_Remove-CsTeamsSurvivableBranchAppliancePolicy PSCommand_Remove-CsTeamsSurvivableBranchAppliancePolicy PSFunction_Remove-CsTeamsTargetingPolicy PSCommand_Remove-CsTeamsTargetingPolicy PSFunction_Remove-CsTeamsTranslationRule PSCommand_Remove-CsTeamsTranslationRule PSFunction_Remove-CsTeamsUnassignedNumberTreatment PSCommand_Remove-CsTeamsUnassignedNumberTreatment PSFunction_Remove-CsTeamsVdiPolicy PSCommand_Remove-CsTeamsVdiPolicy PSFunction_Remove-CsTeamsWorkLoadPolicy PSCommand_Remove-CsTeamsWorkLoadPolicy PSFunction_Remove-CsTeamTemplate PSCommand_Remove-CsTeamTemplate PSFunction_Remove-CsTenantDialPlan PSCommand_Remove-CsTenantDialPlan PSFunction_Remove-CsTenantNetworkRegion PSCommand_Remove-CsTenantNetworkRegion PSFunction_Remove-CsTenantNetworkSite PSCommand_Remove-CsTenantNetworkSite PSFunction_Remove-CsTenantNetworkSubnet PSCommand_Remove-CsTenantNetworkSubnet PSFunction_Remove-CsTenantTrustedIPAddress PSCommand_Remove-CsTenantTrustedIPAddress PSFunction_Remove-CsUserCallingDelegate PSCommand_Remove-CsUserCallingDelegate PSFunction_Remove-CsUserLicenseGracePeriod PSCommand_Remove-CsUserLicenseGracePeriod PSFunction_Remove-CsVideoInteropServiceProvider PSCommand_Remove-CsVideoInteropServiceProvider PSFunction_Set-CsApplicationAccessPolicy PSCommand_Set-CsApplicationAccessPolicy PSFunction_Set-CsApplicationMeetingConfiguration PSCommand_Set-CsApplicationMeetingConfiguration PSFunction_Set-CsAutoAttendant PSCommand_Set-CsAutoAttendant PSFunction_Set-CsCallingLineIdentity PSCommand_Set-CsCallingLineIdentity PSFunction_Set-CsCallQueue PSCommand_Set-CsCallQueue PSFunction_Set-CsInboundBlockedNumberPattern PSCommand_Set-CsInboundBlockedNumberPattern PSFunction_Set-CsInboundExemptNumberPattern PSCommand_Set-CsInboundExemptNumberPattern PSFunction_Set-CsInternalOnlinePowerShellEndpoint PSCommand_Set-CsInternalOnlinePowerShellEndpoint PSFunction_Set-CsOnlineApplicationInstance PSCommand_Set-CsOnlineApplicationInstance PSFunction_Set-CsOnlineAudioConferencingRoutingPolicy PSCommand_Set-CsOnlineAudioConferencingRoutingPolicy PSFunction_Set-CsOnlineDialInConferencingBridge PSCommand_Set-CsOnlineDialInConferencingBridge PSFunction_Set-CsOnlineDialInConferencingServiceNumber PSCommand_Set-CsOnlineDialInConferencingServiceNumber PSFunction_Set-CsOnlineDialInConferencingTenantSettings PSCommand_Set-CsOnlineDialInConferencingTenantSettings PSFunction_Set-CsOnlineDialInConferencingUser PSCommand_Set-CsOnlineDialInConferencingUser PSFunction_Set-CsOnlineDialInConferencingUserDefaultNumber PSCommand_Set-CsOnlineDialInConferencingUserDefaultNumber PSFunction_Set-CsOnlineEnhancedEmergencyServiceDisclaimer PSCommand_Set-CsOnlineEnhancedEmergencyServiceDisclaimer PSFunction_Set-CsOnlineLisCivicAddress PSCommand_Set-CsOnlineLisCivicAddress PSFunction_Set-CsOnlineLisLocation PSCommand_Set-CsOnlineLisLocation PSFunction_Set-CsOnlineLisPort PSCommand_Set-CsOnlineLisPort PSFunction_Set-CsOnlineLisSubnet PSCommand_Set-CsOnlineLisSubnet PSFunction_Set-CsOnlineLisSwitch PSCommand_Set-CsOnlineLisSwitch PSFunction_Set-CsOnlineLisWirelessAccessPoint PSCommand_Set-CsOnlineLisWirelessAccessPoint PSFunction_Set-CsOnlinePSTNGateway PSCommand_Set-CsOnlinePSTNGateway PSFunction_Set-CsOnlinePstnUsage PSCommand_Set-CsOnlinePstnUsage PSFunction_Set-CsOnlineSchedule PSCommand_Set-CsOnlineSchedule PSFunction_Set-CsOnlineVoiceApplicationInstance PSCommand_Set-CsOnlineVoiceApplicationInstance PSFunction_Set-CsOnlineVoicemailUserSettings PSCommand_Set-CsOnlineVoicemailUserSettings PSFunction_Set-CsOnlineVoiceRoute PSCommand_Set-CsOnlineVoiceRoute PSFunction_Set-CsOnlineVoiceRoutingPolicy PSCommand_Set-CsOnlineVoiceRoutingPolicy PSFunction_Set-CsOnlineVoiceUser PSCommand_Set-CsOnlineVoiceUser PSFunction_Set-CsPhoneNumberAssignment PSCommand_Set-CsPhoneNumberAssignment PSFunction_Set-CsPrivacyConfiguration PSCommand_Set-CsPrivacyConfiguration PSFunction_Set-CsTeamsAcsFederationConfiguration PSCommand_Set-CsTeamsAcsFederationConfiguration PSFunction_Set-CsTeamsAudioConferencingPolicy PSCommand_Set-CsTeamsAudioConferencingPolicy PSFunction_Set-CsTeamsCallParkPolicy PSCommand_Set-CsTeamsCallParkPolicy PSFunction_Set-CsTeamsClientConfiguration PSCommand_Set-CsTeamsClientConfiguration PSFunction_Set-CsTeamsCortanaPolicy PSCommand_Set-CsTeamsCortanaPolicy PSFunction_Set-CsTeamsEducationAssignmentsAppPolicy PSCommand_Set-CsTeamsEducationAssignmentsAppPolicy PSFunction_Set-CsTeamsEmergencyCallRoutingPolicy PSCommand_Set-CsTeamsEmergencyCallRoutingPolicy PSFunction_Set-CsTeamsEnhancedEncryptionPolicy PSCommand_Set-CsTeamsEnhancedEncryptionPolicy PSFunction_Set-CsTeamsGuestCallingConfiguration PSCommand_Set-CsTeamsGuestCallingConfiguration PSFunction_Set-CsTeamsGuestMeetingConfiguration PSCommand_Set-CsTeamsGuestMeetingConfiguration PSFunction_Set-CsTeamsGuestMessagingConfiguration PSCommand_Set-CsTeamsGuestMessagingConfiguration PSFunction_Set-CsTeamsIPPhonePolicy PSCommand_Set-CsTeamsIPPhonePolicy PSFunction_Set-CsTeamsMeetingBroadcastConfiguration PSCommand_Set-CsTeamsMeetingBroadcastConfiguration PSFunction_Set-CsTeamsMeetingBroadcastPolicy PSCommand_Set-CsTeamsMeetingBroadcastPolicy PSFunction_Set-CsTeamsMigrationConfiguration PSCommand_Set-CsTeamsMigrationConfiguration PSFunction_Set-CsTeamsMobilityPolicy PSCommand_Set-CsTeamsMobilityPolicy PSFunction_Set-CsTeamsNetworkRoamingPolicy PSCommand_Set-CsTeamsNetworkRoamingPolicy PSFunction_Set-CsTeamsNotificationAndFeedsPolicy PSCommand_Set-CsTeamsNotificationAndFeedsPolicy PSFunction_Set-CsTeamsRoomVideoTeleConferencingPolicy PSCommand_Set-CsTeamsRoomVideoTeleConferencingPolicy PSFunction_Set-CsTeamsSettingsCustomApp PSCommand_Set-CsTeamsSettingsCustomApp PSFunction_Set-CsTeamsShiftsAppPolicy PSCommand_Set-CsTeamsShiftsAppPolicy PSFunction_Set-CsTeamsShiftsConnection PSCommand_Set-CsTeamsShiftsConnection PSFunction_Set-CsTeamsShiftsConnectionInstance PSCommand_Set-CsTeamsShiftsConnectionInstance PSFunction_Set-CsTeamsSurvivableBranchAppliance PSCommand_Set-CsTeamsSurvivableBranchAppliance PSFunction_Set-CsTeamsSurvivableBranchAppliancePolicy PSCommand_Set-CsTeamsSurvivableBranchAppliancePolicy PSFunction_Set-CsTeamsTargetingPolicy PSCommand_Set-CsTeamsTargetingPolicy PSFunction_Set-CsTeamsTranslationRule PSCommand_Set-CsTeamsTranslationRule PSFunction_Set-CsTeamsUnassignedNumberTreatment PSCommand_Set-CsTeamsUnassignedNumberTreatment PSFunction_Set-CsTeamsVdiPolicy PSCommand_Set-CsTeamsVdiPolicy PSFunction_Set-CsTeamsWorkLoadPolicy PSCommand_Set-CsTeamsWorkLoadPolicy PSFunction_Set-CsTenantBlockedCallingNumbers PSCommand_Set-CsTenantBlockedCallingNumbers PSFunction_Set-CsTenantDialPlan PSCommand_Set-CsTenantDialPlan PSFunction_Set-CsTenantFederationConfiguration PSCommand_Set-CsTenantFederationConfiguration PSFunction_Set-CsTenantMigrationConfiguration PSCommand_Set-CsTenantMigrationConfiguration PSFunction_Set-CsTenantNetworkRegion PSCommand_Set-CsTenantNetworkRegion PSFunction_Set-CsTenantNetworkSite PSCommand_Set-CsTenantNetworkSite PSFunction_Set-CsTenantNetworkSubnet PSCommand_Set-CsTenantNetworkSubnet PSFunction_Set-CsTenantTrustedIPAddress PSCommand_Set-CsTenantTrustedIPAddress PSFunction_Set-CsUser PSCommand_Set-CsUser PSFunction_Set-CsUserCallingDelegate PSCommand_Set-CsUserCallingDelegate PSFunction_Set-CsUserCallingSettings PSCommand_Set-CsUserCallingSettings PSFunction_Set-CsVideoInteropServiceProvider PSCommand_Set-CsVideoInteropServiceProvider PSFunction_Start-CsExMeetingMigration PSCommand_Start-CsExMeetingMigration PSFunction_Sync-CsOnlineApplicationInstance PSCommand_Sync-CsOnlineApplicationInstance PSFunction_Test-CsEffectiveTenantDialPlan PSCommand_Test-CsEffectiveTenantDialPlan PSFunction_Test-CsInboundBlockedNumberPattern PSCommand_Test-CsInboundBlockedNumberPattern PSFunction_Test-CsTeamsShiftsConnectionValidate PSCommand_Test-CsTeamsShiftsConnectionValidate PSFunction_Test-CsTeamsTranslationRule PSCommand_Test-CsTeamsTranslationRule PSFunction_Test-CsTeamsUnassignedNumberTreatment PSCommand_Test-CsTeamsUnassignedNumberTreatment PSFunction_Test-CsVoiceNormalizationRule PSCommand_Test-CsVoiceNormalizationRule PSFunction_Unregister-CsOnlineDialInConferencingServiceNumber PSCommand_Unregister-CsOnlineDialInConferencingServiceNumber PSFunction_Update-CsAutoAttendant PSCommand_Update-CsAutoAttendant PSFunction_Update-CsCustomPolicyPackage PSCommand_Update-CsCustomPolicyPackage PSFunction_Update-CsTeamsShiftsConnection PSCommand_Update-CsTeamsShiftsConnection PSFunction_Update-CsTeamsShiftsConnectionInstance PSCommand_Update-CsTeamsShiftsConnectionInstance PSFunction_Update-CsTeamTemplate PSCommand_Update-CsTeamTemplate PSFunction_New-CsBatchTeamsDeployment PSCommand_New-CsBatchTeamsDeployment PSFunction_Get-CsBatchTeamsDeploymentStatus PSCommand_Get-CsBatchTeamsDeploymentStatus PSFunction_Set-CsOCEContext PSCommand_Set-CsOCEContext PSFunction_Clear-CsOCEContext PSCommand_Clear-CsOCEContext PSFunction_Get-CsRegionContext PSCommand_Get-CsRegionContext PSFunction_Set-CsRegionContext PSCommand_Set-CsRegionContext PSFunction_Clear-CsRegionContext PSCommand_Clear-CsRegionContext PSFunction_Get-CsMeetingMigrationTransactionHistory PSCommand_Get-CsMeetingMigrationTransactionHistory PSFunction_Get-CsMasVersionedSchemaData PSCommand_Get-CsMasVersionedSchemaData PSFunction_Get-CsMasObjectChangelog PSCommand_Get-CsMasObjectChangelog PSFunction_Get-CsBusinessVoiceDirectoryDiagnosticData PSCommand_Get-CsBusinessVoiceDirectoryDiagnosticData PSFunction_Get-CsCloudTenant PSCommand_Get-CsCloudTenant PSFunction_Get-CsCloudUser PSCommand_Get-CsCloudUser PSFunction_Get-CsHostingProvider PSCommand_Get-CsHostingProvider PSFunction_Set-CsTenantUserBackfill PSCommand_Set-CsTenantUserBackfill PSFunction_Invoke-CsCustomHandlerNgtprov PSCommand_Invoke-CsCustomHandlerNgtprov PSFunction_Invoke-CsCustomHandlerCallBackNgtprov PSCommand_Invoke-CsCustomHandlerCallBackNgtprov PSFunction_New-CsSdgDeviceTaggingRequest PSCommand_New-CsSdgDeviceTaggingRequest PSFunction_Get-CsMoveTenantServiceInstanceTaskStatus PSCommand_Get-CsMoveTenantServiceInstanceTaskStatus PSFunction_Move-CsTenantServiceInstance PSCommand_Move-CsTenantServiceInstance PSFunction_Move-CsTenantCrossRegion PSCommand_Move-CsTenantCrossRegion PSFunction_Invoke-CsDirectObjectSync PSCommand_Invoke-CsDirectObjectSync PSFunction_New-CsSDGDeviceTransferRequest PSCommand_New-CsSDGDeviceTransferRequest PSFunction_Get-CsAadTenant PSCommand_Get-CsAadTenant PSFunction_Get-CsAadUser PSCommand_Get-CsAadUser PSFunction_Clear-CsCacheOperation PSCommand_Clear-CsCacheOperation PSFunction_Move-CsAvsTenantPartition PSCommand_Move-CsAvsTenantPartition PSFunction_Invoke-CsMsodsSync PSCommand_Invoke-CsMsodsSync PSIncludes_Function + False + 2024-07-11T19:05:03Z + 6.4.0 + Microsoft Corporation + false + Module + MicrosoftTeams.nuspec|GetTeamSettings.format.ps1xml|LICENSE.txt|Microsoft.Teams.ConfigAPI.Cmdlets.custom.format.ps1xml|Microsoft.Teams.ConfigAPI.Cmdlets.format.ps1xml|Microsoft.Teams.ConfigAPI.Cmdlets.psd1|Microsoft.Teams.ConfigAPI.Cmdlets.psm1|Microsoft.Teams.Policy.Administration.Cmdlets.Core.ExternalAccess.format.ps1xml|Microsoft.Teams.Policy.Administration.Cmdlets.Core.format.ps1xml|Microsoft.Teams.Policy.Administration.Cmdlets.Core.oce.psd1|Microsoft.Teams.Policy.Administration.Cmdlets.Core.OnlineDialinConferencing.format.ps1xml|Microsoft.Teams.Policy.Administration.Cmdlets.Core.OnlineVoicemail.format.ps1xml|Microsoft.Teams.Policy.Administration.Cmdlets.Core.preview.psd1|Microsoft.Teams.Policy.Administration.Cmdlets.Core.psd1|Microsoft.Teams.Policy.Administration.Cmdlets.Core.psm1|Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsAppPolicyConfiguration.format.ps1xml|Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsMeetingConfiguration.format.ps1xml|Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsMigrationConfiguration.format.ps1xml|Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsRoutingConfiguration.format.ps1xml|Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsSipDevicesConfiguration.format.ps1xml|Microsoft.Teams.Policy.Administration.Cmdlets.Core.TenantConfiguration.format.ps1xml|Microsoft.Teams.Policy.Administration.Cmdlets.Core.VoicemailConfig.format.ps1xml|Microsoft.Teams.Policy.Administration.Cmdlets.Core.xml|Microsoft.Teams.Policy.Administration.Cmdlets.CoreAudioConferencing.format.ps1xml|Microsoft.Teams.Policy.Administration.Cmdlets.CoreMediaConnectivityPolicy.format.ps1xml|Microsoft.Teams.Policy.Administration.Cmdlets.CoreRecordingRollOutPolicy.format.ps1xml|Microsoft.Teams.Policy.Administration.Cmdlets.CoreVirtualAppointmentsPolicy.format.ps1xml|Microsoft.Teams.Policy.Administration.Cmdlets.CoreWorkLocationDetectionPolicy.format.ps1xml|Microsoft.Teams.Policy.Administration.psd1|Microsoft.Teams.Policy.Administration.psm1|Microsoft.Teams.Policy.Administration.xml|Microsoft.Teams.PowerShell.Module.xml|Microsoft.Teams.PowerShell.TeamsCmdlets.dll-Help.xml|Microsoft.Teams.PowerShell.TeamsCmdlets.psd1|Microsoft.Teams.PowerShell.TeamsCmdlets.psm1|Microsoft.Teams.PowerShell.TeamsCmdlets.xml|MicrosoftTeams.psd1|MicrosoftTeams.psm1|SetMSTeamsReleaseEnvironment.ps1|SfbRpsModule.format.ps1xml|bin\BrotliSharpLib.dll|bin\Microsoft.IdentityModel.JsonWebTokens.dll|bin\Microsoft.IdentityModel.Logging.dll|bin\Microsoft.IdentityModel.Tokens.dll|bin\Microsoft.Teams.ConfigAPI.CmdletHostContract.dll|bin\Microsoft.Teams.ConfigAPI.Cmdlets.private.deps.json|bin\Microsoft.Teams.ConfigAPI.Cmdlets.private.dll|bin\System.IdentityModel.Tokens.Jwt.dll|custom\CmdletConfig.json|custom\Merged_custom_PsExt.ps1|custom\Microsoft.Teams.ConfigAPI.Cmdlets.custom.psm1|en-US\Microsoft.Teams.Policy.Administration.Cmdlets.Core.dll-Help.xml|en-US\Microsoft.Teams.PowerShell.TeamsCmdlets.dll-Help.xml|en-US\Microsoft.TeamsCmdlets.PowerShell.Connect.dll-Help.xml|en-US\MicrosoftTeams-help.xml|exports\ProxyCmdletDefinitionsWithHelp.ps1|internal\Merged_internal.ps1|internal\Microsoft.Teams.ConfigAPI.Cmdlets.internal.psm1|net472\CmdletSettings.json|net472\Microsoft.ApplicationInsights.dll|net472\Microsoft.Applications.Events.Server.dll|net472\Microsoft.Azure.KeyVault.AzureServiceDeploy.dll|net472\Microsoft.Azure.KeyVault.Core.dll|net472\Microsoft.Azure.KeyVault.Cryptography.dll|net472\Microsoft.Azure.KeyVault.Jose.dll|net472\Microsoft.Data.Sqlite.dll|net472\Microsoft.Extensions.Configuration.Abstractions.dll|net472\Microsoft.Extensions.Configuration.dll|net472\Microsoft.Extensions.DependencyInjection.Abstractions.dll|net472\Microsoft.Extensions.Logging.Abstractions.dll|net472\Microsoft.Extensions.Logging.dll|net472\Microsoft.Extensions.Primitives.dll|net472\Microsoft.Ic3.TenantAdminApi.Common.Helper.dll|net472\Microsoft.Identity.Client.Desktop.dll|net472\Microsoft.Identity.Client.dll|net472\Microsoft.Identity.Client.Extensions.Msal.dll|net472\Microsoft.IdentityModel.JsonWebTokens.dll|net472\Microsoft.IdentityModel.Logging.dll|net472\Microsoft.IdentityModel.Tokens.dll|net472\Microsoft.Rest.ClientRuntime.Azure.dll|net472\Microsoft.Rest.ClientRuntime.dll|net472\Microsoft.Teams.ConfigAPI.CmdletHostContract.dll|net472\Microsoft.Teams.Policy.Administration.Cmdlets.Core.dll|net472\Microsoft.Teams.Policy.Administration.Cmdlets.OCE.dll|net472\Microsoft.Teams.Policy.Administration.Cmdlets.Providers.dll|net472\Microsoft.Teams.Policy.Administration.Cmdlets.Providers.PolicyRp.dll|net472\Microsoft.Teams.Policy.Administration.dll|net472\Microsoft.Teams.PowerShell.Module.dll|net472\Microsoft.Teams.PowerShell.Module.pdb|net472\Microsoft.Teams.PowerShell.Module.xml|net472\Microsoft.Teams.PowerShell.TeamsCmdlets.dll|net472\Microsoft.TeamsCmdlets.PowerShell.Connect.dll|net472\Microsoft.Web.WebView2.Core.dll|net472\Microsoft.Web.WebView2.WinForms.dll|net472\Microsoft.Web.WebView2.Wpf.dll|net472\Newtonsoft.Json.dll|net472\OneCollectorChannel.dll|net472\Polly.Contrib.WaitAndRetry.dll|net472\Polly.dll|net472\System.Buffers.dll|net472\System.Diagnostics.DiagnosticSource.dll|net472\System.Management.Automation.dll|net472\System.Memory.dll|net472\System.Numerics.Vectors.dll|net472\System.Runtime.CompilerServices.Unsafe.dll|net472\System.Security.Cryptography.ProtectedData.dll|netcoreapp3.1\CmdletSettings.json|netcoreapp3.1\Microsoft.ApplicationInsights.dll|netcoreapp3.1\Microsoft.Applications.Events.Server.dll|netcoreapp3.1\Microsoft.Azure.KeyVault.AzureServiceDeploy.dll|netcoreapp3.1\Microsoft.Azure.KeyVault.Core.dll|netcoreapp3.1\Microsoft.Azure.KeyVault.Cryptography.dll|netcoreapp3.1\Microsoft.Azure.KeyVault.Jose.dll|netcoreapp3.1\Microsoft.Data.Sqlite.dll|netcoreapp3.1\Microsoft.Extensions.Configuration.Abstractions.dll|netcoreapp3.1\Microsoft.Extensions.Configuration.dll|netcoreapp3.1\Microsoft.Extensions.DependencyInjection.Abstractions.dll|netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.dll|netcoreapp3.1\Microsoft.Extensions.Logging.dll|netcoreapp3.1\Microsoft.Extensions.Primitives.dll|netcoreapp3.1\Microsoft.Ic3.TenantAdminApi.Common.Helper.dll|netcoreapp3.1\Microsoft.Identity.Client.Desktop.dll|netcoreapp3.1\Microsoft.Identity.Client.dll|netcoreapp3.1\Microsoft.Identity.Client.Extensions.Msal.dll|netcoreapp3.1\Microsoft.IdentityModel.JsonWebTokens.dll|netcoreapp3.1\Microsoft.IdentityModel.Logging.dll|netcoreapp3.1\Microsoft.IdentityModel.Tokens.dll|netcoreapp3.1\Microsoft.Rest.ClientRuntime.Azure.dll|netcoreapp3.1\Microsoft.Rest.ClientRuntime.dll|netcoreapp3.1\Microsoft.Teams.ConfigAPI.CmdletHostContract.dll|netcoreapp3.1\Microsoft.Teams.Policy.Administration.Cmdlets.Core.dll|netcoreapp3.1\Microsoft.Teams.Policy.Administration.Cmdlets.OCE.dll|netcoreapp3.1\Microsoft.Teams.Policy.Administration.Cmdlets.Providers.dll|netcoreapp3.1\Microsoft.Teams.Policy.Administration.Cmdlets.Providers.PolicyRp.dll|netcoreapp3.1\Microsoft.Teams.Policy.Administration.dll|netcoreapp3.1\Microsoft.Teams.PowerShell.Module.deps.json|netcoreapp3.1\Microsoft.Teams.PowerShell.Module.dll|netcoreapp3.1\Microsoft.Teams.PowerShell.Module.pdb|netcoreapp3.1\Microsoft.Teams.PowerShell.Module.xml|netcoreapp3.1\Microsoft.Teams.PowerShell.TeamsCmdlets.dll|netcoreapp3.1\Microsoft.TeamsCmdlets.PowerShell.Connect.dll|netcoreapp3.1\Microsoft.Web.WebView2.Core.dll|netcoreapp3.1\Microsoft.Web.WebView2.WinForms.dll|netcoreapp3.1\Microsoft.Web.WebView2.Wpf.dll|netcoreapp3.1\Newtonsoft.Json.dll|netcoreapp3.1\OneCollectorChannel.dll|netcoreapp3.1\Polly.Contrib.WaitAndRetry.dll|netcoreapp3.1\Polly.dll|netcoreapp3.1\System.Management.Automation.dll|netcoreapp3.1\System.Management.dll|netcoreapp3.1\System.Runtime.CompilerServices.Unsafe.dll|netcoreapp3.1\System.Security.Cryptography.ProtectedData.dll + d910df43-3ca6-4c9c-a2e3-e9f45a8e2ad9 + 5.1 + 4.7.2 + 4.0 + Microsoft Corporation + + + C:\GitHub\CIPP Workspace\CIPP-API\Modules\MicrosoftTeams\6.4.0 +
    +
    +
    diff --git a/Modules/MicrosoftTeams/6.4.0/SetMSTeamsReleaseEnvironment.ps1 b/Modules/MicrosoftTeams/6.4.0/SetMSTeamsReleaseEnvironment.ps1 new file mode 100644 index 000000000000..0292016326ec --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/SetMSTeamsReleaseEnvironment.ps1 @@ -0,0 +1,234 @@ +#This file is setting HostingEnvironment environment variable using which we can decide in nested modules, that which cmdlets it has to export. + +# We don't have access to the module at load time, since loading occurs last +# Instead we set up a one-time event to set the OnRemove scriptblock once the module has been loaded +$null = Register-EngineEvent -SourceIdentifier PowerShell.OnIdle -MaxTriggerCount 1 -Action { + $m = Get-Module MicrosoftTeams + $m.OnRemove = { + Write-Verbose "Removing MSTeamsReleaseEnvironment" + $env:MSTeamsReleaseEnvironment = $null + Disconnect-MicrosoftTeams + } +} + +$env:MSTeamsReleaseEnvironment = 'TeamsGA' + +#The below line will be uncommented by build process if its preview module + +#preview $env:MSTeamsReleaseEnvironment = 'TeamsPreview' + +# SIG # Begin signature block +# MIInvwYJKoZIhvcNAQcCoIInsDCCJ6wCAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCC6QSrbNq5qY4CX +# 15x6qVrEe3OnMqckrZDKvtChfXP5jaCCDXYwggX0MIID3KADAgECAhMzAAADrzBA +# DkyjTQVBAAAAAAOvMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMjMxMTE2MTkwOTAwWhcNMjQxMTE0MTkwOTAwWjB0MQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +# AQDOS8s1ra6f0YGtg0OhEaQa/t3Q+q1MEHhWJhqQVuO5amYXQpy8MDPNoJYk+FWA +# hePP5LxwcSge5aen+f5Q6WNPd6EDxGzotvVpNi5ve0H97S3F7C/axDfKxyNh21MG +# 0W8Sb0vxi/vorcLHOL9i+t2D6yvvDzLlEefUCbQV/zGCBjXGlYJcUj6RAzXyeNAN +# xSpKXAGd7Fh+ocGHPPphcD9LQTOJgG7Y7aYztHqBLJiQQ4eAgZNU4ac6+8LnEGAL +# go1ydC5BJEuJQjYKbNTy959HrKSu7LO3Ws0w8jw6pYdC1IMpdTkk2puTgY2PDNzB +# tLM4evG7FYer3WX+8t1UMYNTAgMBAAGjggFzMIIBbzAfBgNVHSUEGDAWBgorBgEE +# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQURxxxNPIEPGSO8kqz+bgCAQWGXsEw +# RQYDVR0RBD4wPKQ6MDgxHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEW +# MBQGA1UEBRMNMjMwMDEyKzUwMTgyNjAfBgNVHSMEGDAWgBRIbmTlUAXTgqoXNzci +# tW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8vd3d3Lm1pY3Jvc29mdC5j +# b20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3JsMGEG +# CCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDovL3d3dy5taWNyb3NvZnQu +# Y29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3J0 +# MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIBAISxFt/zR2frTFPB45Yd +# mhZpB2nNJoOoi+qlgcTlnO4QwlYN1w/vYwbDy/oFJolD5r6FMJd0RGcgEM8q9TgQ +# 2OC7gQEmhweVJ7yuKJlQBH7P7Pg5RiqgV3cSonJ+OM4kFHbP3gPLiyzssSQdRuPY +# 1mIWoGg9i7Y4ZC8ST7WhpSyc0pns2XsUe1XsIjaUcGu7zd7gg97eCUiLRdVklPmp +# XobH9CEAWakRUGNICYN2AgjhRTC4j3KJfqMkU04R6Toyh4/Toswm1uoDcGr5laYn +# TfcX3u5WnJqJLhuPe8Uj9kGAOcyo0O1mNwDa+LhFEzB6CB32+wfJMumfr6degvLT +# e8x55urQLeTjimBQgS49BSUkhFN7ois3cZyNpnrMca5AZaC7pLI72vuqSsSlLalG +# OcZmPHZGYJqZ0BacN274OZ80Q8B11iNokns9Od348bMb5Z4fihxaBWebl8kWEi2O +# PvQImOAeq3nt7UWJBzJYLAGEpfasaA3ZQgIcEXdD+uwo6ymMzDY6UamFOfYqYWXk +# ntxDGu7ngD2ugKUuccYKJJRiiz+LAUcj90BVcSHRLQop9N8zoALr/1sJuwPrVAtx +# HNEgSW+AKBqIxYWM4Ev32l6agSUAezLMbq5f3d8x9qzT031jMDT+sUAoCw0M5wVt +# CUQcqINPuYjbS1WgJyZIiEkBMIIHejCCBWKgAwIBAgIKYQ6Q0gAAAAAAAzANBgkq +# hkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x +# EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv +# bjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5 +# IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEwOTA5WjB+MQswCQYDVQQG +# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG +# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQg +# Q29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC +# CgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+laUKq4BjgaBEm6f8MMHt03 +# a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc6Whe0t+bU7IKLMOv2akr +# rnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4Ddato88tt8zpcoRb0Rrrg +# OGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+lD3v++MrWhAfTVYoonpy +# 4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nkkDstrjNYxbc+/jLTswM9 +# sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6A4aN91/w0FK/jJSHvMAh +# dCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmdX4jiJV3TIUs+UsS1Vz8k +# A/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL5zmhD+kjSbwYuER8ReTB +# w3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zdsGbiwZeBe+3W7UvnSSmn +# Eyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3T8HhhUSJxAlMxdSlQy90 +# lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS4NaIjAsCAwEAAaOCAe0w +# ggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRIbmTlUAXTgqoXNzcitW2o +# ynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYD +# VR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBDuRQFTuHqp8cx0SOJNDBa +# BgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2Ny +# bC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3JsMF4GCCsG +# AQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3dy5taWNyb3NvZnQuY29t +# L3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3J0MIGfBgNV +# HSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEFBQcCARYzaHR0cDovL3d3 +# dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1hcnljcHMuaHRtMEAGCCsG +# AQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkAYwB5AF8AcwB0AGEAdABl +# AG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn8oalmOBUeRou09h0ZyKb +# C5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7v0epo/Np22O/IjWll11l +# hJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0bpdS1HXeUOeLpZMlEPXh6 +# I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/KmtYSWMfCWluWpiW5IP0 +# wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvyCInWH8MyGOLwxS3OW560 +# STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBpmLJZiWhub6e3dMNABQam +# ASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJihsMdYzaXht/a8/jyFqGa +# J+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYbBL7fQccOKO7eZS/sl/ah +# XJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbSoqKfenoi+kiVH6v7RyOA +# 9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sLgOppO6/8MO0ETI7f33Vt +# Y5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtXcVZOSEXAQsmbdlsKgEhr +# /Xmfwb1tbWrJUnMTDXpQzTGCGZ8wghmbAgEBMIGVMH4xCzAJBgNVBAYTAlVTMRMw +# EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN +# aWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNp +# Z25pbmcgUENBIDIwMTECEzMAAAOvMEAOTKNNBUEAAAAAA68wDQYJYIZIAWUDBAIB +# BQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEO +# MAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIKwhnAu5OLUmTWVzGDxzwu87 +# ECHdTJ+a4iX/WmYDn6qeMEIGCisGAQQBgjcCAQwxNDAyoBSAEgBNAGkAYwByAG8A +# cwBvAGYAdKEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20wDQYJKoZIhvcNAQEB +# BQAEggEAgio9uXiLHEgfbN9jnZ3ra/eQV6nyiu2eZzCa/dagNj44sh2cilZV/Xf3 +# hPOsaga/xnnbSLwIuHtgniqpsJPG/T85/FIE+Fzz06wfGpijAK9svu6s4T+qVozR +# doDPFmycSN+cqer1+VKaco2tjxI42PX0LYtOgnmKRputQozfguj1NytVqDnASHIs +# 0BAY55rSqFcPw2C6Rc+OYouNL/rVMWRmbA4kXwMva+lCaAFQtIh7KahgG1CtQlFI +# V2ldTkk8w7ZmRnoOImEs/EEQHuRQdHFj8VRcxv8BYt/H5uZvFxCXQJgKhBG1JjXw +# 2Fr0USKa6s8/G+0VS4X4X7/J5e6U06GCFykwghclBgorBgEEAYI3AwMBMYIXFTCC +# FxEGCSqGSIb3DQEHAqCCFwIwghb+AgEDMQ8wDQYJYIZIAWUDBAIBBQAwggFZBgsq +# hkiG9w0BCRABBKCCAUgEggFEMIIBQAIBAQYKKwYBBAGEWQoDATAxMA0GCWCGSAFl +# AwQCAQUABCCyujf3mxnNLtRroxYQg3NnqDwUyDlFlkNDvarftO0OBgIGZlcfxLIW +# GBMyMDI0MDYxOTExMzEzMi4zOTRaMASAAgH0oIHYpIHVMIHSMQswCQYDVQQGEwJV +# UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE +# ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQgSXJl +# bGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNO +# OjNCRDQtNEI4MC02OUMzMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBT +# ZXJ2aWNloIIReDCCBycwggUPoAMCAQICEzMAAAHlj2rA8z20C6MAAQAAAeUwDQYJ +# KoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x +# EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv +# bjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwHhcNMjMx +# MDEyMTkwNzM1WhcNMjUwMTEwMTkwNzM1WjCB0jELMAkGA1UEBhMCVVMxEzARBgNV +# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv +# c29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxhbmQgT3Bl +# cmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjozQkQ0LTRC +# ODAtNjlDMzElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZTCC +# AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKl74Drau2O6LLrJO3HyTvO9 +# aXai//eNyP5MLWZrmUGNOJMPwMI08V9zBfRPNcucreIYSyJHjkMIUGmuh0rPV5/2 +# +UCLGrN1P77n9fq/mdzXMN1FzqaPHdKElKneJQ8R6cP4dru2Gymmt1rrGcNe800C +# cD6d/Ndoommkd196VqOtjZFA1XWu+GsFBeWHiez/PllqcM/eWntkQMs0lK0zmCfH +# +Bu7i1h+FDRR8F7WzUr/7M3jhVdPpAfq2zYCA8ZVLNgEizY+vFmgx+zDuuU/GChD +# K7klDcCw+/gVoEuSOl5clQsydWQjJJX7Z2yV+1KC6G1JVqpP3dpKPAP/4udNqpR5 +# HIeb8Ta1JfjRUzSv3qSje5y9RYT/AjWNYQ7gsezuDWM/8cZ11kco1JvUyOQ8x/JD +# kMFqSRwj1v+mc6LKKlj//dWCG/Hw9ppdlWJX6psDesQuQR7FV7eCqV/lfajoLpPN +# x/9zF1dv8yXBdzmWJPeCie2XaQnrAKDqlG3zXux9tNQmz2L96TdxnIO2OGmYxBAA +# ZAWoKbmtYI+Ciz4CYyO0Fm5Z3T40a5d7KJuftF6CToccc/Up/jpFfQitLfjd71cS +# +cLCeoQ+q0n0IALvV+acbENouSOrjv/QtY4FIjHlI5zdJzJnGskVJ5ozhji0YRsc +# v1WwJFAuyyCMQvLdmPddAgMBAAGjggFJMIIBRTAdBgNVHQ4EFgQU3/+fh7tNczEi +# fEXlCQgFOXgMh6owHwYDVR0jBBgwFoAUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXwYD +# VR0fBFgwVjBUoFKgUIZOaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9j +# cmwvTWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUyMDIwMTAoMSkuY3JsMGwG +# CCsGAQUFBwEBBGAwXjBcBggrBgEFBQcwAoZQaHR0cDovL3d3dy5taWNyb3NvZnQu +# Y29tL3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIw +# MjAxMCgxKS5jcnQwDAYDVR0TAQH/BAIwADAWBgNVHSUBAf8EDDAKBggrBgEFBQcD +# CDAOBgNVHQ8BAf8EBAMCB4AwDQYJKoZIhvcNAQELBQADggIBADP6whOFjD1ad8Gk +# EJ9oLBuvfjndMyGQ9R4HgBKSlPt3pa0XVLcimrJlDnKGgFBiWwI6XOgw82hdolDi +# MDBLLWRMTJHWVeUY1gU4XB8OOIxBc9/Q83zb1c0RWEupgC48I+b+2x2VNgGJUsQI +# yPR2PiXQhT5PyerMgag9OSodQjFwpNdGirna2rpV23EUwFeO5+3oSX4JeCNZvgyU +# OzKpyMvqVaubo+Glf/psfW5tIcMjZVt0elswfq0qJNQgoYipbaTvv7xmixUJGTbi +# xYifTwAivPcKNdeisZmtts7OHbAM795ZvKLSEqXiRUjDYZyeHyAysMEALbIhdXgH +# Eh60KoZyzlBXz3VxEirE7nhucNwM2tViOlwI7EkeU5hudctnXCG55JuMw/wb7c71 +# RKimZA/KXlWpmBvkJkB0BZES8OCGDd+zY/T9BnTp8si36Tql84VfpYe9iHmy7Pqq +# xqMF2Cn4q2a0mEMnpBruDGE/gR9c8SVJ2ntkARy5SfluuJ/MB61yRvT1mUx3lypp +# O22ePjBjnwoEvVxbDjT1jhdMNdevOuDeJGzRLK9HNmTDC+TdZQlj+VMgIm8ZeEIR +# NF0oaviF+QZcUZLWzWbYq6yDok8EZKFiRR5otBoGLvaYFpxBZUE8mnLKuDlYobjr +# xh7lnwrxV/fMy0F9fSo2JxFmtLgtMIIHcTCCBVmgAwIBAgITMwAAABXF52ueAptJ +# mQAAAAAAFTANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT +# Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m +# dCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNh +# dGUgQXV0aG9yaXR5IDIwMTAwHhcNMjEwOTMwMTgyMjI1WhcNMzAwOTMwMTgzMjI1 +# WjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH +# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQD +# Ex1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDCCAiIwDQYJKoZIhvcNAQEB +# BQADggIPADCCAgoCggIBAOThpkzntHIhC3miy9ckeb0O1YLT/e6cBwfSqWxOdcjK +# NVf2AX9sSuDivbk+F2Az/1xPx2b3lVNxWuJ+Slr+uDZnhUYjDLWNE893MsAQGOhg +# fWpSg0S3po5GawcU88V29YZQ3MFEyHFcUTE3oAo4bo3t1w/YJlN8OWECesSq/XJp +# rx2rrPY2vjUmZNqYO7oaezOtgFt+jBAcnVL+tuhiJdxqD89d9P6OU8/W7IVWTe/d +# vI2k45GPsjksUZzpcGkNyjYtcI4xyDUoveO0hyTD4MmPfrVUj9z6BVWYbWg7mka9 +# 7aSueik3rMvrg0XnRm7KMtXAhjBcTyziYrLNueKNiOSWrAFKu75xqRdbZ2De+JKR +# Hh09/SDPc31BmkZ1zcRfNN0Sidb9pSB9fvzZnkXftnIv231fgLrbqn427DZM9itu +# qBJR6L8FA6PRc6ZNN3SUHDSCD/AQ8rdHGO2n6Jl8P0zbr17C89XYcz1DTsEzOUyO +# ArxCaC4Q6oRRRuLRvWoYWmEBc8pnol7XKHYC4jMYctenIPDC+hIK12NvDMk2ZItb +# oKaDIV1fMHSRlJTYuVD5C4lh8zYGNRiER9vcG9H9stQcxWv2XFJRXRLbJbqvUAV6 +# bMURHXLvjflSxIUXk8A8FdsaN8cIFRg/eKtFtvUeh17aj54WcmnGrnu3tz5q4i6t +# AgMBAAGjggHdMIIB2TASBgkrBgEEAYI3FQEEBQIDAQABMCMGCSsGAQQBgjcVAgQW +# BBQqp1L+ZMSavoKRPEY1Kc8Q/y8E7jAdBgNVHQ4EFgQUn6cVXQBeYl2D9OXSZacb +# UzUZ6XIwXAYDVR0gBFUwUzBRBgwrBgEEAYI3TIN9AQEwQTA/BggrBgEFBQcCARYz +# aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnku +# aHRtMBMGA1UdJQQMMAoGCCsGAQUFBwMIMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIA +# QwBBMAsGA1UdDwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNX2 +# VsuP6KJcYmjRPZSQW9fOmhjEMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwu +# bWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dF8yMDEw +# LTA2LTIzLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93 +# d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYt +# MjMuY3J0MA0GCSqGSIb3DQEBCwUAA4ICAQCdVX38Kq3hLB9nATEkW+Geckv8qW/q +# XBS2Pk5HZHixBpOXPTEztTnXwnE2P9pkbHzQdTltuw8x5MKP+2zRoZQYIu7pZmc6 +# U03dmLq2HnjYNi6cqYJWAAOwBb6J6Gngugnue99qb74py27YP0h1AdkY3m2CDPVt +# I1TkeFN1JFe53Z/zjj3G82jfZfakVqr3lbYoVSfQJL1AoL8ZthISEV09J+BAljis +# 9/kpicO8F7BUhUKz/AyeixmJ5/ALaoHCgRlCGVJ1ijbCHcNhcy4sa3tuPywJeBTp +# kbKpW99Jo3QMvOyRgNI95ko+ZjtPu4b6MhrZlvSP9pEB9s7GdP32THJvEKt1MMU0 +# sHrYUP4KWN1APMdUbZ1jdEgssU5HLcEUBHG/ZPkkvnNtyo4JvbMBV0lUZNlz138e +# W0QBjloZkWsNn6Qo3GcZKCS6OEuabvshVGtqRRFHqfG3rsjoiV5PndLQTHa1V1QJ +# sWkBRH58oWFsc/4Ku+xBZj1p/cvBQUl+fpO+y/g75LcVv7TOPqUxUYS8vwLBgqJ7 +# Fx0ViY1w/ue10CgaiQuPNtq6TPmb/wrpNPgkNWcr4A245oyZ1uEi6vAnQj0llOZ0 +# dFtq0Z4+7X6gMTN9vMvpe784cETRkPHIqzqKOghif9lwY1NNje6CbaUFEMFxBmoQ +# tB1VM1izoXBm8qGCAtQwggI9AgEBMIIBAKGB2KSB1TCB0jELMAkGA1UEBhMCVVMx +# EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoT +# FU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxh +# bmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjoz +# QkQ0LTRCODAtNjlDMzElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2Vy +# dmljZaIjCgEBMAcGBSsOAwIaAxUA942iGuYFrsE4wzWDd85EpM6RiwqggYMwgYCk +# fjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH +# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQD +# Ex1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDANBgkqhkiG9w0BAQUFAAIF +# AOocou0wIhgPMjAyNDA2MTkwODIxMDFaGA8yMDI0MDYyMDA4MjEwMVowdDA6Bgor +# BgEEAYRZCgQBMSwwKjAKAgUA6hyi7QIBADAHAgEAAgIUMjAHAgEAAgISEzAKAgUA +# 6h30bQIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMCoAowCAIBAAID +# B6EgoQowCAIBAAIDAYagMA0GCSqGSIb3DQEBBQUAA4GBAFZeHjUZP4Z4u2Sdzthh +# V+nP6G0eup1nDgNVYQfaOEyamlH8LLjTCf/f4yeNmuqPJQYU8zeNN5rQK2UJBLCI +# uENhPXyn1GsCxZHccyS/ZOBKbLmkZ9cU2K4P4Owntn5ecqNQNdd4OdHl0AQ2X3vg +# F05JzP6kv+4AGpq1MxiIN92bMYIEDTCCBAkCAQEwgZMwfDELMAkGA1UEBhMCVVMx +# EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoT +# FU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUt +# U3RhbXAgUENBIDIwMTACEzMAAAHlj2rA8z20C6MAAQAAAeUwDQYJYIZIAWUDBAIB +# BQCgggFKMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQx +# IgQgxkx20itFJ4h3tsWo7bab3K/wKkIes8SIGCq3AnqZCcswgfoGCyqGSIb3DQEJ +# EAIvMYHqMIHnMIHkMIG9BCAVqdP//qjxGFhe2YboEXeb8I/pAof01CwhbxUH9U69 +# 7TCBmDCBgKR+MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAw +# DgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24x +# JjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAB5Y9q +# wPM9tAujAAEAAAHlMCIEIKFipkV/DVpxusVZcZtSUcBg5g8NIUAMTmbSG9mhVjq/ +# MA0GCSqGSIb3DQEBCwUABIICAKkr+N9lBNFd5XXMBwr33aFtmb3O+6hCEhJk+Y3u +# vX7ckjeD017DQZ15JlKXM2RXhqN74Z1kVq5hTNloB+HrGCJBlB0y5McFFM+v368N +# 0xKjJ5FpDpIw1Yvcs0ixj4Fqh0PoEhZAzxtdwVrbcCpK5pJgQJ20tjbQTH8J2/k/ +# NsVgejzp1Vv58XSXD9WuRZBU0RAVo1PriubDLYR23he+Z5LuHjfiiSdmyUskyqde +# 0jZdozMf5RGNb7cDLqQAK3Vzp1sJ1T4++JUF7446woWFGpraOua1/KeAKlutzkG6 +# zg1M3qy9ndc32qUOUQ8WuRgTNbAEpS/QvJ32MNDFGbeHQh1w4hbQ5XAkzI+zvk4+ +# GNGv3Yh2HI1Pze0sUOxbM8d/zEv5f39n4GhwVPP3muz9e2G+ZeuJ5U3GpH0+/dti +# 7jRVKIJ6gu/9e5t1fSKCRAp38WS2tzI7wtNhydrrEGevF6YqohB/y+GYX3EAfvmR +# p8HbAOo1MvMAdk9qqb2I8r6Ebq9sKsUHC3RxexSzBen292ienjfCZ4b0z2iszyDo +# JrfHf5jiU/xI4M3l1cNUpVKZZ6cKZbWG96zCValoynD9VGW1z6l4LjwGTvUfvqNK +# WYZ1igVZxdL2fXsO1HjahtYWreQ/FGYZcwYcWI+VHNnaOZZ8u3yDqeV1kkf/7roJ +# JR7T +# SIG # End signature block diff --git a/Modules/MicrosoftTeams/6.4.0/SfbRpsModule.format.ps1xml b/Modules/MicrosoftTeams/6.4.0/SfbRpsModule.format.ps1xml new file mode 100644 index 000000000000..0893c694af1a --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/SfbRpsModule.format.ps1xml @@ -0,0 +1,26488 @@ + + + + + DeserializedAddressBookServicePolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.AddressBook.AddressBookServicePolicy + + + + + + + + Identity + + + + Description + + + + EnableAzureABS + + + + EnableAzureABSSideBySide + + + + EnableRankedResultsDisplay + + + + DisableAzureABSForUcwa + + + + + + + + DeserializedCallViaWorkPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.CallViaWork.CallViaWorkPolicy + + + + + + + + Identity + + + + Enabled + + + + UseAdminCallbackNumber + + + + AdminCallbackNumber + + + + + + + + DeserializedClientPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Client.ClientPolicy + + + + + + + + Identity + + + + PolicyEntry + + + + Description + + + + AddressBookAvailability + + + + AttendantSafeTransfer + + + + AutoDiscoveryRetryInterval + + + + BlockConversationFromFederatedContacts + + + + CalendarStatePublicationInterval + + + + ; + + + + CustomizedHelpUrl + + + + CustomLinkInErrorMessages + + + + CustomStateUrl + + + + DGRefreshInterval + + + + DisableCalendarPresence + + + + DisableContactCardOrganizationTab + + + + DisableEmailComparisonCheck + + + + DisableEmoticons + + + + DisableFeedsTab + + + + DisableFederatedPromptDisplayName + + + + DisableFreeBusyInfo + + + + DisableHandsetOnLockedMachine + + + + DisableMeetingSubjectAndLocation + + + + DisableHtmlIm + + + + DisableInkIM + + + + DisableOneNote12Integration + + + + DisableOnlineContextualSearch + + + + DisablePhonePresence + + + + DisablePICPromptDisplayName + + + + DisablePoorDeviceWarnings + + + + DisablePoorNetworkWarnings + + + + DisablePresenceNote + + + + DisableRTFIM + + + + DisableSavingIM + + + + DisplayPhoto + + + + EnableAppearOffline + + + + EnableCallLogAutoArchiving + + + + EnableClientAutoPopulateWithTeam + + + + EnableClientMusicOnHold + + + + EnableConversationWindowTabs + + + + EnableEnterpriseCustomizedHelp + + + + EnableEventLogging + + + + EnableExchangeContactSync + + + + EnableExchangeDelegateSync + + + + EnableExchangeContactsFolder + + + + EnableFullScreenVideo + + + + EnableHighPerformanceConferencingAppSharing + + + + EnableHotdesking + + + + EnableIMAutoArchiving + + + + EnableMediaRedirection + + + + EnableMeetingEngagement + + + + EnableNotificationForNewSubscribers + + + + EnableServerConversationHistory + + + + EnableSkypeUI + + + + EnableSQMData + + + + EnableTracing + + + + EnableURL + + + + EnableUnencryptedFileTransfer + + + + EnableVOIPCallDefault + + + + ExcludedContactFolders + + + + HotdeskingTimeout + + + + IMWarning + + + + MAPIPollInterval + + + + MaximumDGsAllowedInContactList + + + + MaximumNumberOfContacts + + + + MaxPhotoSizeKB + + + + MusicOnHoldAudioFile + + + + P2PAppSharingEncryption + + + + EnableHighPerformanceP2PAppSharing + + + + PlayAbbreviatedDialTone + + + + RequireContentPin + + + + SearchPrefixFlags + + + + ShowRecentContacts + + + + ShowManagePrivacyRelationships + + + + ShowSharepointPhotoEditLink + + + + SPSearchInternalURL + + + + SPSearchExternalURL + + + + SPSearchCenterInternalURL + + + + SPSearchCenterExternalURL + + + + TabURL + + + + TracingLevel + + + + TelemetryTier + + + + PublicationBatchDelay + + + + EnableViewBasedSubscriptionMode + + + + WebServicePollInterval + + + + HelpEnvironment + + + + RateMyCallDisplayPercentage + + + + RateMyCallAllowCustomUserFeedback + + + + IMLatencySpinnerDelay + + + + IMLatencyErrorThreshold + + + + SupportModernFilePicker + + + + EnableOnlineFeedback + + + + EnableOnlineFeedbackScreenshots + + + + + + + + DeserializedPolicyEntryTypeView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Client.PolicyEntryType + + + + + + + + Name + + + + Value + + + + + + + + DeserializedClientUpdatePolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.ClientUpdate.ClientUpdatePolicy + + + + + + + + Identity + + + + ShowNotification + + + + RedirectClient + + + + UpdateClient + + + + + + + + DeserializedClientUpdateOverridePolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.ClientUpdate.ClientUpdateOverridePolicy + + + + + + + + Identity + + + + Enabled + + + + ShowNotification + + + + RedirectClient + + + + UpdateClient + + + + + + + + DeserializedClientVersionPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.ClientVersion.ClientVersionPolicy + + + + + + + + Identity + + + + Rules + + + + Description + + + + + + + + DeserializedRuleView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.ClientVersion.Rule + + + + + + + + RuleId + + + + Description + + + + Action + + + + ActionUrl + + + + MajorVersion + + + + MinorVersion + + + + BuildNumber + + + + QfeNumber + + + + UserAgent + + + + UserAgentFullName + + + + Enabled + + + + CompareOp + + + + + + + + DeserializedRuleView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.ClientVersion.Rule#Decorated + + + + + + + + Identity + + + + Priority + + + + RuleId + + + + Description + + + + Action + + + + ActionUrl + + + + MajorVersion + + + + MinorVersion + + + + BuildNumber + + + + QfeNumber + + + + UserAgent + + + + UserAgentFullName + + + + Enabled + + + + CompareOp + + + + + + + + DeserializedClientVersionConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.ClientVersion.ClientVersionConfiguration + + + + + + + + Identity + + + + DefaultAction + + + + DefaultURL + + + + Enabled + + + + + + + + DeserializedExternalAccessPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.ExternalAccess.ExternalAccessPolicy + + + + + + + + Identity + + + + Description + + + + EnableFederationAccess + + + + EnableXmppAccess + + + + EnablePublicCloudAccess + + + + EnablePublicCloudAudioVideoAccess + + + + EnableOutsideAccess + + + + EnableAcsFederationAccess + + + + EnableTeamsConsumerAccess + + + + EnableTeamsConsumerInbound + + + + RestrictTeamsConsumerAccessToExternalUserProfiles + + + + + + + + DeserializedExternalUserCommunicationPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.ExternalUserCommunication.ExternalUserCommunicationPolicy + + + + + + + + Identity + + + + EnableFileTransfer + + + + EnableP2PFileTransfer + + + + AllowPresenceVisibility + + + + AllowTitleVisibility + + + + + + + + DeserializedGraphPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Graph.GraphPolicy + + + + + + + + Identity + + + + Description + + + + EnableMeetingsGraph + + + + EnableSharedLinks + + + + UseStorageService + + + + UseEWSDirectDownload + + + + + + + + DeserializedImArchivingPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Im.ImArchivingPolicy + + + + + + + + Identity + + + + Description + + + + ArchiveInternal + + + + ArchiveExternal + + + + + + + + DeserializedLegalInterceptPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Im.LegalInterceptPolicy + + + + + + + + Identity + + + + Description + + + + DeliverySMTPAddress + + + + ExpiryTime + + + + + + + + DeserializedIPPhonePolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.IPPhone.IPPhonePolicy + + + + + + + + Identity + + + + UserDialTimeoutMS + + + + KeyboardLockMaxPinRetry + + + + PrioritizedCodecsList + + + + EnablePowerSaveMode + + + + PowerSaveDuringOfficeHoursTimeoutMS + + + + PowerSavePostOfficeHoursTimeoutMS + + + + EnableOneTouchVoicemail + + + + DateTimeFormat + + + + EnableDeviceUpdate + + + + EnableExchangeCalendaring + + + + EnableBetterTogetherOverEthernet + + + + BetterTogetherOverEthernetPairingMode + + + + LocalProvisioningServerUser + + + + LocalProvisioningServerPassword + + + + LocalProvisioningServerAddress + + + + LocalProvisioningServerType + + + + + + + + DeserializedLocationPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Location.LocationPolicy + + + + + + + + Identity + + + + EmergencyNumbers + + + + Description + + + + EnhancedEmergencyServicesEnabled + + + + LocationRequired + + + + UseLocationForE911Only + + + + PstnUsage + + + + EmergencyDialString + + + + EmergencyDialMask + + + + NotificationUri + + + + ConferenceUri + + + + ConferenceMode + + + + LocationRefreshInterval + + + + EnhancedEmergencyServiceDisclaimer + + + + UseHybridVoiceForE911 + + + + EnablePlusPrefix + + + + AllowEmergencyCallsWithoutLineURI + + + + + + + + DeserializedEmergencyNumberView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Location.EmergencyNumber + + + + + + + + DialString + + + + DialMask + + + + + + + + DeserializedMeetingPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Meeting.MeetingPolicy + + + + + + + + Identity + + + + AllowIPAudio + + + + AllowIPVideo + + + + AllowMultiView + + + + Description + + + + AllowParticipantControl + + + + AllowAnnotations + + + + DisablePowerPointAnnotations + + + + AllowUserToScheduleMeetingsWithAppSharing + + + + ApplicationSharingMode + + + + AllowNonEnterpriseVoiceUsersToDialOut + + + + AllowAnonymousUsersToDialOut + + + + AllowAnonymousParticipantsInMeetings + + + + AllowFederatedParticipantJoinAsSameEnterprise + + + + AllowExternalUsersToSaveContent + + + + AllowExternalUserControl + + + + AllowExternalUsersToRecordMeeting + + + + AllowPolls + + + + AllowSharedNotes + + + + AllowQandA + + + + AllowOfficeContent + + + + EnableDialInConferencing + + + + EnableAppDesktopSharing + + + + AllowConferenceRecording + + + + EnableP2PRecording + + + + EnableFileTransfer + + + + EnableP2PFileTransfer + + + + EnableP2PVideo + + + + AllowLargeMeetings + + + + EnableOnlineMeetingPromptForLyncResources + + + + EnableDataCollaboration + + + + MaxVideoConferenceResolution + + + + MaxMeetingSize + + + + AudioBitRateKb + + + + VideoBitRateKb + + + + AppSharingBitRateKb + + + + FileTransferBitRateKb + + + + TotalReceiveVideoBitRateKb + + + + EnableMultiViewJoin + + + + CloudRecordingServiceSupport + + + + EnableReliableConferenceDeletion + + + + + + + + DeserializedBroadcastMeetingPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Meeting.BroadcastMeetingPolicy + + + + + + + + Identity + + + + AllowBroadcastMeeting + + + + AllowOpenBroadcastMeeting + + + + AllowBroadcastMeetingRecording + + + + AllowAnonymousBroadcastMeeting + + + + BroadcastMeetingRecordingEnforced + + + + + + + + DeserializedCloudMeetingPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Meeting.CloudMeetingPolicy + + + + + + + + Identity + + + + AllowAutoSchedule + + + + IsModernSchedulingEnabled + + + + + + + + DeserializedCloudMeetingOpsPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Meeting.CloudMeetingOpsPolicy + + + + + + + + Identity + + + + ActivationLocation + + + + + + + + DeserializedCloudVideoInteropPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Meeting.CloudVideoInteropPolicy + + + + + + + + Identity + + + + EnableCloudVideoInterop + + + + + + + + DeserializedApplicationAccessPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Meeting.ApplicationAccessPolicy + + + + + + + + Identity + + + + AppIds + + + + Description + + + + + + + + DeserializedTeamsMeetingPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Meeting.TeamsMeetingPolicy + + + + + + + + Identity + + + + Description + + + + AllowChannelMeetingScheduling + + + + AllowMeetNow + + + + AllowPrivateMeetNow + + + + MeetingChatEnabledType + + + + LiveCaptionsEnabledType + + + + DesignatedPresenterRoleMode + + + + AllowIPAudio + + + + AllowIPVideo + + + + AllowEngagementReport + + + + AllowTrackingInReport + + + + IPAudioMode + + + + IPVideoMode + + + + AllowAnonymousUsersToDialOut + + + + AllowAnonymousUsersToStartMeeting + + + + AllowAnonymousUsersToJoinMeeting + + + + BlockedAnonymousJoinClientTypes + + + + AllowedStreamingMediaInput + + + + AllowPrivateMeetingScheduling + + + + AutoAdmittedUsers + + + + AllowCloudRecording + + + + AllowRecordingStorageOutsideRegion + + + + RecordingStorageMode + + + + AllowOutlookAddIn + + + + AllowPowerPointSharing + + + + AllowParticipantGiveRequestControl + + + + AllowExternalParticipantGiveRequestControl + + + + AllowSharedNotes + + + + AllowWhiteboard + + + + AllowTranscription + + + + AllowNetworkConfigurationSettingsLookup + + + + MediaBitRateKb + + + + ScreenSharingMode + + + + VideoFiltersMode + + + + AllowPSTNUsersToBypassLobby + + + + AllowOrganizersToOverrideLobbySettings + + + + PreferredMeetingProviderForIslandsMode + + + + AllowNDIStreaming + + + + AllowUserToJoinExternalMeeting + + + + SpeakerAttributionMode + + + + EnrollUserOverride + + + + RoomAttributeUserOverride + + + + StreamingAttendeeMode + + + + AllowBreakoutRooms + + + + TeamsCameraFarEndPTZMode + + + + AllowMeetingReactions + + + + AllowMeetingRegistration + + + + WhoCanRegister + + + + AllowScreenContentDigitization + + + + AllowCarbonSummary + + + + RoomPeopleNameUserOverride + + + + AllowMeetingCoach + + + + NewMeetingRecordingExpirationDays + + + + LiveStreamingMode + + + + MeetingInviteLanguages + + + + ChannelRecordingDownload + + + + AllowCartCaptionsScheduling + + + + AllowTasksFromTranscript + + + + InfoShownInReportMode + + + + LiveInterpretationEnabledType + + + + QnAEngagementMode + + + + AllowImmersiveView + + + + AllowAvatarsInGallery + + + + AllowAnnotations + + + + AllowDocumentCollaboration + + + + AllowWatermarkForScreenSharing + + + + AllowWatermarkForCameraVideo + + + + AudibleRecordingNotification + + + + + + + + DeserializedMeetingBrandingThemeView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Meeting.MeetingBrandingTheme + + + + + + + + DisplayName + + + + LogoImageLightUri + + + + LogoImageDarkUri + + + + BackgroundImageLightUri + + + + BackgroundImageDarkUri + + + + BrandAccentColor + + + + Enabled + + + + Identity + + + + + + + + DeserializedTeamsEventsPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Meeting.TeamsEventsPolicy + + + + + + + + Identity + + + + AllowWebinars + + + + ForceStreamingAttendeeMode + + + + EventAccessType + + + + Description + + + + + + + + DeserializedMobilityPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Mobility.MobilityPolicy + + + + + + + + Identity + + + + Description + + + + EnableOutsideVoice + + + + EnableMobility + + + + EnableIPAudioVideo + + + + RequireWIFIForIPVideo + + + + AllowCustomerExperienceImprovementProgram + + + + RequireWiFiForSharing + + + + AllowSaveCallLogs + + + + AllowExchangeConnectivity + + + + AllowSaveIMHistory + + + + AllowSaveCredentials + + + + EnablePushNotifications + + + + EncryptAppData + + + + AllowDeviceContactsSync + + + + RequireIntune + + + + AllowAutomaticPstnFallback + + + + VoiceSettings + + + + + + + + DeserializedOnlineDialinConferencingPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.OnlineDialinConferencing.OnlineDialinConferencingPolicy + + + + + + + + Identity + + + + AllowService + + + + Description + + + + + + + + DeserializedOnlineDialOutPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.OnlineDialOut.OnlineDialOutPolicy + + + + + + + + Identity + + + + AllowPSTNConferencingDialOutType + + + + AllowPSTNOutboundCallingType + + + + + + + + DeserializedOnlineVoicemailPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.OnlineVoicemail.OnlineVoicemailPolicy + + + + + + + + Identity + + + + EnableTranscription + + + + ShareData + + + + EnableTranscriptionProfanityMasking + + + + EnableEditingCallAnswerRulesSetting + + + + MaximumRecordingLength + + + + EnableTranscriptionTranslation + + + + PrimarySystemPromptLanguage + + + + SecondarySystemPromptLanguage + + + + + + + + DeserializedPersistentChatPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.PersistentChat.PersistentChatPolicy + + + + + + + + Identity + + + + Description + + + + EnablePersistentChat + + + + + + + + DeserializedPresencePolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Presence.PresencePolicy + + + + + + + + Identity + + + + MaxPromptedSubscriber + + + + MaxCategorySubscription + + + + Description + + + + + + + + DeserializedTenantPowerShellPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.RemotePowershell.TenantPowerShellPolicy + + + + + + + + Identity + + + + EnableRemotePowerShellAccess + + + + MaxConnectionsPerTenant + + + + MaxConnectionsPerUser + + + + MaxCmdletsBeforePause + + + + MaxCmdletsPauseSeconds + + + + BypassSkuRestrictions + + + + + + + + DeserializedSmsServicePolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Sms.SmsServicePolicy + + + + + + + + Identity + + + + Description + + + + ProxyServiceUrl + + + + EnablePersonalInvite + + + + EnableOutboundIM + + + + SendIMMessageContent + + + + + + + + DeserializedTeamsCallingPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsCallingPolicy + + + + + + + + Identity + + + + Description + + + + AllowPrivateCalling + + + + AllowWebPSTNCalling + + + + AllowSIPDevicesCalling + + + + AllowVoicemail + + + + AllowCallGroups + + + + AllowDelegation + + + + AllowCallForwardingToUser + + + + AllowCallForwardingToPhone + + + + PreventTollBypass + + + + BusyOnBusyEnabledType + + + + MusicOnHoldEnabledType + + + + AllowCloudRecordingForCalls + + + + AllowTranscriptionForCalling + + + + PopoutForIncomingPstnCalls + + + + PopoutAppPathForIncomingPstnCalls + + + + LiveCaptionsEnabledTypeForCalling + + + + AutoAnswerEnabledType + + + + SpamFilteringEnabledType + + + + CallRecordingExpirationDays + + + + AllowCallRedirect + + + + + + + + DeserializedTeamsInteropPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsInteropPolicy + + + + + + + + Identity + + + + AllowEndUserClientOverride + + + + CallingDefaultClient + + + + ChatDefaultClient + + + + + + + + DeserializedTeamsMessagingPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsMessagingPolicy + + + + + + + + Identity + + + + Description + + + + AllowUrlPreviews + + + + AllowOwnerDeleteMessage + + + + AllowUserEditMessage + + + + AllowUserDeleteMessage + + + + AllowUserDeleteChat + + + + AllowUserChat + + + + AllowRemoveUser + + + + AllowGiphy + + + + GiphyRatingType + + + + AllowGiphyDisplay + + + + AllowPasteInternetImage + + + + AllowMemes + + + + AllowImmersiveReader + + + + AllowStickers + + + + AllowUserTranslation + + + + ReadReceiptsEnabledType + + + + AllowPriorityMessages + + + + AllowSmartReply + + + + AllowSmartCompose + + + + ChannelsInChatListEnabledType + + + + AudioMessageEnabledType + + + + ChatPermissionRole + + + + AllowFullChatPermissionUserToDeleteAnyMessage + + + + AllowFluidCollaborate + + + + AllowVideoMessages + + + + AllowCommunicationComplianceEndUserReporting + + + + + + + + DeserializedTeamsUpgradePolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsUpgradePolicy + + + + + + + + Identity + + + + Description + + + + Mode + + + + NotifySfbUsers + + + + Action + + + + + + + + DeserializedTeamsUpgradeOverridePolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsUpgradeOverridePolicy + + + + + + + + Identity + + + + Description + + + + ProvisionedAsTeamsOnly + + + + SkypePoolMode + + + + Action + + + + Enabled + + + + + + + + DeserializedTeamsMediaLoggingPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsMediaLoggingPolicy + + + + + + + + Identity + + + + Description + + + + AllowMediaLogging + + + + + + + + DeserializedTeamsVideoInteropServicePolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsVideoInteropServicePolicy + + + + + + + + Identity + + + + Description + + + + ProviderName + + + + Enabled + + + + + + + + DeserializedTeamsWorkLoadPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsWorkLoadPolicy + + + + + + + + Identity + + + + Description + + + + AllowMeeting + + + + AllowMeetingPinned + + + + AllowMessaging + + + + AllowMessagingPinned + + + + AllowCalling + + + + AllowCallingPinned + + + + + + + + DeserializedTeamsCortanaPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsCortanaPolicy + + + + + + + + Identity + + + + Description + + + + CortanaVoiceInvocationMode + + + + AllowCortanaVoiceInvocation + + + + AllowCortanaAmbientListening + + + + AllowCortanaInContextSuggestions + + + + + + + + DeserializedTeamsOwnersPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsOwnersPolicy + + + + + + + + Identity + + + + Description + + + + AllowPrivateTeams + + + + AllowOrgwideTeams + + + + AllowPublicTeams + + + + + + + + DeserializedTeamsMeetingBroadcastPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsMeetingBroadcastPolicy + + + + + + + + Identity + + + + Description + + + + AllowBroadcastScheduling + + + + AllowBroadcastTranscription + + + + BroadcastAttendeeVisibilityMode + + + + BroadcastRecordingMode + + + + + + + + DeserializedTeamsAppPermissionPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsAppPermissionPolicy + + + + + + + + Identity + + + + DefaultCatalogApps + + + + GlobalCatalogApps + + + + PrivateCatalogApps + + + + Description + + + + DefaultCatalogAppsType + + + + GlobalCatalogAppsType + + + + PrivateCatalogAppsType + + + + + + + + DeserializedDefaultCatalogAppView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.DefaultCatalogApp + + + + + + + + Id + + + + + + + + DeserializedDefaultCatalogAppView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.DefaultCatalogApp#Decorated + + + + + + + + Identity + + + + Priority + + + + Id + + + + + + + + DeserializedGlobalCatalogAppView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.GlobalCatalogApp + + + + + + + + Id + + + + + + + + DeserializedGlobalCatalogAppView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.GlobalCatalogApp#Decorated + + + + + + + + Identity + + + + Priority + + + + Id + + + + + + + + DeserializedPrivateCatalogAppView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.PrivateCatalogApp + + + + + + + + Id + + + + + + + + DeserializedPrivateCatalogAppView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.PrivateCatalogApp#Decorated + + + + + + + + Identity + + + + Priority + + + + Id + + + + + + + + DeserializedTeamsAppSetupPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsAppSetupPolicy + + + + + + + + Identity + + + + AppPresetList + + + + PinnedAppBarApps + + + + PinnedMessageBarApps + + + + AppPresetMeetingList + + + + Description + + + + AllowSideLoading + + + + AllowUserPinning + + + + + + + + DeserializedAppPresetView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.AppPreset + + + + + + + + Id + + + + + + + + DeserializedAppPresetView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.AppPreset#Decorated + + + + + + + + Identity + + + + Priority + + + + Id + + + + + + + + DeserializedPinnedAppView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.PinnedApp + + + + + + + + Id + + + + Order + + + + + + + + DeserializedPinnedAppView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.PinnedApp#Decorated + + + + + + + + Identity + + + + Priority + + + + Id + + + + Order + + + + + + + + DeserializedPinnedMessageBarAppView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.PinnedMessageBarApp + + + + + + + + Id + + + + Order + + + + + + + + DeserializedPinnedMessageBarAppView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.PinnedMessageBarApp#Decorated + + + + + + + + Identity + + + + Priority + + + + Id + + + + Order + + + + + + + + DeserializedAppPresetMeetingView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.AppPresetMeeting + + + + + + + + Id + + + + + + + + DeserializedAppPresetMeetingView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.AppPresetMeeting#Decorated + + + + + + + + Identity + + + + Priority + + + + Id + + + + + + + + DeserializedTeamsCallParkPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsCallParkPolicy + + + + + + + + Identity + + + + Description + + + + AllowCallPark + + + + PickupRangeStart + + + + PickupRangeEnd + + + + ParkTimeoutSeconds + + + + + + + + DeserializedTeamsEducationAssignmentsAppPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsEducationAssignmentsAppPolicy + + + + + + + + Identity + + + + ParentDigestEnabledType + + + + MakeCodeEnabledType + + + + TurnItInEnabledType + + + + TurnItInApiUrl + + + + TurnItInApiKey + + + + + + + + DeserializedTeamsEmergencyCallRoutingPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsEmergencyCallRoutingPolicy + + + + + + + + Identity + + + + EmergencyNumbers + + + + AllowEnhancedEmergencyServices + + + + Description + + + + + + + + DeserializedTeamsEmergencyNumberView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsEmergencyNumber + + + + + + + + EmergencyDialString + + + + EmergencyDialMask + + + + OnlinePSTNUsage + + + + + + + + DeserializedTeamsEmergencyCallingPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsEmergencyCallingPolicy + + + + + + + + Identity + + + + NotificationGroup + + + + NotificationDialOutNumber + + + + ExternalLocationLookupMode + + + + NotificationMode + + + + EnhancedEmergencyServiceDisclaimer + + + + Description + + + + + + + + DeserializedTeamsUpdateManagementPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsUpdateManagementPolicy + + + + + + + + Identity + + + + Description + + + + AllowManagedUpdates + + + + AllowPreview + + + + UpdateDayOfWeek + + + + UpdateTime + + + + UpdateTimeOfDay + + + + AllowPublicPreview + + + + + + + + DeserializedTeamsNotificationAndFeedsPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsNotificationAndFeedsPolicy + + + + + + + + Identity + + + + Description + + + + SuggestedFeedsEnabledType + + + + TrendingFeedsEnabledType + + + + + + + + DeserializedTeamsChannelsPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsChannelsPolicy + + + + + + + + Identity + + + + Description + + + + AllowOrgWideTeamCreation + + + + AllowPrivateTeamDiscovery + + + + AllowPrivateChannelCreation + + + + AllowSharedChannelCreation + + + + AllowChannelSharingToExternalUser + + + + AllowUserToParticipateInExternalSharedChannel + + + + + + + + DeserializedTeamsMobilityPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsMobilityPolicy + + + + + + + + Identity + + + + Description + + + + IPVideoMobileMode + + + + IPAudioMobileMode + + + + MobileDialerPreference + + + + + + + + DeserializedTeamsSyntheticAutomatedCallPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsSyntheticAutomatedCallPolicy + + + + + + + + Identity + + + + Description + + + + SyntheticAutomatedCallsMode + + + + + + + + DeserializedTeamsTargetingPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsTargetingPolicy + + + + + + + + Identity + + + + Description + + + + ManageTagsPermissionMode + + + + TeamOwnersEditWhoCanManageTagsMode + + + + SuggestedPresetTags + + + + CustomTagsMode + + + + ShiftBackedTagsMode + + + + + + + + DeserializedTeamsIPPhonePolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsIPPhonePolicy + + + + + + + + Identity + + + + Description + + + + SignInMode + + + + SearchOnCommonAreaPhoneMode + + + + AllowHomeScreen + + + + AllowBetterTogether + + + + AllowHotDesking + + + + HotDeskingIdleTimeoutInMinutes + + + + + + + + DeserializedTeamsVerticalPackagePolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsVerticalPackagePolicy + + + + + + + + Identity + + + + PackageIncludedPolices + + + + Description + + + + PackageId + + + + FirstRunExperienceId + + + + + + + + DeserializedPolicyTypeToPolicyInstanceView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.PolicyTypeToPolicyInstance + + + + + + + + PolicyType + + + + PolicyName + + + + + + + + DeserializedTeamsFeedbackPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsFeedbackPolicy + + + + + + + + Identity + + + + UserInitiatedMode + + + + ReceiveSurveysMode + + + + AllowScreenshotCollection + + + + AllowEmailCollection + + + + AllowLogCollection + + + + + + + + DeserializedTeamsComplianceRecordingPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsComplianceRecordingPolicy + + + + + + + + Identity + + + + ComplianceRecordingApplications + + + + Enabled + + + + WarnUserOnRemoval + + + + DisableComplianceRecordingAudioNotificationForCalls + + + + Description + + + + + + + + DeserializedComplianceRecordingApplicationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.ComplianceRecordingApplication + + + + + + + + ComplianceRecordingPairedApplications + + + + Id + + + + RequiredBeforeMeetingJoin + + + + RequiredBeforeCallEstablishment + + + + RequiredDuringMeeting + + + + RequiredDuringCall + + + + ConcurrentInvitationCount + + + + + + + + DeserializedComplianceRecordingApplicationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.ComplianceRecordingApplication#Decorated + + + + + + + + Identity + + + + Priority + + + + ComplianceRecordingPairedApplications + + + + Id + + + + RequiredBeforeMeetingJoin + + + + RequiredBeforeCallEstablishment + + + + RequiredDuringMeeting + + + + RequiredDuringCall + + + + ConcurrentInvitationCount + + + + + + + + DeserializedComplianceRecordingPairedApplicationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.ComplianceRecordingPairedApplication + + + + + + + + Id + + + + + + + + DeserializedTeamsShiftsAppPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsShiftsAppPolicy + + + + + + + + Identity + + + + AllowTimeClockLocationDetection + + + + + + + + DeserializedTeamsShiftsPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsShiftsPolicy + + + + + + + + Identity + + + + EnableShiftPresence + + + + ShiftNoticeFrequency + + + + ShiftNoticeMessageType + + + + ShiftNoticeMessageCustom + + + + AccessType + + + + AccessGracePeriodMinutes + + + + EnableScheduleOwnerPermissions + + + + + + + + DeserializedTeamsTasksPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsTasksPolicy + + + + + + + + Identity + + + + TasksMode + + + + AllowActivityWhenTasksPublished + + + + + + + + DeserializedTeamsVdiPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsVdiPolicy + + + + + + + + Identity + + + + DisableCallsAndMeetings + + + + DisableAudioVideoInCallsAndMeetings + + + + + + + + DeserializedTeamsNetworkRoamingPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsNetworkRoamingPolicy + + + + + + + + Identity + + + + AllowIPVideo + + + + MediaBitRateKb + + + + Description + + + + + + + + DeserializedTeamsCarrierEmergencyCallRoutingPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsCarrierEmergencyCallRoutingPolicy + + + + + + + + Identity + + + + LocationPolicyId + + + + Description + + + + + + + + DeserializedTeamsCallHoldPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsCallHoldPolicy + + + + + + + + Identity + + + + Description + + + + AudioFileId + + + + + + + + DeserializedTeamsEnhancedEncryptionPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsEnhancedEncryptionPolicy + + + + + + + + Identity + + + + CallingEndtoEndEncryptionEnabledType + + + + MeetingEndToEndEncryption + + + + Description + + + + + + + + DeserializedTeamsFilesPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsFilesPolicy + + + + + + + + Identity + + + + NativeFileEntryPoints + + + + SPChannelFilesTab + + + + + + + + DeserializedTeamsWatermarkPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsWatermarkPolicy + + + + + + + + Identity + + + + AllowForScreenSharing + + + + AllowForCameraVideo + + + + Description + + + + + + + + DeserializedTeamsVoiceApplicationsPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsVoiceApplicationsPolicy + + + + + + + + Identity + + + + Description + + + + AllowAutoAttendantBusinessHoursGreetingChange + + + + AllowAutoAttendantAfterHoursGreetingChange + + + + AllowAutoAttendantHolidayGreetingChange + + + + AllowAutoAttendantBusinessHoursChange + + + + AllowAutoAttendantTimeZoneChange + + + + AllowAutoAttendantLanguageChange + + + + AllowAutoAttendantHolidaysChange + + + + AllowAutoAttendantBusinessHoursRoutingChange + + + + AllowAutoAttendantAfterHoursRoutingChange + + + + AllowAutoAttendantHolidayRoutingChange + + + + AllowCallQueueWelcomeGreetingChange + + + + AllowCallQueueMusicOnHoldChange + + + + AllowCallQueueOverflowSharedVoicemailGreetingChange + + + + AllowCallQueueTimeoutSharedVoicemailGreetingChange + + + + AllowCallQueueOptOutChange + + + + AllowCallQueueAgentOptChange + + + + AllowCallQueueMembershipChange + + + + AllowCallQueueRoutingMethodChange + + + + AllowCallQueuePresenceBasedRoutingChange + + + + CallQueueAgentMonitorMode + + + + CallQueueAgentMonitorNotificationMode + + + + AllowCallQueueLanguageChange + + + + AllowCallQueueOverflowRoutingChange + + + + AllowCallQueueTimeoutRoutingChange + + + + AllowCallQueueNoAgentsRoutingChange + + + + AllowCallQueueConferenceModeChange + + + + + + + + DeserializedTeamsRoomVideoTeleConferencingPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsRoomVideoTeleConferencingPolicy + + + + + + + + Identity + + + + Description + + + + Enabled + + + + AreaCode + + + + ReceiveExternalCalls + + + + ReceiveInternalCalls + + + + PlaceExternalCalls + + + + PlaceInternalCalls + + + + + + + + DeserializedTeamsMeetingTemplatePermissionPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsMeetingTemplatePermissionPolicy + + + + + + + + Identity + + + + HiddenMeetingTemplates + + + + Description + + + + + + + + DeserializedHiddenMeetingTemplateView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.HiddenMeetingTemplate + + + + + + + + Id + + + + + + + + DeserializedTeamsAudioConferencingPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.TeamsAudioConferencing.TeamsAudioConferencingPolicy + + + + + + + + Identity + + + + MeetingInvitePhoneNumbers + + + + AllowTollFreeDialin + + + + + + + + DeserializedThirdPartyVideoSystemPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.ThirdPartyVideoSystem.ThirdPartyVideoSystemPolicy + + + + + + + + Identity + + + + SupportsSendingLowResolution + + + + + + + + DeserializedUserExperiencePolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.UserExperience.UserExperiencePolicy + + + + + + + + Identity + + + + UserExperienceVersion + + + + + + + + DeserializedUserPinPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.UserPin.UserPinPolicy + + + + + + + + Identity + + + + Description + + + + MinPasswordLength + + + + PINHistoryCount + + + + AllowCommonPatterns + + + + PINLifetime + + + + MaximumLogonAttempts + + + + + + + + DeserializedUserServicesPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.UserServices.UserServicesPolicy + + + + + + + + Identity + + + + UcsAllowed + + + + MigrationDelayInDays + + + + EnableAwaySinceIndication + + + + + + + + DeserializedPstnUsagesView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.PstnUsages + + + + + + + + Identity + + + + Usage + + + + + + + + DeserializedOnlinePstnUsagesView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.OnlinePstnUsages + + + + + + + + Identity + + + + Usage + + + + + + + + DeserializedRouteView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.Route + + + + + + + + Description + + + + NumberPattern + + + + PstnUsages + + + + PstnGatewayList + + + + Name + + + + SuppressCallerId + + + + AlternateCallerId + + + + + + + + DeserializedRouteView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.Route#Decorated + + + + + + + + Identity + + + + Priority + + + + Description + + + + NumberPattern + + + + PstnUsages + + + + PstnGatewayList + + + + Name + + + + SuppressCallerId + + + + AlternateCallerId + + + + + + + + DeserializedPstnRoutingSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.PstnRoutingSettings + + + + + + + + Identity + + + + Route + + + + EnableLocationBasedRouting + + + + CallViaWorkCallerId + + + + + + + + DeserializedHostedVoicemailPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.Hosted.HostedVoicemailPolicy + + + + + + + + Identity + + + + Description + + + + Destination + + + + Organization + + + + BusinessVoiceEnabled + + + + NgcEnabled + + + + + + + + DeserializedOnlineRouteView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.OnlineRoute + + + + + + + + Description + + + + NumberPattern + + + + OnlinePstnUsages + + + + OnlinePstnGatewayList + + + + BridgeSourcePhoneNumber + + + + Name + + + + + + + + DeserializedOnlineRouteView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.OnlineRoute#Decorated + + + + + + + + Identity + + + + Priority + + + + Description + + + + NumberPattern + + + + OnlinePstnUsages + + + + OnlinePstnGatewayList + + + + BridgeSourcePhoneNumber + + + + Name + + + + + + + + DeserializedOnlinePstnRoutingSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.OnlinePstnRoutingSettings + + + + + + + + Identity + + + + OnlineRoute + + + + + + + + DeserializedTenantBlockedCallingNumbersView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.TenantBlockedCallingNumbers + + + + + + + + Identity + + + + InboundBlockedNumberPatterns + + + + InboundExemptNumberPatterns + + + + Enabled + + + + Name + + + + + + + + DeserializedInboundBlockedNumberPatternView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.InboundBlockedNumberPattern + + + + + + + + Name + + + + Enabled + + + + Description + + + + Pattern + + + + + + + + DeserializedInboundBlockedNumberPatternView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.InboundBlockedNumberPattern#Decorated + + + + + + + + Identity + + + + Name + + + + Enabled + + + + Description + + + + Pattern + + + + + + + + DeserializedOutboundBlockedNumberPatternView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.OutboundBlockedNumberPattern + + + + + + + + Name + + + + Enabled + + + + Description + + + + Pattern + + + + + + + + DeserializedOutboundBlockedNumberPatternView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.OutboundBlockedNumberPattern#Decorated + + + + + + + + Identity + + + + Name + + + + Enabled + + + + Description + + + + Pattern + + + + + + + + DeserializedInboundExemptNumberPatternView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.InboundExemptNumberPattern + + + + + + + + Name + + + + Enabled + + + + Description + + + + Pattern + + + + + + + + DeserializedInboundExemptNumberPatternView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.InboundExemptNumberPattern#Decorated + + + + + + + + Identity + + + + Name + + + + Enabled + + + + Description + + + + Pattern + + + + + + + + DeserializedLocationProfileView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.LocationProfile + + + + + + + + Identity + + + + Description + + + + DialinConferencingRegion + + + + NormalizationRules + + + + PriorityNormalizationRules + + + + CountryCode + + + + State + + + + City + + + + SimpleName + + + + ITUCountryPrefix + + + + + + + + DeserializedNormalizationRuleView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.NormalizationRule + + + + + + + + Description + + + + Pattern + + + + Translation + + + + Name + + + + IsInternalExtension + + + + + + + + DeserializedNormalizationRuleView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.NormalizationRule#Decorated + + + + + + + + Identity + + + + Priority + + + + Description + + + + Pattern + + + + Translation + + + + Name + + + + IsInternalExtension + + + + + + + + DeserializedTenantDialPlanView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.TenantDialPlan + + + + + + + + Identity + + + + Description + + + + NormalizationRules + + + + SimpleName + + + + + + + + DeserializedVoicePolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.VoicePolicy + + + + + + + + Identity + + + + PstnUsages + + + + CustomCallForwardingSimulRingUsages + + + + Description + + + + AllowSimulRing + + + + AllowCallForwarding + + + + AllowPSTNReRouting + + + + Name + + + + EnableDelegation + + + + EnableTeamCall + + + + EnableCallTransfer + + + + EnableCallPark + + + + EnableBusyOptions + + + + EnableMaliciousCallTracing + + + + EnableBWPolicyOverride + + + + PreventPSTNTollBypass + + + + EnableFMC + + + + CallForwardingSimulRingUsageType + + + + EnableVoicemailEscapeTimer + + + + PSTNVoicemailEscapeTimer + + + + + + + + DeserializedCallerIdPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.CallerIdPolicy + + + + + + + + Identity + + + + Description + + + + Name + + + + EnableUserOverride + + + + ServiceNumber + + + + CallerIDSubstitute + + + + + + + + DeserializedCallingLineIdentityView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.CallingLineIdentity + + + + + + + + Identity + + + + Description + + + + EnableUserOverride + + + + ServiceNumber + + + + CallingIDSubstitute + + + + BlockIncomingPstnCallerID + + + + ResourceAccount + + + + CompanyName + + + + + + + + DeserializedNgcBvMigrationPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.NgcBvMigrationPolicy + + + + + + + + Identity + + + + Description + + + + PstnOut + + + + + + + + DeserializedTestConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.TestConfiguration + + + + + + + + Name + + + + DialedNumber + + + + TargetDialplan + + + + TargetVoicePolicy + + + + ExpectedTranslatedNumber + + + + ExpectedUsage + + + + ExpectedRoute + + + + + + + + DeserializedTestConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.TestConfiguration#Decorated + + + + + + + + Identity + + + + Name + + + + DialedNumber + + + + TargetDialplan + + + + TargetVoicePolicy + + + + ExpectedTranslatedNumber + + + + ExpectedUsage + + + + ExpectedRoute + + + + + + + + DeserializedVoiceConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.VoiceConfiguration + + + + + + + + Identity + + + + VoiceTestConfigurations + + + + + + + + DeserializedUcPhoneSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.UcPhoneSettings + + + + + + + + Identity + + + + CalendarPollInterval + + + + EnforcePhoneLock + + + + PhoneLockTimeout + + + + MinPhonePinLength + + + + SIPSecurityMode + + + + VoiceDiffServTag + + + + Voice8021p + + + + LoggingLevel + + + + + + + + DeserializedHostedVoicemailPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.HostedVoicemailPolicy + + + + + + + + Identity + + + + Description + + + + Destination + + + + Organization + + + + + + + + DeserializedVoiceRoutingPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.VoiceRoutingPolicy + + + + + + + + Identity + + + + PstnUsages + + + + Description + + + + Name + + + + + + + + DeserializedOnlineVoiceRoutingPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.OnlineVoiceRoutingPolicy + + + + + + + + Identity + + + + OnlinePstnUsages + + + + Description + + + + RouteType + + + + + + + + DeserializedOnlineAudioConferencingRoutingPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.OnlineAudioConferencingRoutingPolicy + + + + + + + + Identity + + + + OnlinePstnUsages + + + + Description + + + + RouteType + + + + + + + + DeserializedSurvivableBranchApplianceView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.SurvivableBranchAppliance + + + + + + + + Fqdn + + + + Site + + + + Description + + + + + + + + DeserializedSurvivableBranchApplianceView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.SurvivableBranchAppliance#Decorated + + + + + + + + Identity + + + + Fqdn + + + + Site + + + + Description + + + + + + + + DeserializedTeamsBranchSurvivabilityPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.TeamsBranchSurvivabilityPolicy + + + + + + + + Identity + + + + BranchApplianceFqdns + + + + + + + + DeserializedXForestMovePolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.XForestMove.XForestMovePolicy + + + + + + + + Identity + + + + FeaturePreferences + + + + DestinationServiceInstance + + + + MoveType + + + + Forced + + + + MoveDate + + + + OffPeakStartInUTC + + + + OffPeakEndInUTC + + + + + + + + DeserializedFeaturePreferenceView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.XForestMove.FeaturePreference + + + + + + + + Name + + + + Behaviour + + + + + + + + DeserializedServiceInstanceView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.ProvisionService.ServiceInstance + + + + + + + + Name + + + + + + + + DeserializedPreferredDataLocationOverwritePolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.XForestMove.PreferredDataLocationOverwritePolicy + + + + + + + + Identity + + + + NewPreferredDataLocation + + + + OwnerServiceInstance + + + + OriginalPreferredDataLocation + + + + + + + + DeserializedACPIntegrationSettingView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.ACPIntegration.ACPIntegrationSetting + + + + + + + + Identity + + + + Mode + + + + + + + + DeserializedTeamsAcsFederationConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.AcsConfiguration.TeamsAcsFederationConfiguration + + + + + + + + Identity + + + + AllowedAcsResources + + + + EnableAcsUsers + + + + + + + + DeserializedTrunkConfigView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.AcsResourceCallingConfiguration.TrunkConfig + + + + + + + + Fqdn + + + + SipSignalingPort + + + + + + + + DeserializedTrunkConfigView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.AcsResourceCallingConfiguration.TrunkConfig#Decorated + + + + + + + + Identity + + + + Fqdn + + + + SipSignalingPort + + + + + + + + DeserializedOnlineRouteView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.AcsResourceCallingConfiguration.OnlineRoute + + + + + + + + Description + + + + NumberPattern + + + + OnlinePstnGatewayList + + + + Name + + + + + + + + DeserializedOnlineRouteView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.AcsResourceCallingConfiguration.OnlineRoute#Decorated + + + + + + + + Identity + + + + Description + + + + NumberPattern + + + + OnlinePstnGatewayList + + + + Name + + + + + + + + DeserializedAddressBookSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.AddressBook.AddressBookSettings + + + + + + + + Identity + + + + RunTimeOfDay + + + + KeepDuration + + + + SynchronizePollingInterval + + + + MaxDeltaFileSizePercentage + + + + UseNormalizationRules + + + + IgnoreGenericRules + + + + EnableFileGeneration + + + + MaxFileShareThreadCount + + + + EnableSearchByDialPad + + + + EnablePhotoSearch + + + + PhotoCacheRefreshInterval + + + + + + + + DeserializedAddressBookNormalizationSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.AddressBook.AddressBookNormalizationSettings + + + + + + + + Identity + + + + AddressBookNormalizationRules + + + + + + + + DeserializedAddressBookNormalizationRuleView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.AddressBook.AddressBookNormalizationRule + + + + + + + + Description + + + + Pattern + + + + Translation + + + + Name + + + + + + + + DeserializedAddressBookNormalizationRuleView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.AddressBook.AddressBookNormalizationRule#Decorated + + + + + + + + Identity + + + + Priority + + + + Description + + + + Pattern + + + + Translation + + + + Name + + + + + + + + DeserializedAddressBookGatingSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.AddressBook.AddressBookGatingSettings + + + + + + + + Identity + + + + AddressBookGatingTenants + + + + AzureDirectoryForGroupExpansionEnabled + + + + AzureDirectoryForGroupExpansionPercent + + + + AzureDirectoryForUserSearchEnabled + + + + AzureDirectoryForUserSearchPercent + + + + AzureDirectoryForUserSearchServiceUrl + + + + + + + + DeserializedAddressBookGatingTenantView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.AddressBook.AddressBookGatingTenant + + + + + + + + AzureDirectorySearchEnabledUsers + + + + TenantId + + + + AzureDirectoryForGroupExpansionEnabled + + + + AzureDirectoryForGroupExpansionPercent + + + + AzureDirectoryForUserSearchEnabled + + + + AzureDirectoryForUserSearchPercent + + + + + + + + DeserializedAddressBookGatingTenantView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.AddressBook.AddressBookGatingTenant#Decorated + + + + + + + + Identity + + + + Priority + + + + AzureDirectorySearchEnabledUsers + + + + TenantId + + + + AzureDirectoryForGroupExpansionEnabled + + + + AzureDirectoryForGroupExpansionPercent + + + + AzureDirectoryForUserSearchEnabled + + + + AzureDirectoryForUserSearchPercent + + + + + + + + DeserializedAnnouncementView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.AnnouncementServiceSettings.Announcement + + + + + + + + Name + + + + AudioFilePrompt + + + + TextToSpeechPrompt + + + + Language + + + + TargetUri + + + + AnnouncementId + + + + + + + + DeserializedAnnouncementView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.AnnouncementServiceSettings.Announcement#Decorated + + + + + + + + Identity + + + + Name + + + + AudioFilePrompt + + + + TextToSpeechPrompt + + + + Language + + + + TargetUri + + + + AnnouncementId + + + + + + + + DeserializedVoicePolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.Hosted.VoicePolicy + + + + + + + + Identity + + + + PstnUsages + + + + CustomCallForwardingSimulRingUsages + + + + Description + + + + AllowSimulRing + + + + AllowCallForwarding + + + + AllowPSTNReRouting + + + + Name + + + + EnableDelegation + + + + EnableTeamCall + + + + EnableCallTransfer + + + + EnableCallPark + + + + EnableBusyOptions + + + + EnableMaliciousCallTracing + + + + EnableBWPolicyOverride + + + + PreventPSTNTollBypass + + + + EnableFMC + + + + CallForwardingSimulRingUsageType + + + + VoiceDeploymentMode + + + + EnableVoicemailEscapeTimer + + + + PSTNVoicemailEscapeTimer + + + + TenantAdminEnabled + + + + BusinessVoiceEnabled + + + + + + + + DeserializedArchivingSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.Archiving.ArchivingSettings + + + + + + + + Identity + + + + EnableArchiving + + + + EnablePurging + + + + PurgeExportedArchivesOnly + + + + BlockOnArchiveFailure + + + + KeepArchivingDataForDays + + + + PurgeHourOfDay + + + + ArchiveDuplicateMessages + + + + CachePurgingInterval + + + + EnableExchangeArchiving + + + + EnableExchangeFileAttachmentCompression + + + + ExchangeFileAttachmentSizeLimit + + + + PurgeMinuteOfPurgeHourOfDay + + + + PurgeTaskWakeupIntervalMinutes + + + + V2PurgeReportingIntervalMinutes + + + + V2PurgeTimeoutMinutes + + + + V2PurgeMaxRetries + + + + V2PurgeMaxDegreeOfParallelism + + + + UseV2PurgingAlgorithm + + + + + + + + DeserializedAudioConferencingProviderView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.AudioConferencingProvider.AudioConferencingProvider + + + + + + + + Name + + + + Url + + + + Domain + + + + Port + + + + + + + + DeserializedAudioConferencingProviderView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.AudioConferencingProvider.AudioConferencingProvider#Decorated + + + + + + + + Identity + + + + Name + + + + Url + + + + Domain + + + + Port + + + + + + + + DeserializedAudioConferencingFeatureConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.AudioConferencingProvider.AudioConferencingFeatureConfiguration + + + + + + + + Identity + + + + EnableAutoSessionsControl + + + + EnableHttpNotifications + + + + EnableConferencingLobby + + + + + + + + DeserializedAudioTeleconferencingServiceConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.AudioTeleconferencing.AudioTeleconferencingServiceConfiguration + + + + + + + + Identity + + + + AllowedClientCertificates + + + + ConversationServiceUri + + + + + + + + DeserializedAutodiscoverConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.AutodiscoverConfiguration.AutodiscoverConfiguration + + + + + + + + Identity + + + + WebLinks + + + + ExternalSipClientAccessFqdn + + + + ExternalSipClientAccessPort + + + + EnableCertificateProvisioningServiceUrl + + + + EnableCORS + + + + + + + + DeserializedWebLinkView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.AutodiscoverConfiguration.WebLink + + + + + + + + Token + + + + Href + + + + + + + + DeserializedTrunkConfigView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.AzurePSTNTrunkConfiguration.TrunkConfig + + + + + + + + InboundTeamsNumberTranslationRules + + + + InboundPstnNumberTranslationRules + + + + OutboundPstnNumberTranslationRules + + + + Fqdn + + + + SipSignalingPort + + + + FailoverTimeSeconds + + + + ForwardCallHistory + + + + ForwardPai + + + + SendSipOptions + + + + MaxConcurrentSessions + + + + Enabled + + + + MediaBypass + + + + GatewaySiteId + + + + GatewaySiteLbrEnabled + + + + GatewayLbrEnabledUserOverride + + + + FailoverResponseCodes + + + + PidfLoSupported + + + + MediaRelayRoutingLocationOverride + + + + ProxySbc + + + + BypassMode + + + + Description + + + + + + + + DeserializedTrunkConfigView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.AzurePSTNTrunkConfiguration.TrunkConfig#Decorated + + + + + + + + Identity + + + + InboundTeamsNumberTranslationRules + + + + InboundPstnNumberTranslationRules + + + + OutboundPstnNumberTranslationRules + + + + Fqdn + + + + SipSignalingPort + + + + FailoverTimeSeconds + + + + ForwardCallHistory + + + + ForwardPai + + + + SendSipOptions + + + + MaxConcurrentSessions + + + + Enabled + + + + MediaBypass + + + + GatewaySiteId + + + + GatewaySiteLbrEnabled + + + + GatewayLbrEnabledUserOverride + + + + FailoverResponseCodes + + + + PidfLoSupported + + + + MediaRelayRoutingLocationOverride + + + + ProxySbc + + + + BypassMode + + + + Description + + + + + + + + DeserializedPstnTranslationRuleView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.AzurePSTNTrunkConfiguration.PstnTranslationRule + + + + + + + + Name + + + + Description + + + + Pattern + + + + Translation + + + + + + + + DeserializedPstnTranslationRuleView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.AzurePSTNTrunkConfiguration.PstnTranslationRule#Decorated + + + + + + + + Identity + + + + Name + + + + Description + + + + Pattern + + + + Translation + + + + + + + + DeserializedBackupServiceConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.BackupService.BackupServiceConfiguration + + + + + + + + Identity + + + + SyncInterval + + + + MaxConcurrentCalls + + + + AuthorizedUniversalGroups + + + + AuthorizedLocalAccounts + + + + MaxBatchesPerCmsSync + + + + MaxBatchesPerUserStoreSync + + + + MaxDataConfPackageSizeKB + + + + MaxHighPriQueuePercentagePerUserStoreSync + + + + CmsMaintenanceInterval + + + + + + + + DeserializedBandwidthPolicyServiceConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.BandwidthPolicyServiceConfiguration.BandwidthPolicyServiceConfiguration + + + + + + + + Identity + + + + MaxTokenLifetime + + + + LogCleanUpInterval + + + + MaxLogFileSizeMb + + + + EnableLogging + + + + + + + + DeserializedBIConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.BIConfiguration.BIConfiguration + + + + + + + + Identity + + + + EnableBI + + + + CosmosVirtualClusterPath + + + + KeepCosmosSummaryDataForDays + + + + KeepCosmosRawDataForDays + + + + CosmosCredentialUserName + + + + CosmosCredentialPassword + + + + PrimaryCosmosCredentialUserName + + + + PrimaryCosmosCredentialPassword + + + + SecondaryCosmosCredentialUserName + + + + SecondaryCosmosCredentialPassword + + + + SyncIntervalInSeconds + + + + EnableFlag + + + + PrimaryCosmosCredentialExpirationDate + + + + SecondaryCosmosCredentialExpirationDate + + + + + + + + DeserializedAzureConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.BRB.AzureConfiguration + + + + + + + + Identity + + + + AzureStorageAccountName + + + + AzureStorageAccountKey + + + + AzureStorageAccountKeyNew + + + + TMXStorageAccountName + + + + TMXStorageAccountKey + + + + TMXStorageAccountKeyNew + + + + SQLStorageSource + + + + SQLStorageDatabase + + + + SQLStorageUserId + + + + AzureSQLStoragePassword + + + + AzureSQLStoragePasswordNew + + + + + + + + DeserializedBusinessVoiceTenantFlightingSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.BusinessVoice.BusinessVoiceTenantFlightingSettings + + + + + + + + Identity + + + + DefaultRing + + + + + + + + DeserializedPstnEntitlementSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.BusinessVoice.PstnEntitlementSettings + + + + + + + + Identity + + + + Regions + + + + EnableChecks + + + + MaximumTickRequests + + + + SyncInboundCalls + + + + SyncOutboundCalls + + + + + + + + DeserializedPstnEntitlementRegionView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.BusinessVoice.PstnEntitlementRegion + + + + + + + + Region + + + + EnableChecks + + + + Url + + + + + + + + DeserializedBusinessVoiceFeatureConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.BusinessVoice.BusinessVoiceFeatureConfiguration + + + + + + + + Identity + + + + EnableAnnouncements + + + + EnableCarrierProfileFlighting + + + + EnableMedSrvRingBasedRouting + + + + EnableRingBasedBVRouting + + + + EnableCallerIdFlighting + + + + DefaultMediationServerRing + + + + EnableDiagCodesWhitelistForAnsServiceSupport + + + + DiagCodesForAnsService + + + + EnableTenantDialPlans + + + + EnableAcmsReadForTranslationService + + + + OverrideDefaultProfile + + + + EnableEcsFlighting + + + + EnableSmartRetry + + + + + + + + DeserializedBusinessVoiceCarrierProfileView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.BusinessVoice.BusinessVoiceCarrierProfile + + + + + + + + RingRules + + + + Provider + + + + ProviderGuid + + + + DefaultPstnUsage + + + + + + + + DeserializedBusinessVoiceCarrierProfileView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.BusinessVoice.BusinessVoiceCarrierProfile#Decorated + + + + + + + + Identity + + + + RingRules + + + + Provider + + + + ProviderGuid + + + + DefaultPstnUsage + + + + + + + + DeserializedBusinessVoiceCarrierProfileRingRuleView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.BusinessVoice.BusinessVoiceCarrierProfileRingRule + + + + + + + + Ring + + + + CallType + + + + PstnUsage + + + + + + + + DeserializedBusinessVoiceCarrierProfileConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.BusinessVoice.BusinessVoiceCarrierProfileConfiguration + + + + + + + + Identity + + + + BusinessVoiceCarrierProfile + + + + + + + + DeserializedCdrSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.CallDetailRecording.CdrSettings + + + + + + + + Identity + + + + EnableCDR + + + + EnableUdcLite + + + + EnablePurging + + + + KeepCallDetailForDays + + + + KeepErrorReportForDays + + + + PurgeHourOfDay + + + + + + + + DeserializedCallParkServiceSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.CallParkServiceSettings.CallParkServiceSettings + + + + + + + + Identity + + + + OnTimeoutURI + + + + MaxCallPickupAttempts + + + + CallPickupTimeoutThreshold + + + + EnableMusicOnHold + + + + + + + + DeserializedCentralizedLoggingConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.CentralizedLoggingConfig.CentralizedLoggingConfiguration + + + + + + + + Identity + + + + Scenarios + + + + SearchTerms + + + + SecurityGroups + + + + Regions + + + + EtlModeEnabled + + + + EtlFileFolder + + + + EtlFileRolloverSizeMB + + + + EtlFileRolloverMinutes + + + + ZipEtlEnabled + + + + LocalSearchMode + + + + EtlNtfsCompressionEnabled + + + + TmfFileSearchPath + + + + CacheFileLocalFolders + + + + CacheFileNetworkFolder + + + + CacheFileLocalRetentionPeriod + + + + CacheFileLocalMaxDiskUsage + + + + ComponentThrottleLimit + + + + ComponentThrottleSample + + + + MinimumClsAgentServiceVersion + + + + NetworkUsagePacketSize + + + + NetworkUsageThreshold + + + + Version + + + + InsertTypesForSubstringMatch + + + + ETLMinFreeSpaceInDiskInBytes + + + + ETLEnoughFreeSpaceInDiskInBytes + + + + ETLMaxQuotaInBytes + + + + ETLEnoughQuotaInBytes + + + + EtlMaxRetentionInDays + + + + EtlModeRevision + + + + ETLMinQuotaInBytes + + + + LocalSearchModeRevision + + + + + + + + DeserializedScenarioView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.CentralizedLoggingConfig.Scenario + + + + + + + + Provider + + + + Name + + + + + + + + DeserializedScenarioView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.CentralizedLoggingConfig.Scenario#Decorated + + + + + + + + Identity + + + + Provider + + + + Name + + + + + + + + DeserializedProviderView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.CentralizedLoggingConfig.Provider + + + + + + + + Name + + + + Type + + + + Level + + + + Flags + + + + Guid + + + + Role + + + + + + + + DeserializedSearchTermView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.CentralizedLoggingConfig.SearchTerm + + + + + + + + Type + + + + Inserts + + + + + + + + DeserializedSearchTermView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.CentralizedLoggingConfig.SearchTerm#Decorated + + + + + + + + Identity + + + + Type + + + + Inserts + + + + + + + + DeserializedSecurityGroupView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.CentralizedLoggingConfig.SecurityGroup + + + + + + + + Name + + + + AccessLevel + + + + + + + + DeserializedSecurityGroupView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.CentralizedLoggingConfig.SecurityGroup#Decorated + + + + + + + + Identity + + + + Name + + + + AccessLevel + + + + + + + + DeserializedRegionView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.CentralizedLoggingConfig.Region + + + + + + + + Name + + + + SecurityGroupSuffix + + + + Sites + + + + OtherRegionAccess + + + + + + + + DeserializedRegionView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.CentralizedLoggingConfig.Region#Decorated + + + + + + + + Identity + + + + Name + + + + SecurityGroupSuffix + + + + Sites + + + + OtherRegionAccess + + + + + + + + DeserializedCloudPresenceServiceConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.CloudPresenceService.CloudPresenceServiceConfiguration + + + + + + + + Identity + + + + ServiceUri + + + + EnableCloudPresenceForwarding + + + + BatchSize + + + + BatchDelay + + + + MaxRetries + + + + RetryBackoff + + + + + + + + DeserializedCMSConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.CMSConfiguration.CMSConfiguration + + + + + + + + Identity + + + + IOFailureAlertThreshold + + + + OutOfDateAlertThreshold + + + + ReplicationSyntheticTransactionInterval + + + + CheckVersionMismatch + + + + QueryConfigChangesMinimumInterval + + + + QueryConfigChangesInterval + + + + UpdateReplicaStatusTimeout + + + + EnableReplicationSynchronization + + + + EnableUpdateIsActiveFlag + + + + EnableServiceConsumerMdsLogging + + + + EnableAcmsReaderMdsLogging + + + + EnableAcmsToCmsMncTenantSync + + + + AcmsToCmsMncTenantSyncInterval + + + + UseAcmsOnlyForRegistrarConfig + + + + MaxConsecutiveAcmsToCmsMncSyncTransientFailures + + + + AcmsClientHttpClientTimeout + + + + CleanupOrphanedDocsTaskIntervalInSecs + + + + CleanupOrphanedDocsTaskRetryCount + + + + CleanupOrphanedDocsTaskRetryIntervalInSecs + + + + ConcurrentHttpConnectionLimit + + + + MaximumReplicationBatchSize + + + + + + + + DeserializedCMSReplicationSyntheticTransactionView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.CMSReplicationSyntheticTransaction.CMSReplicationSyntheticTransaction + + + + + + + + Identity + + + + TimeStamp + + + + + + + + DeserializedConferencingGatewayConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.ConferencingGatewayConfiguration.ConferencingGatewayConfiguration + + + + + + + + Identity + + + + ConferencingGatewayEndpoint + + + + EnableAudioVideoToConferencingGateway + + + + + + + + DeserializedConversationHistorySettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.ConversationHistory.ConversationHistorySettings + + + + + + + + Identity + + + + EnableServerConversationHistory + + + + MaxContinuedConversationRetry + + + + EnableDisplayNameResolution + + + + + + + + DeserializedDeploymentConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.DeploymentConfiguration.DeploymentConfiguration + + + + + + + + Identity + + + + DeploymentType + + + + + + + + DeserializedDeviceUpdateConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.DeviceUpdate.DeviceUpdateConfiguration + + + + + + + + Identity + + + + ValidLogFileTypes + + + + ValidLogFileExtensions + + + + MaxLogFileSize + + + + MaxLogCacheLimit + + + + LogCleanUpInterval + + + + LogFlushInterval + + + + LogCleanUpTimeOfDay + + + + + + + + DeserializedRuleView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.DeviceUpdate.Rule + + + + + + + + Id + + + + DeviceType + + + + Brand + + + + Model + + + + Revision + + + + Locale + + + + UpdateType + + + + ApprovedVersion + + + + RestoreVersion + + + + PendingVersion + + + + + + + + DeserializedRuleView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.DeviceUpdate.Rule#Decorated + + + + + + + + Identity + + + + Id + + + + DeviceType + + + + Brand + + + + Model + + + + Revision + + + + Locale + + + + UpdateType + + + + ApprovedVersion + + + + RestoreVersion + + + + PendingVersion + + + + + + + + DeserializedDeviceView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.DeviceUpdate.Device + + + + + + + + Name + + + + IdentifierType + + + + Identifier + + + + + + + + DeserializedDeviceView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.DeviceUpdate.Device#Decorated + + + + + + + + Identity + + + + Name + + + + IdentifierType + + + + Identifier + + + + + + + + DeserializedDiagnosticFilterSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.Diagnostics.DiagnosticFilterSettings + + + + + + + + Identity + + + + Filter + + + + LoggingShare + + + + LogAllSipHeaders + + + + + + + + DeserializedFilterView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.Diagnostics.Filter + + + + + + + + Fqdn + + + + Uri + + + + Enabled + + + + ExcludeRegisterMessages + + + + ExcludeConferenceMessages + + + + ExcludePresenceNotifications + + + + ExcludeSubscribeMessages + + + + ExcludeSuccessfulRequests + + + + ExcludeMidDialogRequests + + + + ExcludeTypingNotifications + + + + + + + + DeserializedDiagnosticHeaderSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.Diagnostics.DiagnosticHeaderSettings + + + + + + + + Identity + + + + SendToOutsideUnauthenticatedUsers + + + + SendToExternalNetworks + + + + SendToExternalNetworksOnServiceEdge + + + + + + + + DeserializedDialInConferencingDtmfConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.DialInConferencingSettings.DialInConferencingDtmfConfiguration + + + + + + + + Identity + + + + CommandCharacter + + + + MuteUnmuteCommand + + + + AudienceMuteCommand + + + + LockUnlockConferenceCommand + + + + HelpCommand + + + + PrivateRollCallCommand + + + + EnableDisableAnnouncementsCommand + + + + AdmitAll + + + + OperatorLineUri + + + + + + + + DeserializedDialInConferencingConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.DialInConferencingSettings.DialInConferencingConfiguration + + + + + + + + Identity + + + + EntryExitAnnouncementsType + + + + BatchToneAnnouncements + + + + EnableNameRecording + + + + EntryExitAnnouncementsEnabledByDefault + + + + PinAuthType + + + + EnableAccessibilityOptions + + + + + + + + DeserializedDialInConferencingLanguageListView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.DialInConferencingSettings.DialInConferencingLanguageList + + + + + + + + Identity + + + + Languages + + + + + + + + DeserializedTenantFederationSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.Edge.TenantFederationSettings + + + + + + + + Identity + + + + AllowedDomains + + + + BlockedDomains + + + + AllowFederatedUsers + + + + AllowPublicUsers + + + + AllowTeamsConsumer + + + + AllowTeamsConsumerInbound + + + + TreatDiscoveredPartnersAsUnverified + + + + SharedSipAddressSpace + + + + RestrictTeamsConsumerToExternalUserProfiles + + + + BlockAllSubdomains + + + + ExternalAccessWithTrialTenants + + + + + + + + DeserializedAllowedDomainsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.Edge.AllowedDomains + + + + + + + + AllowedDomainsChoice + + + + + + + + DeserializedAllowListView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.Edge.AllowList + + + + + + + + AllowedDomain + + + + + + + + DeserializedDomainPatternView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.Edge.DomainPattern + + + + + + + + Domain + + + + + + + + DeserializedAllowedDomainView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.Edge.AllowedDomain + + + + + + + + Domain + + + + ProxyFqdn + + + + VerificationLevel + + + + Comment + + + + MarkForMonitoring + + + + + + + + DeserializedAllowedDomainView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.Edge.AllowedDomain#Decorated + + + + + + + + Identity + + + + Domain + + + + ProxyFqdn + + + + VerificationLevel + + + + Comment + + + + MarkForMonitoring + + + + + + + + DeserializedBlockedDomainView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.Edge.BlockedDomain + + + + + + + + Domain + + + + Comment + + + + + + + + DeserializedBlockedDomainView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.Edge.BlockedDomain#Decorated + + + + + + + + Identity + + + + Domain + + + + Comment + + + + + + + + DeserializedAdditionalInternalDomainView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.Edge.AdditionalInternalDomain + + + + + + + + Domain + + + + + + + + DeserializedAdditionalInternalDomainView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.Edge.AdditionalInternalDomain#Decorated + + + + + + + + Identity + + + + Domain + + + + + + + + DeserializedMediaRelaySettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.Edge.MediaRelaySettings + + + + + + + + Identity + + + + MaxTokenLifetime + + + + MaxBandwidthPerUserKb + + + + MaxBandwidthPerPortKb + + + + PermissionListIgnoreSeconds + + + + + + + + DeserializedEmailConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.Email.EmailConfiguration + + + + + + + + Identity + + + + EmailAccountName + + + + EmailAccountPassword + + + + EmailAccountDomain + + + + + + + + DeserializedEventServiceSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.EventServiceSettings.EventServiceSettings + + + + + + + + Identity + + + + EnableRemoteEventChannelService + + + + EventChannelServiceUrl + + + + EventChannelAudienceUrl + + + + + + + + DeserializedVoicemailReroutingConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.ExumRouting.VoicemailReroutingConfiguration + + + + + + + + Identity + + + + Enabled + + + + AutoAttendantNumber + + + + SubscriberAccessNumber + + + + + + + + DeserializedFIPSConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.FIPSConfiguration.FIPSConfiguration + + + + + + + + Identity + + + + RequireFIPSCompliantMedia + + + + + + + + DeserializedFlightConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.FlightConfiguration.FlightConfiguration + + + + + + + + Identity + + + + FlightDefinitions + + + + + + + + DeserializedFlightDefinitionView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.FlightConfiguration.FlightDefinition + + + + + + + + Cmdlet + + + + Name + + + + + + + + DeserializedFlightDefinitionView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.FlightConfiguration.FlightDefinition#Decorated + + + + + + + + Identity + + + + Priority + + + + Cmdlet + + + + Name + + + + + + + + DeserializedFlightingUserConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.FlightingUserConfiguration.FlightingUserConfiguration + + + + + + + + Identity + + + + Tenant1PercentList + + + + Tenant5PercentList + + + + Tenant10PercentList + + + + Tenant15PercentList + + + + Tenant20PercentList + + + + Tenant25PercentList + + + + Tenant30PercentList + + + + Tenant35PercentList + + + + Tenant40PercentList + + + + Tenant45PercentList + + + + Tenant50PercentList + + + + Tenant55PercentList + + + + Tenant60PercentList + + + + Tenant65PercentList + + + + Tenant70PercentList + + + + Tenant75PercentList + + + + Tenant80PercentList + + + + Tenant85PercentList + + + + Tenant90PercentList + + + + Tenant95PercentList + + + + UserAllowlist + + + + TenantAllowlist + + + + TenantDenylist + + + + + + + + DeserializedGraphApiConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.GraphApiConfiguration.GraphApiConfiguration + + + + + + + + Identity + + + + LoginUri + + + + GraphUri + + + + ClientId + + + + GraphLookupEnabled + + + + GraphReadWriteEnabled + + + + AdminAuthGraphEnabled + + + + TenantRemotePowershellClientId + + + + TestToken + + + + + + + + DeserializedGraphSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.Graph.GraphSettings + + + + + + + + Identity + + + + EnableMeetingsGraph + + + + StorageServiceUrl + + + + DisableEmbeddedDocChat + + + + EnableFileAttachmentsFromCalendar + + + + FileAttachmentExtensionsBlacklist + + + + EnableInlineFileAttachmentsFromCalendar + + + + InlineFileAttachmentExtensionsBlacklist + + + + EnableReferenceAttachmentsFromCalendar + + + + ReferenceAttachmentExtensionsBlacklist + + + + EnableInlineReferenceAttachmentsFromCalendar + + + + InlineReferenceAttachmentExtensionsBlacklist + + + + AriaTenantToken + + + + EcsAgentName + + + + EcsInProduction + + + + EcsRefreshIntervalInMinutes + + + + + + + + DeserializedHealthAgentConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.HealthAgentConfiguration.HealthAgentConfiguration + + + + + + + + Identity + + + + EnableCosmosUpload + + + + HLBListenerPort + + + + ForceHLBPortOpen + + + + + + + + DeserializedRegistrarView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.HealthMonitoring.Registrar + + + + + + + + FirstTestUserSipUri + + + + FirstTestSamAccountName + + + + SecondTestUserSipUri + + + + SecondTestSamAccountName + + + + TargetFqdn + + + + + + + + DeserializedRegistrarView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.HealthMonitoring.Registrar#Decorated + + + + + + + + Identity + + + + FirstTestUserSipUri + + + + FirstTestSamAccountName + + + + SecondTestUserSipUri + + + + SecondTestSamAccountName + + + + TargetFqdn + + + + + + + + DeserializedHostedUserMigrationConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.HostedUserMigration.HostedUserMigrationConfiguration + + + + + + + + Identity + + + + AuthorizedTenantWellKnownGroups + + + + MaxSessionsInTotal + + + + MaxSessionsPerTenant + + + + SessionTimeoutInSecond + + + + PublishRoutingGroupDocumentInterval + + + + AuthorizedAdminCacheExpirationMinutes + + + + MigrateConfTableFromOnPremToOnline + + + + MigrateConfTableFromOnlineToOnPrem + + + + ClearPstnLocalId + + + + EnableMeetingMigration + + + + EnableSfbToTeamsMeetingMigration + + + + TeamsContactsEndpoint + + + + TeamsContactsAudience + + + + IsEcsProdEnvironment + + + + EnableMMSServiceInHMS + + + + EcsEnvironment + + + + + + + + DeserializedHuntGroupConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.HuntGroupConfiguration.HuntGroupConfiguration + + + + + + + + Identity + + + + ApplicationId + + + + DefaultMusicOnHoldId + + + + CallbackUri + + + + DistributionListExpansionUri + + + + ClientAudience + + + + LineUriValidationRules + + + + MaxNumberOfHuntGroupsPerTenant + + + + + + + + DeserializedTenantHybridConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.HybridConfiguration.TenantHybridConfiguration + + + + + + + + Identity + + + + HybridPSTNSites + + + + HybridPSTNAppliances + + + + TenantUpdateTimeWindows + + + + PeerDestination + + + + HybridConfigServiceInternalUrl + + + + HybridConfigServiceExternalUrl + + + + UseOnPremDialPlan + + + + + + + + DeserializedHybridPSTNSiteView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.HybridConfiguration.HybridPSTNSite + + + + + + + + Index + + + + Name + + + + EdgeFQDN + + + + EnableAutoUpdate + + + + LastTopologyUpdateTime + + + + BitsUpdateTimeWindowList + + + + OsUpdateTimeWindowList + + + + + + + + DeserializedHybridPSTNSiteView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.HybridConfiguration.HybridPSTNSite#Decorated + + + + + + + + Identity + + + + Index + + + + Name + + + + EdgeFQDN + + + + EnableAutoUpdate + + + + LastTopologyUpdateTime + + + + BitsUpdateTimeWindowList + + + + OsUpdateTimeWindowList + + + + + + + + DeserializedHybridPSTNApplianceView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.HybridConfiguration.HybridPSTNAppliance + + + + + + + + Identity + + + + Name + + + + SiteIndex + + + + MediationServerIPAddress + + + + MediationServerFqdn + + + + MediationServerGruu + + + + MaintenanceMode + + + + ConfigurationReplicatedOn + + + + ConfigurationSnapshot + + + + ConfigurationSnapshotUpdatedOn + + + + RegistrationStatus + + + + RegistrationAction + + + + RunningVersion + + + + RunningStatus + + + + RunningError + + + + OsUpdatedOn + + + + DeployedOn + + + + StatusUpdatedOn + + + + DeploymentVersion + + + + DeploymentStatus + + + + DeploymentError + + + + DeploymentStartTime + + + + OsUpdateStatus + + + + OsUpdateError + + + + OsUpdateStartTime + + + + + + + + DeserializedHybridPSTNApplianceView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.HybridConfiguration.HybridPSTNAppliance#Decorated + + + + + + + + Identity + + + + Identity + + + + Name + + + + SiteIndex + + + + MediationServerIPAddress + + + + MediationServerFqdn + + + + MediationServerGruu + + + + MaintenanceMode + + + + ConfigurationReplicatedOn + + + + ConfigurationSnapshot + + + + ConfigurationSnapshotUpdatedOn + + + + RegistrationStatus + + + + RegistrationAction + + + + RunningVersion + + + + RunningStatus + + + + RunningError + + + + OsUpdatedOn + + + + DeployedOn + + + + StatusUpdatedOn + + + + DeploymentVersion + + + + DeploymentStatus + + + + DeploymentError + + + + DeploymentStartTime + + + + OsUpdateStatus + + + + OsUpdateError + + + + OsUpdateStartTime + + + + + + + + DeserializedTenantUpdateTimeWindowView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.HybridConfiguration.TenantUpdateTimeWindow + + + + + + + + Name + + + + Type + + + + StartTime + + + + Duration + + + + DayOfMonth + + + + WeeksOfMonth + + + + DaysOfWeek + + + + + + + + DeserializedTenantUpdateTimeWindowView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.HybridConfiguration.TenantUpdateTimeWindow#Decorated + + + + + + + + Identity + + + + Name + + + + Type + + + + StartTime + + + + Duration + + + + DayOfMonth + + + + WeeksOfMonth + + + + DaysOfWeek + + + + + + + + DeserializedIfxLogSipMessageView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.IfxLogSipMessage.IfxLogSipMessage + + + + + + + + Identity + + + + Enable + + + + MethodFilter + + + + ResponseCodeFilter + + + + EnableInboundMessages + + + + EnableOutboundMessages + + + + EnableSipRequests + + + + EnableSipResponses + + + + IgnorePollingSubscribe + + + + Office365HashCertFingerprint + + + + + + + + DeserializedImConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.Im.ImConfiguration + + + + + + + + Identity + + + + EnableOfflineIm + + + + + + + + DeserializedImFilterConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.ImFilter.ImFilterConfiguration + + + + + + + + Identity + + + + Prefixes + + + + AllowMessage + + + + WarnMessage + + + + Enabled + + + + IgnoreLocal + + + + BlockFileExtension + + + + Action + + + + + + + + DeserializedFileTransferFilterConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.ImFilter.FileTransferFilterConfiguration + + + + + + + + Identity + + + + Extensions + + + + Enabled + + + + Action + + + + + + + + DeserializedImTranslationConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.ImTranslation.ImTranslationConfiguration + + + + + + + + Identity + + + + TranslationType + + + + ClientId + + + + ClientSecret + + + + AccessTokenUri + + + + ServiceUri + + + + ApplicationId + + + + + + + + DeserializedKerberosAccountAssignmentView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.KerberosAccount.KerberosAccountAssignment + + + + + + + + Identity + + + + UserAccount + + + + + + + + DeserializedLegalInterceptServiceConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.LegalInterceptService.LegalInterceptServiceConfiguration + + + + + + + + Identity + + + + RunInterval + + + + MaxQueueItemSize + + + + MaxADRetrieveCount + + + + QueryStartTimeSpan + + + + SMTPServer + + + + SMTPServerPort + + + + EmailFrom + + + + EndSessionDetectTimeSpan + + + + EnableLegalIntercept + + + + RetryCount + + + + + + + + DeserializedLogRetentionServiceConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.LogRetentionService.LogRetentionServiceConfiguration + + + + + + + + Identity + + + + RetryInterval + + + + RunInterval + + + + MaxQueueItemSize + + + + QueryStartTimeSpan + + + + LogRetentionDiscoveryUrl + + + + WebProxy + + + + ReceiveTimeout + + + + SendTimeout + + + + MaxReceivedMessageByte + + + + MaxBufferPoolByte + + + + MaxStringContentByte + + + + MaxADRetrieveCount + + + + + + + + DeserializedManagementConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.Management.ManagementConfiguration + + + + + + + + Identity + + + + Office365DomainSuffixes + + + + MaxConnectionCountPerServer + + + + MaxConnectionCountPerUser + + + + RbacCacheRefreshInterval + + + + ControlPanelMaxConnectionCountPerServer + + + + ControlPanelMaxRunspaceCountPerUser + + + + ControlPanelRunspaceIdleTimeout + + + + ControlPanelClientPoolSize + + + + ControlPanelWebProxy + + + + ControlPanelFooterTextResourcePrefix + + + + ControlPanelFooterLinkResourcePrefix + + + + ControlPanelHelpLinkNamespace + + + + MsoShellServiceUrl + + + + FeedbackEndPointUrl + + + + FenixUrl + + + + TelephoneNumberProviderUrl + + + + SkypeInternationalVoicePolicyName + + + + RebrandDate + + + + PicServiceEnabled + + + + TenantGroupMapping + + + + IsAriaEnabled + + + + UspTelemetryEnv + + + + AriaToken + + + + AppInsightKey + + + + GeographyClientEndPointUrl + + + + + + + + DeserializedMcxConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.McxConfiguration.McxConfiguration + + + + + + + + Identity + + + + SessionExpirationInterval + + + + SessionShortExpirationInterval + + + + ExposedWebURL + + + + PushNotificationProxyUri + + + + + + + + DeserializedMdmLogSipMessageView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.MdmLogSipMessage.MdmLogSipMessage + + + + + + + + Identity + + + + Enable + + + + MethodFilter + + + + ResponseCodeFilter + + + + EnableInboundMessages + + + + EnableOutboundMessages + + + + EnableSipRequests + + + + EnableSipResponses + + + + IgnorePollingSubscribe + + + + + + + + DeserializedMdmRtcSrvView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.MdmRtcSrv.MdmRtcSrv + + + + + + + + Identity + + + + Enable + + + + Account + + + + Namespace + + + + + + + + DeserializedMediaSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.Media.MediaSettings + + + + + + + + Identity + + + + EnableQoS + + + + EncryptionLevel + + + + EnableSiren + + + + MaxVideoRateAllowed + + + + EnableH264StdCodec + + + + EnableInCallQoS + + + + InCallQoSIntervalSeconds + + + + EnableRtpRtcpMultiplexing + + + + EnableVideoBasedSharing + + + + WaitIceCompletedToAddDialOutUser + + + + EnableDtls + + + + EnableRtx + + + + EnableSilkForAudioVideoConferences + + + + EnableAVBundling + + + + EnableServerFecForVideoInterop + + + + EnableReceiveAgc + + + + EnableDelayStartAudioReceiveStream + + + + + + + + DeserializedMeetingContentSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.MeetingContent.MeetingContentSettings + + + + + + + + Identity + + + + MaxContentStorageMb + + + + MaxUploadFileSizeMb + + + + ContentGracePeriod + + + + + + + + DeserializedMeetingMigrationConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.MeetingMigration.MeetingMigrationConfiguration + + + + + + + + Identity + + + + TaskInterval + + + + MeetingMigrationEnabled + + + + AllowedObjects + + + + AzureQueueServiceEndpointUrl + + + + EnqueueEnabled + + + + UserRetryLimit + + + + PlatformServiceAudienceUri + + + + SchedulingServiceAudienceUri + + + + PlatformServiceTokenIssuerUrl + + + + PlatformServiceClientId + + + + PlatformServiceDiscoverUrl + + + + SchedulingServiceMeetingUrl + + + + BackupCoordinateCollectorEnabled + + + + MmsDisabledFeatureList + + + + PlatformServicePayloadWithExpirationTime + + + + ExchangeOnlineUsersOnly + + + + DirectCallToSchedulingServiceEnabled + + + + MaximumNumberOfExtraThreads + + + + QueueSizeTriggerExtraThread + + + + EnabledFqdns + + + + ACPMeetingMigrationTriggerEnabled + + + + MmsSourceMeetingTypes + + + + MmsTargetMeetingTypes + + + + TeamsMeetingUserPolicyUrl + + + + SchedulingServiceTeamsMeetingUrl + + + + IsEcsProdEnvironment + + + + EcsEnvironment + + + + + + + + DeserializedMeetingPoolConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.MeetingPool.MeetingPoolConfiguration + + + + + + + + Identity + + + + TenantId + + + + ConsistentBotUserStartIndex + + + + ConsistentBotUserEndIndex + + + + ConsistentBotUserEnabledPoolPrefixes + + + + ConsistentBotUserPrefix + + + + ConsistentBotUserDomain + + + + PoolState + + + + + + + + DeserializedNetworkConfigurationSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.NetworkConfiguration.NetworkConfigurationSettings + + + + + + + + Identity + + + + MediaBypassSettings + + + + BWPolicyProfiles + + + + NetworkRegions + + + + NetworkRegionLinks + + + + InterNetworkRegionRoutes + + + + NetworkSites + + + + InterNetworkSitePolicies + + + + Subnets + + + + EnableBandwidthPolicyCheck + + + + + + + + DeserializedMediaBypassSettingsTypeView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.NetworkConfiguration.MediaBypassSettingsType + + + + + + + + Enabled + + + + InternalBypassMode + + + + ExternalBypassMode + + + + AlwaysBypass + + + + BypassID + + + + EnabledForAudioVideoConferences + + + + + + + + DeserializedBWPolicyProfileTypeView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.NetworkConfiguration.BWPolicyProfileType + + + + + + + + BWPolicy + + + + BWPolicyProfileID + + + + Description + + + + + + + + DeserializedBWPolicyProfileTypeView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.NetworkConfiguration.BWPolicyProfileType#Decorated + + + + + + + + Identity + + + + BWPolicy + + + + BWPolicyProfileID + + + + Description + + + + + + + + DeserializedBWPolicyTypeView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.NetworkConfiguration.BWPolicyType + + + + + + + + BWLimit + + + + BWSessionLimit + + + + BWPolicyModality + + + + + + + + DeserializedNetworkRegionTypeView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.NetworkConfiguration.NetworkRegionType + + + + + + + + Description + + + + BypassID + + + + CentralSite + + + + BWAlternatePaths + + + + NetworkRegionID + + + + + + + + DeserializedNetworkRegionTypeView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.NetworkConfiguration.NetworkRegionType#Decorated + + + + + + + + Identity + + + + Description + + + + BypassID + + + + CentralSite + + + + BWAlternatePaths + + + + NetworkRegionID + + + + + + + + DeserializedBWAlternatePathTypeView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.NetworkConfiguration.BWAlternatePathType + + + + + + + + BWPolicyModality + + + + AlternatePath + + + + + + + + DeserializedNetworkRegionLinkTypeView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.NetworkConfiguration.NetworkRegionLinkType + + + + + + + + BWPolicyProfileID + + + + NetworkRegionLinkID + + + + NetworkRegionID1 + + + + NetworkRegionID2 + + + + + + + + DeserializedNetworkRegionLinkTypeView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.NetworkConfiguration.NetworkRegionLinkType#Decorated + + + + + + + + Identity + + + + BWPolicyProfileID + + + + NetworkRegionLinkID + + + + NetworkRegionID1 + + + + NetworkRegionID2 + + + + + + + + DeserializedInterNetworkRegionRouteTypeView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.NetworkConfiguration.InterNetworkRegionRouteType + + + + + + + + NetworkRegionLinks + + + + InterNetworkRegionRouteID + + + + NetworkRegionID1 + + + + NetworkRegionID2 + + + + + + + + DeserializedInterNetworkRegionRouteTypeView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.NetworkConfiguration.InterNetworkRegionRouteType#Decorated + + + + + + + + Identity + + + + NetworkRegionLinks + + + + InterNetworkRegionRouteID + + + + NetworkRegionID1 + + + + NetworkRegionID2 + + + + + + + + DeserializedNetworkSiteTypeView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.NetworkConfiguration.NetworkSiteType + + + + + + + + Description + + + + NetworkRegionID + + + + BypassID + + + + BWPolicyProfileID + + + + LocationPolicyTagID + + + + NetworkSiteID + + + + VoiceRoutingPolicyTagID + + + + EnableLocationBasedRouting + + + + + + + + DeserializedNetworkSiteTypeView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.NetworkConfiguration.NetworkSiteType#Decorated + + + + + + + + Identity + + + + Description + + + + NetworkRegionID + + + + BypassID + + + + BWPolicyProfileID + + + + LocationPolicyTagID + + + + NetworkSiteID + + + + VoiceRoutingPolicyTagID + + + + EnableLocationBasedRouting + + + + + + + + DeserializedInterNetworkSitePolicyTypeView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.NetworkConfiguration.InterNetworkSitePolicyType + + + + + + + + BWPolicyProfileID + + + + InterNetworkSitePolicyID + + + + NetworkSiteID1 + + + + NetworkSiteID2 + + + + + + + + DeserializedInterNetworkSitePolicyTypeView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.NetworkConfiguration.InterNetworkSitePolicyType#Decorated + + + + + + + + Identity + + + + BWPolicyProfileID + + + + InterNetworkSitePolicyID + + + + NetworkSiteID1 + + + + NetworkSiteID2 + + + + + + + + DeserializedSubnetTypeView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.NetworkConfiguration.SubnetType + + + + + + + + MaskBits + + + + Description + + + + NetworkSiteID + + + + SubnetID + + + + + + + + DeserializedSubnetTypeView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.NetworkConfiguration.SubnetType#Decorated + + + + + + + + Identity + + + + MaskBits + + + + Description + + + + NetworkSiteID + + + + SubnetID + + + + + + + + DeserializedOnlineDialinPageConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.OnlineDialInConferencing.OnlineDialinPageConfiguration + + + + + + + + Identity + + + + MaximumConcurrentBvdGetSipResourceRequests + + + + MaximumConcurrentBvdGetBridgeRequests + + + + EnablePinServicesUserLookup + + + + EnableRedirectToAzureDialinPage + + + + AzureDialinPageUrl + + + + + + + + DeserializedOnlineDialinConferencingTenantConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.OnlineDialInConferencing.OnlineDialinConferencingTenantConfiguration + + + + + + + + Identity + + + + Status + + + + EnableCustomTrunking + + + + ThirdPartyNumberStatus + + + + + + + + DeserializedSharedResourcesConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.OnlineDialInConferencing.SharedResourcesConfiguration + + + + + + + + Identity + + + + SupportedRings + + + + TelephoneNumberManagementV2ServiceUrl + + + + TenantAdminApiServiceUrl + + + + BusinessVoiceDirectoryUrl + + + + TgsServiceUrl + + + + AgentProvisioningServiceUrl + + + + SipDomain + + + + ProxyFqdn + + + + EmailServiceUrl + + + + MicrosoftEmailServiceUrl + + + + MicrosoftAuthenticationUrl + + + + EmailFlightPercentage + + + + DialOutInformationLink + + + + MediaStorageServiceUrl + + + + GlobalMediaStorageServiceUrl + + + + MediaStorageServiceRegion + + + + TelephoneNumberManagementServiceUrl + + + + NameDictionaryServiceUrl + + + + OrganizationalAutoAttendantAdminServiceUrl + + + + IsEcsProdEnvironment + + + + DialinBridgeFormatEnabled + + + + ApplicationConfigurationServiceUrl + + + + RecognizeServiceEndpointUrl + + + + RecognizeServiceAadResourceUrl + + + + AuthorityUrl + + + + ConferenceAutoAttendantApplicationId + + + + SchedulerMaxBvdConcurrentCalls + + + + + + + + DeserializedOnlineDialinConferencingServiceConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.OnlineDialInConferencing.OnlineDialinConferencingServiceConfiguration + + + + + + + + Identity + + + + AnonymousCallerGracePeriod + + + + AnonymousCallerMeetingRuntime + + + + AuthenticatedCallerMeetingRuntime + + + + + + + + DeserializedOnlineDialInConferencingNumberMapView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.OnlineDialInConferencing.OnlineDialInConferencingNumberMap + + + + + + + + Geocodes + + + + Name + + + + Shared + + + + + + + + DeserializedOnlineDialInConferencingNumberMapView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.OnlineDialInConferencing.OnlineDialInConferencingNumberMap#Decorated + + + + + + + + Identity + + + + Priority + + + + Geocodes + + + + Name + + + + Shared + + + + + + + + DeserializedOnlineDialInConferencingMarketProfileView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.OnlineDialInConferencing.OnlineDialInConferencingMarketProfile + + + + + + + + NumberMaps + + + + Name + + + + Code + + + + Region + + + + DefaultBridgeGeocode + + + + + + + + DeserializedOnlineDialInConferencingMarketProfileView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.OnlineDialInConferencing.OnlineDialInConferencingMarketProfile#Decorated + + + + + + + + Identity + + + + Priority + + + + NumberMaps + + + + Name + + + + Code + + + + Region + + + + DefaultBridgeGeocode + + + + + + + + DeserializedOnlineDialinConferencingDefaultLanguageView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.OnlineDialInConferencing.OnlineDialinConferencingDefaultLanguage + + + + + + + + Identity + + + + DefaultLanguages + + + + + + + + DeserializedDefaultLanguageEntryView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.OnlineDialInConferencing.DefaultLanguageEntry + + + + + + + + SecondaryLanguages + + + + Geocode + + + + PrimaryLanguage + + + + + + + + DeserializedOnlineDialInConferencingTenantSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.OnlineDialInConferencing.OnlineDialInConferencingTenantSettings + + + + + + + + Identity + + + + AllowedDialOutExternalDomains + + + + EnableEntryExitNotifications + + + + EntryExitAnnouncementsType + + + + EnableNameRecording + + + + IncludeTollFreeNumberInMeetingInvites + + + + MaskPstnNumbersType + + + + PinLength + + + + AllowPSTNOnlyMeetingsByDefault + + + + AutomaticallySendEmailsToUsers + + + + SendEmailFromOverride + + + + SendEmailFromAddress + + + + SendEmailFromDisplayName + + + + AutomaticallyReplaceAcpProvider + + + + UseUniqueConferenceIds + + + + AutomaticallyMigrateUserMeetings + + + + MigrateServiceNumbersOnCrossForestMove + + + + EnableDialOutJoinConfirmation + + + + AllowFederatedUsersToDialOutToSelf + + + + AllowFederatedUsersToDialOutToThirdParty + + + + + + + + DeserializedOnlineDialInConferencingAllowedDomainView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.OnlineDialInConferencing.OnlineDialInConferencingAllowedDomain + + + + + + + + Domain + + + + + + + + DeserializedOnlineDialInConferencingAllowedDomainView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.OnlineDialInConferencing.OnlineDialInConferencingAllowedDomain#Decorated + + + + + + + + Identity + + + + Domain + + + + + + + + DeserializedSharedLisResourcesConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.OnlineLocationInformation.SharedLisResourcesConfiguration + + + + + + + + Identity + + + + LocationInformationServiceUrl + + + + NCSLocationInformationServiceUrl + + + + EnableNCS + + + + EnableNCSforEmergencyDisclaimer + + + + + + + + DeserializedOnlineVoiceCapabilityMappingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.OnlineVoiceCapabilityMapConfiguration.OnlineVoiceCapabilityMappings + + + + + + + + SupportedCapabilities + + + + PartnerID + + + + Description + + + + + + + + DeserializedOnlineVoiceCapabilityMappingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.OnlineVoiceCapabilityMapConfiguration.OnlineVoiceCapabilityMappings#Decorated + + + + + + + + Identity + + + + SupportedCapabilities + + + + PartnerID + + + + Description + + + + + + + + DeserializedOperationalLogConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.OperationalLog.OperationalLogConfiguration + + + + + + + + Identity + + + + Enable + + + + UploadIntervalSeconds + + + + MaximumQueueSize + + + + NumberOfItemsForImmediateDataUpload + + + + AzureOperationalLogServiceEndpointUrl + + + + + + + + DeserializedOrganizationalAutoAttendantConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.OrganizationalAutoAttendantConfiguration.OrganizationalAutoAttendantConfiguration + + + + + + + + Identity + + + + ApplicationId + + + + CallbackUrl + + + + MaxOrgAutoAttendantsPerTenant + + + + ClientAudience + + + + FlightedFeatures + + + + AriaTelemetryToken + + + + + + + + DeserializedPersistentChatConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.PersistentChat.PersistentChatConfiguration + + + + + + + + Identity + + + + MaxFileSizeKB + + + + ParticipantUpdateLimit + + + + DefaultChatHistory + + + + RoomManagementUrl + + + + + + + + DeserializedPersistentChatComplianceConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.PersistentChat.PersistentChatComplianceConfiguration + + + + + + + + Identity + + + + AdapterName + + + + RunInterval + + + + AdapterOutputDirectory + + + + AdapterType + + + + OneChatRoomPerOutputFile + + + + CreateFileAttachmentsManifest + + + + AddUserDetails + + + + AddChatRoomDetails + + + + CustomConfiguration + + + + + + + + DeserializedPersistentChatStateView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.PersistentChat.PersistentChatState + + + + + + + + Identity + + + + PoolState + + + + + + + + DeserializedPlatformConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.Platform.PlatformConfiguration + + + + + + + + Identity + + + + RingConfigurations + + + + RegionConfigurations + + + + EnableBroadcastFunctionality + + + + SkipRegistrationForMeetingApplication + + + + EnableConversationExtensionFunctionality + + + + PushNotificationBlockedHours + + + + ExchangeSearchEnabled + + + + StorageServiceCreationRetryTimeSpan + + + + AnonApplicationTokenLifeSpan + + + + EnableConsistentBotUserSelectionFunctionality + + + + ConsistentBotUserSelectionMode + + + + ActivationServiceUri + + + + GlobalPlatformUrl + + + + EnableFlightingFunctionality + + + + MaxEventChannelsPerApplication + + + + MaxPendingBatchRequestsPerUser + + + + AllowPlatformAnonToken + + + + EnableCORS + + + + EnableUcwaScopeCheck + + + + MaxRegistrationsPerPublicApplication + + + + MediaPresenceStateExpiration + + + + TrapServiceUrl + + + + + + + + DeserializedRingConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.Platform.RingConfiguration + + + + + + + + Name + + + + Url + + + + DeploymentPreference + + + + Region + + + + + + + + DeserializedRegionConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.Platform.RegionConfiguration + + + + + + + + Name + + + + Url + + + + ServiceInstanceIds + + + + + + + + DeserializedPlatformApplicationsConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.PlatformApplications.PlatformApplicationsConfiguration + + + + + + + + Identity + + + + PublicApplicationList + + + + PublicApplicationListMode + + + + + + + + DeserializedApplicationMeetingConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.PlatformApplications.ApplicationMeetingConfiguration + + + + + + + + Identity + + + + AllowRemoveParticipantAppIds + + + + + + + + DeserializedPlatformExceptionSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.PlatformExceptionSettings.PlatformExceptionSettings + + + + + + + + Identity + + + + KnownExceptions + + + + + + + + DeserializedKnownExceptionView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.PlatformExceptionSettings.KnownException + + + + + + + + Name + + + + Type + + + + MatchText + + + + ExpirationInUtc + + + + + + + + DeserializedKnownExceptionView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.PlatformExceptionSettings.KnownException#Decorated + + + + + + + + Identity + + + + Priority + + + + Name + + + + Type + + + + MatchText + + + + ExpirationInUtc + + + + + + + + DeserializedPlatformServiceNGCSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.PlatformServiceNGCSettings.PlatformServiceNGCSettings + + + + + + + + Identity + + + + EnableGeneratingTeamsIdentity + + + + RegistrarUrl + + + + ConversationServiceUrl + + + + TrouterUrl + + + + CallControllerUrl + + + + TpcProdUrl + + + + + + + + DeserializedPlatformServiceSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.PlatformServiceSettings.PlatformServiceSettings + + + + + + + + Identity + + + + EnablePushNotifications + + + + UseLegacyPushNotifications + + + + EnableE911 + + + + EnableFileTransfer + + + + AllowCallsFromNonContactsInPrivatePrivacyMode + + + + BvdPortalWhitelistedApp + + + + EnablePreDrainingForIncomingCalls + + + + EnableE911RequestXmlEncoding + + + + ContactCardUpdateAfterSignInMs + + + + ContactCardUpdateCheckInSeconds + + + + + + + + DeserializedPlatformThrottlingSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.PlatformThrottlingSettings.PlatformThrottlingSettings + + + + + + + + Identity + + + + UcwaThrottlingConfigurations + + + + UcapThrottlingConfigurations + + + + EnableUcwaThrottling + + + + UcwaThrottlingThresholdPercentageForInternal + + + + UcwaThrottlingThresholdPercentageForPublic + + + + EnableUcapThrottling + + + + UcapThrottlingThresholdPercentageForInternal + + + + UcapThrottlingThresholdPercentageForPublic + + + + EnableUcwaThrottlingToExchange + + + + MaxConcurrentUcwaRequestsToExchange + + + + + + + + DeserializedPlatformThrottlingConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.PlatformThrottlingSettings.PlatformThrottlingConfiguration + + + + + + + + Name + + + + ThrottlingTargetType + + + + ThrottlingMode + + + + ThrottlingScope + + + + TimeRangeInMinutes + + + + TargetNumber + + + + ExcludedApiNames + + + + IncludedApiNames + + + + OverrideThresholdPercentageForPublic + + + + SkipInBatchRequest + + + + + + + + DeserializedPnchServiceConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.PnchServiceConfiguration.PnchServiceConfiguration + + + + + + + + Identity + + + + PnchApplications + + + + ApplePushServiceFQDN + + + + ApplePushServicePort + + + + AppleFeedbackServiceFQDN + + + + AppleFeedbackServicePort + + + + PnhServiceUri + + + + VerboseDiagnostics + + + + EnableGenevaLogging + + + + + + + + DeserializedPnchApplicationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.PnchServiceConfiguration.PnchApplication + + + + + + + + Name + + + + Provider + + + + ApplicationId + + + + MaxConnections + + + + Certificate + + + + + + + + DeserializedPnchApplicationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.PnchServiceConfiguration.PnchApplication#Decorated + + + + + + + + Identity + + + + Name + + + + Provider + + + + ApplicationId + + + + MaxConnections + + + + Certificate + + + + + + + + DeserializedPnchAllowedDomainView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.PnchServiceConfiguration.PnchAllowedDomain + + + + + + + + Domain + + + + Comment + + + + + + + + DeserializedPnchAllowedDomainView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.PnchServiceConfiguration.PnchAllowedDomain#Decorated + + + + + + + + Identity + + + + Domain + + + + Comment + + + + + + + + DeserializedPnchBlockedDomainView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.PnchServiceConfiguration.PnchBlockedDomain + + + + + + + + Domain + + + + Comment + + + + + + + + DeserializedPnchBlockedDomainView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.PnchServiceConfiguration.PnchBlockedDomain#Decorated + + + + + + + + Identity + + + + Domain + + + + Comment + + + + + + + + DeserializedPolicyRestrictionsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.PolicyRules.PolicyRestrictions + + + + + + + + Identity + + + + SkuGroups + + + + PolicyRules + + + + + + + + DeserializedSkuGroupView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.PolicyRules.SkuGroup + + + + + + + + ServicePlans + + + + SkuName + + + + + + + + DeserializedSkuGroupView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.PolicyRules.SkuGroup#Decorated + + + + + + + + Identity + + + + ServicePlans + + + + SkuName + + + + + + + + DeserializedPolicyRuleView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.PolicyRules.PolicyRule + + + + + + + + AttributeRules + + + + PolicyName + + + + + + + + DeserializedPolicyRuleView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.PolicyRules.PolicyRule#Decorated + + + + + + + + Identity + + + + AttributeRules + + + + PolicyName + + + + + + + + DeserializedAttributeRuleView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.PolicyRules.AttributeRule + + + + + + + + SkuRules + + + + CountryRules + + + + AttributeName + + + + + + + + DeserializedSkuRuleView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.PolicyRules.SkuRule + + + + + + + + Sku + + + + Permission + + + + Type + + + + Value + + + + + + + + DeserializedCountryRuleView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.PolicyRules.CountryRule + + + + + + + + CountryGroup + + + + Permission + + + + Type + + + + Value + + + + + + + + DeserializedPowershellInfraConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.PowershellInfraConfiguration.PowershellInfraConfiguration + + + + + + + + Identity + + + + EnableDirectAcmsConnections + + + + EnableAcmsEcsConnections + + + + EcsEnvironment + + + + EnableReadWriteTopologyFromAcms + + + + EnableWriteAuditRecord + + + + EnableDirectWriteRegistrarConfig + + + + EnableEcsCmdletFiltering + + + + UseEcsProdEnvironment + + + + LrosApplicationId + + + + LrosTokenAuthorityUri + + + + LrosEndpointUri + + + + LrosResourceUri + + + + LrosJobStatusTimeOut + + + + + + + + DeserializedProvisionServiceConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.ProvisionService.ProvisionServiceConfiguration + + + + + + + + Identity + + + + ServiceInstances + + + + UserServicePools + + + + MsoUrl + + + + PublicProviderUrl + + + + SMPDNSWebserviceUrl + + + + SMPDNSsipdirSRVRecordData + + + + SMPDNSsipCNAMERecordData + + + + SMPDNSsipfedSRVRecordData + + + + SMPDNSwebdirCNAMERecordData + + + + WebProxy + + + + SyncInterval + + + + PublishInterval + + + + PublishRetryInterval + + + + PersistCookieInterval + + + + ThreadNoActivityTimeout + + + + MeetingMigrationThreadNoActivityTimeout + + + + MaxPublishBatchSize + + + + MaxADResultBatchSize + + + + ProvisionInterval + + + + ProvisionRetryInterval + + + + PoolUserRefreshInterval + + + + QueuesPerCPU + + + + PoolThreshold + + + + PrimaryDomainController + + + + SecondaryDomainController + + + + DCReplicaWaitTime + + + + PersistCookieThreshold + + + + SimpleUrlDNSName + + + + TenantMOREADomainSuffix + + + + LegacyTenantMOREADomainSuffix + + + + ReceiveTimeout + + + + SendTimeout + + + + MaxReceivedMessageSize + + + + MaxBufferPoolSize + + + + MaxStringContentLength + + + + ConnectionLimit + + + + ExchangeOnline + + + + RecoverTaskTimeInterval + + + + MaxNumberOfSyncErrorObjects + + + + MaxReSyncErrorObjectsBeforeWarning + + + + IgnorePICProvision + + + + EnableAsyncPICProvision + + + + IgnoreDNSProvision + + + + EnableAsyncDNSProvision + + + + EnableLightWeightSync + + + + DropUserAndFPOInLightWeightSync + + + + LightWeightSyncTenantList + + + + SendMNCTenantToBVD + + + + SendAllTenantsToBVD + + + + SendAllUsersToBVD + + + + DisabledFeatureList + + + + ConfirmedCookieAgeFailureThreshold + + + + ConfirmedCookieAgeWarningThreshold + + + + IntermediateCookieAgeFailureThreshold + + + + MoreFalseCookieAgeFailureThreshold + + + + MoreFalseCookieAgeWarningThreshold + + + + EnableSkypeEntitlement + + + + SkypeEntitlementHost + + + + SkypeEntitlementPort + + + + UnlicensedUserGracePeriod + + + + UnlicensedUserDeletionEnabled + + + + PersistRemotePoolForUsers + + + + PublishLyncAttributesForAllTenants + + + + SyncLatencyCounterThreshold + + + + MaxConcurrentDeleteOperations + + + + EnableBVDProvision + + + + EnableCPCProvision + + + + WriteAcpInfoForCpcUsersInAd + + + + CPCDisabledCountryList + + + + AdminPoolUrl + + + + EnableTenantPoolAssociationTracking + + + + EnableExoPlanProvisioning + + + + EnableEduExoPlanProvisioning + + + + ExoPlanProvisioningTenantList + + + + ExoPlanProvisioningStartDate + + + + TenantDNSCacheTimeout + + + + SyncOnlySkypeEnabledDomains + + + + HostMNCUsersInOtherRegionCoolDownTime + + + + EnableMAForNewTenant + + + + EnableBVDUpdateInMove + + + + SendOnPremHostedUsersToBvd + + + + EnableLastUserSipDomainSearch + + + + EnableTeamsProvisioning + + + + Deployment + + + + TeamsProvisioningTenantList + + + + EnableDNSDualWrite + + + + ApplicationId + + + + AzureSubscriptionId + + + + AzureDNSResourceGroup + + + + AzureDnsTenantId + + + + AzureDnsLoginUrl + + + + AzureDnsManagementCoreApiEndpoint + + + + EnableOnPremDNSDetector + + + + EnableOnPremCPC + + + + EnableECSConfig + + + + IsEcsProdEnvironment + + + + EcsEnvironment + + + + + + + + DeserializedUserServicePoolView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.ProvisionService.UserServicePool + + + + + + + + ServiceId + + + + ReservedForLegacyTenant + + + + StandbyMode + + + + + + + + DeserializedPstnEmulatorConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.PstnEmulator.PstnEmulatorConfiguration + + + + + + + + Identity + + + + PstnGatewayGruu + + + + EnteringDtmfDelay + + + + CallDuration + + + + IsTLS + + + + CertificateSubjectName + + + + CertificateIssuerName + + + + ListenToQueue + + + + TestMachine + + + + ECSEnabled + + + + + + + + DeserializedPushNotificationConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.PushNotificationConfiguration.PushNotificationConfiguration + + + + + + + + Identity + + + + EnableApplePushNotificationService + + + + EnableMicrosoftPushNotificationService + + + + + + + + DeserializedQoESettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.QoE.QoESettings + + + + + + + + Identity + + + + ExternalConsumerIssuedCertId + + + + EnablePurging + + + + KeepQoEDataForDays + + + + PurgeHourOfDay + + + + EnableExternalConsumer + + + + ExternalConsumerName + + + + ExternalConsumerURL + + + + EnableQoE + + + + + + + + DeserializedIssuedCertIdView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.BaseTypes.IssuedCertId + + + + + + + + Issuer + + + + SerialNumber + + + + + + + + DeserializedRecordingServiceConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.RecordingService.RecordingServiceConfiguration + + + + + + + + Identity + + + + + + + + DeserializedRegistrarSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.Registrar.RegistrarSettings + + + + + + + + Identity + + + + MinEndpointExpiration + + + + MaxEndpointExpiration + + + + DefaultEndpointExpiration + + + + MaxEndpointsPerUser + + + + EnableDHCPServer + + + + PoolState + + + + BackupStoreUnavailableThreshold + + + + MaxUserCount + + + + UserCertificateReplicationThreshold + + + + ReplicateUserCertsToBackend + + + + EnableWinFabLogUpload + + + + WinFabMaxLogsSizeMb + + + + IPPhoneUserAgents + + + + + + + + DeserializedReportingConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.Reporting.ReportingConfiguration + + + + + + + + Identity + + + + ReportingUrl + + + + + + + + DeserializedRoutingInfoDirConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.RoutingInfoDirService.RoutingInfoDirConfiguration + + + + + + + + Identity + + + + MaxSnapshotsToKeep + + + + MaxConcurrentDownloadCount + + + + LocalCacheFolderLocation + + + + NewSnapshotPollingIntervalInSeconds + + + + EnableLocalSnapshotDownloads + + + + UseSnapshots + + + + MaxOutstandingProviderRequests + + + + PositiveInMemoryCacheTimeoutSeconds + + + + NegativeInMemoryCacheTimeoutSeconds + + + + EnableAcmsRead + + + + RemoteTopologyRefreshIntervalSeconds + + + + EnableOnPremUserLookupResult + + + + PercentMemoryForProviderCache + + + + DomainLookupInMemoryCacheRecordCount + + + + TenantLookupInMemoryCacheRecordCount + + + + UserLookupInMemoryCacheRecordCount + + + + PhoneLookupInMemoryCacheRecordCount + + + + + + + + DeserializedOAuthSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.SSAuth.OAuthSettings + + + + + + + + Identity + + + + PartnerApplications + + + + OAuthServers + + + + Realm + + + + ServiceName + + + + ClientAuthorizationOAuthServerIdentity + + + + ExchangeAutodiscoverUrl + + + + ExchangeAutodiscoverAllowedDomains + + + + + + + + DeserializedPartnerApplicationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.SSAuth.PartnerApplication + + + + + + + + AuthToken + + + + Name + + + + ApplicationIdentifier + + + + Realm + + + + ApplicationTrustLevel + + + + AcceptSecurityIdentifierInformation + + + + Enabled + + + + + + + + DeserializedPartnerApplicationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.SSAuth.PartnerApplication#Decorated + + + + + + + + Identity + + + + AuthToken + + + + Name + + + + ApplicationIdentifier + + + + Realm + + + + ApplicationTrustLevel + + + + AcceptSecurityIdentifierInformation + + + + Enabled + + + + + + + + DeserializedOAuthServerView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.SSAuth.OAuthServer + + + + + + + + Name + + + + IssuerIdentifier + + + + Realm + + + + MetadataUrl + + + + AuthorizationUriOverride + + + + Type + + + + AcceptSecurityIdentifierInformation + + + + + + + + DeserializedOAuthServerView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.SSAuth.OAuthServer#Decorated + + + + + + + + Identity + + + + Name + + + + IssuerIdentifier + + + + Realm + + + + MetadataUrl + + + + AuthorizationUriOverride + + + + Type + + + + AcceptSecurityIdentifierInformation + + + + + + + + DeserializedSchedulerServiceSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.SchedulerServiceSettings.SchedulerServiceSettings + + + + + + + + Identity + + + + SchedulerServiceUrl + + + + ApplicationAudience + + + + AuthType + + + + + + + + DeserializedApplicationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.ServerApplication.Application + + + + + + + + Uri + + + + Name + + + + Enabled + + + + Critical + + + + ScriptName + + + + Script + + + + + + + + DeserializedApplicationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.ServerApplication.Application#Decorated + + + + + + + + Identity + + + + Priority + + + + Uri + + + + Name + + + + Enabled + + + + Critical + + + + ScriptName + + + + Script + + + + + + + + DeserializedSignInTelemetryConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.SignInTelemetry.SignInTelemetryConfiguration + + + + + + + + Identity + + + + EnableClientTelemetry + + + + + + + + DeserializedSimpleUrlConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.SimpleUrl.SimpleUrlConfiguration + + + + + + + + Identity + + + + SimpleUrl + + + + + + + + DeserializedSimpleUrlView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.SimpleUrl.SimpleUrl + + + + + + + + SimpleUrlEntry + + + + Component + + + + Domain + + + + ActiveUrl + + + + + + + + DeserializedSimpleUrlEntryView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.SimpleUrl.SimpleUrlEntry + + + + + + + + Url + + + + + + + + DeserializedProxySettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.SipProxy.ProxySettings + + + + + + + + Identity + + + + Realm + + + + MaxClientMessageBodySizeKb + + + + MaxServerMessageBodySizeKb + + + + TreatAllClientsAsRemote + + + + OutgoingTlsCount + + + + DnsCacheRecordCount + + + + AllowPartnerPollingSubscribes + + + + EnableLoggingAllMessageBodies + + + + EnableWhiteSpaceKeepAlive + + + + MaxKeepAliveInterval + + + + UseKerberosForClientToProxyAuth + + + + UseNtlmForClientToProxyAuth + + + + DisableNtlmFor2010AndLaterClients + + + + UseCertificateForClientToProxyAuth + + + + AcceptClientCompression + + + + MaxClientCompressionCount + + + + AcceptServerCompression + + + + MaxServerCompressionCount + + + + RequestServerCompression + + + + LoadBalanceInternalServers + + + + LoadBalanceEdgeServers + + + + TestFeatureList + + + + TestParameterList + + + + SpecialConfigurationList + + + + UseCertificatePinningForInternalConnections + + + + + + + + DeserializedRealmView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.SipProxy.Realm + + + + + + + + RealmChoice + + + + + + + + DeserializedCustomView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.SipProxy.Custom + + + + + + + + CustomValue + + + + + + + + DeserializedRoutingSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.SipProxy.RoutingSettings + + + + + + + + Identity + + + + Route + + + + + + + + DeserializedTransportView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.SipProxy.Transport + + + + + + + + TransportChoice + + + + Port + + + + + + + + DeserializedTCPView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.SipProxy.TCP + + + + + + + + IPAddress + + + + + + + + DeserializedTLSView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.SipProxy.TLS + + + + + + + + Certificate + + + + Fqdn + + + + + + + + DeserializedSkypeEdgeProvisionServiceConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.SkypeEdgeProvisionService.SkypeEdgeProvisionServiceConfiguration + + + + + + + + Identity + + + + SyncInterval + + + + PICProvisionServerUrl + + + + WebProxy + + + + OpenCloseTimeout + + + + SendTimeout + + + + MaxReceivedMessageSizeBytes + + + + MaxArrayLength + + + + + + + + DeserializedStorageServiceSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.StorageService.StorageServiceSettings + + + + + + + + Identity + + + + EnableAutoImportFlushedData + + + + EnableFabricReplicationSetReduction + + + + EnableAsyncAdaptorTaskAbort + + + + FabricInvalidStateTimeoutDuration + + + + SingleSecondaryMissingTimeoutDuration + + + + SingleSecondaryQuorumEventLogInterval + + + + EnableLightweightFinalization + + + + EnableEwsTaskTimeout + + + + FilteredAdapterIdList + + + + EnableAttachmentCache + + + + AttachmentCacheTimeout + + + + MaxTotalMemoryForActiveFileUploadsInGB + + + + MemoryToFileSizeRatioForExArchUpload + + + + EnableAggressiveGC + + + + EnableWCFSelfHeal + + + + + + + + DeserializedTeamsAppPolicyConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TeamsAppPolicyConfiguration.TeamsAppPolicyConfiguration + + + + + + + + Identity + + + + AppCatalogUri + + + + ResourceUri + + + + + + + + DeserializedTeamsConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TeamsConfiguration.TeamsConfiguration + + + + + + + + Identity + + + + EnabledForVoice + + + + EnabledForMessaging + + + + + + + + DeserializedTeamsUpgradeConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TeamsConfiguration.TeamsUpgradeConfiguration + + + + + + + + Identity + + + + DownloadTeams + + + + SfBMeetingJoinUx + + + + + + + + DeserializedTeamsClientConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TeamsConfiguration.TeamsClientConfiguration + + + + + + + + Identity + + + + AllowEmailIntoChannel + + + + RestrictedSenderList + + + + AllowDropBox + + + + AllowBox + + + + AllowGoogleDrive + + + + AllowShareFile + + + + AllowEgnyte + + + + AllowOrganizationTab + + + + AllowSkypeBusinessInterop + + + + ContentPin + + + + AllowResourceAccountSendMessage + + + + ResourceAccountContentAccess + + + + AllowGuestUser + + + + AllowScopedPeopleSearchandAccess + + + + AllowRoleBasedChatPermissions + + + + + + + + DeserializedTeamsGuestMessagingConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TeamsConfiguration.TeamsGuestMessagingConfiguration + + + + + + + + Identity + + + + AllowUserEditMessage + + + + AllowUserDeleteMessage + + + + AllowUserDeleteChat + + + + AllowUserChat + + + + AllowGiphy + + + + GiphyRatingType + + + + AllowMemes + + + + AllowImmersiveReader + + + + AllowStickers + + + + + + + + DeserializedTeamsGuestMeetingConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TeamsConfiguration.TeamsGuestMeetingConfiguration + + + + + + + + Identity + + + + AllowIPVideo + + + + ScreenSharingMode + + + + AllowMeetNow + + + + LiveCaptionsEnabledType + + + + AllowTranscription + + + + + + + + DeserializedTeamsGuestCallingConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TeamsConfiguration.TeamsGuestCallingConfiguration + + + + + + + + Identity + + + + AllowPrivateCalling + + + + + + + + DeserializedTeamsMeetingBroadcastConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TeamsConfiguration.TeamsMeetingBroadcastConfiguration + + + + + + + + Identity + + + + SupportURL + + + + AllowSdnProviderForBroadcastMeeting + + + + + + + + DeserializedTeamsEffectiveMeetingSurveyConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TeamsConfiguration.TeamsEffectiveMeetingSurveyConfiguration + + + + + + + + Identity + + + + Survey + + + + DefaultOrganizerMode + + + + + + + + DeserializedTeamsCallHoldValidationConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TeamsConfiguration.TeamsCallHoldValidationConfiguration + + + + + + + + Identity + + + + AudioFileValidationEnabled + + + + AudioFileValidationUri + + + + + + + + DeserializedTeamsEducationConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TeamsConfiguration.TeamsEducationConfiguration + + + + + + + + Identity + + + + ParentGuardianPreferredContactMethod + + + + + + + + DeserializedTeamsMeetingTemplateConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TeamsConfiguration.TeamsMeetingTemplateConfiguration + + + + + + + + Identity + + + + TeamsMeetingTemplates + + + + Description + + + + + + + + DeserializedTeamsMeetingTemplateTypeView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TeamsConfiguration.TeamsMeetingTemplateType + + + + + + + + TeamsMeetingOptions + + + + Description + + + + Name + + + + + + + + DeserializedTeamsMeetingTemplateTypeView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TeamsConfiguration.TeamsMeetingTemplateType#Decorated + + + + + + + + Identity + + + + TeamsMeetingOptions + + + + Description + + + + Name + + + + + + + + DeserializedTeamsMeetingOptionView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TeamsConfiguration.TeamsMeetingOption + + + + + + + + IsLocked + + + + IsHidden + + + + Value + + + + Name + + + + + + + + DeserializedTeamsFirstPartyMeetingTemplateConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TeamsConfiguration.TeamsFirstPartyMeetingTemplateConfiguration + + + + + + + + Identity + + + + TeamsMeetingTemplates + + + + Description + + + + + + + + DeserializedTeamsMeetingConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TeamsMeetingConfiguration.TeamsMeetingConfiguration + + + + + + + + Identity + + + + LogoURL + + + + LegalURL + + + + HelpURL + + + + CustomFooterText + + + + DisableAnonymousJoin + + + + DisableAppInteractionForAnonymousUsers + + + + EnableQoS + + + + ClientAudioPort + + + + ClientAudioPortRange + + + + ClientVideoPort + + + + ClientVideoPortRange + + + + ClientAppSharingPort + + + + ClientAppSharingPortRange + + + + ClientMediaPortRangeEnabled + + + + + + + + DeserializedTeamsMigrationConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TeamsMigrationConfiguration.TeamsMigrationConfiguration + + + + + + + + Identity + + + + EnableLegacyClientInterop + + + + + + + + DeserializedTeamsRoutingConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TeamsRoutingConfiguration.TeamsRoutingConfiguration + + + + + + + + Identity + + + + VoiceGatewayFqdn + + + + EnableMessagingGatewayProxy + + + + MessagingConversationRequestUrl + + + + MessagingConversationResponseUrl + + + + MgwRedirectUrlTemplate + + + + EnablePoollessTeamsOnlyUserFlighting + + + + EnablePoollessTeamsOnlyCallingFlighting + + + + EnablePoollessTeamsOnlyMessagingFlighting + + + + EnablePoollessTeamsOnlyConferencingFlighting + + + + EnablePoollessTeamsOnlyPresenceFlighting + + + + HybridEdgeFqdn + + + + DisableTeamsOnlyUsersConfCreateFlighting + + + + TenantDisabledForTeamsOnlyUsersConfCreate + + + + EnableTenantLevelPolicyCheck + + + + + + + + DeserializedTelemetrySenderConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TelemetrySender.TelemetrySenderConfiguration + + + + + + + + Identity + + + + Enabled + + + + EncryptedAriaDataToken + + + + EncryptedAriaTraceToken + + + + TraceLevels + + + + TokenDecryptThumbprint + + + + AriaEndpointUri + + + + QoEHashThumbprint + + + + QoEEncryptThumbprint + + + + + + + + DeserializedTenantConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TenantConfiguration.TenantConfiguration + + + + + + + + Identity + + + + MaxAllowedDomains + + + + MaxBlockedDomains + + + + + + + + DeserializedTenantLicensingConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TenantConfiguration.TenantLicensingConfiguration + + + + + + + + Identity + + + + Status + + + + + + + + DeserializedTenantWebServiceConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TenantConfiguration.TenantWebServiceConfiguration + + + + + + + + Identity + + + + CertificateValidityPeriodInHours + + + + + + + + DeserializedTenantFlightAssignmentsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TenantFlightAssignment.TenantFlightAssignments + + + + + + + + Identity + + + + Flights + + + + + + + + DeserializedFlightView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TenantFlightAssignment.Flight + + + + + + + + Name + + + + + + + + DeserializedFlightView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TenantFlightAssignment.Flight#Decorated + + + + + + + + Identity + + + + Priority + + + + Name + + + + + + + + DeserializedTenantMigrationConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TenantMigration.TenantMigrationConfiguration + + + + + + + + Identity + + + + MeetingMigrationEnabled + + + + + + + + DeserializedTenantNetworkConfigurationSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TenantNetworkConfiguration.TenantNetworkConfigurationSettings + + + + + + + + Identity + + + + NetworkRegions + + + + NetworkSites + + + + Subnets + + + + PostalCodes + + + + + + + + DeserializedNetworkRegionTypeView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TenantNetworkConfiguration.NetworkRegionType + + + + + + + + Description + + + + CentralSite + + + + NetworkRegionID + + + + + + + + DeserializedNetworkRegionTypeView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TenantNetworkConfiguration.NetworkRegionType#Decorated + + + + + + + + Identity + + + + Description + + + + CentralSite + + + + NetworkRegionID + + + + + + + + DeserializedNetworkSiteTypeView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TenantNetworkConfiguration.NetworkSiteType + + + + + + + + Description + + + + NetworkRegionID + + + + LocationPolicyID + + + + SiteAddress + + + + NetworkSiteID + + + + OnlineVoiceRoutingPolicyTagID + + + + EnableLocationBasedRouting + + + + EmergencyCallRoutingPolicyTagID + + + + EmergencyCallingPolicyTagID + + + + NetworkRoamingPolicyTagID + + + + EmergencyCallRoutingPolicyName + + + + EmergencyCallingPolicyName + + + + NetworkRoamingPolicyName + + + + + + + + DeserializedNetworkSiteTypeView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TenantNetworkConfiguration.NetworkSiteType#Decorated + + + + + + + + Identity + + + + Description + + + + NetworkRegionID + + + + LocationPolicyID + + + + SiteAddress + + + + NetworkSiteID + + + + OnlineVoiceRoutingPolicyTagID + + + + EnableLocationBasedRouting + + + + EmergencyCallRoutingPolicyTagID + + + + EmergencyCallingPolicyTagID + + + + NetworkRoamingPolicyTagID + + + + EmergencyCallRoutingPolicyName + + + + EmergencyCallingPolicyName + + + + NetworkRoamingPolicyName + + + + + + + + DeserializedSubnetTypeView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TenantNetworkConfiguration.SubnetType + + + + + + + + Description + + + + NetworkSiteID + + + + MaskBits + + + + SubnetID + + + + + + + + DeserializedSubnetTypeView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TenantNetworkConfiguration.SubnetType#Decorated + + + + + + + + Identity + + + + Description + + + + NetworkSiteID + + + + MaskBits + + + + SubnetID + + + + + + + + DeserializedPostalCodeTypeView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TenantNetworkConfiguration.PostalCodeType + + + + + + + + Description + + + + NetworkSiteID + + + + PostalCode + + + + CountryCode + + + + + + + + DeserializedPostalCodeTypeView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TenantNetworkConfiguration.PostalCodeType#Decorated + + + + + + + + Identity + + + + Description + + + + NetworkSiteID + + + + PostalCode + + + + CountryCode + + + + + + + + DeserializedTrustedIPView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TenantNetworkConfiguration.TrustedIP + + + + + + + + MaskBits + + + + Description + + + + IPAddress + + + + + + + + DeserializedTrustedIPView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TenantNetworkConfiguration.TrustedIP#Decorated + + + + + + + + Identity + + + + MaskBits + + + + Description + + + + IPAddress + + + + + + + + DeserializedTenantPartnerRoleView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TenantPartnerRole.TenantPartnerRole + + + + + + + + BlockedCmdlets + + + + Name + + + + PartnerType + + + + + + + + DeserializedTenantPartnerRoleView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TenantPartnerRole.TenantPartnerRole#Decorated + + + + + + + + Identity + + + + BlockedCmdlets + + + + Name + + + + PartnerType + + + + + + + + DeserializedTenantVideoInteropConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TenantVideoInteropConfiguration.TenantVideoInteropConfiguration + + + + + + + + Identity + + + + VideoTeleconferencingDeviceProviders + + + + + + + + DeserializedVideoTeleconferencingDeviceProviderView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TenantVideoInteropConfiguration.VideoTeleconferencingDeviceProvider + + + + + + + + Name + + + + TenantKey + + + + InstructionUri + + + + + + + + DeserializedVideoTeleconferencingDeviceProviderView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TenantVideoInteropConfiguration.VideoTeleconferencingDeviceProvider#Decorated + + + + + + + + Identity + + + + Name + + + + TenantKey + + + + InstructionUri + + + + + + + + DeserializedVideoInteropServiceProviderView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TenantVideoInteropServiceConfiguration.VideoInteropServiceProvider + + + + + + + + Name + + + + AadApplicationIds + + + + TenantKey + + + + InstructionUri + + + + AllowAppGuestJoinsAsAuthenticated + + + + + + + + DeserializedVideoInteropServiceProviderView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TenantVideoInteropServiceConfiguration.VideoInteropServiceProvider#Decorated + + + + + + + + Identity + + + + Name + + + + AadApplicationIds + + + + TenantKey + + + + InstructionUri + + + + AllowAppGuestJoinsAsAuthenticated + + + + + + + + DeserializedTrunkConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TrunkConfiguration.TrunkConfiguration + + + + + + + + Identity + + + + OutboundTranslationRulesList + + + + SipResponseCodeTranslationRulesList + + + + OutboundCallingNumberTranslationRulesList + + + + PstnUsages + + + + Description + + + + ConcentratedTopology + + + + EnableBypass + + + + EnableMobileTrunkSupport + + + + EnableReferSupport + + + + EnableSessionTimer + + + + EnableSignalBoost + + + + MaxEarlyDialogs + + + + RemovePlusFromUri + + + + RTCPActiveCalls + + + + RTCPCallsOnHold + + + + SRTPMode + + + + EnablePIDFLOSupport + + + + EnableRTPLatching + + + + EnableOnlineVoice + + + + ForwardCallHistory + + + + Enable3pccRefer + + + + ForwardPAI + + + + EnableFastFailoverTimer + + + + EnableLocationRestriction + + + + NetworkSiteID + + + + + + + + DeserializedTranslationRuleView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TrunkConfiguration.TranslationRule + + + + + + + + Description + + + + Pattern + + + + Translation + + + + Name + + + + + + + + DeserializedTranslationRuleView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TrunkConfiguration.TranslationRule#Decorated + + + + + + + + Identity + + + + Priority + + + + Description + + + + Pattern + + + + Translation + + + + Name + + + + + + + + DeserializedSipResponseCodeTranslationRuleView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TrunkConfiguration.SipResponseCodeTranslationRule + + + + + + + + ReceivedResponseCode + + + + ReceivedISUPCauseValue + + + + TranslatedResponseCode + + + + Name + + + + + + + + DeserializedSipResponseCodeTranslationRuleView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TrunkConfiguration.SipResponseCodeTranslationRule#Decorated + + + + + + + + Identity + + + + Priority + + + + ReceivedResponseCode + + + + ReceivedISUPCauseValue + + + + TranslatedResponseCode + + + + Name + + + + + + + + DeserializedCallingNumberTranslationRuleView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TrunkConfiguration.CallingNumberTranslationRule + + + + + + + + Description + + + + Pattern + + + + Translation + + + + Name + + + + + + + + DeserializedCallingNumberTranslationRuleView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TrunkConfiguration.CallingNumberTranslationRule#Decorated + + + + + + + + Identity + + + + Priority + + + + Description + + + + Pattern + + + + Translation + + + + Name + + + + + + + + DeserializedUcapConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.Ucap.UcapConfiguration + + + + + + + + Identity + + + + UcapActivateConferenceUrl + + + + UcapHostUrl + + + + + + + + DeserializedUnassignedNumberTreatmentView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.UnassignedNumberTreatmentConfiguration.UnassignedNumberTreatment + + + + + + + + TreatmentId + + + + Pattern + + + + TargetType + + + + Target + + + + TreatmentPriority + + + + Description + + + + + + + + DeserializedUnassignedNumberTreatmentView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.UnassignedNumberTreatmentConfiguration.UnassignedNumberTreatment#Decorated + + + + + + + + Identity + + + + TreatmentId + + + + Pattern + + + + TargetType + + + + Target + + + + TreatmentPriority + + + + Description + + + + + + + + DeserializedUpgradeEngineHandlerConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.UpgradeEngineHandler.UpgradeEngineHandlerConfiguration + + + + + + + + Identity + + + + UpgradeEngineUrl + + + + TurnOnUpgradeEngineHandler + + + + TurnOnTenantReadinessUpload + + + + WebProxy + + + + QueryInterval + + + + UpgradeErrorRetryInterval + + + + TenantReadinessUploadInterval + + + + QueryWorkItemBatchSize + + + + UpdateTenantReadinessBatchSize + + + + MaxUpgradeRetryTimes + + + + PreUpgradeVersion + + + + PostUpgradeVersion + + + + ReceiveTimeout + + + + SendTimeout + + + + MaxReceivedMessageSize + + + + MaxBufferPoolSize + + + + MaxStringContentLength + + + + + + + + DeserializedUserReplicatorConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.UserReplicator.UserReplicatorConfiguration + + + + + + + + Identity + + + + ADDomainNamingContextList + + + + DomainControllerList + + + + ReplicationCycleInterval + + + + SkipFirstSyncAllowedDowntime + + + + + + + + DeserializedDomainControllerTypeView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.UserReplicator.DomainControllerType + + + + + + + + ADDomainNamingContext + + + + DomainControllerFqdn + + + + + + + + DeserializedUserRoutingGroupConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.UserRoutingGroup.UserRoutingGroupConfiguration + + + + + + + + Identity + + + + Groups + + + + MaxUserCountPerGroup + + + + WarningThresholdPerGroup + + + + + + + + DeserializedUserServicesSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.UserServices.UserServicesSettings + + + + + + + + Identity + + + + PresenceProviders + + + + MaintenanceTimeOfDay + + + + MinSubscriptionExpiration + + + + MaxSubscriptionExpiration + + + + DefaultSubscriptionExpiration + + + + AnonymousUserGracePeriod + + + + DeactivationGracePeriod + + + + MaxScheduledMeetingsPerOrganizer + + + + AllowNonRoomSystemNotification + + + + MaxSubscriptions + + + + MaxContacts + + + + MaxPersonalNotes + + + + SubscribeToCollapsedDG + + + + StateReplicationFlag + + + + TestFeatureList + + + + TestParameterList + + + + + + + + DeserializedPresenceProviderView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.UserServices.PresenceProvider + + + + + + + + Fqdn + + + + + + + + DeserializedPresenceProviderView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.UserServices.PresenceProvider#Decorated + + + + + + + + Identity + + + + Fqdn + + + + + + + + DeserializedPrivacyConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.UserServices.PrivacyConfiguration + + + + + + + + Identity + + + + EnablePrivacyMode + + + + AutoInitiateContacts + + + + PublishLocationDataDefault + + + + DisplayPublishedPhotoDefault + + + + + + + + DeserializedMeetingConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.UserServices.MeetingConfiguration + + + + + + + + Identity + + + + PstnCallersBypassLobby + + + + EnableAssignedConferenceType + + + + DesignateAsPresenter + + + + AssignedConferenceTypeByDefault + + + + AdmitAnonymousUsersByDefault + + + + RequireRoomSystemsAuthorization + + + + LogoURL + + + + LegalURL + + + + HelpURL + + + + CustomFooterText + + + + AllowConferenceRecording + + + + AllowCloudRecordingService + + + + EnableMeetingReport + + + + UserUriFormatForStUser + + + + + + + + DeserializedRoutingDataSyncAgentConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.UserServices.RoutingDataSyncAgentConfiguration + + + + + + + + Identity + + + + Enabled + + + + BatchesPerTransaction + + + + + + + + DeserializedUserStoreConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.UserServices.UserStoreConfiguration + + + + + + + + Identity + + + + UserStoreServiceUri + + + + UserStoreSyncAgentSyncIntervalSeconds + + + + UserStoreSyncAgentSyncIntervalSecondsForPush + + + + UserStoreSyncAgentSyncIntervalTimeoutSeconds + + + + UserStoreClientRetryCount + + + + UserStoreClientWaitBeforeRetryMilliseconds + + + + UserStoreClientTimeoutPerTrySeconds + + + + UserStoreClientRetryCountForPush + + + + UserStoreClientWaitBeforeRetryMillisecondsForPush + + + + UserStoreClientTimeoutPerTrySecondsForPush + + + + MaxConcurrentPulls + + + + MaxConfDocsToPull + + + + HealthProbeRtcSrvIntervalSeconds + + + + HealthProbeReplicationAppIntervalSeconds + + + + UserStoreClientUseIfxLogging + + + + UserStoreClientLoggingIfxSessionName + + + + UserStoreClientLoggingFileLocation + + + + UserStoreClientEnableHttpTracing + + + + UserStoreClientHttpTimeoutSeconds + + + + UserStoreClientConnectionLimit + + + + UserStorePhase + + + + BackfillFrequencySeconds + + + + BackfillQueueSizeThreshold + + + + BackfillBatchSize + + + + RoutingGroupPartitionHealthExpirationInMinutes + + + + RoutingGroupPartitionUnhealthyThresholdInMinutes + + + + RoutingGroupPartitionFailuresThreshold + + + + PartitionKeySuffix + + + + EnablePullStatusReporting + + + + EnableSlowPullBackOff + + + + BackOffValueMaximumThresholdInSeconds + + + + BackOffInitialValueInSeconds + + + + BackOffFactor + + + + PushControllerBatchSize + + + + HttpIdleConnectionTimeInSeconds + + + + + + + + DeserializedBroadcastMeetingConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.UserServices.BroadcastMeetingConfiguration + + + + + + + + Identity + + + + EnableBroadcastMeeting + + + + EnableOpenBroadcastMeeting + + + + EnableBroadcastMeetingRecording + + + + EnableAnonymousBroadcastMeeting + + + + EnforceBroadcastMeetingRecording + + + + BroadcastMeetingSupportUrl + + + + EnableSdnProviderForBroadcastMeeting + + + + SdnFallbackAttendeeThresholdCountForBroadcastMeeting + + + + EnableTechPreviewFeatures + + + + + + + + DeserializedCloudMeetingConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.UserServices.CloudMeetingConfiguration + + + + + + + + Identity + + + + EnableAutoSchedule + + + + + + + + DeserializedCloudVideoInteropConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.UserServices.CloudVideoInteropConfiguration + + + + + + + + Identity + + + + EnableCloudVideoInterop + + + + AllowLobbyBypass + + + + + + + + DeserializedCloudMeetingServiceConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.UserServices.CloudMeetingServiceConfiguration + + + + + + + + Identity + + + + SchedulingUrl + + + + DiscoveryUrl + + + + + + + + DeserializedUserSettingsPageConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.UserSettingsPage.UserSettingsPageConfiguration + + + + + + + + Identity + + + + PstnCallingUri + + + + PstnConferencingUri + + + + VoicemailUri + + + + + + + + DeserializedVideoInteropServerConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.VideoInteropServer.VideoInteropServerConfiguration + + + + + + + + Identity + + + + EnableEnhancedVideoExperience + + + + + + + + DeserializedVideoInteropServerSyntheticTransactionConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.VideoInteropServerSyntheticTransaction.VideoInteropServerSyntheticTransactionConfiguration + + + + + + + + Identity + + + + WatcherNodeFqdns + + + + + + + + DeserializedVideoTrunkConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.VideoTrunkConfiguration.VideoTrunkConfiguration + + + + + + + + Identity + + + + GatewaySendsRtcpForActiveCalls + + + + GatewaySendsRtcpForCallsOnHold + + + + EnableMediaEncryptionForSipOverTls + + + + EnableSessionTimer + + + + ForwardErrorCorrectionType + + + + + + + + DeserializedTargetPoolView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.WatcherNode.TargetPool + + + + + + + + TestUsers + + + + Tests + + + + ExtendedTests + + + + TargetFqdn + + + + PortNumber + + + + UseInternalWebUrls + + + + XmppTestReceiverMailAddress + + + + Enabled + + + + UseAutoDiscovery + + + + + + + + DeserializedTargetPoolView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.WatcherNode.TargetPool#Decorated + + + + + + + + Identity + + + + TestUsers + + + + Tests + + + + ExtendedTests + + + + TargetFqdn + + + + PortNumber + + + + UseInternalWebUrls + + + + XmppTestReceiverMailAddress + + + + Enabled + + + + UseAutoDiscovery + + + + + + + + DeserializedExtendedTestView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.WatcherNode.ExtendedTest + + + + + + + + TestUsers + + + + Name + + + + TestType + + + + + + + + DeserializedWebServiceSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.Web.WebServiceSettings + + + + + + + + Identity + + + + TrustedCACerts + + + + CrossDomainAuthorizationList + + + + MaxGroupSizeToExpand + + + + EnableGroupExpansion + + + + UseLocalWebClient + + + + UseWindowsAuth + + + + UseCertificateAuth + + + + UsePinAuth + + + + UseDomainAuthInLWA + + + + EnableMediaBasicAuth + + + + AllowAnonymousAccessToLWAConference + + + + EnableCertChainDownload + + + + InferCertChainFromSSL + + + + CASigningKeyLength + + + + MaxCSRKeySize + + + + MinCSRKeySize + + + + MaxValidityPeriodHours + + + + MinValidityPeriodHours + + + + DefaultValidityPeriodHours + + + + MACResolverUrl + + + + SecondaryLocationSourceUrl + + + + ShowJoinUsingLegacyClientLink + + + + ShowDownloadCommunicatorAttendeeLink + + + + AutoLaunchLyncWebAccess + + + + ShowAlternateJoinOptionsExpanded + + + + UseWsFedPassiveAuth + + + + WsFedPassiveMetadataUri + + + + AllowExternalAuthentication + + + + ExcludedUserAgents + + + + OverrideAuthTypeForInternalClients + + + + OverrideAuthTypeForExternalClients + + + + MobilePreferredAuthType + + + + EnableStatisticsInResponse + + + + HstsMaxAgeInSeconds + + + + EnableCORS + + + + CorsPreflightResponseMaxAgeInSeconds + + + + CrossDomainAuthorizationRegularExpressionList + + + + + + + + DeserializedCACertIdView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.Web.CACertId + + + + + + + + Thumbprint + + + + CAStore + + + + + + + + DeserializedOriginView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.Web.Origin + + + + + + + + Url + + + + + + + + DeserializedHostedWebAuthSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.Web.HostedWebAuthSettings + + + + + + + + Identity + + + + UseWsFedAuth + + + + WsFedMetadataUri + + + + WsFedEnvironment + + + + UseClientCertAuthForWindowsAuth + + + + WsFederationProvider + + + + CompactWebTicketUserIdentiferType + + + + AddTenantIdToCompactWebTicket + + + + + + + + DeserializedWebAppHealthView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.WebAppHealth.WebAppHealth + + + + + + + + Identity + + + + + + + + DeserializedConfSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.WebConf.ConfSettings + + + + + + + + Identity + + + + MaxContentStorageMb + + + + MaxUploadFileSizeMb + + + + MaxBandwidthPerAppSharingServiceMb + + + + ContentGracePeriod + + + + ClientMediaPortRangeEnabled + + + + ClientMediaPort + + + + ClientMediaPortRange + + + + ClientAudioPort + + + + ClientAudioPortRange + + + + ClientVideoPort + + + + ClientVideoPortRange + + + + ClientAppSharingPort + + + + ClientAppSharingPortRange + + + + ClientFileTransferPort + + + + ClientFileTransferPortRange + + + + ClientSipDynamicPort + + + + ClientSipDynamicPortRange + + + + Organization + + + + HelpdeskInternalUrl + + + + HelpdeskExternalUrl + + + + ConsoleDownloadInternalUrl + + + + ConsoleDownloadExternalUrl + + + + CloudPollServicePrimaryUrl + + + + CloudPollServiceSecondaryUrl + + + + + + + + DeserializedConferenceDisclaimerView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.WebConf.ConferenceDisclaimer + + + + + + + + Identity + + + + Header + + + + Body + + + + + + + + DeserializedXForestMigrationConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.XForestMigration.XForestMigrationConfiguration + + + + + + + + Identity + + + + ReportErrorDetailBackToClient + + + + MaxSessionPerPool + + + + ThreadsPerTenant + + + + ThreadsPerFE + + + + PublishRoutingGroupDocumentInterval + + + + MoveHandlerEnabled + + + + MoveHandlerRequestInAsyncMode + + + + MoveHandlerQueryBatchSize + + + + MoveHandlerMaxDualSyncTenants + + + + MoveHandlerUserMoveBatchSize + + + + MoveHandlerStatusRetryLimitSinceLastStateChange + + + + MoveHandlerTenantRetryLimit + + + + MoveHandlerFinalizeTimeSpan + + + + MoveHandlerQueryInterval + + + + MoveHandlerErrorRetryInterval + + + + MoveHandlerStatusRetryInterval + + + + MoveHandlerUserMovePerSecond + + + + SHDMessageCenterEndpoint + + + + TenantNotificationEndMonth + + + + TenantNotificationStartDay + + + + EnableTenantNotification + + + + TenantNotificationExpirationDay + + + + UserMovesRetryPattern + + + + + + + + DeserializedXmppGatewaySettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.XmppFederation.XmppGatewaySettings + + + + + + + + Identity + + + + ConnectionLimit + + + + DialbackPassphrase + + + + EnableLoggingAllMessageBodies + + + + KeepAliveInterval + + + + PartnerConnectionLimit + + + + StreamEstablishmentTimeout + + + + StreamInactivityTimeout + + + + SubscriptionRefreshInterval + + + + + + + + DeserializedXmppAllowedPartnerView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.XmppFederation.XmppAllowedPartner + + + + + + + + AdditionalDomains + + + + Domain + + + + ConnectionLimit + + + + Description + + + + EnableKeepAlive + + + + ProxyFqdn + + + + SaslNegotiation + + + + SupportDialbackNegotiation + + + + TlsNegotiation + + + + PartnerType + + + + + + + + DeserializedXmppAllowedPartnerView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.XmppFederation.XmppAllowedPartner#Decorated + + + + + + + + Identity + + + + AdditionalDomains + + + + Domain + + + + ConnectionLimit + + + + Description + + + + EnableKeepAlive + + + + ProxyFqdn + + + + SaslNegotiation + + + + SupportDialbackNegotiation + + + + TlsNegotiation + + + + PartnerType + + + + + + + + DeserializedVoiceRoutingPolicyView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.Hosted.VoiceRoutingPolicy + + + + + + + + Identity + + + + PstnUsages + + + + Description + + + + Name + + + + AllowInternationalCalls + + + + HybridPSTNSiteIndex + + + + + + + + DeserializedAddressBookSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.AddressBook.Hosted.AddressBookSettings + + + + + + + + Identity + + + + RunTimeOfDay + + + + KeepDuration + + + + SynchronizePollingInterval + + + + MaxDeltaFileSizePercentage + + + + UseNormalizationRules + + + + IgnoreGenericRules + + + + EnableFileGeneration + + + + MaxFileShareThreadCount + + + + EnableSearchByDialPad + + + + EnablePhotoSearch + + + + PhotoCacheRefreshInterval + + + + AzureAddressBookPrimaryServiceUrl + + + + AzureAddressBookSecondaryServiceUrl + + + + AzureAddressBookHealthPollingInterval + + + + DisableUserReplicationForAddressBook + + + + + + + + DeserializedCdrSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.CallDetailRecording.Hosted.CdrSettings + + + + + + + + Identity + + + + MessageTypes + + + + EnableCDR + + + + EnableUdcLite + + + + EnablePurging + + + + KeepCallDetailForDays + + + + KeepErrorReportForDays + + + + PurgeHourOfDay + + + + EnableQueueBypassForErrorReport + + + + DataStore + + + + + + + + DeserializedCentralizedLoggingConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.CentralizedLoggingConfig.Hosted.CentralizedLoggingConfiguration + + + + + + + + Identity + + + + Scenarios + + + + SearchTerms + + + + SecurityGroups + + + + Regions + + + + EtlModeEnabled + + + + EtlFileFolder + + + + EtlFileRolloverSizeMB + + + + EtlFileRolloverMinutes + + + + ZipEtlEnabled + + + + LocalSearchMode + + + + EtlNtfsCompressionEnabled + + + + TmfFileSearchPath + + + + CacheFileLocalFolders + + + + CacheFileNetworkFolder + + + + CacheFileLocalRetentionPeriod + + + + CacheFileLocalMaxDiskUsage + + + + ComponentThrottleLimit + + + + ComponentThrottleSample + + + + MinimumClsAgentServiceVersion + + + + NetworkUsagePacketSize + + + + NetworkUsageThreshold + + + + KrakenDBConnectionString + + + + SupportedRolesFromKrakenDB + + + + SupportedNonTopologyRolesFromKrakenDB + + + + Version + + + + InsertTypesForSubstringMatch + + + + ETLMinFreeSpaceInDiskInBytes + + + + ETLEnoughFreeSpaceInDiskInBytes + + + + ETLMaxQuotaInBytes + + + + ETLEnoughQuotaInBytes + + + + EtlMaxRetentionInDays + + + + EtlModeRevision + + + + ETLMinQuotaInBytes + + + + EtlMdsUploadEnabled + + + + EtlMdsUploadProviders + + + + LocalSearchModeRevision + + + + DisableTargetScenarios + + + + CloudOutputEnabled + + + + CloudOutputCpu + + + + CloudOutputUploadLimit + + + + CloudOutputUploadRatio + + + + + + + + DeserializedDialInConferencingConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.DialInConferencingSettings.Hosted.DialInConferencingConfiguration + + + + + + + + Identity + + + + EntryExitAnnouncementsType + + + + BatchToneAnnouncements + + + + EnableNameRecording + + + + EntryExitAnnouncementsEnabledByDefault + + + + UsePinAuth + + + + PinAuthType + + + + EnableInterpoolTransfer + + + + EnableAccessibilityOptions + + + + EnableAnnouncementServiceTransfer + + + + + + + + DeserializedMediaRelaySettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.Edge.Hosted.MediaRelaySettings + + + + + + + + Identity + + + + MaxTokenLifetime + + + + MaxBandwidthPerUserKb + + + + MaxBandwidthPerPortKb + + + + PermissionListIgnoreSeconds + + + + MaxAverageConnPps + + + + MaxPeakConnPps + + + + TRAPUrl + + + + TRAPCallDistribution + + + + TRAPHttpclientRetryCount + + + + TRAPHttpclientTimeoutInMilliSeconds + + + + HideMrasInternalFqdnForClientRequest + + + + + + + + DeserializedMediaSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.Media.Hosted.MediaSettings + + + + + + + + Identity + + + + EnableQoS + + + + EncryptionLevel + + + + EnableSiren + + + + MaxVideoRateAllowed + + + + EnableG722StereoCodec + + + + EnableSirenForAudioVideoConferences + + + + EnableH264Codec + + + + EnableH264StdCodec + + + + EnableAdaptiveBandWidthEstimation + + + + EnableG722Codec + + + + EnableInCallQoS + + + + InCallQoSIntervalSeconds + + + + MediaPaaSBaseUrl + + + + MediaPaaSAuthenticationScheme + + + + MediaPaaSAppId + + + + MediaPaaSAudience + + + + ; + + + + EnableRtpRtcpMultiplexing + + + + EnableVideoBasedSharing + + + + WaitIceCompletedToAddDialOutUser + + + + EnableDtls + + + + EnableRtx + + + + EnableSilkForAudioVideoConferences + + + + EnableMTurnAllocationForAudioVideoConferences + + + + EnableAVBundling + + + + EnableServerFecForVideoInterop + + + + EnableReceiveAgc + + + + EnableDelayStartAudioReceiveStream + + + + + + + + DeserializedPlatformServiceSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.PlatformServiceSettings.Hosted.PlatformServiceSettings + + + + + + + + Identity + + + + UcwaThrottlingConfigurations + + + + EnableScopes + + + + EnableCORS + + + + EnableApplicationRoles + + + + WebPoolFqdnDomainSuffix + + + + EnableAnonymousMeetingJoin + + + + EnableAnonymousMeetingJoinTokensAcrossTenants + + + + MeetingUrlAuthorizationList + + + + ServicePointManagerDefaultConnectionLimit + + + + MaxRegistrationsPerPublicApplication + + + + MaxEventChannelsPerApplication + + + + EnableUcwaThrottling + + + + EnableUcwaMessageFailureNotifications + + + + UcwaThrottlingThresholdPercentageForInternal + + + + UcwaThrottlingThresholdPercentageForPublic + + + + ApplicationProviderMode + + + + ApplicationProviderRefreshTimeSpanInMinutes + + + + EnableDelegateManagement + + + + EnableExternalAccessCheck + + + + ReplayApplicationEndpointUri + + + + EnableReplayMessage + + + + EnableMyOrganizationGroup + + + + EnableUcwaThrottlingToExchange + + + + HideRequireIntunePolicy + + + + MaxConcurrentUcwaRequestsToExchange + + + + BlockUnauthenticatedDiscover + + + + BlockUnlicensedTenantInFirstPartyDiscover + + + + ReplaceNamespaceHosts + + + + AlternateTokenNamespace + + + + EnablePushNotifications + + + + UseLegacyPushNotifications + + + + ConferenceChatInactivityTimeoutInHours + + + + EnableE911 + + + + EnableFileTransfer + + + + AllowCallsFromNonContactsInPrivatePrivacyMode + + + + BvdPortalWhitelistedApp + + + + BlacklistedApps + + + + TestParameters + + + + AutodiscoverBaseUrl + + + + ClusterFqdnForAutodiscover + + + + EWSTimeoutInSeconds + + + + EnablePreDrainingForIncomingCalls + + + + EnableMdsLogging + + + + EnableBotframeworkChannel + + + + BlockCrossTenantChannelForBotframework + + + + BotframeworkReportingServiceBusConnectionString + + + + GenevaTelemetryAccountName + + + + GenevaTelemetryAccountNamespace + + + + BotframeworkManagementServiceBusConnectionString + + + + EnableSendServerLogs + + + + EnableE911RequestXmlEncoding + + + + SendServerLogsServiceUrl + + + + TrouterCallbackBaseUrl + + + + EnableUcwaEscalateIncomingAvCallOnWebRtc + + + + EnableUcwaMdsLogging + + + + ContactCardUpdateAfterSignInMs + + + + ContactCardUpdateCheckInSeconds + + + + + + + + DeserializedThrottlingConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.PlatformServiceSettings.ThrottlingConfiguration + + + + + + + + Name + + + + ThrottlingTargetType + + + + ThrottlingMode + + + + ThrottlingScope + + + + TimeRangeInMinutes + + + + TargetNumber + + + + ExcludedApiNames + + + + IncludedApiNames + + + + OverrideThresholdPercentageForPublic + + + + SkipInBatchRequest + + + + + + + + DeserializedQoESettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.QoE.Hosted.QoESettings + + + + + + + + Identity + + + + ExternalConsumerIssuedCertId + + + + EnablePurging + + + + KeepQoEDataForDays + + + + PurgeHourOfDay + + + + EnableExternalConsumer + + + + ExternalConsumerName + + + + ExternalConsumerURL + + + + EnableQoE + + + + EnableQueueBypass + + + + DataStore + + + + + + + + DeserializedRecordingServiceConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.RecordingService.Hosted.RecordingServiceConfiguration + + + + + + + + Identity + + + + RecordingServiceAuthenticationScheme + + + + RecordingServiceBaseUrl + + + + RecordingServiceAppId + + + + RecordingServiceAudience + + + + + + + + DeserializedOAuthSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.SSAuth.Hosted.OAuthSettings + + + + + + + + Identity + + + + PartnerApplications + + + + OAuthServers + + + + Realm + + + + ServiceName + + + + ClientAuthorizationOAuthServerIdentity + + + + ExchangeAutodiscoverUrl + + + + ExchangeAutodiscoverAllowedDomains + + + + ClientAdalAuthOverride + + + + AlternateAudienceUrl + + + + AdditionalAudienceUrls + + + + + + + + DeserializedSignInTelemetryConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.SignInTelemetry.Hosted.SignInTelemetryConfiguration + + + + + + + + Identity + + + + EnableClientTelemetry + + + + SignInTelemetryUrl + + + + SkypeTelemetryUrl + + + + + + + + DeserializedSimpleUrlConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.SimpleUrl.Hosted.SimpleUrlConfiguration + + + + + + + + Identity + + + + SimpleUrl + + + + UseBackendDatabase + + + + WebSchedulerUrl + + + + + + + + DeserializedSimpleUrlView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.SimpleUrl.Hosted.SimpleUrl + + + + + + + + SimpleUrlEntry + + + + Component + + + + Domain + + + + ActiveUrl + + + + MoreaDomain + + + + LegacyMoreaDomain + + + + + + + + DeserializedStorageServiceSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.StorageService.Hosted.StorageServiceSettings + + + + + + + + Identity + + + + EnableAutoImportFlushedData + + + + EnableFabricReplicationSetReduction + + + + EnableAsyncAdaptorTaskAbort + + + + FabricInvalidStateTimeoutDuration + + + + SingleSecondaryMissingTimeoutDuration + + + + SingleSecondaryQuorumEventLogInterval + + + + EnableLightweightFinalization + + + + EnableGenevaLogging + + + + EnableEwsTaskTimeout + + + + FilteredAdapterIdList + + + + EnableAttachmentCache + + + + AttachmentCacheTimeout + + + + MaxTotalMemoryForActiveFileUploadsInGB + + + + MemoryToFileSizeRatioForExArchUpload + + + + EnableAggressiveGC + + + + EnableWCFSelfHeal + + + + + + + + DeserializedTrunkConfigurationView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TrunkConfiguration.Hosted.TrunkConfiguration + + + + + + + + Identity + + + + OutboundTranslationRulesList + + + + SipResponseCodeTranslationRulesList + + + + OutboundCallingNumberTranslationRulesList + + + + PstnUsages + + + + Description + + + + ConcentratedTopology + + + + EnableBypass + + + + EnableMobileTrunkSupport + + + + EnableReferSupport + + + + EnableSessionTimer + + + + EnableSignalBoost + + + + MaxEarlyDialogs + + + + RemovePlusFromUri + + + + RTCPActiveCalls + + + + RTCPCallsOnHold + + + + SRTPMode + + + + EnablePIDFLOSupport + + + + EnableRTPLatching + + + + EnableOnlineVoice + + + + ForwardCallHistory + + + + Enable3pccRefer + + + + ForwardPAI + + + + EnableFastFailoverTimer + + + + EnablePassThrough + + + + IndicatePstnGateway + + + + EnableG722Codec + + + + EnableLocationRestriction + + + + NetworkSiteID + + + + EnableEntitlementChecks + + + + WildcardCertDomainSuffix + + + + EnableOptionsAlerting + + + + EnableImmediateRinging + + + + ProvisionalResponseInterval + + + + OfferIncomingCallGatewaySDP + + + + Suppress183WithoutSdpToGateway + + + + + + + + DeserializedWebServiceSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.Web.Hosted.WebServiceSettings + + + + + + + + Identity + + + + TrustedCACerts + + + + CrossDomainAuthorizationList + + + + MaxGroupSizeToExpand + + + + EnableGroupExpansion + + + + UseLocalWebClient + + + + UseWindowsAuth + + + + UseCertificateAuth + + + + UsePinAuth + + + + UseDomainAuthInLWA + + + + EnableMediaBasicAuth + + + + AllowAnonymousAccessToLWAConference + + + + EnableCertChainDownload + + + + InferCertChainFromSSL + + + + CASigningKeyLength + + + + MaxCSRKeySize + + + + MinCSRKeySize + + + + MaxValidityPeriodHours + + + + MinValidityPeriodHours + + + + DefaultValidityPeriodHours + + + + MACResolverUrl + + + + SecondaryLocationSourceUrl + + + + ShowJoinUsingLegacyClientLink + + + + MakeHtmlLyncWebAppPrimaryMeetingClient + + + + ShowDownloadCommunicatorAttendeeLink + + + + AutoLaunchLyncWebAccess + + + + ShowAlternateJoinOptionsExpanded + + + + IsPublicDisclosureAllowed + + + + JoinIdentifierRegularExpression + + + + UseWsFedPassiveAuth + + + + WsFedPassiveMetadataUri + + + + AllowExternalAuthentication + + + + ExcludedUserAgents + + + + OverrideAuthTypeForInternalClients + + + + OverrideAuthTypeForExternalClients + + + + MobilePreferredAuthType + + + + EnableStatisticsInResponse + + + + HstsMaxAgeInSeconds + + + + HelpUrlLyncWebAccess + + + + PrivacyUrlLyncWebAccess + + + + EnableCosmosUploadOnEdge + + + + EnableCosmosUploadForWebComponents + + + + PrivacyUrlLyncWebScheduler + + + + XFrameJavascriptUri + + + + PlatformServiceTokenIssuerCertificateMetadataUri + + + + AzureActiveDirectoryGraphApiBaseUri + + + + EnableAzureActiveDirectoryLookup + + + + AadServicePrincipalListForTenantDomainLookup + + + + EnableCORS + + + + CorsPreflightResponseMaxAgeInSeconds + + + + AllowCrossForestWebRequestProxy + + + + TestFeatureList + + + + TestParameterList + + + + CrossDomainAuthorizationRegularExpressionList + + + + DisableClientCertificateStorage + + + + + + + + DeserializedOriginView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.Web.Hosted.Origin + + + + + + + + Url + + + + OriginVerificationMethod + + + + + + + + DeserializedConfSettingsView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.WebConf.Hosted.ConfSettings + + + + + + + + Identity + + + + MaxContentStorageMb + + + + MaxUploadFileSizeMb + + + + MaxBandwidthPerAppSharingServiceMb + + + + ContentGracePeriod + + + + ClientMediaPortRangeEnabled + + + + ClientMediaPort + + + + ClientMediaPortRange + + + + ClientAudioPort + + + + ClientAudioPortRange + + + + ClientVideoPort + + + + ClientVideoPortRange + + + + ClientAppSharingPort + + + + ClientAppSharingPortRange + + + + ClientFileTransferPort + + + + ClientFileTransferPortRange + + + + ClientSipDynamicPort + + + + ClientSipDynamicPortRange + + + + Organization + + + + HelpdeskInternalUrl + + + + HelpdeskExternalUrl + + + + ConsoleDownloadInternalUrl + + + + ConsoleDownloadExternalUrl + + + + CloudPollServicePrimaryUrl + + + + CloudPollServiceSecondaryUrl + + + + DataRvCollectorUrl + + + + SupportLyncServer2010RtmDataMcuUserDirectories + + + + AriaTenantToken + + + + UseConnectedConnections + + + + EnableLwaRecording + + + + PsomEventReportLevel + + + + PurgingMode + + + + AlwaysUseExternalUrls + + + + UseStorageService + + + + UseTenantLevelMeetingSettings + + + + UseJitLocking + + + + JitLockingRetryIntervalSeconds + + + + JitLockingMaxRetryCount + + + + EncryptArchivedData + + + + CreateBackCompatUnencryptedFiles + + + + + + + + ServiceCmdlets + + Microsoft.Rtc.Management.Deployment.Core.NTService + + + + + + 8 + + + + 15 + + + + 120 + + + + + + + ServiceStatus + + + ServiceName + + + ActivityLevel + + + + + + + + NTServiceView + + Microsoft.Rtc.Management.Deployment.Core.NTServiceView + + + + + + 8 + + + + 15 + + + + 120 + + + + + + + Status + + + Name + + + ActivityLevel + + + + + + + + AbAttributeValues + + Microsoft.Rtc.SyntheticTransactions.Activities.Database.AbAttributeValue + + + + + + 30 + + + + 70 + + + + + + + Name + + + Value + + + + + + + + AbServerHeartbeats + + Microsoft.Rtc.SyntheticTransactions.Activities.Database.AbServerHeartbeat + + + + + + 30 + + + + 22 + + + + 22 + + + + 22 + + + + + + + Fqdn + + + LastHeartbeat + + + LastRegister + + + LastUnregister + + + + + + + + ManagementConnectionView + + Microsoft.Rtc.Management.Xds.ManagementConnection + + + + + + + + StoreProvider + + + + Connection + + + + ReadOnly + + + + SqlServer + + + + SqlInstance + + + + + + + + ServiceTypeView + + Microsoft.Rtc.Management.Fabric.ServiceTypeData + + + + + + 20 + + + + 100 + + + + + + + ServiceType + + + ServiceTable + + + + + + + + ReplicaStateView + + Microsoft.Rtc.Management.Xds.ReplicaState + + + + + + + + UpToDate + + + + ReplicaFqdn + + + + LastStatusReport + + + + LastUpdateCreation + + + + ProductVersion + + + + + + + + DisplayAccessEdgeSettingsDefaultRouteView + + Microsoft.Rtc.Management.WritableConfig.Settings.Edge.DisplayAccessEdgeSettingsDefaultRoute + + + + + + + + Identity + + + + AllowAnonymousUsers + + + + AllowFederatedUsers + + + + AllowOutsideUsers + + + + DefaultRouteFqdn + + + + EnableArchivingDisclaimer + + + + EnableUserReplicator + + + + IsPublicProvider + + + + KeepCrlsUpToDateForPeers + + + + MarkSourceVerifiableOnOutgoingMessages + + + + OutgoingTlsCountForFederatedPartners + + + + DnsSrvCacheRecordCount + + + + DiscoveredPartnerStandardRate + + + + EnableDiscoveredPartnerContactsLimit + + + + MaxContactsPerDiscoveredPartner + + + + EnableDiscoveredPartnerResponseMonitor + + + + DiscoveredPartnerReportPeriodMinutes + + + + EnablePartnerMonitoringCosmosOutput + + + + EnablePartnerMonitoringIfxLog + + + + MaxAcceptedCertificatesStored + + + + MaxRejectedCertificatesStored + + + + CertificatesDeletedPercentage + + + + SkypeSearchUrl + + + + RoutingMethod + + + + VerificationLevel + + + + + + + + DisplayAccessEdgeSettingsDnsSrvRoutingView + + Microsoft.Rtc.Management.WritableConfig.Settings.Edge.DisplayAccessEdgeSettingsDnsSrvRouting + + + + + + + + Identity + + + + AllowAnonymousUsers + + + + AllowFederatedUsers + + + + AllowOutsideUsers + + + + BeClearingHouse + + + + EnablePartnerDiscovery + + + + DiscoveredPartnerVerificationLevel + + + + EnableArchivingDisclaimer + + + + EnableUserReplicator + + + + KeepCrlsUpToDateForPeers + + + + MarkSourceVerifiableOnOutgoingMessages + + + + OutgoingTlsCountForFederatedPartners + + + + DnsSrvCacheRecordCount + + + + DiscoveredPartnerStandardRate + + + + EnableDiscoveredPartnerContactsLimit + + + + MaxContactsPerDiscoveredPartner + + + + EnableDiscoveredPartnerResponseMonitor + + + + DiscoveredPartnerReportPeriodMinutes + + + + EnablePartnerMonitoringCosmosOutput + + + + EnablePartnerMonitoringIfxLog + + + + MaxAcceptedCertificatesStored + + + + MaxRejectedCertificatesStored + + + + CertificatesDeletedPercentage + + + + SkypeSearchUrl + + + + RoutingMethod + + + + + + + + RoleView + + Microsoft.Rtc.Management.Authorization.OnPremDisplayRole + + + + + + + + Identity + + + + SID + + + + IsStandardRole + + + + Cmdlets + + + + ScriptModules + + + + ConfigScopes + + + + UserScopes + + + + TemplateName + + + + + + + + RoleView + + Microsoft.Rtc.Management.WritableConfig.Settings.Roles.Role + + + + + + + + Identity + + + + SID + + + + IsStandardRole + + + + Cmdlets + + + + ScriptModules + + + + ConfigScopes + + + + UserScopes + + + + TemplateName + + + + MSODSTemplateId + + + + + + + + CmdletTypeView + + Deserialized.Microsoft.Rtc.Management.Authorization.OnPremDisplayCmdletType + + + + + + + + Name + + + + + + + + CmdletTypeView + + Microsoft.Rtc.Management.Authorization.OnPremDisplayCmdletType + + + + + + + + Name + + + + + + + + CmdletTypeView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.Roles.CmdletType + + + + + + + + Name + + + + AllowedParameters + + + + + + + + CmdletTypeView + + Microsoft.Rtc.Management.WritableConfig.Settings.Roles.CmdletType + + + + + + + + Name + + + + AllowedParameters + + + + + + + + ScriptCmdletTypeView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.Roles.ScriptCmdletType + + + + + + + + ScriptFile + + + + FunctionName + + + + + + + + ConfigScopeView + + Microsoft.Rtc.Management.Core.ConfigScope + + + + + + + + Scope + + + + Value + + + + + + + + UserScopeView + + Microsoft.Rtc.Management.Core.UserScope + + + + + + + + Scope + + + + Value + + + + + + + + DisplayPublicProviderView + + Microsoft.Rtc.Management.WritableConfig.Settings.Edge.DisplayPublicProvider + + + + + + + + Identity + + + + Name + + + + ProxyFqdn + + + + IconUrl + + + + NameDecorationDomain + + + + NameDecorationRoutingDomain + + + + NameDecorationExcludedDomainList + + + + VerificationLevel + + + + Enabled + + + + EnableSkypeIdRouting + + + + EnableSkypeDirectorySearch + + + + + + + + DisplayHostingProviderView + + Microsoft.Rtc.Management.WritableConfig.Settings.Edge.DisplayHostingProvider + + + + + + + + Identity + + + + Name + + + + ProxyFqdn + + + + VerificationLevel + + + + Enabled + + + + EnabledSharedAddressSpace + + + + HostsOCSUsers + + + + IsLocal + + + + AutodiscoverUrl + + + + + + + + CertificateReferenceView + + Microsoft.Rtc.Management.Deployment.CertificateReference + + + + + + + + Issuer + + + + NotAfter + + + + NotBefore + + + + SerialNumber + + + + Subject + + + + AlternativeNames + + + + Thumbprint + + + + EffectiveDate + + + + PreviousThumbprint + + + + UpdateTime + + + + Use + + + + SourceScope + + + + + + + + DisplaySiteView + + Microsoft.Rtc.Management.Xds.DisplaySite + + + + + + + + Identity + + + + SiteId + + + + Services + + + + Pools + + + + FederationRoute + + + + XmppFederationRoute + + + + Description + + + + DisplayName + + + + SiteType + + + + ParentSite + + + + + + + + DisplayPoolView + + Microsoft.Rtc.Management.Xds.DisplayPool#Decorated + + + + + + + + Identity + + + + Services + + + + Computers + + + + Fqdn + + + + BackupPoolFqdn + + + + Site + + + + + + + + DisplayComputerView + + Microsoft.Rtc.Management.Xds.DisplayComputer#Decorated + + + + + + + + Identity + + + + Pool + + + + Fqdn + + + + + + + + DisplayTeamsUpgradePolicy + + Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsUpgradePolicy#Decorated + + + + + + + + Identity + + + + Description + + + + Mode + + + + NotifySfbUsers + + + + + + + + DisplayDeserializedTeamsUpgradePolicy + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsUpgradePolicy#Decorated + + + + + + + + Identity + + + + Description + + + + Mode + + + + NotifySfbUsers + + + + + + + + MirrorUserStoreStateView + + Microsoft.Rtc.Management.Xds.MirrorUserStoreState + + + + + + + + Identity + + + + Mirror + + + + Online + + + + + + + + UserStoreStateView + + Microsoft.Rtc.Management.Xds.UserStoreState + + + + + + + + Identity + + + + Online + + + + + + + + SyntheticTransactionsTaskOutputView + + Microsoft.Rtc.SyntheticTransactions.TaskOutput + + + + + + + + TargetFqdn + + + + Result + + + + Latency + + + + Error + + + + Diagnosis + + + + + + + + SyntheticTransactionsWebTaskOutputView + + Microsoft.Rtc.SyntheticTransactions.WebTaskOutput + + + + + + + + TargetFqdn + + + + TargetUri + + + + Result + + + + Latency + + + + Error + + + + Diagnosis + + + + + + + + SyntheticTransactionsAddressBookReplicationUserTaskOutputView + + Microsoft.Rtc.SyntheticTransactions.Activities.Database.AddressBookReplicationUserTaskOutput + + + + + + + + TargetFqdn + + + + ReplicationState + + + + TaskOwnerFqdn + + + + BackupFqdn + + + + LastModified + + + + LastModifiedAD + + + + ServerHeartbeats + + + + IndexedObjects + + + + TotalObjects + + + + ShouldBeIndexedObjects + + + + AbandondedObjects + + + + FailedResourceCount + + + + AdObjectId + + + + DistinguishedName + + + + SipAddress + + + + AttributeValues + + + + IsIndexed + + + + ShouldBeIndexed + + + + IsProcessed + + + + NormalizationSucceeded + + + + ManagerDn + + + + NormalizationFailureCount + + + + NormalizationFailures + + + + DatabaseErrorCount + + + + DatabaseErrors + + + + + + + + SyntheticTransactionsAddressBookReplicationTaskOutputView + + Microsoft.Rtc.SyntheticTransactions.Activities.Database.AddressBookReplicationTaskOutput + + + + + + + + TargetFqdn + + + + ReplicationState + + + + TaskOwnerFqdn + + + + BackupFqdn + + + + ServerHeartbeats + + + + IndexedObjects + + + + TotalObjects + + + + ShouldBeIndexedObjects + + + + AbandondedObjects + + + + FailedResourceCount + + + + NormalizationFailureCount + + + + NormalizationFailures + + + + DatabaseErrorCount + + + + DatabaseErrors + + + + + + + + SyntheticTransactionsSprocExecuteErrorView + + Microsoft.Rtc.SyntheticTransactions.Activities.Database.SprocExecuteErrorInfo + + + + + + + + ErrorCode + + + + Severity + + + + Count + + + + FirstOccurred + + + + LastOccurred + + + + SprocName + + + + ErrorText + + + + Example + + + + + + + + FedSyntheticTransactionsTaskOutputView + + Microsoft.Rtc.SyntheticTransactions.Extended.FedTaskOutput + + + + + + + + Endpoints + + + + Result + + + + Latency + + + + Error + + + + Diagnosis + + + + + + + + LegalInterceptView + + Microsoft.Rtc.Management.ADConnect.Schema.ADOCOnlineLegalIntercept + + + + + + + + Identity + + + + SipAddress + + + + LegalInterceptEnabled + + + + LegalInterceptDestination + + + + LegalInterceptExpiryTime + + + + + + + + ClientAccessLicenseView + + Microsoft.Rtc.Server.Cdr.ClientAccessLicense + + + + + + 48 + + + + + + + + + + + + + + + + UserUri + + + IpAddress + + + LicenseDisplayName + + + DisplayDate + + + + + + + + LicenseView + + Microsoft.Rtc.Server.Cdr.License + + + + + + + + + + + + DisplayName + + + + + + + + PoolUpgradeReadinessView + + Microsoft.Rtc.Management.Hadr.PoolUpgradeState + + + + + + + + PoolFqdn + + + State + + + TotalFrontends + + + TotalActiveFrontends + + + UpgradeDomains + + + + + + + + InterPoolReplicationComparisonResultFailedView + + Microsoft.Rtc.Management.Hadr.InterPoolReplication.ComparisonResultFailure + + + + + + + Identity + + + OwnerPoolFqdn + + + ReplicateFrom + + + ReplicateTo + + + Exception + + + + + + + + DatabaseComparisonResultView + + Microsoft.Rtc.Management.Hadr.InterPoolReplication.DatabaseComparisonResult + + + + + + + Identity + + + OwnerPoolFqdn + + + ReplicateFrom + + + ReplicateTo + + + NumberOfBatchesOnSource + + + NumberOfBatchesOnBackup + + + NumberOfBatchesInSync + + + NumberOfBatchesWithSyncInProgress + + + NumberOfBatchesOutOfSync + + + NumberOfItemsOnSource + + + NumberOfItemsOnBackup + + + NumberOfItemsInSync + + + NumberOfItemsWithSyncInProgress + + + NumberOfItemsOutOfSync + + + + ; + + + + ; + + + + + + + + UserFabricStateView + + Microsoft.Rtc.Management.HADR.FabricState.DisplayUserFabricState + + + + + + + SipAddress + + + TenantId + + + RoutingGroupId + + + HomePool + + + CurrentPool + + + Replicas + + + FabricServiceWriteStatus + + + + + + + + TenantFabricStateView + + Microsoft.Rtc.Management.HADR.FabricState.DisplayTenantFabricState + + + + + + + TenantId + + + TotalUsers + + + ActiveUsers + + + ActiveEndpoints + + + + ; + + + + + + + + RoutingGroupFabricStateView + + Microsoft.Rtc.Management.HADR.FabricState.DisplayRoutingGroupFabricState + + + + + + + RoutingGroupId + + + TotalUsers + + + ActiveUsers + + + ActiveEndpoints + + + HomePool + + + CurrentPool + + + Replicas + + + FabricServiceWriteStatus + + + + + + + + RoutingGroupFabricStateWithTenantsView + + Microsoft.Rtc.Management.HADR.FabricState.DisplayRoutingGroupFabricStateWithTenants + + + + + + + RoutingGroupId + + + TotalUsers + + + ActiveUsers + + + ActiveEndpoints + + + HomePool + + + CurrentPool + + + Replicas + + + FabricServiceWriteStatus + + + + ; + + + + ; + + + + + + + + ResponseElementView + + Microsoft.Rtc.ClsControllerLib.ResponseElement + + + + + + 8 + + + + 70 + + + + 30 + + + + + + + Code + + + Message + + + Data + + + + + + + + ClsStateMachineView + + Microsoft.Rtc.ClsControllerLib.ClsStateMachine + + + PoolFqdn + + + + + + 28 + Left + + + + 30 + Left + + + + 8 + Left + + + + 16 + Left + + + + 9 + Left + + + + 14 + Left + + + + + + + + MachineFqdn + + + ResponseMessage + + + AlwaysOn + + + ScenarioName + + + RemainingMins + + + ProductVersion + + + + + + + + ClsSearchOutputView + + Microsoft.Rtc.Management.Cls.ClsSearchOutput + + + + + + + ResponseMessage + + + OutputFile + + + StartTime + + + EndTime + + + SuccessfulAgents + + + FailedAgents + + + + + + + + ClsAgentStatusOutputView + + Microsoft.Rtc.Management.Cls.AgentInfoETL + + + + + + + CoreVersion + + + ClsAgentExeVersion + + + ServiceStatus + + + TracingFolder + + + ServiceStartStop + + + AgentState + + + LogPath + + + OldestFile + + + NewestFile + + + DaysOfLogs + + + LogFileCount + + + LogAge + + + LogDateRanges + + + + ; + + + + ; + + + ByDayLogMB + + + ByHourLogMB + + + Last24HourLogMB + + + Last1HourLogMB + + + Drives + + + EtlModeRevision + + + + ; + + + ZipEtlEnabled + + + EtlNtfsCompressionEnabled + + + EtlMaxRetentionInDays + + + + ; + + + + ; + + + + ; + + + + ; + + + + ; + + + TmxFiles + + + TmxCount + + + LogFiles + + + + + + + + SlaConfiguration + + Microsoft.Rtc.Management.SlaConfiguration + + + + + + + + BusyOption + + + + Target + + + + MissedCallOption + + + + MissedCallForwardTarget + + + + MaxNumberOfCalls + + + + ; + + + + + + + + BobConfiguration + + Microsoft.Rtc.Management.Bob.Cmdlets.BobConfiguration + + + + + + + Identity + + + ActionType + + + + + + + + ReplicaBuildProgressView + + Microsoft.Rtc.Management.HADR.FabricState.DisplayReplicaBuildProgress + + + + + + + AsOfTime + + + StartSequenceNum + + + EndSequenceNum + + + CurrentSequenceNum + + + BuildState + + + + + + + + DeserializedTrunkConfigView + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.AzurePSTNTrunkConfiguration.TrunkConfig#Decorated2 + + + + + + + + Identity + + + + InboundTeamsNumberTranslationRules + + + + InboundPstnNumberTranslationRules + + + + OutboundTeamsNumberTranslationRules + + + + OutboundPstnNumberTranslationRules + + + + Fqdn + + + + SipSignalingPort + + + + FailoverTimeSeconds + + + + ForwardCallHistory + + + + ForwardPai + + + + SendSipOptions + + + + MaxConcurrentSessions + + + + Enabled + + + + MediaBypass + + + + GatewaySiteId + + + + GatewaySiteLbrEnabled + + + + GatewayLbrEnabledUserOverride + + + + FailoverResponseCodes + + + + PidfLoSupported + + + + MediaRelayRoutingLocationOverride + + + + ProxySbc + + + + BypassMode + + + + Description + + + + + + + + TrunkConfigView + + Microsoft.Rtc.Management.WritableConfig.Settings.AzurePSTNTrunkConfiguration.TrunkConfig#Decorated2 + + + + + + + + Identity + + + + InboundTeamsNumberTranslationRules + + + + InboundPstnNumberTranslationRules + + + + OutboundTeamsNumberTranslationRules + + + + OutboundPstnNumberTranslationRules + + + + Fqdn + + + + SipSignalingPort + + + + FailoverTimeSeconds + + + + ForwardCallHistory + + + + ForwardPai + + + + SendSipOptions + + + + MaxConcurrentSessions + + + + Enabled + + + + MediaBypass + + + + GatewaySiteId + + + + GatewaySiteLbrEnabled + + + + GatewayLbrEnabledUserOverride + + + + FailoverResponseCodes + + + + PidfLoSupported + + + + MediaRelayRoutingLocationOverride + + + + ProxySbc + + + + BypassMode + + + + Description + + + + + + + + DisplayHostingProviderBaseView + + Microsoft.Rtc.Management.WritableConfig.Settings.Edge.Hosted.DisplayHostingProvider + + + + + + + + Identity + + + + Name + + + + ProxyFqdn + + + + VerificationLevel + + + + Enabled + + + + EnabledSharedAddressSpace + + + + HostsOCSUsers + + + + IsLocal + + + + AutodiscoverUrl + + + + + + + + DisplayHostingProviderExtendedView + + Microsoft.Rtc.Management.WritableConfig.Settings.Edge.Hosted.DisplayHostingProviderExtended + + + + + + + + Identity + + + + Name + + + + ProxyFqdn + + + + VerificationLevel + + + + Enabled + + + + EnabledSharedAddressSpace + + + + HostsOCSUsers + + + + IsLocal + + + + AutodiscoverUrl + + + + IsTenantVisible + + + + + + + + ClsTest + + Microsoft.Rtc.Management.Hosted.Cls.TestOutput + + + + + + + + TestName + + + + Value + + + + Result + + + + Passed + + + + + + + + ClsCacheFileInfo + + Microsoft.Rtc.Management.Hosted.Cls.ClsCacheFileInfo + + + + + + 35 + + + + 24 + + + + + + + + + + File + + + LastWriteTimeUtc + + + Length + + + + + + + + MachineProcess + + Microsoft.Rtc.Management.Hosted.Common.MachineProcess + + + + + + 35 + + + + 10 + + + + 18 + + + + 12 + + + + 12 + + + + 25 + + + + 85 + + + + + + + Name + + + ProcessId + + + WorkingSetSizeMB + + + Threads + + + Handles + + + ; + + + CommandLine + + + + + + + + MachineService + + Microsoft.Rtc.Management.Hosted.Common.MachineService + + + + + + 8 + + + + 30 + + + + 50 + + + + + + + Status + + + Name + + + DisplayName + + + + + + + + QFE + + Microsoft.Rtc.Management.Hosted.Common.QFE + + + + + + 12 + + + + 22 + + + + 27 + + + + 28 + + + + + + + HotFixId + + + Description + + + InstalledBy + + + InstalledOn + + + + + + + + Summary + + Microsoft.Rtc.Management.Hosted.MeetingMigration.Types.Summary + + + + + + 12 + + + + 22 + + + + + + + State + + + UserCount + + + + + + + + HDInfo + + Microsoft.Rtc.Management.Hosted.Common.HDInfo + + + + + + 15 + + + + 15 + + + + 15 + + + + 15 + + + + + + + Id + + + FreeMB + + + SizeMB + + + ; + + + + + + + + MachineStatus + + Microsoft.Rtc.Management.Hosted.Common.MachineStatus + + + + + + + + ComputerName + + + + ProductVersion + + + + BuildBranch + + + + OSVersion + + + + MSSQLVersion + + + + Uptime + + + + ; + + + + ProcessorUsage + + + + ; + + + + ; + + + + ; + + + + ; + + + + ; + + + + ; + + + + + + + + MaintenanceModeMachines + + Microsoft.Rtc.Management.Hosted.Cls.MaintenanceModeMachineInfo + + + + + + 35 + + + + 20 + + + + 30 + + + + 30 + + + + 30 + + + + + + + DisplayName + + + InMaintenanceMode + + + StartTime + + + User + + + Reason + + + + + + + + SyntheticTransactionsDebugPresenceTaskOutputView + + Microsoft.Rtc.SyntheticTransactions.Activities.Database.UserPresenceStateTaskOutput + + + + + + + + PublisherFrontEnds + + + + SubscriberFrontEnds + + + + PublisherFeFqdn + + + + PublisherPoolFqdn + + + + SubscriberFeFqdn + + + + SubscriberPoolFqdn + + + + SubscribeContainerInfo + + + + ; + + + + ; + + + + ; + + + + Discrepancies + + + + + + + + PublisherContainerInfo + + Microsoft.Rtc.SyntheticTransactions.Activities.Database.PublisherContainerInfo + + + + + + 25 + + + + 10 + + + + 10 + + + + 27 + + + + 25 + + + + + + + CategoryName + + + ContainerNum + + + Version + + + LastPubTime + + + OriginatedFrontEnd + + + + + + + + SubscribeContainerInfo + + Microsoft.Rtc.SyntheticTransactions.Activities.Database.SubscribeContainerInfo + + + + + + 10 + + + + 15 + + + + 10 + + + + 10 + + + + 25 + + + + + + + ContainerNum + + + HowMatched + + + Rank1 + + + Rank2 + + + OriginatedFrontEnd + + + + + + + + ConferencingBridge + + Microsoft.Rtc.Management.Hosted.Cbd.ConferencingBridge + + + + + + + Identity + + + Name + + + Region + + + + DisplayDefaultServiceNumber + + + IsDefault + + + + DisplayServiceNumbers + + + TenantId + + + + + + + + ConferencingTenant + + Microsoft.Rtc.Management.Hosted.Cbd.ConferencingTenant + + + + + + + TenantId + + + + DisplayDefaultBridge + + + + DisplayBridges + + + AnnoucementsEnabled + + + NameRecordingEnabled + + + + + + + + ConferencingUserState + + Microsoft.Rtc.Management.Hosted.Cbd.ConferencingUserState + + + + + + + Identity + + + SipAddress + + + DisplayName + + + PstnConferencingLicenseState + + + Provider + + + Domain + + + TollNumber + + + TollFreeNumbers + + + ConferenceId + + + Url + + + + + + + + OnlineDialinConferencingServiceConfiguration + + Microsoft.Rtc.Management.WritableConfig.Settings.OnlineDialInConferencing.OnlineDialinConferencingServiceConfiguration + + + + + + + AnonymousCallerGracePeriod + + + AnonymousCallerMeetingRuntime + + + AuthenticatedCallerMeetingRuntime + + + AvailableCountries + + + + + + + + LocalSubscribeInfo + + Microsoft.Rtc.SyntheticTransactions.Activities.Database.LocalSubscribeInfo + + + + + + 10 + + + + 10 + + + + 15 + + + + 27 + + + + 25 + + + + + + + DeliveryId + + + ContainerNum + + + CategoryName + + + LastChanged + + + OriginatedFrontEnd + + + + + + + + OnlineDialinNumberMap + + Microsoft.Rtc.Management.WritableConfig.Settings.OnlineDialInConferencing.OnlineDialInConferencingNumberMap + + + + + + + Identity + + + Geocodes + + + + + + + + OnlineDialInConferencingMarketProfile + + Microsoft.Rtc.Management.WritableConfig.Settings.OnlineDialInConferencing.OnlineDialInConferencingMarketProfile + + + + + + + Identity + + + Code + + + NumberMaps + + + + + + + + DisplayGraphApiConfigurationView + + Microsoft.Rtc.Management.WritableConfig.Settings.GraphApiConfiguration.DisplayGraphApiConfiguration + + + + + + + Identity + + + LoginUri + + + GraphUri + + + ClientId + + + GraphLookupEnabled + + + GraphReadWriteEnabled + + + AdminAuthGraphEnabled + + + TenantRemotePowershellClientId + + + + + + + + PersonName + + Microsoft.Rtc.Management.Hosted.Online.Models.PersonName + + + + + + + FirstName + + + MiddleName + + + LastName + + + DisplayName + + + + + + + + StatusRecord + + Microsoft.Rtc.Management.Hosted.Online.Models.StatusRecord + + + + + + + Type + + + Status + + + Id + + + StatusCode + + + Message + + + StatusTimestamp + + + + + + + + ApplicationInstanceSummary + + Microsoft.Rtc.Management.Hosted.Online.Models.ApplicationInstanceSummary + + + + + + + Id + + + TenantId + + + UserPrincipalName + + + ApplicationId + + + ConfigurationType + + + DisplayName + + + PhoneNumber + + + ConfigurationId + + + ConfigurationName + + + IsOnprem + + + + + + + + FindApplicationInstanceResult + + Microsoft.Rtc.Management.Hosted.Online.Models.FindApplicationInstanceResult + + + + + + + Id + + + Name + + + TelephoneNumber + + + + + + + + ApplicationInstanceAssociation + + Microsoft.Rtc.Management.Hosted.Online.Models.ApplicationInstanceAssociation + + + + + + + Id + + + ConfigurationType + + + ConfigurationId + + + CallPriority + + + + + + + + AssociationOperationOutput + + Microsoft.Rtc.Management.Hosted.Online.Models.AssociationOperationOutput + + + + + + + + DisplayResults + + + + + + + + AssociationOperationResult + + Microsoft.Rtc.Management.Hosted.Online.Models.AssociationOperationResult + + + + + + + Id + + + ConfigurationType + + + ConfigurationId + + + Result + + + StatusCode + + + StatusMessage + + + + + + + + BatchAssignPolicyOutput + + Microsoft.Rtc.Management.Hosted.Online.Models.BatchAssignPolicyOutput + + + + + + + PolicyName + + + PolicyType + + + Succeeded + + + + DisplayFailedResults + + + + + + + + BatchAssignPolicyFailedResult + + Microsoft.Rtc.Management.Hosted.Online.Models.BatchAssignPolicyFailedResult + + + + + + + Identity + + + ErrorCategory + + + ErrorDetails + + + + + + + + AudioFile + + Microsoft.Rtc.Management.Hosted.Online.Models.AudioFile + + + + + + + Id + + + FileName + + + ApplicationId + + + + + + + + TimeRange + + Microsoft.Rtc.Management.Hosted.Online.Models.TimeRange + + + + + + + Start + + + End + + + + + + + + DateTimeRange + + Microsoft.Rtc.Management.Hosted.Online.Models.DateTimeRange + + + + + + + + DisplayStart + + + + DisplayEnd + + + + + + + + WeeklyRecurrentSchedule + + Microsoft.Rtc.Management.Hosted.Online.Models.WeeklyRecurrentSchedule + + + + + + + ComplementEnabled + + + + DisplayMondayHours + + + + DisplayTuesdayHours + + + + DisplayWednesdayHours + + + + DisplayThursdayHours + + + + DisplayFridayHours + + + + DisplaySaturdayHours + + + + DisplaySundayHours + + + + + + + + FixedSchedule + + Microsoft.Rtc.Management.Hosted.Online.Models.FixedSchedule + + + + + + + + DisplayDateTimeRanges + + + + + + + + Schedule + + Microsoft.Rtc.Management.Hosted.Online.Models.Schedule + + + + + + + Id + + + Name + + + Type + + + + DisplayWeeklyRecurrentSchedule + + + + DisplayFixedSchedule + + + + DisplayAssociatedConfigurationIds + + + + + + + + Voice + + Microsoft.Rtc.Management.Hosted.OAA.Models.Voice + + + + + + + Name + + + Id + + + + + + + + Language + + Microsoft.Rtc.Management.Hosted.OAA.Models.Language + + + + + + + Id + + + DisplayName + + + + DisplayVoices + + + VoiceResponseSupported + + + + + + + + Prompt + + Microsoft.Rtc.Management.Hosted.OAA.Models.Prompt + + + + + + + ActiveType + + + TextToSpeechPrompt + + + + DisplayAudioFilePrompt + + + + + + + + MenuOption + + Microsoft.Rtc.Management.Hosted.OAA.Models.MenuOption + + + + + + + Action + + + DtmfResponse + + + VoiceResponses + + + + DisplayCallTarget + + + + DisplayPrompt + + + + + + + + Menu + + Microsoft.Rtc.Management.Hosted.OAA.Models.Menu + + + + + + + Name + + + + DisplayPrompts + + + + DisplayMenuOptions + + + DialByNameEnabled + + + DirectorySearchMethod + + + + + + + + CallFlow + + Microsoft.Rtc.Management.Hosted.OAA.Models.CallFlow + + + + + + + Id + + + Name + + + + DisplayGreetings + + + + DisplayMenu + + + ForceListenMenuEnabled + + + + + + + + TimeZone + + Microsoft.Rtc.Management.Hosted.OAA.Models.TimeZone + + + + + + + Id + + + DisplayName + + + + + + + + CallableEntity + + Microsoft.Rtc.Management.Hosted.OAA.Models.CallableEntity + + + + + + + Id + + + Type + + + EnableTranscription + + + EnableSharedVoicemailSystemPromptSuppression + + + CallPriority + + + + + + + + CallHandlingAssociation + + Microsoft.Rtc.Management.Hosted.OAA.Models.CallHandlingAssociation + + + + + + + Type + + + ScheduleId + + + CallFlowId + + + Enabled + + + + + + + + DialScope + + Microsoft.Rtc.Management.Hosted.OAA.Models.DialScope + + + + + + + Type + + + + DisplayGroupScope + + + + + + + + GroupDialScope + + Microsoft.Rtc.Management.Hosted.OAA.Models.GroupDialScope + + + + + + + GroupIds + + + + + + + + DirectoryLookupScope + + Microsoft.Rtc.Management.Hosted.OAA.Models.DirectoryLookupScope + + + + + + + + DisplayInclusionScope + + + + DisplayExclusionScope + + + + + + + + TenantInformation + + Microsoft.Rtc.Management.Hosted.OAA.Models.TenantInformation + + + + + + + DefaultLanguageId + + + DefaultTimeZoneId + + + FlightedFeatures + + + + + + + + StatusRecord + + Microsoft.Rtc.Management.Hosted.OAA.Models.StatusRecord + + + + + + + Type + + + Status + + + Id + + + ErrorCode + + + Message + + + StatusTimestamp + + + + + + + + Endpoint + + Microsoft.Rtc.Management.Hosted.Online.Models.Endpoint + + + + + + + Id + + + DisplayName + + + SipUri + + + LineUri + + + + + + + + AutoAttendant + + Microsoft.Rtc.Management.Hosted.OAA.Models.AutoAttendant + + + + + + + Identity + + + TenantId + + + Name + + + LanguageId + + + VoiceId + + + + DisplayDefaultCallFlow + + + + DisplayOperator + + + TimeZoneId + + + VoiceResponseEnabled + + + + DisplayCallFlows + + + + DisplaySchedules + + + + DisplayCallHandlingAssociations + + + + DisplayStatus + + + DialByNameResourceId + + + + DisplayDirectoryLookupScope + + + ApplicationInstances + + + GreetingsSettingAuthorizedUsers + + + + + + + + OrgAutoAttendant + + Microsoft.Rtc.Management.Hosted.OAA.Models.OrgAutoAttendant + + + + + + + PrimaryUri + + + TenantId + + + Name + + + LineUris + + + LanguageId + + + VoiceId + + + + DisplayDefaultCallFlow + + + + DisplayOperator + + + TimeZoneId + + + VoiceResponseEnabled + + + + DisplayCallFlows + + + + DisplaySchedules + + + + DisplayCallHandlingAssociations + + + + DisplayStatus + + + DialByNameResourceId + + + + DisplayDirectoryLookupScope + + + + + + + + OaaHolidayImportResult + + Microsoft.Rtc.Management.Hosted.OAA.Models.HolidayImportResult + + + + + + + Name + + + + DisplayDateTimeRanges + + + Succeeded + + + FailureReason + + + + + + + + Summary + + Microsoft.Rtc.Management.Hosted.OAA.Models.HolidayImportResult + + + + + + 24 + + + + 40 + + + + 10 + + + + 60 + + + + + + + Name + + + DisplayDateTimeRanges + + + Succeeded + + + FailureReason + + + + + + + + OaaHolidays + + Microsoft.Rtc.Management.Hosted.OAA.Models.HolidayVisRecord + + + + + + + Year + + + Name + + + + DisplayDateTimeRanges + + + + DisplayGreetings + + + + DisplayCallAction + + + + + + + + Year + + Microsoft.Rtc.Management.Hosted.OAA.Models.HolidayVisRecord + + + Year + + + + + + 24 + + + + 40 + + + + 60 + + + + 60 + + + + + + + Name + + + DisplayDateTimeRanges + + + DisplayGreetings + + + DisplayCallAction + + + + + + + + TransferTarget + + Microsoft.Rtc.Management.Hosted.Voicemail.Models.TransferTarget + + + + + + + TenantId + + + SipUri + + + TelUri + + + ObjectId + + + Type + + + RawInput + + + + + + + + VoicemailUserSettings + + Microsoft.Rtc.Management.Hosted.Voicemail.Models.VoicemailUserSettings + + + + + + + VoicemailEnabled + + + PromptLanguage + + + OofGreetingEnabled + + + OofGreetingFollowAutomaticRepliesEnabled + + + ShareData + + + CallAnswerRule + + + DefaultGreetingPromptOverwrite + + + DefaultOofGreetingPromptOverwrite + + + + DisplayTransferTarget + + + + + + + + HuntGroup + + Microsoft.Rtc.Management.Hosted.HuntGroup.Models.HuntGroup + + + + + + + + TenantId + + + + Name + + + + PrimaryUri + + + + LineUri + + + + RoutingMethod + + + + DisplayDistributionLists + + + + DistributionListsLastExpanded + + + + DisplayAgents + + + + AllowOptOut + + + + AgentsCapped + + + + AgentsInSyncWithDistributionLists + + + + AgentAlertTime + + + + OverflowThreshold + + + + OverflowAction + + + + OverflowActionTarget + + + + TimeoutThreshold + + + + TimeoutAction + + + + TimeoutActionTarget + + + + WelcomeMusicFileName + + + + UseDefaultMusicOnHold + + + + MusicOnHoldFileName + + + + DisplayStatistics + + + + + + + + CallQueue + + Microsoft.Rtc.Management.Hosted.CallQueue.Models.CallQueue + + + + + + + + TenantId + + + + Name + + + + Identity + + + + RoutingMethod + + + + DisplayDistributionLists + + + + DisplayUsers + + + + DistributionListsLastExpanded + + + + DisplayAgents + + + + AllowOptOut + + + + ConferenceMode + + + + PresenceBasedRouting + + + + AgentsCapped + + + + AgentsInSyncWithDistributionLists + + + + AgentAlertTime + + + + LanguageId + + + + OverflowThreshold + + + + OverflowAction + + + + OverflowActionTargetId + + + + OverflowSharedVoicemailTextToSpeechPrompt + + + + OverflowSharedVoicemailAudioFilePrompt + + + + OverflowSharedVoicemailAudioFilePromptFileName + + + + EnableOverflowSharedVoicemailTranscription + + + + TimeoutThreshold + + + + TimeoutAction + + + + TimeoutActionTargetId + + + + TimeoutSharedVoicemailTextToSpeechPrompt + + + + TimeoutSharedVoicemailAudioFilePrompt + + + + TimeoutSharedVoicemailAudioFilePromptFileName + + + + EnableTimeoutSharedVoicemailTranscription + + + + WelcomeMusicFileName + + + + UseDefaultMusicOnHold + + + + MusicOnHoldFileName + + + + DisplayStatistics + + + + DisplayApplicationInstances + + + + ChannelId + + + IsCallbackEnabled + + + CallbackRequestDtmf + + + WaitTimeBeforeOfferingCallbackInSecond + + + NumberOfCallsInQueueBeforeOfferingCallback + + + CallToAgentRatioThresholdBeforeOfferingCallback + + + CallbackOfferAudioFilePromptResourceId + + + CallbackOfferAudioFilePromptFileName + + + CallbackOfferTextToSpeechPrompt + + + ServiceLevelThresholdResponseTimeInSecond + + + + CallbackEmailNotificationTargetId + + + + DisplayOboResourceAccounts + + + + + + + + HuntGroupTenantInformation + + Microsoft.Rtc.Management.Hosted.HuntGroup.Models.HuntGroupTenantInformation + + + + + + + FlightedFeatures + + + + + + + + StatusRecord + + Microsoft.Rtc.Management.Hosted.HuntGroup.Models.StatusRecord + + + + + + + WarningCode + + + Message + + + + + + + + ServiceIdView + + Microsoft.Rtc.Management.Core.WritableConfig.PstnGatewayWritableServiceId + + + + + + + + ; + + + + + + + + OcsAdApplicationContactView + + Microsoft.Rtc.Management.ADConnect.Schema.OCSADApplicationContact + + + + + + + + Identity + + + + RegistrarPool + + + + HomeServer + + + + OwnerUrn + + + + SipAddress + + + + DisplayName + + + + DisplayNumber + + + + LineURI + + + + PrimaryLanguage + + + + SecondaryLanguages + + + + EnterpriseVoiceEnabled + + + + ExUmEnabled + + + + Enabled + + + + + + + + OcsVideoRoomSystemView + + Microsoft.Rtc.Management.ADConnect.Schema.OCSADVideoRoomSystem + + + + + + + + Identity + + + + RegistrarPool + + + + SipAddress + + + + DisplayName + + + + LineURI + + + + Enabled + + + + + + + + OcsHybridApplicationEndpointView + + Microsoft.Rtc.Management.ADConnect.Schema.OCSADApplicationEndpoint + + + + + + + + Identity + + + + ApplicationId + + + + OwnerUrn + + + + EnterpriseVoiceEnabled + + + + Enabled + + + + SipAddress + + + + DisplayName + + + + LineURI + + + + + + + + OcsUserView + + Microsoft.Rtc.Management.ADConnect.Schema.OCSADUser + + + + + + + + Identity + + + + VoicePolicy + + + + VoiceRoutingPolicy + + + + ConferencingPolicy + + + + PresencePolicy + + + + DialPlan + + + + LocationPolicy + + + + ClientPolicy + + + + ClientVersionPolicy + + + + ArchivingPolicy + + + + ExchangeArchivingPolicy + + + + PinPolicy + + + + ExternalAccessPolicy + + + + MobilityPolicy + + + + UserServicesPolicy + + + + CallViaWorkPolicy + + + + ThirdPartyVideoSystemPolicy + + + + HostedVoiceMail + + + + HostedVoicemailPolicy + + + + IPPhonePolicy + + + + HostingProvider + + + + RegistrarPool + + + + Enabled + + + + SipAddress + + + + LineURI + + + + EnterpriseVoiceEnabled + + + + ExUmEnabled + + + + HomeServer + + + + DisplayName + + + + SamAccountName + + + + + + + + OcsAnalogDeviceView + + Microsoft.Rtc.Management.ADConnect.Schema.OCSADAnalogDeviceContact + + + + + + + + Identity + + + + VoicePolicy + + + + VoiceRoutingPolicy + + + + RegistrarPool + + + + Gateway + + + + AnalogFax + + + + Enabled + + + + SipAddress + + + + LineURI + + + + DisplayName + + + + DisplayNumber + + + + ExUmEnabled + + + + + + + + OcsExUmContactView + + Microsoft.Rtc.Management.ADConnect.Schema.OCSADExUmContact + + + + + + + + Identity + + + + RegistrarPool + + + + HomeServer + + + + Enabled + + + + SipAddress + + + + LineURI + + + + OtherIpPhone + + + + AutoAttendant + + + + IsSubscriberAccess + + + + Description + + + + DisplayName + + + + DisplayNumber + + + + HostedVoicemailPolicy + + + + ExUmEnabled + + + + + + + + OcsCommonAreaPhoneView + + Microsoft.Rtc.Management.ADConnect.Schema.OCSADCommonAreaPhoneContact + + + + + + + + Identity + + + + RegistrarPool + + + + Enabled + + + + SipAddress + + + + ClientPolicy + + + + PinPolicy + + + + VoicePolicy + + + + VoiceRoutingPolicy + + + + MobilityPolicy + + + + ConferencingPolicy + + + + LineURI + + + + DisplayNumber + + + + DisplayName + + + + Description + + + + ExUmEnabled + + + + + + + + OcsAccessNumberView + + Microsoft.Rtc.Management.Xds.AccessNumber + + + + + + + + Identity + + + + PrimaryUri + + + + DisplayName + + + + DisplayNumber + + + + LineUri + + + + PrimaryLanguage + + + + SecondaryLanguages + + + + Pool + + + + HostingProvider + + + + Regions + + + + ExternalAccessPolicy + + + + + + + + AgentView + + Microsoft.Rtc.Rgs.Management.WritableSettings.Agent + + + + + + + + UserSid + + + + DisplayName + + + + SipAddress + + + + + + + + AnswerView + + Microsoft.Rtc.Rgs.Management.WritableSettings.Answer + + + + + + + + VoiceResponseList + + + + Action + + + + Name + + + + DtmfResponse + + + + + + + + CallActionView + + Microsoft.Rtc.Rgs.Management.WritableSettings.CallAction + + + + + + + + Prompt + + + + Question + + + + Action + + + + QueueID + + + + Uri + + + + + + + + PromptView + + Microsoft.Rtc.Rgs.Management.WritableSettings.Prompt + + + + + + + + AudioFilePrompt + + + + TextToSpeechPrompt + + + + + + + + AudioFileView + + Microsoft.Rtc.Rgs.Management.WritableSettings.AudioFile + + + + + + + + OriginalFileName + + + + UniqueName + + + + + + + + QuestionView + + Microsoft.Rtc.Rgs.Management.WritableSettings.Question + + + + + + + + Prompt + + + + InvalidAnswerPrompt + + + + NoAnswerPrompt + + + + AnswerList + + + + Name + + + + + + + + BusinessHoursView + + Microsoft.Rtc.Rgs.Management.WritableSettings.BusinessHours + + + + + + + + Identity + + + + MondayHours1 + + + + MondayHours2 + + + + TuesdayHours1 + + + + TuesdayHours2 + + + + WednesdayHours1 + + + + WednesdayHours2 + + + + ThursdayHours1 + + + + ThursdayHours2 + + + + FridayHours1 + + + + FridayHours2 + + + + SaturdayHours1 + + + + SaturdayHours2 + + + + SundayHours1 + + + + SundayHours2 + + + + Name + + + + Description + + + + Custom + + + + OwnerPool + + + + + + + + TimeRangeView + + Microsoft.Rtc.Rgs.Management.WritableSettings.TimeRange + + + + + + + + Name + + + + OpenTime + + + + CloseTime + + + + + + + + AgentGroupView + + Microsoft.Rtc.Rgs.Management.WritableSettings.AgentGroup + + + + + + + + Identity + + + + Name + + + + Description + + + + ParticipationPolicy + + + + AgentAlertTime + + + + RoutingMethod + + + + DistributionGroupAddress + + + + OwnerPool + + + + AgentsByUri + + + + + + + + AgentGroupsToAgentsMapView + + Microsoft.Rtc.Rgs.Management.WritableSettings.AgentGroupsToAgentsMap + + + + + + + + Position + + + + + + + + HolidayView + + Microsoft.Rtc.Rgs.Management.WritableSettings.Holiday + + + + + + + + Name + + + + StartDate + + + + EndDate + + + + + + + + HolidaySetView + + Microsoft.Rtc.Rgs.Management.WritableSettings.HolidaySet + + + + + + + + Identity + + + + HolidayList + + + + Name + + + + OwnerPool + + + + + + + + ManagerView + + Microsoft.Rtc.Rgs.Management.WritableSettings.Manager + + + + + + + + UserSid + + + + SipAddress + + + + + + + + OwnerPoolView + + Microsoft.Rtc.Rgs.Management.WritableSettings.OwnerPool + + + + + + + + Fqdn + + + + + + + + QueueView + + Microsoft.Rtc.Rgs.Management.WritableSettings.Queue + + + + + + + + Identity + + + + TimeoutAction + + + + OverflowAction + + + + Name + + + + Description + + + + TimeoutThreshold + + + + OverflowThreshold + + + + OverflowCandidate + + + + OwnerPool + + + + AgentGroupIDList + + + + + + + + QueuesToAgentGroupsMapView + + Microsoft.Rtc.Rgs.Management.WritableSettings.QueuesToAgentGroupsMap + + + + + + + + Position + + + + + + + + ServiceSettingsView + + Microsoft.Rtc.Rgs.Management.WritableSettings.ServiceSettings + + + + + + + + Identity + + + + DefaultMusicOnHoldFile + + + + AgentRingbackGracePeriod + + + + DisableCallContext + + + + + + + + WorkflowView + + Microsoft.Rtc.Rgs.Management.WritableSettings.Workflow + + + + + + + + Identity + + + + NonBusinessHoursAction + + + + HolidayAction + + + + DefaultAction + + + + CustomMusicOnHoldFile + + + + Name + + + + Description + + + + PrimaryUri + + + + Active + + + + Language + + + + TimeZone + + + + BusinessHoursID + + + + Anonymous + + + + Managed + + + + OwnerPool + + + + DisplayNumber + + + + EnabledForFederation + + + + LineUri + + + + HolidaySetIDList + + + + ManagersByUri + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Modules/MicrosoftTeams/6.4.0/bin/BrotliSharpLib.dll b/Modules/MicrosoftTeams/6.4.0/bin/BrotliSharpLib.dll new file mode 100644 index 000000000000..3d11e82cee64 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/bin/BrotliSharpLib.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/bin/Microsoft.IdentityModel.JsonWebTokens.dll b/Modules/MicrosoftTeams/6.4.0/bin/Microsoft.IdentityModel.JsonWebTokens.dll new file mode 100644 index 000000000000..b35a79a829b8 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/bin/Microsoft.IdentityModel.JsonWebTokens.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/bin/Microsoft.IdentityModel.Logging.dll b/Modules/MicrosoftTeams/6.4.0/bin/Microsoft.IdentityModel.Logging.dll new file mode 100644 index 000000000000..029953b3dd61 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/bin/Microsoft.IdentityModel.Logging.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/bin/Microsoft.IdentityModel.Tokens.dll b/Modules/MicrosoftTeams/6.4.0/bin/Microsoft.IdentityModel.Tokens.dll new file mode 100644 index 000000000000..616fc8b96c6c Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/bin/Microsoft.IdentityModel.Tokens.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/bin/Microsoft.Teams.ConfigAPI.CmdletHostContract.dll b/Modules/MicrosoftTeams/6.4.0/bin/Microsoft.Teams.ConfigAPI.CmdletHostContract.dll new file mode 100644 index 000000000000..e44cd1bd203a Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/bin/Microsoft.Teams.ConfigAPI.CmdletHostContract.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/bin/Microsoft.Teams.ConfigAPI.Cmdlets.private.deps.json b/Modules/MicrosoftTeams/6.4.0/bin/Microsoft.Teams.ConfigAPI.Cmdlets.private.deps.json new file mode 100644 index 000000000000..98450be56549 --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/bin/Microsoft.Teams.ConfigAPI.Cmdlets.private.deps.json @@ -0,0 +1,246 @@ +{ + "runtimeTarget": { + "name": ".NETStandard,Version=v2.0/", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETStandard,Version=v2.0": {}, + ".NETStandard,Version=v2.0/": { + "Microsoft.Teams.ConfigAPI.Cmdlets.private/1.0.0": { + "dependencies": { + "BrotliSharpLib": "0.3.3", + "Microsoft.CSharp": "4.7.0", + "Microsoft.Teams.ConfigAPI.CmdletHostContract": "3.1.1", + "NETStandard.Library": "2.0.3", + "Newtonsoft.Json": "13.0.3", + "PowerShellStandard.Library": "5.1.0", + "StyleCop.Analyzers": "1.1.118", + "System.IdentityModel.Tokens.Jwt": "6.8.0" + }, + "runtime": { + "Microsoft.Teams.ConfigAPI.Cmdlets.private.dll": {} + } + }, + "BrotliSharpLib/0.3.3": { + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "4.5.2" + }, + "runtime": { + "lib/netstandard2.0/BrotliSharpLib.dll": { + "assemblyVersion": "0.3.2.0", + "fileVersion": "0.3.3.0" + } + } + }, + "Microsoft.CSharp/4.7.0": { + "runtime": { + "lib/netstandard2.0/Microsoft.CSharp.dll": { + "assemblyVersion": "4.0.5.0", + "fileVersion": "4.700.19.56404" + } + } + }, + "Microsoft.IdentityModel.JsonWebTokens/6.8.0": { + "dependencies": { + "Microsoft.IdentityModel.Tokens": "6.8.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.dll": { + "assemblyVersion": "6.8.0.0", + "fileVersion": "6.8.0.11012" + } + } + }, + "Microsoft.IdentityModel.Logging/6.8.0": { + "runtime": { + "lib/netstandard2.0/Microsoft.IdentityModel.Logging.dll": { + "assemblyVersion": "6.8.0.0", + "fileVersion": "6.8.0.11012" + } + } + }, + "Microsoft.IdentityModel.Tokens/6.8.0": { + "dependencies": { + "Microsoft.CSharp": "4.7.0", + "Microsoft.IdentityModel.Logging": "6.8.0", + "System.Security.Cryptography.Cng": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.IdentityModel.Tokens.dll": { + "assemblyVersion": "6.8.0.0", + "fileVersion": "6.8.0.11012" + } + } + }, + "Microsoft.NETCore.Platforms/1.1.0": {}, + "Microsoft.Teams.ConfigAPI.CmdletHostContract/3.1.1": { + "dependencies": { + "Newtonsoft.Json": "13.0.3", + "PowerShellStandard.Library": "5.1.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Teams.ConfigAPI.CmdletHostContract.dll": { + "assemblyVersion": "3.1.1.0", + "fileVersion": "3.1.1.0" + } + } + }, + "NETStandard.Library/2.0.3": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0" + } + }, + "Newtonsoft.Json/13.0.3": { + "runtime": { + "lib/netstandard2.0/Newtonsoft.Json.dll": { + "assemblyVersion": "13.0.0.0", + "fileVersion": "13.0.3.27908" + } + } + }, + "PowerShellStandard.Library/5.1.0": { + "runtime": { + "lib/netstandard2.0/System.Management.Automation.dll": { + "assemblyVersion": "3.0.0.0", + "fileVersion": "5.1.0.0" + } + } + }, + "StyleCop.Analyzers/1.1.118": {}, + "System.IdentityModel.Tokens.Jwt/6.8.0": { + "dependencies": { + "Microsoft.IdentityModel.JsonWebTokens": "6.8.0", + "Microsoft.IdentityModel.Tokens": "6.8.0" + }, + "runtime": { + "lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.dll": { + "assemblyVersion": "6.8.0.0", + "fileVersion": "6.8.0.11012" + } + } + }, + "System.Runtime.CompilerServices.Unsafe/4.5.2": { + "runtime": { + "lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll": { + "assemblyVersion": "4.0.4.1", + "fileVersion": "4.6.26919.2" + } + } + }, + "System.Security.Cryptography.Cng/4.5.0": { + "runtime": { + "lib/netstandard2.0/System.Security.Cryptography.Cng.dll": { + "assemblyVersion": "4.3.0.0", + "fileVersion": "4.6.26515.6" + } + } + } + } + }, + "libraries": { + "Microsoft.Teams.ConfigAPI.Cmdlets.private/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "BrotliSharpLib/0.3.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/z74VNg6etlQK/N1mSD5Tz2qQUZqc3RMiuv2F8Q/MOfvg4l7a6lDYhQQTPd9s9saSokh1GqUD7JTuunOiQid8w==", + "path": "brotlisharplib/0.3.3", + "hashPath": "brotlisharplib.0.3.3.nupkg.sha512" + }, + "Microsoft.CSharp/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==", + "path": "microsoft.csharp/4.7.0", + "hashPath": "microsoft.csharp.4.7.0.nupkg.sha512" + }, + "Microsoft.IdentityModel.JsonWebTokens/6.8.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+7JIww64PkMt7NWFxoe4Y/joeF7TAtA/fQ0b2GFGcagzB59sKkTt/sMZWR6aSZht5YC7SdHi3W6yM1yylRGJCQ==", + "path": "microsoft.identitymodel.jsonwebtokens/6.8.0", + "hashPath": "microsoft.identitymodel.jsonwebtokens.6.8.0.nupkg.sha512" + }, + "Microsoft.IdentityModel.Logging/6.8.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Rfh/p4MaN4gkmhPxwbu8IjrmoDncGfHHPh1sTnc0AcM/Oc39/fzC9doKNWvUAjzFb8LqA6lgZyblTrIsX/wDXg==", + "path": "microsoft.identitymodel.logging/6.8.0", + "hashPath": "microsoft.identitymodel.logging.6.8.0.nupkg.sha512" + }, + "Microsoft.IdentityModel.Tokens/6.8.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gTqzsGcmD13HgtNePPcuVHZ/NXWmyV+InJgalW/FhWpII1D7V1k0obIseGlWMeA4G+tZfeGMfXr0klnWbMR/mQ==", + "path": "microsoft.identitymodel.tokens/6.8.0", + "hashPath": "microsoft.identitymodel.tokens.6.8.0.nupkg.sha512" + }, + "Microsoft.NETCore.Platforms/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==", + "path": "microsoft.netcore.platforms/1.1.0", + "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512" + }, + "Microsoft.Teams.ConfigAPI.CmdletHostContract/3.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Z8ozev0eHbKhcM+4DICyBj3BwA74U3uKic0RL5rwFxBO2SKZIbsRy2U13qRt70yIvGWwYiKgBdrXAIDgkvElYA==", + "path": "microsoft.teams.configapi.cmdlethostcontract/3.1.1", + "hashPath": "microsoft.teams.configapi.cmdlethostcontract.3.1.1.nupkg.sha512" + }, + "NETStandard.Library/2.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==", + "path": "netstandard.library/2.0.3", + "hashPath": "netstandard.library.2.0.3.nupkg.sha512" + }, + "Newtonsoft.Json/13.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==", + "path": "newtonsoft.json/13.0.3", + "hashPath": "newtonsoft.json.13.0.3.nupkg.sha512" + }, + "PowerShellStandard.Library/5.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-iYaRvQsM1fow9h3uEmio+2m2VXfulgI16AYHaTZ8Sf7erGe27Qc8w/h6QL5UPuwv1aXR40QfzMEwcCeiYJp2cw==", + "path": "powershellstandard.library/5.1.0", + "hashPath": "powershellstandard.library.5.1.0.nupkg.sha512" + }, + "StyleCop.Analyzers/1.1.118": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Onx6ovGSqXSK07n/0eM3ZusiNdB6cIlJdabQhWGgJp3Vooy9AaLS/tigeybOJAobqbtggTamoWndz72JscZBvw==", + "path": "stylecop.analyzers/1.1.118", + "hashPath": "stylecop.analyzers.1.1.118.nupkg.sha512" + }, + "System.IdentityModel.Tokens.Jwt/6.8.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5tBCjAub2Bhd5qmcd0WhR5s354e4oLYa//kOWrkX+6/7ZbDDJjMTfwLSOiZ/MMpWdE4DWPLOfTLOq/juj9CKzA==", + "path": "system.identitymodel.tokens.jwt/6.8.0", + "hashPath": "system.identitymodel.tokens.jwt.6.8.0.nupkg.sha512" + }, + "System.Runtime.CompilerServices.Unsafe/4.5.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-wprSFgext8cwqymChhrBLu62LMg/1u92bU+VOwyfBimSPVFXtsNqEWC92Pf9ofzJFlk4IHmJA75EDJn1b2goAQ==", + "path": "system.runtime.compilerservices.unsafe/4.5.2", + "hashPath": "system.runtime.compilerservices.unsafe.4.5.2.nupkg.sha512" + }, + "System.Security.Cryptography.Cng/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-WG3r7EyjUe9CMPFSs6bty5doUqT+q9pbI80hlNzo2SkPkZ4VTuZkGWjpp77JB8+uaL4DFPRdBsAY+DX3dBK92A==", + "path": "system.security.cryptography.cng/4.5.0", + "hashPath": "system.security.cryptography.cng.4.5.0.nupkg.sha512" + } + } +} \ No newline at end of file diff --git a/Modules/MicrosoftTeams/6.4.0/bin/Microsoft.Teams.ConfigAPI.Cmdlets.private.dll b/Modules/MicrosoftTeams/6.4.0/bin/Microsoft.Teams.ConfigAPI.Cmdlets.private.dll new file mode 100644 index 000000000000..76268f4a6d9f Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/bin/Microsoft.Teams.ConfigAPI.Cmdlets.private.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/bin/System.IdentityModel.Tokens.Jwt.dll b/Modules/MicrosoftTeams/6.4.0/bin/System.IdentityModel.Tokens.Jwt.dll new file mode 100644 index 000000000000..428bc77f9477 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/bin/System.IdentityModel.Tokens.Jwt.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/custom/CmdletConfig.json b/Modules/MicrosoftTeams/6.4.0/custom/CmdletConfig.json new file mode 100644 index 000000000000..6bc9ed36f86e --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/custom/CmdletConfig.json @@ -0,0 +1,4735 @@ +{ + "CmdletConfiguration": { + "Connect-CsConfigAPI": { + "CmdletType": "Custom", + "ExportsTo": [ + "SelfHost" + ] + }, + "Get-CsSDGBulkSignInRequestStatus": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "SelfHost", + "TeamsPreview" + ] + }, + "New-CsSDGBulkSignInRequest": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "SelfHost", + "TeamsPreview" + ] + }, + "Get-CsSDGBulkSignInRequestsSummary": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "SelfHost", + "TeamsPreview" + ] + }, + "New-CsSDGDeviceTaggingRequest": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "Torus", + "SelfHost" + ] + }, + "New-CsSDGDeviceTransferRequest": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "Torus", + "SelfHost" + ] + }, + "Disconnect-CsConfigAPI": { + "CmdletType": "Custom", + "ExportsTo": [ + "SelfHost" + ] + }, + "Get-CsEffectiveTenantDialPlanModern": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "SelfHost" + ] + }, + "Test-CsEffectiveTenantDialPlanModern": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "SelfHost" + ] + }, + "Test-CsVoiceNormalizationRuleModern": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "SelfHost" + ] + }, + "Get-CsInternalConfigApiModuleVersion": { + "CmdletType": "Custom", + "ExportsTo": [ + "SelfHost" + ] + }, + "Get-CsSessionState": { + "CmdletType": "Custom", + "ExportsTo": [ + "SelfHost" + ] + }, + "Set-CsSessionState": { + "CmdletType": "Custom", + "ExportsTo": [ + "SelfHost" + ] + }, + "Register-CsOdcServiceNumber": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "SelfHost" + ] + }, + "Unregister-CsOdcServiceNumber": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "SelfHost" + ] + }, + "Get-CsUserPoint": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "SelfHost" + ] + }, + "Get-CsUserList": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "SelfHost" + ] + }, + "Get-CsUserSearch": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "SelfHost" + ] + }, + "Get-CsTenantPoint": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "SelfHost" + ] + }, + "Get-CsVoiceUserPoint": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "SelfHost" + ] + }, + "Get-CsVoiceUserList": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "SelfHost" + ] + }, + "Grant-CsTeamsPolicy": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "SelfHost", + "Torus" + ] + }, + "Remove-CsConfigurationModern": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "SelfHost", + "Torus" + ] + }, + "Get-CsBatchPolicyAssignmentOperation": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "New-CsBatchPolicyAssignmentOperation": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "New-CsBatchPolicyPackageAssignmentOperation": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "New-CsCustomPolicyPackage": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Remove-CsCustomPolicyPackage": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Update-CsCustomPolicyPackage": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsGroupPolicyAssignment": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "New-CsGroupPolicyAssignment": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Remove-CsGroupPolicyAssignment": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Grant-CsGroupPolicyPackageAssignment": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsPolicyPackage": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsUserPolicyAssignment": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsUserPolicyPackage": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsTeamTemplateList": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Get-CsTeamTemplate": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Update-CsTeamTemplate": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Remove-CsTeamTemplate": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "New-CsTeamTemplate": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Get-CsUserPolicyPackageRecommendation": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Grant-CsUserPolicyPackage": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "New-CsBatchTeamsDeployment": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Get-CsBatchTeamsDeploymentStatus": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Get-CsTeamsShiftsConnectionConnector": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Get-CsTeamsShiftsConnectionOperation": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Test-CsTeamsShiftsConnectionValidate": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "New-CsTeamsShiftsConnectionInstance": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Set-CsTeamsShiftsConnectionInstance": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Update-CsTeamsShiftsConnectionInstance": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Remove-CsTeamsShiftsConnectionInstance": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Get-CsTeamsShiftsConnectionInstance": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Get-CsTeamsShiftsConnectionWfmTeam": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "New-CsTeamsShiftsConnectionBatchTeamMap": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Remove-CsTeamsShiftsConnectionTeamMap": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Get-CsTeamsShiftsConnectionTeamMap": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Get-CsTeamsShiftsConnectionSyncResult": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Get-CsTeamsShiftsConnectionWfmUser": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Remove-CsTeamsShiftsScheduleRecord": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Get-CsTeamsShiftsConnectionErrorReport": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Disable-CsTeamsShiftsConnectionErrorReport": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "New-CsTeamsShiftsConnection": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Get-CsTeamsShiftsConnection": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Set-CsTeamsShiftsConnection": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Update-CsTeamsShiftsConnection": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Remove-CsTeamsShiftsConnection": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Get-CsOnlineAudioFile": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Remove-CsOnlineAudioFile": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Export-CsOnlineAudioFile": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Get-CsOnlinePowerShellEndpoint": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Move-CsInternalHelper": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Set-CsInternalOnlinePowerShellEndpoint": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Invoke-CsInternalPSTelemetry": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsOnlineTelephoneNumberCountry": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsOnlineTelephoneNumberType": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsOnlineTelephoneNumberOrder": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "New-CsOnlineTelephoneNumberOrder": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Complete-CsOnlineTelephoneNumberOrder": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Clear-CsOnlineTelephoneNumberOrder": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsPhoneNumberAssignment": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Set-CsPhoneNumberAssignment": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Remove-CsPhoneNumberAssignment": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsConfigurationModern": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "SelfHost" + ] + }, + "Set-CsConfigurationModern": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "SelfHost" + ] + }, + "New-CsConfigurationModern": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "SelfHost" + ] + }, + "Invoke-CsDeprecatedError": { + "CmdletType": "Custom", + "ExportsTo": [ + "SelfHost" + ] + }, + "Disable-CsOnlineSipDomain": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsOnlineSipDomainModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ], + "DefaultAutoRestParameters": { + "Action": "Disable" + } + }, + "Enable-CsOnlineSipDomain": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsOnlineSipDomainModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ], + "DefaultAutoRestParameters": { + "Action": "Enable" + } + }, + "Export-CsAutoAttendantHolidays": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Find-CsGroup": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Find-CsOnlineApplicationInstance": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsApplicationAccessPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "ApplicationAccessPolicy" + } + }, + "Get-CsApplicationMeetingConfiguration": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "ApplicationMeetingConfiguration" + } + }, + "Get-CsAutoAttendant": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsAutoAttendantHolidays": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsAutoAttendantStatus": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsAutoAttendantSupportedLanguage": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsAutoAttendantSupportedTimeZone": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsAutoAttendantTenantInformation": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsCallingLineIdentity": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "CallingLineIdentity" + } + }, + "Get-CsCallQueue": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsCloudCallDataConnection": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsCloudCallDataConnectionModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Get-CsDialPlan": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "DialPlan" + } + }, + "Get-CsEffectiveTenantDialPlan": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsEffectiveTenantDialPlanModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsHostingProvider": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "Torus", + "SelfHost" + ], + "DefaultAutoRestParameters": { + "ConfigType": "HostingProvider" + } + }, + "Get-CsHybridTelephoneNumber": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Get-CsInboundBlockedNumberPattern": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "InboundBlockedNumberPattern" + } + }, + "Get-CsInboundExemptNumberPattern": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "InboundExemptNumberPattern" + } + }, + "Get-CsMeetingMigrationStatus": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsMmsStatus", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsOnlineApplicationInstance": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsOnlineApplicationInstanceV2", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsOnlineApplicationInstanceAssociation": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsOnlineApplicationInstanceAssociationStatus": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsOnlineAudioConferencingRoutingPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "OnlineAudioConferencingRoutingPolicy" + } + }, + "Get-CsBusinessVoiceDirectoryDiagnosticData": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "SelfHost", + "Torus" + ] + }, + "Get-CsOnlineDialInConferencingBridge": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsOnlineDialInConferencingLanguagesSupported": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsOnlineDialinConferencingPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "OnlineDialinConferencingPolicy" + } + }, + "Get-CsOnlineDialInConferencingServiceNumber": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsOdcServiceNumber", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsOnlineDialinConferencingTenantConfiguration": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "OnlineDialinConferencingTenantConfiguration" + } + }, + "Get-CsOnlineDialInConferencingTenantSettings": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "OnlineDialInConferencingTenantSettings" + } + }, + "Get-CsOnlineDialInConferencingUser": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsOnlineDialOutPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "OnlineDialOutPolicy" + } + }, + "Get-CsOnlineDirectoryTenant": { + "CmdletType": "Remoting", + "ModernCmdlet": "Invoke-CsDeprecatedError", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ], + "DefaultAutoRestParameters": { + "DeprecatedErrorMessage": "This cmdlet is no longer supported, please consult public documentation or use Get-CsTenant and Get-CsOnlineDialinConferencingBridge to get the relevant attributes." + } + }, + "Get-CsOnlineEnhancedEmergencyServiceDisclaimer": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsOnlineEnhancedEmergencyServiceDisclaimerModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsOnlineLisCivicAddress": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsOnlineLisCivicAddressModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsOnlineLisLocation": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsOnlineLisLocationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsOnlineLisPort": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsOnlineLisPortModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsOnlineLisSubnet": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsOnlineLisSubnetModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsOnlineLisSwitch": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsOnlineLisSwitchModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsOnlineLisWirelessAccessPoint": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsOnlineLisWirelessAccessPointModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsOnlinePSTNGateway": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "OnlinePSTNGateway" + } + }, + "Get-CsOnlinePstnUsage": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "OnlinePstnUsages" + } + }, + "Get-CsOnlineSchedule": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsOnlineSipDomain": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsOnlineSipDomainModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsOnlineTelephoneNumber": { + "CmdletType": "Remoting", + "ModernCmdlet": "Invoke-CsDeprecatedError", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ], + "DefaultAutoRestParameters": { + "DeprecatedErrorMessage": "This cmdlet is no longer supported, please consult public documentation" + } + }, + "Get-CsOnlineUser": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsUserSearch", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsMasObjectChangelog": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "SelfHost", + "Torus" + ] + }, + "Get-CsMasVersionedSchemaData": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "SelfHost", + "Torus" + ] + }, + "Invoke-CsDirectObjectSync": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "SelfHost", + "Torus" + ] + }, + "Set-CsTenantUserBackfill": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "SelfHost", + "Torus" + ] + }, + "Invoke-CsCustomHandlerNgtprov": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "SelfHost", + "Torus" + ] + }, + "Invoke-CsCustomHandlerCallBackNgtprov": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "SelfHost", + "Torus" + ] + }, + "Get-CsMoveTenantServiceInstanceTaskStatus": { + "CmdletType": "Custom", + "ExportsTo": [ + "SelfHost", + "Torus" + ] + }, + "Move-CsTenantServiceInstance": { + "CmdletType": "Custom", + "ExportsTo": [ + "SelfHost", + "Torus" + ] + }, + "Move-CsTenantCrossRegion": { + "CmdletType": "Custom", + "ExportsTo": [ + "SelfHost", + "Torus" + ] + }, + "Get-CsOnlineVoicemailUserSettings": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsOnlineVoiceRoute": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "OnlineVoiceRoute" + } + }, + "Get-CsOnlineVoiceRoutingPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "OnlineVoiceRoutingPolicy" + } + }, + "Get-CsOnlineVoiceUser": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsVoiceUserList", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsPrivacyConfiguration": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "PrivacyConfiguration" + } + }, + "Get-CsTeamsAcsFederationConfiguration": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsAcsFederationConfiguration" + } + }, + "Get-CsTeamsAudioConferencingPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsAudioConferencingPolicy" + } + }, + "Get-CsTeamsCallParkPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsCallParkPolicy" + } + }, + "Get-CsTeamsClientConfiguration": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsClientConfiguration" + } + }, + "Get-CsTeamsCortanaPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsCortanaPolicy" + } + }, + "Get-CsTeamsEducationAssignmentsAppPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsEducationAssignmentsAppPolicy" + } + }, + "Get-CsTeamsEmergencyCallRoutingPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsEmergencyCallRoutingPolicy" + } + }, + "Get-CsTeamsGuestCallingConfiguration": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsGuestCallingConfiguration" + } + }, + "Get-CsTeamsGuestMeetingConfiguration": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsGuestMeetingConfiguration" + } + }, + "Get-CsTeamsGuestMessagingConfiguration": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsGuestMessagingConfiguration" + } + }, + "Get-CsTeamsIPPhonePolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsIPPhonePolicy" + } + }, + "Get-CsTeamsMeetingBroadcastConfiguration": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsMeetingBroadcastConfiguration" + } + }, + "Get-CsTeamsMeetingBroadcastPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsMeetingBroadcastPolicy" + } + }, + "Get-CsTeamsEventsPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsEventsPolicy" + } + }, + "Get-CsTeamsMigrationConfiguration": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsMigrationConfiguration" + } + }, + "Get-CsTeamsMobilityPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsMobilityPolicy" + } + }, + "Get-CsTeamsNetworkRoamingPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsNetworkRoamingPolicy" + } + }, + "Get-CsTeamsNotificationAndFeedsPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsNotificationAndFeedsPolicy" + } + }, + "Get-CsTeamsShiftsAppPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsShiftsAppPolicy" + } + }, + "Get-CsTeamsSurvivableBranchAppliance": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsSurvivableBranchAppliance" + } + }, + "Get-CsTeamsSurvivableBranchAppliancePolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsSurvivableBranchAppliancePolicy" + } + }, + "Get-CsTeamsTargetingPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsTargetingPolicy" + } + }, + "Get-CsTeamsTranslationRule": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsTranslationRule" + } + }, + "Get-CsTeamsUpgradePolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsUpgradePolicy" + } + }, + "Get-CsTeamsVideoInteropServicePolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsVideoInteropServicePolicy" + } + }, + "Get-CsTeamsWorkLoadPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsWorkLoadPolicy" + } + }, + "Get-CsTenant": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsTenantPoint", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsTenantBlockedCallingNumbers": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TenantBlockedCallingNumbers" + } + }, + "Get-CsTenantDialPlan": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TenantDialPlan" + } + }, + "Get-CsTenantFederationConfiguration": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TenantFederationSettings" + } + }, + "Get-CsTenantLicensingConfiguration": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TenantLicensingConfiguration" + } + }, + "Get-CsTenantMigrationConfiguration": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TenantMigrationConfiguration" + } + }, + "Get-CsTenantNetworkConfiguration": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TenantNetworkConfiguration" + } + }, + "Get-CsTenantNetworkRegion": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TenantNetworkRegion" + } + }, + "Get-CsTenantNetworkSubnet": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TenantNetworkSubnet" + } + }, + "Get-CsTenantTrustedIPAddress": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TenantTrustedIPAddress" + } + }, + "Get-CsVideoInteropServiceProvider": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "VideoInteropServiceProvider" + } + }, + "Grant-CsApplicationAccessPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Grant-CsTeamsPolicy", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "PolicyType": "ApplicationAccessPolicy" + } + }, + "Grant-CsCallingLineIdentity": { + "CmdletType": "Remoting", + "ModernCmdlet": "Grant-CsTeamsPolicy", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "PolicyType": "CallingLineIdentity" + } + }, + "Grant-CsDialoutPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Grant-CsTeamsPolicy", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "PolicyType": "OnlineDialOutPolicy" + } + }, + "Grant-CsOnlineAudioConferencingRoutingPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Grant-CsTeamsPolicy", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "PolicyType": "OnlineAudioConferencingRoutingPolicy" + } + }, + "Grant-CsOnlineVoicemailPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Grant-CsTeamsPolicy", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "PolicyType": "OnlineVoicemailPolicy" + } + }, + "Grant-CsOnlineVoiceRoutingPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Grant-CsTeamsPolicy", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "PolicyType": "OnlineVoiceRoutingPolicy" + } + }, + "Grant-CsTeamsAudioConferencingPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Grant-CsTeamsPolicy", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "PolicyType": "TeamsAudioConferencingPolicy" + } + }, + "Grant-CsTeamsCallHoldPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Grant-CsTeamsPolicy", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "PolicyType": "TeamsCallHoldPolicy" + } + }, + "Grant-CsTeamsCallParkPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Grant-CsTeamsPolicy", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "PolicyType": "TeamsCallParkPolicy" + } + }, + "Grant-CsTeamsChannelsPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Grant-CsTeamsPolicy", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "PolicyType": "TeamsChannelsPolicy" + } + }, + "Grant-CsTeamsComplianceRecordingPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Grant-CsTeamsPolicy", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "PolicyType": "TeamsComplianceRecordingPolicy" + } + }, + "Grant-CsTeamsCortanaPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Grant-CsTeamsPolicy", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "PolicyType": "TeamsCortanaPolicy" + } + }, + "Grant-CsTeamsEmergencyCallingPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Grant-CsTeamsPolicy", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "PolicyType": "TeamsEmergencyCallingPolicy" + } + }, + "Grant-CsTeamsEmergencyCallRoutingPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Grant-CsTeamsPolicy", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "PolicyType": "TeamsEmergencyCallRoutingPolicy" + } + }, + "Grant-CsTeamsEnhancedEncryptionPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Grant-CsTeamsPolicy", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "PolicyType": "TeamsEnhancedEncryptionPolicy" + } + }, + "Grant-CsTeamsFeedbackPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Grant-CsTeamsPolicy", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "PolicyType": "TeamsFeedbackPolicy" + } + }, + "Grant-CsTeamsIPPhonePolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Grant-CsTeamsPolicy", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "PolicyType": "TeamsIPPhonePolicy" + } + }, + "Get-CsTeamsMediaLoggingPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsMediaLoggingPolicy" + } + }, + "Grant-CsTeamsMediaLoggingPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Grant-CsTeamsPolicy", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "PolicyType": "TeamsMediaLoggingPolicy" + } + }, + "Grant-CsTeamsMeetingBroadcastPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Grant-CsTeamsPolicy", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "PolicyType": "TeamsMeetingBroadcastPolicy" + } + }, + "Grant-CsTeamsEventsPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Grant-CsTeamsPolicy", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "PolicyType": "TeamsEventsPolicy" + } + }, + "Grant-CsTeamsMeetingPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Grant-CsTeamsPolicy", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "PolicyType": "TeamsMeetingPolicy" + } + }, + "Grant-CsTeamsMessagingPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Grant-CsTeamsPolicy", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "PolicyType": "TeamsMessagingPolicy" + } + }, + "Grant-CsTeamsMobilityPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Grant-CsTeamsPolicy", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "PolicyType": "TeamsMobilityPolicy" + } + }, + "Grant-CsTeamsSurvivableBranchAppliancePolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Grant-CsTeamsPolicy", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "PolicyType": "TeamsSurvivableBranchAppliancePolicy" + } + }, + "Grant-CsTeamsUpdateManagementPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Grant-CsTeamsPolicy", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "PolicyType": "TeamsUpdateManagementPolicy" + } + }, + "Grant-CsTeamsUpgradePolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Grant-CsTeamsPolicy", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "PolicyType": "TeamsUpgradePolicy" + } + }, + "Grant-CsTeamsVideoInteropServicePolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Grant-CsTeamsPolicy", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "PolicyType": "TeamsVideoInteropServicePolicy" + } + }, + "Grant-CsTeamsVoiceApplicationsPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Grant-CsTeamsPolicy", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "PolicyType": "TeamsVoiceApplicationsPolicy" + } + }, + "Grant-CsTeamsWorkLoadPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Grant-CsTeamsPolicy", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "PolicyType": "TeamsWorkLoadPolicy" + } + }, + "Grant-CsTenantDialPlan": { + "CmdletType": "Remoting", + "ModernCmdlet": "Grant-CsTeamsPolicy", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "PolicyType": "TenantDialPlan" + } + }, + "Import-CsAutoAttendantHolidays": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Import-CsOnlineAudioFile": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "New-CsApplicationAccessPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "New-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "ApplicationAccessPolicy" + } + }, + "New-CsAutoAttendant": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "New-CsAutoAttendantCallableEntity": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "New-CsAutoAttendantCallFlow": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "New-CsAutoAttendantCallHandlingAssociation": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "New-CsAutoAttendantDialScope": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "New-CsAutoAttendantMenu": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "New-CsAutoAttendantMenuOption": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "New-CsAutoAttendantPrompt": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "New-CsCallingLineIdentity": { + "CmdletType": "Remoting", + "ModernCmdlet": "New-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "CallingLineIdentity" + } + }, + "New-CsCallQueue": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "New-CsCloudCallDataConnection": { + "CmdletType": "Remoting", + "ModernCmdlet": "New-CsCloudCallDataConnectionModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "New-CsEdgeAllowAllKnownDomains": { + "CmdletType": "Remoting", + "ModernCmdlet": "New-CsEdgeAllowAllKnownDomainsHelper", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "New-CsEdgeAllowList": { + "CmdletType": "Remoting", + "ModernCmdlet": "New-CsEdgeAllowListHelper", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "New-CsEdgeDomainPattern": { + "CmdletType": "Remoting", + "ModernCmdlet": "New-CsEdgeDomainPatternHelper", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "New-CsHybridTelephoneNumber": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "New-CsInboundBlockedNumberPattern": { + "CmdletType": "Remoting", + "ModernCmdlet": "New-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "InboundBlockedNumberPattern" + } + }, + "New-CsInboundExemptNumberPattern": { + "CmdletType": "Remoting", + "ModernCmdlet": "New-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "InboundExemptNumberPattern" + } + }, + "New-CsOnlineApplicationInstance": { + "CmdletType": "Remoting", + "ModernCmdlet": "New-CsOnlineApplicationInstanceV2", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "New-CsOnlineApplicationInstanceAssociation": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "New-CsOnlineAudioConferencingRoutingPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "New-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "OnlineAudioConferencingRoutingPolicy" + } + }, + "New-CsOnlineDateTimeRange": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "New-CsOnlineLisCivicAddress": { + "CmdletType": "Remoting", + "ModernCmdlet": "New-CsOnlineLisCivicAddressModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "New-CsOnlineLisLocation": { + "CmdletType": "Remoting", + "ModernCmdlet": "New-CsOnlineLisLocationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "New-CsOnlinePSTNGateway": { + "CmdletType": "Remoting", + "ModernCmdlet": "New-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "OnlinePSTNGateway" + } + }, + "New-CsOnlineSchedule": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "New-CsOnlineTimeRange": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "New-CsOnlineVoiceRoute": { + "CmdletType": "Remoting", + "ModernCmdlet": "New-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "OnlineVoiceRoute" + } + }, + "New-CsOnlineVoiceRoutingPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "New-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "OnlineVoiceRoutingPolicy" + } + }, + "New-CsTeamsAudioConferencingPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "New-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsAudioConferencingPolicy" + } + }, + "New-CsTeamsCallParkPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "New-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsCallParkPolicy" + } + }, + "New-CsTeamsCortanaPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "New-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsCortanaPolicy" + } + }, + "New-CsTeamsEmergencyCallRoutingPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "New-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsEmergencyCallRoutingPolicy" + } + }, + "New-CsTeamsEmergencyNumber": { + "CmdletType": "Remoting", + "ModernCmdlet": "New-CsTeamsEmergencyNumberHelper", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "New-CsTeamsIPPhonePolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "New-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsIPPhonePolicy" + } + }, + "New-CsTeamsMeetingBroadcastPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "New-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsMeetingBroadcastPolicy" + } + }, + "New-CsTeamsEventsPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "New-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsEventsPolicy" + } + }, + "New-CsTeamsMobilityPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "New-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsMobilityPolicy" + } + }, + "New-CsTeamsNetworkRoamingPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "New-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsNetworkRoamingPolicy" + } + }, + "New-CsTeamsSurvivableBranchAppliance": { + "CmdletType": "Remoting", + "ModernCmdlet": "New-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsSurvivableBranchAppliance" + } + }, + "New-CsTeamsSurvivableBranchAppliancePolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "New-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsSurvivableBranchAppliancePolicy" + } + }, + "New-CsTeamsTranslationRule": { + "CmdletType": "Remoting", + "ModernCmdlet": "New-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsTranslationRule" + } + }, + "New-CsTeamsWorkLoadPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "New-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsWorkLoadPolicy" + } + }, + "New-CsTenantDialPlan": { + "CmdletType": "Remoting", + "ModernCmdlet": "New-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TenantDialPlan" + } + }, + "New-CsTenantNetworkRegion": { + "CmdletType": "Remoting", + "ModernCmdlet": "New-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TenantNetworkRegion" + } + }, + "New-CsTenantNetworkSite": { + "CmdletType": "Remoting", + "ModernCmdlet": "New-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TenantNetworkSite" + } + }, + "New-CsTenantNetworkSubnet": { + "CmdletType": "Remoting", + "ModernCmdlet": "New-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TenantNetworkSubnet" + } + }, + "New-CsTenantTrustedIPAddress": { + "CmdletType": "Remoting", + "ModernCmdlet": "New-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TenantTrustedIPAddress" + } + }, + "New-CsVideoInteropServiceProvider": { + "CmdletType": "Remoting", + "ModernCmdlet": "New-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "VideoInteropServiceProvider" + } + }, + "New-CsVoiceNormalizationRule": { + "CmdletType": "Remoting", + "ModernCmdlet": "New-CsVoiceNormalizationRuleHelper", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Register-CsOnlineDialInConferencingServiceNumber": { + "CmdletType": "Remoting", + "ModernCmdlet": "Register-CsOdcServiceNumber", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Remove-CsApplicationAccessPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "ApplicationAccessPolicy" + } + }, + "Remove-CsAutoAttendant": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Remove-CsCallingLineIdentity": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "CallingLineIdentity" + } + }, + "Remove-CsCallQueue": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Remove-CsHybridTelephoneNumber": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Remove-CsInboundBlockedNumberPattern": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "InboundBlockedNumberPattern" + } + }, + "Remove-CsInboundExemptNumberPattern": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "InboundExemptNumberPattern" + } + }, + "Remove-CsOnlineApplicationInstanceAssociation": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Remove-CsOnlineAudioConferencingRoutingPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "OnlineAudioConferencingRoutingPolicy" + } + }, + "Remove-CsOnlineDialInConferencingTenantSettings": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "OnlineDialInConferencingTenantSettings" + } + }, + "Remove-CsOnlineLisCivicAddress": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsOnlineLisCivicAddressModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Remove-CsOnlineLisLocation": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsOnlineLisLocationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Remove-CsOnlineLisPort": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsOnlineLisPortModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Remove-CsOnlineLisSubnet": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsOnlineLisSubnetModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Remove-CsOnlineLisSwitch": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsOnlineLisSwitchModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Remove-CsOnlineLisWirelessAccessPoint": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsOnlineLisWirelessAccessPointModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Remove-CsOnlinePSTNGateway": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "OnlinePSTNGateway" + } + }, + "Remove-CsOnlineSchedule": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Remove-CsOnlineTelephoneNumber": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsOnlineTelephoneNumberModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Remove-CsOnlineVoiceRoute": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "OnlineVoiceRoute" + } + }, + "Remove-CsOnlineVoiceRoutingPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "OnlineVoiceRoutingPolicy" + } + }, + "Remove-CsTeamsAudioConferencingPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsAudioConferencingPolicy" + } + }, + "Remove-CsTeamsCallParkPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsCallParkPolicy" + } + }, + "Remove-CsTeamsCortanaPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsCortanaPolicy" + } + }, + "Remove-CsTeamsEmergencyCallRoutingPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsEmergencyCallRoutingPolicy" + } + }, + "Remove-CsTeamsIPPhonePolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsIPPhonePolicy" + } + }, + "Remove-CsTeamsMeetingBroadcastPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsMeetingBroadcastPolicy" + } + }, + "Remove-CsTeamsEventsPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsEventsPolicy" + } + }, + "Remove-CsTeamsMobilityPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsMobilityPolicy" + } + }, + "Remove-CsTeamsNetworkRoamingPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsNetworkRoamingPolicy" + } + }, + "Remove-CsTeamsNotificationAndFeedsPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsNotificationAndFeedsPolicy" + } + }, + "Remove-CsTeamsSurvivableBranchAppliance": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsSurvivableBranchAppliance" + } + }, + "Remove-CsTeamsSurvivableBranchAppliancePolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsSurvivableBranchAppliancePolicy" + } + }, + "Remove-CsTeamsTargetingPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsTargetingPolicy" + } + }, + "Remove-CsTeamsTranslationRule": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsTranslationRule" + } + }, + "Remove-CsTeamsWorkLoadPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsWorkLoadPolicy" + } + }, + "Remove-CsTenantDialPlan": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TenantDialPlan" + } + }, + "Remove-CsTenantNetworkRegion": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TenantNetworkRegion" + } + }, + "Remove-CsTenantNetworkSite": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TenantNetworkSite" + } + }, + "Remove-CsTenantNetworkSubnet": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TenantNetworkSubnet" + } + }, + "Remove-CsTenantTrustedIPAddress": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TenantTrustedIPAddress" + } + }, + "Remove-CsVideoInteropServiceProvider": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "VideoInteropServiceProvider" + } + }, + "Set-CsApplicationAccessPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "ApplicationAccessPolicy" + } + }, + "Set-CsApplicationMeetingConfiguration": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "ApplicationMeetingConfiguration" + } + }, + "Set-CsAutoAttendant": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Set-CsCallingLineIdentity": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "CallingLineIdentity" + } + }, + "Set-CsCallQueue": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Set-CsInboundBlockedNumberPattern": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "InboundBlockedNumberPattern" + } + }, + "Set-CsInboundExemptNumberPattern": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "InboundExemptNumberPattern" + } + }, + "Set-CsOnlineApplicationInstance": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsOnlineApplicationInstanceV2", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Set-CsOnlineAudioConferencingRoutingPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "OnlineAudioConferencingRoutingPolicy" + } + }, + "Set-CsOnlineDialInConferencingBridge": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Set-CsOnlineDialInConferencingServiceNumber": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsOdcServiceNumber", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Set-CsOnlineDialInConferencingTenantSettings": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "OnlineDialInConferencingTenantSettings" + } + }, + "Set-CsOnlineDialInConferencingUser": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Set-CsOnlineDialInConferencingUserDefaultNumber": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Set-CsOnlineEnhancedEmergencyServiceDisclaimer": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsOnlineEnhancedEmergencyServiceDisclaimerModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Set-CsOnlineLisCivicAddress": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsOnlineLisCivicAddressModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Set-CsOnlineLisLocation": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsOnlineLisLocationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Set-CsOnlineLisPort": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsOnlineLisPortModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Set-CsOnlineLisSubnet": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsOnlineLisSubnetModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Set-CsOnlineLisSwitch": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsOnlineLisSwitchModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Set-CsOnlineLisWirelessAccessPoint": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsOnlineLisWirelessAccessPointModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Set-CsOnlinePSTNGateway": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "OnlinePSTNGateway" + } + }, + "Set-CsOnlinePstnUsage": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "OnlinePstnUsages" + } + }, + "Set-CsOnlineSchedule": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Set-CsOnlineVoiceApplicationInstance": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsOnlineVoiceApplicationInstanceV2", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Set-CsOnlineVoicemailUserSettings": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Set-CsOnlineVoiceRoute": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "OnlineVoiceRoute" + } + }, + "Set-CsOnlineVoiceRoutingPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "OnlineVoiceRoutingPolicy" + } + }, + "Set-CsOnlineVoiceUser": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsOnlineVoiceUserV2", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Set-CsPrivacyConfiguration": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "PrivacyConfiguration" + } + }, + "Set-CsTeamsAcsFederationConfiguration": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsAcsFederationConfiguration" + } + }, + "Set-CsTeamsAudioConferencingPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsAudioConferencingPolicy" + } + }, + "Set-CsTeamsCallParkPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsCallParkPolicy" + } + }, + "Set-CsTeamsClientConfiguration": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsClientConfiguration" + } + }, + "Set-CsTeamsCortanaPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsCortanaPolicy" + } + }, + "Set-CsTeamsEducationAssignmentsAppPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsEducationAssignmentsAppPolicy" + } + }, + "Set-CsTeamsEmergencyCallRoutingPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsEmergencyCallRoutingPolicy" + } + }, + "Set-CsTeamsGuestCallingConfiguration": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsGuestCallingConfiguration" + } + }, + "Set-CsTeamsGuestMeetingConfiguration": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsGuestMeetingConfiguration" + } + }, + "Set-CsTeamsGuestMessagingConfiguration": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsGuestMessagingConfiguration" + } + }, + "Set-CsTeamsIPPhonePolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsIPPhonePolicy" + } + }, + "Set-CsTeamsMeetingBroadcastConfiguration": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsMeetingBroadcastConfiguration" + } + }, + "Set-CsTeamsMeetingBroadcastPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsMeetingBroadcastPolicy" + } + }, + "Set-CsTeamsEventsPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsEventsPolicy" + } + }, + "Set-CsTeamsMigrationConfiguration": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsMigrationConfiguration" + } + }, + "Set-CsTeamsMobilityPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsMobilityPolicy" + } + }, + "Set-CsTeamsNetworkRoamingPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsNetworkRoamingPolicy" + } + }, + "Set-CsTeamsNotificationAndFeedsPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsNotificationAndFeedsPolicy" + } + }, + "Set-CsTeamsShiftsAppPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsShiftsAppPolicy" + } + }, + "Set-CsTeamsSurvivableBranchAppliance": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsSurvivableBranchAppliance" + } + }, + "Set-CsTeamsSurvivableBranchAppliancePolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsSurvivableBranchAppliancePolicy" + } + }, + "Set-CsTeamsTargetingPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsTargetingPolicy" + } + }, + "Set-CsTeamsTranslationRule": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsTranslationRule" + } + }, + "Set-CsTeamsWorkLoadPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsWorkLoadPolicy" + } + }, + "Set-CsTenantBlockedCallingNumbers": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TenantBlockedCallingNumbers" + } + }, + "Set-CsTenantDialPlan": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TenantDialPlan" + } + }, + "Set-CsTenantFederationConfiguration": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TenantFederationSettings" + } + }, + "Set-CsTenantMigrationConfiguration": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TenantMigrationConfiguration" + } + }, + "Set-CsTenantNetworkRegion": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TenantNetworkRegion" + } + }, + "Set-CsTenantNetworkSite": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TenantNetworkSite" + } + }, + "Set-CsTenantNetworkSubnet": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TenantNetworkSubnet" + } + }, + "Set-CsTenantTrustedIPAddress": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TenantTrustedIPAddress" + } + }, + "Set-CsUser": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsUserModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Set-CsVideoInteropServiceProvider": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "VideoInteropServiceProvider" + } + }, + "Start-CsExMeetingMigration": { + "CmdletType": "Remoting", + "ModernCmdlet": "Start-CsMeetingMigrationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Sync-CsOnlineApplicationInstance": { + "CmdletType": "Remoting", + "ModernCmdlet": "Sync-CsOnlineApplicationInstanceV2", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsOnlineApplicationInstanceDiagnosticData": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Test-CsEffectiveTenantDialPlan": { + "CmdletType": "Remoting", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ModernCmdlet": "Test-CsEffectiveTenantDialPlanModern", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Test-CsInboundBlockedNumberPattern": { + "CmdletType": "Remoting", + "ModernCmdlet": "Test-CsInboundBlockedNumberPatternModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Test-CsTeamsUnassignedNumberTreatment": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Test-CsTeamsTranslationRule": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Test-CsVoiceNormalizationRule": { + "CmdletType": "Remoting", + "ModernCmdlet": "Test-CsVoiceNormalizationRuleModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Unregister-CsOnlineDialInConferencingServiceNumber": { + "CmdletType": "Remoting", + "ModernCmdlet": "Unregister-CsOdcServiceNumber", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Update-CsAutoAttendant": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Set-CsTeamsUnassignedNumberTreatment": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsUnassignedNumberTreatment" + } + }, + "Remove-CsTeamsUnassignedNumberTreatment": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsUnassignedNumberTreatment" + } + }, + "New-CsTeamsUnassignedNumberTreatment": { + "CmdletType": "Remoting", + "ModernCmdlet": "New-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsUnassignedNumberTreatment" + } + }, + "Get-CsTeamsUnassignedNumberTreatment": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsUnassignedNumberTreatment" + } + }, + "Get-CsTeamsEnhancedEncryptionPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsEnhancedEncryptionPolicy" + } + }, + "Set-CsTeamsEnhancedEncryptionPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsEnhancedEncryptionPolicy" + } + }, + "Remove-CsTeamsEnhancedEncryptionPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsEnhancedEncryptionPolicy" + } + }, + "New-CsTeamsEnhancedEncryptionPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "New-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsEnhancedEncryptionPolicy" + } + }, + "Get-CsTeamsRoomVideoTeleConferencingPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Get-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsRoomVideoTeleConferencingPolicy" + } + }, + "Set-CsTeamsRoomVideoTeleConferencingPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Set-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsRoomVideoTeleConferencingPolicy" + } + }, + "Remove-CsTeamsRoomVideoTeleConferencingPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Remove-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsRoomVideoTeleConferencingPolicy" + } + }, + "New-CsTeamsRoomVideoTeleConferencingPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "New-CsConfigurationModern", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "ConfigType": "TeamsRoomVideoTeleConferencingPolicy" + } + }, + "Grant-CsTeamsRoomVideoTeleConferencingPolicy": { + "CmdletType": "Remoting", + "ModernCmdlet": "Grant-CsTeamsPolicy", + "AutoRestModuleName": "Microsoft.Teams.ConfigAPI.Cmdlets", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ], + "DefaultAutoRestParameters": { + "PolicyType": "TeamsRoomVideoTeleConferencingPolicy" + } + }, + "Get-CsUserCallingSettings": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Set-CsUserCallingSettings": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "New-CsUserCallingDelegate": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Set-CsUserCallingDelegate": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Remove-CsUserCallingDelegate": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Set-CsOCEContext": { + "CmdletType": "Custom", + "ExportsTo": [ + "Torus" + ] + }, + "Clear-CsOCEContext": { + "CmdletType": "Custom", + "ExportsTo": [ + "Torus" + ] + }, + "Set-CsRegionContext": { + "CmdletType": "Custom", + "ExportsTo": [ + "Torus" + ] + }, + "Get-CsRegionContext": { + "CmdletType": "Custom", + "ExportsTo": [ + "Torus" + ] + }, + "Clear-CsRegionContext": { + "CmdletType": "Custom", + "ExportsTo": [ + "Torus" + ] + }, + "Get-CsMeetingMigrationTransactionHistory": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "Torus" + ] + }, + "Get-CsCloudTenant": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "SelfHost", + "Torus" + ] + }, + "Get-CsCloudUser": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "SelfHost", + "Torus" + ] + }, + "Get-CsTeamsSettingsCustomApp": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Set-CsTeamsSettingsCustomApp": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost" + ] + }, + "Remove-CsUserLicenseGracePeriod": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "TeamsGA", + "TeamsPreview", + "SelfHost", + "Torus" + ] + }, + "Get-CsAadTenant": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "SelfHost", + "Torus" + ] + }, + "Get-CsAadUser": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "SelfHost", + "Torus" + ] + }, + "Clear-CsCacheOperation": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "SelfHost", + "Torus" + ] + }, + "Move-CsAvsTenantPartition": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "SelfHost", + "Torus" + ] + }, + "Invoke-CsMsodsSync": { + "CmdletType": "AutoRest", + "ExportsTo": [ + "SelfHost", + "Torus" + ] + } + } +} \ No newline at end of file diff --git a/Modules/MicrosoftTeams/6.4.0/custom/Merged_custom_PsExt.ps1 b/Modules/MicrosoftTeams/6.4.0/custom/Merged_custom_PsExt.ps1 new file mode 100644 index 000000000000..77d2def2e4e8 --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/custom/Merged_custom_PsExt.ps1 @@ -0,0 +1,10772 @@ +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this file is to throw an error message that it is deprecated or there is equivalent cmdlets that do the work + +function Invoke-CsDeprecatedError { + [CmdletBinding()] + param( + [Parameter(Mandatory=$true)] + [System.String] + # Error action. + ${DeprecatedErrorMessage}, + + [Parameter(Mandatory=$false)] + [System.Collections.Hashtable] + $PropertyBag + ) + + process { + Write-Error -Message $DeprecatedErrorMessage + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Format enum of the cmdlet output + +class ProcessedGetOnlineEnhancedEmergencyServiceDisclaimerResponse { + [string]$Country + [string]$Version + [string]$Content + [string]$Response + [string]$RespondedByObjectId + [DateTime]$ResponseTimestamp + [string]$CorrelationId + [string]$Locale +} + +function Get-CsOnlineEnhancedEmergencyServiceDisclaimerModern { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$true)] + [System.String] + # CountryOrRegion of the Emergency Disclaimer + ${CountryOrRegion}, + + [Parameter(Mandatory=$false)] + [System.String] + # Version of the Emergency Disclaimer + ${Version}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try + { + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $edresponse = '' + + $input = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsOnlineEnhancedEmergencyServiceDisclaimer @PSBoundParameters -ErrorAction Stop @httpPipelineArgs + + if ($input -ne $null -and $input.Response -ne $null) + { + switch ($input.Response) + { + 0 {$edresponse = 'None'} + 1 {$edresponse = 'Accepted'} + 2 {$edresponse = 'NotAccepted'} + } + + $result = [ProcessedGetOnlineEnhancedEmergencyServiceDisclaimerResponse]::new() + $result.Content = $input.Content + $result.CorrelationId = $input.CorrelationId + $result.Country = $input.Country + $result.Locale = $input.Locale + $result.RespondedByObjectId = $input.RespondedByObjectId + $result.Response = $edresponse + $result.ResponseTimestamp = $input.ResponseTimestamp + $result.Version = $input.Version + + return $result + } + } + catch + { + Write-Host $_ + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Provide option to Accept or Reject Disclaimer + +class ProcessedSetOnlineEnhancedEmergencyServiceDisclaimerResponse { + [string]$Country + [string]$Version + [string]$Content + [string]$Response + [string]$RespondedByObjectId + [DateTime]$ResponseTimestamp + [string]$CorrelationId + [string]$Locale +} + +function Set-CsOnlineEnhancedEmergencyServiceDisclaimerModern { + [CmdletBinding(PositionalBinding=$false)] + param( + [Parameter(Mandatory=$true, position=0)] + [System.String] + # CountryOrRegion of the Emergency Disclaimer + ${CountryOrRegion}, + [Parameter(Mandatory=$false, position=1)] + [System.String] + # Version of the Emergency Disclaimer + ${Version}, + [Parameter(Mandatory=$false)] + [System.Management.Automation.SwitchParameter] + # ForceAccept Emergency Disclaimer, Disclaimer will pop up without this parameter provided + ${ForceAccept}, + [Parameter(Mandatory=$false)] + [System.String] + # Response of the Emergency Disclaimer + ${Response}, + [Parameter(Mandatory=$false)] + [System.String] + # RespondedByObjectId of the Emergency Disclaimer + ${RespondedByObjectId}, + [Parameter(Mandatory=$false)] + [System.String] + # ResponseTimestamp of the Emergency Disclaimer + ${ResponseTimestamp}, + [Parameter(Mandatory=$false)] + [System.String] + # Locale of the Emergency Disclaimer + ${Locale}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $ged = $null + $edContent = $null + $edCountry = $null + $edVersion = $null + $edResponse = $null + $edRespondedByObjectId = $null + $edResponseTimestamp = $null + $edLocale = $null + + try + { + $ged = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsOnlineEnhancedEmergencyServiceDisclaimer @PSBoundParameters -ErrorAction Stop @httpPipelineArgs + $edContent = Out-String -InputObject $ged.Content + $edCountry = Out-String -InputObject $ged.Country + $edVersion = Out-String -InputObject $ged.Version + $edResponse = Out-String -InputObject $ged.Response + $edRespondedByObjectId = Out-String -InputObject $ged.RespondedByObjectId + $edResponseTimestamp = [DateTime]::UtcNow.ToString('u') + $edLocale = Out-String -InputObject $ged.Locale + + if ([string]::IsNullOrEmpty($edContent)) + { + $DiagnosticCode = Out-String -InputObject $ged.DiagnosticCode + $DiagnosticCorrelationId = Out-String -InputObject $ged.DiagnosticCorrelationId + #$DiagnosticDebugContent = Out-String -InputObject $ged.DiagnosticDebugContent + $DiagnosticGenevaLogsUrl = Out-String -InputObject $ged.DiagnosticGenevaLogsUrl + $DiagnosticReason = Out-String -InputObject $ged.DiagnosticReason + $DiagnosticSubCode = Out-String -InputObject $ged.DiagnosticSubCode + + Write-Host "DiagnosticCode : "$DiagnosticCode + Write-Host "DiagnosticCorrelationId :" $DiagnosticCorrelationId + #Write-Host $DiagnosticDebugContent + Write-Host "DiagnosticGenevaLogsUrl : " $DiagnosticGenevaLogsUrl + Write-Host "DiagnosticReason : " $DiagnosticReason + Write-Host "DiagnosticSubCode : "$DiagnosticSubCode + Return + } + } catch { + throw + } + + if(!${ForceAccept}) + { + $confirmation = Read-Host $edContent"`n[Y] Yes [N] No (default is `"N`")" + switch($confirmation) { + 'Y' { + Break + } + Default { + Return + } + } + + } else { + $null = $PSBoundParameters.Remove('ForceAccept') + } + + try { + + [System.String[]]$global:configscopes = @("48ac35b8-9aa8-4d74-927d-1f4a14a0b239/user_impersonation") + + Write-Host "Timestamp " $edResponseTimestamp + + $edResponse = 1 + + Microsoft.Teams.ConfigAPI.Cmdlets.internal\Set-CsOnlineEnhancedEmergencyServiceDisclaimer -Country ${CountryOrRegion} -Version ${Version} -Content $edContent -Response $edResponse -RespondedByObjectId $edRespondedByObjectId -ResponseTimestamp $edResponseTimestamp -Locale ${Locale} -ErrorAction Stop @httpPipelineArgs + } catch { + throw + } + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: transforming the results to the custom objects + +function Get-CsConfigurationModern { + [CmdletBinding(DefaultParameterSetName = 'ConfigType')] + param( + [Parameter(Mandatory=$true, ParameterSetName='ConfigType')] + [Parameter(Mandatory=$true, ParameterSetName='Identity')] + [Parameter(Mandatory=$true, ParameterSetName='Filter')] + [System.String] + # Type of configuration retrieved. + ${ConfigType}, + + [Parameter(Mandatory=$true, ParameterSetName='Identity')] + [System.String] + # Name of configuration retrieved. + ${Identity}, + + [Parameter(Mandatory=$true, ParameterSetName='Filter')] + [System.String] + # Name of configuration retrieved. + ${Filter}, + + [Parameter(Mandatory=$false)] + [System.Collections.Hashtable] + ${PropertyBag}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $null = $customCmdletUtils.ProcessArgs() + + $xdsConfigurationOutput0 = $null + + $HashArguments = @{ ConfigType = $ConfigType} + + if (![string]::IsNullOrWhiteSpace($Identity)) + { + $HashArguments.Add('ConfigName', $Identity) + } + + $TeamsMeetingBroadcastConfiguration_FixupFormat = $false + + if($PropertyBag -ne $null) + { + if($ConfigType -eq 'TeamsMeetingBroadcastConfiguration') + { + if($PropertyBag['ExposeSDNConfigurationJsonBlob'] -eq $true) + { + $TeamsMeetingBroadcastConfiguration_FixupFormat = $true + $HashArguments.Add('HttpPipelinePrepend', { param($req, $callback, $next ) $req.RequestUri = [Uri]($req.RequestUri.ToString() + '?ExposeSDNConfigurationJsonBlob=true'); return $next.SendAsync($req, $callback); }) + } + } + else + { + #ignore + } + } + + $null = $customCmdletUtils.PutHttpPipelineSteps($HashArguments) + + $xdsConfigurationOutput0 = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsConfiguration @HashArguments + + $xdsConfigurationOutput = ($xdsConfigurationOutput0 | %{ + Convert-PsCustomObjectToPsObject (ConvertFrom-Json -InputObject $_) + }) + + if (![string]::IsNullOrWhiteSpace($Filter)) + { + $xdsConfigurationOutput = $xdsConfigurationOutput | Where-Object {($_.Identity -Like "$Filter") -or ($_.Identity -Like "Tag:$Filter")} + } + + $xdsConfigurationOutput = $xdsConfigurationOutput | %{ Set-FormatOnConfigObject -ConfigObject $_ -ConfigType $ConfigType } + + if($ConfigType -eq 'TenantFederationSettings') + { + $xdsConfigurationOutput = $xdsConfigurationOutput | %{ Convert-PsCustomObjectToPsObject (Set-FixTenantFedConfigObject -ConfigObject $_) } + } + + if($ConfigType -eq 'OnlinePSTNGateway') + { + $xdsConfigurationOutput = $xdsConfigurationOutput | %{ Convert-PsCustomObjectToPsObject (Set-FixTypoInOnlinePSTNGatewayConfigObject -ConfigObject $_) } + } + + if($TeamsMeetingBroadcastConfiguration_FixupFormat) + { + #why are we special handling this? when legacy is run, the format type name is sdnconfigurationextension which is not a wellknown type inside SfbRpsModule.format.ps1xml + #so we hack this here so that we order them and select what we need (so we dont return key, datasource) + $xdsConfigurationOutput = ($xdsConfigurationOutput | select Identity, SupportURL, AllowSdnProviderForBroadcastMeeting, SdnName, SdnLicenseId, SdnAzureSubscriptionId, SdnApiTemplateUrl, SdnApiToken, SdnRuntimeconfiguration, SdnAttendeeFallbackCount) + } + + return (Sort-GlobalFirst $xdsConfigurationOutput) + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} + +# output Identity=Global before other identities +function Sort-GlobalFirst($out) +{ + # keep legacy behavior to return nothing instead of $null when nothing is found + if (($out | measure).Count -eq 0) { return } + + $out | ?{ $_.Identity -eq "Global" } + $out | ?{ $_.Identity -ne "Global" } +} + +# convert PSCustom Object to PSObject by using psserializer +function Custom-ToString($xnode) +{ + $props_to_hide = @("Element","XsAnyElements","XsAnyAttributes") + + $nodes = $xnode.SelectNodes('*[name() = "MS" or name() = "Props"]/*') + $values = ($nodes | % { + if ($_.N -notin $props_to_hide) + { + $val = $_.SelectSingleNode("text()").Value + if ($_.Name -eq "B") { $val = [bool]::Parse($val)} + "$($_.N)=$val" + } + }) + if ($values) { [string]::Join(";", $values) } +} + +function Convert-PsCustomObjectToPsObject($in) +{ + $serialized = [System.Management.Automation.PSSerializer]::Serialize($in) + $xml = [xml]$serialized + foreach ($obj in $xml.GetElementsByTagName("Obj")) + { + if ($obj.Item("LST") -eq $null -and $obj.Item("Props") -eq $null) + { + $props = $xml.CreateElement("Props", $xml.Objs.xmlns) + $null = $obj.PrependChild($props) + + if ($obj.Item("ToString") -eq $null) + { + $text = Custom-ToString $obj + if ($text -ne $null) + { + $tostring = $xml.CreateElement("ToString", $xml.Objs.xmlns) + $tostring.InnerText = $text + $null = $obj.PrependChild($tostring) + } + } + } + } + return [System.Management.Automation.PSSerializer]::Deserialize($xml.OuterXml) +} + +function Get-FormatsForConfig { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$true, position=0)] + [string] + # The int status from status record + ${ConfigType} + ) + process { + # order of values like value1 and value2 is important in lines like "ConfigType=value1, value2" + $mappings = @( + "ApplicationAccessPolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Meeting.ApplicationAccessPolicy", + "ApplicationMeetingConfiguration=Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.PlatformApplications.ApplicationMeetingConfiguration", + "CallingLineIdentity=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.CallingLineIdentity", + "DialPlan=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.LocationProfile", + "ExternalAccessPolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.ExternalAccess.ExternalAccessPolicy", + "InboundBlockedNumberPattern=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.InboundBlockedNumberPattern#Decorated,Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.InboundBlockedNumberPattern", + "InboundExemptNumberPattern=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.InboundExemptNumberPattern#Decorated,Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.InboundExemptNumberPattern", + "OnlineAudioConferencingRoutingPolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.OnlineAudioConferencingRoutingPolicy", + "OnlineDialinConferencingPolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.OnlineDialinConferencing.OnlineDialinConferencingPolicy", + "OnlineDialinConferencingTenantConfiguration=Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.OnlineDialInConferencing.OnlineDialinConferencingTenantConfiguration", + "OnlineDialInConferencingTenantSettings=Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.OnlineDialInConferencing.OnlineDialInConferencingTenantSettings", + "OnlineDialInConferencingTenantSettings.AllowedDialOutExternalDomains=Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.OnlineDialInConferencing.OnlineDialInConferencingAllowedDomain", + "OnlineDialOutPolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.OnlineDialOut.OnlineDialOutPolicy", + "OnlinePSTNGateway=Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.AzurePSTNTrunkConfiguration.TrunkConfig#Decorated2,Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.AzurePSTNTrunkConfiguration.TrunkConfig", + "OnlinePstnUsages=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.OnlinePstnUsages", + "OnlineVoicemailPolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.OnlineVoicemail.OnlineVoicemailPolicy", + "OnlineVoiceRoute=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.OnlineRoute#Decorated", + "OnlineVoiceRoutingPolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.OnlineVoiceRoutingPolicy", + "PrivacyConfiguration=Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.UserServices.PrivacyConfiguration", + "TeamsAcsFederationConfiguration=Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.AcsConfiguration.TeamsAcsFederationConfiguration", + "TeamsAppPermissionPolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsAppPermissionPolicy", + "TeamsAppPermissionPolicy.DefaultCatalogApps=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.DefaultCatalogApp", + "TeamsAppPermissionPolicy.GlobalCatalogApps=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.GlobalCatalogApp", + "TeamsAppPermissionPolicy.PrivateCatalogApps=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.PrivateCatalogApp", + "TeamsAppSetupPolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsAppSetupPolicy", + "TeamsAppSetupPolicy.AppPresetList=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.AppPreset", + "TeamsAppSetupPolicy.AppPresetMeetingList=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.AppPresetMeeting", + "TeamsAppSetupPolicy.PinnedAppBarApps=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.PinnedApp", + "TeamsAppSetupPolicy.PinnedMessageBarApps=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.PinnedMessageBarApp", + "TeamsAudioConferencingPolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.TeamsAudioConferencing.TeamsAudioConferencingPolicy", + "TeamsCallHoldPolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsCallHoldPolicy", + "TeamsCallingPolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsCallingPolicy", + "TeamsCallParkPolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsCallParkPolicy", + "TeamsChannelsPolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsChannelsPolicy", + "TeamsClientConfiguration=Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TeamsConfiguration.TeamsClientConfiguration", + "TeamsComplianceRecordingApplication=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.ComplianceRecordingApplication#Decorated,Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.ComplianceRecordingApplication", + "TeamsComplianceRecordingApplication.ComplianceRecordingPairedApplications=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.ComplianceRecordingPairedApplication", + "TeamsComplianceRecordingPolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsComplianceRecordingPolicy", + "TeamsComplianceRecordingPolicy.ComplianceRecordingApplications=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.ComplianceRecordingApplication", + "TeamsCortanaPolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsCortanaPolicy", + "TeamsEducationAssignmentsAppPolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsEducationAssignmentsAppPolicy", + "TeamsEducationConfiguration=Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TeamsConfiguration.TeamsEducationConfiguration", + "TeamsEmergencyCallingPolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsEmergencyCallingPolicy", + "TeamsEmergencyCallRoutingPolicy.EmergencyNumbers=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsEmergencyNumber", + "TeamsEmergencyCallRoutingPolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsEmergencyCallRoutingPolicy", + "TeamsFeedbackPolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsFeedbackPolicy", + "TeamsGuestCallingConfiguration=Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TeamsConfiguration.TeamsGuestCallingConfiguration", + "TeamsGuestMeetingConfiguration=Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TeamsConfiguration.TeamsGuestMeetingConfiguration", + "TeamsGuestMessagingConfiguration=Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TeamsConfiguration.TeamsGuestMessagingConfiguration", + "TeamsIPPhonePolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsIPPhonePolicy", + "TeamsMeetingBroadcastConfiguration=Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TeamsConfiguration.TeamsMeetingBroadcastConfiguration", + "TeamsMeetingBroadcastPolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsMeetingBroadcastPolicy", + "TeamsMeetingConfiguration=Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TeamsMeetingConfiguration.TeamsMeetingConfiguration", + "TeamsMeetingPolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Meeting.TeamsMeetingPolicy", + "TeamsMessagingPolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsMessagingPolicy", + "TeamsMigrationConfiguration=Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TeamsMigrationConfiguration.TeamsMigrationConfiguration", + "TeamsMobilityPolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsMobilityPolicy", + "TeamsNetworkRoamingPolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsNetworkRoamingPolicy", + "TeamsNotificationAndFeedsPolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsNotificationAndFeedsPolicy", + "TeamsShiftsAppPolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsShiftsAppPolicy", + "TeamsShiftsPolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsShiftsPolicy", + "TeamsSurvivableBranchAppliance=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.SurvivableBranchAppliance#Decorated", + "TeamsSurvivableBranchAppliancePolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.TeamsBranchSurvivabilityPolicy", + "TeamsTranslationRule=Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.AzurePSTNTrunkConfiguration.PstnTranslationRule#Decorated", + "TeamsTargetingPolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsTargetingPolicy", + "TeamsUnassignedNumberTreatment=Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.UnassignedNumberTreatmentConfiguration.UnassignedNumberTreatment#Decorated", + "TeamsUpdateManagementPolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsUpdateManagementPolicy", + "TeamsUpgradeConfiguration=Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TeamsConfiguration.TeamsUpgradeConfiguration", + "TeamsUpgradePolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsUpgradePolicy", + "TeamsVdiPolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsVdiPolicy", + "TeamsVideoInteropServicePolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsVideoInteropServicePolicy", + "TeamsVoiceApplicationsPolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsVoiceApplicationsPolicy", + "TeamsWorkLoadPolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsWorkLoadPolicy", + "TenantBlockedCallingNumbers=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.TenantBlockedCallingNumbers", + "TenantBlockedCallingNumbers.InboundBlockedNumberPatterns=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.InboundBlockedNumberPattern", + "TenantBlockedCallingNumbers.InboundExemptNumberPatterns=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.InboundExemptNumberPattern", + "TenantDialPlan=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.TenantDialPlan", + "TenantDialPlan.NormalizationRules=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Voice.NormalizationRule", + "TenantFederationSettings=Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.Edge.TenantFederationSettings", + "TenantFederationSettings.AllowedDomains=Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.Edge.AllowList", + "TenantFederationSettings.BlockedDomains=Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.Edge.DomainPattern", + "TenantLicensingConfiguration=Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TenantConfiguration.TenantLicensingConfiguration", + "TenantMigrationConfiguration=Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TenantMigration.TenantMigrationConfiguration", + "TenantNetworkConfiguration=Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TenantNetworkConfiguration.TenantNetworkConfigurationSettings", + "TenantNetworkConfiguration.NetworkRegions=Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TenantNetworkConfiguration.NetworkRegionType#Decorated", + "TenantNetworkConfiguration.NetworkSites=Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TenantNetworkConfiguration.DisplayNetworkSiteWithExpandParametersType#Decorated", + "TenantNetworkConfiguration.Subnets=Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TenantNetworkConfiguration.SubnetType#Decorated", + "TenantNetworkRegion=Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TenantNetworkConfiguration.DisplayNetworkRegionType#Decorated", + "TenantNetworkSite=Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TenantNetworkConfiguration.DisplayNetworkSiteWithExpandParametersType#Decorated", + "TenantNetworkSubnet=Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TenantNetworkConfiguration.SubnetType#Decorated", + "TenantTrustedIPAddress=Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TenantNetworkConfiguration.TrustedIP#Decorated", + "TeamsFilesPolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsFilesPolicy", + "TeamsEnhancedEncryptionPolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsEnhancedEncryptionPolicy", + "TeamsMediaLoggingPolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsMediaLoggingPolicy", + "TeamsRoomVideoTeleConferencingPolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsRoomVideoTeleConferencingPolicy", + "TeamsEventsPolicy=Deserialized.Microsoft.Rtc.Management.WritableConfig.Policy.Teams.TeamsEventsPolicy", + "VideoInteropServiceProvider=Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TenantVideoInteropServiceConfiguration.VideoInteropServiceProvider#Decorated", + "HostingProvider=Microsoft.Rtc.Management.WritableConfig.Settings.Edge.Hosted.DisplayHostingProviderExtended" + ) + + $mappings | where {$_.StartsWith("$ConfigType")} + } +} + +function Set-FormatOnConfigObject { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$true)] + # Object on which typenames need to be set + ${ConfigObject}, + + [Parameter(Mandatory=$true)] + # Type of configuration + ${ConfigType} + ) + process { + $mappings = Get-FormatsForConfig -ConfigType $ConfigType + $parenttn = $mappings | where {$_.StartsWith("$ConfigType=")} + $parenttnList = $parenttn.Split("=")[1].Split(",") + $childtnmappings = $mappings | where {$_.StartsWith("$ConfigType.")} + + foreach ($inst in $ConfigObject) + { + for ($i = 0; $i -lt $parenttnList.Count; $i++) + { + $inst.PsObject.TypeNames.Insert($i, $parenttnList[$i]) + } + + foreach($tn in $childtnmappings) + { + $childtn = $tn.Split("=")[1] + $childPropName = $tn.Split("=")[0].Split(".")[1] + foreach($instc in $inst.$childPropName) + { + $instc.PsObject.TypeNames.Insert(0,$childtn) + } + } + } + + return $ConfigObject + } +} + +function Set-FixToStringOnAllowedDomains($in, $val) +{ + $serialized = [System.Management.Automation.PSSerializer]::Serialize($in) + $xml = [xml]$serialized + foreach ($obj in $xml.GetElementsByTagName("Obj")) + { + if ($obj.Attributes["N"].'#text' -eq 'AllowedDomains') + { + if ($obj.Item("ToString") -ne $null) + { + $obj.Item("ToString").'#text' = $val + } + } + } + return [System.Management.Automation.PSSerializer]::Deserialize($xml.OuterXml) +} + +function Set-FixTenantFedConfigObject { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$true)] + # Object for Get-CsTenantFederationConfiguration + ${ConfigObject} + ) + process { + if($ConfigObject.AllowedDomains.AllowedDomain -eq $null) + { + $ConfigObject.AllowedDomains = New-CsEdgeAllowAllKnownDomains -MsftInternalProcessingMode TryModern + } + elseif($ConfigObject.AllowedDomains.AllowedDomain.Count -eq 0) + { + $ConfigObject = Set-FixToStringOnAllowedDomains -val "" -in $ConfigObject + } + elseif($ConfigObject.AllowedDomains.AllowedDomain.Count -gt 0) + { + $str = "Domain=" + [string]::join(",Domain=",$ConfigObject.AllowedDomains.AllowedDomain.Domain) + $ConfigObject = Set-FixToStringOnAllowedDomains -val $str -in $ConfigObject + } + + return $ConfigObject + } +} + +#Add proerty OutboundTeamsNumberTranslationRules into the response object +function Set-FixTypoInOnlinePSTNGatewayConfigObject { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$true)] + # Object for Get-CsOnlinePSTNGateway + ${ConfigObject} + ) + process { + foreach ($inst in $ConfigObject) + { + $inst | Add-Member NoteProperty 'OutboundTeamsNumberTranslationRules' $inst.OutbundTeamsNumberTranslationRules + } + + return $ConfigObject + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Transfer $PolicyRankings from user's input from string[] to object[] + +function Grant-CsGroupPolicyPackageAssignment { + [OutputType([System.String])] + [CmdletBinding(DefaultParameterSetName='RequiredPolicyList', + PositionalBinding=$false, + SupportsShouldProcess, + ConfirmImpact='Medium')] + param( + [Parameter(Mandatory=$true, position=0)] + $GroupId, + + [Parameter(Mandatory=$false, position=1)] + [AllowNull()] + [AllowEmptyString()] + $PackageName, + + [Parameter(position=2)] + [System.String[]] + $PolicyRankings, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $Delimiters = ",", ".", ":", ";", " ", "`t" + [psobject[]]$InternalRankingList = @() + foreach ($PolicyTypeAndRank in $PolicyRankings) + { + $PolicyTypeAndRankArray = $PolicyTypeAndRank -Split {$Delimiters -contains $_}, 2 + $PolicyTypeAndRankArray = $PolicyTypeAndRankArray.Trim() + if ($PolicyTypeAndRankArray.Count -lt 2) + { + throw "Invalid Policy Type and Rank pair: $PolicyTypeAndRank. Please use a proper delimeter" + } + $PolicyTypeAndRankObject = [psobject]@{ + PolicyType = $PolicyTypeAndRankArray[0] + Rank = $PolicyTypeAndRankArray[1] -as [int] + } + $InternalRankingList += $PolicyTypeAndRankObject + } + $null = $PSBoundParameters.Remove("PolicyRankings") + $null = $PSBoundParameters.Add("PolicyRankings", $InternalRankingList) + Microsoft.Teams.ConfigAPI.Cmdlets.internal\Grant-CsGroupPolicyPackageAssignment @PSBoundParameters @httpPipelineArgs + } + catch + { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Integrate Grant-CsTeamsPolicy with Grant-CsUserPolicy, Grant-CsTenantPolicy, and Group grant + +function Grant-CsTeamsPolicy { + [CmdletBinding(PositionalBinding=$true, DefaultParameterSetName="Identity", SupportsShouldProcess=$true, ConfirmImpact='Medium')] + param( + [ArgumentCompleter({param ($CommandName, $ParameterName, $WordToComplete, $CommandAst, $FakeBoundParameters) return @("ApplicationAccessPolicy","BroadcastMeetingPolicy","CallingLineIdentity","ClientPolicy","CloudMeetingPolicy","ConferencingPolicy","DialoutPolicy","ExternalAccessPolicy","ExternalUserCommunicationPolicy","GraphPolicy","GroupPolicyPackageAssignment","HostedVoicemailPolicy","IPPhonePolicy","MobilityPolicy","OnlineAudioConferencingRoutingPolicy","OnlineVoicemailPolicy","OnlineVoiceRoutingPolicy","Policy","TeamsAppPermissionPolicy","TeamsAppSetupPolicy","TeamsAudioConferencingPolicy","TeamsCallHoldPolicy","TeamsCallingPolicy","TeamsCallParkPolicy","TeamsChannelsPolicy","TeamsComplianceRecordingPolicy","TeamsCortanaPolicy","TeamsEmergencyCallingPolicy","TeamsEmergencyCallRoutingPolicy","TeamsEnhancedEncryptionPolicy","TeamsFeedbackPolicy","TeamsFilesPolicy","TeamsIPPhonePolicy","TeamsMeetingBroadcastPolicy","TeamsMeetingPolicy","TeamsMessagingPolicy","TeamsMobilityPolicy","TeamsShiftsPolicy","TeamsSurvivableBranchAppliancePolicy","TeamsUpdateManagementPolicy","TeamsUpgradePolicy","TeamsVdiPolicy","TeamsVerticalPackagePolicy","TeamsVideoInteropServicePolicy","TeamsWorkLoadPolicy","TenantDialPlan","UserOrTenantPolicy","UserPolicyPackage","VoiceRoutingPolicy") | ?{ $_ -like "$WordToComplete*" } })] + [Parameter(Mandatory=$true)] + [System.String] + # Type of the policy + ${PolicyType}, + + [Parameter(Mandatory=$false, Position=1)] + [System.String] + # Name of the policy instance + ${PolicyName}, + + # Mandatory=$false allows for deprecated "identity=$null means Grant-to-tenant" behavior + # eventually we should set Mandatory=$true and require preferred -Global switch for that + [Parameter(Mandatory=$false, Position=0, ParameterSetName="Identity", ValueFromPipelineByPropertyName=$true, ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [System.String] + # Unique identifier for the user + ${Identity}, + + [Parameter(Mandatory=$true, Position=0, ParameterSetName="GrantToTenant")] + [Switch] + # Use global indicating grant to tenant + ${Global}, + + [Parameter(Mandatory=$true, Position=0, ParameterSetName="GrantToGroup")] + [ValidateNotNullOrEmpty()] + [System.String] + # Unique identifier for the group + ${Group}, + + [Parameter(Mandatory=$false, ParameterSetName="GrantToGroup")] + [Nullable[int]] + ${Rank}, + + [Parameter(Mandatory=$false)] + ${AdditionalParameters}, + + [Parameter(Mandatory=$false)] + [Switch] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try + { + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + if (-not $PSBoundParameters.ContainsKey("PolicyName")) + { + # this parameter should be Mandatory=$true, however the [AllowNull]/[AllowEmptyString] attributes don't get surfaced to the wrapper cmdlet that is generated + throw [System.Management.Automation.ParameterBindingException]::new("Cannot process command because of one or more missing mandatory parameters: PolicyName.") + } + + if ($PsCmdlet.ParameterSetName -eq "GrantToGroup") + { + $parameters = @{ + GroupId=$Group + PolicyType=$PolicyType + PolicyName=$PolicyName + } + if ($Rank) { $parameters["Rank"] = $Rank } + + Microsoft.Teams.ConfigAPI.Cmdlets.internal\Grant-CsGroupPolicyAssignment @parameters + } + elseif ([string]::IsNullOrWhiteSpace($Identity)) + { + if (-not $Global) + { + # The only way to grant to tenant is to use -Global + throw [System.Management.Automation.ParameterBindingException]::new("Cannot process command because of one or more missing mandatory parameters: Global.") + } + else + { + Microsoft.Teams.ConfigAPI.Cmdlets.internal\Grant-CsTenantPolicy -PolicyType $PolicyType -PolicyName $PolicyName -AdditionalParameters $AdditionalParameters -forceSwitchPresent:$Force + } + } + else + { + Microsoft.Teams.ConfigAPI.Cmdlets.internal\Grant-CsUserPolicy -Identity $Identity -PolicyType $PolicyType -PolicyName $PolicyName -AdditionalParameters $AdditionalParameters + } + } + catch + { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: transforming the results to the custom objects + +function New-CsConfigurationModern { + [CmdletBinding()] + param( + [Parameter(Mandatory=$true)] + [System.String] + # Type of configuration retrieved. + ${ConfigType}, + + [Parameter(Mandatory=$true)] + [System.Collections.Hashtable] + ${PropertyBag}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + #Todo: validate that $PropertyBag contains Identity or just depend on the service to reject otherwise + $xdsConfigurationOutput = $null + + Microsoft.Teams.ConfigAPI.Cmdlets.internal\New-CsConfiguration -ConfigType $ConfigType -Body $PropertyBag -ErrorVariable err @httpPipelineArgs + if ($err) { return } + + #Todo - Handle where new failed - because the identity already exists, rbac or someother server error + #Todo: Ensure to test this under TPM, given we are referring the Microsoft.Teams.ConfigAPI.Cmdlets module + $xdsConfigurationOutput = Get-CsConfigurationModern -ConfigType $ConfigType -Identity $PropertyBag['Identity'] + + $xdsConfigurationOutput + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: transforming the identity + +function Remove-CsConfigurationModern { + [CmdletBinding()] + param( + [Parameter(Mandatory=$true)] + [System.String] + # Type of configuration deleted. + ${ConfigType}, + + [Parameter(Mandatory=$true)] + [System.String] + # Name of configuration deleted. + ${Identity}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + Microsoft.Teams.ConfigAPI.Cmdlets.internal\Remove-CsConfiguration -ConfigType $ConfigType -ConfigName $Identity @httpPipelineArgs + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: transforming the results to the custom objects + +function Set-CsConfigurationModern { + [CmdletBinding()] + param( + [Parameter(Mandatory=$true)] + [System.String] + # Type of configuration retrieved. + ${ConfigType}, + + [Parameter(Mandatory=$true)] + [System.Collections.Hashtable] + ${PropertyBag}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + if(!($PropertyBag.ContainsKey('Identity'))) + { + $PropertyBag['Identity'] = "Global" + } + + Microsoft.Teams.ConfigAPI.Cmdlets.internal\Set-CsConfiguration -ConfigType $ConfigType -ConfigName $PropertyBag['Identity'] -Body $PropertyBag @httpPipelineArgs + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +function Clear-CsOnlineTelephoneNumberOrder { + [CmdletBinding(PositionalBinding=$false)] + param( + [Parameter(Mandatory=$true, position=0)] + [System.String] + # OrderId of the Search Order + ${OrderId}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $null = $PSBoundParameters.Add("Action", "Cancel") + Microsoft.Teams.ConfigAPI.Cmdlets.internal\Complete-CsOnlineTelephoneNumberOrder @PSBoundParameters -ErrorAction Stop @httpPipelineArgs + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +function Complete-CsOnlineTelephoneNumberOrder { + [CmdletBinding(PositionalBinding=$false)] + param( + [Parameter(Mandatory=$true, position=0)] + [System.String] + # OrderId of the Search Order + ${OrderId}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $null = $PSBoundParameters.Add("Action", "Complete") + Microsoft.Teams.ConfigAPI.Cmdlets.internal\Complete-CsOnlineTelephoneNumberOrder @PSBoundParameters -ErrorAction Stop @httpPipelineArgs + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +function Remove-CsOnlineTelephoneNumberModern { + [CmdletBinding(PositionalBinding=$false)] + param( + [Parameter(Mandatory=$true, position=0)] + [System.String[]] + # Telephone numbers to remove + ${TelephoneNumber}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + Microsoft.Teams.ConfigAPI.Cmdlets.internal\Remove-CsOnlineTelephoneNumberPrivate -TelephoneNumber $TelephoneNumber @httpPipelineArgs + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +function Remove-CsPhoneNumberAssignment { + [CmdletBinding(DefaultParameterSetName="RemoveSome")] + param( + [Parameter(Mandatory=$true, ParameterSetName='RemoveSome')] + [Parameter(Mandatory=$true, ParameterSetName='RemoveAll')] + [System.String] + ${Identity}, + + [Parameter(Mandatory=$true, ParameterSetName='RemoveSome')] + [System.String] + ${PhoneNumber}, + + [Parameter(Mandatory=$true, ParameterSetName='RemoveSome')] + [System.String] + ${PhoneNumberType}, + + [Parameter(Mandatory=$true, ParameterSetName='RemoveAll')] + [Switch] + ${RemoveAll}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + Microsoft.Teams.ConfigAPI.Cmdlets.internal\Remove-CsPhoneNumberAssignment @PSBoundParameters @httpPipelineArgs + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +function Set-CsPhoneNumberAssignment { + # Do not change this default parameter set. Since LocationUpdate parameter set is a subset + # of Assignment, changing default parameter set to something else will make Identity to be + # always requried and LocationUpdate never be executed. + [CmdletBinding(DefaultParameterSetName="LocationUpdate")] + param( + [Parameter(Mandatory=$true, ParameterSetName='Assignment')] + [Parameter(Mandatory=$true, ParameterSetName='Attribute')] + [System.String] + ${Identity}, + + [Parameter(Mandatory=$true, ParameterSetName='Assignment')] + [Parameter(Mandatory=$true, ParameterSetName='LocationUpdate')] + [Parameter(Mandatory=$true, ParameterSetName='NetworkSiteUpdate')] + [Parameter(Mandatory=$true, ParameterSetName='ReverseNumberLookupUpdate')] + [System.String] + ${PhoneNumber}, + + [Parameter(Mandatory=$true, ParameterSetName='Assignment')] + [System.String] + ${PhoneNumberType}, + + [Parameter(ParameterSetName='Assignment')] + [Parameter(Mandatory=$true, ParameterSetName='LocationUpdate')] + [System.String] + ${LocationId}, + + [Parameter(ParameterSetName='Assignment')] + [Parameter(Mandatory=$true, ParameterSetName='NetworkSiteUpdate')] + [System.String] + ${NetworkSiteId}, + + [Parameter(ParameterSetName='Assignment')] + [System.String] + ${AssignmentCategory}, + + [Parameter(ParameterSetName='Assignment')] + [Parameter(Mandatory=$true, ParameterSetName='ReverseNumberLookupUpdate')] + [System.String] + ${ReverseNumberLookup}, + + [Parameter(Mandatory=$true, ParameterSetName='Attribute')] + [System.Boolean] + ${EnterpriseVoiceEnabled}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + $result = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Set-CsPhoneNumberAssignment @PSBoundParameters @httpPipelineArgs + + if ($result -eq $null) { + return $null + } + + Write-Warning($result) + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Write diagnostic message back to console + +function Get-CsBusinessVoiceDirectoryDiagnosticData { + [CmdletBinding(PositionalBinding=$false)] + param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # PartitionKey of the table. + ${PartitionKey}, + + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Region to query Bvd table. + ${Region}, + + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Bvd table name. + ${Table}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # Optional resultSize. + ${ResultSize}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Optional row key. + ${RowKey}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try + { + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $internalOutput = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsBusinessVoiceDirectoryDiagnosticData @PSBoundParameters + + # Stop execution if internal cmdlet is failing + if ($internalOutput -eq $null) { + return $null + } + + $output = @() + foreach($internalProperty in $internalOutput.Property) + { + $entityProperty = [Microsoft.Rtc.Management.Hosted.Group.Models.EntityProperty]::new() + $entityProperty.ParseFrom($internalProperty) + $output += $entityProperty + } + + $output + } + catch + { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- +# Objective of this custom file: Integrate Get-CsOnlineDialinConferencingUser with Get-CsOdcUser and Search-CsOdcUser +function Get-CsOnlineDialInConferencingUser { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$false, position=0)] + [System.String] + # Unique identifier for the user + ${Identity}, + + [Parameter(Mandatory=$false)] + [System.Nullable[System.Int32]] + # Number of users to be returned + ${ResultSize}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + if (![string]::IsNullOrWhiteSpace($Identity)) + { + Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsOdcUser -Identity $Identity @httpPipelineArgs + } + else + { + Microsoft.Teams.ConfigAPI.Cmdlets.internal\Search-CsOdcUser -Top $ResultSize @httpPipelineArgs + } + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Format output of Register-CsOdcServiceNumber + +function Register-CsOdcServiceNumber { + [CmdletBinding(PositionalBinding=$false, DefaultParameterSetName="ById")] + param( + + [string] + [ValidateNotNullOrEmpty()] + [Parameter(Mandatory=$true, ParameterSetName="ById", Position=0)] + ${Identity}, + + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConferencingServiceNumber] + [ValidateNotNull()] + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ParameterSetName="ByInstance")] + ${Instance}, + + [string] + [ValidateNotNull()] + ${BridgeId}, + + [string] + [ValidateNotNullOrEmpty()] + ${BridgeName}, + + [switch] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend}) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + if ($Identity -ne "") + { + $output = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Register-CsOdcServiceNumber @PSBoundParameters @httpPipelineArgs + } + elseif ($Instance -ne $null) + { + $Body = [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConferencingServiceNumber]::new() + $Body.Number = $Instance.Number + $Body.PrimaryLanguage = $Instance.PrimaryLanguage + $Body.SecondaryLanguages = $Instance.SecondaryLanguages + + $output = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Register-CsOdcServiceNumber -Body $Body -BridgeId $BridgeId -BridgeName $BridgeName @httpPipelineArgs + } + + $output + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Format output of Set-CsOdcBridgeModern + +function Set-CsOnlineDialInConferencingBridge { + [CmdletBinding(PositionalBinding=$false)] + param( + [string] + ${Name}, + + [string] + ${DefaultServiceNumber}, + + [switch] + ${SetDefault}, + + [string] + ${Identity}, + + [switch] + ${Force}, + + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingBridge] + [Parameter(ValueFromPipeline)] + ${Instance}, + + [switch] + ${AsJob}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend}) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + if ($Identity -ne "") { + # This should map to SetCsOdcBridge_SetExpanded.cs + $output = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Set-CsOdcBridge @PSBoundParameters @httpPipelineArgs + } + elseif ($Name -ne "") { + $Body = [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.BridgeUpdateRequest]::new() + + if ($PSBoundParameters.ContainsKey("DefaultServiceNumber") -and $PSBoundParameters["DefaultServiceNumber"] -ne "") { + $Body.DefaultServiceNumber = $DefaultServiceNumber + } + + $Body.SetDefault = $SetDefault + + # This should map to SetCsOdcBridge_Set1.cs + $output = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Set-CsOdcBridge -Name $Name -Body $Body @httpPipelineArgs + } + elseif ($Instance -ne $null) { + if ($DefaultServiceNumber -eq "" -and !($Instance.DefaultServiceNumber -eq $null)) { + $DefaultServiceNumber = $Instance.DefaultServiceNumber.Number + } + + if ($PSBoundParameters.ContainsKey('SetDefault') -eq $false) { + $SetDefault = $Instance.IsDefault + } + + $Body = [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.BridgeUpdateRequest]::new() + + if ($DefaultServiceNumber -ne "") { + $Body.DefaultServiceNumber = $DefaultServiceNumber + } + + $Body.SetDefault = $SetDefault + $Body.Name = $Instance.Name + + # This should map to SetCsOdcBridge_Set.cs + $output = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Set-CsOdcBridge -Identity $Instance.Identity -Body $Body @httpPipelineArgs + } + + $output + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Format output of Set-CsOdcUserModern + +function Set-CsOnlineDialInConferencingUser { + [CmdletBinding(PositionalBinding=$false)] + param( + [System.Object] + [Parameter(ValueFromPipelineByPropertyName, ValueFromPipeline)] + ${Identity}, + + [string] + ${TollFreeServiceNumber}, + + [string] + ${BridgeName}, + + [switch] + ${SendEmail}, + + [string] + ${ServiceNumber}, + + [switch] + ${Force}, + + [switch] + ${ResetLeaderPin}, + + [string] + ${SendEmailToAddress}, + + [string] + ${BridgeId}, + + [Nullable[boolean]] + ${AllowTollFreeDialIn}, + + [switch] + ${AsJob}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend}) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + if ($Identity -is [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingUser]){ + $null = $PSBoundParameters.Remove('Identity') + $PSBoundParameters.Add('Identity', $Identity.Identity) + } + + # Change from AllowTollFreeDialIn boolean to switch. + if ($PSBoundParameters.ContainsKey("AllowTollFreeDialIn")){ + $null = $PSBoundParameters.Remove("AllowTollFreeDialIn") + $output = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Set-CsOdcUser -AllowTollFreeDialIn:$AllowTollFreeDialIn @PSBoundParameters @httpPipelineArgs + } + else{ + $output = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Set-CsOdcUser @PSBoundParameters @httpPipelineArgs + } + + $output + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Format output of Unregister-CsOdcServiceNumber + +function Unregister-CsOdcServiceNumber { + [CmdletBinding(PositionalBinding=$false, DefaultParameterSetName="ById")] + param( + + [string] + [ValidateNotNullOrEmpty()] + [Parameter(Mandatory=$true, ParameterSetName="ById", Position=0)] + ${Identity}, + + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConferencingServiceNumber] + [ValidateNotNull()] + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ParameterSetName="ByInstance")] + ${Instance}, + + [string] + [ValidateNotNull()] + ${BridgeId}, + + [string] + [ValidateNotNullOrEmpty()] + ${BridgeName}, + + [switch] + ${Force}, + + [switch] + ${RemoveDefaultServiceNumber}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend}) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + if ($Identity -ne "") + { + $output = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Unregister-CsOdcServiceNumber @PSBoundParameters @httpPipelineArgs + } + elseif ($Instance -ne $null) + { + $Body = [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConferencingServiceNumber]::new() + $Body.Number = $Instance.Number + $Body.PrimaryLanguage = $Instance.PrimaryLanguage + $Body.SecondaryLanguages = $Instance.SecondaryLanguages + + if($PSBoundParameters.ContainsKey('RemoveDefaultServiceNumber') -eq $false) + { + $output = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Unregister-CsOdcServiceNumber -Body $Body -BridgeId $BridgeId -BridgeName $BridgeName @httpPipelineArgs + } + else + { + $output = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Unregister-CsOdcServiceNumber -Body $Body -BridgeId $BridgeId -BridgeName $BridgeName -RemoveDefaultServiceNumber @httpPipelineArgs + } + } + + $output + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: cmdlet for Orchestration- This cmdlets compress csv files. + +function New-CsBatchTeamsDeployment +{ + [OutputType([System.String])] + [CmdletBinding( PositionalBinding=$false)] + param( + [Parameter(Mandatory=$true, position=0)] + [System.String] + $TeamsFilePath, + + [Parameter(Mandatory=$true, position=1)] + [System.String] + $UsersFilePath, + + [Parameter(Mandatory=$true, position=2)] + [System.String] + $UsersToNotify, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try + { + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $TeamsFile = "$env:TEMP\Teams.csv" + $UsersFile = "$env:TEMP\Users.csv" + Copy-Item $TeamsFilePath -Destination $TeamsFile -Force + Copy-Item $UsersFilePath -Destination $UsersFile -Force + $zipFile = "$env:TEMP\TeamsDeployment.Zip" + + $compress = @{ + LiteralPath= $TeamsFile , $UsersFile + CompressionLevel = "Fastest" + DestinationPath = $zipFile + } + + Compress-Archive @compress -Update + + $FileStream = [System.IO.File]::ReadAllBytes($zipFile) + $B64String = [System.Convert]::ToBase64String($FileStream, [System.Base64FormattingOptions]::None) + + $null = $PSBoundParameters.Remove("TeamsFilePath") + $null = $PSBoundParameters.Remove("UsersFilePath") + $null = $PSBoundParameters.Add("DeploymentCsv", $B64String) + + $internalOutput = Microsoft.Teams.ConfigAPI.Cmdlets.internal\New-CsBatchTeamsDeployment @PSBoundParameters @httpPipelineArgs + + Write-Output $internalOutput + + } + catch + { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: To support enums for DeploymentName and ObjectClass and support Boolean + +function Invoke-CsDirectObjectSync { + [CmdletBinding(PositionalBinding=$false)] + param( + [Parameter(ParameterSetName='Post', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDsRequestBody] + # Request body for DsSync cmdlet + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Models.DirectoryDeploymentName] + # Deployment Name. + ${DeploymentName}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${IsValidationRequest}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Models.DirectoryObjectClass] + # Object Class enum. + ${ObjectClass}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # GUID of the user. + ${ObjectId}, + + [Parameter(ParameterSetName='PostExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # List of ObjectId. + ${ObjectIds}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Scenarios to Suppress. + ${ScenariosToSuppress}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Service Instance of the tenant. + ${ServiceInstance}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + # Sync all the users of the tenant. + ${SynchronizeTenantWithAllObject}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int64] + # ReSync options like resync entity with all links. + ${ReSyncOption}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $obj = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Invoke-CsDirectObjectSync @PSBoundParameters + + Write-Output $obj + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +function Get-CsTeamsSettingsCustomApp { + [CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] + param( + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $settings = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsTeamsSettingsCustomApp @PSBoundParameters @httpPipelineArgs + $targetProperties = $settings | Select-Object -Property isSideloadedAppsInteractionEnabled + if ($targetProperties.isSideloadedAppsInteractionEnabled -eq $null) { + $targetProperties.isSideloadedAppsInteractionEnabled = $false + } + Write-Output $targetProperties + } + catch + { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +function Set-CsTeamsSettingsCustomApp { + [CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] + param( + [Parameter(Mandatory=$true)] + [System.Boolean] + ${isSideloadedAppsInteractionEnabled}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $getResult = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsTeamsSettingsCustomApp + # Stop execution if internal cmdlet is failing + if ($getResult -eq $null) { + throw 'Internal Error. Please try again.' + } + + $appSettingsListValue = @() + $null = $PSBoundParameters.Add("isAppsEnabled", $getResult.isAppsEnabled) + $null = $PSBoundParameters.Add("isAppsPurchaseEnabled", $getResult.isAppsPurchaseEnabled) + $null = $PSBoundParameters.Add("isExternalAppsEnabledByDefault", $getResult.isExternalAppsEnabledByDefault) + $null = $PSBoundParameters.Add("isLicenseBasedPinnedAppsEnabled", $getResult.isLicenseBasedPinnedAppsEnabled) + $null = $PSBoundParameters.Add("isTenantWideAutoInstallEnabled", $getResult.isTenantWideAutoInstallEnabled) + $null = $PSBoundParameters.Add("LobTextColor", $getResult.LobTextColor) + $null = $PSBoundParameters.Add("LobBackground", $getResult.LobBackground) + $null = $PSBoundParameters.Add("LobLogo", $getResult.LobLogo) + $null = $PSBoundParameters.Add("LobLogomark", $getResult.LobLogomark) + $null = $PSBoundParameters.Add("appSettingsList", $appSettingsListValue) + $null = $PSBoundParameters.Add("appAccessRequestConfig", $getResult.appAccessRequestConfig) + Microsoft.Teams.ConfigAPI.Cmdlets.internal\Set-CsTeamsSettingsCustomApp @PSBoundParameters @httpPipelineArgs + } + catch + { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Get meeting migration transaction history for a user +.Description +Get meeting migration transaction history for a user +#> +function Get-CsMeetingMigrationTransactionHistory { + param( + [Parameter(Mandatory=$true)] + [System.String] + # Identity. + # Supports UPN and SIP + ${Identity}, + + [Parameter()] + [System.String] + # CorrelationId + ${CorrelationId}, + + [Parameter()] + [System.DateTime] + # start time filter - to get meeting migration transaction history after starttime + ${StartTime}, + + [Parameter()] + [System.DateTime] + # end time filter - to get meeting migration transaction history before endtime + ${EndTime}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + # Fetching only Meeting Migration transaction history + # need to pipe to convert-ToJson | Convert-FromJson to support output in list format and sending down to further pipeline commands. + Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsMeetingMigrationTransactionHistoryModern -userIdentity $Identity -StartTime $StartTime -EndTime $EndTime -CorrelationId $CorrelationId @httpPipelineArgs | Foreach-Object { ( ConvertTo-Json $_) } | Foreach-Object {ConvertFrom-Json $_} + } + catch + { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Get meeting migration status for a user or at tenant level +.Description +Get meeting migration status for a user or tenant level +#> +function Get-CsMmsStatus { + param( + [Parameter()] + [System.String] + # end time filter - to get meeting migration status before endtime + ${EndTime}, + + [Parameter()] + [System.String] + # Identity. + # Supports UPN and SIP, domainName LogonName + ${Identity}, + + [Parameter()] + [System.String] + # Meeting migration type - SfbToSfb, SfbToTeams, TeamsToTeams, AllToTeams, ToSameType, Unknown + ${MigrationType}, + + [Parameter()] + [System.String] + # start time filter - to get meeting migration status after starttime + ${StartTime}, + + [Parameter()] + [switch] + # SummaryOnly - to get only meting migration status summary. + ${SummaryOnly}, + + [Parameter()] + [System.String] + # state of meeting Migration status - Pending, InProgress, Failed, Succeeded + ${State}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + if($PSBoundParameters.ContainsKey('SummaryOnly')) + { + # Fetching only Meeting Migration status summary + Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsMeetingMigrationStatusSummaryModern -Identity $Identity -StartTime $StartTime -EndTime $EndTime -State $state -MigrationType $MigrationType @httpPipelineArgs | ConvertTo-Json + } + else + { + # Need to display output in a list format and should be able to pipe output to other cmdlets for filtering. + # with Format-List, not able to send the output for piping. So did this Convert-ToJson and Converting object from Json which displays output in list format and also able to refer with index value. + Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsMeetingMigrationStatusModern -Identity $Identity -StartTime $StartTime -EndTime $EndTime -State $state -MigrationType $MigrationType @httpPipelineArgs | Foreach-Object { ( ConvertTo-Json $_) } | Foreach-Object {ConvertFrom-Json $_} + } + } + catch + { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: cmdlet for signin batch of user- This cmdlets converts the input from the csv file to required type to call the internal cmdlet + +function New-CsSdgBulkSignInRequest +{ + [CmdletBinding(PositionalBinding=$false)] + param( + [Parameter(Mandatory=$true)] + [System.String] + $DeviceDetailsFilePath, + [Parameter(Mandatory=$true)] + [System.String] + $Region + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try + { + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $deviceDetails = Import-Csv -Path $DeviceDetailsFilePath + $deviceDetailsInput = @(); + $deviceDetails | ForEach-Object { $deviceDetailsInput += [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.SdgBulkSignInRequestItem]@{ Username=$_.Username;HardwareId=$_.HardwareId }} + Microsoft.Teams.ConfigAPI.Cmdlets.internal\New-CsSdgBulkSignInRequest -Body $deviceDetailsInput -TargetRegion $Region + + } + catch + { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Transfer $PolisyList from user's input from string[] to object[], enable inline input + +function Get-CsTeamTemplateList { + [OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplateSummary], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IErrorObject])] + [CmdletBinding(DefaultParameterSetName='DefaultLocaleOverride', PositionalBinding=$true)] + param( + [Parameter(Mandatory=$false)] + [System.String] + # The language and country code of templates localization. + ${PublicTemplateLocale}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + if ([string]::IsNullOrWhiteSpace($PublicTemplateLocale)) { + $null = $PSBoundParameters.Add("PublicTemplateLocale", "en-US") + } + + Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsTeamTemplateList @PSBoundParameters @httpPipelineArgs + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Validate team template payload contains General channel on create, add if not + +function New-CsTeamTemplate { + [OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateTemplateResponse], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplateErrorResponse])] + [CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] + param( + [Parameter(ParameterSetName='New', Mandatory)] + [Parameter(ParameterSetName='NewExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Locale of template. + ${Locale}, + + [Parameter(ParameterSetName='NewViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='NewViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='NewViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplate] + # The client input for a request to create a template. + # Only admins from Config Api can perform this request. + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='NewExpanded', Mandatory)] + [Parameter(ParameterSetName='NewViaIdentityExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the team's DisplayName. + ${DisplayName}, + + [Parameter(ParameterSetName='NewExpanded', Mandatory)] + [Parameter(ParameterSetName='NewViaIdentityExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets template short description. + ${ShortDescription}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamsAppTemplate[]] + # Gets or sets the set of applications that should be installed in teams created based on the template.The app catalog is the main directory for information about each app; this set is intended only as a reference. + # To construct, see NOTES section for APP properties and create a hash table. + ${App}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # Gets or sets list of categories. + ${Category}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IChannelTemplate[]] + # Gets or sets the set of channel templates included in the team template. + # To construct, see NOTES section for CHANNEL properties and create a hash table. + ${Channel}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the team's classification.Tenant admins configure AAD with the set of possible values. + ${Classification}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the team's Description. + ${Description}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamDiscoverySettings] + # Governs discoverability of a team. + # To construct, see NOTES section for DISCOVERYSETTING properties and create a hash table. + ${DiscoverySetting}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamFunSettings] + # Governs use of fun media like giphy and stickers in the team. + # To construct, see NOTES section for FUNSETTING properties and create a hash table. + ${FunSetting}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamGuestSettings] + # Guest role settings for the team. + # To construct, see NOTES section for GUESTSETTING properties and create a hash table. + ${GuestSetting}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets template icon. + ${Icon}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets whether to limit the membership of the team to owners in the AAD group until an owner "activates" the team. + ${IsMembershipLimitedToOwner}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamMemberSettings] + # Member role settings for the team. + # To construct, see NOTES section for MEMBERSETTING properties and create a hash table. + ${MemberSetting}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamMessagingSettings] + # Governs use of messaging features within the teamThese are settings the team owner should be able to modify from UI after team creation. + # To construct, see NOTES section for MESSAGINGSETTING properties and create a hash table. + ${MessagingSetting}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the AAD user object id of the user who should be set as the owner of the new team.Only to be used when an application or administrative user is making the request on behalf of the specified user. + ${OwnerUserObjectId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets published name. + ${PublishedBy}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The specialization or use case describing the team.Used for telemetry/BI, part of the team context exposed to app developers, and for legacy implementations of differentiated features for education. + ${Specialization}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the id of the base template for the team.Either a Microsoft base template or a custom template. + ${TemplateId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets uri to be used for GetTemplate api call. + ${Uri}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Used to control the scope of users who can view a group/team and its members, and ability to join. + ${Visibility}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $generalChannel = @{ + DisplayName = "General"; + id= "General"; + isFavoriteByDefault= $true + } + + if ($null -ne $Body) { + $Channel = $Body.Channel + } + + if ($null -eq $Channel) { + if ($null -ne $Body) { + $Body.Channel = $generalChannel + $PSBoundParameters['Body'] = $Body + } else { + $null = $PSBoundParameters.Add("Channel", $generalChannel) + } + } else { + $hasGeneralChannel = $false + foreach ($channel in $Channel){ + if ($channel.displayName -eq "General") { + $hasGeneralChannel = $true + } + } + if ($hasGeneralChannel -eq $false) { + if ($null -ne $Body) { + $Body.Channel += $generalChannel + $PSBoundParameters['Body'] = $Body + } else { + $Channel += $generalChannel + $PSBoundParameters['Channel'] = $Channel + } + } + } + + Microsoft.Teams.ConfigAPI.Cmdlets.internal\New-CsTeamTemplate @PSBoundParameters @httpPipelineArgs + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Format Response of Get-CsAadTenant + +function Get-CsAadTenant { + [CmdletBinding(PositionalBinding=$false)] + param( + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $obj = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsAadTenant @PSBoundParameters + $allProperties = $obj | Select-Object -ExpandProperty AdditionalProperties + + Write-Output $allProperties + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Format Response of Get-CsAadUser + +function Get-CsAadUser { + [CmdletBinding(PositionalBinding=$false)] + param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Unique identifier for the user + ${Identity}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $obj = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsAadUser @PSBoundParameters + $allProperties = $obj | Select-Object -ExpandProperty AdditionalProperties + + Write-Output $allProperties + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Integrate Get-CsMasVersionedSchemaData with Get-CsMasVersionedData + +function Get-CsMasVersionedSchemaData { + [CmdletBinding(PositionalBinding=$false)] + param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Schema to get from MAS DB. + ${SchemaName}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Identity. + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Last X versions to fetch from MAS DB. + ${Version}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $obj = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsMasVersionedSchemaData @PSBoundParameters + $allProperties = $obj | Select-Object -ExpandProperty AdditionalProperties + + Write-Output $allProperties + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Integrate Get-CsMoveTenantServiceInstanceTaskStatus with Get-CsTenantMigrationDetail + +function Get-CsMoveTenantServiceInstanceTaskStatus { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $output = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsMoveTenantServiceInstanceTaskStatus @PSBoundParameters + $allProperties = $output | Select-Object -ExpandProperty AdditionalProperties + + Write-Output $allProperties + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Integrate Get-CsTenant with Get-CsTenantObou + +function Get-CsTenantPoint { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $defaultPropertySet = "Extended" + $tenant = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsTenantObou -DefaultPropertySet $defaultPropertySet @httpPipelineArgs + $allProperties = $tenant | Select-Object -Property * -ExcludeProperty LastProvisionTimeStamps, LastPublishTimeStamps + $allProperties | Add-Member -NotePropertyName LastProvisionTimeStamps -NotePropertyValue $tenant.LastProvisionTimeStamps.AdditionalProperties -passThru | Add-Member -NotePropertyName LastPublishTimeStamps -NotePropertyValue $tenant.LastPublishTimeStamps.AdditionalProperties + + Write-Output $allProperties + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + + +function Invoke-CsCustomHandlerCallBackNgtprov { + [CmdletBinding(PositionalBinding=$false)] + param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Unique Id of the Handler. + ${Id}, + + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Models.CustomHandlerOperationName] + # Callback Operation. + ${Operation}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # EventName for the SendEventPostURI. + ${Eventname}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $obj = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Invoke-CsCustomHandlerCallBackNgtprov @PSBoundParameters + $allProperties = $obj | Select-Object -ExpandProperty AdditionalProperties + + Write-Output $allProperties + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: To support enums for ObjectClass and support Boolean + +function Invoke-CsMsodsSync { + [CmdletBinding(PositionalBinding=$false)] + param( + [Parameter(ParameterSetName='Post', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IResyncRequestBody] + # Request body for ReSync cmdlet + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Models.DeploymentName] + # Deployment Name. + ${DeploymentName}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${IsValidationRequest}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Models.ObjectClass] + # Object Class enum. + ${ObjectClass}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # TenantId GUID. + ${TenantId}, + + [Parameter(ParameterSetName='PostExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # List of User ObjectId. + ${ObjectId}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Scenarios to Suppress. + ${ScenariosToSuppress}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Service Instance of the tenant. + ${ServiceInstance}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + # Sync all the users of the tenant. + ${SynchronizeTenantWithAllObject}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int64] + # ReSync options like resync entity with all links. + ${ReSyncOption}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $obj = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Invoke-CsMsodsSync @PSBoundParameters + + Write-Output $obj + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Integrate Move-CsTenantCrossRegion with New-CsTenantCrossMigration + +function Move-CsTenantCrossRegion { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $output = Microsoft.Teams.ConfigAPI.Cmdlets.internal\New-CsTenantCrossMigration @httpPipelineArgs + + Write-Output $output + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Integrate Move-CsTenantServiceInstance with New-CsTenantCrossMigration + +function Move-CsTenantServiceInstance { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$true, position=0)] + [System.String] + # Can take following values (PrepForMove, StartDualSync, Finalize) + ${MoveOption}, + + [Parameter(Mandatory=$false)] + [System.String] + # Service Instance where tenant is to be migrated + ${TargetServiceInstance}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $output = Microsoft.Teams.ConfigAPI.Cmdlets.internal\New-CsTenantCrossMigration -MoveOption $MoveOption -TargetServiceInstance $TargetServiceInstance @httpPipelineArgs + + Write-Output $output + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: map parameters to request body + +function Set-CsOnlineSipDomainModern { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$true, position=0)] + [System.String] + # Domain Name parameter. + ${Domain}, + + [Parameter(Mandatory=$true, Position=1)] + [System.String] + # Action decides enable or disable sip domain + ${Action}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $Body = [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TenantSipDomainRequest]::new() + + $Body.DomainName = $Domain + $Body.Action = $Action + + $result = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Set-CsOnlineSipDomain -Body $Body @httpPipelineArgs + Write-AdminServiceDiagnostic($result.Diagnostic) + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Integrate Get-CsOnlineUser with Get-CsUser and Search-CsUser + +function Get-CsUserList { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$false, position=0)] + [System.String] + # Unique identifier for the user + ${Identity}, + + [Parameter(Mandatory=$false)] + [System.Nullable[System.Int32]] + # Number of users to be returned + ${ResultSize}, + + [Parameter(Mandatory=$false)] + [System.Management.Automation.SwitchParameter] + #To not display user policies in output + ${SkipUserPolicies}, + + [Parameter(Mandatory=$false)] + [System.Management.Automation.SwitchParameter] + # To only fetch soft-deleted users + ${SoftDeletedUsers}, + + [Parameter(Mandatory=$false)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Models.AccountType] + # To only fetch users with specified account type + ${AccountType}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $defaultPropertySet = "Extended" + $internalfilter = "" + if ($AccountType) + { + if (![string]::IsNullOrWhiteSpace($Identity)) + { + Write-Error "AccountType parameter cannot be used with Identity parameter." + return + } + else + { + $internalfilter = "AccountType -eq '$AccountType'" + } + } + if (![string]::IsNullOrWhiteSpace($Identity)) + { + $user = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsUser -Identity $Identity -SkipUserPolicy:$SkipUserPolicies -DefaultPropertySet $defaultPropertySet @httpPipelineArgs + $allProperties = $user | Select-Object -Property * -ExcludeProperty Location, Number, DataCenter, PSTNconnectivity, SipDomain, LastProvisionTimeStamps, LastPublishTimeStamps + $allProperties | Add-Member -NotePropertyName LastProvisionTimeStamps -NotePropertyValue $user.LastProvisionTimeStamps.AdditionalProperties -passThru | Add-Member -NotePropertyName LastPublishTimeStamps -NotePropertyValue $user.LastPublishTimeStamps.AdditionalProperties + + Write-Output $allProperties + } + else + { + if ($SoftDeletedUsers) + { + if (![string]::IsNullOrWhiteSpace($internalfilter)) + { + Microsoft.Teams.ConfigAPI.Cmdlets.internal\Search-CsUser -PSFilter $internalfilter -Top $ResultSize -SkipUserPolicy:$SkipUserPolicies -DefaultPropertySet $defaultPropertySet -Softdeleteduser:$true @httpPipelineArgs | Select-Object -Property * -ExcludeProperty Location, Number, DataCenter, PSTNconnectivity, SipDomain + } + else + { + Microsoft.Teams.ConfigAPI.Cmdlets.internal\Search-CsUser -Top $ResultSize -SkipUserPolicy:$SkipUserPolicies -DefaultPropertySet $defaultPropertySet -Softdeleteduser:$true @httpPipelineArgs | Select-Object -Property * -ExcludeProperty Location, Number, DataCenter, PSTNconnectivity, SipDomain + } + } + else + { + if (![string]::IsNullOrWhiteSpace($internalfilter)) + { + Microsoft.Teams.ConfigAPI.Cmdlets.internal\Search-CsUser -PSFilter $internalfilter -Top $ResultSize -SkipUserPolicy:$SkipUserPolicies -DefaultPropertySet $defaultPropertySet @httpPipelineArgs | Select-Object -Property * -ExcludeProperty Location, Number, DataCenter, PSTNconnectivity, SipDomain + } + else + { + Microsoft.Teams.ConfigAPI.Cmdlets.internal\Search-CsUser -Top $ResultSize -SkipUserPolicy:$SkipUserPolicies -DefaultPropertySet $defaultPropertySet @httpPipelineArgs | Select-Object -Property * -ExcludeProperty Location, Number, DataCenter, PSTNconnectivity, SipDomain + } + } + } + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Integrate Get-CsOnlineUser with Get-CsUser + +function Get-CsUserPoint { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$true, position=0)] + [System.String] + # Unique identifier for the user + ${Identity}, + + [Parameter(Mandatory=$false)] + [System.Management.Automation.SwitchParameter] + #To not display user policies in output + ${SkipUserPolicies}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + if (![string]::IsNullOrWhiteSpace($Identity)) + { + $user = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsUser -Identity $Identity -SkipUserPolicy:$SkipUserPolicies -DefaultPropertySet "Extended" @httpPipelineArgs + + $allProperties = $user | Select-Object -Property * -ExcludeProperty Location, Number, DataCenter, PSTNconnectivity, SipDomain, LastProvisionTimeStamps, LastPublishTimeStamps + $allProperties | Add-Member -NotePropertyName LastProvisionTimeStamps -NotePropertyValue $user.LastProvisionTimeStamps.AdditionalProperties -passThru | Add-Member -NotePropertyName LastPublishTimeStamps -NotePropertyValue $user.LastPublishTimeStamps.AdditionalProperties + + Write-Output $allProperties + } + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Integrate Get-CsOnlineUser with Get-CsUser and Search-CsUser + +function Get-CsUserSearch { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$false, position=0)] + [System.String] + # Unique identifier for the user + ${Identity}, + + [Parameter(Mandatory=$false, DontShow = $true)] + [System.String[]] + # List of user identifiers + ${Identities}, + + [Parameter(Mandatory=$false)] + [System.String] + # Filter to be applied to the list of users + ${Filter}, + + [Alias('Sort')] + [Parameter(Mandatory=$false)] + [System.String] + # OrderBy to be applied to the list of users + ${OrderBy}, + + [Parameter(Mandatory=$false)] + [System.Nullable[System.Int32]] + # Number of users to be returned + ${ResultSize}, + + [Parameter(Mandatory=$false)] + [System.Management.Automation.SwitchParameter] + #To skip user policies in output + ${SkipUserPolicies}, + + [Parameter(Mandatory=$false)] + [System.Management.Automation.SwitchParameter] + # To only fetch soft-deleted users + ${SoftDeletedUsers}, + + [Parameter(Mandatory=$false)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Models.AccountType] + # To only fetch users with specified account type + ${AccountType}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try + { + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $defaultPropertySet = "Extended" + if ($AccountType) + { + if (![string]::IsNullOrWhiteSpace($Identity)) + { + Write-Error "AccountType parameter cannot be used with Identity parameter." + return + } + if (![string]::IsNullOrWhiteSpace($Filter)) + { + $Filter += " -and AccountType -eq '$AccountType'" + } + else + { + $Filter = "AccountType -eq '$AccountType'" + } + } + if ($Identities -ne $null) + { + if (![string]::IsNullOrWhiteSpace($Filter)) + { + Write-Error "Filter parameter cannot be used along with Identity input." + return + } + $i = 0 + $count = $Identities.Count + $filterstring = "" + while ($i -lt $count) + { + $id = $Identities[$i] + if (![string]::IsNullOrWhiteSpace($filterstring)) + { + $filterstring += " or userprincipalname eq '$id'" + } + else + { + $filterstring = "userprincipalname eq '$id'" + } + $i = $i + 1 + } + + if (![string]::IsNullOrEmpty($filterstring)) + { + $users = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Search-CsUser -PSFilter $filterstring @httpPipelineArgs -OrderBy $OrderBy | Select-Object -Property * -ExcludeProperty Location, Number, DataCenter, PSTNconnectivity, SipDomain + } + Write-Output $users + } + + elseif (![string]::IsNullOrWhiteSpace($Identity)) + { + $user = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsUser -Identity $Identity -SkipUserPolicy:$SkipUserPolicies -DefaultPropertySet $defaultPropertySet @httpPipelineArgs + $allProperties = $user | Select-Object -Property * -ExcludeProperty Location, Number, DataCenter, PSTNconnectivity, SipDomain, LastProvisionTimeStamps, LastPublishTimeStamps + $allProperties | Add-Member -NotePropertyName LastProvisionTimeStamps -NotePropertyValue $user.LastProvisionTimeStamps.AdditionalProperties -passThru | Add-Member -NotePropertyName LastPublishTimeStamps -NotePropertyValue $user.LastPublishTimeStamps.AdditionalProperties + + Write-Output $allProperties + } + elseif (![string]::IsNullOrWhiteSpace($Filter)) + { + if ($SoftDeletedUsers) + { + Microsoft.Teams.ConfigAPI.Cmdlets.internal\Search-CsUser -PSFilter $Filter -Top $ResultSize -OrderBy $OrderBy -SkipUserPolicy:$SkipUserPolicies -DefaultPropertySet $defaultPropertySet -Softdeleteduser:$true @httpPipelineArgs| Select-Object -Property * -ExcludeProperty Location, Number, DataCenter, PSTNconnectivity, SipDomain + } + else + { + Microsoft.Teams.ConfigAPI.Cmdlets.internal\Search-CsUser -PSFilter $Filter -Top $ResultSize -OrderBy $OrderBy -SkipUserPolicy:$SkipUserPolicies -DefaultPropertySet $defaultPropertySet @httpPipelineArgs | Select-Object -Property * -ExcludeProperty Location, Number, DataCenter, PSTNconnectivity, SipDomain + } + } + else + { + if ($SoftDeletedUsers) + { + Microsoft.Teams.ConfigAPI.Cmdlets.internal\Search-CsUser -Top $ResultSize -OrderBy $OrderBy -SkipUserPolicy:$SkipUserPolicies -DefaultPropertySet $defaultPropertySet -Softdeleteduser:$true @httpPipelineArgs | Select-Object -Property * -ExcludeProperty Location, Number, DataCenter, PSTNconnectivity, SipDomain + } + else + { + Microsoft.Teams.ConfigAPI.Cmdlets.internal\Search-CsUser -Top $ResultSize -OrderBy $OrderBy -SkipUserPolicy:$SkipUserPolicies -DefaultPropertySet $defaultPropertySet @httpPipelineArgs | Select-Object -Property * -ExcludeProperty Location, Number, DataCenter, PSTNconnectivity, SipDomain + } + } + } + catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Integrate Get-CsOnlineVoiceUser with Get-CsUser + +function Get-CsVoiceUserList { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$false, position=0)] + [System.String] + # Unique identifier for the user + ${Identity}, + + [Parameter(Mandatory=$false, position=1)] + [System.Management.Automation.SwitchParameter] + #To fetch location field + ${ExpandLocation}, + + [Parameter(Mandatory=$false)] + [System.Nullable[System.Int32]] + # Number of users to be returned + ${First}, + + [Parameter(Mandatory=$false)] + [System.Management.Automation.SwitchParameter] + # To only fetch users which have a number assigned to them + ${NumberAssigned}, + + [Parameter(Mandatory=$false)] + [System.Management.Automation.SwitchParameter] + # To only fetch users which don't have a number assigned to them + ${NumberNotAssigned}, + + [Parameter(Mandatory=$false)] + [System.Nullable[System.Guid]] + # LocationId of users to be returned + ${LocationId}, + + [Parameter(Mandatory=$false)] + [System.Nullable[System.Guid]] + # CivicAddressId of users to be returned + ${CivicAddressId}, + + [Parameter(Mandatory=$false)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Models.PSTNConnectivity] + # PSTNConnectivity of the users to be returned + ${PSTNConnectivity}, + + [Parameter(Mandatory=$false)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Models.EnterpriseVoiceStatus] + # EnterpriseVoiceStatus of the users to be returned + ${EnterpriseVoiceStatus}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process + { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + if (![string]::IsNullOrWhiteSpace($Identity)) + { + if($ExpandLocation) + { + Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsUser -Identity $Identity -Includedefaultproperty:$false -VoiceUserQuery:$true -Select "Objectid,EnterpriseVoiceEnabled, + DisplayName,Location,LineUri,TenantID,UsageLocation,DataCenter,PSTNconnectivity,SipDomain" @httpPipelineArgs | + Select-Object -Property @{Name = 'Name' ; Expression = {$_.DisplayName}}, + @{Name = 'Id' ; Expression = {$_.Identity}}, + SipDomain, + DataCenter, + TenantID, + @{Name = 'Number' ; Expression = {$_.LineUri}}, + Location, + PSTNconnectivity, + UsageLocation, + EnterpriseVoiceEnabled + } + else + { + Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsUser -Identity $Identity -Includedefaultproperty:$false -VoiceUserQuery:$true -Select "Objectid,EnterpriseVoiceEnabled, + DisplayName,LineUri,TenantID,UsageLocation,DataCenter,PSTNconnectivity,SipDomain" @httpPipelineArgs | + Select-Object -Property @{Name = 'Name' ; Expression = {$_.DisplayName}}, + @{Name = 'Id' ; Expression = {$_.Identity}}, + SipDomain, + DataCenter, + TenantID, + @{Name = 'Number' ; Expression = {$_.LineUri}}, + @{Name = 'Location' ; Expression = {""}}, + PSTNconnectivity, + UsageLocation, + EnterpriseVoiceEnabled + } + } + else + { + if($NumberAssigned -and $NumberNotAssigned) + { + Write-Error "You can only pass either NumberAssigned or NumberNotAssigned at a time." + return + } + + if (($LocationId -and !$CivicAddressId) -or ($CivicAddressId -and !$LocationId)) + { + Write-Error "LocationId and CivicAddressId must be provided together." + return + } + + $filters = @() #array of individual filters + $addNumberInSelectProperties = $false + if ($LocationId -and $CivicAddressId) + { + $filters += "Number/LocationId eq '$LocationId' and Number/CivicAddressId eq '$CivicAddressId'" + $addNumberInSelectProperties = $true + } + + if ($PSTNConnectivity) + { + if ($PSTNConnectivity -eq 'OnPremises' -or $PSTNConnectivity -eq 'Online') + { + $filters += "PSTNConnectivity eq '$PSTNConnectivity'" + } + } + + if ($EnterpriseVoiceStatus) + { + if ($EnterpriseVoiceStatus -eq 'Enabled') + { + $filters += "EnterpriseVoiceEnabled eq true" + } + elseif ($EnterpriseVoiceStatus -eq 'Disabled') + { + $filters += "EnterpriseVoiceEnabled eq false" + } + } + + if ($NumberAssigned) + { + $filters += "LineUri ne '$null'" + } + elseif ($NumberNotAssigned) + { + $filters += "LineUri eq '$null'" + } + + $filterstring = $filters -join " and " + $selectProperties = "Objectid,EnterpriseVoiceEnabled,DisplayName,LineUri,TenantID,UsageLocation,DataCenter,PSTNconnectivity,SipDomain" + + if ($addNumberInSelectProperties -eq $true) + { + $selectProperties += ",Number" + } + + if($ExpandLocation) + { + $selectProperties += ",Location" + Microsoft.Teams.ConfigAPI.Cmdlets.internal\Search-CsUser -Includedefaultproperty:$false -VoiceUserQuery:$true -Select $selectProperties -Filter $filterstring -Top $First @httpPipelineArgs | + Select-Object -Property @{Name = 'Name' ; Expression = {$_.DisplayName}}, + @{Name = 'Id' ; Expression = {$_.Identity}}, + SipDomain, + DataCenter, + TenantID, + @{Name = 'Number' ; Expression = {$_.LineUri}}, + Location, + PSTNconnectivity, + UsageLocation, + EnterpriseVoiceEnabled + } + else + { + Microsoft.Teams.ConfigAPI.Cmdlets.internal\Search-CsUser -Includedefaultproperty:$false -VoiceUserQuery:$true -Select $selectProperties -Filter $filterstring -Top $First @httpPipelineArgs | + Select-Object -Property @{Name = 'Name' ; Expression = {$_.DisplayName}}, + @{Name = 'Id' ; Expression = {$_.Identity}}, + SipDomain, + DataCenter, + TenantID, + @{Name = 'Number' ; Expression = {$_.LineUri}}, + @{Name = 'Location' ; Expression = {""}}, + PSTNconnectivity, + UsageLocation, + EnterpriseVoiceEnabled + } + } + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Integrate Get-CsOnlineVoiceUser with Get-CsUser + +function Get-CsVoiceUserPoint { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$true, position=0)] + [System.String] + # Unique identifier for the user + ${Identity}, + + [Parameter(Mandatory=$false, position=1)] + [switch] + #To fetch location field + ${ExpandLocation}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + if (![string]::IsNullOrWhiteSpace($Identity)) + { + if($ExpandLocation) + { + Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsUser -Identity $Identity -Includedefaultproperty:$false -VoiceUserQuery:$true -Select "Objectid,EnterpriseVoiceEnabled, + DisplayName,Location,LineUri,TenantID,UsageLocation,DataCenter,PSTNconnectivity,SipDomain" @httpPipelineArgs | + Select-Object -Property @{Name = 'Name' ; Expression = {$_.DisplayName}}, + @{Name = 'Id' ; Expression = {$_.Identity}}, + SipDomain, + DataCenter, + TenantID, + @{Name = 'Number' ; Expression = {$_.LineUri}}, + Location, + PSTNconnectivity, + UsageLocation, + EnterpriseVoiceEnabled + } + else + { + Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsUser -Identity $Identity -Includedefaultproperty:$false -VoiceUserQuery:$true -Select "Objectid,EnterpriseVoiceEnabled, + DisplayName,LineUri,TenantID,UsageLocation,DataCenter,PSTNconnectivity,SipDomain" @httpPipelineArgs | + Select-Object -Property @{Name = 'Name' ; Expression = {$_.DisplayName}}, + @{Name = 'Id' ; Expression = {$_.Identity}}, + SipDomain, + DataCenter, + TenantID, + @{Name = 'Number' ; Expression = {$_.LineUri}}, + @{Name = 'Location' ; Expression = {""}}, + PSTNconnectivity, + UsageLocation, + EnterpriseVoiceEnabled + } + } + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +function Set-CsOnlineVoiceUserV2 { +[CmdletBinding(DefaultParameterSetName='Id', SupportsShouldProcess)] + param( + [Parameter(Mandatory=$true, position=0)] + [System.String] + ${Identity}, + + [Parameter(Mandatory=$false)] + [System.String][AllowNull()] + ${TelephoneNumber}, + + [Parameter(Mandatory=$false)] + [System.String][AllowNull()] + ${LocationId}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $Body = @{ + TelephoneNumber=$TelephoneNumber + LocationId=$LocationId + } + $Payload = @{ + UserId = $Identity + Body = $Body + } + Microsoft.Teams.ConfigAPI.Cmdlets.internal\Set-CsUserGenerated @Payload @httpPipelineArgs + } + catch + { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +function Set-CsUserModern { +[CmdletBinding(DefaultParameterSetName='Id')] + param( + [Parameter(Mandatory=$true, position=0)] + [System.String] + ${Identity}, + + [Parameter(Mandatory=$false)] + ${EnterpriseVoiceEnabled}, + + [Parameter(Mandatory=$false)] + ${HostedVoiceMail}, + + [Parameter(Mandatory=$false)] + [System.String][AllowNull()] + ${LineURI}, + + [Parameter(Mandatory=$false)] + [System.String][AllowNull()] + ${OnPremLineURI}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $PhoneNumber = $LineURI + if ($PSBoundParameters.ContainsKey('OnPremLineURI')) { + Write-Warning -Message "OnPremLineURI will be deprecated. Please use LineURI to update user's phone number." + if (!$PSBoundParameters.ContainsKey('LineURI')){ + $PhoneNumber = $OnPremLineURI + } + else{ + Write-Error "Please specify either one parameter OnPremLineURI or LineURI to assign phone number." + return + } + } + + $Body = @{ + EnterpriseVoiceEnabled=$EnterpriseVoiceEnabled + HostedVoiceMail=$HostedVoiceMail + } + + if ($PSBoundParameters.ContainsKey('LineURI') -or $PSBoundParameters.ContainsKey('OnPremLineURI')) { + $Body.LineUri = $PhoneNumber + } + + $Payload = @{ + UserId = $Identity + Body = $Body + } + Microsoft.Teams.ConfigAPI.Cmdlets.internal\Set-CsUserGenerated @Payload @httpPipelineArgs + } + catch + { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +function New-CsUserCallingDelegate { + [CmdletBinding(DefaultParameterSetName="Identity")] + param( + [Parameter(Mandatory=$true, ParameterSetName='Identity')] + [System.String] + ${Identity}, + + [Parameter(Mandatory=$true, ParameterSetName='Identity')] + [System.String] + ${Delegate}, + + [Parameter(Mandatory=$true, ParameterSetName='Identity')] + [System.Boolean] + ${MakeCalls}, + + [Parameter(Mandatory=$true, ParameterSetName='Identity')] + [System.Boolean] + ${ManageSettings}, + + [Parameter(Mandatory=$true, ParameterSetName='Identity')] + [System.Boolean] + ${ReceiveCalls}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + Microsoft.Teams.ConfigAPI.Cmdlets.internal\New-CsUserCallingDelegate @PSBoundParameters @httpPipelineArgs + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +function Remove-CsUserCallingDelegate { + [CmdletBinding(DefaultParameterSetName="Identity")] + param( + [Parameter(Mandatory=$true, ParameterSetName='Identity')] + [System.String] + ${Identity}, + + [Parameter(Mandatory=$true, ParameterSetName='Identity')] + [System.String] + ${Delegate}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + Microsoft.Teams.ConfigAPI.Cmdlets.internal\Remove-CsUserCallingDelegate @PSBoundParameters @httpPipelineArgs + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +function Set-CsUserCallingDelegate { + [CmdletBinding(DefaultParameterSetName="Identity")] + param( + [Parameter(Mandatory=$true, ParameterSetName='Identity')] + [System.String] + ${Identity}, + + [Parameter(Mandatory=$true, ParameterSetName='Identity')] + [System.String] + ${Delegate}, + + [Parameter(Mandatory=$false, ParameterSetName='Identity')] + [System.Boolean] + ${MakeCalls}, + + [Parameter(Mandatory=$false, ParameterSetName='Identity')] + [System.Boolean] + ${ManageSettings}, + + [Parameter(Mandatory=$false, ParameterSetName='Identity')] + [System.Boolean] + ${ReceiveCalls}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + Microsoft.Teams.ConfigAPI.Cmdlets.internal\Set-CsUserCallingDelegate @PSBoundParameters @httpPipelineArgs + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +function Set-CsUserCallingSettings { + [CmdletBinding(DefaultParameterSetName="Identity")] + param( + [Parameter(Mandatory=$true, ParameterSetName='Forwarding')] + [Parameter(Mandatory=$true, ParameterSetName='ForwardingOnOff')] + [Parameter(Mandatory=$true, ParameterSetName='Unanswered')] + [Parameter(Mandatory=$true, ParameterSetName='UnansweredOnOff')] + [Parameter(Mandatory=$true, ParameterSetName='CallGroup')] + [Parameter(Mandatory=$true, ParameterSetName='CallGroupMembership')] + [Parameter(Mandatory=$true, ParameterSetName='CallGroupNotification')] + [Parameter(Mandatory=$true, ParameterSetName='Identity')] + [System.String] + ${Identity}, + + [Parameter(Mandatory=$true, ParameterSetName='Forwarding')] + [Parameter(Mandatory=$true, ParameterSetName='ForwardingOnOff')] + [System.Boolean] + ${IsForwardingEnabled}, + + [Parameter(Mandatory=$true, ParameterSetName='Forwarding')] + [ValidateSet('Immediate','Simultaneous')] + [System.String] + ${ForwardingType}, + + [Parameter(Mandatory=$false, ParameterSetName='Forwarding')] + [System.String] + [AllowNull()] + ${ForwardingTarget}, + + [Parameter(Mandatory=$true, ParameterSetName='Forwarding')] + [ValidateSet('SingleTarget','Voicemail','MyDelegates','Group')] + [System.String] + ${ForwardingTargetType}, + + [Parameter(Mandatory=$true, ParameterSetName='Unanswered')] + [Parameter(Mandatory=$true, ParameterSetName='UnansweredOnOff')] + [System.Boolean] + ${IsUnansweredEnabled}, + + [Parameter(Mandatory=$false, ParameterSetName='Unanswered')] + [System.String] + [AllowNull()] + ${UnansweredTarget}, + + [Parameter(Mandatory=$false, ParameterSetName='Unanswered')] + [ValidateSet("", "SingleTarget","Voicemail","MyDelegates","Group")] + [System.String] + ${UnansweredTargetType}, + + [Parameter(Mandatory=$true, ParameterSetName='Unanswered')] + [System.String] + [AllowNull()] + ${UnansweredDelay}, + + [Parameter(Mandatory=$true, ParameterSetName='CallGroup')] + [ValidateSet('Simultaneous','InOrder')] + [System.String] + ${CallGroupOrder}, + + [Parameter(Mandatory=$true, ParameterSetName='CallGroup')] + [System.Array] + [AllowNull()] + [AllowEmptyCollection()] + ${CallGroupTargets}, + + [Parameter(Mandatory=$true, ParameterSetName='CallGroupMembership')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICallGroupMembershipDetails[]] + [AllowEmptyCollection()] + ${GroupMembershipDetails}, + + [Parameter(Mandatory=$true, ParameterSetName='CallGroupNotification')] + [ValidateSet('Ring','Mute','Banner')] + [System.String] + ${GroupNotificationOverride}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + if ($PSBoundParameters.ContainsKey('UnansweredDelay')) + { + if(($UnansweredDelay -as [TimeSpan]) -and ($UnansweredDelay -le (New-TimeSpan -Hours 0 -Minutes 1 -Seconds 0)) -and ($UnansweredDelay -ge (New-TimeSpan -Hours 0 -Minutes 0 -Seconds 0))) + { + $UnansweredDelay = $UnansweredDelay + } + else + { + write-warning "Unanswered delay is not in correct time range" + return + } + } + + Microsoft.Teams.ConfigAPI.Cmdlets.internal\Set-CsUserCallingSettings @PSBoundParameters @httpPipelineArgs + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Transfer $PolisyList from user's input from string[] to object[], enable inline input + +function New-CsCustomPolicyPackage { + [OutputType([System.String])] + [CmdletBinding(DefaultParameterSetName='RequiredPolicyList', + PositionalBinding=$false, + SupportsShouldProcess, + ConfirmImpact='Medium')] + param( + [Parameter(Mandatory=$true, position=0)] + $Identity, + + [Parameter(Mandatory=$true, position=1)] + [System.String[]] + $PolicyList, + + [Parameter(position=2)] + $Description, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $Delimiters = ",", ".", ":", ";", " ", "`t" + [psobject[]]$InternalPolicyList = @() + foreach ($PolicyTypeAndName in $PolicyList) + { + $PolicyTypeAndNameArray = $PolicyTypeAndName -Split {$Delimiters -contains $_}, 2 + $PolicyTypeAndNameArray = $PolicyTypeAndNameArray.Trim() + if ($PolicyTypeAndNameArray.Count -lt 2) + { + throw "Invalid Policy Type and Name pair: $PolicyTypeAndName. Please use a proper delimeter" + } + $PolicyTypeAndNameObject = [psobject]@{ + PolicyType = $PolicyTypeAndNameArray[0] + PolicyName = $PolicyTypeAndNameArray[1] + } + $InternalPolicyList += $PolicyTypeAndNameObject + } + $null = $PSBoundParameters.Remove("PolicyList") + $null = $PSBoundParameters.Add("PolicyList", $InternalPolicyList) + Microsoft.Teams.ConfigAPI.Cmdlets.internal\New-CsCustomPolicyPackage @PSBoundParameters @httpPipelineArgs + } + catch + { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Transfer $PolisyList from user's input from string[] to object[], enable inline input + +function Update-CsCustomPolicyPackage { + [OutputType([System.String])] + [CmdletBinding(DefaultParameterSetName='RequiredPolicyList', + PositionalBinding=$false, + SupportsShouldProcess, + ConfirmImpact='Medium')] + param( + [Parameter(Mandatory=$true, position=0)] + $Identity, + + [Parameter(Mandatory=$true, position=1)] + [System.String[]] + $PolicyList, + + [Parameter(position=2)] + $Description, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $Delimiters = ",", ".", ":", ";", " ", "`t" + [psobject[]]$InternalPolicyList = @() + foreach ($PolicyTypeAndName in $PolicyList) + { + $PolicyTypeAndNameArray = $PolicyTypeAndName -Split {$Delimiters -contains $_}, 2 + $PolicyTypeAndNameArray = $PolicyTypeAndNameArray.Trim() + if ($PolicyTypeAndNameArray.Count -lt 2) + { + throw "Invalid Policy Type and Name pair: $PolicyTypeAndName. Please use a proper delimeter" + } + $PolicyTypeAndNameObject = [psobject]@{ + PolicyType = $PolicyTypeAndNameArray[0] + PolicyName = $PolicyTypeAndNameArray[1] + } + $InternalPolicyList += $PolicyTypeAndNameObject + } + $null = $PSBoundParameters.Remove("PolicyList") + $null = $PSBoundParameters.Add("PolicyList", $InternalPolicyList) + Microsoft.Teams.ConfigAPI.Cmdlets.internal\Update-CsCustomPolicyPackage @PSBoundParameters @httpPipelineArgs + } + catch + { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Print error message in case of error + +function Export-CsAutoAttendantHolidays { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$true, position=0)] + [System.String] + # The identity for the AA whose holiday schedules are to be exported.. + ${Identity}, + + [Parameter(Mandatory=$false, position=1)] + [Switch] + # The Force parameter indicates if we force the action to be performed. (Deprecated) + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $null = $PSBoundParameters.Remove("Force") + + # Use ResponseType 1 as binary output + $PSBoundParameters.Add("ResponseType", 1) + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + $internalOutput = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsAutoAttendantHolidays @PSBoundParameters @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($internalOutput -eq $null) { + return $null + } + + Write-AdminServiceDiagnostic($internalOutput.Diagnostic) + + $internalOutput.ExportHolidayResultSerializedHolidayRecord + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Format output of Export-CsOnlineAudioFile + +function Export-CsOnlineAudioFile { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$true, position=0)] + [System.String] + # The Identity parameter is the identifier for the audio file. + ${Identity}, + + [Parameter(Mandatory=$false, position=1)] + [System.String] + # The ApplicationId parameter is the identifier for the application which will use this audio file. + ${ApplicationId}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + # Default Application ID to TenantGlobal and make it to the correct case + if ($ApplicationId -eq "" -or $ApplicationId -like "TenantGlobal") + { + $ApplicationId = "TenantGlobal" + } + elseif ($ApplicationId -like "OrgAutoAttendant") + { + $ApplicationId = "OrgAutoAttendant" + } + elseif ($ApplicationId -like "HuntGroup") + { + $ApplicationId = "HuntGroup" + } + + $null = $PSBoundParameters.Remove("ApplicationId") + $PSBoundParameters.Add("ApplicationId", $ApplicationId) + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + $base64content = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Export-CsOnlineAudioFile @PSBoundParameters @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($base64content -eq $null) { + return $null + } + + $output = [System.Convert]::FromBase64CharArray($base64content, 0, $base64content.Length) + $output + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Write diagnostic message back to console + +function Find-CsGroup { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$true, position=0)] + [System.String] + # The SearchQuery parameter defines a search query to search the display name or the sip address or the GUID of groups. + ${SearchQuery}, + + [Parameter(Mandatory=$false, position=1)] + [System.Nullable[System.UInt32]] + # The MaxResults parameter identifies the maximum number of results to return. + ${MaxResults}, + + [Parameter(Mandatory=$false, position=2)] + [System.Boolean] + # The ExactMatchOnly parameter instructs the cmdlet to return exact matches only. + ${ExactMatchOnly}, + + [Parameter(Mandatory=$false, position=3)] + [System.Boolean] + # The MailEnabledOnly parameter instructs the cmdlet to return mail enabled only. + ${MailEnabledOnly}, + + [Parameter(Mandatory=$false, position=4)] + [Switch] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + # We want to flight our cmdlet if Force param is passed, but AutoRest doesn't support Force param. + # Force param doesn't seem to do anything, so remove it if it's passed. + if ($PSBoundParameters.ContainsKey('Force')) { + $PSBoundParameters.Remove('Force') | Out-Null + } + + $internalOutput = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Find-CsGroup @PSBoundParameters @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($internalOutput -eq $null) { + return $null + } + + Write-AdminServiceDiagnostic($internalOutput.Diagnostic) + + $output = @() + foreach($internalGroup in $internalOutput.Group) + { + $group = [Microsoft.Rtc.Management.Hosted.Group.Models.GroupModel]::new() + $group.ParseFrom($internalGroup) + $output += $group + } + + $output + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Put nested ApplicationInstance object as first layer object + +function Find-CsOnlineApplicationInstance { + [OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ApplicationInstance])] + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$true, position=0)] + [System.String] + # A query for application instances by display name, telephone number, or GUID of the application instance + ${SearchQuery}, + + [Parameter(Mandatory=$false, position=1)] + [System.Nullable[System.UInt32]] + # The maximum number of results to return + ${MaxResults}, + + [Parameter(Mandatory=$false, position=2)] + [Switch] + # Instruct the cmdlet to return exact matches only + ${ExactMatchOnly}, + + [Parameter(Mandatory=$false, position=3)] + [Switch] + # Instruct the cmdlet to return only application instances that are associated to a configuration + ${AssociatedOnly}, + + [Parameter(Mandatory=$false, position=4)] + [Switch] + # instructs the cmdlet to return only application instances that are not associated to any configuration + ${UnAssociatedOnly}, + + [Parameter(Mandatory=$false, position=5)] + [Switch] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + # We want to flight our cmdlet if Force param is passed, but AutoRest doesn't support Force param. + # Force param doesn't seem to do anything, so remove it if it's passed. + if ($PSBoundParameters.ContainsKey('Force')) { + $PSBoundParameters.Remove('Force') | Out-Null + } + + $internalOutput = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Find-CsOnlineApplicationInstance @PSBoundParameters @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($internalOutput -eq $null) { + return $null + } + + Write-AdminServiceDiagnostic($internalOutput.Diagnostic) + + $output = @() + foreach($internalOutputApplicationInstance in $internalOutput.ApplicationInstance) + { + $applicationInstance = [Microsoft.Rtc.Management.Hosted.Online.Models.FindApplicationInstanceResult]::new() + $applicationInstance.ParseFrom($internalOutputApplicationInstance) + $output += $applicationInstance + } + + $output + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Format output of the cmdlet + +function Get-CsAutoAttendant { + [CmdletBinding(DefaultParameterSetName='GetAllParamSet', PositionalBinding=$false)] + param( + [Parameter(Mandatory=$true, position=0, ParameterSetName='GetSpecificParamSet')] + [System.String] + # The identity for the AA to be retrieved. + ${Identity}, + + [Parameter(Mandatory=$false, position=1, ParameterSetName='GetAllParamSet')] + [Switch] + # If specified, the status records for each auto attendant in the result set are also retrieved. + ${IncludeStatus}, + + [Parameter(Mandatory=$false, position=2, ParameterSetName='GetAllParamSet')] + [Int] + # The First parameter indicates the maximum number of auto attendants to retrieve as the result. + ${First}, + + [Parameter(Mandatory=$false, position=3, ParameterSetName='GetAllParamSet')] + [Int] + # The Skip parameter indicates the number of initial auto attendants to skip in the result. + ${Skip}, + + [Parameter(Mandatory=$false, position=4, ParameterSetName='GetAllParamSet')] + [Switch] + # If specified, only auto attendants' names, identities and associated application instances will be retrieved. + ${ExcludeContent}, + + [Parameter(Mandatory=$false, position=5, ParameterSetName='GetAllParamSet')] + [System.String] + # If specified, only auto attendants whose names match that value would be returned. + ${NameFilter}, + + [Parameter(Mandatory=$false, position=6, ParameterSetName='GetAllParamSet')] + [System.String] + # If specified, the retrieved auto attendants would be sorted by the specified property. + ${SortBy}, + + [Parameter(Mandatory=$false, position=7, ParameterSetName='GetAllParamSet')] + [Switch] + # If specified, the retrieved auto attendants would be sorted in descending order. + ${Descending}, + + [Parameter(Mandatory=$false, position=8)] + [Switch] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + # We want to flight our cmdlet if Force param is passed, but AutoRest doesn't support Force param. + # Force param doesn't seem to do anything, so remove it if it's passed. + if ($PSBoundParameters.ContainsKey('Force')) { + $PSBoundParameters.Remove('Force') | Out-Null + } + + # Get common parameters + $PSBoundCommonParameters = @{} + foreach($p in $PSBoundParameters.GetEnumerator()) + { + $PSBoundCommonParameters += @{$p.Key = $p.Value} + } + $null = $PSBoundCommonParameters.Remove("Identity") + $null = $PSBoundCommonParameters.Remove("First") + $null = $PSBoundCommonParameters.Remove("Skip") + $null = $PSBoundCommonParameters.Remove("ExcludeContent") + $null = $PSBoundCommonParameters.Remove("NameFilter") + $null = $PSBoundCommonParameters.Remove("SortBy") + $null = $PSBoundCommonParameters.Remove("Descending") + + $internalOutput = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsAutoAttendant @PSBoundParameters @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($internalOutput -eq $null) { + return $null + } + + Write-AdminServiceDiagnostic($internalOutput.Diagnostic) + + $output = @() + foreach($internalOutputAutoAttendant in $internalOutput.AutoAttendant) + { + $autoAttendant = [Microsoft.Rtc.Management.Hosted.OAA.Models.AutoAttendant]::new() + $autoAttendant.ParseFrom($internalOutputAutoAttendant, $ExcludeContent) + + if ($Identity) + { + # Append common parameter here + $getCsAutoAttendantStatusParameters = @{Identity = $autoAttendant.Identity} + foreach($p in $PSBoundCommonParameters.GetEnumerator()) + { + $getCsAutoAttendantStatusParameters += @{$p.Key = $p.Value} + } + + $internalStatus = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsAutoAttendantStatus @getCsAutoAttendantStatusParameters @httpPipelineArgs + + $autoAttendant.AmendStatus($internalStatus) + } + + $output += $autoAttendant + } + + $output + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Print error message in case of error + +function Get-CsAutoAttendantHolidays { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$true, position=0)] + [System.String] + # The identity for the AA whose holiday schedules are to be exported.. + ${Identity}, + + [Parameter(Mandatory=$false, position=1)] + [System.String[]] + # The identity for the AA to be retrieved. + ${Years}, + + [Parameter(Mandatory=$false, position=2)] + [System.String[]] + # If specified, the status records for each auto attendant in the result set are also retrieved. + ${Names}, + + [Parameter(Mandatory=$false, position=3)] + [Switch] + # The Force parameter indicates if we force the action to be performed. (Deprecated) + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $null = $PSBoundParameters.Remove("Force") + + if ($PSBoundParameters.ContainsKey("Years")) { + $null = $PSBoundParameters.Remove("Years") + $PSBoundParameters.Add("Year", $Years) + } + + if ($PSBoundParameters.ContainsKey("Names")) { + $null = $PSBoundParameters.Remove("Names") + $PSBoundParameters.Add("Name", $Names) + } + + # Use ResponseType 0 as visualization record + $PSBoundParameters.Add("ResponseType", 0) + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + $internalOutput = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsAutoAttendantHolidays @PSBoundParameters @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($internalOutput -eq $null) { + return $null + } + + Write-AdminServiceDiagnostic($internalOutput.Diagnostic) + + $output = @() + foreach($internalHolidayVisualizationRecord in $internalOutput.HolidayVisualizationRecord) + { + $holidayVisualizationRecord = [Microsoft.Rtc.Management.Hosted.OAA.Models.HolidayVisRecord]::new() + $holidayVisualizationRecord.ParseFrom($internalHolidayVisualizationRecord) + $output += $holidayVisualizationRecord + } + + $output + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Format output of the cmdlet + +function Get-CsAutoAttendantStatus { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$true, position=0)] + [System.String] + # The identity for the AA to be retrieved. + ${Identity}, + + [Parameter(Mandatory=$false, position=1)] + [System.String[]] + ${IncludeResources}, + + [Parameter(Mandatory=$false, position=2)] + [Switch] + # The Force parameter indicates if we force the action to be performed. (Deprecated) + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $null = $PSBoundParameters.Remove("Force") + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + $internalOutput = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsAutoAttendantStatus @PSBoundParameters @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($internalOutput -eq $null) { + return $null + } + + Write-AdminServiceDiagnostic($internalOutput.Diagnostic) + + $output = [Microsoft.Rtc.Management.Hosted.OAA.Models.StatusRecord]::new() + $output.ParseFrom($internalOutput) + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Print error message in case of error + +function Get-CsAutoAttendantSupportedLanguage { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$false, position=0)] + [System.String] + # The Identity parameter designates a specific language to be retrieved. + ${Identity}, + + [Parameter(Mandatory=$false, position=1)] + [Switch] + # The Force parameter indicates if we force the action to be performed. (Deprecated) + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $null = $PSBoundParameters.Remove("Force") + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + # Use ResponseType 1 as binary output + if ($PSBoundParameters.ContainsKey('Identity')) { + $internalOutput = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsAutoAttendantSupportedLanguage @PSBoundParameters @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($internalOutput -eq $null) { + return $null + } + + Write-AdminServiceDiagnostic($internalOutput.Diagnostic) + + $output = [Microsoft.Rtc.Management.Hosted.OAA.Models.Language]::new() + $output.ParseFrom($internalOutput) + + $output + } else { + $tenantInfoOutput = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsAutoAttendantTenantInformation @PSBoundParameters @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($tenantInfoOutput -eq $null) { + return $null + } + + Write-AdminServiceDiagnostic($tenantInfoOutput.Diagnostic) + + $supportedLanguagesOutput = @() + foreach ($supportedLanguage in $tenantInfoOutput.TenantInformationSupportedLanguage) { + $languageOutput = [Microsoft.Rtc.Management.Hosted.OAA.Models.Language]::new() + $languageOutput.ParseFrom($supportedLanguage) + $supportedLanguagesOutput += $languageOutput + } + + $supportedLanguagesOutput + } + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Print error message in case of error + +function Get-CsAutoAttendantSupportedTimeZone { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$false, position=0)] + [System.String] + # The Identity parameter specifies a time zone to be retrieved. + ${Identity}, + + [Parameter(Mandatory=$false, position=1)] + [Switch] + # The Force parameter indicates if we force the action to be performed. (Deprecated) + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $null = $PSBoundParameters.Remove("Force") + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + # Use ResponseType 1 as binary output + if ($PSBoundParameters.ContainsKey('Identity')) { + $internalOutput = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsAutoAttendantSupportedTimeZone @PSBoundParameters @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($internalOutput -eq $null) { + return $null + } + + Write-AdminServiceDiagnostic($internalOutput.Diagnostic) + + $output = [Microsoft.Rtc.Management.Hosted.OAA.Models.TimeZone]::new() + $output.ParseFrom($internalOutput) + + $output + } else { + $tenantInfoOutput = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsAutoAttendantTenantInformation @PSBoundParameters @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($tenantInfoOutput -eq $null) { + return $null + } + + Write-AdminServiceDiagnostic($tenantInfoOutput.Diagnostic) + + $supportedTimezonesOutput = @() + foreach ($supportedTimezone in $tenantInfoOutput.TenantInformationSupportedTimeZone) { + $timezoneOutput = [Microsoft.Rtc.Management.Hosted.OAA.Models.TimeZone]::new() + $timezoneOutput.ParseFrom($supportedTimezone) + $supportedTimezonesOutput += $timezoneOutput + } + + $supportedTimezonesOutput + } + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Print error message in case of error + +function Get-CsAutoAttendantTenantInformation { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$false, position=0)] + [Switch] + # The Force parameter indicates if we force the action to be performed. (Deprecated) + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $null = $PSBoundParameters.Remove("Force") + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + $internalOutput = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsAutoAttendantTenantInformation @PSBoundParameters @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($internalOutput -eq $null) { + return $null + } + + Write-AdminServiceDiagnostic($internalOutput.Diagnostic) + + $output = [Microsoft.Rtc.Management.Hosted.OAA.Models.TenantInformation]::new() + $output.ParseFrom($internalOutput) + + $output + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: transforming the results to the custom objects + +function Get-CsCallQueue { + [CmdletBinding()] + param( + [Parameter(Mandatory=$false)] + [System.String] + # The identity of the call queue which is retrieved. + ${Identity}, + + [Parameter(Mandatory=$false)] + [int] + # The First parameter gets the first N Call Queues. + ${First}, + + [Parameter(Mandatory=$false)] + [int] + # The Skip parameter skips the first N Call Queues. It is intended to be used for pagination purposes. + ${Skip}, + + [Parameter(Mandatory=$false)] + [switch] + # The ExcludeContent parameter only displays the Name and Id of the Call Queues. + ${ExcludeContent}, + + [Parameter(Mandatory=$false)] + [System.String] + # The Sort parameter specifies the property used to sort. + ${Sort}, + + [Parameter(Mandatory=$false)] + [switch] + # The Descending parameter is used to sort descending. + ${Descending}, + + [Parameter(Mandatory=$false)] + [System.String] + # The NameFilter parameter returns Call Queues where name contains specified string + ${NameFilter}, + + [Parameter(Mandatory=$false)] + [Switch] + # Allow the cmdlet to run anyway + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + if (${Identity} -and (${First} -or ${Skip} -or ${Sort} -or ${Descending} -or ${NameFilter})) { + throw "Identity parameter cannot be used with any other parameter." + } + + # Set the 'FilterInvalidObos' query parameter value to false. + $PSBoundParameters.Add('FilterInvalidObos', $false) + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + if ($PSBoundParameters.ContainsKey('Force')) { + $PSBoundParameters.Remove('Force') | Out-Null + } + + # Endpoint to get single entity does not support content exclusion, so we will filter content when displaying + if ($PSBoundParameters.ContainsKey('Identity') -and $PSBoundParameters.ContainsKey('ExcludeContent')) { + $PSBoundParameters.Remove("ExcludeContent") + } + + $result = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsCallQueue @PSBoundParameters @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($result -eq $null) { + return $null + } + + Write-AdminServiceDiagnostic($result.Diagnostic) + + if (${Identity} -ne '') { + $callQueue = [Microsoft.Rtc.Management.Hosted.CallQueue.Models.CallQueue]::new() + $callQueue.ParseFrom($result.CallQueue, $ExcludeContent) + } else { + $callQueues = @() + foreach ($model in $result.CallQueue) { + $callQueue = [Microsoft.Rtc.Management.Hosted.CallQueue.Models.CallQueue]::new() + $callQueues += $callQueue.ParseFrom($model, $ExcludeContent) + } + $callQueues + } + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Print error message in case of error + +function Get-CsOnlineApplicationInstanceAssociation { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$true, position=0)] + [System.String] + # The identity for the application instance whose association is to be retrieved. + ${Identity}, + + [Parameter(Mandatory=$false, position=1)] + [Switch] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + # We want to flight our cmdlet if Force param is passed, but AutoRest doesn't support Force param. + # Force param doesn't seem to do anything, so remove it if it's passed. + if ($PSBoundParameters.ContainsKey('Force')) { + $PSBoundParameters.Remove('Force') | Out-Null + } + + # Encode the given "Identity" if it is a SIP URI (aka User Principle Name (UPN)) + $PSBoundParameters['Identity'] = EncodeSipUri($PSBoundParameters['Identity']) + + $internalOutput = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsOnlineApplicationInstanceAssociation @PSBoundParameters @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($internalOutput -eq $null) { + return $null + } + + Write-AdminServiceDiagnostic($internalOutput.Diagnostic) + + $output = [Microsoft.Rtc.Management.Hosted.Online.Models.ApplicationInstanceAssociation]::new() + $output.ParseFrom($internalOutput) + + $output + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Format output of the cmdlet + +function Get-CsOnlineApplicationInstanceAssociationStatus { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$true, position=0)] + [System.String] + # The identity for the application instance whose association provisioning status is to be retrieved. + ${Identity}, + + [Parameter(Mandatory=$false, position=1)] + [Switch] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + # We want to flight our cmdlet if Force param is passed, but AutoRest doesn't support Force param. + # Force param doesn't seem to do anything, so remove it if it's passed. + if ($PSBoundParameters.ContainsKey('Force')) { + $PSBoundParameters.Remove('Force') | Out-Null + } + + $internalOutput = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsOnlineApplicationInstanceAssociationStatus @PSBoundParameters @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($internalOutput -eq $null) { + return $null + } + + Write-AdminServiceDiagnostic($internalOutput.Diagnostic) + + $output = [Microsoft.Rtc.Management.Hosted.Online.Models.StatusRecord]::new() + $output.ParseFrom($internalOutput) + + $output + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Format output of Get-CsOnlineAudioFile + +function Get-CsOnlineAudioFile { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$false, position=0)] + [System.String] + # The Identity parameter is the identifier for the audio file. + ${Identity}, + + [Parameter(Mandatory=$false, position=1)] + [System.String] + # The ApplicationId parameter is the identifier for the application which will use this audio file. + ${ApplicationId}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + # Default Application ID to TenantGlobal and make it to the correct case + if ($ApplicationId -eq "" -or $ApplicationId -like "TenantGlobal") + { + $ApplicationId = "TenantGlobal" + } + elseif ($ApplicationId -like "OrgAutoAttendant") + { + $ApplicationId = "OrgAutoAttendant" + } + elseif ($ApplicationId -like "HuntGroup") + { + $ApplicationId = "HuntGroup" + } + + $null = $PSBoundParameters.Remove("ApplicationId") + $PSBoundParameters.Add("ApplicationId", $ApplicationId) + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + if ($Identity -ne "") { + $internalOutput = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsOnlineAudioFile @PSBoundParameters @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($internalOutput -eq $null) { + return $null + } + + $output = [Microsoft.Rtc.Management.Hosted.Online.Models.AudioFile]::new() + $output.ParseFrom($internalOutput) + } + else { + $internalOutputs = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsOnlineAudioFile @PSBoundParameters @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($internalOutputs -eq $null) { + return $null + } + + $output = New-Object Collections.Generic.List[Microsoft.Rtc.Management.Hosted.Online.Models.AudioFile] + foreach($internalOutput in $internalOutputs) { + $audioFile = [Microsoft.Rtc.Management.Hosted.Online.Models.AudioFile]::new() + $audioFile.ParseFrom($internalOutput) + $output.Add($audioFile) + } + } + + $output + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: transforming the results to the custom objects + +function Get-CsOnlineSchedule { + [CmdletBinding()] + param( + [Parameter(Mandatory=$false)] + [System.String] + # The identity of the schedule which is retrieved. + ${Id}, + + [Parameter(Mandatory=$false)] + [Switch] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + if ($PSBoundParameters.ContainsKey("Force")) { + $PSBoundParameters.Remove("Force") | Out-Null + } + + $result = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsOnlineSchedule @PSBoundParameters @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($result -eq $null) { + return $null + } + + Write-AdminServiceDiagnostic($result.Diagnostic) + + if (${Id} -ne '') { + $schedule = [Microsoft.Rtc.Management.Hosted.Online.Models.Schedule]::new() + $schedule.ParseFrom($result) + } else { + $schedules = @() + foreach ($model in $result.Schedule) { + $schedule = [Microsoft.Rtc.Management.Hosted.Online.Models.Schedule]::new() + $schedules += $schedule.ParseFrom($model) + } + $schedules + } + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Print error message in case of error + +function Get-CsOnlineVoicemailUserSettings { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$true, position=0)] + [System.String] + # The identity for the user for the voice mail settings + ${Identity}, + + [Parameter(Mandatory=$false, position=1)] + [Switch] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + if ($PSBoundParameters.ContainsKey("Force")) { + $PSBoundParameters.Remove("Force") | Out-Null + } + + $result = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsOnlineVMUserSetting @PSBoundParameters @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($result -eq $null) { + return $null + } + + $result + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Print error message in case of error + +function Import-CsAutoAttendantHolidays { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$true, position=0)] + [System.String] + # The identity for the AA whose holiday schedules are to be imported. + ${Identity}, + + [Alias('Input')] + [Parameter(Mandatory=$true, position=1)] + [System.Byte[]] + ${InputBytes}, + + [Parameter(Mandatory=$false, position=2)] + [Switch] + # The Force parameter indicates if we force the action to be performed. (Deprecated) + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $null = $PSBoundParameters.Remove("Force") + + $base64input = [System.Convert]::ToBase64String($InputBytes) + $PSBoundParameters.Add("SerializedHolidayRecord", $base64input) + $null = $PSBoundParameters.Remove("InputBytes") + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + $internalOutput = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Import-CsAutoAttendantHolidays @PSBoundParameters @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($internalOutput -eq $null) { + return $null + } + + Write-AdminServiceDiagnostic($internalOutput.Diagnostic) + + $output = @() + foreach($internalImportHolidayStatus in $internalOutput.ImportAutoAttendantHolidayResultImportHolidayStatusRecord) + { + $importHolidayStatus = [Microsoft.Rtc.Management.Hosted.OAA.Models.HolidayImportResult]::new() + $importHolidayStatus.ParseFrom($internalImportHolidayStatus) + $output += $importHolidayStatus + } + + $output + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Base64 encode the content for the audio file + +function Import-CsOnlineAudioFile { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$false, position=0)] + [System.String] + # The ApplicationId parameter is the identifier for the application which will use this audio file. + ${ApplicationId}, + + [Parameter(Mandatory=$true, position=1)] + [System.String] + # The FileName parameter is the name of the audio file. + ${FileName}, + + [Parameter(Mandatory=$true, position=2)] + [System.Byte[]] + # The Content parameter represents the content of the audio file. + ${Content}, + + [Parameter(Mandatory=$false, position=3)] + [Switch] + # The Force parameter indicates if we force the action to be performed. (Deprecated) + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $null = $PSBoundParameters.Remove("Force") + + $base64content = [System.Convert]::ToBase64String($Content) + $null = $PSBoundParameters.Remove("Content") + $PSBoundParameters.Add("Content", $base64content) + + # Default Application ID to TenantGlobal and make it to the correct case + if ($ApplicationId -eq "" -or $ApplicationId -like "TenantGlobal") + { + $ApplicationId = "TenantGlobal" + } + elseif ($ApplicationId -like "OrgAutoAttendant") + { + $ApplicationId = "OrgAutoAttendant" + } + elseif ($ApplicationId -like "HuntGroup") + { + $ApplicationId = "HuntGroup" + } + $null = $PSBoundParameters.Remove("ApplicationId") + $PSBoundParameters.Add("ApplicationId", $ApplicationId) + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + $internalOutput = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Import-CsOnlineAudioFile @PSBoundParameters @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($internalOutput -eq $null) { + return $null + } + + $output = [Microsoft.Rtc.Management.Hosted.Online.Models.AudioFile]::new() + $output.ParseFrom($internalOutput) + + $output + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Format output of cmdlet + +function New-CsAutoAttendant { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$true, position=0)] + [System.String] + # The Name parameter is a friendly name that is assigned to the AA. + ${Name}, + + [Parameter(Mandatory=$true, position=1)] + [System.String] + # The LanguageId parameter is the language that is used to read text-to-speech (TTS) prompts. + ${LanguageId}, + + [Parameter(Mandatory=$false, position=2)] + [System.String] + # The VoiceId parameter represents the voice that is used to read text-to-speech (TTS) prompts. + ${VoiceId}, + + [Parameter(Mandatory=$true, position=3)] + [Microsoft.Rtc.Management.Hosted.OAA.Models.CallFlow] + # The DefaultCallFlow parameter is the flow to be executed when no other call flow is in effect (for example, during business hours). + ${DefaultCallFlow}, + + [Parameter(Mandatory=$false, position=4)] + [Microsoft.Rtc.Management.Hosted.OAA.Models.CallableEntity] + # The Operator parameter represents the address or PSTN number of the operator. + ${Operator}, + + [Parameter(Mandatory=$false, position=5)] + [Switch] + # The EnableVoiceResponse parameter indicates whether voice response for AA is enabled. + ${EnableVoiceResponse}, + + [Parameter(Mandatory=$true, position=6)] + [System.String] + # The TimeZoneId parameter represents the AA time zone. + ${TimeZoneId}, + + [Parameter(Mandatory=$false, position=7)] + [Microsoft.Rtc.Management.Hosted.OAA.Models.CallFlow[]] + # The CallFlows parameter represents call flows, which are required if they are referenced in the CallHandlingAssociations parameter. + ${CallFlows}, + + [Parameter(Mandatory=$false, position=8)] + [Microsoft.Rtc.Management.Hosted.OAA.Models.CallHandlingAssociation[]] + # The CallHandlingAssociations parameter represents the call handling associations. + ${CallHandlingAssociations}, + + [Parameter(Mandatory=$false, position=9)] + [Microsoft.Rtc.Management.Hosted.OAA.Models.DialScope] + # Specifies the users to which call transfers are allowed through directory lookup feature. + ${InclusionScope}, + + [Parameter(Mandatory=$false, position=10)] + [Microsoft.Rtc.Management.Hosted.OAA.Models.DialScope] + # Specifies the users to which call transfers are not allowed through directory lookup feature. + ${ExclusionScope}, + + [Parameter(Mandatory=$false, position=11)] + [System.Guid[]] + # The list of authorized users. + ${AuthorizedUsers}, + + [Parameter(Mandatory=$false, position=12)] + [System.Guid[]] + # The list of hidden authorized users. + ${HideAuthorizedUsers}, + + [Parameter(Mandatory=$false, position=13)] + [Switch] + # The Force parameter indicates if we force the action to be performed. (Deprecated) + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $null = $PSBoundParameters.Remove("Force") + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + # Get common parameters + $PSBoundCommonParameters = @{} + foreach($p in $PSBoundParameters.GetEnumerator()) + { + $PSBoundCommonParameters += @{$p.Key = $p.Value} + } + $null = $PSBoundCommonParameters.Remove("Name") + $null = $PSBoundCommonParameters.Remove("LanguageId") + $null = $PSBoundCommonParameters.Remove("VoiceId") + $null = $PSBoundCommonParameters.Remove("DefaultCallFlow") + $null = $PSBoundCommonParameters.Remove("Operator") + $null = $PSBoundCommonParameters.Remove("EnableVoiceResponse") + $null = $PSBoundCommonParameters.Remove("TimeZoneId") + $null = $PSBoundCommonParameters.Remove("CallFlows") + $null = $PSBoundCommonParameters.Remove("CallHandlingAssociations") + $null = $PSBoundCommonParameters.Remove("InclusionScope") + $null = $PSBoundCommonParameters.Remove("ExclusionScope") + $null = $PSBoundCommonParameters.Remove("AuthorizedUsers") + $null = $PSBoundCommonParameters.Remove("HideAuthorizedUsers") + + if ($DefaultCallFlow -ne $null) { + $null = $PSBoundParameters.Remove('DefaultCallFlow') + if ($DefaultCallFlow.Id -ne $null) { + $PSBoundParameters.Add('DefaultCallFlowId', $DefaultCallFlow.Id) + } + if ($DefaultCallFlow.Greetings -ne $null) { + $defaultCallFlowGreetings = @() + foreach ($defaultCallFlowGreeting in $DefaultCallFlow.Greetings) { + $defaultCallFlowGreetings += $defaultCallFlowGreeting.ParseToAutoGeneratedModel() + } + $PSBoundParameters.Add('DefaultCallFlowGreeting', $defaultCallFlowGreetings) + } + if ($DefaultCallFlow.Name -ne $null) { + $PSBoundParameters.Add('DefaultCallFlowName', $DefaultCallFlow.Name) + } + if ($DefaultCallFlow.ForceListenMenuEnabled -eq $true) { + $PSBoundParameters.Add('DefaultCallFlowForceListenMenuEnabled', $true) + } + if ($DefaultCallFlow.Menu -ne $null) { + if ($DefaultCallFlow.Menu.DialByNameEnabled) { + $PSBoundParameters.Add('MenuDialByNameEnabled', $true) + } + $PSBoundParameters.Add('MenuDirectorySearchMethod', $DefaultCallFlow.Menu.DirectorySearchMethod.ToString()) + if ($DefaultCallFlow.Menu.Name -ne $null) { + $PSBoundParameters.Add('MenuName', $DefaultCallFlow.Menu.Name) + } + if ($DefaultCallFlow.Menu.MenuOptions -ne $null) { + $defaultCallFlowMenuOptions = @() + foreach ($defaultCallFlowMenuOption in $DefaultCallFlow.Menu.MenuOptions) { + $defaultCallFlowMenuOptions += $defaultCallFlowMenuOption.ParseToAutoGeneratedModel() + } + $PSBoundParameters.Add('MenuOption', $defaultCallFlowMenuOptions) + } + if ($DefaultCallFlow.Menu.Prompts -ne $null) { + $defaultCallFlowMenuPrompts = @() + foreach ($defaultCallFlowMenuPrompt in $DefaultCallFlow.Menu.Prompts) { + $defaultCallFlowMenuPrompts += $defaultCallFlowMenuPrompt.ParseToAutoGeneratedModel() + } + $PSBoundParameters.Add('MenuPrompt', $defaultCallFlowMenuPrompts) + } + } + } + if ($CallFlows -ne $null) { + $null = $PSBoundParameters.Remove('CallFlows') + $inputCallFlows = @() + foreach ($callFlow in $CallFlows) { + $inputCallFlows += $callFlow.ParseToAutoGeneratedModel() + } + $PSBoundParameters.Add('CallFlow', $inputCallFlows) + } + if ($CallHandlingAssociations -ne $null) { + $null = $PSBoundParameters.Remove('CallHandlingAssociations') + $inputCallHandlingAssociations = @() + foreach ($callHandlingAssociation in $CallHandlingAssociations) { + $inputCallHandlingAssociations += $callHandlingAssociation.ParseToAutoGeneratedModel() + } + $PSBoundParameters.Add('CallHandlingAssociation', $inputCallHandlingAssociations) + } + if ($Operator -ne $null) { + $null = $PSBoundParameters.Remove('Operator') + $PSBoundParameters.Add('OperatorEnableTranscription', $Operator.EnableTranscription) + $PSBoundParameters.Add('OperatorId', $Operator.Id) + $PSBoundParameters.Add('OperatorType', $Operator.Type.ToString()) + } + if ($InclusionScope -ne $null) { + $null = $PSBoundParameters.Remove('InclusionScope') + $PSBoundParameters.Add('InclusionScopeType', $InclusionScope.Type.ToString()) + $PSBoundParameters.Add('InclusionScopeGroupDialScopeGroupId', $InclusionScope.GroupScope.GroupIds) + } + if ($ExclusionScope -ne $null) { + $null = $PSBoundParameters.Remove('ExclusionScope') + $PSBoundParameters.Add('ExclusionScopeType', $ExclusionScope.Type.ToString()) + $PSBoundParameters.Add('ExclusionScopeGroupDialScopeGroupId', $ExclusionScope.GroupScope.GroupIds) + } + if ($AuthorizedUsers -ne $null) { + $null = $PSBoundParameters.Remove('AuthorizedUsers') + $inputAuthorizedUsers = @() + foreach ($authorizedUser in $AuthorizedUsers) { + $inputAuthorizedUsers += $authorizedUser.ToString() + } + $PSBoundParameters.Add('AuthorizedUser', $inputAuthorizedUsers) + } + if ($HideAuthorizedUsers -ne $null) { + $null = $PSBoundParameters.Remove('HideAuthorizedUsers') + $inputHideAuthorizedUsers = @() + foreach ($hiddenAuthorizedUser in $HideAuthorizedUsers) { + $inputHideAuthorizedUsers += $hiddenAuthorizedUser.ToString() + } + $PSBoundParameters.Add('HideAuthorizedUser', $inputHideAuthorizedUsers) + } + + $internalOutput = Microsoft.Teams.ConfigAPI.Cmdlets.internal\New-CsAutoAttendant @PSBoundParameters @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($internalOutput -eq $null) { + return $null + } + + Write-AdminServiceDiagnostic($internalOutput.Diagnostic) + + $output = [Microsoft.Rtc.Management.Hosted.OAA.Models.AutoAttendant]::new() + $output.ParseFrom($internalOutput.AutoAttendant) + + $getCsAutoAttendantStatusParameters = @{Identity = $output.Identity} + foreach($p in $PSBoundCommonParameters.GetEnumerator()) + { + $getCsAutoAttendantStatusParameters += @{$p.Key = $p.Value} + } + + $internalStatus = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsAutoAttendantStatus @getCsAutoAttendantStatusParameters @httpPipelineArgs + $output.AmendStatus($internalStatus) + + $output + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Format output of cmdlet + +function New-CsAutoAttendantCallableEntity { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$true, position=0)] + [System.String] + # The Identity parameter represents the ID of the callable entity + ${Identity}, + + [Parameter(Mandatory=$true, position=1)] + [Microsoft.Rtc.Management.Hosted.OAA.Models.CallableEntityType] + # The Type parameter represents the type of the callable entity + ${Type}, + + [Parameter(Mandatory=$false, position=2)] + [Switch] + # Enables the email transcription of voicemail, this is only supported with shared voicemail callable entities. + ${EnableTranscription}, + + [Parameter(Mandatory=$false, position=3)] + [Switch] + # Suppresses the "Please leave a message after the tone" system prompt when transferring to shared voicemail. + ${EnableSharedVoicemailSystemPromptSuppression}, + + [Parameter(Mandatory=$false, position=4)] + [System.Int16] + # The Call Priority of the MenuOption, only applies when the CallableEntityType (Type) is ApplicationEndpoint. + ${CallPriority}, + + [Parameter(Mandatory=$false, position=5)] + [Switch] + # The Force parameter indicates if we force the action to be performed. (Deprecated) + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $null = $PSBoundParameters.Remove("Force") + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + # CallPriority is only applicable for the 'ApplicationEndpoint' and 'ConfigurationEndpoint' type. + # For all other cases, an error message should be displayed when a value is provided. + if ($Type -ne 'ApplicationEndpoint' -and $Type -ne 'ConfigurationEndpoint' -and ([Math]::Abs($CallPriority) -ge 1)) + { + throw "CallPriority is only applicable when the 'Type' is 'ApplicationEndpoint' or 'ConfigurationEndpoint'. Please remove the CallPriority."; + } + + # Making sure the user provides the correct CallPriority value. The valid values are 1 to 5. + # Zero is also allowed which means the user wants to use the default CallPriority or doesn't want to use the CallPriority feature. + if (($Type -eq 'ApplicationEndpoint' -or $Type -eq 'ConfigurationEndpoint') -and ($CallPriority -lt 0 -or $CallPriority -gt 5)) + { + throw "Invalid CallPriority. The valid values are 1 to 5 (default is 3). Please provide the correct value."; + } + + $internalOutput = Microsoft.Teams.ConfigAPI.Cmdlets.internal\New-CsAutoAttendantCallableEntity @PSBoundParameters @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($internalOutput -eq $null) { + return $null + } + + Write-AdminServiceDiagnostic($internalOutput.Diagnostic) + + $output = [Microsoft.Rtc.Management.Hosted.OAA.Models.CallableEntity]::new() + $output.ParseFrom($internalOutput) + + $output + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Put nested ApplicationInstance object as first layer object + +function New-CsAutoAttendantCallFlow { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$true, position=0)] + [System.String] + # The Name parameter represents a unique friendly name for the call flow. + ${Name}, + + [Parameter(Mandatory=$false, position=1)] + [PSObject[]] + # If present, the prompts specified by the Greetings parameter (either TTS or Audio) are played before the call flow's menu is rendered. + ${Greetings}, + + [Parameter(Mandatory=$true, position=2)] + [PSObject] + # The Menu parameter identifies the menu to render when the call flow is executed. + ${Menu}, + + [Parameter(Mandatory=$false, position=3)] + [Switch] + # The ForceListenMenuEnabled parameter indicates whether the caller will be forced to listen to the menu. + ${ForceListenMenuEnabled}, + + [Parameter(Mandatory=$false, position=4)] + [Switch] + # The Force parameter indicates if we force the action to be performed. (Deprecated) + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $null = $PSBoundParameters.Remove("Force") + + If ($ForceListenMenuEnabled -ne $null){ + $null = $PSBoundParameters.Remove("ForceListenMenuEnabled") + $PSBoundParameters.Add('ForceListenMenuEnabled', $ForceListenMenuEnabled) + } + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + if ($Greetings -ne $null) { + $null = $PSBoundParameters.Remove('Greetings') + $inputGreetings = @() + foreach ($greeting in $Greetings) { + $inputGreetings += [Microsoft.Rtc.Management.Hosted.OAA.Models.Prompt]::CreateAutoGeneratedFromObject($greeting) + } + $PSBoundParameters.Add('Greeting', $inputGreetings) + } + + if ($Menu -ne $null) { + $null = $PSBoundParameters.Remove('Menu') + if ($Menu.DialByNameEnabled) { + $PSBoundParameters.Add('MenuDialByNameEnabled', $true) + } + $PSBoundParameters.Add('MenuDirectorySearchMethod', $Menu.DirectorySearchMethod) + $PSBoundParameters.Add('MenuName', $Menu.Name) + $inputMenuOptions = @() + foreach ($menuOption in $Menu.MenuOptions) { + $inputMenuOptions += [Microsoft.Rtc.Management.Hosted.OAA.Models.MenuOption]::CreateAutoGeneratedFromObject($menuOption) + } + $PSBoundParameters.Add('MenuOption', $inputMenuOptions) + $inputMenuPrompts = @() + foreach ($menuPrompt in $Menu.Prompts) { + $inputMenuPrompts += [Microsoft.Rtc.Management.Hosted.OAA.Models.Prompt]::CreateAutoGeneratedFromObject($menuPrompt) + } + $PSBoundParameters.Add('MenuPrompt', $inputMenuPrompts) + } + + $internalOutput = Microsoft.Teams.ConfigAPI.Cmdlets.internal\New-CsAutoAttendantCallFlow @PSBoundParameters @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($internalOutput -eq $null) { + return $null + } + + Write-AdminServiceDiagnostic($internalOutput.Diagnostic) + + $output = [Microsoft.Rtc.Management.Hosted.OAA.Models.CallFlow]::new() + $output.ParseFrom($internalOutput) + + $output + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Print diagnostic message from service + +function New-CsAutoAttendantCallHandlingAssociation { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$true, position=0)] + [Microsoft.Rtc.Management.Hosted.OAA.Models.CallHandlingAssociationType] + # The Type parameter represents the type of the call handling association. + ${Type}, + + [Parameter(Mandatory=$true, position=1)] + [System.String] + # The ScheduleId parameter represents the schedule to be associated with the call flow. + ${ScheduleId}, + + [Parameter(Mandatory=$true, position=2)] + [System.String] + # The CallFlowId parameter represents the call flow to be associated with the schedule. + ${CallFlowId}, + + [Parameter(Mandatory=$false, position=3)] + [Switch] + # The Disable parameter, if set, establishes that the call handling association is created as disabled. + ${Disable}, + + [Parameter(Mandatory=$false, position=4)] + [Switch] + # The Force parameter indicates if we force the action to be performed. (Deprecated) + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $null = $PSBoundParameters.Remove("Force") + + if ($Disable -eq $true) { + $null = $PSBoundParameters.Remove('Disable') + } else { + $PSBoundParameters.Add('Enable', $true) + } + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + $internalOutput = Microsoft.Teams.ConfigAPI.Cmdlets.internal\New-CsAutoAttendantCallHandlingAssociation @PSBoundParameters @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($internalOutput -eq $null) { + return $null + } + + Write-AdminServiceDiagnostic($internalOutput.Diagnostic) + + $output = [Microsoft.Rtc.Management.Hosted.OAA.Models.CallHandlingAssociation]::new() + $output.ParseFrom($internalOutput) + + $output + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Print diagnostic message from server respond + +function New-CsAutoAttendantDialScope { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$true, position=0)] + [Switch] + # Indicates that a dial-scope based on groups (distribution lists, security groups) is to be created. + ${GroupScope}, + + [Parameter(Mandatory=$true, position=1)] + [System.String[]] + # Refers to the IDs of the groups that are to be included in the dial-scope. + ${GroupIds}, + + [Parameter(Mandatory=$false, position=2)] + [Switch] + # The Force parameter indicates if we force the action to be performed. (Deprecated) + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $null = $PSBoundParameters.Remove("Force") + + if ($GroupScope -eq $true) { + $null = $PSBoundParameters.Remove('GroupScope') + } + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + $internalOutput = Microsoft.Teams.ConfigAPI.Cmdlets.internal\New-CsAutoAttendantDialScope @PSBoundParameters @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($internalOutput -eq $null) { + return $null + } + + Write-AdminServiceDiagnostic($internalOutput.Diagnostic) + + $output = [Microsoft.Rtc.Management.Hosted.OAA.Models.DialScope]::new() + $output.ParseFrom($internalOutput) + + $output + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Format input of the cmdlet + +function New-CsAutoAttendantMenu { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$true, position=0)] + [System.String] + # The Name parameter represents a friendly name for the menu. + ${Name}, + + [Parameter(Mandatory=$false, position=1)] + [PSObject[]] + # The Prompts parameter reflects the prompts to play when the menu is activated. + ${Prompts}, + + [Parameter(Mandatory=$false, position=2)] + [PSObject[]] + # The MenuOptions parameter is a list of menu options for this menu. + ${MenuOptions}, + + [Parameter(Mandatory=$false, position=3)] + [Switch] + # The EnableDialByName parameter lets users do a directory search by recipient name and get transferred to the party. + ${EnableDialByName}, + + [Parameter(Mandatory=$false, position=4)] + [Microsoft.Rtc.Management.Hosted.OAA.Models.DirectorySearchMethod] + # The DirectorySearchMethod parameter lets you define the type of Directory Search Method for the Auto Attendant menu. + ${DirectorySearchMethod}, + + [Parameter(Mandatory=$false, position=5)] + [Switch] + # The Force parameter indicates if we force the action to be performed. (Deprecated) + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $null = $PSBoundParameters.Remove("Force") + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + if ($Prompts -ne $null) { + $null = $PSBoundParameters.Remove('Prompts') + $inputPrompts = @() + foreach ($prompt in $Prompts) { + $inputPrompts += [Microsoft.Rtc.Management.Hosted.OAA.Models.Prompt]::CreateAutoGeneratedFromObject($prompt) + } + $PSBoundParameters.Add('Prompt', $inputPrompts) + } + + if ($MenuOptions -ne $null) { + $null = $PSBoundParameters.Remove('MenuOptions') + $inputMenuOptions = @() + foreach ($menuOption in $MenuOptions) { + $inputMenuOptions += [Microsoft.Rtc.Management.Hosted.OAA.Models.MenuOption]::CreateAutoGeneratedFromObject($menuOption) + } + $PSBoundParameters.Add('MenuOption', $inputMenuOptions) + } + + $internalOutput = Microsoft.Teams.ConfigAPI.Cmdlets.internal\New-CsAutoAttendantMenu @PSBoundParameters @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($internalOutput -eq $null) { + return $null + } + + Write-AdminServiceDiagnostic($internalOutput.Diagnostic) + + $output = [Microsoft.Rtc.Management.Hosted.OAA.Models.Menu]::new() + $output.ParseFrom($internalOutput) + + $output + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Format input of the cmdlet + +function New-CsAutoAttendantMenuOption { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$true, position=0)] + [Microsoft.Rtc.Management.Hosted.OAA.Models.ActionType] + # The Action parameter represents the action to be taken when the menu option is activated. + ${Action}, + + [Parameter(Mandatory=$true, position=1)] + [Microsoft.Rtc.Management.Hosted.OAA.Models.DtmfTone] + # The DtmfResponse parameter indicates the key on the telephone keypad to be pressed to activate the menu option. + ${DtmfResponse}, + + [Parameter(Mandatory=$false, position=2)] + [System.String[]] + # The VoiceResponses parameter represents the voice responses to select a menu option when Voice Responses are enabled for the auto attendant. + ${VoiceResponses}, + + [Parameter(Mandatory=$false, position=3)] + [Microsoft.Rtc.Management.Hosted.OAA.Models.CallableEntity] + # The CallTarget parameter represents the target for call transfer after the menu option is selected. + ${CallTarget}, + + [Parameter(Mandatory=$false, position=4)] + [PSObject] + # The Prompt parameter represents the announcement prompt. + ${Prompt}, + + [Parameter(Mandatory=$false, position=5)] + [Switch] + # The Force parameter indicates if we force the action to be performed. (Deprecated) + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $null = $PSBoundParameters.Remove("Force") + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + if ($CallTarget -ne $null) { + $null = $PSBoundParameters.Remove('CallTarget') + $PSBoundParameters.Add('CallTargetId', $CallTarget.Id) + $PSBoundParameters.Add('CallTargetType', $CallTarget.Type) + if ($CallTarget.EnableTranscription) { + $PSBoundParameters.Add('CallTargetEnableTranscription', $True) + } + if ($CallTarget.EnableSharedVoicemailSystemPromptSuppression) { + $PSBoundParameters.Add('CallTargetEnableSharedVoicemailSystemPromptSuppression', $True) + } + if ($CallTarget.Type -eq 'ApplicationEndpoint' -or $CallTarget.Type -eq 'ConfigurationEndpoint') { + $PSBoundParameters.Add('CallTargetCallPriority', $CallTarget.CallPriority) + } + } + + if ($Prompt -ne $null) { + $typeNames = $Prompt.PSObject.TypeNames + if ($typeNames -NotContains "Microsoft.Rtc.Management.Hosted.OAA.Models.Prompt" -and $typeNames -NotContains "Deserialized.Microsoft.Rtc.Management.Hosted.OAA.Models.Prompt") { + throw "PSObject must be type of Microsoft.Rtc.Management.Hosted.OAA.Models.Prompt or Deserialized.Microsoft.Rtc.Management.Hosted.OAA.Models.Prompt" + } + + $null = $PSBoundParameters.Remove('Prompt') + $PSBoundParameters.Add('PromptActiveType', $Prompt.ActiveType) + $PSBoundParameters.Add('PromptTextToSpeechPrompt', $Prompt.TextToSpeechPrompt) + if ($Prompt.AudioFilePrompt -ne $null -and $Prompt.AudioFilePrompt.Id -ne $null) { + $PSBoundParameters.Add('AudioFilePromptId', $Prompt.AudioFilePrompt.Id) + $PSBoundParameters.Add('AudioFilePromptFileName', $Prompt.AudioFilePrompt.FileName) + $PSBoundParameters.Add('AudioFilePromptDownloadUri', $Prompt.AudioFilePrompt.DownloadUri) + } + } + + $internalOutput = Microsoft.Teams.ConfigAPI.Cmdlets.internal\New-CsAutoAttendantMenuOption @PSBoundParameters @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($internalOutput -eq $null) { + return $null + } + + Write-AdminServiceDiagnostic($internalOutput.Diagnostic) + + $output = [Microsoft.Rtc.Management.Hosted.OAA.Models.MenuOption]::new() + $output.ParseFrom($internalOutput) + + $output + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Base64 encode the content for the audio file + +function New-CsAutoAttendantPrompt { + [CmdletBinding(PositionalBinding=$true, DefaultParameterSetName='TextToSpeechParamSet')] + param( + [Parameter(Mandatory=$true, position=0, ParameterSetName="DualParamSet")] + [System.String] + # The ActiveType parameter identifies the active type (modality) of the AA prompt. + ${ActiveType}, + + [Parameter(Mandatory=$true, position=0, ParameterSetName="AudioFileParamSet")] + [Parameter(Mandatory=$false, position=1, ParameterSetName="DualParamSet")] + [Microsoft.Rtc.Management.Hosted.Online.Models.AudioFile] + # The AudioFilePrompt parameter represents the audio to play when the prompt is activated (rendered). + ${AudioFilePrompt}, + + [Parameter(Mandatory=$true, position=0, ParameterSetName="TextToSpeechParamSet")] + [Parameter(Mandatory=$false, position=2, ParameterSetName="DualParamSet")] + [System.String] + # The TextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt that is to be read when the prompt is activated. + ${TextToSpeechPrompt}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + if ($ActiveType -eq "") { + $PSBoundParameters.Remove("ActiveType") | Out-Null + if ($TextToSpeechPrompt -ne "") { + $PSBoundParameters.Add("ActiveType", "TextToSpeech") + } elseif ($AudioFilePrompt -ne $null) { + $PSBoundParameters.Add("ActiveType", "AudioFile") + } else { + $PSBoundParameters.Add("ActiveType", "None") + } + } + + $ActiveType = "TextToSpeech" + + if ($AudioFilePrompt -ne $null) { + $PSBoundParameters.Add('AudioFilePromptId', $AudioFilePrompt.Id) + $PSBoundParameters.Add('AudioFilePromptFileName', $AudioFilePrompt.FileName) + $PSBoundParameters.Add('AudioFilePromptDownloadUri', $AudioFilePrompt.DownloadUri) + $PSBoundParameters.Remove('AudioFilePrompt') | Out-Null + } + + $internalOutput = Microsoft.Teams.ConfigAPI.Cmdlets.internal\New-CsAutoAttendantPrompt @PSBoundParameters @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($internalOutput -eq $null) { + return $null + } + + Write-AdminServiceDiagnostic($internalOutput.Diagnostic) + + $output = [Microsoft.Rtc.Management.Hosted.OAA.Models.Prompt]::new() + $output.ParseFrom($internalOutput) + + return $output + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: parsing the return result to the CallQueue object type. + +function New-CsCallQueue { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$true, position=0)] + [System.String] + # The Name of the call queue to be created. + ${Name}, + + [Parameter(Mandatory=$false)] + [System.Int16] + # The AgentAlertTime parameter represents the time (in seconds) that a call can remain unanswered before it is automatically routed to the next agent. + ${AgentAlertTime}, + + [Parameter(Mandatory=$false)] + [bool] + # The AllowOptOut parameter indicates whether or not agents can opt in or opt out from taking calls from a Call Queue. + ${AllowOptOut}, + + [Parameter(Mandatory=$false)] + [System.Guid[]] + # The DistributionLists parameter lets you add all the members of the distribution lists to the Call Queue. This is a list of distribution list GUIDs. + ${DistributionLists}, + + [Parameter(Mandatory=$false)] + [bool] + # The UseDefaultMusicOnHold parameter indicates that this Call Queue uses the default music on hold. + ${UseDefaultMusicOnHold}, + + [Parameter(Mandatory=$false)] + [System.String] + # The WelcomeMusicAudioFileId parameter represents the audio file to play when callers are connected with the Call Queue. + ${WelcomeMusicAudioFileId}, + + [Parameter(Mandatory=$false)] + [System.String] + # The WelcomeTextToSpeechPrompt parameter represents the text to speech content to play when callers are connected with the Call Queue. + ${WelcomeTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The MusicOnHoldAudioFileId parameter represents music to play when callers are placed on hold. + ${MusicOnHoldAudioFileId}, + + [Parameter(Mandatory=$false)] + [Microsoft.Rtc.Management.Hosted.HuntGroup.Models.OverflowAction] + # The OverflowAction parameter designates the action to take if the overflow threshold is reached. + ${OverflowAction}, + + [Parameter(Mandatory=$false)] + [System.String] + # The OverflowActionTarget parameter represents the target of the overflow action. + ${OverflowActionTarget}, + + [Parameter(Mandatory=$false)] + [System.Int16] + # The OverflowThreshold parameter defines the number of calls that can be in the queue at any one time before the overflow action is triggered. + ${OverflowThreshold}, + + [Parameter(Mandatory=$false)] + [Microsoft.Rtc.Management.Hosted.HuntGroup.Models.TimeoutAction] + # The TimeoutAction parameter defines the action to take if the timeout threshold is reached. + ${TimeoutAction}, + + [Parameter(Mandatory=$false)] + [System.String] + # The TimeoutActionTarget represents the target of the timeout action. + ${TimeoutActionTarget}, + + [Parameter(Mandatory=$false)] + [System.Int16] + # The TimeoutThreshold parameter defines the time (in seconds) that a call can be in the queue before that call times out. + ${TimeoutThreshold}, + + [Parameter(Mandatory=$false)] + [Microsoft.Rtc.Management.Hosted.HuntGroup.Models.RoutingMethod] + # The RoutingMethod defines how agents will be called in a Call Queue. + ${RoutingMethod}, + + [Parameter(Mandatory=$false)] + [bool] + # The PresenceBasedRouting parameter indicates whether or not presence based routing will be applied while call being routed to Call Queue agents. + ${PresenceBasedRouting} = $true, + + [Parameter(Mandatory=$false)] + [bool] + # The ConferenceMode parameter indicates whether or not Conference mode will be applied on calls for current call queue. + ${ConferenceMode} = $true, + + [Parameter(Mandatory=$false)] + [System.Guid[]] + # The Users parameter lets you add agents to the Call Queue. + ${Users}, + + [Parameter(Mandatory=$false)] + [System.String] + # The LanguageId parameter indicates the language that is used to play shared voicemail prompts. + ${LanguageId}, + + [Parameter(Mandatory=$false)] + [System.String] + # This parameter is reserved for Microsoft internal use only. + ${LineUri}, + + [Parameter(Mandatory=$false)] + [System.Guid[]] + # The OboResourceAccountIds parameter lets you add resource account with phone number to the Call Queue. + ${OboResourceAccountIds}, + + [Parameter(Mandatory=$false)] + [System.String] + # The OverflowSharedVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when transferred to shared voicemail on overflow. + ${OverflowSharedVoicemailTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The OverflowSharedVoicemailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when transferred to shared voicemail on overflow. + ${OverflowSharedVoicemailAudioFilePrompt}, + + [Parameter(Mandatory=$false)] + [bool] + # The EnableOverflowSharedVoicemailTranscription parameter is used to turn on transcription for voicemails left by a caller on overflow. + ${EnableOverflowSharedVoicemailTranscription}, + + [Parameter(Mandatory=$false)] + [bool] + # The EnableOverflowSharedVoicemailSystemPromptSuppression parameter is used to disable voicemail system message on overflow. + ${EnableOverflowSharedVoicemailSystemPromptSuppression}, + + [Parameter(Mandatory=$false)] + [System.String] + # The OverflowDisconnectAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when call is disconnected due to overflow. + ${OverflowDisconnectAudioFilePrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The OverflowDisconnectTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when call is disconnected due to overflow. + ${OverflowDisconnectTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The OverflowRedirectPersonAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when call is redirected to person on overflow. + ${OverflowRedirectPersonAudioFilePrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The OverflowRedirectPersonTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when call is redirected to person on overflow. + ${OverflowRedirectPersonTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The OverflowRedirectVoiceAppAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when call is redirected to VoiceApp on overflow. + ${OverflowRedirectVoiceAppAudioFilePrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The OverflowRedirectVoiceAppTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when call is redirected to VoiceApp on overflow. + ${OverflowRedirectVoiceAppTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The OverflowRedirectPhoneNumberAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when call is redirected to PhoneNumber on overflow. + ${OverflowRedirectPhoneNumberAudioFilePrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The OverflowRedirectPhoneNumberTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when call is redirected to PhoneNumber on overflow. + ${OverflowRedirectPhoneNumberTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The OverflowRedirectVoicemailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when call is redirected to Voicemail on overflow. + ${OverflowRedirectVoicemailAudioFilePrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The OverflowRedirectVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when call is redirected to Voicemail on overflow. + ${OverflowRedirectVoicemailTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The TimeoutSharedVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when transferred to shared voicemail on timeout. + ${TimeoutSharedVoicemailTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The TimeoutSharedVoicemailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when transferred to shared voicemail on timeout. + ${TimeoutSharedVoicemailAudioFilePrompt}, + + [Parameter(Mandatory=$false)] + [bool] + # The EnableTimeoutSharedVoicemailTranscription parameter is used to turn on transcription for voicemails left by a caller on timeout. + ${EnableTimeoutSharedVoicemailTranscription}, + + [Parameter(Mandatory=$false)] + [bool] + # The EnableTimeoutSharedVoicemailSystemPromptSuppression parameter is used to disable voicemail system message on timeout. + ${EnableTimeoutSharedVoicemailSystemPromptSuppression}, + + [Parameter(Mandatory=$false)] + [System.String] + # The TimeoutDisconnectAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when call is disconnected due to Timeout. + ${TimeoutDisconnectAudioFilePrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The TimeoutDisconnectTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when call is disconnected due to Timeout. + ${TimeoutDisconnectTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The TimeoutRedirectPersonAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when call is redirected to person on Timeout. + ${TimeoutRedirectPersonAudioFilePrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The TimeoutRedirectPersonTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when call is redirected to person on Timeout. + ${TimeoutRedirectPersonTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The TimeoutRedirectVoiceAppAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when call is redirected to VoiceApp on Timeout. + ${TimeoutRedirectVoiceAppAudioFilePrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The TimeoutRedirectVoiceAppTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when call is redirected to VoiceApp on Timeout. + ${TimeoutRedirectVoiceAppTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The TimeoutRedirectPhoneNumberAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when call is redirected to PhoneNumber on Timeout. + ${TimeoutRedirectPhoneNumberAudioFilePrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The TimeoutRedirectPhoneNumberTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when call is redirected to PhoneNumber on Timeout. + ${TimeoutRedirectPhoneNumberTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The TimeoutRedirectVoicemailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when call is redirected to Voicemail on Timeout. + ${TimeoutRedirectVoicemailAudioFilePrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The TimeoutRedirectVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when call is redirected to Voicemail on Timeout. + ${TimeoutRedirectVoicemailTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [Microsoft.Rtc.Management.Hosted.HuntGroup.Models.NoAgentAction] + # The NoAgentAction parameter defines the action to take if the NoAgents are LoggedIn/OptedIn. + ${NoAgentAction}, + + [Parameter(Mandatory=$false)] + [System.String] + # The NoAgentActionTarget represents the target of the NoAgent action. + ${NoAgentActionTarget}, + + [Parameter(Mandatory=$false)] + [System.String] + # The NoAgentSharedVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when transferred to shared voicemail when NoAgents are Opted/LoggedIn to take calls. + ${NoAgentSharedVoicemailTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The NoAgentSharedVoicemailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when transferred to shared voicemail when NoAgents are Opted/LoggedIn to take calls. + ${NoAgentSharedVoicemailAudioFilePrompt}, + + [Parameter(Mandatory=$false)] + [bool] + # The EnableNoAgentSharedVoicemailTranscription parameter is used to turn on transcription for voicemails left by a caller when NoAgents are LoggedIn/OptedIn to take calls. + ${EnableNoAgentSharedVoicemailTranscription}, + + [Parameter(Mandatory=$false)] + [bool] + # The EnableNoAgentSharedVoicemailSystemPromptSuppression parameter is used to disable voicemail system message when NoAgents are LoggedIn/OptedIn to take calls. + ${EnableNoAgentSharedVoicemailSystemPromptSuppression}, + + [Parameter(Mandatory=$false)] + [Microsoft.Rtc.Management.Hosted.HuntGroup.Models.NoAgentApplyTo] + # The NoAgentApplyTo parameter determines whether the NoAgent action applies to All Calls or only New calls. + ${NoAgentApplyTo}, + + [Parameter(Mandatory=$false)] + [System.String] + # The NoAgentDisconnectAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when call is disconnected due to NoAgent. + ${NoAgentDisconnectAudioFilePrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The NoAgentDisconnectTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when call is disconnected due to NoAgent. + ${NoAgentDisconnectTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The NoAgentRedirectPersonAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when call is redirected to person on NoAgent. + ${NoAgentRedirectPersonAudioFilePrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The NoAgentRedirectPersonTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when call is redirected to person on NoAgent. + ${NoAgentRedirectPersonTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The NoAgentRedirectVoiceAppAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when call is redirected to VoiceApp on NoAgent. + ${NoAgentRedirectVoiceAppAudioFilePrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The NoAgentRedirectVoiceAppTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when call is redirected to VoiceApp on NoAgent. + ${NoAgentRedirectVoiceAppTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The NoAgentRedirectPhoneNumberAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when call is redirected to PhoneNumber on NoAgent. + ${NoAgentRedirectPhoneNumberAudioFilePrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The NoAgentRedirectPhoneNumberTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when call is redirected to PhoneNumber on NoAgent. + ${NoAgentRedirectPhoneNumberTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The NoAgentRedirectVoicemailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when call is redirected to Voicemail on NoAgent. + ${NoAgentRedirectVoicemailAudioFilePrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The NoAgentRedirectVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when call is redirected to Voicemail on NoAgent. + ${NoAgentRedirectVoicemailTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # Id of the channel to connect a call queue to. + ${ChannelId}, + + [Parameter(Mandatory=$false)] + [System.Guid] + # Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). + ${ChannelUserObjectId}, + + [Parameter(Mandatory=$false)] + [bool] + # The ShouldOverwriteCallableChannelProperty indicates user intention to whether overwirte the current callableChannel property value on chat service or not. + ${ShouldOverwriteCallableChannelProperty}, + + [Parameter(Mandatory=$false)] + [System.Guid[]] + # The list of authorized users. + ${AuthorizedUsers}, + + [Parameter(Mandatory=$false)] + [System.Guid[]] + # The list of hidden authorized users. + ${HideAuthorizedUsers}, + + [Parameter(Mandatory=$false)] + [System.Int16] + # The Call Priority for the overflow action, only applies when the OverflowAction is an `Forward`. + ${OverflowActionCallPriority}, + + [Parameter(Mandatory=$false)] + [System.Int16] + # The Call Priority for the timeout action, only applies when the TimeoutAction is an `Forward`. + ${TimeoutActionCallPriority}, + + [Parameter(Mandatory=$false)] + [System.Int16] + # The Call Priority for the no agent opted in action, only applies when the NoAgentAction is an `Forward`. + ${NoAgentActionCallPriority}, + + [parameter(Mandatory=$false)] + [System.Nullable[System.Boolean]] + # The IsCallbackEnabled parameter for enabling and disabling the Courtesy Callback feature. + ${IsCallbackEnabled}, + + [parameter(Mandatory=$false)] + [System.String] + # The DTMF tone to press to start requesting callback, as part of the Courtesy Callback feature. + ${CallbackRequestDtmf}, + + [parameter(Mandatory=$false)] + [System.Nullable[System.Int32]] + # The wait time before offering callback in seconds, as part of the Courtesy Callback feature. + ${WaitTimeBeforeOfferingCallbackInSecond}, + + [parameter(Mandatory=$false)] + [System.Nullable[System.Int32]] + # The number of calls in queue before offering callback, as part of the Courtesy Callback feature. + ${NumberOfCallsInQueueBeforeOfferingCallback}, + + [parameter(Mandatory=$false)] + [System.Nullable[System.Int32]] + # The call to agent ratio threshold before offering callback, as part of the Courtesy Callback feature. + ${CallToAgentRatioThresholdBeforeOfferingCallback}, + + [parameter(Mandatory=$false)] + [System.String] + # The identifier of the offer callback audio file to be played when offering callback to caller, as part of the Courtesy Callback feature. + ${CallbackOfferAudioFilePromptResourceId}, + + [parameter(Mandatory=$false)] + [System.String] + # The text-to-speech string to be converted to a speech and played when offering callback to caller, as part of the Courtesy Callback feature. + ${CallbackOfferTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The CallbackEmailNotificationTarget parameter for callback feature. + ${CallbackEmailNotificationTarget}, + + [Parameter(Mandatory=$false)] + [System.Nullable[System.Int32]] + # Service level threshold in seconds for the call queue. Used for monitor calls in the call queue is handled within this threshold or not. + ${ServiceLevelThresholdResponseTimeInSecond}, + + [Parameter(Mandatory=$false)] + [Switch] + # Allow the cmdlet to run anyway + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + if ($PSBoundParameters.ContainsKey('Force')) { + $PSBoundParameters.Remove('Force') | Out-Null + } + + if ($PSBoundParameters.ContainsKey('LineUri')) { + # Stick with the current TRPS cmdlet policy of silently ignoring the LineUri. Later, we need to remove this param from + # TRPS and ConfigAPI based cmdlets. Public facing document must be updated as well. + $PSBoundParameters.Remove('LineUri') | Out-Null + } + + #Setting PresenceAwareRouting to $false when LongestIdle is enabled as RoutingMethod + #Since having both conditions enabled is not supported in backend service. + if($RoutingMethod -eq 'LongestIdle') { + $PresenceBasedRouting = $false + $PSBoundParameters.Add('PresenceAwareRouting', $PresenceBasedRouting) + $PSBoundParameters.Remove('PresenceBasedRouting') | Out-Null + } + elseif ( $PSBoundParameters.ContainsKey('PresenceBasedRouting')) { + $PSBoundParameters.Add('PresenceAwareRouting', $PresenceBasedRouting) + $PSBoundParameters.Remove('PresenceBasedRouting') | Out-Null + } + + if ($ChannelId -ne '') { + $PSBoundParameters.Add('ThreadId', $ChannelId) + $PSBoundParameters.Remove('ChannelId') | Out-Null + } + + # Making sure the user provides the correct CallPriority values for CQ exceptions (overflow, timeout, NoAgent etc.) handling. + # The valid values are 1 to 5. Zero is also allowed which means the user wants to use the default value (3). + # (elseif) The CallPriority does not apply when the Action is not `Forward`. + if ($OverflowAction -eq 'Forward' -and ($OverflowActionCallPriority -lt 0 -or $OverflowActionCallPriority -gt 5)) { + throw "Invalid `OverflowActionCallPriority` value. The valid values are 1 to 5 (default is 3). Please provide the correct value." + } + elseif ($OverflowAction -ne 'Forward' -and ([Math]::Abs($OverflowActionCallPriority) -ge 1)) { + throw "OverflowActionCallPriority is only applicable when the 'OverflowAction' is 'Forward'. Please remove the OverflowActionCallPriority." + } + + if ($TimeoutAction -eq 'Forward' -and ($TimeoutActionCallPriority -lt 0 -or $TimeoutActionCallPriority -gt 5)) { + throw "Invalid `TimeoutActionCallPriority` value. The valid values are 1 to 5 (default is 3). Please provide the correct value." + } + elseif ($TimeoutAction -ne 'Forward' -and ([Math]::Abs($TimeoutActionCallPriority) -ge 1)) { + throw "TimeoutActionCallPriority is only applicable when the 'TimeoutAction' is 'Forward'. Please remove the TimeoutActionCallPriority." + } + + if ($NoagentAction -eq 'Forward' -and ($NoAgentActionCallPriority -lt 0 -or $NoAgentActionCallPriority -gt 5)) { + throw "Invalid `NoAgentActionCallPriority` value. The valid values are 1 to 5 (default is 3). Please provide the correct value." + } + elseif ($NoAgentAction -ne 'Forward' -and ([Math]::Abs($NoAgentActionCallPriority) -ge 1)) { + throw "NoAgentActionCallPriority is only applicable when the 'NoAgentAction' is 'Forward'. Please remove the NoAgentActionCallPriority." + } + + if ($PSBoundParameters.ContainsKey('IsCallbackEnabled') -and $IsCallbackEnabled -eq $null) { + $null = $PSBoundParameters.Remove('IsCallbackEnabled') + } + + if ($PSBoundParameters.ContainsKey('CallbackRequestDtmf') -and [string]::IsNullOrWhiteSpace($CallbackRequestDtmf)) { + $null = $PSBoundParameters.Remove('CallbackRequestDtmf') + } + + if ($PSBoundParameters.ContainsKey('WaitTimeBeforeOfferingCallbackInSecond') -and $WaitTimeBeforeOfferingCallbackInSecond -eq $null) { + $null = $PSBoundParameters.Remove('WaitTimeBeforeOfferingCallbackInSecond') + } + + if ($PSBoundParameters.ContainsKey('NumberOfCallsInQueueBeforeOfferingCallback') -and $NumberOfCallsInQueueBeforeOfferingCallback -eq $null) { + $null = $PSBoundParameters.Remove('NumberOfCallsInQueueBeforeOfferingCallback') + } + + if ($PSBoundParameters.ContainsKey('CallToAgentRatioThresholdBeforeOfferingCallback') -and $CallToAgentRatioThresholdBeforeOfferingCallback -eq $null) { + $null = $PSBoundParameters.Remove('CallToAgentRatioThresholdBeforeOfferingCallback') + } + + if ($PSBoundParameters.ContainsKey('CallbackOfferAudioFilePromptResourceId') -and [string]::IsNullOrWhiteSpace($CallbackOfferAudioFilePromptResourceId)) { + $null = $PSBoundParameters.Remove('CallbackOfferAudioFilePromptResourceId') + } + + if ($PSBoundParameters.ContainsKey('CallbackOfferTextToSpeechPrompt') -and [string]::IsNullOrWhiteSpace($CallbackOfferTextToSpeechPrompt)) { + $null = $PSBoundParameters.Remove('CallbackOfferTextToSpeechPrompt') + } + + if ($PSBoundParameters.ContainsKey('CallbackEmailNotificationTarget') -and [string]::IsNullOrWhiteSpace($CallbackEmailNotificationTarget)) { + $null = $PSBoundParameters.Remove('CallbackEmailNotificationTarget') + } + + if ($PSBoundParameters.ContainsKey('ServiceLevelThresholdResponseTimeInSecond') -and $ServiceLevelThresholdResponseTimeInSecond -eq $null) { + $null = $PSBoundParameters.Remove('ServiceLevelThresholdResponseTimeInSecond') + } + + $result = Microsoft.Teams.ConfigAPI.Cmdlets.internal\New-CsCallQueue @PSBoundParameters @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($result -eq $null) { + return $null + } + + Write-AdminServiceDiagnostic($result.Diagnostic) + + $output = [Microsoft.Rtc.Management.Hosted.CallQueue.Models.CallQueue]::new() + $output.ParseFrom($result.CallQueue) + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Format output of the cmdlet + +function New-CsOnlineApplicationInstanceAssociation { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$true, position=0)] + [System.String[]] + # The Identities parameter is the identities of application instances to be associated with the provided configuration ID. + ${Identities}, + + [Parameter(Mandatory=$true, position=1)] + [System.String] + # The ConfigurationId parameter is the identity of the configuration that would be associatied with the provided application instances. + ${ConfigurationId}, + + [Parameter(Mandatory=$true, position=2)] + [System.String] + # The ConfigurationType parameter denotes the type of the configuration that would be associated with the provided application instances. + ${ConfigurationType}, + + [Parameter(Mandatory=$false, position=3)] + [System.Int16] + # The Call Priority of the MenuOption, only applies when the CallableEntityType (Type) is ApplicationEndpoint or ConfigurationEndpoint. + ${CallPriority}, + + [Parameter(Mandatory=$false, position=4)] + [Switch] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + # We want to flight our cmdlet if Force param is passed, but AutoRest doesn't support Force param. + # Force param doesn't seem to do anything, so remove it if it's passed. + if ($PSBoundParameters.ContainsKey('Force')) { + $PSBoundParameters.Remove('Force') | Out-Null + } + + # Making sure the user provides the correct CallPriority value. The valid values are 1 to 5. + # Zero is also allowed which means the user wants to use the default CallPriority or doesn't want to use the CallPriority feature. + if ($CallPriority -lt 0 -or $CallPriority -gt 5) + { + throw "Invalid CallPriority. The valid values are 1 to 5. Please provide the correct value."; + } + + $internalOutputs = Microsoft.Teams.ConfigAPI.Cmdlets.internal\New-CsOnlineApplicationInstanceAssociation @PSBoundParameters @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($internalOutputs -eq $null) { + return $null + } + + Write-AdminServiceDiagnostic($internalOutputs.Diagnostic) + + $output = [Microsoft.Rtc.Management.Hosted.Online.Models.AssociationOperationOutput]::new() + $output.ParseFrom($internalOutputs) + + $output + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: transforming the return result to the custom object + +function New-CsOnlineDateTimeRange { + [CmdletBinding(PositionalBinding=$true, SupportsShouldProcess, ConfirmImpact='Medium')] + param( + [Parameter(Mandatory=$true, position=0)] + [System.String] + # The Start parameter represents the start bound of the date-time range. + ${Start}, + + [Parameter(Mandatory=$false, position=1)] + [System.String] + # The End parameter represents the end bound of the date-time range. + ${End}, + + [Parameter(Mandatory=$false, position=2)] + [Switch] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + if ($PSBoundParameters.ContainsKey("Force")) { + $PSBoundParameters.Remove("Force") | Out-Null + } + + $result = Microsoft.Teams.ConfigAPI.Cmdlets.internal\New-CsOnlineDateTimeRange @PSBoundParameters @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($result -eq $null) { + return $null + } + + Write-AdminServiceDiagnostic($result.Diagnostic) + $output = [Microsoft.Rtc.Management.Hosted.Online.Models.DateTimeRange]::new() + $output.ParseFrom($result) + + $output + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: assign parameters' values and customize output + +function New-CsOnlineSchedule { + [CmdletBinding(DefaultParameterSetName="UnresolvedParamSet", SupportsShouldProcess, ConfirmImpact='Medium')] + param( + [Parameter(Mandatory=$true)] + [System.String] + # The name of the schedule which is created. + ${Name}, + + [Parameter(Mandatory=$true, ParameterSetName = "FixedScheduleParamSet")] + [switch] + # The FixedSchedule parameter indicates that a fixed schedule is to be created. + ${FixedSchedule}, + + [Parameter(Mandatory=$false, ParameterSetName = "FixedScheduleParamSet")] + # List of date-time ranges for a fixed schedule. + ${DateTimeRanges}, + + [Parameter(Mandatory=$true, ParameterSetName = "WeeklyRecurrentScheduleParamSet")] + [switch] + # The WeeklyRecurrentSchedule parameter indicates that a weekly recurrent schedule is to be created. + ${WeeklyRecurrentSchedule}, + + [Parameter(Mandatory=$false, ParameterSetName = "WeeklyRecurrentScheduleParamSet")] + # List of time ranges for Monday. + ${MondayHours}, + + [Parameter(Mandatory=$false, ParameterSetName = "WeeklyRecurrentScheduleParamSet")] + # List of time ranges for Tuesday. + ${TuesdayHours}, + + [Parameter(Mandatory=$false, ParameterSetName = "WeeklyRecurrentScheduleParamSet")] + # List of time ranges for Wednesday. + ${WednesdayHours}, + + [Parameter(Mandatory=$false, ParameterSetName = "WeeklyRecurrentScheduleParamSet")] + # List of time ranges for Thursday. + ${ThursdayHours}, + + [Parameter(Mandatory=$false, ParameterSetName = "WeeklyRecurrentScheduleParamSet")] + # List of time ranges for Friday. + ${FridayHours}, + + [Parameter(Mandatory=$false, ParameterSetName = "WeeklyRecurrentScheduleParamSet")] + # List of time ranges for Saturday. + ${SaturdayHours}, + + [Parameter(Mandatory=$false, ParameterSetName = "WeeklyRecurrentScheduleParamSet")] + # List of time ranges for Sunday. + ${SundayHours}, + + [Parameter(Mandatory=$false, ParameterSetName = "WeeklyRecurrentScheduleParamSet")] + [switch] + # The flag for Complement enabled or not + ${Complement}, + + [Parameter(Mandatory=$false)] + [Switch] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + if ($PSBoundParameters.ContainsKey("Force")) { + $PSBoundParameters.Remove("Force") | Out-Null + } + + $dateTimeRangeStandardFormat = 'yyyy-MM-ddTHH:mm:ss'; + + # Get common parameters + $params = @{} + foreach($p in $PSBoundParameters.GetEnumerator()) + { + $params += @{$p.Key = $p.Value} + } + $null = $params.Remove("FixedSchedule") + $null = $params.Remove("DateTimeRanges") + $null = $params.Remove("WeeklyRecurrentSchedule") + $null = $params.Remove("MondayHours") + $null = $params.Remove("TuesdayHours") + $null = $params.Remove("WednesdayHours") + $null = $params.Remove("ThursdayHours") + $null = $params.Remove("FridayHours") + $null = $params.Remove("SaturdayHours") + $null = $params.Remove("SundayHours") + $null = $params.Remove("Complement") + + + if ($PsCmdlet.ParameterSetName -eq "UnresolvedParamSet") { + throw "A schedule type must be specified. Please use -WeeklyRecurrentSchedule or -FixedSchedule parameters to create the appropriate type of schedule." + } + + if ($PsCmdlet.ParameterSetName -eq "FixedScheduleParamSet") { + $fixedScheduleDateTimeRanges = @() + foreach ($dateTimeRange in $DateTimeRanges) { + $fixedScheduleDateTimeRanges += @{ + Start = $dateTimeRange.Start.ToString($dateTimeRangeStandardFormat, [System.Globalization.CultureInfo]::InvariantCulture) + End = $dateTimeRange.End.ToString($dateTimeRangeStandardFormat, [System.Globalization.CultureInfo]::InvariantCulture) + } + } + $params['FixedScheduleDateTimeRange'] = $fixedScheduleDateTimeRanges + } + + if ($PsCmdlet.ParameterSetName -eq "WeeklyRecurrentScheduleParamSet") { + if ($MondayHours -ne $null -and $MondayHours.Length -gt 0) { + $params['WeeklyRecurrentScheduleMondayHour'] = @() + foreach ($mondayHour in $MondayHours){ + $params['WeeklyRecurrentScheduleMondayHour'] += @{ + Start = $mondayHour.Start + End = $mondayHour.End + } + } + } + if ($TuesdayHours -ne $null -and $TuesdayHours.Length -gt 0) { + $params['WeeklyRecurrentScheduleTuesdayHour'] = @() + foreach ($tuesdayHour in $TuesdayHours){ + $params['WeeklyRecurrentScheduleTuesdayHour'] += @{ + Start = $tuesdayHour.Start + End = $tuesdayHour.End + } + } + } + if ($WednesdayHours -ne $null -and $WednesdayHours.Length -gt 0) { + $params['WeeklyRecurrentScheduleWednesdayHour'] = @() + foreach ($wednesdayHour in $WednesdayHours){ + $params['WeeklyRecurrentScheduleWednesdayHour'] += @{ + Start = $wednesdayHour.Start + End = $wednesdayHour.End + } + } + } + if ($ThursdayHours -ne $null -and $ThursdayHours.Length -gt 0) { + $params['WeeklyRecurrentScheduleThursdayHour'] = @() + foreach ($thursdayHour in $ThursdayHours){ + $params['WeeklyRecurrentScheduleThursdayHour'] += @{ + Start = $thursdayHour.Start + End = $thursdayHour.End + } + } + } + if ($FridayHours -ne $null -and $FridayHours.Length -gt 0) { + $params['WeeklyRecurrentScheduleFridayHour'] = @() + foreach ($fridayHour in $FridayHours){ + $params['WeeklyRecurrentScheduleFridayHour'] += @{ + Start = $fridayHour.Start + End = $fridayHour.End + } + } + } + if ($SaturdayHours -ne $null -and $SaturdayHours.Length -gt 0) { + $params['WeeklyRecurrentScheduleSaturdayHour'] = @() + foreach ($saturdayHour in $SaturdayHours){ + $params['WeeklyRecurrentScheduleSaturdayHour'] += @{ + Start = $saturdayHour.Start + End = $saturdayHour.End + } + } + } + if ($SundayHours -ne $null -and $SundayHours.Length -gt 0) { + $params['WeeklyRecurrentScheduleSundayHour'] = @() + foreach ($sundayHour in $SundayHours){ + $params['WeeklyRecurrentScheduleSundayHour'] += @{ + Start = $sundayHour.Start + End = $sundayHour.End + } + } + } + if ($Complement) { $params['WeeklyRecurrentScheduleIsComplemented'] = $true } + } + + $result = Microsoft.Teams.ConfigAPI.Cmdlets.internal\New-CsOnlineSchedule @params @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($result -eq $null) { + return $null + } + + Write-AdminServiceDiagnostic($result.Diagnostic) + + $schedule = [Microsoft.Rtc.Management.Hosted.Online.Models.Schedule]::new() + $schedule.ParseFrom($result) + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: transforming the return result to the custom object + +function New-CsOnlineTimeRange { + [CmdletBinding(PositionalBinding=$true, SupportsShouldProcess, ConfirmImpact='Medium')] + param( + [Parameter(Mandatory=$true, position=0)] + [System.String] + # The Start parameter represents the start bound of the time range. + ${Start}, + + [Parameter(Mandatory=$true, position=1)] + [System.String] + # The End parameter represents the end bound of the time range. + ${End}, + + [Parameter(Mandatory=$false, position=2)] + [Switch] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + if ($PSBoundParameters.ContainsKey("Force")) { + $PSBoundParameters.Remove("Force") | Out-Null + } + + $result = Microsoft.Teams.ConfigAPI.Cmdlets.internal\New-CsOnlineTimeRange @PSBoundParameters @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($result -eq $null) { + return $null + } + + Write-AdminServiceDiagnostic($result.Diagnostic) + $output = [Microsoft.Rtc.Management.Hosted.Online.Models.TimeRange]::new() + $output.ParseFrom($result) + + $output + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Display the diagnostic if any + +function Remove-CsAutoAttendant { + [CmdletBinding(PositionalBinding=$true, SupportsShouldProcess, ConfirmImpact='Medium')] + param( + [Parameter(Mandatory=$true, position=0)] + [System.String] + # The identity for the AA to be removed. + ${Identity}, + + [Parameter(Mandatory=$false, position=1)] + [Switch] + # The Force parameter indicates if we force the action to be performed. (Deprecated) + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $null = $PSBoundParameters.Remove("Force") + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + $internalOutput = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Remove-CsAutoAttendant @PSBoundParameters @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($internalOutput -eq $null) { + return $null + } + + Write-AdminServiceDiagnostic($internalOutput.Diagnostic) + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: print out the diagnostics + +function Remove-CsCallQueue { + [CmdletBinding(PositionalBinding=$true, SupportsShouldProcess, ConfirmImpact='Medium')] + param( + [Parameter(Mandatory=$true, position=0)] + [System.String] + # The identifier of the call queue to be removed. + ${Identity}, + + [Parameter(Mandatory=$false)] + [Switch] + # Allow the cmdlet to run anyway + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + # Default ErrorAction to Stop + if (!$PSBoundParameters.ContainsKey('ErrorAction')) { + $PSBoundParameters.Add('ErrorAction', 'Stop') + } + + if ($PSBoundParameters.ContainsKey('Force')) { + $PSBoundParameters.Remove('Force') | Out-Null + } + + # Get the CallQueue to be deleted by Identity. + $getParams = @{Identity = $Identity; FilterInvalidObos = $false} + $getResult = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsCallQueue @getParams -ErrorAction Stop @httpPipelineArgs + + $result = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Remove-CsCallQueue @PSBoundParameters @httpPipelineArgs + Write-AdminServiceDiagnostic($result.Diagnostics) + + # Convert the fecthed CallQueue DTO to domain model and print. + $deletedCallQueue= [Microsoft.Rtc.Management.Hosted.CallQueue.Models.CallQueue]::new() + $deletedCallQueue.ParseFrom($getResult.CallQueue) + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Format output of the cmdlet + +function Remove-CsOnlineApplicationInstanceAssociation { + [CmdletBinding(PositionalBinding=$true, SupportsShouldProcess, ConfirmImpact='Medium')] + param( + [Parameter(Mandatory=$true, position=0)] + [System.String[]] + # The Identity parameter is the identity of application instances to be associated with the provided configuration ID. + ${Identities}, + + [Parameter(Mandatory=$false, position=1)] + [Switch] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + # We want to flight our cmdlet if Force param is passed, but AutoRest doesn't support Force param. + # Force param doesn't seem to do anything, so remove it if it's passed. + if ($PSBoundParameters.ContainsKey('Force')) { + $PSBoundParameters.Remove('Force') | Out-Null + } + + # Get the array of Identities, and remove parameter 'Identities', + # since api internal\Remove-CsOnlineApplicationInstanceAssociation takes only param 'Identity' as a string, + # so need send a request for each identity (endpointId) by looping through all Identities. + $endpointIdArr = @() + + if ($PSBoundParameters.ContainsKey('Identities')) { + $endpointIdArr = $PSBoundParameters['Identities'] + $PSBoundParameters.Remove('Identities') | Out-Null + } + + # Sends request for each identity (endpointId) + foreach ($endpointId in $endpointIdArr) { + # Encode the "endpointID" if it is a SIP URI (aka User Principle Name (UPN)) + $identity = EncodeSipUri($endpointId) + $PSBoundParameters.Add('Identity', $identity) + + $internalOutputs = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Remove-CsOnlineApplicationInstanceAssociation @PSBoundParameters @httpPipelineArgs + $PSBoundParameters.Remove('Identity') | Out-Null + + # Stop execution if internal cmdlet is failing + if ($internalOutputs -eq $null) { + return $null + } + + Write-AdminServiceDiagnostic($internalOutputs.Diagnostic) + + $output = [Microsoft.Rtc.Management.Hosted.Online.Models.AssociationOperationOutput]::new() + $output.ParseFrom($internalOutputs) + + $output + } + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Add default App ID for Remove-CsOnlineAudioFile + +function Remove-CsOnlineAudioFile { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$true, position=0)] + [System.String] + # The Identity parameter is the identifier for the audio file. + ${Identity}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $null = $PSBoundParameters.Remove("ApplicationId") + $PSBoundParameters.Add("ApplicationId", "TenantGlobal") + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + $internalOutput = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Remove-CsOnlineAudioFile @PSBoundParameters @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($internalOutput -eq $null) { + return $null + } + + $internalOutput + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: print out the diagnostic + +function Remove-CsOnlineSchedule { + [CmdletBinding(PositionalBinding=$true, SupportsShouldProcess, ConfirmImpact='Medium')] + param( + [Parameter(Mandatory=$true, position=0)] + [System.String] + # The identifier of the schedule to be removed. + ${Id}, + + [Parameter(Mandatory=$false, position=1)] + [Switch] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + if ($PSBoundParameters.ContainsKey("Force")) { + $PSBoundParameters.Remove("Force") | Out-Null + } + + $result = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Remove-CsOnlineSchedule @PSBoundParameters @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($result -eq $null) { + return $null + } + + Write-AdminServiceDiagnostic($result.Diagnostic) + $result + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Format output of cmdlet + +function Set-CsAutoAttendant { + [CmdletBinding(PositionalBinding=$true, SupportsShouldProcess, ConfirmImpact='Medium')] + param( + [Parameter(Mandatory=$true, position=0)] + [PSObject] + # The Instance parameter is the object reference to the AA to be modified. + ${Instance}, + + [Parameter(Mandatory=$false, position=1)] + [Switch] + # The Force parameter indicates if we force the action to be performed. (Deprecated) + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $null = $PSBoundParameters.Remove("Force") + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + # Get common parameters + $PSBoundCommonParameters = @{} + foreach($p in $PSBoundParameters.GetEnumerator()) + { + $PSBoundCommonParameters += @{$p.Key = $p.Value} + } + $null = $PSBoundCommonParameters.Remove("Instance") + $null = $PSBoundCommonParameters.Remove("WhatIf") + $null = $PSBoundCommonParameters.Remove("Confirm") + + $null = $PSBoundParameters.Remove('Instance') + if ($Instance.Identity -ne $null) { + $PSBoundParameters.Add('Identity', $Instance.Identity) + } + if ($Instance.Id -ne $null) { + $PSBoundParameters.Add('Id', $Instance.Id) + } + if ($Instance.Name -ne $null) { + $PSBoundParameters.Add('Name', $Instance.Name) + } + if ($Instance.LanguageId -ne $null) { + $PSBoundParameters.Add('LanguageId', $Instance.LanguageId) + } + if ($Instance.TimeZoneId -ne $null) { + $PSBoundParameters.Add('TimeZoneId', $Instance.TimeZoneId) + } + if ($Instance.TenantId -ne $null) { + $PSBoundParameters.Add('TenantId', $Instance.TenantId.ToString()) + } + if ($Instance.VoiceId -ne $null) { + $PSBoundParameters.Add('VoiceId', $Instance.VoiceId) + } + if ($Instance.DialByNameResourceId -ne $null) { + $PSBoundParameters.Add('DialByNameResourceId', $Instance.DialByNameResourceId) + } + if ($Instance.ApplicationInstances -ne $null) { + $PSBoundParameters.Add('ApplicationInstance', $Instance.ApplicationInstances) + } + if ($Instance.VoiceResponseEnabled -eq $true) { + $PSBoundParameters.Add('VoiceResponseEnabled', $true) + } + if ($Instance.DefaultCallFlow -ne $null) { + $PSBoundParameters.Add('DefaultCallFlowId', $Instance.DefaultCallFlow.Id) + $PSBoundParameters.Add('DefaultCallFlowName', $Instance.DefaultCallFlow.Name) + $PSBoundParameters.Add('DefaultCallFlowForceListenMenuEnabled', $Instance.DefaultCallFlow.ForceListenMenuEnabled) + $defaultCallFlowGreetings = @() + if ($Instance.DefaultCallFlow.Greetings -ne $null) { + foreach ($defaultCallFlowGreeting in $Instance.DefaultCallFlow.Greetings) { + $defaultCallFlowGreetings += [Microsoft.Rtc.Management.Hosted.OAA.Models.Prompt]::CreateAutoGeneratedFromObject($defaultCallFlowGreeting) + } + $PSBoundParameters.Add('DefaultCallFlowGreeting', $defaultCallFlowGreetings) + } + if ($Instance.DefaultCallFlow.Menu -ne $null) { + $PSBoundParameters.Add('MenuDialByNameEnabled', $Instance.DefaultCallFlow.Menu.DialByNameEnabled) + $PSBoundParameters.Add('MenuDirectorySearchMethod', $Instance.DefaultCallFlow.Menu.DirectorySearchMethod.ToString()) + $PSBoundParameters.Add('MenuName', $Instance.DefaultCallFlow.Menu.Name) + if ($Instance.DefaultCallFlow.Menu.MenuOptions -ne $null) { + $defaultCallFlowMenuOptions = @() + foreach($defaultCallFlowMenuOption in $Instance.DefaultCallFlow.Menu.MenuOptions) { + $defaultCallFlowMenuOptions += [Microsoft.Rtc.Management.Hosted.OAA.Models.MenuOption]::CreateAutoGeneratedFromObject($defaultCallFlowMenuOption) + } + $PSBoundParameters.Add('MenuOption', $defaultCallFlowMenuOptions) + } + if ($Instance.DefaultCallFlow.Menu.Prompts -ne $null) { + $defaultCallFlowMenuPrompts = @() + foreach($defaultCallFlowMenuPrompt in $Instance.DefaultCallFlow.Menu.Prompts) { + $defaultCallFlowMenuPrompts += [Microsoft.Rtc.Management.Hosted.OAA.Models.Prompt]::CreateAutoGeneratedFromObject($defaultCallFlowMenuPrompt) + } + $PSBoundParameters.Add('MenuPrompt', $defaultCallFlowMenuPrompts) + } + } + } + if ($Instance.DirectoryLookupScope -ne $null) { + if ($Instance.DirectoryLookupScope.InclusionScope -ne $null) { + $PSBoundParameters.Add('InclusionScopeType', $Instance.DirectoryLookupScope.InclusionScope.Type.ToString()) + if ($Instance.DirectoryLookupScope.InclusionScope.GroupScope -ne $null) { + $PSBoundParameters.Add('InclusionScopeGroupDialScopeGroupId', $Instance.DirectoryLookupScope.InclusionScope.GroupScope.GroupIds) + } + } else { + $PSBoundParameters.Add('InclusionScopeType', "Default") + } + if ($Instance.DirectoryLookupScope.ExclusionScope -ne $null) { + $PSBoundParameters.Add('ExclusionScopeType', $Instance.DirectoryLookupScope.ExclusionScope.Type.ToString()) + if ($Instance.DirectoryLookupScope.ExclusionScope.GroupScope -ne $null) { + $PSBoundParameters.Add('ExclusionScopeGroupDialScopeGroupId', $Instance.DirectoryLookupScope.ExclusionScope.GroupScope.GroupIds) + } + } else { + $PSBoundParameters.Add('ExclusionScopeType', "Default") + } + } + if ($Instance.Operator -ne $null) { + if ($Instance.Operator.EnableTranscription -eq $true) { + $PSBoundParameters.Add('OperatorEnableTranscription', $true) + } + $PSBoundParameters.Add('OperatorId', $Instance.Operator.Id) + $PSBoundParameters.Add('OperatorType', $Instance.Operator.Type.ToString()) + } + if ($Instance.CallFlows -ne $null) { + $callFlows = @() + foreach ($callFlow in $Instance.CallFlows) { + $generatedCallFlow = [Microsoft.Rtc.Management.Hosted.OAA.Models.CallFlow]::CreateAutoGeneratedFromObject($callFlow) + + if ($callFlow.Greetings -ne $null) { + $inputGreetings = @() + foreach ($greeting in $callFlow.Greetings) { + $inputGreetings += [Microsoft.Rtc.Management.Hosted.OAA.Models.Prompt]::CreateAutoGeneratedFromObject($greeting) + } + $generatedCallFlow.Greeting = $inputGreetings + } + if ($callFlow.Menu.MenuOptions -ne $null) { + $menuOptions = @() + foreach ($menuOption in $callFlow.Menu.MenuOptions) { + $menuOptions += [Microsoft.Rtc.Management.Hosted.OAA.Models.MenuOption]::CreateAutoGeneratedFromObject($menuOption) + } + $generatedCallFlow.MenuOption = $menuOptions + } + if ($callFlow.Menu.Prompts -ne $null) { + $menuPrompts = @() + foreach ($menuPrompt in $callFlow.Menu.Prompts) { + $menuPrompts += [Microsoft.Rtc.Management.Hosted.OAA.Models.Prompt]::CreateAutoGeneratedFromObject($menuPrompt) + } + $generatedCallFlow.MenuPrompt = $menuPrompts + } + + $callFlows += $generatedCallFlow + } + $PSBoundParameters.Add('CallFlow', $callFlows) + } + if ($Instance.CallHandlingAssociations -ne $null) { + $callHandlingAssociations = @() + foreach($callHandlingAssociation in $Instance.CallHandlingAssociations) { + $callHandlingAssociations += [Microsoft.Rtc.Management.Hosted.OAA.Models.CallHandlingAssociation]::CreateAutoGeneratedFromObject($callHandlingAssociation) + } + $PSBoundParameters.Add('CallHandlingAssociation', $callHandlingAssociations) + } + + $PSBoundParameters.Add('AuthorizedUser', $Instance.AuthorizedUsers) + $PSBoundParameters.Add('HideAuthorizedUser', $Instance.HideAuthorizedUsers) + + if ($Instance.Schedules -ne $null) { + $schedules = @() + foreach($schedule in $Instance.Schedules) { + $schedules += [Microsoft.Rtc.Management.Hosted.Online.Models.Schedule]::CreateAutoGeneratedFromObject($schedule) + } + $PSBoundParameters.Add('Schedule', $schedules) + } + + $internalOutput = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Set-CsAutoAttendant @PSBoundParameters @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($internalOutput -eq $null) { + return $null + } + + Write-AdminServiceDiagnostic($internalOutput.Diagnostic) + + $output = [Microsoft.Rtc.Management.Hosted.OAA.Models.AutoAttendant]::new() + $output.ParseFrom($internalOutput.AutoAttendant) + + $getCsAutoAttendantStatusParameters = @{Identity = $output.Identity} + foreach($p in $PSBoundCommonParameters.GetEnumerator()) + { + $getCsAutoAttendantStatusParameters += @{$p.Key = $p.Value} + } + + $internalStatus = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsAutoAttendantStatus @getCsAutoAttendantStatusParameters @httpPipelineArgs + $output.AmendStatus($internalStatus) + + $output + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: replacing the parameters' names. + +function Set-CsCallQueue { + [CmdletBinding(PositionalBinding=$true, SupportsShouldProcess, ConfirmImpact='Medium')] + param( + [Parameter(Mandatory=$true, position=0)] + [System.String] + # The identity of the call queue to be updated. + ${Identity}, + + [Parameter(Mandatory=$false)] + [System.String] + # The Name of the call queue to be updated. + ${Name}, + + [Parameter(Mandatory=$false)] + [System.Int16] + # The AgentAlertTime parameter represents the time (in seconds) that a call can remain unanswered before it is automatically routed to the next agent. + ${AgentAlertTime}, + + [Parameter(Mandatory=$false)] + [bool] + # The AllowOptOut parameter indicates whether or not agents can opt in or opt out from taking calls from a Call Queue. + ${AllowOptOut}, + + [Parameter(Mandatory=$false)] + [System.Guid[]] + # The DistributionLists parameter lets you add all the members of the distribution lists to the Call Queue. This is a list of distribution list GUIDs. + ${DistributionLists}, + + [Parameter(Mandatory=$false)] + [bool] + # The UseDefaultMusicOnHold parameter indicates that this Call Queue uses the default music on hold. + ${UseDefaultMusicOnHold}, + + [Parameter(Mandatory=$false)] + [System.String] + # The WelcomeMusicAudioFileId parameter represents the audio file to play when callers are connected with the Call Queue. + ${WelcomeMusicAudioFileId}, + + [Parameter(Mandatory=$false)] + [System.String] + # The WelcomeTextToSpeechPrompt parameter represents the text to speech content to play when callers are connected with the Call Queue. + ${WelcomeTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The MusicOnHoldAudioFileId parameter represents music to play when callers are placed on hold. + ${MusicOnHoldAudioFileId}, + + [Parameter(Mandatory=$false)] + [Microsoft.Rtc.Management.Hosted.HuntGroup.Models.OverflowAction] + # The OverflowAction parameter designates the action to take if the overflow threshold is reached. + ${OverflowAction}, + + [Parameter(Mandatory=$false)] + [System.String] + # The OverflowActionTarget parameter represents the target of the overflow action. + ${OverflowActionTarget}, + + [Parameter(Mandatory=$false)] + [System.Int16] + # The OverflowThreshold parameter defines the number of calls that can be in the queue at any one time before the overflow action is triggered. + ${OverflowThreshold}, + + [Parameter(Mandatory=$false)] + [Microsoft.Rtc.Management.Hosted.HuntGroup.Models.TimeoutAction] + # The TimeoutAction parameter defines the action to take if the timeout threshold is reached. + ${TimeoutAction}, + + [Parameter(Mandatory=$false)] + [System.String] + # The TimeoutActionTarget represents the target of the timeout action. + ${TimeoutActionTarget}, + + [Parameter(Mandatory=$false)] + [System.Int16] + # The TimeoutThreshold parameter defines the time (in seconds) that a call can be in the queue before that call times out. + ${TimeoutThreshold}, + + [Parameter(Mandatory=$false)] + [Microsoft.Rtc.Management.Hosted.HuntGroup.Models.RoutingMethod] + # The RoutingMethod defines how agents will be called in a Call Queue. + ${RoutingMethod}, + + [Parameter(Mandatory=$false)] + [bool] + # The PresenceBasedRouting parameter indicates whether or not presence based routing will be applied while call being routed to Call Queue agents. + ${PresenceBasedRouting}, + + [Parameter(Mandatory=$false)] + [bool] + # The ConferenceMode parameter indicates whether or not Conference mode will be applied on calls for current call queue. + ${ConferenceMode}, + + [Parameter(Mandatory=$false)] + [System.Guid[]] + # The Users parameter lets you add agents to the Call Queue. + ${Users}, + + [Parameter(Mandatory=$false)] + [System.String] + # The LanguageId parameter indicates the language that is used to play shared voicemail prompts. + ${LanguageId}, + + [Parameter(Mandatory=$false)] + [System.String] + # This parameter is reserved for Microsoft internal use only. + ${LineUri}, + + [Parameter(Mandatory=$false)] + [System.Guid[]] + # The OboResourceAccountIds parameter lets you add resource account with phone number to the Call Queue. + ${OboResourceAccountIds}, + + [Parameter(Mandatory=$false)] + [System.String] + # The OverflowSharedVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when transferred to shared voicemail on overflow. + ${OverflowSharedVoicemailTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The OverflowSharedVoicemailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when transferred to shared voicemail on overflow. + ${OverflowSharedVoicemailAudioFilePrompt}, + + [Parameter(Mandatory=$false)] + [bool] + # The EnableOverflowSharedVoicemailTranscription parameter is used to turn on transcription for voicemails left by a caller on overflow. + ${EnableOverflowSharedVoicemailTranscription}, + + [Parameter(Mandatory=$false)] + [bool] + # The EnableOverflowSharedVoicemailSystemPromptSuppression parameter is used to disable voicemail system message on overflow. + ${EnableOverflowSharedVoicemailSystemPromptSuppression}, + + [Parameter(Mandatory=$false)] + [System.String] + # The OverflowDisconnectAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when call is disconnected due to overflow. + ${OverflowDisconnectAudioFilePrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The OverflowDisconnectTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when call is disconnected due to overflow. + ${OverflowDisconnectTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The OverflowRedirectPersonAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when call is redirected to person on overflow. + ${OverflowRedirectPersonAudioFilePrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The OverflowRedirectPersonTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when call is redirected to person on overflow. + ${OverflowRedirectPersonTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The OverflowRedirectVoiceAppAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when call is redirected to VoiceApp on overflow. + ${OverflowRedirectVoiceAppAudioFilePrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The OverflowRedirectVoiceAppTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when call is redirected to VoiceApp on overflow. + ${OverflowRedirectVoiceAppTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The OverflowRedirectPhoneNumberAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when call is redirected to PhoneNumber on overflow. + ${OverflowRedirectPhoneNumberAudioFilePrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The OverflowRedirectPhoneNumberTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when call is redirected to PhoneNumber on overflow. + ${OverflowRedirectPhoneNumberTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The OverflowRedirectVoicemailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when call is redirected to Voicemail on overflow. + ${OverflowRedirectVoicemailAudioFilePrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The OverflowRedirectVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when call is redirected to Voicemail on overflow. + ${OverflowRedirectVoicemailTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The TimeoutSharedVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when transferred to shared voicemail on timeout. + ${TimeoutSharedVoicemailTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The TimeoutSharedVoicemailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when transferred to shared voicemail on timeout. + ${TimeoutSharedVoicemailAudioFilePrompt}, + + [Parameter(Mandatory=$false)] + [bool] + # The EnableTimeoutSharedVoicemailTranscription parameter is used to turn on transcription for voicemails left by a caller on timeout. + ${EnableTimeoutSharedVoicemailTranscription}, + + [Parameter(Mandatory=$false)] + [bool] + # The EnableTimeoutSharedVoicemailSystemPromptSuppression parameter is used to disable voicemail system message on timeout. + ${EnableTimeoutSharedVoicemailSystemPromptSuppression}, + + [Parameter(Mandatory=$false)] + [System.String] + # The TimeoutDisconnectAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when call is disconnected due to Timeout. + ${TimeoutDisconnectAudioFilePrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The TimeoutDisconnectTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when call is disconnected due to Timeout. + ${TimeoutDisconnectTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The TimeoutRedirectPersonAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when call is redirected to person on Timeout. + ${TimeoutRedirectPersonAudioFilePrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The TimeoutRedirectPersonTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when call is redirected to person on Timeout. + ${TimeoutRedirectPersonTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The TimeoutRedirectVoiceAppAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when call is redirected to VoiceApp on Timeout. + ${TimeoutRedirectVoiceAppAudioFilePrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The TimeoutRedirectVoiceAppTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when call is redirected to VoiceApp on Timeout. + ${TimeoutRedirectVoiceAppTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The TimeoutRedirectPhoneNumberAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when call is redirected to PhoneNumber on Timeout. + ${TimeoutRedirectPhoneNumberAudioFilePrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The TimeoutRedirectPhoneNumberTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when call is redirected to PhoneNumber on Timeout. + ${TimeoutRedirectPhoneNumberTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The TimeoutRedirectVoicemailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when call is redirected to Voicemail on Timeout. + ${TimeoutRedirectVoicemailAudioFilePrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The TimeoutRedirectVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when call is redirected to Voicemail on Timeout. + ${TimeoutRedirectVoicemailTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [Microsoft.Rtc.Management.Hosted.HuntGroup.Models.NoAgentAction] + # The NoAgentAction parameter defines the action to take if the NoAgents are LoggedIn/OptedIn. + ${NoAgentAction}, + + [Parameter(Mandatory=$false)] + [System.String] + # The NoAgentActionTarget represents the target of the NoAgent action. + ${NoAgentActionTarget}, + + [Parameter(Mandatory=$false)] + [System.String] + # The NoAgentSharedVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when transferred to shared voicemail when NoAgents are Opted/LoggedIn to take calls. + ${NoAgentSharedVoicemailTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The NoAgentSharedVoicemailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when transferred to shared voicemail when NoAgents are Opted/LoggedIn to take calls. + ${NoAgentSharedVoicemailAudioFilePrompt}, + + [Parameter(Mandatory=$false)] + [bool] + # The EnableNoAgentSharedVoicemailTranscription parameter is used to turn on transcription for voicemails left by a caller when NoAgents are LoggedIn/OptedIn to take calls. + ${EnableNoAgentSharedVoicemailTranscription}, + + [Parameter(Mandatory=$false)] + [bool] + # The EnableNoAgentSharedVoicemailSystemPromptSuppression parameter is used to disable voicemail system message when NoAgents are LoggedIn/OptedIn to take calls. + ${EnableNoAgentSharedVoicemailSystemPromptSuppression}, + + [Parameter(Mandatory=$false)] + [Microsoft.Rtc.Management.Hosted.HuntGroup.Models.NoAgentApplyTo] + # The NoAgentApplyTo parameter determines whether the NoAgent action applies to All Calls or only New calls. + ${NoAgentApplyTo}, + + [Parameter(Mandatory=$false)] + [System.String] + # The NoAgentDisconnectAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when call is disconnected due to NoAgent. + ${NoAgentDisconnectAudioFilePrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The NoAgentDisconnectTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when call is disconnected due to NoAgent. + ${NoAgentDisconnectTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The NoAgentRedirectPersonAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when call is redirected to person on NoAgent. + ${NoAgentRedirectPersonAudioFilePrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The NoAgentRedirectPersonTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when call is redirected to person on NoAgent. + ${NoAgentRedirectPersonTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The NoAgentRedirectVoiceAppAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when call is redirected to VoiceApp on NoAgent. + ${NoAgentRedirectVoiceAppAudioFilePrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The NoAgentRedirectVoiceAppTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when call is redirected to VoiceApp on NoAgent. + ${NoAgentRedirectVoiceAppTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The NoAgentRedirectPhoneNumberAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when call is redirected to PhoneNumber on NoAgent. + ${NoAgentRedirectPhoneNumberAudioFilePrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The NoAgentRedirectPhoneNumberTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when call is redirected to PhoneNumber on NoAgent. + ${NoAgentRedirectPhoneNumberTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The NoAgentRedirectVoicemailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when call is redirected to Voicemail on NoAgent. + ${NoAgentRedirectVoicemailAudioFilePrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The NoAgentRedirectVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when call is redirected to Voicemail on NoAgent. + ${NoAgentRedirectVoicemailTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # Id of the channel to connect a call queue to. + ${ChannelId}, + + [Parameter(Mandatory=$false)] + [System.Guid] + # Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). + ${ChannelUserObjectId}, + + [Parameter(Mandatory=$false)] + [bool] + # The ShouldOverwriteCallableChannelProperty indicates user intention to whether overwirte the current callableChannel property value on chat service or not. + ${ShouldOverwriteCallableChannelProperty}, + + [Parameter(Mandatory=$false)] + [System.Guid[]] + # The list of authorized users. + ${AuthorizedUsers}, + + [Parameter(Mandatory=$false)] + [System.Guid[]] + # The list of hidden authorized users. + ${HideAuthorizedUsers}, + + [Parameter(Mandatory=$false)] + [System.Int16] + # The Call Priority for the overflow action, only applies when the OverflowAction is an `Forward`. + ${OverflowActionCallPriority}, + + [Parameter(Mandatory=$false)] + [System.Int16] + # The Call Priority for the timeout action, only applies when the TimeoutAction is an `Forward`. + ${TimeoutActionCallPriority}, + + [Parameter(Mandatory=$false)] + [System.Int16] + # The Call Priority for the no agent opted in action, only applies when the NoAgentAction is an `Forward`. + ${NoAgentActionCallPriority}, + + [parameter(Mandatory=$false)] + [System.Nullable[System.Boolean]] + # The IsCallbackEnabled parameter for enabling and disabling the Courtesy Callback feature. + ${IsCallbackEnabled}, + + [parameter(Mandatory=$false)] + [System.String] + # The DTMF tone to press to start requesting callback, as part of the Courtesy Callback feature. + ${CallbackRequestDtmf}, + + [parameter(Mandatory=$false)] + [System.Nullable[System.Int32]] + # The wait time before offering callback in seconds, as part of the Courtesy Callback feature. + ${WaitTimeBeforeOfferingCallbackInSecond}, + + [parameter(Mandatory=$false)] + [System.Nullable[System.Int32]] + # The number of calls in queue before offering callback, as part of the Courtesy Callback feature. + ${NumberOfCallsInQueueBeforeOfferingCallback}, + + [parameter(Mandatory=$false)] + [System.Nullable[System.Int32]] + # The call to agent ratio threshold before offering callback, as part of the Courtesy Callback feature. + ${CallToAgentRatioThresholdBeforeOfferingCallback}, + + [parameter(Mandatory=$false)] + [System.String] + # The identifier of the offer callback audio file to be played when offering callback to caller, as part of the Courtesy Callback feature. + ${CallbackOfferAudioFilePromptResourceId}, + + [parameter(Mandatory=$false)] + [System.String] + # The text-to-speech string to be converted to a speech and played when offering callback to caller, as part of the Courtesy Callback feature. + ${CallbackOfferTextToSpeechPrompt}, + + [Parameter(Mandatory=$false)] + [System.String] + # The CallbackEmailNotificationTarget parameter for callback feature. + ${CallbackEmailNotificationTarget}, + + [Parameter(Mandatory=$false)] + [System.Nullable[System.Int32]] + # Service level threshold in seconds for the call queue. Used for monitor calls in the call queue is handled within this threshold or not. + ${ServiceLevelThresholdResponseTimeInSecond}, + + [Parameter(Mandatory=$false)] + [Switch] + # Allow the cmdlet to run anyway + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + # Default ErrorAction to Stop + if (!$PSBoundParameters.ContainsKey('ErrorAction')) { + $PSBoundParameters.Add('ErrorAction', 'Stop') + } + + if ($PSBoundParameters.ContainsKey('Force')) { + $PSBoundParameters.Remove('Force') | Out-Null + } + + # Get the existing CallQueue by Identity. + $getParams = @{Identity = $Identity; FilterInvalidObos = $false} + $getResult = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsCallQueue @getParams -ErrorAction Stop @httpPipelineArgs + + # Convert the existing CallQueue DTO to domain model. + $existingCallQueue= [Microsoft.Rtc.Management.Hosted.CallQueue.Models.CallQueue]::new() + $existingCallQueue.ParseFrom($getResult.CallQueue) | Out-Null + + # Take the delta from the existing CallQueue and apply it to the param hasthable to form + # an appropriate DTO model for the CallQueue PUT API. FYI, CallQueue PUT API is very much + # different from its AA counterpart which accepts params/properties to be updated only. + + # Param hashtable modification begins. + if ($PSBoundParameters.ContainsKey('LineUri')) { + # Stick with the current TRPS cmdlet policy of silently ignoring the LineUri. Later, we + # need to remove this param from TRPS and ConfigAPI based cmdlets. Public facing document + # must be updated as well. + $PSBoundParameters.Remove('LineUri') | Out-Null + } + + if (!$PSBoundParameters.ContainsKey('Name')) { + $PSBoundParameters.Add('Name', $existingCallQueue.Name) + } + + if (!$PSBoundParameters.ContainsKey('AgentAlertTime')) { + $PSBoundParameters.Add('AgentAlertTime', $existingCallQueue.AgentAlertTime) + } + + if ([string]::IsNullOrWhiteSpace($LanguageId) -and ![string]::IsNullOrWhiteSpace($existingCallQueue.LanguageId)) { + $PSBoundParameters.Add('LanguageId', $existingCallQueue.LanguageId) + } + + if (!$PSBoundParameters.ContainsKey('OverflowThreshold')) { + $PSBoundParameters.Add('OverflowThreshold', $existingCallQueue.OverflowThreshold) + } + + if (!$PSBoundParameters.ContainsKey('TimeoutThreshold')) { + $PSBoundParameters.Add('TimeoutThreshold', $existingCallQueue.TimeoutThreshold) + } + + if (!$PSBoundParameters.ContainsKey('RoutingMethod')) { + $PSBoundParameters.Add('RoutingMethod', $existingCallQueue.RoutingMethod) + } + + if (!$PSBoundParameters.ContainsKey('AllowOptOut') ) { + $PSBoundParameters.Add('AllowOptOut', $existingCallQueue.AllowOptOut) + } + + if (!$PSBoundParameters.ContainsKey('ConferenceMode')) { + $PSBoundParameters.Add('ConferenceMode', $existingCallQueue.ConferenceMode) + } + + if (!$PSBoundParameters.ContainsKey('PresenceBasedRouting')) { + $PSBoundParameters.Add('PresenceAwareRouting', $existingCallQueue.PresenceBasedRouting) + } + else { + $PSBoundParameters.Add('PresenceAwareRouting', $PresenceBasedRouting) + $PSBoundParameters.Remove('PresenceBasedRouting') | Out-Null + } + + if (!$PSBoundParameters.ContainsKey('ChannelId')) { + if (![string]::IsNullOrWhiteSpace($existingCallQueue.ChannelId)) { + $PSBoundParameters.Add('ThreadId', $existingCallQueue.ChannelId) + } + } + else { + $PSBoundParameters.Add('ThreadId', $ChannelId) + $PSBoundParameters.Remove('ChannelId') | Out-Null + } + + if (!$PSBoundParameters.ContainsKey('OboResourceAccountIds')) { + if ($null -ne $existingCallQueue.OboResourceAccountIds -and $existingCallQueue.OboResourceAccountIds.Length -gt 0) { + $PSBoundParameters.Add('OboResourceAccountIds', $existingCallQueue.OboResourceAccountIds) + } + } + + if (!$PSBoundParameters.ContainsKey('WelcomeMusicAudioFileId') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.WelcomeMusicResourceId)) { + $PSBoundParameters.Add('WelcomeMusicAudioFileId', $existingCallQueue.WelcomeMusicResourceId) + } + + if (!$PSBoundParameters.ContainsKey('MusicOnHoldAudioFileId') -and !$PSBoundParameters.ContainsKey('UseDefaultMusicOnHold')) { + # The already persiting values cannot be conflicting as those were validated by admin service. + if (![string]::IsNullOrWhiteSpace($existingCallQueue.MusicOnHoldResourceId)) { + $PSBoundParameters.Add('MusicOnHoldAudioFileId', $existingCallQueue.MusicOnHoldResourceId) + } + if ($null -ne $existingCallQueue.UseDefaultMusicOnHold) { + $PSBoundParameters.Add('UseDefaultMusicOnHold', $existingCallQueue.UseDefaultMusicOnHold) + } + } + elseif ($UseDefaultMusicOnHold -eq $false -and !$PSBoundParameters.ContainsKey('MusicOnHoldAudioFileId')) { + if (![string]::IsNullOrWhiteSpace($existingCallQueue.MusicOnHoldResourceId)) { + $PSBoundParameters.Add('MusicOnHoldAudioFileId', $existingCallQueue.MusicOnHoldResourceId) + } + } + + if (!$PSBoundParameters.ContainsKey('DistributionLists')) { + if ($null -ne $existingCallQueue.DistributionLists -and $existingCallQueue.DistributionLists.Length -gt 0) { + $PSBoundParameters.Add('DistributionLists', $existingCallQueue.DistributionLists) + } + } + + if (!$PSBoundParameters.ContainsKey('Users')) { + if ($null -ne $existingCallQueue.Users -and $existingCallQueue.Users.Length -gt 0) { + $PSBoundParameters.Add('Users', $existingCallQueue.Users) + } + } + + if (!$PSBoundParameters.ContainsKey('OverflowSharedVoicemailTextToSpeechPrompt') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.OverflowSharedVoicemailTextToSpeechPrompt)) { + $PSBoundParameters.Add('OverflowSharedVoicemailTextToSpeechPrompt', $existingCallQueue.OverflowSharedVoicemailTextToSpeechPrompt) + } + elseif ($PSBoundParameters.ContainsKey('OverflowSharedVoicemailTextToSpeechPrompt') -and [string]::IsNullOrWhiteSpace($OverflowSharedVoicemailTextToSpeechPrompt)) { + $null = $PSBoundParameters.Remove('OverflowSharedVoicemailTextToSpeechPrompt') + } + + if (!$PSBoundParameters.ContainsKey('OverflowSharedVoicemailAudioFilePrompt') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.OverflowSharedVoicemailAudioFilePrompt)) { + $PSBoundParameters.Add('OverflowSharedVoicemailAudioFilePrompt', $existingCallQueue.OverflowSharedVoicemailAudioFilePrompt) + } + elseif ($PSBoundParameters.ContainsKey('OverflowSharedVoicemailAudioFilePrompt') -and [string]::IsNullOrWhiteSpace($OverflowSharedVoicemailAudioFilePrompt)) { + $null = $PSBoundParameters.Remove('OverflowSharedVoicemailAudioFilePrompt') + } + + if (!$PSBoundParameters.ContainsKey('EnableOverflowSharedVoicemailTranscription')) { + if ($existingCallQueue.EnableOverflowSharedVoicemailTranscription -ne $null) { + $PSBoundParameters.Add('EnableOverflowSharedVoicemailTranscription', $existingCallQueue.EnableOverflowSharedVoicemailTranscription) + } + } + + if (!$PSBoundParameters.ContainsKey('EnableOverflowSharedVoicemailSystemPromptSuppression') -and $null -ne $existingCallQueue.EnableOverflowSharedVoicemailSystemPromptSuppression) { + $PSBoundParameters.Add('EnableOverflowSharedVoicemailSystemPromptSuppression', $existingCallQueue.EnableOverflowSharedVoicemailSystemPromptSuppression) + } + + if (!$PSBoundParameters.ContainsKey('OverflowActionTarget') -and !($OverflowAction -eq 'Disconnect') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.OverflowActionTargetId)) { + $PSBoundParameters.Add('OverflowActionTarget', $existingCallQueue.OverflowActionTargetId) + } + + if (!$PSBoundParameters.ContainsKey('OverflowAction')) { + $PSBoundParameters.Add('OverflowAction', $existingCallQueue.OverflowAction) + } + + if (!$PSBoundParameters.ContainsKey('OverflowDisconnectAudioFilePrompt') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.OverflowDisconnectAudioFilePrompt)) { + $PSBoundParameters.Add('OverflowDisconnectAudioFilePrompt', $existingCallQueue.OverflowDisconnectAudioFilePrompt) + } + elseif ($PSBoundParameters.ContainsKey('OverflowDisconnectAudioFilePrompt') -and [string]::IsNullOrWhiteSpace($OverflowDisconnectAudioFilePrompt)) { + $null = $PSBoundParameters.Remove('OverflowDisconnectAudioFilePrompt') + } + + if (!$PSBoundParameters.ContainsKey('OverflowDisconnectTextToSpeechPrompt') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.OverflowDisconnectTextToSpeechPrompt)) { + $PSBoundParameters.Add('OverflowDisconnectTextToSpeechPrompt', $existingCallQueue.OverflowDisconnectTextToSpeechPrompt) + } + elseif ($PSBoundParameters.ContainsKey('OverflowDisconnectTextToSpeechPrompt') -and [string]::IsNullOrWhiteSpace($OverflowDisconnectTextToSpeechPrompt)) { + $null = $PSBoundParameters.Remove('OverflowDisconnectTextToSpeechPrompt') + } + + if (!$PSBoundParameters.ContainsKey('OverflowRedirectPersonAudioFilePrompt') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.OverflowRedirectPersonAudioFilePrompt)) { + $PSBoundParameters.Add('OverflowRedirectPersonAudioFilePrompt', $existingCallQueue.OverflowRedirectPersonAudioFilePrompt) + } + elseif ($PSBoundParameters.ContainsKey('OverflowRedirectPersonAudioFilePrompt') -and [string]::IsNullOrWhiteSpace($OverflowRedirectPersonAudioFilePrompt)) { + $null = $PSBoundParameters.Remove('OverflowRedirectPersonAudioFilePrompt') + } + + if (!$PSBoundParameters.ContainsKey('OverflowRedirectPersonTextToSpeechPrompt') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.OverflowRedirectPersonTextToSpeechPrompt)) { + $PSBoundParameters.Add('OverflowRedirectPersonTextToSpeechPrompt', $existingCallQueue.OverflowRedirectPersonTextToSpeechPrompt) + } + elseif ($PSBoundParameters.ContainsKey('OverflowRedirectPersonTextToSpeechPrompt') -and [string]::IsNullOrWhiteSpace($OverflowRedirectPersonTextToSpeechPrompt)) { + $null = $PSBoundParameters.Remove('OverflowRedirectPersonTextToSpeechPrompt') + } + + if (!$PSBoundParameters.ContainsKey('OverflowRedirectVoiceAppAudioFilePrompt') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.OverflowRedirectVoiceAppAudioFilePrompt)) { + $PSBoundParameters.Add('OverflowRedirectVoiceAppAudioFilePrompt', $existingCallQueue.OverflowRedirectVoiceAppAudioFilePrompt) + } + elseif ($PSBoundParameters.ContainsKey('OverflowRedirectVoiceAppAudioFilePrompt') -and [string]::IsNullOrWhiteSpace($OverflowRedirectVoiceAppAudioFilePrompt)) { + $null = $PSBoundParameters.Remove('OverflowRedirectVoiceAppAudioFilePrompt') + } + + if (!$PSBoundParameters.ContainsKey('OverflowRedirectVoiceAppTextToSpeechPrompt') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.OverflowRedirectVoiceAppTextToSpeechPrompt)) { + $PSBoundParameters.Add('OverflowRedirectVoiceAppTextToSpeechPrompt', $existingCallQueue.OverflowRedirectVoiceAppTextToSpeechPrompt) + } + elseif ($PSBoundParameters.ContainsKey('OverflowRedirectVoiceAppTextToSpeechPrompt') -and [string]::IsNullOrWhiteSpace($OverflowRedirectVoiceAppTextToSpeechPrompt)) { + $null = $PSBoundParameters.Remove('OverflowRedirectVoiceAppTextToSpeechPrompt') + } + + if (!$PSBoundParameters.ContainsKey('OverflowRedirectPhoneNumberAudioFilePrompt') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.OverflowRedirectPhoneNumberAudioFilePrompt)) { + $PSBoundParameters.Add('OverflowRedirectPhoneNumberAudioFilePrompt', $existingCallQueue.OverflowRedirectPhoneNumberAudioFilePrompt) + } + elseif ($PSBoundParameters.ContainsKey('OverflowRedirectPhoneNumberAudioFilePrompt') -and [string]::IsNullOrWhiteSpace($OverflowRedirectPhoneNumberAudioFilePrompt)) { + $null = $PSBoundParameters.Remove('OverflowRedirectPhoneNumberAudioFilePrompt') + } + + if (!$PSBoundParameters.ContainsKey('OverflowRedirectPhoneNumberTextToSpeechPrompt') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.OverflowRedirectPhoneNumberTextToSpeechPrompt)) { + $PSBoundParameters.Add('OverflowRedirectPhoneNumberTextToSpeechPrompt', $existingCallQueue.OverflowRedirectPhoneNumberTextToSpeechPrompt) + } + elseif ($PSBoundParameters.ContainsKey('OverflowRedirectPhoneNumberTextToSpeechPrompt') -and [string]::IsNullOrWhiteSpace($OverflowRedirectPhoneNumberTextToSpeechPrompt)) { + $null = $PSBoundParameters.Remove('OverflowRedirectPhoneNumberTextToSpeechPrompt') + } + + if (!$PSBoundParameters.ContainsKey('OverflowRedirectVoicemailAudioFilePrompt') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.OverflowRedirectVoicemailAudioFilePrompt)) { + $PSBoundParameters.Add('OverflowRedirectVoicemailAudioFilePrompt', $existingCallQueue.OverflowRedirectVoicemailAudioFilePrompt) + } + elseif ($PSBoundParameters.ContainsKey('OverflowRedirectVoicemailAudioFilePrompt') -and [string]::IsNullOrWhiteSpace($OverflowRedirectVoicemailAudioFilePrompt)) { + $null = $PSBoundParameters.Remove('OverflowRedirectVoicemailAudioFilePrompt') + } + + if (!$PSBoundParameters.ContainsKey('OverflowRedirectVoicemailTextToSpeechPrompt') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.OverflowRedirectVoicemailTextToSpeechPrompt)) { + $PSBoundParameters.Add('OverflowRedirectVoicemailTextToSpeechPrompt', $existingCallQueue.OverflowRedirectVoicemailTextToSpeechPrompt) + } + elseif ($PSBoundParameters.ContainsKey('OverflowRedirectVoicemailTextToSpeechPrompt') -and [string]::IsNullOrWhiteSpace($OverflowRedirectVoicemailTextToSpeechPrompt)) { + $null = $PSBoundParameters.Remove('OverflowRedirectVoicemailTextToSpeechPrompt') + } + + if (!$PSBoundParameters.ContainsKey('TimeoutSharedVoicemailTextToSpeechPrompt') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.TimeoutSharedVoicemailTextToSpeechPrompt) ) { + $PSBoundParameters.Add('TimeoutSharedVoicemailTextToSpeechPrompt', $existingCallQueue.TimeoutSharedVoicemailTextToSpeechPrompt) + } + elseif ($PSBoundParameters.ContainsKey('TimeoutSharedVoicemailTextToSpeechPrompt') -and [string]::IsNullOrWhiteSpace($TimeoutSharedVoicemailTextToSpeechPrompt)) { + $null = $PSBoundParameters.Remove('TimeoutSharedVoicemailTextToSpeechPrompt') + } + + if (!$PSBoundParameters.ContainsKey('TimeoutSharedVoicemailAudioFilePrompt') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.TimeoutSharedVoicemailAudioFilePrompt)) { + $PSBoundParameters.Add('TimeoutSharedVoicemailAudioFilePrompt', $existingCallQueue.TimeoutSharedVoicemailAudioFilePrompt) + } + elseif ($PSBoundParameters.ContainsKey('TimeoutSharedVoicemailAudioFilePrompt') -and [string]::IsNullOrWhiteSpace($TimeoutSharedVoicemailAudioFilePrompt)) { + $null = $PSBoundParameters.Remove('TimeoutSharedVoicemailAudioFilePrompt') + } + + if (!$PSBoundParameters.ContainsKey('EnableTimeoutSharedVoicemailTranscription')) { + if ($existingCallQueue.EnableTimeoutSharedVoicemailTranscription -ne $null) { + $PSBoundParameters.Add('EnableTimeoutSharedVoicemailTranscription', $existingCallQueue.EnableTimeoutSharedVoicemailTranscription) + } + } + + if (!$PSBoundParameters.ContainsKey('EnableTimeoutSharedVoicemailSystemPromptSuppression') -and $null -ne $existingCallQueue.EnableTimeoutSharedVoicemailSystemPromptSuppression) { + $PSBoundParameters.Add('EnableTimeoutSharedVoicemailSystemPromptSuppression', $existingCallQueue.EnableTimeoutSharedVoicemailSystemPromptSuppression) + } + + if (!$PSBoundParameters.ContainsKey('TimeoutActionTarget') -and !($TimeoutAction -eq 'Disconnect') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.TimeoutActionTargetId)) { + $PSBoundParameters.Add('TimeoutActionTarget', $existingCallQueue.TimeoutActionTargetId) + } + + if (!$PSBoundParameters.ContainsKey('TimeoutAction')) { + $PSBoundParameters.Add('TimeoutAction', $existingCallQueue.TimeoutAction) + } + + if (!$PSBoundParameters.ContainsKey('TimeoutDisconnectAudioFilePrompt') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.TimeoutDisconnectAudioFilePrompt)) { + $PSBoundParameters.Add('TimeoutDisconnectAudioFilePrompt', $existingCallQueue.TimeoutDisconnectAudioFilePrompt) + } + elseif ($PSBoundParameters.ContainsKey('TimeoutDisconnectAudioFilePrompt') -and [string]::IsNullOrWhiteSpace($TimeoutDisconnectAudioFilePrompt)) { + $null = $PSBoundParameters.Remove('TimeoutDisconnectAudioFilePrompt') + } + + if (!$PSBoundParameters.ContainsKey('TimeoutDisconnectTextToSpeechPrompt') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.TimeoutDisconnectTextToSpeechPrompt)) { + $PSBoundParameters.Add('TimeoutDisconnectTextToSpeechPrompt', $existingCallQueue.TimeoutDisconnectTextToSpeechPrompt) + } + elseif ($PSBoundParameters.ContainsKey('TimeoutDisconnectTextToSpeechPrompt') -and [string]::IsNullOrWhiteSpace($TimeoutDisconnectTextToSpeechPrompt)) { + $null = $PSBoundParameters.Remove('TimeoutDisconnectTextToSpeechPrompt') + } + + if (!$PSBoundParameters.ContainsKey('TimeoutRedirectPersonAudioFilePrompt') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.TimeoutRedirectPersonAudioFilePrompt)) { + $PSBoundParameters.Add('TimeoutRedirectPersonAudioFilePrompt', $existingCallQueue.TimeoutRedirectPersonAudioFilePrompt) + } + elseif ($PSBoundParameters.ContainsKey('TimeoutRedirectPersonAudioFilePrompt') -and [string]::IsNullOrWhiteSpace($TimeoutRedirectPersonAudioFilePrompt)) { + $null = $PSBoundParameters.Remove('TimeoutRedirectPersonAudioFilePrompt') + } + + if (!$PSBoundParameters.ContainsKey('TimeoutRedirectPersonTextToSpeechPrompt') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.TimeoutRedirectPersonTextToSpeechPrompt)) { + $PSBoundParameters.Add('TimeoutRedirectPersonTextToSpeechPrompt', $existingCallQueue.TimeoutRedirectPersonTextToSpeechPrompt) + } + elseif ($PSBoundParameters.ContainsKey('TimeoutRedirectPersonTextToSpeechPrompt') -and [string]::IsNullOrWhiteSpace($TimeoutRedirectPersonTextToSpeechPrompt)) { + $null = $PSBoundParameters.Remove('TimeoutRedirectPersonTextToSpeechPrompt') + } + + if (!$PSBoundParameters.ContainsKey('TimeoutRedirectVoiceAppAudioFilePrompt') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.TimeoutRedirectVoiceAppAudioFilePrompt)) { + $PSBoundParameters.Add('TimeoutRedirectVoiceAppAudioFilePrompt', $existingCallQueue.TimeoutRedirectVoiceAppAudioFilePrompt) + } + elseif ($PSBoundParameters.ContainsKey('TimeoutRedirectVoiceAppAudioFilePrompt') -and [string]::IsNullOrWhiteSpace($TimeoutRedirectVoiceAppAudioFilePrompt)) { + $null = $PSBoundParameters.Remove('TimeoutRedirectVoiceAppAudioFilePrompt') + } + + if (!$PSBoundParameters.ContainsKey('TimeoutRedirectVoiceAppTextToSpeechPrompt') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.TimeoutRedirectVoiceAppTextToSpeechPrompt)) { + $PSBoundParameters.Add('TimeoutRedirectVoiceAppTextToSpeechPrompt', $existingCallQueue.TimeoutRedirectVoiceAppTextToSpeechPrompt) + } + elseif ($PSBoundParameters.ContainsKey('TimeoutRedirectVoiceAppTextToSpeechPrompt') -and [string]::IsNullOrWhiteSpace($TimeoutRedirectVoiceAppTextToSpeechPrompt)) { + $null = $PSBoundParameters.Remove('TimeoutRedirectVoiceAppTextToSpeechPrompt') + } + + if (!$PSBoundParameters.ContainsKey('TimeoutRedirectPhoneNumberAudioFilePrompt') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.TimeoutRedirectPhoneNumberAudioFilePrompt)) { + $PSBoundParameters.Add('TimeoutRedirectPhoneNumberAudioFilePrompt', $existingCallQueue.TimeoutRedirectPhoneNumberAudioFilePrompt) + } + elseif ($PSBoundParameters.ContainsKey('TimeoutRedirectPhoneNumberAudioFilePrompt') -and [string]::IsNullOrWhiteSpace($TimeoutRedirectPhoneNumberAudioFilePrompt)) { + $null = $PSBoundParameters.Remove('TimeoutRedirectPhoneNumberAudioFilePrompt') + } + + if (!$PSBoundParameters.ContainsKey('TimeoutRedirectPhoneNumberTextToSpeechPrompt') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.TimeoutRedirectPhoneNumberTextToSpeechPrompt)) { + $PSBoundParameters.Add('TimeoutRedirectPhoneNumberTextToSpeechPrompt', $existingCallQueue.TimeoutRedirectPhoneNumberTextToSpeechPrompt) + } + elseif ($PSBoundParameters.ContainsKey('TimeoutRedirectPhoneNumberTextToSpeechPrompt') -and [string]::IsNullOrWhiteSpace($TimeoutRedirectPhoneNumberTextToSpeechPrompt)) { + $null = $PSBoundParameters.Remove('TimeoutRedirectPhoneNumberTextToSpeechPrompt') + } + + if (!$PSBoundParameters.ContainsKey('TimeoutRedirectVoicemailAudioFilePrompt') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.TimeoutRedirectVoicemailAudioFilePrompt)) { + $PSBoundParameters.Add('TimeoutRedirectVoicemailAudioFilePrompt', $existingCallQueue.TimeoutRedirectVoicemailAudioFilePrompt) + } + elseif ($PSBoundParameters.ContainsKey('TimeoutRedirectVoicemailAudioFilePrompt') -and [string]::IsNullOrWhiteSpace($TimeoutRedirectVoicemailAudioFilePrompt)) { + $null = $PSBoundParameters.Remove('TimeoutRedirectVoicemailAudioFilePrompt') + } + + if (!$PSBoundParameters.ContainsKey('TimeoutRedirectVoicemailTextToSpeechPrompt') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.TimeoutRedirectVoicemailTextToSpeechPrompt)) { + $PSBoundParameters.Add('TimeoutRedirectVoicemailTextToSpeechPrompt', $existingCallQueue.TimeoutRedirectVoicemailTextToSpeechPrompt) + } + elseif ($PSBoundParameters.ContainsKey('TimeoutRedirectVoicemailTextToSpeechPrompt') -and [string]::IsNullOrWhiteSpace($TimeoutRedirectVoicemailTextToSpeechPrompt)) { + $null = $PSBoundParameters.Remove('TimeoutRedirectVoicemailTextToSpeechPrompt') + } + + if (!$PSBoundParameters.ContainsKey('NoAgentActionTarget') -and !($NoAgentAction -eq 'Queue') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.NoAgentActionTargetId)) { + $PSBoundParameters.Add('NoAgentActionTarget', $existingCallQueue.NoAgentActionTargetId) + } + + if (!$PSBoundParameters.ContainsKey('NoAgentAction')) { + $PSBoundParameters.Add('NoAgentAction', $existingCallQueue.NoAgentAction) + } + + if (!$PSBoundParameters.ContainsKey('NoAgentSharedVoicemailTextToSpeechPrompt') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.NoAgentSharedVoicemailTextToSpeechPrompt) ) { + $PSBoundParameters.Add('NoAgentSharedVoicemailTextToSpeechPrompt', $existingCallQueue.NoAgentSharedVoicemailTextToSpeechPrompt) + } + elseif ($PSBoundParameters.ContainsKey('NoAgentSharedVoicemailTextToSpeechPrompt') -and [string]::IsNullOrWhiteSpace($NoAgentSharedVoicemailTextToSpeechPrompt)) { + $null = $PSBoundParameters.Remove('NoAgentSharedVoicemailTextToSpeechPrompt') + } + + if (!$PSBoundParameters.ContainsKey('NoAgentSharedVoicemailAudioFilePrompt') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.NoAgentSharedVoicemailAudioFilePrompt)) { + $PSBoundParameters.Add('NoAgentSharedVoicemailAudioFilePrompt', $existingCallQueue.NoAgentSharedVoicemailAudioFilePrompt) + } + elseif ($PSBoundParameters.ContainsKey('NoAgentSharedVoicemailAudioFilePrompt') -and [string]::IsNullOrWhiteSpace($NoAgentSharedVoicemailAudioFilePrompt)) { + $null = $PSBoundParameters.Remove('NoAgentSharedVoicemailAudioFilePrompt') + } + + if (!$PSBoundParameters.ContainsKey('EnableNoAgentSharedVoicemailTranscription')) { + if ($existingCallQueue.EnableNoAgentSharedVoicemailTranscription -ne $null) { + $PSBoundParameters.Add('EnableNoAgentSharedVoicemailTranscription', $existingCallQueue.EnableNoAgentSharedVoicemailTranscription) + } + } + + if (!$PSBoundParameters.ContainsKey('EnableNoAgentSharedVoicemailSystemPromptSuppression') -and $null -ne $existingCallQueue.EnableNoAgentSharedVoicemailSystemPromptSuppression) { + $PSBoundParameters.Add('EnableNoAgentSharedVoicemailSystemPromptSuppression', $existingCallQueue.EnableNoAgentSharedVoicemailSystemPromptSuppression) + } + + if (!$PSBoundParameters.ContainsKey('NoAgentApplyTo')) { + if ($existingCallQueue.NoAgentApplyTo -ne $null) { + $PSBoundParameters.Add('NoAgentApplyTo', $existingCallQueue.NoAgentApplyTo) + } + } + + if (!$PSBoundParameters.ContainsKey('NoAgentDisconnectAudioFilePrompt') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.NoAgentDisconnectAudioFilePrompt)) { + $PSBoundParameters.Add('NoAgentDisconnectAudioFilePrompt', $existingCallQueue.NoAgentDisconnectAudioFilePrompt) + } + elseif ($PSBoundParameters.ContainsKey('NoAgentDisconnectAudioFilePrompt') -and [string]::IsNullOrWhiteSpace($NoAgentDisconnectAudioFilePrompt)) { + $null = $PSBoundParameters.Remove('NoAgentDisconnectAudioFilePrompt') + } + + if (!$PSBoundParameters.ContainsKey('NoAgentDisconnectTextToSpeechPrompt') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.NoAgentDisconnectTextToSpeechPrompt)) { + $PSBoundParameters.Add('NoAgentDisconnectTextToSpeechPrompt', $existingCallQueue.NoAgentDisconnectTextToSpeechPrompt) + } + elseif ($PSBoundParameters.ContainsKey('NoAgentDisconnectTextToSpeechPrompt') -and [string]::IsNullOrWhiteSpace($NoAgentDisconnectTextToSpeechPrompt)) { + $null = $PSBoundParameters.Remove('NoAgentDisconnectTextToSpeechPrompt') + } + + if (!$PSBoundParameters.ContainsKey('NoAgentRedirectPersonAudioFilePrompt') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.NoAgentRedirectPersonAudioFilePrompt)) { + $PSBoundParameters.Add('NoAgentRedirectPersonAudioFilePrompt', $existingCallQueue.NoAgentRedirectPersonAudioFilePrompt) + } + elseif ($PSBoundParameters.ContainsKey('NoAgentRedirectPersonAudioFilePrompt') -and [string]::IsNullOrWhiteSpace($NoAgentRedirectPersonAudioFilePrompt)) { + $null = $PSBoundParameters.Remove('NoAgentRedirectPersonAudioFilePrompt') + } + + if (!$PSBoundParameters.ContainsKey('NoAgentRedirectPersonTextToSpeechPrompt') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.NoAgentRedirectPersonTextToSpeechPrompt)) { + $PSBoundParameters.Add('NoAgentRedirectPersonTextToSpeechPrompt', $existingCallQueue.NoAgentRedirectPersonTextToSpeechPrompt) + } + elseif ($PSBoundParameters.ContainsKey('NoAgentRedirectPersonTextToSpeechPrompt') -and [string]::IsNullOrWhiteSpace($NoAgentRedirectPersonTextToSpeechPrompt)) { + $null = $PSBoundParameters.Remove('NoAgentRedirectPersonTextToSpeechPrompt') + } + + if (!$PSBoundParameters.ContainsKey('NoAgentRedirectVoiceAppAudioFilePrompt') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.NoAgentRedirectVoiceAppAudioFilePrompt)) { + $PSBoundParameters.Add('NoAgentRedirectVoiceAppAudioFilePrompt', $existingCallQueue.NoAgentRedirectVoiceAppAudioFilePrompt) + } + elseif ($PSBoundParameters.ContainsKey('NoAgentRedirectVoiceAppAudioFilePrompt') -and [string]::IsNullOrWhiteSpace($NoAgentRedirectVoiceAppAudioFilePrompt)) { + $null = $PSBoundParameters.Remove('NoAgentRedirectVoiceAppAudioFilePrompt') + } + + if (!$PSBoundParameters.ContainsKey('NoAgentRedirectVoiceAppTextToSpeechPrompt') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.NoAgentRedirectVoiceAppTextToSpeechPrompt)) { + $PSBoundParameters.Add('NoAgentRedirectVoiceAppTextToSpeechPrompt', $existingCallQueue.NoAgentRedirectVoiceAppTextToSpeechPrompt) + } + elseif ($PSBoundParameters.ContainsKey('NoAgentRedirectVoiceAppTextToSpeechPrompt') -and [string]::IsNullOrWhiteSpace($NoAgentRedirectVoiceAppTextToSpeechPrompt)) { + $null = $PSBoundParameters.Remove('NoAgentRedirectVoiceAppTextToSpeechPrompt') + } + + if (!$PSBoundParameters.ContainsKey('NoAgentRedirectPhoneNumberAudioFilePrompt') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.NoAgentRedirectPhoneNumberAudioFilePrompt)) { + $PSBoundParameters.Add('NoAgentRedirectPhoneNumberAudioFilePrompt', $existingCallQueue.NoAgentRedirectPhoneNumberAudioFilePrompt) + } + elseif ($PSBoundParameters.ContainsKey('NoAgentRedirectPhoneNumberAudioFilePrompt') -and [string]::IsNullOrWhiteSpace($NoAgentRedirectPhoneNumberAudioFilePrompt)) { + $null = $PSBoundParameters.Remove('NoAgentRedirectPhoneNumberAudioFilePrompt') + } + + if (!$PSBoundParameters.ContainsKey('NoAgentRedirectPhoneNumberTextToSpeechPrompt') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.NoAgentRedirectPhoneNumberTextToSpeechPrompt)) { + $PSBoundParameters.Add('NoAgentRedirectPhoneNumberTextToSpeechPrompt', $existingCallQueue.NoAgentRedirectPhoneNumberTextToSpeechPrompt) + } + elseif ($PSBoundParameters.ContainsKey('NoAgentRedirectPhoneNumberTextToSpeechPrompt') -and [string]::IsNullOrWhiteSpace($NoAgentRedirectPhoneNumberTextToSpeechPrompt)) { + $null = $PSBoundParameters.Remove('NoAgentRedirectPhoneNumberTextToSpeechPrompt') + } + + if (!$PSBoundParameters.ContainsKey('NoAgentRedirectVoicemailAudioFilePrompt') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.NoAgentRedirectVoicemailAudioFilePrompt)) { + $PSBoundParameters.Add('NoAgentRedirectVoicemailAudioFilePrompt', $existingCallQueue.NoAgentRedirectVoicemailAudioFilePrompt) + } + elseif ($PSBoundParameters.ContainsKey('NoAgentRedirectVoicemailAudioFilePrompt') -and [string]::IsNullOrWhiteSpace($NoAgentRedirectVoicemailAudioFilePrompt)) { + $null = $PSBoundParameters.Remove('NoAgentRedirectVoicemailAudioFilePrompt') + } + + if (!$PSBoundParameters.ContainsKey('NoAgentRedirectVoicemailTextToSpeechPrompt') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.NoAgentRedirectVoicemailTextToSpeechPrompt)) { + $PSBoundParameters.Add('NoAgentRedirectVoicemailTextToSpeechPrompt', $existingCallQueue.NoAgentRedirectVoicemailTextToSpeechPrompt) + } + elseif ($PSBoundParameters.ContainsKey('NoAgentRedirectVoicemailTextToSpeechPrompt') -and [string]::IsNullOrWhiteSpace($NoAgentRedirectVoicemailTextToSpeechPrompt)) { + $null = $PSBoundParameters.Remove('NoAgentRedirectVoicemailTextToSpeechPrompt') + } + + if (!$PSBoundParameters.ContainsKey('AuthorizedUsers')) { + $PSBoundParameters.Add('AuthorizedUsers', $existingCallQueue.AuthorizedUsers) + } + + if (!$PSBoundParameters.ContainsKey('HideAuthorizedUsers')) { + $PSBoundParameters.Add('HideAuthorizedUsers', $existingCallQueue.HideAuthorizedUsers) + } + + # Making sure the user provides the correct CallPriority values for CQ exceptions (overflow, timeout, NoAgent etc.) handling. + # The valid values are 1 to 5. Zero is also allowed which means the user wants to use the default value (3). + # (elseif) The CallPriority does not apply when the Action is not `Forward`. + # (elseif) If user doesn't provide CallPriority value but in the existing CallQueue there is a value then we have the following two scenarios: + # a) User provides a new Target and we should not take the existing priority instead it should be the default CallPriority (3). + # b) In case of existing CQ with ActionTarget, user might want to only update the CallPriority. + if ($PSBoundParameters["OverflowAction"] -eq 'Forward' -and ($OverflowActionCallPriority -lt 0 -or $OverflowActionCallPriority -gt 5)) { + throw "Invalid `OverflowActionCallPriority` value. The valid values are 1 to 5 (default is 3). Please provide the correct value." + } + elseif ($PSBoundParameters["OverflowAction"] -ne 'Forward' -and ([Math]::Abs($OverflowActionCallPriority) -ge 1)) { + throw "OverflowActionCallPriority is only applicable when the 'OverflowAction' is 'Forward'. Please remove the OverflowActionCallPriority." + } + elseif (!$PSBoundParameters.ContainsKey('OverflowActionCallPriority') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.OverflowActionCallPriority)) { + if ($PSBoundParameters["OverflowAction"] -eq 'Forward' -and $PSBoundParameters["OverflowActionTarget"] -eq $existingCallQueue.OverflowActionTarget.Id -and $existingCallQueue.OverflowActionCallPriority -ge 1) { + $PSBoundParameters.Add('OverflowActionCallPriority', $existingCallQueue.OverflowActionCallPriority) + } + } + + if ($PSBoundParameters["TimeoutAction"] -eq 'Forward' -and ($TimeoutActionCallPriority -lt 0 -or $TimeoutActionCallPriority -gt 5)) { + throw "Invalid `TimeoutActionCallPriority` value. The valid values are 1 to 5 (default is 3). Please provide the correct value." + } + elseif ($PSBoundParameters["TimeoutAction"] -ne 'Forward' -and ([Math]::Abs($TimeoutActionCallPriority) -ge 1)) { + throw "TimeoutActionCallPriority is only applicable when the 'TimeoutAction' is 'Forward'. Please remove the TimeoutActionCallPriority." + } + elseif (!$PSBoundParameters.ContainsKey('TimeoutActionCallPriority') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.TimeoutActionCallPriority)) { + if ($PSBoundParameters["TimeoutAction"] -eq 'Forward' -and $PSBoundParameters["TimeoutActionTarget"] -eq $existingCallQueue.TimeoutActionTarget.Id -and $existingCallQueue.TimeoutActionCallPriority -ge 1) { + $PSBoundParameters.Add('TimeoutActionCallPriority', $existingCallQueue.TimeoutActionCallPriority) + } + } + + if ($PSBoundParameters["NoAgentAction"] -eq 'Forward' -and ($NoAgentActionCallPriority -lt 0 -or $NoAgentActionCallPriority -gt 5)) { + throw "Invalid `NoAgentActionCallPriority` value. The valid values are 1 to 5 (default is 3). Please provide the correct value." + } + elseif ($PSBoundParameters["NoAgentAction"] -ne 'Forward' -and ([Math]::Abs($NoAgentActionCallPriority) -ge 1)) { + throw "NoAgentActionCallPriority is only applicable when the 'NoAgentAction' is 'Forward'. Please remove the NoAgentActionCallPriority." + } + elseif (!$PSBoundParameters.ContainsKey('NoAgentActionCallPriority') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.NoAgentActionCallPriority)) { + if ($PSBoundParameters["NoAgentAction"] -eq 'Forward' -and $PSBoundParameters["NoAgentActionTarget"] -eq $existingCallQueue.NoAgentActionTarget.Id -and $existingCallQueue.NoAgentActionCallPriority -ge 1) { + $PSBoundParameters.Add('NoAgentActionCallPriority', $existingCallQueue.NoAgentActionCallPriority) + } + } + + if (!$PSBoundParameters.ContainsKey('IsCallbackEnabled') -and $null -ne $existingCallQueue.IsCallbackEnabled) { + $PSBoundParameters.Add('IsCallbackEnabled', $existingCallQueue.IsCallbackEnabled) + } + elseif ($PSBoundParameters.ContainsKey('IsCallbackEnabled') -and $IsCallbackEnabled -eq $null) { + $null = $PSBoundParameters.Remove('IsCallbackEnabled') + } + + if (!$PSBoundParameters.ContainsKey('CallbackRequestDtmf') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.CallbackRequestDtmf)) { + $PSBoundParameters.Add('CallbackRequestDtmf', $existingCallQueue.CallbackRequestDtmf) + } + elseif ($PSBoundParameters.ContainsKey('CallbackRequestDtmf') -and [string]::IsNullOrWhiteSpace($CallbackRequestDtmf)) { + $null = $PSBoundParameters.Remove('CallbackRequestDtmf') + } + + if (!$PSBoundParameters.ContainsKey('WaitTimeBeforeOfferingCallbackInSecond') -and $null -ne $existingCallQueue.WaitTimeBeforeOfferingCallbackInSecond) { + $PSBoundParameters.Add('WaitTimeBeforeOfferingCallbackInSecond', $existingCallQueue.WaitTimeBeforeOfferingCallbackInSecond) + } + elseif ($PSBoundParameters.ContainsKey('WaitTimeBeforeOfferingCallbackInSecond') -and $WaitTimeBeforeOfferingCallbackInSecond -eq $null) { + $null = $PSBoundParameters.Remove('WaitTimeBeforeOfferingCallbackInSecond') + } + + if (!$PSBoundParameters.ContainsKey('NumberOfCallsInQueueBeforeOfferingCallback') -and $null -ne $existingCallQueue.NumberOfCallsInQueueBeforeOfferingCallback) { + $PSBoundParameters.Add('NumberOfCallsInQueueBeforeOfferingCallback', $existingCallQueue.NumberOfCallsInQueueBeforeOfferingCallback) + } + elseif ($PSBoundParameters.ContainsKey('NumberOfCallsInQueueBeforeOfferingCallback') -and $NumberOfCallsInQueueBeforeOfferingCallback -eq $null) { + $null = $PSBoundParameters.Remove('NumberOfCallsInQueueBeforeOfferingCallback') + } + + if (!$PSBoundParameters.ContainsKey('CallToAgentRatioThresholdBeforeOfferingCallback') -and $null -ne $existingCallQueue.CallToAgentRatioThresholdBeforeOfferingCallback) { + $PSBoundParameters.Add('CallToAgentRatioThresholdBeforeOfferingCallback', $existingCallQueue.CallToAgentRatioThresholdBeforeOfferingCallback) + } + elseif ($PSBoundParameters.ContainsKey('CallToAgentRatioThresholdBeforeOfferingCallback') -and $CallToAgentRatioThresholdBeforeOfferingCallback -eq $null) { + $null = $PSBoundParameters.Remove('CallToAgentRatioThresholdBeforeOfferingCallback') + } + + if (!$PSBoundParameters.ContainsKey('CallbackOfferAudioFilePromptResourceId') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.CallbackOfferAudioFilePromptResourceId)) { + $PSBoundParameters.Add('CallbackOfferAudioFilePromptResourceId', $existingCallQueue.CallbackOfferAudioFilePromptResourceId) + } + elseif ($PSBoundParameters.ContainsKey('CallbackOfferAudioFilePromptResourceId') -and [string]::IsNullOrWhiteSpace($CallbackOfferAudioFilePromptResourceId)) { + $null = $PSBoundParameters.Remove('CallbackOfferAudioFilePromptResourceId') + } + + if (!$PSBoundParameters.ContainsKey('CallbackOfferTextToSpeechPrompt') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.CallbackOfferTextToSpeechPrompt)) { + $PSBoundParameters.Add('CallbackOfferTextToSpeechPrompt', $existingCallQueue.CallbackOfferTextToSpeechPrompt) + } + elseif ($PSBoundParameters.ContainsKey('CallbackOfferTextToSpeechPrompt') -and [string]::IsNullOrWhiteSpace($CallbackOfferTextToSpeechPrompt)) { + $null = $PSBoundParameters.Remove('CallbackOfferTextToSpeechPrompt') + } + + if (!$PSBoundParameters.ContainsKey('CallbackEmailNotificationTarget') -and ![string]::IsNullOrWhiteSpace($existingCallQueue.CallbackEmailNotificationTargetId)) { + $PSBoundParameters.Add('CallbackEmailNotificationTarget', $existingCallQueue.CallbackEmailNotificationTargetId) + } + elseif ($PSBoundParameters.ContainsKey('CallbackEmailNotificationTarget') -and [string]::IsNullOrWhiteSpace($CallbackEmailNotificationTarget)) { + $null = $PSBoundParameters.Remove('CallbackEmailNotificationTarget') + } + + if ($PSBoundParameters.ContainsKey('ServiceLevelThresholdResponseTimeInSecond') -and $ServiceLevelThresholdResponseTimeInSecond -eq $null) { + $null = $PSBoundParameters.Remove('ServiceLevelThresholdResponseTimeInSecond') + } + + # Update the CallQueue. + $updateResult = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Set-CsCallQueue @PSBoundParameters @httpPipelineArgs + # The response of the Update API is only the list of `Diagnostics` which can be directly used in + # the following method instead of accessing the `Diagnostic` like we do for other CMDLets. + Write-AdminServiceDiagnostic($updateResult) + + # Unfortunately, CallQueue PUT API does not return a CallQueue DTO model. We need to GET the CallQueue again + # to print the updated model. + $getResult = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Get-CsCallQueue @getParams @httpPipelineArgs + + $updatedCallQueue = [Microsoft.Rtc.Management.Hosted.CallQueue.Models.CallQueue]::new() + $updatedCallQueue.ParseFrom($getResult.CallQueue) + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Format output of Set-CsOdcServiceNumber + +function Set-CsOdcServiceNumber { + [CmdletBinding(PositionalBinding=$false)] + param( + [string] + ${Identity}, + + [string] + ${PrimaryLanguage}, + + [string[]] + ${SecondaryLanguages}, + + [switch] + ${RestoreDefaultLanguages}, + + [switch] + ${Force}, + + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConferencingServiceNumber] + [Parameter(ValueFromPipeline)] + ${Instance}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend}) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + if ($Identity -ne ""){ + $output = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Set-CsOdcServiceNumber @PSBoundParameters @httpPipelineArgs + } + elseif ($Instance -ne $null) { + $Body = [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ServiceNumberUpdateRequest]::new() + + if ($PrimaryLanguage -ne "" ){ + $Body.PrimaryLanguage = $PrimaryLanguage + } + else { + $Body.PrimaryLanguage = $Instance.PrimaryLanguage + } + + if ($SecondaryLanguages -ne "") { + $Body.SecondaryLanguage = $SecondaryLanguages + } + else { + $Body.SecondaryLanguage = $Instance.SecondaryLanguages + } + + if ($RestoreDefaultLanguages -eq $true) { + $Body.RestoreDefaultLanguage = $RestoreDefaultLanguages + } + + $output = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Set-CsOdcServiceNumber -Identity $Instance.Number -Body $Body @httpPipelineArgs + } + + $output + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: assign parameters' values and customize output + +function Set-CsOnlineSchedule { + [CmdletBinding(PositionalBinding=$true, SupportsShouldProcess, ConfirmImpact='Medium')] + param( + [Parameter(Mandatory=$true, position=0)] + [Object] + # The instance of the schedule which is updated. + ${Instance}, + + [Parameter(Mandatory=$false, position=1)] + [Switch] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + if ($PSBoundParameters.ContainsKey("Force")) { + $PSBoundParameters.Remove("Force") | Out-Null + } + $params = @{ + Identity = ${Instance}.Id + Name = ${Instance}.Name + Type = ${Instance}.Type + AssociatedConfigurationId = ${Instance}.AssociatedConfigurationId + } + # Get common parameters + foreach($p in $PSBoundParameters.GetEnumerator()) + { + $params += @{$p.Key = $p.Value} + } + $null = $params.Remove("Instance") + + if (${Instance}.Type -eq [Microsoft.Rtc.Management.Hosted.Online.Models.ScheduleType]::Fixed) { + $DateTimeRanges = ${Instance}.FixedSchedule.DateTimeRanges + $dateTimeRangeStandardFormat = 'yyyy-MM-ddTHH:mm:ss'; + $fixedScheduleDateTimeRanges = @() + foreach ($dateTimeRange in $DateTimeRanges) { + $fixedScheduleDateTimeRanges += @{ + Start = $dateTimeRange.Start.ToString($dateTimeRangeStandardFormat, [System.Globalization.CultureInfo]::InvariantCulture) + End = $dateTimeRange.End.ToString($dateTimeRangeStandardFormat, [System.Globalization.CultureInfo]::InvariantCulture) + } + } + $params['FixedScheduleDateTimeRange'] = $fixedScheduleDateTimeRanges + } + + if (${Instance}.Type -eq [Microsoft.Rtc.Management.Hosted.Online.Models.ScheduleType]::WeeklyRecurrence) { + $MondayHours = ${Instance}.WeeklyRecurrentSchedule.MondayHours + $TuesdayHours = ${Instance}.WeeklyRecurrentSchedule.TuesdayHours + $WednesdayHours = ${Instance}.WeeklyRecurrentSchedule.WednesdayHours + $ThursdayHours = ${Instance}.WeeklyRecurrentSchedule.ThursdayHours + $FridayHours = ${Instance}.WeeklyRecurrentSchedule.FridayHours + $SaturdayHours = ${Instance}.WeeklyRecurrentSchedule.SaturdayHours + $SundayHours = ${Instance}.WeeklyRecurrentSchedule.SundayHours + + if ($MondayHours -ne $null -and $MondayHours.Length -gt 0) { + $params['WeeklyRecurrentScheduleMondayHour'] = @() + foreach ($mondayHour in $MondayHours){ + $params['WeeklyRecurrentScheduleMondayHour'] += @{ + Start = $mondayHour.Start + End = $mondayHour.End + } + } + } + if ($TuesdayHours -ne $null -and $TuesdayHours.Length -gt 0) { + $params['WeeklyRecurrentScheduleTuesdayHour'] = @() + foreach ($tuesdayHour in $TuesdayHours){ + $params['WeeklyRecurrentScheduleTuesdayHour'] += @{ + Start = $tuesdayHour.Start + End = $tuesdayHour.End + } + } + } + if ($WednesdayHours -ne $null -and $WednesdayHours.Length -gt 0) { + $params['WeeklyRecurrentScheduleWednesdayHour'] = @() + foreach ($wednesdayHour in $WednesdayHours){ + $params['WeeklyRecurrentScheduleWednesdayHour'] += @{ + Start = $wednesdayHour.Start + End = $wednesdayHour.End + } + } + } + if ($ThursdayHours -ne $null -and $ThursdayHours.Length -gt 0) { + $params['WeeklyRecurrentScheduleThursdayHour'] = @() + foreach ($thursdayHour in $ThursdayHours){ + $params['WeeklyRecurrentScheduleThursdayHour'] += @{ + Start = $thursdayHour.Start + End = $thursdayHour.End + } + } + } + if ($FridayHours -ne $null -and $FridayHours.Length -gt 0) { + $params['WeeklyRecurrentScheduleFridayHour'] = @() + foreach ($fridayHour in $FridayHours){ + $params['WeeklyRecurrentScheduleFridayHour'] += @{ + Start = $fridayHour.Start + End = $fridayHour.End + } + } + } + if ($SaturdayHours -ne $null -and $SaturdayHours.Length -gt 0) { + $params['WeeklyRecurrentScheduleSaturdayHour'] = @() + foreach ($saturdayHour in $SaturdayHours){ + $params['WeeklyRecurrentScheduleSaturdayHour'] += @{ + Start = $saturdayHour.Start + End = $saturdayHour.End + } + } + } + if ($SundayHours -ne $null -and $SundayHours.Length -gt 0) { + $params['WeeklyRecurrentScheduleSundayHour'] = @() + foreach ($sundayHour in $SundayHours){ + $params['WeeklyRecurrentScheduleSundayHour'] += @{ + Start = $sundayHour.Start + End = $sundayHour.End + } + } + } + + $params['WeeklyRecurrentScheduleIsComplemented'] = ${Instance}.WeeklyRecurrentSchedule.ComplementEnabled + + if (${Instance}.WeeklyRecurrentSchedule.RecurrenceRange -ne $null) { + if (${Instance}.WeeklyRecurrentSchedule.RecurrenceRange.Start -ne $null) { $params['RecurrenceRangeStart'] = ${Instance}.WeeklyRecurrentSchedule.RecurrenceRange.Start } + if (${Instance}.WeeklyRecurrentSchedule.RecurrenceRange.End -ne $null) { $params['RecurrenceRangeEnd'] = ${Instance}.WeeklyRecurrentSchedule.RecurrenceRange.End } + if (${Instance}.WeeklyRecurrentSchedule.RecurrenceRange.Type -ne $null) { $params['RecurrenceRangeType'] = ${Instance}.WeeklyRecurrentSchedule.RecurrenceRange.Type } + } + } + + $result = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Set-CsOnlineSchedule @params @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($result -eq $null) { + return $null + } + + Write-AdminServiceDiagnostic($result.Diagnostic) + + $schedule = [Microsoft.Rtc.Management.Hosted.Online.Models.Schedule]::new() + $schedule.ParseFrom($result) + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Print error message in case of error + +function Set-CsOnlineVoicemailUserSettings { + [CmdletBinding(PositionalBinding=$true, SupportsShouldProcess, ConfirmImpact='Medium')] + param( + [Parameter(Position=0, Mandatory)] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Rtc.Management.Hosted.Voicemail.Models.CallAnswerRules] + ${CallAnswerRule}, + + [Parameter()] + [System.String] + ${DefaultGreetingPromptOverwrite}, + + [Parameter()] + [System.String] + ${DefaultOofGreetingPromptOverwrite}, + + [Parameter()] + [System.Nullable[System.Boolean]] + ${OofGreetingEnabled}, + + [Parameter()] + [System.Nullable[System.Boolean]] + ${OofGreetingFollowAutomaticRepliesEnabled}, + + [Parameter()] + [System.String] + ${PromptLanguage}, + + [Parameter()] + [System.Nullable[System.Boolean]] + ${ShareData}, + + [Parameter()] + [System.String] + ${TransferTarget}, + + [Parameter()] + [System.Nullable[System.Boolean]] + ${VoicemailEnabled}, + + [Parameter(Mandatory=$false)] + [Switch] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + if ($PSBoundParameters.ContainsKey("Force")) { + $PSBoundParameters.Remove("Force") | Out-Null + } + + $result = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Set-CsOnlineVMUserSetting @PSBoundParameters @httpPipelineArgs + # Stop execution if internal cmdlet is failing + if ($result -eq $null) { + return $null + } + + # If none of the above parameters are set (except Identity and Force), + # We should display the Warning message to user. + if ($PSBoundParameters["CallAnswerRule"] -eq $null -and + $PSBoundParameters["DefaultGreetingPromptOverwrite"] -eq $null -and + $PSBoundParameters["DefaultOofGreetingPromptOverwrite"] -eq $null -and + $PSBoundParameters["OofGreetingEnabled"] -eq $null -and + $PSBoundParameters["OofGreetingFollowAutomaticRepliesEnabled"] -eq $null -and + $PSBoundParameters["PromptLanguage"] -eq $null -and + $PSBoundParameters["ShareData"] -eq $null -and + $PSBoundParameters["TransferTarget"] -eq $null -and + $PSBoundParameters["VoicemailEnabled"] -eq $null) { + Write-Warning("To set online voicemail user settings for user {0}, at least one optional parameter should be provided." -f $Identity) + } + + $result + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Format output of the cmdlet + +function Update-CsAutoAttendant { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$true, position=0)] + [System.String] + # The identity for the AA to be updated. + ${Identity}, + + [Parameter(Mandatory=$false, position=1)] + [Switch] + # The Force parameter indicates if we force the action to be performed. (Deprecated) + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} + ) + + begin { + $customCmdletUtils = [Microsoft.Teams.ConfigAPI.Cmdlets.Telemetry.CustomCmdletUtils]::new($MyInvocation) + } + + process { + try { + + $httpPipelineArgs = $customCmdletUtils.ProcessArgs() + + $null = $PSBoundParameters.Remove("Force") + + # Default ErrorAction to $ErrorActionPreference + if (!$PSBoundParameters.ContainsKey("ErrorAction")) { + $PSBoundParameters.Add("ErrorAction", $ErrorActionPreference) + } + + $internalOutput = Microsoft.Teams.ConfigAPI.Cmdlets.internal\Update-CsAutoAttendant @PSBoundParameters @httpPipelineArgs + + # Stop execution if internal cmdlet is failing + if ($internalOutput -eq $null) { + return $null + } + + Write-AdminServiceDiagnostic($internalOutput.Diagnostic) + + } catch { + $customCmdletUtils.SendTelemetry() + throw + } + } + + end { + $customCmdletUtils.SendTelemetry() + } +} +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +# Objective of this custom file: Provide common functions for voice app team cmdlets + +function Write-AdminServiceDiagnostic { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$false, position=0)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDiagnosticRecord[]] + # The diagnostic object + ${Diagnostics} + ) + process { + if ($Diagnostics -eq $null) + { + return + } + + foreach($diagnostic in $Diagnostics) + { + if ($diagnostic.Level -eq $null) + { + Write-Output $diagnostic.Message + } + else + { + switch($diagnostic.Level) + { + "Warning" { Write-Warning $diagnostic.Message } + "Info" { Write-Output $diagnostic.Message } + "Verbose" { Write-Verbose $diagnostic.Message } + default { Write-Output $diagnostic.Message } + } + } + } + } +} + +function Get-StatusRecordStatusString { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$false, position=0)] + [Int] + # The int status from status record + ${StatusRecordStatus} + ) + process { + if ($StatusRecordStatus -eq $null) + { + return + } + + $status = '' + + switch ($StatusRecordStatus) + { + 0 {$status = 'Error'} + 1 {$status = 'Pending'} + 2 {$status = 'Unknown'} + 3 {$status = 'Success'} + } + + $status + } +} + +function Get-StatusRecordStatusCodeString { + [CmdletBinding(PositionalBinding=$true)] + param( + [Parameter(Mandatory=$false, position=0)] + [Int] + # The int status from status record + ${StatusRecordErrorCode} + ) + process { + if ($StatusRecordErrorCode -eq $null) + { + return + } + + $statusCode = '' + + switch ($StatusRecordErrorCode) + { + 'ApplicationInstanceAssociationProvider_AppEndpointNotFound' {$statusCode = 'AppEndpointNotFound'} + 'ApplicationInstanceAssociationStatusProvider_AppEndpointNotFound' {$statusCode = 'AppEndpointNotFound'} + 'ApplicationInstanceAssociationStatusProvider_AcsAssociationNotFound' {$statusCode = 'AcsAssociationNotFound'} + 'ApplicationInstanceAssociationStatusProvider_ApsAssociationNotFound' {$statusCode = 'ApsAppEndpointNotFound'} + 'AudioFile_FileNameNullOrWhitespace' {$statusCode = 'AudioFileNameNullOrWhitespace'} + 'AudioFile_FileNameTooShort' {$statusCode = 'AudioFileNameTooShort'} + 'AudioFile_FileNameTooLong' {$statusCode = 'AudioFileNameTooLong'} + 'AudioFile_InvalidAudioFileExtension' {$statusCode = 'InvalidAudioFileExtension'} + 'AudioFile_InvalidFileName' {$statusCode = 'InvalidAudioFileName'} + 'AudioFile_UnsupportedAudioFileExtension' {$statusCode = 'UnsupportedAudioFileExtension'} + 'CreateApplicationEndpoint_ApsAppEndpointInvalid' {$statusCode = 'ApsAppEndpointInvalid'} + 'CreateApplicationInstanceAssociation_AppEndpointAlreadyAssociated' {$statusCode = 'AcsAssociationAlreadyExists'} + 'CreateApplicationInstanceAssociation_AppEndpointNotFound' {$statusCode = 'AppEndpointNotFound'} + 'CreateApplicationInstanceAssociation_AppEndpointMissingProvisioning' {$statusCode = 'AppEndpointMissingProvisioning'} + 'DateTimeRange_InvalidDateTimeRangeBound' {$statusCode = 'InvalidDateTimeRangeFormat'} + 'DateTimeRange_InvalidDateTimeRangeKind' {$statusCode = 'InvalidDateTimeRangeKind'} + 'DateTimeRange_NonPositiveDateTimeRange' {$statusCode = 'InvalidDateTimeRange'} + 'DeserializeScheduleOperation_InvalidModelVersion' {$statusCode = 'InvalidSerializedModelVersion'} + 'EnvironmentContextMapper_ForestNameNullOrWhiteSpace' {$statusCode = 'ForestNameNullOrWhiteSpace'} + 'FixedSchedule_DuplicateDateTimeRangeStartBoundaries' {$statusCode = 'DuplicateDateTimeRangeStartBoundaries'} + 'FixedSchedule_InvalidDateTimeRangeBoundariesAlignment' {$statusCode = 'InvalidDateTimeRangeBoundariesAlignment'} + 'ModelId_InvalidScheduleId' {$statusCode = 'InvalidScheduleId'} + 'ModifyScheduleOperation_ScheduleConflictInExistingAutoAttendant' {$statusCode = 'ScheduleConflictInExistingAutoAttendant'} + 'RemoveApplicationInstanceAssociation_AppEndpointNotFound' {$statusCode = 'AppEndpointNotFound'} + 'RemoveApplicationInstanceAssociation_AssociationNotFound' {$statusCode = 'AcsAssociationNotFound'} + 'RemoveScheduleOperation_ScheduleInUse' {$statusCode = 'ScheduleInUse'} + 'Schedule_NameNullOrWhitespace' {$statusCode = 'ScheduleNameNullOrWhitespace'} + 'Schedule_NameTooLong' {$statusCode = 'ScheduleNameTooLong'} + 'Schedule_FixedScheduleNull' {$statusCode = 'ScheduleTypeMismatch'} + 'Schedule_FixedScheduleNonNull' {$statusCode = 'ScheduleTypeMismatch'} + 'Schedule_WeeklyRecurrentScheduleNull' {$statusCode = 'ScheduleTypeMismatch'} + 'Schedule_WeeklyRecurrentScheduleNonNull' {$statusCode = 'ScheduleTypeMismatch'} + 'ScheduleRecurrenceRange_InvalidType' {$statusCode = 'InvalidRecurrenceRangeType'} + 'ScheduleRecurrenceRange_UnsupportedType' {$statusCode = 'InvalidRecurrenceRangeType'} + 'ScheduleRecurrenceRange_NonPositiveRange' {$statusCode = 'InvalidRecurrenceRangeEndDateTime'} + 'ScheduleRecurrenceRange_EndDateTimeNull' {$statusCode = 'InvalidRecurrenceRangeEndDateTime'} + 'ScheduleRecurrenceRange_EndDateTimeNonNull' {$statusCode = 'InvalidRecurrenceRangeEndDateTime'} + 'ScheduleRecurrenceRange_NumberOfOccurrencesZero' {$statusCode = 'InvalidRecurrenceNumberOfOccurrences'} + 'ScheduleRecurrenceRange_NumberOfOccurrencesNull' {$statusCode = 'InvalidRecurrenceNumberOfOccurrences'} + 'ScheduleRecurrenceRange_NumberOfOccurrencesNonNull' {$statusCode = 'InvalidRecurrenceNumberOfOccurrences'} + 'TimeRange_InvalidTimeRange' {$statusCode = 'InvalidTimeRange'} + 'TimeRange_InvalidTimeRangeBound' {$statusCode = 'InvalidTimeRangeBound'} + 'WeeklyRecurrentSchedule_EmptySchedule' {$statusCode = 'EmptyWeeklyRecurrentSchedule'} + 'WeeklyRecurrentSchedule_InvalidTimeRangeBoundariesAlignment' {$statusCode = 'InvalidTimeRangeBoundariesAlignment'} + 'WeeklyRecurrentSchedule_OverlappingTimeRanges' {$statusCode = 'TimeRangesOverlapping'} + 'WeeklyRecurrentSchedule_TooManyTimeRangesPerDay' {$statusCode = 'TooManyTimeRangesForDay'} + 'WeeklyRecurrentSchedule_RecurrenceRangeNull' {$statusCode = 'ScheduleRecurrenceRangeNull'} + } + + $statusCode + } +} + +# Asp.Net 4.0+ considers these eight characters (<, >, *, %, &, :, \, and ?) as the default +# potential dangerous characters in the URL which may be used in XSS attacks. +# A SIP URI (sip:user@domain.com:port) usually startswith SIP prefix (sip:). This COLON (:) +# in prefix needs to be replaced with something that is not invalid. +# Also, as the last parameter in the URI is "identity", it can not have Dots (.) +# For these reasons we wrote this custom method. +function EncodeSipUri { + param( + $Identity + ) + + if ($Identity -eq $null) + { + return + } + + $Identity = $Identity.replace(':', "[COLON]") + $Identity = $Identity.replace('.', "[DOT]") + + return $Identity +} + +# SIG # Begin signature block +# MIInvwYJKoZIhvcNAQcCoIInsDCCJ6wCAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBy1SDcPzhkhJI2 +# 5zEx7tW+P5RCg4PZqdLUjCgfEGqM/qCCDXYwggX0MIID3KADAgECAhMzAAADrzBA +# DkyjTQVBAAAAAAOvMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMjMxMTE2MTkwOTAwWhcNMjQxMTE0MTkwOTAwWjB0MQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +# AQDOS8s1ra6f0YGtg0OhEaQa/t3Q+q1MEHhWJhqQVuO5amYXQpy8MDPNoJYk+FWA +# hePP5LxwcSge5aen+f5Q6WNPd6EDxGzotvVpNi5ve0H97S3F7C/axDfKxyNh21MG +# 0W8Sb0vxi/vorcLHOL9i+t2D6yvvDzLlEefUCbQV/zGCBjXGlYJcUj6RAzXyeNAN +# xSpKXAGd7Fh+ocGHPPphcD9LQTOJgG7Y7aYztHqBLJiQQ4eAgZNU4ac6+8LnEGAL +# go1ydC5BJEuJQjYKbNTy959HrKSu7LO3Ws0w8jw6pYdC1IMpdTkk2puTgY2PDNzB +# tLM4evG7FYer3WX+8t1UMYNTAgMBAAGjggFzMIIBbzAfBgNVHSUEGDAWBgorBgEE +# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQURxxxNPIEPGSO8kqz+bgCAQWGXsEw +# RQYDVR0RBD4wPKQ6MDgxHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEW +# MBQGA1UEBRMNMjMwMDEyKzUwMTgyNjAfBgNVHSMEGDAWgBRIbmTlUAXTgqoXNzci +# tW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8vd3d3Lm1pY3Jvc29mdC5j +# b20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3JsMGEG +# CCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDovL3d3dy5taWNyb3NvZnQu +# Y29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3J0 +# MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIBAISxFt/zR2frTFPB45Yd +# mhZpB2nNJoOoi+qlgcTlnO4QwlYN1w/vYwbDy/oFJolD5r6FMJd0RGcgEM8q9TgQ +# 2OC7gQEmhweVJ7yuKJlQBH7P7Pg5RiqgV3cSonJ+OM4kFHbP3gPLiyzssSQdRuPY +# 1mIWoGg9i7Y4ZC8ST7WhpSyc0pns2XsUe1XsIjaUcGu7zd7gg97eCUiLRdVklPmp +# XobH9CEAWakRUGNICYN2AgjhRTC4j3KJfqMkU04R6Toyh4/Toswm1uoDcGr5laYn +# TfcX3u5WnJqJLhuPe8Uj9kGAOcyo0O1mNwDa+LhFEzB6CB32+wfJMumfr6degvLT +# e8x55urQLeTjimBQgS49BSUkhFN7ois3cZyNpnrMca5AZaC7pLI72vuqSsSlLalG +# OcZmPHZGYJqZ0BacN274OZ80Q8B11iNokns9Od348bMb5Z4fihxaBWebl8kWEi2O +# PvQImOAeq3nt7UWJBzJYLAGEpfasaA3ZQgIcEXdD+uwo6ymMzDY6UamFOfYqYWXk +# ntxDGu7ngD2ugKUuccYKJJRiiz+LAUcj90BVcSHRLQop9N8zoALr/1sJuwPrVAtx +# HNEgSW+AKBqIxYWM4Ev32l6agSUAezLMbq5f3d8x9qzT031jMDT+sUAoCw0M5wVt +# CUQcqINPuYjbS1WgJyZIiEkBMIIHejCCBWKgAwIBAgIKYQ6Q0gAAAAAAAzANBgkq +# hkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x +# EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv +# bjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5 +# IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEwOTA5WjB+MQswCQYDVQQG +# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG +# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQg +# Q29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC +# CgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+laUKq4BjgaBEm6f8MMHt03 +# a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc6Whe0t+bU7IKLMOv2akr +# rnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4Ddato88tt8zpcoRb0Rrrg +# OGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+lD3v++MrWhAfTVYoonpy +# 4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nkkDstrjNYxbc+/jLTswM9 +# sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6A4aN91/w0FK/jJSHvMAh +# dCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmdX4jiJV3TIUs+UsS1Vz8k +# A/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL5zmhD+kjSbwYuER8ReTB +# w3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zdsGbiwZeBe+3W7UvnSSmn +# Eyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3T8HhhUSJxAlMxdSlQy90 +# lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS4NaIjAsCAwEAAaOCAe0w +# ggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRIbmTlUAXTgqoXNzcitW2o +# ynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYD +# VR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBDuRQFTuHqp8cx0SOJNDBa +# BgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2Ny +# bC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3JsMF4GCCsG +# AQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3dy5taWNyb3NvZnQuY29t +# L3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3J0MIGfBgNV +# HSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEFBQcCARYzaHR0cDovL3d3 +# dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1hcnljcHMuaHRtMEAGCCsG +# AQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkAYwB5AF8AcwB0AGEAdABl +# AG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn8oalmOBUeRou09h0ZyKb +# C5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7v0epo/Np22O/IjWll11l +# hJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0bpdS1HXeUOeLpZMlEPXh6 +# I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/KmtYSWMfCWluWpiW5IP0 +# wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvyCInWH8MyGOLwxS3OW560 +# STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBpmLJZiWhub6e3dMNABQam +# ASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJihsMdYzaXht/a8/jyFqGa +# J+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYbBL7fQccOKO7eZS/sl/ah +# XJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbSoqKfenoi+kiVH6v7RyOA +# 9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sLgOppO6/8MO0ETI7f33Vt +# Y5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtXcVZOSEXAQsmbdlsKgEhr +# /Xmfwb1tbWrJUnMTDXpQzTGCGZ8wghmbAgEBMIGVMH4xCzAJBgNVBAYTAlVTMRMw +# EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN +# aWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNp +# Z25pbmcgUENBIDIwMTECEzMAAAOvMEAOTKNNBUEAAAAAA68wDQYJYIZIAWUDBAIB +# BQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEO +# MAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIJxPSU2Zm+BnNigSfH09ZRg3 +# lO0PGXGfF4xAPby2G8ybMEIGCisGAQQBgjcCAQwxNDAyoBSAEgBNAGkAYwByAG8A +# cwBvAGYAdKEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20wDQYJKoZIhvcNAQEB +# BQAEggEAITTOM7439FqYHL4KmBvmFy8HFidJK1IIG3UG07YlLlG84g7DnJPnHUte +# zP8CtDFPzcgddgpIqesvyUxju2ph7W1iqyPQ+7er2gc7oHKecJUmuuTjCsq+H8xo +# /KEOfF0haixss0RT3y/H3EEzEKnW6HefPMfmX0Fejq+i2vFKBW52WbA5NCV4an5l +# zwrsyKZlt2aChqZqUAoUnMFWa5tCqN8hmWiyFcBSm8zLOtd71LQ3iTxP07+gEfNh +# mb0WVaUeVJaLiDF2Ryz8xyTvQfK/eFixeMvdb+Pf+XaA2ifbi88IbxWmrvTcTh1+ +# yb4fYhFhDJGkWWPnI2Opm0p1c3mzA6GCFykwghclBgorBgEEAYI3AwMBMYIXFTCC +# FxEGCSqGSIb3DQEHAqCCFwIwghb+AgEDMQ8wDQYJYIZIAWUDBAIBBQAwggFZBgsq +# hkiG9w0BCRABBKCCAUgEggFEMIIBQAIBAQYKKwYBBAGEWQoDATAxMA0GCWCGSAFl +# AwQCAQUABCCIcE4mpL/AM4xHYjgQ0gwARzAj3wMQIb4nYVrWhaYJswIGZlc9ifaA +# GBMyMDI0MDYxOTExMzEzNi4xMDlaMASAAgH0oIHYpIHVMIHSMQswCQYDVQQGEwJV +# UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE +# ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQgSXJl +# bGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNO +# Ojg2REYtNEJCQy05MzM1MSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBT +# ZXJ2aWNloIIReDCCBycwggUPoAMCAQICEzMAAAHdXVcdldStqhsAAQAAAd0wDQYJ +# KoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x +# EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv +# bjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwHhcNMjMx +# MDEyMTkwNzA5WhcNMjUwMTEwMTkwNzA5WjCB0jELMAkGA1UEBhMCVVMxEzARBgNV +# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv +# c29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxhbmQgT3Bl +# cmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjo4NkRGLTRC +# QkMtOTMzNTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZTCC +# AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKhOA5RE6i53nHURH4lnfKLp +# +9JvipuTtctairCxMUSrPSy5CWK2DtriQP+T52HXbN2g7AktQ1pQZbTDGFzK6d03 +# vYYNrCPuJK+PRsP2FPVDjBXy5mrLRFzIHHLaiAaobE5vFJuoxZ0ZWdKMCs8acjhH +# UmfaY+79/CR7uN+B4+xjJqwvdpU/mp0mAq3earyH+AKmv6lkrQN8zgrcbCgHwsqv +# vqT6lEFqYpi7uKn7MAYbSeLe0pMdatV5EW6NVnXMYOTRKuGPfyfBKdShualLo88k +# G7qa2mbA5l77+X06JAesMkoyYr4/9CgDFjHUpcHSODujlFBKMi168zRdLerdpW0b +# BX9EDux2zBMMaEK8NyxawCEuAq7++7ktFAbl3hUKtuzYC1FUZuUl2Bq6U17S4CKs +# qR3itLT9qNcb2pAJ4jrIDdll5Tgoqef5gpv+YcvBM834bXFNwytd3ujDD24P9Dd8 +# xfVJvumjsBQQkK5T/qy3HrQJ8ud1nHSvtFVi5Sa/ubGuYEpS8gF6GDWN5/KbveFk +# dsoTVIPo8pkWhjPs0Q7nA5+uBxQB4zljEjKz5WW7BA4wpmFm24fhBmRjV4Nbp+n7 +# 8cgAjvDSfTlA6DYBcv2kx1JH2dIhaRnSeOXePT6hMF0Il598LMu0rw35ViUWcAQk +# UNUTxRnqGFxz5w+ZusMDAgMBAAGjggFJMIIBRTAdBgNVHQ4EFgQUbqL1toyPUdpF +# yyHSDKWj0I4lw/EwHwYDVR0jBBgwFoAUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXwYD +# VR0fBFgwVjBUoFKgUIZOaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9j +# cmwvTWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUyMDIwMTAoMSkuY3JsMGwG +# CCsGAQUFBwEBBGAwXjBcBggrBgEFBQcwAoZQaHR0cDovL3d3dy5taWNyb3NvZnQu +# Y29tL3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIw +# MjAxMCgxKS5jcnQwDAYDVR0TAQH/BAIwADAWBgNVHSUBAf8EDDAKBggrBgEFBQcD +# CDAOBgNVHQ8BAf8EBAMCB4AwDQYJKoZIhvcNAQELBQADggIBAC5U2bINLgXIHWbM +# cqVuf9jkUT/K8zyLBvu5h8JrqYR2z/eaO2yo1Ooc9Shyvxbe9GZDu7kkUzxSyJ1I +# ZksZZw6FDq6yZNT3PEjAEnREpRBL8S+mbXg+O4VLS0LSmb8XIZiLsaqZ0fDEcv3H +# eA+/y/qKnCQWkXghpaEMwGMQzRkhGwcGdXr1zGpQ7HTxvfu57xFxZX1MkKnWFENJ +# 6urd+4teUgXj0ngIOx//l3XMK3Ht8T2+zvGJNAF+5/5qBk7nr079zICbFXvxtidN +# N5eoXdW+9rAIkS+UGD19AZdBrtt6dZ+OdAquBiDkYQ5kVfUMKS31yHQOGgmFxuCO +# zTpWHalrqpdIllsy8KNsj5U9sONiWAd9PNlyEHHbQZDmi9/BNlOYyTt0YehLbDov +# mZUNazk79Od/A917mqCdTqrExwBGUPbMP+/vdYUqaJspupBnUtjOf/76DAhVy8e/ +# e6zR98PkplmliO2brL3Q3rD6+ZCVdrGM9Rm6hUDBBkvYh+YjmGdcQ5HB6WT9Rec8 +# +qDHmbhLhX4Zdaard5/OXeLbgx2f7L4QQQj3KgqjqDOWInVhNE1gYtTWLHe4882d +# /k7Lui0K1g8EZrKD7maOrsJLKPKlegceJ9FCqY1sDUKUhRa0EHUW+ZkKLlohKrS7 +# FwjdrINWkPBgbQznCjdE2m47QjTbMIIHcTCCBVmgAwIBAgITMwAAABXF52ueAptJ +# mQAAAAAAFTANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT +# Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m +# dCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNh +# dGUgQXV0aG9yaXR5IDIwMTAwHhcNMjEwOTMwMTgyMjI1WhcNMzAwOTMwMTgzMjI1 +# WjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH +# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQD +# Ex1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDCCAiIwDQYJKoZIhvcNAQEB +# BQADggIPADCCAgoCggIBAOThpkzntHIhC3miy9ckeb0O1YLT/e6cBwfSqWxOdcjK +# NVf2AX9sSuDivbk+F2Az/1xPx2b3lVNxWuJ+Slr+uDZnhUYjDLWNE893MsAQGOhg +# fWpSg0S3po5GawcU88V29YZQ3MFEyHFcUTE3oAo4bo3t1w/YJlN8OWECesSq/XJp +# rx2rrPY2vjUmZNqYO7oaezOtgFt+jBAcnVL+tuhiJdxqD89d9P6OU8/W7IVWTe/d +# vI2k45GPsjksUZzpcGkNyjYtcI4xyDUoveO0hyTD4MmPfrVUj9z6BVWYbWg7mka9 +# 7aSueik3rMvrg0XnRm7KMtXAhjBcTyziYrLNueKNiOSWrAFKu75xqRdbZ2De+JKR +# Hh09/SDPc31BmkZ1zcRfNN0Sidb9pSB9fvzZnkXftnIv231fgLrbqn427DZM9itu +# qBJR6L8FA6PRc6ZNN3SUHDSCD/AQ8rdHGO2n6Jl8P0zbr17C89XYcz1DTsEzOUyO +# ArxCaC4Q6oRRRuLRvWoYWmEBc8pnol7XKHYC4jMYctenIPDC+hIK12NvDMk2ZItb +# oKaDIV1fMHSRlJTYuVD5C4lh8zYGNRiER9vcG9H9stQcxWv2XFJRXRLbJbqvUAV6 +# bMURHXLvjflSxIUXk8A8FdsaN8cIFRg/eKtFtvUeh17aj54WcmnGrnu3tz5q4i6t +# AgMBAAGjggHdMIIB2TASBgkrBgEEAYI3FQEEBQIDAQABMCMGCSsGAQQBgjcVAgQW +# BBQqp1L+ZMSavoKRPEY1Kc8Q/y8E7jAdBgNVHQ4EFgQUn6cVXQBeYl2D9OXSZacb +# UzUZ6XIwXAYDVR0gBFUwUzBRBgwrBgEEAYI3TIN9AQEwQTA/BggrBgEFBQcCARYz +# aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnku +# aHRtMBMGA1UdJQQMMAoGCCsGAQUFBwMIMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIA +# QwBBMAsGA1UdDwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNX2 +# VsuP6KJcYmjRPZSQW9fOmhjEMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwu +# bWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dF8yMDEw +# LTA2LTIzLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93 +# d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYt +# MjMuY3J0MA0GCSqGSIb3DQEBCwUAA4ICAQCdVX38Kq3hLB9nATEkW+Geckv8qW/q +# XBS2Pk5HZHixBpOXPTEztTnXwnE2P9pkbHzQdTltuw8x5MKP+2zRoZQYIu7pZmc6 +# U03dmLq2HnjYNi6cqYJWAAOwBb6J6Gngugnue99qb74py27YP0h1AdkY3m2CDPVt +# I1TkeFN1JFe53Z/zjj3G82jfZfakVqr3lbYoVSfQJL1AoL8ZthISEV09J+BAljis +# 9/kpicO8F7BUhUKz/AyeixmJ5/ALaoHCgRlCGVJ1ijbCHcNhcy4sa3tuPywJeBTp +# kbKpW99Jo3QMvOyRgNI95ko+ZjtPu4b6MhrZlvSP9pEB9s7GdP32THJvEKt1MMU0 +# sHrYUP4KWN1APMdUbZ1jdEgssU5HLcEUBHG/ZPkkvnNtyo4JvbMBV0lUZNlz138e +# W0QBjloZkWsNn6Qo3GcZKCS6OEuabvshVGtqRRFHqfG3rsjoiV5PndLQTHa1V1QJ +# sWkBRH58oWFsc/4Ku+xBZj1p/cvBQUl+fpO+y/g75LcVv7TOPqUxUYS8vwLBgqJ7 +# Fx0ViY1w/ue10CgaiQuPNtq6TPmb/wrpNPgkNWcr4A245oyZ1uEi6vAnQj0llOZ0 +# dFtq0Z4+7X6gMTN9vMvpe784cETRkPHIqzqKOghif9lwY1NNje6CbaUFEMFxBmoQ +# tB1VM1izoXBm8qGCAtQwggI9AgEBMIIBAKGB2KSB1TCB0jELMAkGA1UEBhMCVVMx +# EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoT +# FU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxh +# bmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjo4 +# NkRGLTRCQkMtOTMzNTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2Vy +# dmljZaIjCgEBMAcGBSsOAwIaAxUANiNHGWXbNaDPxnyiDbEOciSjFhCggYMwgYCk +# fjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH +# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQD +# Ex1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDANBgkqhkiG9w0BAQUFAAIF +# AOocwLQwIhgPMjAyNDA2MTkxMDI4MDRaGA8yMDI0MDYyMDEwMjgwNFowdDA6Bgor +# BgEEAYRZCgQBMSwwKjAKAgUA6hzAtAIBADAHAgEAAgIE6TAHAgEAAgITDTAKAgUA +# 6h4SNAIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMCoAowCAIBAAID +# B6EgoQowCAIBAAIDAYagMA0GCSqGSIb3DQEBBQUAA4GBAAbyb8Su2rf0Pj4Mz8zF +# pHkZnerXKaQDFNIYG+YJo7bymwzJagni/QuyQ19k9tA/nxq2817npuwilbRkLWc6 +# c2SUEP+kMQU5pdHIWo9V9fmE9zgIGgy8he4Ps5zy+og6uRWJCAWjt1iYkyjNakS8 +# qKGHQzh+ySo70O3h50t9uN95MYIEDTCCBAkCAQEwgZMwfDELMAkGA1UEBhMCVVMx +# EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoT +# FU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUt +# U3RhbXAgUENBIDIwMTACEzMAAAHdXVcdldStqhsAAQAAAd0wDQYJYIZIAWUDBAIB +# BQCgggFKMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQx +# IgQgMLOiVexorNyy+sRsfLNGdQXkLXkdzP7HWsENV6RcMU0wgfoGCyqGSIb3DQEJ +# EAIvMYHqMIHnMIHkMIG9BCBh/w4tmmWsT3iZnHtH0Vk37UCN02lRxY+RiON6wDFj +# ZjCBmDCBgKR+MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAw +# DgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24x +# JjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAB3V1X +# HZXUraobAAEAAAHdMCIEIIgcTWCCW5NrBNBmccK771oerdx1QI0HesTJWaIUvHHS +# MA0GCSqGSIb3DQEBCwUABIICAGmh7TF3aJom18nGDoeujAuMT8SyOEAB8EU+ta4m +# 6APUI+BFBbR6XMNgs0g1SCNY9n6GdEekQuB2JxH8odjQGxFwoSO4h6f81Hj2BNuZ +# Tybl3KNCZUSh16XoHqnQpZqFN+ygUttV6vLiv7DjulMbLPRtQlprOehjiWibDPPO +# SC2qgL/ju77KTmla3Lg1raBrzyKnho+TKhsFjyzaGlfAGULF2d97ZAx96t7ld0C/ +# 1i4pAqbOJIpbBY/NzwdzlJ6wgmjhiM9DSk4CF8c4TPOVvjaQjTvJbzfNgNkn1b1K +# YzoiqTPow/cNO3uSwegqPoAVbP8icnquN7MCHIKsXGKdF5bvp3UyUWJp9QGV8QTn +# 0KQNtEhCfc6sTMikvZP0wZX3PaF4u1HEGEO9URWh6usQyauf73WGrpL5wa+3VSZb +# rhtnxMUyNEkC2PxA8lFNWcZ/9wOr/WnJzINxGPi1xrkENHKLFLDqwvcaFXHucfH9 +# zNH3oXdts4JCscT1InVAtU8P+cXI38IMjNTUZZgh4FxsUPMnjsFFVMRmidc+fqQg +# 1Oog2Az4sSzPJLcs9l/KSfAvZvfhsIrfs5s1DuyQ8JurDGxjoMxpJC7sMod4K/1/ +# 3uhDnv//o+KOPhEV6ao5p8yFup7fcckVgwQ/tytiOPu00U5sSnjW/qri/7fkVY8P +# TPlD +# SIG # End signature block diff --git a/Modules/MicrosoftTeams/6.4.0/custom/Microsoft.Teams.ConfigAPI.Cmdlets.custom.psm1 b/Modules/MicrosoftTeams/6.4.0/custom/Microsoft.Teams.ConfigAPI.Cmdlets.custom.psm1 new file mode 100644 index 000000000000..cb330c570a50 --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/custom/Microsoft.Teams.ConfigAPI.Cmdlets.custom.psm1 @@ -0,0 +1,233 @@ +# region Generated + # Load the private module dll + $null = Import-Module -PassThru -Name (Join-Path $PSScriptRoot '..\bin\Microsoft.Teams.ConfigAPI.Cmdlets.private.dll') + + # Load the internal module + $internalModulePath = Join-Path $PSScriptRoot '..\internal\Microsoft.Teams.ConfigAPI.Cmdlets.internal.psm1' + if(Test-Path $internalModulePath) { + $null = Import-Module -Name $internalModulePath + } + + # Export nothing to clear implicit exports + Export-ModuleMember + + # Export script cmdlets + Get-ChildItem -Path $PSScriptRoot -Recurse -Include '*.ps1' -File | ForEach-Object { . $_.FullName } + Export-ModuleMember -Function (Get-ScriptCmdlet -ScriptFolder $PSScriptRoot) -Alias (Get-ScriptCmdlet -ScriptFolder $PSScriptRoot -AsAlias) +# endregion + +# SIG # Begin signature block +# MIInvwYJKoZIhvcNAQcCoIInsDCCJ6wCAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBOycrzQVq6CnNY +# rK5l5Eg2CcKYocwkesaom45CeipKo6CCDXYwggX0MIID3KADAgECAhMzAAADrzBA +# DkyjTQVBAAAAAAOvMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMjMxMTE2MTkwOTAwWhcNMjQxMTE0MTkwOTAwWjB0MQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +# AQDOS8s1ra6f0YGtg0OhEaQa/t3Q+q1MEHhWJhqQVuO5amYXQpy8MDPNoJYk+FWA +# hePP5LxwcSge5aen+f5Q6WNPd6EDxGzotvVpNi5ve0H97S3F7C/axDfKxyNh21MG +# 0W8Sb0vxi/vorcLHOL9i+t2D6yvvDzLlEefUCbQV/zGCBjXGlYJcUj6RAzXyeNAN +# xSpKXAGd7Fh+ocGHPPphcD9LQTOJgG7Y7aYztHqBLJiQQ4eAgZNU4ac6+8LnEGAL +# go1ydC5BJEuJQjYKbNTy959HrKSu7LO3Ws0w8jw6pYdC1IMpdTkk2puTgY2PDNzB +# tLM4evG7FYer3WX+8t1UMYNTAgMBAAGjggFzMIIBbzAfBgNVHSUEGDAWBgorBgEE +# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQURxxxNPIEPGSO8kqz+bgCAQWGXsEw +# RQYDVR0RBD4wPKQ6MDgxHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEW +# MBQGA1UEBRMNMjMwMDEyKzUwMTgyNjAfBgNVHSMEGDAWgBRIbmTlUAXTgqoXNzci +# tW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8vd3d3Lm1pY3Jvc29mdC5j +# b20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3JsMGEG +# CCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDovL3d3dy5taWNyb3NvZnQu +# Y29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3J0 +# MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIBAISxFt/zR2frTFPB45Yd +# mhZpB2nNJoOoi+qlgcTlnO4QwlYN1w/vYwbDy/oFJolD5r6FMJd0RGcgEM8q9TgQ +# 2OC7gQEmhweVJ7yuKJlQBH7P7Pg5RiqgV3cSonJ+OM4kFHbP3gPLiyzssSQdRuPY +# 1mIWoGg9i7Y4ZC8ST7WhpSyc0pns2XsUe1XsIjaUcGu7zd7gg97eCUiLRdVklPmp +# XobH9CEAWakRUGNICYN2AgjhRTC4j3KJfqMkU04R6Toyh4/Toswm1uoDcGr5laYn +# TfcX3u5WnJqJLhuPe8Uj9kGAOcyo0O1mNwDa+LhFEzB6CB32+wfJMumfr6degvLT +# e8x55urQLeTjimBQgS49BSUkhFN7ois3cZyNpnrMca5AZaC7pLI72vuqSsSlLalG +# OcZmPHZGYJqZ0BacN274OZ80Q8B11iNokns9Od348bMb5Z4fihxaBWebl8kWEi2O +# PvQImOAeq3nt7UWJBzJYLAGEpfasaA3ZQgIcEXdD+uwo6ymMzDY6UamFOfYqYWXk +# ntxDGu7ngD2ugKUuccYKJJRiiz+LAUcj90BVcSHRLQop9N8zoALr/1sJuwPrVAtx +# HNEgSW+AKBqIxYWM4Ev32l6agSUAezLMbq5f3d8x9qzT031jMDT+sUAoCw0M5wVt +# CUQcqINPuYjbS1WgJyZIiEkBMIIHejCCBWKgAwIBAgIKYQ6Q0gAAAAAAAzANBgkq +# hkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x +# EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv +# bjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5 +# IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEwOTA5WjB+MQswCQYDVQQG +# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG +# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQg +# Q29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC +# CgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+laUKq4BjgaBEm6f8MMHt03 +# a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc6Whe0t+bU7IKLMOv2akr +# rnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4Ddato88tt8zpcoRb0Rrrg +# OGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+lD3v++MrWhAfTVYoonpy +# 4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nkkDstrjNYxbc+/jLTswM9 +# sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6A4aN91/w0FK/jJSHvMAh +# dCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmdX4jiJV3TIUs+UsS1Vz8k +# A/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL5zmhD+kjSbwYuER8ReTB +# w3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zdsGbiwZeBe+3W7UvnSSmn +# Eyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3T8HhhUSJxAlMxdSlQy90 +# lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS4NaIjAsCAwEAAaOCAe0w +# ggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRIbmTlUAXTgqoXNzcitW2o +# ynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYD +# VR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBDuRQFTuHqp8cx0SOJNDBa +# BgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2Ny +# bC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3JsMF4GCCsG +# AQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3dy5taWNyb3NvZnQuY29t +# L3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3J0MIGfBgNV +# HSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEFBQcCARYzaHR0cDovL3d3 +# dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1hcnljcHMuaHRtMEAGCCsG +# AQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkAYwB5AF8AcwB0AGEAdABl +# AG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn8oalmOBUeRou09h0ZyKb +# C5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7v0epo/Np22O/IjWll11l +# hJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0bpdS1HXeUOeLpZMlEPXh6 +# I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/KmtYSWMfCWluWpiW5IP0 +# wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvyCInWH8MyGOLwxS3OW560 +# STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBpmLJZiWhub6e3dMNABQam +# ASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJihsMdYzaXht/a8/jyFqGa +# J+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYbBL7fQccOKO7eZS/sl/ah +# XJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbSoqKfenoi+kiVH6v7RyOA +# 9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sLgOppO6/8MO0ETI7f33Vt +# Y5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtXcVZOSEXAQsmbdlsKgEhr +# /Xmfwb1tbWrJUnMTDXpQzTGCGZ8wghmbAgEBMIGVMH4xCzAJBgNVBAYTAlVTMRMw +# EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN +# aWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNp +# Z25pbmcgUENBIDIwMTECEzMAAAOvMEAOTKNNBUEAAAAAA68wDQYJYIZIAWUDBAIB +# BQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEO +# MAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIJjwtTQPVUIPxEfl/cH44G64 +# tSZU5xH8iTxSrE/PWkOGMEIGCisGAQQBgjcCAQwxNDAyoBSAEgBNAGkAYwByAG8A +# cwBvAGYAdKEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20wDQYJKoZIhvcNAQEB +# BQAEggEAlcHxGHafW0zLCcRckPX1A3RT6ghGQeAp9CTAiJwU2rMnJSs4YzhcCUGA +# VHdoCFpH1/sHu4MR5tcR+OFeS0uxjo2jcJYzdlY+MINpWJYr5w79rk67f6H8v0cf +# sxUCua8RFErL+w0aYUukPofJX+cw0IXBGv2Jyb+ZZ/Ej5HT38jC0sfG5a63rJcL+ +# DzIcYJvN9q/IhPullWKPz1XRlvTABK69k6eQMSgcRlW8pyJGEhYkbM65lGoGs2g5 +# xn1z/u1q56Ads455UNdkif2i0ffYprBiyeQfAw5fvrUQgya0BKDq8+PwO6Ci+fAo +# lH2DKH0z/oViB3Y98jlQa+GfDCgZYKGCFykwghclBgorBgEEAYI3AwMBMYIXFTCC +# FxEGCSqGSIb3DQEHAqCCFwIwghb+AgEDMQ8wDQYJYIZIAWUDBAIBBQAwggFZBgsq +# hkiG9w0BCRABBKCCAUgEggFEMIIBQAIBAQYKKwYBBAGEWQoDATAxMA0GCWCGSAFl +# AwQCAQUABCDr74uVbVnbXUasmQweugJLqUm2/zSc7fyWOHEw/b9fugIGZlcYM0Nv +# GBMyMDI0MDYxOTExMzEzNi4yNTZaMASAAgH0oIHYpIHVMIHSMQswCQYDVQQGEwJV +# UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE +# ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQgSXJl +# bGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNO +# OjhENDEtNEJGNy1CM0I3MSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBT +# ZXJ2aWNloIIReDCCBycwggUPoAMCAQICEzMAAAHj372bmhxogyIAAQAAAeMwDQYJ +# KoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x +# EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv +# bjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwHhcNMjMx +# MDEyMTkwNzI5WhcNMjUwMTEwMTkwNzI5WjCB0jELMAkGA1UEBhMCVVMxEzARBgNV +# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv +# c29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxhbmQgT3Bl +# cmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjo4RDQxLTRC +# RjctQjNCNzElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZTCC +# AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAL6kDWgeRp+fxSBUD6N/yuEJ +# pXggzBeNG5KB8M9AbIWeEokJgOghlMg8JmqkNsB4Wl1NEXR7cL6vlPCsWGLMhyqm +# scQu36/8h2bx6TU4M8dVZEd6V4U+l9gpte+VF91kOI35fOqJ6eQDMwSBQ5c9ElPF +# UijTA7zV7Y5PRYrS4FL9p494TidCpBEH5N6AO5u8wNA/jKO94Zkfjgu7sLF8SUdr +# c1GRNEk2F91L3pxR+32FsuQTZi8hqtrFpEORxbySgiQBP3cH7fPleN1NynhMRf6T +# 7XC1L0PRyKy9MZ6TBWru2HeWivkxIue1nLQb/O/n0j2QVd42Zf0ArXB/Vq54gQ8J +# IvUH0cbvyWM8PomhFi6q2F7he43jhrxyvn1Xi1pwHOVsbH26YxDKTWxl20hfQLdz +# z4RVTo8cFRMdQCxlKkSnocPWqfV/4H5APSPXk0r8Cc/cMmva3g4EvupF4ErbSO0U +# NnCRv7UDxlSGiwiGkmny53mqtAZ7NLePhFtwfxp6ATIojl8JXjr3+bnQWUCDCd5O +# ap54fGeGYU8KxOohmz604BgT14e3sRWABpW+oXYSCyFQ3SZQ3/LNTVby9ENsuEh2 +# UIQKWU7lv7chrBrHCDw0jM+WwOjYUS7YxMAhaSyOahpbudALvRUXpQhELFoO6tOx +# /66hzqgjSTOEY3pu46BFAgMBAAGjggFJMIIBRTAdBgNVHQ4EFgQUsa4NZr41Fbeh +# Z8Y+ep2m2YiYqQMwHwYDVR0jBBgwFoAUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXwYD +# VR0fBFgwVjBUoFKgUIZOaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9j +# cmwvTWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUyMDIwMTAoMSkuY3JsMGwG +# CCsGAQUFBwEBBGAwXjBcBggrBgEFBQcwAoZQaHR0cDovL3d3dy5taWNyb3NvZnQu +# Y29tL3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIw +# MjAxMCgxKS5jcnQwDAYDVR0TAQH/BAIwADAWBgNVHSUBAf8EDDAKBggrBgEFBQcD +# CDAOBgNVHQ8BAf8EBAMCB4AwDQYJKoZIhvcNAQELBQADggIBALe+my6p1NPMEW1t +# 70a8Y2hGxj6siDSulGAs4UxmkfzxMAic4j0+GTPbHxk193mQ0FRPa9dtbRbaezV0 +# GLkEsUWTGF2tP6WsDdl5/lD4wUQ76ArFOencCpK5svE0sO0FyhrJHZxMLCOclvd6 +# vAIPOkZAYihBH/RXcxzbiliOCr//3w7REnsLuOp/7vlXJAsGzmJesBP/0ERqxjKu +# dPWuBGz/qdRlJtOl5nv9NZkyLig4D5hy9p2Ec1zaotiLiHnJ9mlsJEcUDhYj8PnY +# nJjjsCxv+yJzao2aUHiIQzMbFq+M08c8uBEf+s37YbZQ7XAFxwe2EVJAUwpWjmtJ +# 3b3zSWTMmFWunFr2aLk6vVeS0u1MyEfEv+0bDk+N3jmsCwbLkM9FaDi7q2HtUn3z +# 6k7AnETc28dAvLf/ioqUrVYTwBrbRH4XVFEvaIQ+i7esDQicWW1dCDA/J3xOoCEC +# V68611jriajfdVg8o0Wp+FCg5CAUtslgOFuiYULgcxnqzkmP2i58ZEa0rm4LZymH +# BzsIMU0yMmuVmAkYxbdEDi5XqlZIupPpqmD6/fLjD4ub0SEEttOpg0np0ra/MNCf +# v/tVhJtz5wgiEIKX+s4akawLfY+16xDB64Nm0HoGs/Gy823ulIm4GyrUcpNZxnXv +# E6OZMjI/V1AgSAg8U/heMWuZTWVUMIIHcTCCBVmgAwIBAgITMwAAABXF52ueAptJ +# mQAAAAAAFTANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT +# Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m +# dCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNh +# dGUgQXV0aG9yaXR5IDIwMTAwHhcNMjEwOTMwMTgyMjI1WhcNMzAwOTMwMTgzMjI1 +# WjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH +# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQD +# Ex1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDCCAiIwDQYJKoZIhvcNAQEB +# BQADggIPADCCAgoCggIBAOThpkzntHIhC3miy9ckeb0O1YLT/e6cBwfSqWxOdcjK +# NVf2AX9sSuDivbk+F2Az/1xPx2b3lVNxWuJ+Slr+uDZnhUYjDLWNE893MsAQGOhg +# fWpSg0S3po5GawcU88V29YZQ3MFEyHFcUTE3oAo4bo3t1w/YJlN8OWECesSq/XJp +# rx2rrPY2vjUmZNqYO7oaezOtgFt+jBAcnVL+tuhiJdxqD89d9P6OU8/W7IVWTe/d +# vI2k45GPsjksUZzpcGkNyjYtcI4xyDUoveO0hyTD4MmPfrVUj9z6BVWYbWg7mka9 +# 7aSueik3rMvrg0XnRm7KMtXAhjBcTyziYrLNueKNiOSWrAFKu75xqRdbZ2De+JKR +# Hh09/SDPc31BmkZ1zcRfNN0Sidb9pSB9fvzZnkXftnIv231fgLrbqn427DZM9itu +# qBJR6L8FA6PRc6ZNN3SUHDSCD/AQ8rdHGO2n6Jl8P0zbr17C89XYcz1DTsEzOUyO +# ArxCaC4Q6oRRRuLRvWoYWmEBc8pnol7XKHYC4jMYctenIPDC+hIK12NvDMk2ZItb +# oKaDIV1fMHSRlJTYuVD5C4lh8zYGNRiER9vcG9H9stQcxWv2XFJRXRLbJbqvUAV6 +# bMURHXLvjflSxIUXk8A8FdsaN8cIFRg/eKtFtvUeh17aj54WcmnGrnu3tz5q4i6t +# AgMBAAGjggHdMIIB2TASBgkrBgEEAYI3FQEEBQIDAQABMCMGCSsGAQQBgjcVAgQW +# BBQqp1L+ZMSavoKRPEY1Kc8Q/y8E7jAdBgNVHQ4EFgQUn6cVXQBeYl2D9OXSZacb +# UzUZ6XIwXAYDVR0gBFUwUzBRBgwrBgEEAYI3TIN9AQEwQTA/BggrBgEFBQcCARYz +# aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnku +# aHRtMBMGA1UdJQQMMAoGCCsGAQUFBwMIMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIA +# QwBBMAsGA1UdDwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNX2 +# VsuP6KJcYmjRPZSQW9fOmhjEMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwu +# bWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dF8yMDEw +# LTA2LTIzLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93 +# d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYt +# MjMuY3J0MA0GCSqGSIb3DQEBCwUAA4ICAQCdVX38Kq3hLB9nATEkW+Geckv8qW/q +# XBS2Pk5HZHixBpOXPTEztTnXwnE2P9pkbHzQdTltuw8x5MKP+2zRoZQYIu7pZmc6 +# U03dmLq2HnjYNi6cqYJWAAOwBb6J6Gngugnue99qb74py27YP0h1AdkY3m2CDPVt +# I1TkeFN1JFe53Z/zjj3G82jfZfakVqr3lbYoVSfQJL1AoL8ZthISEV09J+BAljis +# 9/kpicO8F7BUhUKz/AyeixmJ5/ALaoHCgRlCGVJ1ijbCHcNhcy4sa3tuPywJeBTp +# kbKpW99Jo3QMvOyRgNI95ko+ZjtPu4b6MhrZlvSP9pEB9s7GdP32THJvEKt1MMU0 +# sHrYUP4KWN1APMdUbZ1jdEgssU5HLcEUBHG/ZPkkvnNtyo4JvbMBV0lUZNlz138e +# W0QBjloZkWsNn6Qo3GcZKCS6OEuabvshVGtqRRFHqfG3rsjoiV5PndLQTHa1V1QJ +# sWkBRH58oWFsc/4Ku+xBZj1p/cvBQUl+fpO+y/g75LcVv7TOPqUxUYS8vwLBgqJ7 +# Fx0ViY1w/ue10CgaiQuPNtq6TPmb/wrpNPgkNWcr4A245oyZ1uEi6vAnQj0llOZ0 +# dFtq0Z4+7X6gMTN9vMvpe784cETRkPHIqzqKOghif9lwY1NNje6CbaUFEMFxBmoQ +# tB1VM1izoXBm8qGCAtQwggI9AgEBMIIBAKGB2KSB1TCB0jELMAkGA1UEBhMCVVMx +# EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoT +# FU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxh +# bmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjo4 +# RDQxLTRCRjctQjNCNzElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2Vy +# dmljZaIjCgEBMAcGBSsOAwIaAxUAPYiXu8ORQ4hvKcuE7GK0COgxWnqggYMwgYCk +# fjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH +# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQD +# Ex1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDANBgkqhkiG9w0BAQUFAAIF +# AOocmdQwIhgPMjAyNDA2MTkwNzQyMTJaGA8yMDI0MDYyMDA3NDIxMlowdDA6Bgor +# BgEEAYRZCgQBMSwwKjAKAgUA6hyZ1AIBADAHAgEAAgITczAHAgEAAgIUITAKAgUA +# 6h3rVAIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMCoAowCAIBAAID +# B6EgoQowCAIBAAIDAYagMA0GCSqGSIb3DQEBBQUAA4GBAAglfi1ilRIZ+FYEe3ns +# xIbSqUANMtrtsGJ3rGcBn2rLZp9p2q+1oxttDUZTzol3BAKZ/h39HPYvhUOvi+5B +# AxDkoV9++VHkIgFq6KdL+YvlOZGFa+i2jd/E9LdODZQnnCjAYsRhUX8I8siuYk2r +# 7gD63iW9xY3MEbuDCTPI7sS3MYIEDTCCBAkCAQEwgZMwfDELMAkGA1UEBhMCVVMx +# EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoT +# FU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUt +# U3RhbXAgUENBIDIwMTACEzMAAAHj372bmhxogyIAAQAAAeMwDQYJYIZIAWUDBAIB +# BQCgggFKMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQx +# IgQgXllagD1RO3nlVlrAB7L5YFmrbmPnCOxfPUoRGbrLTjgwgfoGCyqGSIb3DQEJ +# EAIvMYHqMIHnMIHkMIG9BCAz1COr5bD+ZPdEgQjWvcIWuDJcQbdgq8Ndj0xyMuYm +# KjCBmDCBgKR+MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAw +# DgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24x +# JjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAB49+9 +# m5ocaIMiAAEAAAHjMCIEIGDsE268yFTXfEonl66KF2JYE1WUUIVeKivXMbsZEQlj +# MA0GCSqGSIb3DQEBCwUABIICAHY8xX/Kb/kccVw1TRyc1C1T1db0lDJTntgFtwpE +# IydXdeF16tHEJytyfyNQ5jp3YFl6EjtTQ+60Y7jUGxaPeADCZRirQdL+Lhwr5nPo +# vFkNdrw+32a5z5g2ZA9gqQbEnpSim5jJQ0f0OTJsN4rXAePyMM0hgylipJotwrx3 +# r8kuOds+umRrr46wGG3kvpy8uFzXmLakzmcWX5l/d+nKAOSBg/YI+PFTQzN9Scgh +# 4ejviHcTcGNGH9w9q0X3BB7NVdCT12gRjCqtZZeZWtU0ph4VsREJhNASV6SzfQJl +# bqzBhXd98Sj5IJnt4pp7mqDUcCccfx/mVQTBFfmecWfLokm+jMOwDqk+l7mBXdX0 +# CIYXRucX+MW3m5nK+Jj4v0GGVWbDO5Ya1Fo7BYoijYKcuZnqiMO8BoDaPMYhjIoj +# uD0QBhJbosLd2fx8F/UoGy5Ai5paJef4vJ+2uUzNXTJAsUkhVib409DnGEI04PlS +# j97mFhzt+qufogUWpMS8Ec1Ubid2yMPjks1CTfYLteYyToWxmP68h5ULo5/18mpT +# hGobaykqrg84g1UealrKiHSXPN04WAldV9XXeGqFrj+553rcXOMk3v0MZrfzFbNb +# spLzr6i8IFWY+DQcymLuf5ZriOA7LFopNqrf92DKVMhVNdQseeXfyDadGgT29RoE +# GJIA +# SIG # End signature block diff --git a/Modules/MicrosoftTeams/6.4.0/en-US/Microsoft.Teams.Policy.Administration.Cmdlets.Core.dll-Help.xml b/Modules/MicrosoftTeams/6.4.0/en-US/Microsoft.Teams.Policy.Administration.Cmdlets.Core.dll-Help.xml new file mode 100644 index 000000000000..aa1060219635 --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/en-US/Microsoft.Teams.Policy.Administration.Cmdlets.Core.dll-Help.xml @@ -0,0 +1,36800 @@ + + + + + Get-CsExternalAccessPolicy + Get + CsExternalAccessPolicy + + Returns information about the external access policies that have been configured for use in your organization. External access policies determine whether or not your users can: 1) communicate with users who have Session Initiation Protocol (SIP) accounts with a federated organization; 2) communicate with users who are using custom applications built with Azure Communication Services (ACS) (/azure/communication-services/concepts/teams-interop); 3) access Skype for Business Server over the Internet, without having to log on to your internal network; and, 4) communicate with users who have SIP accounts with a public instant messaging (IM)provider such as Skype. + This cmdlet was introduced in Lync Server 2010. + + + + When you first configure Skype for Business Online your users are only allowed to exchange instant messages and presence information among themselves: by default, they can only communicate with other people who have SIP accounts in your Online organization or in your Active Directory Domain Services for on-premises deployments. + For on-premises deployments, users are not allowed to access Skype for Business Server over the Internet; instead, they must be logged on to your internal network before they will be able to log on to Skype for Business Server. + That might be sufficient to meet your communication needs. If it doesn't meet your needs, you can use external access policies to extend the ability of your users to communicate and collaborate. External access policies can grant (or revoke) the ability of your users to do any or all of the following: + 1. Communicate with people who have SIP accounts with a federated organization. Note that enabling federation alone will not provide users with this capability. Instead, you must enable federation and then assign users an external access policy that gives them the right to communicate with federated users. + 2. (Microsoft Teams only) Communicate with users who are using custom applications built with Azure Communication Services (ACS) (/azure/communication-services/concepts/teams-interop). This policy setting only applies if ACS federation has been enabled at the tenant level using the cmdlet [Set-CsTeamsAcsFederationConfiguration](/powershell/module/teams/set-csteamsacsfederationconfiguration). + 3. Access Skype for Business Server over the Internet, without having to first log on to your internal network. This enables your users to use Skype for Business and log on to Skype for Business Server from an Internet café or other remote location. + 4. Communicate with people who have SIP accounts with a public instant messaging service such as Skype. + The Get-CsExternalAccessPolicy cmdlet provides a way for you to return information about all of the external access policies that have been configured for use in your organization. + + + + Get-CsExternalAccessPolicy + + Identity + + Unique Identity assigned to the policy when it was created. External access policies can be assigned at the global, site, or per-user scope. To refer to the global instance use this syntax: -Identity global. To refer to a policy at the site scope, use this syntax: -Identity site:Redmond. To refer to a policy at the per-user scope, use syntax similar to this: -Identity RedmondPolicy. + Note that wildcard characters such as the asterisk (*) cannot be used with the Identity parameter. To do a wildcard search for policies, use the Filter parameter instead. + If neither the Identity nor Filter parameters are specified, then the Get-CsExternalAccessPolicy cmdlet will bring back a collection of all the external access policies configured for use in the organization. + + XdsIdentity + + XdsIdentity + + + None + + + LocalStore + + Retrieves the external access policy data from the local replica of the Central Management store rather than from the Central Management store itself. + NOTE: This parameter is not used with Skype for Business Online. + + + SwitchParameter + + + False + + + ApplicableTo + + Returns a list of the external access policies that can be assigned to the specified user. For example, to return a collection of policies that can be assigned to the user kenmyer@litwareinc.com, use this command: + `Get-CsExternalAccessPolicy -ApplicableTo "kenmyer@litwareinc.com"` + The ApplicableTo parameter is useful because it's possible that only some of the available per-user external access policies can be assigned to a given user. This is due to the fact that different licensing agreements and different country/region restrictions might limit the policies that can be assigned to a user. For example, if Ken Myer works in China, country/region restrictions might limit his access to policies A, B, D, and E, Meanwhile, similar restrictions might limit Pilar Ackerman, who works in the United States, to policies A, B, C, and F. If you call Get-CsExternalAccessPolicy without using the ApplicableTo parameter you will get back a collection of all the available policies, including any policies that can't actually be assigned to a specific user. + The ApplicableTo parameter applies only to Skype for Business Online. This parameter is not intended for use with the on-premises version of Skype for Business Server 2015. + + UserIdParameter + + UserIdParameter + + + None + + + Include + + PARAMVALUE: Automatic | All | SubscriptionDefaults | TenantDefinedOnly + + PolicyFilter + + PolicyFilter + + + None + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + + Get-CsExternalAccessPolicy + + Filter + + Below Content Applies To: Lync Server 2010, Lync Server 2013, Skype for Business Server 2015 + Enables you to do a wildcard search for external access policies. For example, to find all the policies configured at the site scope, use this Filter: + `site:*` + To find the per-user policies Seattle, Seville, and Saskatoon (all of which start with the letter "S") use this Filter: + `"S*".` + Note that the Filter parameter can only be applied to the policy Identity. Below Content Applies To: Skype for Business Online + Enables you to do a wildcard search for external access policies. For example, to find all the policies configured at the per-user scope, use this Filter: + `"tag:*"` + To find the per-user policies Seattle, Seville, and Saskatoon (all of which start with the letter "S") use this Filter: + `"tag:S*"` + Note that the Filter parameter can only be applied to the policy Identity. + + String + + String + + + None + + + LocalStore + + Retrieves the external access policy data from the local replica of the Central Management store rather than from the Central Management store itself. + NOTE: This parameter is not used with Skype for Business Online. + + + SwitchParameter + + + False + + + ApplicableTo + + Returns a list of the external access policies that can be assigned to the specified user. For example, to return a collection of policies that can be assigned to the user kenmyer@litwareinc.com, use this command: + `Get-CsExternalAccessPolicy -ApplicableTo "kenmyer@litwareinc.com"` + The ApplicableTo parameter is useful because it's possible that only some of the available per-user external access policies can be assigned to a given user. This is due to the fact that different licensing agreements and different country/region restrictions might limit the policies that can be assigned to a user. For example, if Ken Myer works in China, country/region restrictions might limit his access to policies A, B, D, and E, Meanwhile, similar restrictions might limit Pilar Ackerman, who works in the United States, to policies A, B, C, and F. If you call Get-CsExternalAccessPolicy without using the ApplicableTo parameter you will get back a collection of all the available policies, including any policies that can't actually be assigned to a specific user. + The ApplicableTo parameter applies only to Skype for Business Online. This parameter is not intended for use with the on-premises version of Skype for Business Server 2015. + + UserIdParameter + + UserIdParameter + + + None + + + Include + + PARAMVALUE: Automatic | All | SubscriptionDefaults | TenantDefinedOnly + + PolicyFilter + + PolicyFilter + + + None + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + + + + Identity + + Unique Identity assigned to the policy when it was created. External access policies can be assigned at the global, site, or per-user scope. To refer to the global instance use this syntax: -Identity global. To refer to a policy at the site scope, use this syntax: -Identity site:Redmond. To refer to a policy at the per-user scope, use syntax similar to this: -Identity RedmondPolicy. + Note that wildcard characters such as the asterisk (*) cannot be used with the Identity parameter. To do a wildcard search for policies, use the Filter parameter instead. + If neither the Identity nor Filter parameters are specified, then the Get-CsExternalAccessPolicy cmdlet will bring back a collection of all the external access policies configured for use in the organization. + + XdsIdentity + + XdsIdentity + + + None + + + Filter + + Below Content Applies To: Lync Server 2010, Lync Server 2013, Skype for Business Server 2015 + Enables you to do a wildcard search for external access policies. For example, to find all the policies configured at the site scope, use this Filter: + `site:*` + To find the per-user policies Seattle, Seville, and Saskatoon (all of which start with the letter "S") use this Filter: + `"S*".` + Note that the Filter parameter can only be applied to the policy Identity. Below Content Applies To: Skype for Business Online + Enables you to do a wildcard search for external access policies. For example, to find all the policies configured at the per-user scope, use this Filter: + `"tag:*"` + To find the per-user policies Seattle, Seville, and Saskatoon (all of which start with the letter "S") use this Filter: + `"tag:S*"` + Note that the Filter parameter can only be applied to the policy Identity. + + String + + String + + + None + + + LocalStore + + Retrieves the external access policy data from the local replica of the Central Management store rather than from the Central Management store itself. + NOTE: This parameter is not used with Skype for Business Online. + + SwitchParameter + + SwitchParameter + + + False + + + ApplicableTo + + Returns a list of the external access policies that can be assigned to the specified user. For example, to return a collection of policies that can be assigned to the user kenmyer@litwareinc.com, use this command: + `Get-CsExternalAccessPolicy -ApplicableTo "kenmyer@litwareinc.com"` + The ApplicableTo parameter is useful because it's possible that only some of the available per-user external access policies can be assigned to a given user. This is due to the fact that different licensing agreements and different country/region restrictions might limit the policies that can be assigned to a user. For example, if Ken Myer works in China, country/region restrictions might limit his access to policies A, B, D, and E, Meanwhile, similar restrictions might limit Pilar Ackerman, who works in the United States, to policies A, B, C, and F. If you call Get-CsExternalAccessPolicy without using the ApplicableTo parameter you will get back a collection of all the available policies, including any policies that can't actually be assigned to a specific user. + The ApplicableTo parameter applies only to Skype for Business Online. This parameter is not intended for use with the on-premises version of Skype for Business Server 2015. + + UserIdParameter + + UserIdParameter + + + None + + + Include + + PARAMVALUE: Automatic | All | SubscriptionDefaults | TenantDefinedOnly + + PolicyFilter + + PolicyFilter + + + None + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + + + + None + + + + + + + + + + Microsoft.Rtc.Management.WritableConfig.Policy.ExternalAccess.ExternalAccessPolicy + + + + + + + + + + + + + + -------------------------- EXAMPLE 1 -------------------------- + Get-CsExternalAccessPolicy + + Example 1 returns a collection of all the external access policies configured for use in your organization. Calling the Get-CsExternalAccessPolicy cmdlet without any additional parameters always returns the complete collection of external access policies. + + + + -------------------------- EXAMPLE 2 -------------------------- (Skype for Business Online) + Get-CsExternalAccessPolicy -Identity "tag:RedmondExternalAccessPolicy" + + Example 2 uses the Identity parameter to return the external access policy that has the Identity tag:RedmondExternalAccessPolicy. Because access policy Identities must be unique, this command will never return more than one item. + + + + -------------------------- EXAMPLE 2 -------------------------- (Skype for Business Server 2015) + Get-CsExternalAccessPolicy -Identity site:Redmond + + Example 2 uses the Identity parameter to return the external access policy that has the Identity site:Redmond. Because access policy Identities must be unique, this command will never return more than one item. + + + + -------------------------- Example 3 -------------------------- + Get-CsExternalAccessPolicy -Filter tag:* + + The command shown in Example 3 uses the Filter parameter to return all of the external access policies that have been configured at the per-user scope; the parameter value "tag:*" limits returned data to those policies that have an Identity that begins with the string value "tag:". By definition, any policy that has an Identity beginning with "tag:" is a policy that has been configured at the per-user scope. + + + + -------------------------- Example 4 -------------------------- + Get-CsExternalAccessPolicy | Where-Object {$_.EnableFederationAccess -eq $True} + + In Example 4, the Get-CsExternalAccessPolicy cmdlet and the Where-Object cmdlet are used to return all the external access policies that grant users federation access. To do this, the Get-CsExternalAccessPolicy cmdlet is first used to return a collection of all the external access policies currently in use in the organization. This collection is then piped to the Where-Object cmdlet, which selects only those policies where the EnableFederationAccess property is equal to True. + + + + -------------------------- Example 5 -------------------------- + Get-CsExternalAccessPolicy | Where-Object {$_.EnableFederationAccess -eq $True -and $_.EnablePublicCloudAccess -eq $True} + + The command shown in Example 5 returns the external access policies that meet two criteria: both federation access and public cloud access are allowed. In order to perform this task, the command first uses the Get-CsExternalAccessPolicy cmdlet to return a collection of all the access policies in use in the organization. That collection is then piped to the Where-Object cmdlet, which picks out only those policies that meet two criteria: the EnableFederationAccess property must be equal to True and the EnablePublicCloudAccess property must also be equal to True. Only policies in which both EnableFederationAccess and EnablePublicCloudAccess are True will be returned and displayed on the screen. + + + + -------------------------- EXAMPLE 6 -------------------------- + Get-CsExternalAccessPolicy -ApplicableTo "kenmyer@litwareinc.com" + + In Example 6, the ApplicableTo parameter is used to return only the policies that can be assigned to the user "kenmyer@litwareinc.com". + NOTE: The ApplicableTo parameter can only be used with Skype for Business Online; that's because, with Skype for Business Online, there might be policies that cannot be assigned to certain users due to licensing and/or country/region restrictions. + NOTE: This command requires the Office 365 UsageLocation property to be configured for the user's Active Directory user account. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csexternalaccesspolicy + + + Grant-CsExternalAccessPolicy + + + + New-CsExternalAccessPolicy + + + + Remove-CsExternalAccessPolicy + + + + Set-CsExternalAccessPolicy + + + + + + + Get-CsOnlineVoicemailPolicy + Get + CsOnlineVoicemailPolicy + + Use the `Get-CsOnlineVoicemailPolicy` cmdlet to get a list of all pre-configured policy instances related to Cloud Voicemail service. + + + + This cmdlet retrieves information about one or more voicemail policies that have been configured for use in your organization. Voicemail policies are used by the organization to manage Voicemail-related features such as transcription. + + + + Get-CsOnlineVoicemailPolicy + + Identity + + A unique identifier specifying the scope, and in some cases the name, of the policy. If this parameter is omitted, all voicemail policies available for use are returned. + + String + + String + + + None + + + Filter + + This parameter accepts a wildcard string and returns all voicemail policies with identities matching that string. For example, a Filter value of Tag:* will return all preconfigured voicemail policy instances (excluding forest default "Global") available to use by the tenant admins. + + String + + String + + + None + + + + + + Identity + + A unique identifier specifying the scope, and in some cases the name, of the policy. If this parameter is omitted, all voicemail policies available for use are returned. + + String + + String + + + None + + + Filter + + This parameter accepts a wildcard string and returns all voicemail policies with identities matching that string. For example, a Filter value of Tag:* will return all preconfigured voicemail policy instances (excluding forest default "Global") available to use by the tenant admins. + + String + + String + + + None + + + + + + None + + + + + + + + + + Microsoft.Rtc.Management.WritableConfig.Policy.OnlineVoicemail.OnlineVoicemailPolicy + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsOnlineVoicemailPolicy + + In Example 1, the Get-CsOnlineVoicemailPolicy cmdlet is called without any additional parameters; this returns a collection of all the voicemail policies configured for use in your organization. + + + + -------------------------- Example 2 -------------------------- + Get-CsOnlineVoicemailPolicy -Identity TranscriptionDisabled + + In Example 2, the Get-CsOnlineVoicemailPolicy cmdlet is used to return the per-user voicemail policy that has an Identity TranscriptionDisabled. Because identities are unique, this command will never return more than one item. + + + + -------------------------- Example 3 -------------------------- + Get-CsOnlineVoicemailPolicy -Filter "tag:*" + + Example 3 uses the Filter parameter to return all the voicemail policies that have been configured at the per-user scope. The filter value "tag:*" tells the Get-CsOnlineVoicemailPolicy cmdlet to return only those policies that have an Identity that begins with the string value "tag:". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csonlinevoicemailpolicy + + + Set-CsOnlineVoicemailPolicy + + + + New-CsOnlineVoicemailPolicy + + + + Remove-CsOnlineVoicemailPolicy + + + + Grant-CsOnlineVoicemailPolicy + + + + + + + Get-CsTeamsAppPermissionPolicy + Get + CsTeamsAppPermissionPolicy + + NOTE : The existence of this cmdlet is being documented for completeness, but do not use this cmdlet. We require that all creation and modification of app permission polices (not including the assignment or removal of policies from users) happens in the Microsoft Teams & Skype for Business Admin Center to ensure that the policy matches your expectations for the end user experience. This cmdlet is not supported for tenants that migrated to app centric management feature as it replaced permission policies. While the cmdlet may succeed, the changes aren't applied to the tenant. + As an admin, you can use app permission policies to allow or block apps for your users. Learn more about the app permission policies at <https://learn.microsoft.com/microsoftteams/teams-app-permission-policies> and about app centric management at <https://learn.microsoft.com/microsoftteams/app-centric-management>. + + + + NOTE : The existence of this cmdlet is being documented for completeness, but do not use this cmdlet. We require that all creation and modification of app permission polices (not including the assignment or removal of policies from users) happens in the Microsoft Teams & Skype for Business Admin Center to ensure that the policy matches your expectations for the end user experience. + As an admin, you can use app permission policies to enable or block specific apps for your users. Learn more about the App Setup Policies: <https://learn.microsoft.com/microsoftteams/teams-app-permission-policies>. + + + + Get-CsTeamsAppPermissionPolicy + + Filter + + Do not use + + String + + String + + + None + + + LocalStore + + Do not use. + + + SwitchParameter + + + False + + + Tenant + + {{Fill Tenant Description}} + + System.Guid + + System.Guid + + + None + + + + Get-CsTeamsAppPermissionPolicy + + Identity + + Name of the app setup permission policy. If empty, all identities will be used by default. + + XdsIdentity + + XdsIdentity + + + None + + + LocalStore + + Do not use. + + + SwitchParameter + + + False + + + Tenant + + {{Fill Tenant Description}} + + System.Guid + + System.Guid + + + None + + + + + + Filter + + Do not use + + String + + String + + + None + + + Identity + + Name of the app setup permission policy. If empty, all identities will be used by default. + + XdsIdentity + + XdsIdentity + + + None + + + LocalStore + + Do not use. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + {{Fill Tenant Description}} + + System.Guid + + System.Guid + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsTeamsAppPermissionPolicy -Identity Global + +Identity : Global +DefaultCatalogApps : {Id=26bc2873-6023-480c-a11b-76b66605ce8c, Id=0d820ecd-def2-4297-adad-78056cde7c78, Id=com.microsoft.teamspace.tab.planner} +GlobalCatalogApps : {} +PrivateCatalogApps : {} +Description : +DefaultCatalogAppsType : AllowedAppList +GlobalCatalogAppsType : AllowedAppList +PrivateCatalogAppsType : AllowedAppList + + Get the global Teams app permission policy. + + + + -------------------------- Example 2 -------------------------- + Get-CsTeamsAppPermissionPolicy + +Identity : Global +DefaultCatalogApps : {Id=26bc2873-6023-480c-a11b-76b66605ce8c, Id=0d820ecd-def2-4297-adad-78056cde7c78, Id=com.microsoft.teamspace.tab.planner} +GlobalCatalogApps : {} +PrivateCatalogApps : {} +Description : +DefaultCatalogAppsType : AllowedAppList +GlobalCatalogAppsType : AllowedAppList +PrivateCatalogAppsType : AllowedAppList + +Identity : Tag:test +DefaultCatalogApps : {Id=26bc2873-6023-480c-a11b-76b66605ce8c, Id=0d820ecd-def2-4297-adad-78056cde7c78, Id=com.microsoft.teamspace.tab.planner} +GlobalCatalogApps : {} +PrivateCatalogApps : {} +Description : +DefaultCatalogAppsType : AllowedAppList +GlobalCatalogAppsType : AllowedAppList +PrivateCatalogAppsType : AllowedAppList + + Get all the Teams app permission policies. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamsapppermissionpolicy + + + + + + Get-CsTeamsAppSetupPolicy + Get + CsTeamsAppSetupPolicy + + NOTE : The existence of this cmdlet is being documented for completeness, but do not use this cmdlet. We require that all creation and modification of app setup polices (not including the assignment or removal of policies from users) happens in the Microsoft Teams & Skype for Business Admin Center to ensure that the policy matches your expectations for the end user experience. + As an admin, you can use app setup policies to customize Microsoft Teams to highlight the apps that are most important for your users. You choose the apps to pin and set the order that they appear. App setup policies let you showcase apps that users in your organization need, including ones built by third parties or by developers in your organization. You can also use app setup policies to manage how built-in features appear. + Apps are pinned to the app bar. This is the bar on the side of the Teams desktop client and at the bottom of the Teams mobile clients (iOS and Android). Learn more about the App Setup Policies: <https://learn.microsoft.com/MicrosoftTeams/teams-app-setup-policies>. + + + + NOTE : The existence of this cmdlet is being documented for completeness, but do not use this cmdlet. We require that all creation and modification of app setup polices (not including the assignment or removal of policies from users) happens in the Microsoft Teams & Skype for Business Admin Center to ensure that the policy matches your expectations for the end user experience. + As an admin, you can use app setup policies to customize Microsoft Teams to highlight the apps that are most important for your users. You choose the apps to pin and set the order that they appear. App setup policies let you showcase apps that users in your organization need, including ones built by third parties or by developers in your organization. You can also use app setup policies to manage how built-in features appear. + Apps are pinned to the app bar. This is the bar on the side of the Teams desktop client and at the bottom of the Teams mobile clients (iOS and Android). Learn more about the App Setup Policies: <https://learn.microsoft.com/MicrosoftTeams/teams-app-setup-policies>. + + + + Get-CsTeamsAppSetupPolicy + + Filter + + Do not use. + + String + + String + + + None + + + LocalStore + + Do not use. + + + SwitchParameter + + + False + + + Tenant + + Do not use. + + System.Guid + + System.Guid + + + None + + + + Get-CsTeamsAppSetupPolicy + + Identity + + Name of App setup policy. If empty, all Identities will be used by default. + + XdsIdentity + + XdsIdentity + + + None + + + LocalStore + + Do not use. + + + SwitchParameter + + + False + + + Tenant + + Do not use. + + System.Guid + + System.Guid + + + None + + + + + + Filter + + Do not use. + + String + + String + + + None + + + Identity + + Name of App setup policy. If empty, all Identities will be used by default. + + XdsIdentity + + XdsIdentity + + + None + + + LocalStore + + Do not use. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + Do not use. + + System.Guid + + System.Guid + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsTeamsAppSetupPolicy -Identity Global + +Identity : Global +AppPresetList : {Id=d2c6f111-ffad-42a0-b65e-ee00425598aa} +PinnedAppBarApps : {Id=14d6962d-6eeb-4f48-8890-de55454bb136;Order=1, Id=86fcd49b-61a2-4701-b771-54728cd291fb;Order=2, Id=2a84919f-59d8-4441-a975-2a8c2643b741;Order=3, Id=ef56c0de-36fc-4ef8-b417-3d82ba9d073c;Order=4...} +PinnedMessageBarApps : {} +AppPresetMeetingList : {} +Description : +AllowSideLoading : True +AllowUserPinning : True + + Get all the Teams App Setup Policies. + + + + -------------------------- Example 2 -------------------------- + Get-CsTeamsAppSetupPolicy + +Identity : Global +AppPresetList : {Id=d2c6f111-ffad-42a0-b65e-ee00425598aa} +PinnedAppBarApps : {Id=14d6962d-6eeb-4f48-8890-de55454bb136;Order=1, Id=86fcd49b-61a2-4701-b771-54728cd291fb;Order=2, Id=2a84919f-59d8-4441-a975-2a8c2643b741;Order=3, Id=ef56c0de-36fc-4ef8-b417-3d82ba9d073c;Order=4...} +PinnedMessageBarApps : {} +AppPresetMeetingList : {} +Description : +AllowSideLoading : True +AllowUserPinning : True + +Identity : Tag:Set-test +AppPresetList : {Id=d2c6f111-ffad-42a0-b65e-ee00425598aa} +PinnedAppBarApps : {Id=14d6962d-6eeb-4f48-8890-de55454bb136;Order=1, Id=86fcd49b-61a2-4701-b771-54728cd291fb;Order=2, Id=2a84919f-59d8-4441-a975-2a8c2643b741;Order=3, Id=ef56c0de-36fc-4ef8-b417-3d82ba9d073c;Order=4...} +PinnedMessageBarApps : {} +AppPresetMeetingList : {} +Description : +AllowSideLoading : True +AllowUserPinning : True + + Get all the Teams App Setup Policies. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamsappsetuppolicy + + + + + + Get-CsTeamsCallHoldPolicy + Get + CsTeamsCallHoldPolicy + + Returns information about the policies configured to customize the call hold experience for Teams clients. + + + + Teams call hold policies are used to customize the call hold experience for teams clients. When Microsoft Teams users participate in calls, they have the ability to hold a call and have the other entity in the call listen to an audio file during the duration of the hold. + Assigning a Teams call hold policy to a user sets an audio file to be played during the duration of the hold. + + + + Get-CsTeamsCallHoldPolicy + + Filter + + Enables you to use wildcards when retrieving one or more Teams call hold policies. For example, to return all the policies configured at the per-user scope, use this syntax: + -Filter "Tag:*" + + String + + String + + + None + + + + Get-CsTeamsCallHoldPolicy + + Identity + + Unique identifier of the Teams call hold policy to be retrieved. + To return the global policy, use this syntax: + `-Identity "Global"` + To return a policy configured at the per-user scope, use syntax like this: + `-Identity "ContosoPartnerCallHoldPolicy"` + You cannot use wildcard characters when specifying the Identity. + + String + + String + + + None + + + + + + Filter + + Enables you to use wildcards when retrieving one or more Teams call hold policies. For example, to return all the policies configured at the per-user scope, use this syntax: + -Filter "Tag:*" + + String + + String + + + None + + + Identity + + Unique identifier of the Teams call hold policy to be retrieved. + To return the global policy, use this syntax: + `-Identity "Global"` + To return a policy configured at the per-user scope, use syntax like this: + `-Identity "ContosoPartnerCallHoldPolicy"` + You cannot use wildcard characters when specifying the Identity. + + String + + String + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsTeamsCallHoldPolicy + + The command shown in Example 1 returns information for all the Teams call hold policies configured for use in the tenant. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Get-CsTeamsCallHoldPolicy -Identity 'ContosoPartnerCallHoldPolicy' + + In Example 2, information is returned for a single Teams call hold policy: the policy with the Identity ContosoPartnerCallHoldPolicy. + + + + -------------------------- Example 3 -------------------------- + PS C:\> Get-CsTeamsCallHoldPolicy -Filter 'Tag:*' + + The command shown in Example 3 returns information about all the Teams call hold policies configured at the per-user scope. To do this, the command uses the Filter parameter and the filter value "Tag:*"; that filter value limits the returned data to policies that have an Identity that begins with the string value "Tag:". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamscallholdpolicy + + + New-CsTeamsCallHoldPolicy + + + + Set-CsTeamsCallHoldPolicy + + + + Grant-CsTeamsCallHoldPolicy + + + + Remove-CsTeamsCallHoldPolicy + + + + + + + Get-CsTeamsCallingPolicy + Get + CsTeamsCallingPolicy + + Returns information about the teams calling policies configured for use in your organization. Teams calling policies help determine which users are able to use calling functionality within Microsoft Teams. + + + + Returns information about the teams calling policies configured for use in your organization. Teams calling policies help determine which users are able to use calling functionality within Microsoft Teams and interoperability with Skype for Business. + + + + Get-CsTeamsCallingPolicy + + Identity + + Specify the TeamsCallingPolicy that you would like to retrieve. + + String + + String + + + None + + + Filter + + Enables you to use wildcard characters when indicating the policy (or policies) to be returned. To return a collection of all the per-user policies, use this syntax: -Filter "tag:*". + + String + + String + + + None + + + + + + Identity + + Specify the TeamsCallingPolicy that you would like to retrieve. + + String + + String + + + None + + + Filter + + Enables you to use wildcard characters when indicating the policy (or policies) to be returned. To return a collection of all the per-user policies, use this syntax: -Filter "tag:*". + + String + + String + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsTeamsCallingPolicy -Identity SalesCallingPolicy + + Retrieves the calling policy with the Identity "SalesCallingPolicy". + + + + -------------------------- Example 2 -------------------------- + Get-CsTeamsCallingPolicy -Filter "tag:Sales*" + + Retrieves the calling policies with Identity starting with Sales. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamscallingpolicy + + + Set-CsTeamsCallingPolicy + + + + Remove-CsTeamsCallingPolicy + + + + Grant-CsTeamsCallingPolicy + + + + New-CsTeamsCallingPolicy + + + + + + + Get-CsTeamsChannelsPolicy + Get + CsTeamsChannelsPolicy + + The CsTeamsChannelsPolicy allows you to manage features related to the Teams & Channels experience within the Teams application. + + + + The CsTeamsChannelsPolicy allows you to manage features related to the Teams & Channels experience within the Teams application. The Get-CsTeamsChannelsPolicy returns policies that are available for use within your organization. + + + + Get-CsTeamsChannelsPolicy + + Identity + + Specify the unique name of a policy you would like to retrieve. Use one of the following values: + - `Global` + - The name of a custom policy you've created. If the value contains spaces, enclose the value in quotation marks ("). Note that the Identity value shows as `Tag:<Name>`, but the `<Name>` value also works. + - `Default`: This is a template that's used to populate the default property values when you create a new policy or to reset the property values in the global policy in case you delete it. Note that the Identity value shows as `Tag:Default`, but the `Default` value also works. + + XdsIdentity + + XdsIdentity + + + None + + + LocalStore + + Internal Microsoft use only. + + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + + Get-CsTeamsChannelsPolicy + + Filter + + Enables you to use wildcard characters when indicating the policy (or policies) to be returned. For example, to return a collection of all the per-user policies, use this syntax: -Filter "tag:". + + String + + String + + + None + + + LocalStore + + Internal Microsoft use only. + + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + + + + Identity + + Specify the unique name of a policy you would like to retrieve. Use one of the following values: + - `Global` + - The name of a custom policy you've created. If the value contains spaces, enclose the value in quotation marks ("). Note that the Identity value shows as `Tag:<Name>`, but the `<Name>` value also works. + - `Default`: This is a template that's used to populate the default property values when you create a new policy or to reset the property values in the global policy in case you delete it. Note that the Identity value shows as `Tag:Default`, but the `Default` value also works. + + XdsIdentity + + XdsIdentity + + + None + + + Filter + + Enables you to use wildcard characters when indicating the policy (or policies) to be returned. For example, to return a collection of all the per-user policies, use this syntax: -Filter "tag:". + + String + + String + + + None + + + LocalStore + + Internal Microsoft use only. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsTeamsChannelsPolicy + + Retrieves all policies related to Teams & Channels that are available in your organization. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamschannelspolicy + + + + + + Get-CsTeamsComplianceRecordingApplication + Get + CsTeamsComplianceRecordingApplication + + Returns information about the application instances of policy-based recording applications that have been configured for administering automatic policy-based recording in your tenant. Automatic policy-based recording is only applicable to Microsoft Teams users. + + + + Policy-based recording applications are used in automatic policy-based recording scenarios. When Microsoft Teams users participate in meetings or make or receive calls, the policy-based recording applications i.e. bots associated with the user's Teams recording policy are invited into the call or meeting to enforce compliance with the administrative set policy. + Instances of these applications are created using CsOnlineApplicationInstance cmdlets and are then associated with Teams recording policies. + Note that application instances of policy-based recording applications must be associated with a Teams recording policy using the CsTeamsComplianceRecordingApplication cmdlets. Once the association is done, the Identity of these application instances becomes <Identity of the associated Teams recording policy>/<ObjectId of the application instance>. For example, the Identity of an application instance can be \"Tag:ContosoPartnerComplianceRecordingPolicy/39dc3ede-c80e-4f19-9153-417a65a1f144\", which indicates that the application instance with ObjectId 39dc3ede-c80e-4f19-9153-417a65a1f144 is associated with the Teams recording policy with Identity ContosoPartnerComplianceRecordingPolicy. + Note that if neither the Identity nor the Filter parameters are specified, then Get-CsTeamsComplianceRecordingApplication returns all application instances of policy-based recording applications that are associated with a Teams recording policy. + Please work with your Microsoft certified policy-based recording application provider to obtain an instance of their recording application. Please refer to the documentation of the CsOnlineApplicationInstance cmdlets for information on how to create an application instance of a policy-based recording application. Please also refer to the documentation of CsTeamsComplianceRecordingPolicy cmdlets for further information. + + + + Get-CsTeamsComplianceRecordingApplication + + Filter + + Enables you to use wildcards when retrieving one or more application instances of policy-based recording applications. For example, to return all the application instances associated with Teams recording policies at the per-user scope, use this syntax: + -Filter "Tag:*" + + String + + String + + + None + + + LocalStore + + This parameter is reserved for internal Microsoft use. + + + SwitchParameter + + + False + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose Teams recording policies are being queried. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + System.Guid + + System.Guid + + + None + + + + Get-CsTeamsComplianceRecordingApplication + + Identity + + Unique identifier of the application instance of a policy-based recording application to be retrieved. + You cannot use wildcard characters when specifying the Identity. + Note that application instances of policy-based recording applications must be associated with a Teams recording policy using the CsTeamsComplianceRecordingApplication cmdlets. Once the association is done, the Identity of these application instances becomes <Identity of the associated Teams recording policy>/<ObjectId of the application instance>. For example, the Identity of an application instance can be \"Tag:ContosoPartnerComplianceRecordingPolicy/39dc3ede-c80e-4f19-9153-417a65a1f144\", which indicates that the application instance with ObjectId 39dc3ede-c80e-4f19-9153-417a65a1f144 is associated with the Teams recording policy with Identity ContosoPartnerComplianceRecordingPolicy. + + XdsIdentity + + XdsIdentity + + + None + + + LocalStore + + This parameter is reserved for internal Microsoft use. + + + SwitchParameter + + + False + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose Teams recording policies are being queried. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + System.Guid + + System.Guid + + + None + + + + + + Filter + + Enables you to use wildcards when retrieving one or more application instances of policy-based recording applications. For example, to return all the application instances associated with Teams recording policies at the per-user scope, use this syntax: + -Filter "Tag:*" + + String + + String + + + None + + + Identity + + Unique identifier of the application instance of a policy-based recording application to be retrieved. + You cannot use wildcard characters when specifying the Identity. + Note that application instances of policy-based recording applications must be associated with a Teams recording policy using the CsTeamsComplianceRecordingApplication cmdlets. Once the association is done, the Identity of these application instances becomes <Identity of the associated Teams recording policy>/<ObjectId of the application instance>. For example, the Identity of an application instance can be \"Tag:ContosoPartnerComplianceRecordingPolicy/39dc3ede-c80e-4f19-9153-417a65a1f144\", which indicates that the application instance with ObjectId 39dc3ede-c80e-4f19-9153-417a65a1f144 is associated with the Teams recording policy with Identity ContosoPartnerComplianceRecordingPolicy. + + XdsIdentity + + XdsIdentity + + + None + + + LocalStore + + This parameter is reserved for internal Microsoft use. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose Teams recording policies are being queried. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + System.Guid + + System.Guid + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsTeamsComplianceRecordingApplication + + The command shown in Example 1 returns information for all the application instances of policy-based recording applications associated with Teams recording policies. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Get-CsTeamsComplianceRecordingApplication -Identity 'Tag:ContosoPartnerComplianceRecordingPolicy/39dc3ede-c80e-4f19-9153-417a65a1f144' + + In Example 2, information is returned for a single application instance of a policy-based recording application with the Identity Tag:ContosoPartnerComplianceRecordingPolicy/39dc3ede-c80e-4f19-9153-417a65a1f144. + + + + -------------------------- Example 3 -------------------------- + PS C:\> Get-CsTeamsComplianceRecordingApplication -Filter 'Tag:*' + + The command shown in Example 3 returns all the application instances associated with Teams recording policies at the per-user scope. To do this, the command uses the Filter parameter and the filter value "Tag:*"; that filter value limits the returned data to policies that have an Identity that begins with the string value "Tag:". + + + + -------------------------- Example 4 -------------------------- + PS C:\> Get-CsTeamsComplianceRecordingApplication -Filter 'Tag:ContosoPartnerComplianceRecordingPolicy*' + + The command shown in Example 4 returns all the application instances associated with Teams recording policy with Identity ContosoPartnerComplianceRecordingPolicy. To do this, the command uses the Filter parameter and the filter value "Tag:ContosoPartnerComplianceRecordingPolicy*"; that filter value limits the returned data to policies that have an Identity that begins with the string value "Tag:ContosoPartnerComplianceRecordingPolicy". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamscompliancerecordingapplication + + + Get-CsTeamsComplianceRecordingPolicy + + + + New-CsTeamsComplianceRecordingPolicy + + + + Set-CsTeamsComplianceRecordingPolicy + + + + Grant-CsTeamsComplianceRecordingPolicy + + + + Remove-CsTeamsComplianceRecordingPolicy + + + + New-CsTeamsComplianceRecordingApplication + + + + Set-CsTeamsComplianceRecordingApplication + + + + Remove-CsTeamsComplianceRecordingApplication + + + + New-CsTeamsComplianceRecordingPairedApplication + + + + + + + Get-CsTeamsComplianceRecordingPolicy + Get + CsTeamsComplianceRecordingPolicy + + Returns information about the policies configured for governing automatic policy-based recording in your tenant. Automatic policy-based recording is only applicable to Microsoft Teams users. + + + + Teams recording policies are used in automatic policy-based recording scenarios. When Microsoft Teams users participate in meetings or make or receive calls, the policy-based recording applications i.e. bots associated with the user's Teams recording policy are invited into the call or meeting to record audio, video and video-based screen sharing activity. + Note that if neither the Identity nor the Filter parameters are specified, then Get-CsTeamsComplianceRecordingPolicy returns all the Teams recording policies configured for use in the tenant. + Note that simply assigning a Teams recording policy to a Microsoft Teams user will not activate automatic policy-based recording for all Microsoft Teams calls and meetings that the user participates in. Among other things, you will need to create an application instance of a policy-based recording application i.e. a bot in your tenant and will then need to assign an appropriate policy to the user. + Please work with your Microsoft certified policy-based recording application provider to obtain an instance of their recording application. Please refer to the documentation of the CsOnlineApplicationInstance cmdlets for information on how to create an application instance of a policy-based recording application. + Assigning your Microsoft Teams users a Teams recording policy activates automatic policy-based recording for all new Microsoft Teams calls and meetings that the users participate in. The system will load the recording application and join it to appropriate calls and meetings in order for it to enforce compliance with the administrative set policy. Existing calls and meetings are unaffected. + + + + Get-CsTeamsComplianceRecordingPolicy + + Filter + + Enables you to use wildcards when retrieving one or more Teams recording policies. For example, to return all the policies configured at the per-user scope, use this syntax: + -Filter "Tag:*" + + String + + String + + + None + + + LocalStore + + This parameter is reserved for internal Microsoft use. + + + SwitchParameter + + + False + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose Teams recording policies are being queried. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + System.Guid + + System.Guid + + + None + + + + Get-CsTeamsComplianceRecordingPolicy + + Identity + + Unique identifier of the Teams recording policy to be retrieved. To return the global policy, use this syntax: + -Identity "Global" + To return a policy configured at the per-user scope, use syntax like this: + -Identity "ContosoPartnerComplianceRecordingPolicy" + You cannot use wildcard characters when specifying the Identity. + + XdsIdentity + + XdsIdentity + + + None + + + LocalStore + + This parameter is reserved for internal Microsoft use. + + + SwitchParameter + + + False + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose Teams recording policies are being queried. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + System.Guid + + System.Guid + + + None + + + + + + Filter + + Enables you to use wildcards when retrieving one or more Teams recording policies. For example, to return all the policies configured at the per-user scope, use this syntax: + -Filter "Tag:*" + + String + + String + + + None + + + Identity + + Unique identifier of the Teams recording policy to be retrieved. To return the global policy, use this syntax: + -Identity "Global" + To return a policy configured at the per-user scope, use syntax like this: + -Identity "ContosoPartnerComplianceRecordingPolicy" + You cannot use wildcard characters when specifying the Identity. + + XdsIdentity + + XdsIdentity + + + None + + + LocalStore + + This parameter is reserved for internal Microsoft use. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose Teams recording policies are being queried. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + System.Guid + + System.Guid + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsTeamsComplianceRecordingPolicy + + The command shown in Example 1 returns information for all the Teams recording policies configured for use in the tenant. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Get-CsTeamsComplianceRecordingPolicy -Identity 'ContosoPartnerComplianceRecordingPolicy' + + In Example 2, information is returned for a single Teams recording policy: the policy with the Identity ContosoPartnerComplianceRecordingPolicy. + + + + -------------------------- Example 3 -------------------------- + PS C:\> Get-CsTeamsComplianceRecordingPolicy -Filter 'Tag:*' + + The command shown in Example 3 returns information about all the Teams recording policies configured at the per-user scope. To do this, the command uses the Filter parameter and the filter value "Tag:*"; that filter value limits the returned data to policies that have an Identity that begins with the string value "Tag:". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamscompliancerecordingpolicy + + + New-CsTeamsComplianceRecordingPolicy + + + + Set-CsTeamsComplianceRecordingPolicy + + + + Grant-CsTeamsComplianceRecordingPolicy + + + + Remove-CsTeamsComplianceRecordingPolicy + + + + Get-CsTeamsComplianceRecordingApplication + + + + New-CsTeamsComplianceRecordingApplication + + + + Set-CsTeamsComplianceRecordingApplication + + + + Remove-CsTeamsComplianceRecordingApplication + + + + New-CsTeamsComplianceRecordingPairedApplication + + + + + + + Get-CsTeamsCustomBannerText + Get + CsTeamsCustomBannerText + + Enables administrators to configure a custom text on the banner displayed when compliance recording bots start recording the call. + + + + Returns all or a single instance of custom banner text. + + + + Get-CsTeamsCustomBannerText + + Identity + + Policy instance name (optional). + + String + + String + + + None + + + + + + Identity + + Policy instance name (optional). + + String + + String + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsTeamsCustomBannerText + + This example gets the properties of all instances of the TeamsCustomBannerText. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Get-CsTeamsCustomBannerText -Identity CustomText + + This example gets the properties of the CustomText instance of TeamsCustomBannerText. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/Get-CsTeamsCustomBannerText + + + Set-CsTeamsCustomBannerText + + + + New-CsTeamsCustomBannerText + + + + Remove-CsTeamsCustomBannerText + + + + + + + Get-CsTeamsEducationConfiguration + Get + CsTeamsEducationConfiguration + + This cmdlet is used to retrieve the organization-wide education configuration for Teams. + + + + This cmdlet is used to retrieve the organization-wide education configuration for Teams which contains settings that are applicable to education organizations. + You must be a Teams Service Administrator or a Global Administrator for your organization to run the cmdlet. + + + + Get-CsTeamsEducationConfiguration + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsTeamsEducationConfiguration + +Identity : Global +ParentGuardianPreferredContactMethod : Email +UpdateParentInformation : Enabled + + + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamseducationconfiguration + + + Set-CsTeamsEducationConfiguration + + + + + + + Get-CsTeamsEmergencyCallingPolicy + Get + CsTeamsEmergencyCallingPolicy + + + + + + This cmdlet returns one or more emergency calling policies. Emergency calling policy is used for the life cycle of emergency calling experience for the security desk and Teams client location experience. + + + + Get-CsTeamsEmergencyCallingPolicy + + Identity + + Specify the policy that you would like to retrieve. + + String + + String + + + None + + + + Get-CsTeamsEmergencyCallingPolicy + + Filter + + The Filter parameter allows you to limit the number of results based on filters on Identity you specify. + + String + + String + + + None + + + + + + Identity + + Specify the policy that you would like to retrieve. + + String + + String + + + None + + + Filter + + The Filter parameter allows you to limit the number of results based on filters on Identity you specify. + + String + + String + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsTeamsEmergencyCallingPolicy + + Retrieves all emergency calling policies that are available in your scope. + + + + -------------------------- Example 2 -------------------------- + Get-CsTeamsEmergencyCallingPolicy -Identity TestECP + + Retrieves an emergency calling policy with the identity TestECP + + + + -------------------------- Example 3 -------------------------- + Get-CsTeamsEmergencyCallingPolicy -Filter Test* + + Retrieves all emergency calling policies with Identity starting with Test. + + + + -------------------------- Example 4 -------------------------- + (Get-CsTeamsEmergencyCallingPolicy -Identity TestECP).ExtendedNotifications + +EmergencyDialString : 112 +NotificationGroup : alert2@contoso.com +NotificationDialOutNumber : +NotificationMode : ConferenceUnMuted + +EmergencyDialString : 911 +NotificationGroup : alert3@contoso.com +NotificationDialOutNumber : +14255551234 +NotificationMode : NotificationOnly + + This example displays extended notifications set on emergency calling policy with the identity TestECP. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamsemergencycallingpolicy + + + New-CsTeamsEmergencyCallingPolicy + + + + Grant-CsTeamsEmergencyCallingPolicy + + + + Remove-CsTeamsEmergencyCallingPolicy + + + + Set-CsTeamsEmergencyCallingPolicy + + + + + + + Get-CsTeamsEventsPolicy + Get + CsTeamsEventsPolicy + + Returns information about the Teams Events policy. Note that this policy is currently still in preview. + + + + Returns information about the Teams Events policy. TeamsEventsPolicy is used to configure options for customizing Teams Events experiences. + + + + Get-CsTeamsEventsPolicy + + Filter + + Enables using wildcards when specifying the policy (or policies) to be retrieved. Note that you cannot use both the Filter and the Identity parameters in the same command. + + String + + String + + + None + + + + Get-CsTeamsEventsPolicy + + Identity + + Unique identifier assigned to the Teams Events policy. + + String + + String + + + None + + + + + + Filter + + Enables using wildcards when specifying the policy (or policies) to be retrieved. Note that you cannot use both the Filter and the Identity parameters in the same command. + + String + + String + + + None + + + Identity + + Unique identifier assigned to the Teams Events policy. + + String + + String + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsTeamsEventsPolicy + + Returns information for all Teams Events policies available for use in the tenant. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Get-CsTeamsEventsPolicy -Identity Global + + Returns information for Teams Events policy with identity "Global". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamseventspolicy + + + + + + Get-CsTeamsFeedbackPolicy + Get + CsTeamsFeedbackPolicy + + Use this cmdlet to retrieve the current Teams Feedback policies (the ability to send feedback about Teams to Microsoft and whether they receive the survey) in the organization. + + + + Retrieves the current Teams Feedback policies (the ability to send feedback about Teams to Microsoft and whether they receive the survey) in the organization. + + + + Get-CsTeamsFeedbackPolicy + + Identity + + The unique identifier of the policy. + + Object + + Object + + + None + + + Filter + + Internal Microsoft use + + Object + + Object + + + None + + + LocalStore + + Internal Microsoft use. + + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use. + + Object + + Object + + + None + + + + + + Filter + + Internal Microsoft use + + Object + + Object + + + None + + + Identity + + The unique identifier of the policy. + + Object + + Object + + + None + + + LocalStore + + Internal Microsoft use. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use. + + Object + + Object + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsTeamsFeedbackPolicy + + In this example, we retrieve all the existing Teams feedback policies in the organization. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamsfeedbackpolicy + + + + + + Get-CsTeamsFirstPartyMeetingTemplateConfiguration + Get + CsTeamsFirstPartyMeetingTemplateConfiguration + + This cmdlet fetches the first-party meeting templates stored on the tenant. + + + + Fetches the list of first-party templates on the tenant. Each template object contains its list of meeting options, the name of the template, and its ID. + This is a read-only configuration. + + + + Get-CsTeamsFirstPartyMeetingTemplateConfiguration + + Identity + + This parameter can be used to fetch a specific instance of the configuration. + Note: This configuration is read only and will only have the Global instance. + + String + + String + + + None + + + + + + Identity + + This parameter can be used to fetch a specific instance of the configuration. + Note: This configuration is read only and will only have the Global instance. + + String + + String + + + None + + + + + + + + + + Example 1 - Fetching all first party meeting templates on the tenant + Get-CsTeamsFirstPartyMeetingTemplateConfiguration + +Identity : Global +TeamsMeetingTemplates : {default, firstparty_30d773c0-1b4e-4bf6-970b-73f544c054bb, + firstparty_399f69a3-c482-41bf-9cf7-fcdefe269ce6, + firstparty_64c92390-c8a2-471e-96d9-4ee8f6080155...} +Description : The `TeamsMeetingTemplates` property contains the meeting template details: + + +TeamsMeetingOptions : {SelectedSensitivityLabel, AutoAdmittedUsers, AllowPstnUsersToBypassLobby, + EntryExitAnnouncementsEnabled...} +Description : Townhall +Name : firstparty_21f91ef7-6265-4064-b78b-41ab66889d90 +Category : + +TeamsMeetingOptions : {AutoRecordingEnabled, AllowMeetingChat, PresenterOption} +Description : Virtual appointment +Name : firstparty_e514e598-fba6-4e1f-b8b3-138dd3bca748 +Category : + + Fetches all the first-party templates on the tenant. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/Get-CsTeamsFirstPartyMeetingTemplateConfiguration + + + Get-CsTeamsMeetingTemplateConfiguration + + + + + + + Get-CsTeamsMediaConnectivityPolicy + Get + CsTeamsMediaConnectivityPolicy + + This cmdlet retrieves all Teams media connectivity policies for current tenant. + + + + This cmdlet retrieves all Teams media connectivity policies for current tenant. + + + + Get-CsTeamsMediaConnectivityPolicy + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsTeamsMediaConnectivityPolicy +Identity DirectConnection +-------- ---------------- +Tag:Test Enabled + + retrieves Teams media connectivity policies, show the result as identity tag and "DirectConnection" value. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/Get-CsTeamsMediaConnectivityPolicy + + + New-CsTeamsMediaConnectivityPolicy + + + + Remove-CsTeamsMediaConnectivityPolicy + + + + Set-CsTeamsMediaConnectivityPolicy + + + + Grant-CsTeamsMediaConnectivityPolicy + + + + + + + Get-CsTeamsMeetingBrandingPolicy + Get + CsTeamsMeetingBrandingPolicy + + The CsTeamsMeetingBrandingPolicy cmdlet enables administrators to control the appearance in meetings by defining custom backgrounds, logos, and colors. + + + + The `Get-CsTeamsMeetingBrandingPolicy` cmdlet enables you to return information about all the meeting branding policies that have been configured for use in your organization. + + + + Get-CsTeamsMeetingBrandingPolicy + + Filter + + Enables you to use wildcard characters when indicating the policy (or policies) to be returned. + + String + + String + + + None + + + + Get-CsTeamsMeetingBrandingPolicy + + Identity + + Unique identifier of the policy to be returned. To refer to the global policy, use this syntax: `-Identity global`. If this parameter is omitted, then all the meeting branding policies configured for use in your organization will be returned. + + String + + String + + + None + + + + + + Filter + + Enables you to use wildcard characters when indicating the policy (or policies) to be returned. + + String + + String + + + None + + + Identity + + Unique identifier of the policy to be returned. To refer to the global policy, use this syntax: `-Identity global`. If this parameter is omitted, then all the meeting branding policies configured for use in your organization will be returned. + + String + + String + + + None + + + + + + + TeamsMeetingBrandingPolicy.Cmdlets.TeamsMeetingBrandingPolicy + + + + + + + + + Available in Teams PowerShell Module 4.9.3 and later. + + + + + ----------------- Return all branding policies ----------------- + PS C:\> Get-CsTeamsMeetingBrandingPolicy + + In this example, the command returns a collection of all the teams meeting branding policies configured for use in your organization. + + + + ------------------- Return specified policy ------------------- + PS C:\> CsTeamsMeetingBrandingPolicy -Identity "policy test2" + + In this example, the command returns the meeting branding policy that has an Identity `policy test 2`. Because identities are unique, this command will never return more than one item. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamsmeetingbrandingpolicy + + + Get-CsTeamsMeetingBrandingPolicy + + + + Grant-CsTeamsMeetingBrandingPolicy + + + + New-CsTeamsMeetingBrandingPolicy + + + + Remove-CsTeamsMeetingBrandingPolicy + + + + Set-CsTeamsMeetingBrandingPolicy + + + + + + + Get-CsTeamsMeetingConfiguration + Get + CsTeamsMeetingConfiguration + + The CsTeamsMeetingConfiguration cmdlets enable administrators to control the meetings configurations in their tenants. + + + + The CsTeamsMeetingConfiguration cmdlets enable administrators to control the meetings configurations in their tenants. Use this cmdlet to retrieve the configuration set in your organization. + + + + Get-CsTeamsMeetingConfiguration + + Identity + + The only valid input is "Global" + + XdsIdentity + + XdsIdentity + + + None + + + Filter + + Internal Microsoft use + + String + + String + + + None + + + LocalStore + + Internal Microsoft use + + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use + + Guid + + Guid + + + None + + + + + + Filter + + Internal Microsoft use + + String + + String + + + None + + + Identity + + The only valid input is "Global" + + XdsIdentity + + XdsIdentity + + + None + + + LocalStore + + Internal Microsoft use + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use + + Guid + + Guid + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsTeamsMeetingConfiguration + + Returns the configuration set in the organization. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamsmeetingconfiguration + + + + + + Get-CsTeamsMeetingPolicy + Get + CsTeamsMeetingPolicy + + The CsTeamsMeetingPolicy cmdlets enable administrators to control the type of meetings that users can create or the features that they can access while in a meeting. It also helps determine how meetings deal with anonymous or external users. + + + + The CsTeamsMeetingPolicy cmdlets enable administrators to control the type of meetings that users can create or the features that they can access while in a meeting. It also helps determine how meetings deal with anonymous or external users + Teams Meeting policies can be configured at the global and per-user scopes. The Get-CsTeamsMeetingPolicy cmdlet enables you to return information about all the meeting policies that have been configured for use in your organization. + + + + Get-CsTeamsMeetingPolicy + + Identity + + Unique identifier of the policy to be returned. To refer to the global policy, use this syntax: -Identity global. To refer to a per-user policy, use syntax similar to this: -Identity SalesDepartmentPolicy. If this parameter is omitted, then all the meeting policies configured for use in your organization will be returned. + + XdsIdentity + + XdsIdentity + + + None + + + Filter + + Enables you to use wildcard characters when indicating the policy (or policies) to be returned. + + String + + String + + + None + + + LocalStore + + + + + SwitchParameter + + + False + + + Tenant + + + + Guid + + Guid + + + None + + + + + + Filter + + Enables you to use wildcard characters when indicating the policy (or policies) to be returned. + + String + + String + + + None + + + Identity + + Unique identifier of the policy to be returned. To refer to the global policy, use this syntax: -Identity global. To refer to a per-user policy, use syntax similar to this: -Identity SalesDepartmentPolicy. If this parameter is omitted, then all the meeting policies configured for use in your organization will be returned. + + XdsIdentity + + XdsIdentity + + + None + + + LocalStore + + + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + + + Guid + + Guid + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsTeamsMeetingPolicy + + In Example 1, Get-CsTeamsMeetingPolicy is called without any additional parameters; this returns a collection of all the teams meeting policies configured for use in your organization. + + + + -------------------------- Example 2 -------------------------- + Get-CsTeamsMeetingPolicy -Identity SalesPolicy + + In Example 2, Get-CsTeamsMeetingPolicy is used to return the per-user meeting policy that has an Identity SalesPolicy. Because identities are unique, this command will never return more than one item. + + + + -------------------------- Example 3 -------------------------- + Get-CsTeamsMeetingPolicy | Where-Object {$_.AllowMeetNow -eq $True} + + The preceding command returns a collection of all the meeting policies where the AllowMeetNow property is True. To do this, Get-CsTeamsMeetingPolicy is first called without any parameters in order to return a collection of all the policies configured for use in the organization. This collection is then piped to the Where-Object cmdlet, which selects only those policies where the AllowMeetNow property is equal to True. + + + + -------------------------- Example 4 -------------------------- + Get-CsTeamsMeetingPolicy -Identity Global | fl NewMeetingRecordingExpirationDays + +NewMeetingRecordingExpirationDays : 60 + + The above command returns expiration date setting currently applied on TMR. For more details, see: Auto-expiration of Teams meeting recordings (https://learn.microsoft.com/microsoftteams/cloud-recording#auto-expiration-of-teams-meeting-recordings). + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamsmeetingpolicy + + + + + + Get-CsTeamsMeetingTemplateConfiguration + Get + CsTeamsMeetingTemplateConfiguration + + This cmdlet fetches the custom meeting templates stored on the tenant. + + + + Fetches the list of custom templates on the tenant. Each template object contains its list of meeting options, the name of the template, and its ID. + + + + Get-CsTeamsMeetingTemplateConfiguration + + Identity + + This parameter can be used to fetch a specific instance of the configuration. + Note: This configuration is read only and will only have the Global instance. + + String + + String + + + None + + + + + + Identity + + This parameter can be used to fetch a specific instance of the configuration. + Note: This configuration is read only and will only have the Global instance. + + String + + String + + + None + + + + + + + + + + Example 1 - Fetching all custom meeting templates on the tenant + Get-CsTeamsMeetingTemplateConfiguration + +Identity : Global +TeamsMeetingTemplates : {default, customtemplate_1cb7073a-8b19-4b5d-a3a6-14737d006969, + customtemplate_21ecf22c-eb1a-4f05-93e0-555b994ebeb5, + customtemplate_0b9c1f57-01ec-4b8a-b4c2-08bd1c01e6ba...} +Description : The `TeamsMeetingTemplates` property contains the meeting template details: + +TeamsMeetingOptions : {SelectedSensitivityLabel, AutoAdmittedUsers, AllowPstnUsersToBypassLobby, + EntryExitAnnouncementsEnabled...} +Description : Custom Template 1 +Name : customtemplate_1cb7073a-8b19-4b5d-a3a6-14737d006969 +Category : + +TeamsMeetingOptions : {AutoRecordingEnabled, AllowMeetingChat, PresenterOption} +Description : Custom Template 2 +Name : customtemplate_21ecf22c-eb1a-4f05-93e0-555b994ebeb5 +Category : + + Fetches all the custom templates on the tenant. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/Get-CsTeamsMeetingTemplateConfiguration + + + Get-CsTeamsFirstPartyMeetingTemplateConfiguration + + + + + + + Get-CsTeamsMeetingTemplatePermissionPolicy + Get + CsTeamsMeetingTemplatePermissionPolicy + + Fetches the TeamsMeetingTemplatePermissionPolicy. This policy can be used to hide meeting templates from users and groups. + + + + Fetches the instances of the policy. Each policy object contains a property called `HiddenMeetingTemplates`.This array contains the list of meeting template IDs that will be hidden by that instance of the policy. + + + + Get-CsTeamsMeetingTemplatePermissionPolicy + + Identity + + This parameter can be used to fetch a specific instance of the policy. + + String + + String + + + None + + + Filter + + This parameter can be used to fetch policy instances based on partial matches on the `Identity` field. + + String + + String + + + None + + + + + + Identity + + This parameter can be used to fetch a specific instance of the policy. + + String + + String + + + None + + + Filter + + This parameter can be used to fetch policy instances based on partial matches on the `Identity` field. + + String + + String + + + None + + + + + + + + + + -------------- Example 1 - Fetching all policies -------------- + Get-CsTeamsMeetingTemplatePermissionPolicy + +Identity : Global +HiddenMeetingTemplates : {} +Description : + +Identity : Tag:Foobar +HiddenMeetingTemplates : {customtemplate_9ab0014a-bba4-4ad6-b816-0b42104b5056} +Description : + +Identity : Tag:dashbrd test +HiddenMeetingTemplates : {customtemplate_9ab0014a-bba4-4ad6-b816-0b42104b5056} +Description : test + +Identity : Tag:Default +HiddenMeetingTemplates : {} +Description : + + Fetches all the policy instances currently available. + + + + -- Example 2 - Fetching a specific policy using its identity -- + PS> Get-CsTeamsMeetingTemplatePermissionPolicy -Identity Foobar + +Identity : Tag:Foobar +HiddenMeetingTemplates : {customtemplate_9ab0014a-bba4-4ad6-b816-0b42104b5056} +Description : + + Fetches an instance of a policy with known identity. + + + + ---------- Example 3 - Fetching policies using regex ---------- + PS> Get-CsTeamsMeetingTemplatePermissionPolicy -Filter *Foo* + +Identity : Tag:Foobar +HiddenMeetingTemplates : {customtemplate_9ab0014a-bba4-4ad6-b816-0b42104b5056} +Description : + + The `Filter` parameter can be used to fetch policy instances based on partial matches on Identity. + Note: The "Tag:" prefix can be ignored when specifying the identity. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/Get-CsTeamsMeetingTemplatePermissionPolicy + + + Set-CsTeamsMeetingTemplatePermissionPolicy + + + + New-CsTeamsMeetingTemplatePermissionPolicy + + + + Remove-CsTeamsMeetingTemplatePermissionPolicy + + + + Grant-CsTeamsMeetingTemplatePermissionPolicy + + + + + + + Get-CsTeamsMessagingPolicy + Get + CsTeamsMessagingPolicy + + The CsTeamsMessagingPolicy cmdlets enable administrators to control if a user is enabled to exchange messages. + + + + The CsTeamsMessagingPolicy cmdlets enable administrators to control if a user is enabled to exchange messages. These also help determine the type of messages users can create and modify. This cmdlet lets you retrieve messaging policies that are available for use within your organization. + + + + Get-CsTeamsMessagingPolicy + + Identity + + Unique identifier for the policy to be retrieved. To retrieve the global policy, use this syntax: -Identity global. To retrieve a per-user policy use syntax similar to this: -Identity StudentMessagingPolicy. + If this parameter is not included, the Get-CsTeamsMessagingPolicy cmdlet will return a collection of all the teams messaging policies configured for use in your organization. + Note that wildcards are not allowed when specifying an Identity. Use the Filter parameter if you need to use wildcards when specifying a messaging policy. + + XdsIdentity + + XdsIdentity + + + None + + + Filter + + Enables you to use wildcard characters when specifying the policy (or policies) to be returned. + + String + + String + + + None + + + LocalStore + + + + + SwitchParameter + + + False + + + Tenant + + + + Guid + + Guid + + + None + + + + + + Filter + + Enables you to use wildcard characters when specifying the policy (or policies) to be returned. + + String + + String + + + None + + + Identity + + Unique identifier for the policy to be retrieved. To retrieve the global policy, use this syntax: -Identity global. To retrieve a per-user policy use syntax similar to this: -Identity StudentMessagingPolicy. + If this parameter is not included, the Get-CsTeamsMessagingPolicy cmdlet will return a collection of all the teams messaging policies configured for use in your organization. + Note that wildcards are not allowed when specifying an Identity. Use the Filter parameter if you need to use wildcards when specifying a messaging policy. + + XdsIdentity + + XdsIdentity + + + None + + + LocalStore + + + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + + + Guid + + Guid + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + powershell +PS C:\> Get-CsTeamsMessagingPolicy + + In this example all teams messaging policies that have been configured in the organization will be returned. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamsmessagingpolicy + + + + + + Get-CsTeamsRecordingRollOutPolicy + Get + CsTeamsRecordingRollOutPolicy + + The CsTeamsRecordingRollOutPolicy controls roll out of the change that governs the storage for meeting recordings. + + + + The CsTeamsRecordingRollOutPolicy controls roll out of the change that governs the storage for meeting recordings. This policy would be deprecated over time as this is only to allow IT admins to phase the roll out of this breaking change. + The Get-CsTeamsRecordingRollOutPolicy cmdlet enables you to return information about all the CsTeamsRecordingRollOutPolicy that have been configured for use in your organization. + This command is available from Teams powershell module 6.1.1-preview and above. + + + + Get-CsTeamsRecordingRollOutPolicy + + Filter + + Enables you to use wildcard characters when indicating the policy (or policies) to be returned. + + String + + String + + + None + + + + Get-CsTeamsRecordingRollOutPolicy + + Identity + + Unique identifier of the policy to be returned. To refer to the global policy, use this syntax: -Identity global. To refer to a per-user policy, use syntax similar to this: -Identity SalesDepartmentPolicy. If this parameter is omitted, then all the meeting policies configured for use in your organization will be returned. + + String + + String + + + None + + + + + + Filter + + Enables you to use wildcard characters when indicating the policy (or policies) to be returned. + + String + + String + + + None + + + Identity + + Unique identifier of the policy to be returned. To refer to the global policy, use this syntax: -Identity global. To refer to a per-user policy, use syntax similar to this: -Identity SalesDepartmentPolicy. If this parameter is omitted, then all the meeting policies configured for use in your organization will be returned. + + String + + String + + + None + + + + + + None + + + + + + + + + + TeamsRecordingRollOutPolicy.Cmdlets.TeamsRecordingRollOutPolicy + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsTeamsRecordingRollOutPolicy + + In Example 1, Get-CsTeamsRecordingRollOutPolicy is called without any additional parameters; this returns a collection of all the CsTeamsRecordingRollOutPolicy configured for use in your organization. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamsrecordingrolloutpolicy + + + + + + Get-CsTeamsSharedCallingRoutingPolicy + Get + CsTeamsSharedCallingRoutingPolicy + + Use the Get-CsTeamsSharedCallingRoutingPolicy cmdlet to get Teams shared calling routing policy information. Teams shared calling routing policy is used to configure shared calling. + + + + TeamsSharedCallingRoutingPolicy is used to configure shared calling. + + + + Get-CsTeamsSharedCallingRoutingPolicy + + Identity + + Unique identifier of the Teams shared calling routing policy to be retrieved. + You cannot use wildcard characters when specifying the Identity. If neither the Identity nor the Filter parameters are specified, then Get-CsTeamsSharedCallingRoutingPolicy returns all the Teams shared calling routing policies configured for use in the organization. + + String + + String + + + None + + + + Get-CsTeamsSharedCallingRoutingPolicy + + Filter + + Enables you to use wildcard characters when indicating the policy (or policies) to be returned. To return a collection of all the per-user policies, use this syntax: -Filter "tag:*". + + String + + String + + + None + + + + + + Identity + + Unique identifier of the Teams shared calling routing policy to be retrieved. + You cannot use wildcard characters when specifying the Identity. If neither the Identity nor the Filter parameters are specified, then Get-CsTeamsSharedCallingRoutingPolicy returns all the Teams shared calling routing policies configured for use in the organization. + + String + + String + + + None + + + Filter + + Enables you to use wildcard characters when indicating the policy (or policies) to be returned. To return a collection of all the per-user policies, use this syntax: -Filter "tag:*". + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsTeamsSharedCallingRoutingPolicy + + The command shown in Example 1 returns information for all the Teams shared calling routing policies configured for use in the organization. + + + + -------------------------- Example 2 -------------------------- + Get-CsTeamsSharedCallingRoutingPolicy -Identity "Seattle" + + In Example 2, information is returned for a single Teams shared calling routing policy; the policy with Identity Seattle. + + + + -------------------------- Example 3 -------------------------- + Get-CsTeamsSharedCallingRoutingPolicy -Filter "tag:*" + + The command shown in Example 3 returns information about all the Teams shared calling routing policies configured at the per-user scope. + + + + -------------------------- Example 4 -------------------------- + Get-CsTeamsSharedCallingRoutingPolicy -Identity Global + + The command shown in Example 4 returns information about the Global policy instance. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamssharedcallingroutingpolicy + + + Set-CsTeamsSharedCallingRoutingPolicy + + + + Grant-CsTeamsSharedCallingRoutingPolicy + + + + Remove-CsTeamsSharedCallingRoutingPolicy + + + + New-CsTeamsSharedCallingRoutingPolicy + + + + + + + Get-CsTeamsShiftsPolicy + Get + CsTeamsShiftsPolicy + + This cmdlet allows you to get properties of a TeamsShiftPolicy instance, including user's Teams off shift warning message-specific settings. + + + + This cmdlet allows you to get properties of a TeamsShiftPolicy instance. Use this to get the policy name and Teams off shift warning message-specific settings (ShiftNoticeMessageType, ShiftNoticeMessageCustom, ShiftNoticeFrequency, AccessGracePeriodMinutes). + + + + Get-CsTeamsShiftsPolicy + + Identity + + Policy instance name. Optional. + + XdsIdentity + + XdsIdentity + + + None + + + + + + Identity + + Policy instance name. Optional. + + XdsIdentity + + XdsIdentity + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsTeamsShiftsPolicy + + Gets the properties of all instances of the TeamsShiftPolicy. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Get-CsTeamsShiftsPolicy -Identity OffShiftAccessMessage1Always + + Gets the properties of the OffShiftAccessMessage1Always instance of the TeamsShiftPolicy. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-teamsshiftspolicy + + + Set-CsTeamsShiftsPolicy + + + + New-CsTeamsShiftsPolicy + + + + Remove-CsTeamsShiftsPolicy + + + + Grant-CsTeamsShiftsPolicy + + + + + + + Get-CsTeamsSipDevicesConfiguration + Get + CsTeamsSipDevicesConfiguration + + This cmdlet is used to retrieve the organization-wide Teams SIP devices configuration. + + + + This cmdlet is used to retrieve the organization-wide Teams SIP devices configuration which contains settings that are applicable to SIP devices connected to Teams using Teams Sip Gateway. + To execute the cmdlet, you need to hold a role within your organization such as Global Administrator, Global Reader, Teams Administrator, or Teams Communication Administrator. + + + + Get-CsTeamsSipDevicesConfiguration + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsTeamsSipDevicesConfiguration + +Identity : Global +BulkSignIn : Enabled + + In this example, the organization has Bulk SignIn enabled for their SIP devices. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamssipdevicesconfiguration + + + Set-CsTeamsSipDevicesConfiguration + + + + + + + Get-CsTeamsTemplatePermissionPolicy + Get + CsTeamsTemplatePermissionPolicy + + Fetches the TeamsTemplatePermissionPolicy. This policy can be used to hide Teams templates from users and groups. + + + + Fetches the instances of the policy. Each policy object contains a property called `HiddenTemplates`.This array contains the list of Teams template IDs that will be hidden by that instance of the policy. + + + + Get-CsTeamsTemplatePermissionPolicy + + Filter + + This parameter can be used to fetch policy instances based on partial matches on the `Identity` field. + + String + + String + + + None + + + + Get-CsTeamsTemplatePermissionPolicy + + Identity + + This parameter can be used to fetch a specific instance of the policy. + + String + + String + + + None + + + + + + Filter + + This parameter can be used to fetch policy instances based on partial matches on the `Identity` field. + + String + + String + + + None + + + Identity + + This parameter can be used to fetch a specific instance of the policy. + + String + + String + + + None + + + + + + None + + + + + + + + + + TeamsTemplatePermissionPolicy.Cmdlets.TeamsTemplatePermissionPolicy + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS >Get-CsTeamsTemplatePermissionPolicy + +Identity HiddenTemplates Description +-------- --------------- ----------- +Global {com.microsoft.teams.template.CoordinateIncidentResponse} +Tag:Foobar {com.microsoft.teams.template.ManageAProject, com.microsoft.teams.template.ManageAnEvent} + + Fetches all the policy instances currently available. + + + + -------------------------- Example 2 -------------------------- + PS >Get-CsTeamsTemplatePermissionPolicy -Identity Foobar + +Identity HiddenTemplates Description +-------- --------------- ----------- +Tag:Foobar {com.microsoft.teams.template.ManageAProject, com.microsoft.teams.template.ManageAnEvent} + + Fetches an instance of a policy with known identity. + + + + -------------------------- Example 3 -------------------------- + PS >Get-CsTeamsTemplatePermissionPolicy -Filter *Foo* + +Identity HiddenTemplates Description +-------- --------------- ----------- +Tag:Foobar {com.microsoft.teams.template.ManageAProject, com.microsoft.teams.template.ManageAnEvent} + + The `Filter` parameter can be used to fetch policy instances based on partial matches on Identity. + Note: The "Tag:" prefix can be ignored when specifying the identity. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamstemplatepermissionpolicy + + + New-CsTeamsTemplatePermissionPolicy + + + + Remove-CsTeamsTemplatePermissionPolicy + + + + Set-CsTeamsTemplatePermissionPolicy + + + + + + + Get-CsTeamsUpdateManagementPolicy + Get + CsTeamsUpdateManagementPolicy + + Use this cmdlet to retrieve the current Teams Update Management policies in the organization. + + + + Retrieves the current Teams Update Management policies in the organization. + + + + Get-CsTeamsUpdateManagementPolicy + + Identity + + The unique identifier of the policy. + + String + + String + + + None + + + + + + Identity + + The unique identifier of the policy. + + String + + String + + + None + + + + + + None + + + + + + + + + + TeamsUpdateManagementPolicy.Cmdlets.TeamsUpdateManagementPolicy + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsTeamsUpdateManagementPolicy + + In this example, we retrieve all the existing Teams Update Management policies in the organization. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamsupdatemanagementpolicy + + + + + + Get-CsTeamsUpgradeConfiguration + Get + CsTeamsUpgradeConfiguration + + Returns information related to managing the upgrade to Teams from Skype for Business. TeamsUpgradeConfiguration should be used in conjunction with TeamsUpgradePolicy. The settings in TeamsUpgradeConfiguration allow administrators to configure whether users subject to upgrade and who are running on Windows clients should automatically download Teams. For Office 365 users, it allows administrators to determine which application end users should use to join Skype for Business meetings. + + + + TeamsUpgradeConfiguration is used in conjunction with TeamsUpgradePolicy. The settings in TeamsUpgradeConfiguration allow administrators to configure whether users subject to upgrade and who are running on Windows clients should automatically download the Teams app. It also allows administrators to determine which application Office 365 users should use to join Skype for Business meetings. + Separate instances of TeamsUpgradeConfiguration exist in Office 365 and Skype for Business Server. - TeamsUpgradeConfiguration in Office 365 applies to any user who does not have an on-premises Skype for Business account. - TeamsUpgradeConfiguration in Skype for Business Server can used to manage on-premises users in a hybrid environment. In on-premises, only the DownloadTeams property is available. + The DownloadTeams property allows admins to control whether the Skype for Business client should automatically download the Teams app in the background. This setting is only honored for users on Windows clients, and only if TeamsUpgradePolicy for the user meets either of these conditions: - NotifySfbUser=true, or - Mode=TeamsOnly Otherwise, this setting is ignored. + The SfBMeetingJoinUx property allows admins to specify which app is used to join Skype for Business meetings, even after the user has been upgraded to Teams. Allowed values are: SkypeMeetingsApp and NativeLimitedClient. "NativeLimitedClient" means the existing Skype for Business rich client will be used, but since the user is upgraded, only meeting functionality is available. Calling and Messaging are done via Teams. "SkypeMeetingsApp" means use the web-downloadable app. This setting can be useful for organizations that have upgraded to Teams and no longer want to install Skype for Business on their users' computers. This property is only available when configuring TeamsUpgradeConfiguration in Office 365. It is not honored for users homed on-premises in Skype for Business Server. + + + + Get-CsTeamsUpgradeConfiguration + + Identity + + {{Fill Identity Description}} + + XdsIdentity + + XdsIdentity + + + None + + + LocalStore + + Do not use + + + SwitchParameter + + + False + + + Tenant + + {{Fill Tenant Description}} + + Guid + + Guid + + + None + + + + + + Identity + + {{Fill Identity Description}} + + XdsIdentity + + XdsIdentity + + + None + + + LocalStore + + Do not use + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + {{Fill Tenant Description}} + + Guid + + Guid + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + These settings are only honored by newer versions of Skype for Business clients. + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsTeamsUpgradeConfiguration + + The above cmdlet lists the properties of TeamsUpgradeConfiguration. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/skype/get-csteamsupgradeconfiguration + + + Set-CsTeamsUpgradeConfiguration + + + + Get-CsTeamsUpgradePolicy + + + + Grant-CsTeamsUpgradePolicy + + + + Migration and interoperability guidance for organizations using Teams together with Skype for Business + https://learn.microsoft.com/MicrosoftTeams/migration-interop-guidance-for-teams-with-skype + + + + + + Get-CsTeamsVirtualAppointmentsPolicy + Get + CsTeamsVirtualAppointmentsPolicy + + This cmdlet is used to fetch policy instances of TeamsVirtualAppointmentsPolicy. + + + + Fetches instances of TeamsVirtualAppointmentsPolicy. Each policy object contains a property called `EnableSmsNotifications`. This property specifies whether your users can choose to send SMS text notifications to external guests in meetings that they schedule using a virtual appointment meeting template. + + + + Get-CsTeamsVirtualAppointmentsPolicy + + Filter + + This parameter can be used to fetch policy instances based on partial matches on the Identity field. + + String + + String + + + None + + + + Get-CsTeamsVirtualAppointmentsPolicy + + Identity + + This parameter can be used to fetch a specific instance of the policy. + + String + + String + + + None + + + + + + Filter + + This parameter can be used to fetch policy instances based on partial matches on the Identity field. + + String + + String + + + None + + + Identity + + This parameter can be used to fetch a specific instance of the policy. + + String + + String + + + None + + + + + + System.String + + + + + + + + + + TeamsVirtualAppointmentsPolicy.Cmdlets.TeamsVirtualAppointmentsPolicy + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsTeamsVirtualAppointmentsPolicy + +Identity EnableSmsNotifications +-------- ---------------------- +Global True +Tag:sms-enabled True +Tag:sms-disabled False + + Fetches all the policy instances currently available. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Get-CsTeamsVirtualAppointmentsPolicy -Identity sms-enabled + +Identity EnableSmsNotifications +-------- ---------------------- +Tag:sms-enabled True + + Fetches an instance of a policy with a known identity. + + + + -------------------------- Example 3 -------------------------- + PS C:\> Get-CsTeamsVirtualAppointmentsPolicy -Filter *sms* + +Identity EnableSmsNotifications +-------- ---------------------- +Tag:sms-enabled True +Tag:sms-disabled False + + The `Filter` parameter can be used to fetch policy instances based on partial matches on Identity. + Note: The "Tag:" prefix can be ignored when specifying the identity. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamsvirtualappointmentspolicy + + + New-CsTeamsVirtualAppointmentsPolicy + + + + Remove-CsTeamsVirtualAppointmentsPolicy + + + + Set-CsTeamsVirtualAppointmentsPolicy + + + + Grant-CsTeamsVirtualAppointmentsPolicy + + + + + + + Get-CsTeamsVoiceApplicationsPolicy + Get + CsTeamsVoiceApplicationsPolicy + + Use the Get-CsTeamsVoiceApplicationsPolicy cmdlet to get Teams voice applications policy information. TeamsVoiceApplications policy governs what permissions the supervisors/users have over auto attendants and call queues. + + + + TeamsVoiceApplicationsPolicy is used for Supervisor Delegated Administration which allows tenant admins to permit certain users to make changes to auto attendant and call queue configurations. + + + + Get-CsTeamsVoiceApplicationsPolicy + + Identity + + Unique identifier of the Teams voice applications policy to be retrieved. To return the global policy, use this syntax: + -Identity global + To return a policy configured at the per-user scope, use syntax like this: + -Identity "SDA-Allow-All" + You cannot use wildcard characters when specifying the Identity. + If neither the Identity nor the Filter parameters are specified, then Get-CsTeamsVoiceApplicationsPolicy returns all the Teams voice applications policies configured for use in the tenant. + + String + + String + + + None + + + + Get-CsTeamsVoiceApplicationsPolicy + + Filter + + Enables you to use wildcards when retrieving one or more Teams voice applications policies. For example, to return all the policies configured at the per-user scope, use this syntax: + -Filter "tag:*" + + String + + String + + + None + + + + + + Identity + + Unique identifier of the Teams voice applications policy to be retrieved. To return the global policy, use this syntax: + -Identity global + To return a policy configured at the per-user scope, use syntax like this: + -Identity "SDA-Allow-All" + You cannot use wildcard characters when specifying the Identity. + If neither the Identity nor the Filter parameters are specified, then Get-CsTeamsVoiceApplicationsPolicy returns all the Teams voice applications policies configured for use in the tenant. + + String + + String + + + None + + + Filter + + Enables you to use wildcards when retrieving one or more Teams voice applications policies. For example, to return all the policies configured at the per-user scope, use this syntax: + -Filter "tag:*" + + String + + String + + + None + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- EXAMPLE 1 -------------------------- + Get-CsTeamsVoiceApplicationsPolicy + + The command shown in Example 1 returns information for all the Teams voice applications policies configured for use in the tenant. + + + + -------------------------- EXAMPLE 2 -------------------------- + Get-CsTeamsVoiceApplicationsPolicy -Identity "SDA-Allow-All" + + In Example 2, information is returned for a single Teams voice applications policy; the policy with the Identity SDA-Allow-All. + + + + -------------------------- EXAMPLE 3 -------------------------- + Get-CsTeamsVoiceApplicationsPolicy -Filter "tag:*" + + The command shown in Example 3 returns information about all the Teams voice applications policies configured at the per-user scope. To do this, the command uses the Filter parameter and the filter value "tag:*"; that filter value limits the returned data to policies that have an Identity that begins with the string value "tag:". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamsvoiceapplicationspolicy + + + Set-CsTeamsVoiceApplicationsPolicy + + + + Grant-CsTeamsVoiceApplicationsPolicy + + + + Remove-CsTeamsVoiceApplicationsPolicy + + + + New-CsTeamsVoiceApplicationsPolicy + + + + + + + Get-CsTeamsWorkLocationDetectionPolicy + Get + CsTeamsWorkLocationDetectionPolicy + + This cmdlet is used to fetch policy instances of TeamsWorkLocationDetectionPolicy. + + + + Fetches instances of TeamsWorkLocationDetectionPolicy. Each policy object contains a property called `EnableWorkLocationDetection`. This setting allows your organization to collect the work location of users when they connect, interact, or are detected near your organization's networks and devices. It also captures the geographic location information users share from personal and mobile devices. This gives users the ability to consent to the use of this location data to set their current work location.Microsoft collects this information to provide users with a consistent location-based experience and to improve the hybrid work experience in Microsoft 365 according to the Microsoft Privacy Statement (https://go.microsoft.com/fwlink/?LinkId=521839). + + + + Get-CsTeamsWorkLocationDetectionPolicy + + Filter + + This parameter can be used to fetch policy instances based on partial matches on the Identity field. + + String + + String + + + None + + + + Get-CsTeamsWorkLocationDetectionPolicy + + Identity + + This parameter can be used to fetch a specific instance of the policy. + + String + + String + + + None + + + + + + Filter + + This parameter can be used to fetch policy instances based on partial matches on the Identity field. + + String + + String + + + None + + + Identity + + This parameter can be used to fetch a specific instance of the policy. + + String + + String + + + None + + + + + + System.String + + + + + + + + + + TeamsWorkLocationDetectionPolicy.Cmdlets.TeamsWorkLocationDetectionPolicy + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsTeamsWorkLocationDetectionPolicy + +Identity EnableWorkLocationDetection +-------- ---------------------- +Global False +Tag:wld-enabled True +Tag:wld-disabled False + + Fetches all the policy instances currently available. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Get-CsTeamsWorkLocationDetectionPolicy -Identity wld-enabled + +Identity EnableWorkLocationDetection +-------- ---------------------- +Tag:wld-enabled True + + Fetches an instance of a policy with a known identity. + + + + -------------------------- Example 3 -------------------------- + PS C:\> Get-CsTeamsWorkLocationDetectionPolicy -Filter *wld* + +Identity EnableWorkLocationDetection +-------- ---------------------- +Tag:wld-enabled True +Tag:wld-disabled False + + The `Filter` parameter can be used to fetch policy instances based on partial matches on Identity. + Note: The "Tag:" prefix can be ignored when specifying the identity. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamsworklocationdetectionpolicy + + + New-CsTeamsWorkLocationDetectionPolicy + + + + Remove-CsTeamsWorkLocationDetectionPolicy + + + + Set-CsTeamsWorkLocationDetectionPolicy + + + + Grant-CsTeamsWorkLocationDetectionPolicy + + + + + + + Get-CsTenantNetworkSite + Get + CsTenantNetworkSite + + Returns information about the network site setting in the tenant. Tenant network site is used for Location Based Routing. + + + + A network site represents a location where your organization has a physical venue, such as offices, a set of buildings, or a campus. Network sites are defined as a collection of IP subnets. + A best practice for Location Bsed Routing (LBR) is to create a separate site for each location which has unique PSTN connectivity. Each network site must be associated with a network region. Sites may be created as LBR or non-LBR enabled. A non-LBR enabled site may be created to allow LBR enabled users to make PSTN calls when they roam to that site. Note that network sites may also be used for emergency calling enablement and configuration. + Location Based Routing is a feature which allows PSTN toll bypass to be restricted for users based upon policy and the user's geographic location at the time of an incoming or outgoing PSTN call. + Location-Based Routing leverages the same network regions, sites, and subnets concept that is available in Skype for Business Server. It is now available in O365 for Teams clients. For toll bypass restricted locations, each IP subnet and PSTN gateway for that location are associated to a network site by the administrator. A user's location is determined by the IP subnet which the user's Teams endpoint(s) is connected to at the time of a PSTN call. A user may have multiple Teams clients located at different sites, in which case Location-Based Routing will enforce each client's routing separately depending on the location of its endpoint. + + + + Get-CsTenantNetworkSite + + Filter + + Enables you to use wildcard characters when indicating the site (or sites) to be returned. + + String + + String + + + None + + + + Get-CsTenantNetworkSite + + Identity + + The Identity parameter is a unique identifier for the site. + + String + + String + + + None + + + + Get-CsTenantNetworkSite + + IncludePhoneNumbers + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + + + + Filter + + Enables you to use wildcard characters when indicating the site (or sites) to be returned. + + String + + String + + + None + + + Identity + + The Identity parameter is a unique identifier for the site. + + String + + String + + + None + + + IncludePhoneNumbers + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + + + + None + + + + + + + + + + Identity + + + The Identity of the site. + + + + + Description + + + The description of the site. + + + + + NetworkRegionID + + + The network region ID of the site. + + + + + LocationPolicyID + + + The ID of the location policy assigned to the site. + + + + + SiteAddress + + + This parameter is reserved for internal Microsoft use. + + + + + NetworkSiteID + + + The ID of the network site. + + + + + OnlineVoiceRoutingPolicyTagID + + + The ID of the online voice routing policy assigned to the site. + + + + + EnableLocationBasedRouting + + + Boolean stating whether Location-Based Routing is enabled on the site. + + + + + EmergencyCallRoutingPolicyTagID + + + The ID of the Teams emergency call routing policy assigned to the site. + + + + + EmergencyCallingPolicyTagID + + + The ID of the Teams emergency calling policy assigned to the site. + + + + + NetworkRoamingPolicyTagID + + + The ID of the Teams network roaming policy assigned to the site. + + + + + EmergencyCallRoutingPolicyName + + + The name of the Teams emergency call routing policy assigned to the site. + + + + + EmergencyCallingPolicyName + + + The name of the Teams emergency calling policy assigned to the site. + + + + + NetworkRoamingPolicyName + + + The name of the Teams network roaming policy assigned to the site. + + + + + PhoneNumbers + + + This parameter is reserved for internal Microsoft use. + + + + + + The parameter IncludePhoneNumbers was introduced in Teams PowerShell Module 5.5.0. + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsTenantNetworkSite + + The command shown in Example 1 returns the list of network sites for the current tenant. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Get-CsTenantNetworkSite -Identity siteA + + The command shown in Example 2 returns the network site within the scope of siteA. + + + + -------------------------- Example 3 -------------------------- + PS C:\> Get-CsTenantNetworkSite -Filter "Los Angeles" + + The command shown in Example 3 returns the network site that matches the specified filter. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-cstenantnetworksite + + + New-CsTenantNetworkSite + + + + Remove-CsTenantNetworkSite + + + + Set-CsTenantNetworkSite + + + + + + + Grant-CsExternalAccessPolicy + Grant + CsExternalAccessPolicy + + Enables you to assign an external access policy to a user or a group of users. External access policies determine whether or not your users can: 1) communicate with users who have Session Initiation Protocol (SIP) accounts with a federated organization; 2) communicate with users who are using custom applications built with Azure Communication Services (ACS) (/azure/communication-services/concepts/teams-interop); 3) access Skype for Business Server over the Internet, without having to log on to your internal network; and, 4) communicate with users who have SIP accounts with a public instant messaging (IM)provider such as Skype. + This cmdlet was introduced in Lync Server 2010. + + + + When you install Microsoft Teams or Skype for Business Server, your users are only allowed to exchange instant messages and presence information among themselves: by default, they can only communicate with other people who have SIP accounts in your Active Directory Domain Services. In addition, users are not allowed to access Skype for Business Server over the Internet; instead, they must be logged on to your internal network before they will be able to log on to Skype for Business Server. + That might be sufficient to meet your communication needs. If it doesn't meet your needs you can use external access policies to extend the ability of your users to communicate and collaborate. External access policies can grant (or revoke) the ability of your users to do any or all of the following: + 1. Communicate with people who have SIP accounts with a federated organization. Note that enabling federation will not automatically provide users with this capability. Instead, you must enable federation, and then assign users an external access policy that gives them the right to communicate with federated users. + 2. (Microsoft Teams only) Communicate with users who are using custom applications built with Azure Communication Services (ACS) (/azure/communication-services/concepts/teams-interop). This policy setting only applies if ACS federation has been enabled at the tenant level using the cmdlet [Set-CsTeamsAcsFederationConfiguration](/powershell/module/teams/set-csteamsacsfederationconfiguration). + 3. Communicate with people who have SIP accounts with a public instant messaging service such as Skype. + 4. Access Skype for Business Server over the Internet, without having to first log on to your internal network. This enables your users to use Skype for Business and log on to Skype for Business Server from an Internet café or other remote location. + When you install Skype for Business Server, a global external access policy is automatically created for you. In addition to this global policy, you can use the New-CsExternalAccessPolicy cmdlet to create additional external access policies configured at either the site or the per-user scope. + When a policy is created at the site scope, it is automatically assigned to the site in question; for example, an external access policy with the Identity site:Redmond will automatically be assigned to the Redmond site. By contrast, policies created at the per-user scope are not automatically assigned to anyone. Instead, these policies must be explicitly assigned to a user or a group of users. Assigning per-user policies is the job of the Grant-CsExternalAccessPolicy cmdlet. + Note that per-user policies always take precedent over site policies and the global policy. For example, suppose you create a per-user policy that allows communication with federated users, and you assign that policy to Ken Myer. As long as that policy is in force, Ken will be allowed to communicate with federated users even if this type of communication is not allowed by Ken's site policy or by the global policy. That's because the settings in the per-user policy take precedence. + + + + Grant-CsExternalAccessPolicy + + Identity + + Identity of the user account the policy should be assigned to. User Identities can be specified by using one of four formats: 1) the user's SIP address; 2) the user's user principal name (UPN); 3) the user's domain name and logon name, in the form domain\logon (for example, litwareinc\kenmyer); and, 4) the user's Active Directory display name (for example, Ken Myer). User Identities can also be referenced by using the user's Active Directory distinguished name. + In addition, you can use the asterisk (*) wildcard character when specifying the user Identity. For example, the Identity "* Smith" returns all the users with a display name that ends with the string value " Smith." + + UserIdParameter + + UserIdParameter + + + None + + + PolicyName + + "Name" of the policy to be assigned. The PolicyName is simply the policy Identity minus the policy scope (the "tag:" prefix). For example, a policy with the Identity tag:Redmond has a PolicyName equal to Redmond; a policy with the Identity tag:RedmondAccessPolicy has a PolicyName equal to RedmondAccessPolicy. + To unassign a per-user policy previously assigned to a user, set the PolicyName parameter to $Null. + + String + + String + + + None + + + DomainController + + Enables you to specify the fully qualified domain name (FQDN) of a domain controller to be contacted when assigning the new policy. If this parameter is not specified, then the Grant-CsExternalAccessPolicy cmdlet will contact the first available domain controller. + + Fqdn + + Fqdn + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user being assigned the policy. By default, the Grant-CsExternalAccessPolicy cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before executing the command. + + + SwitchParameter + + + False + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + + Grant-CsExternalAccessPolicy + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + PolicyName + + "Name" of the policy to be assigned. The PolicyName is simply the policy Identity minus the policy scope (the "tag:" prefix). For example, a policy with the Identity tag:Redmond has a PolicyName equal to Redmond; a policy with the Identity tag:RedmondAccessPolicy has a PolicyName equal to RedmondAccessPolicy. + To unassign a per-user policy previously assigned to a user, set the PolicyName parameter to $Null. + + String + + String + + + None + + + DomainController + + Enables you to specify the fully qualified domain name (FQDN) of a domain controller to be contacted when assigning the new policy. If this parameter is not specified, then the Grant-CsExternalAccessPolicy cmdlet will contact the first available domain controller. + + Fqdn + + Fqdn + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user being assigned the policy. By default, the Grant-CsExternalAccessPolicy cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before executing the command. + + + SwitchParameter + + + False + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + + Grant-CsExternalAccessPolicy + + Global + + When you use this cmdlet without specifying a user identity, the policy applies to all users in your tenant. To skip a warning when you do this operation, specify "-Global". + + + SwitchParameter + + + False + + + PolicyName + + "Name" of the policy to be assigned. The PolicyName is simply the policy Identity minus the policy scope (the "tag:" prefix). For example, a policy with the Identity tag:Redmond has a PolicyName equal to Redmond; a policy with the Identity tag:RedmondAccessPolicy has a PolicyName equal to RedmondAccessPolicy. + To unassign a per-user policy previously assigned to a user, set the PolicyName parameter to $Null. + + String + + String + + + None + + + DomainController + + Enables you to specify the fully qualified domain name (FQDN) of a domain controller to be contacted when assigning the new policy. If this parameter is not specified, then the Grant-CsExternalAccessPolicy cmdlet will contact the first available domain controller. + + Fqdn + + Fqdn + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user being assigned the policy. By default, the Grant-CsExternalAccessPolicy cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before executing the command. + + + SwitchParameter + + + False + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + + + + Identity + + Identity of the user account the policy should be assigned to. User Identities can be specified by using one of four formats: 1) the user's SIP address; 2) the user's user principal name (UPN); 3) the user's domain name and logon name, in the form domain\logon (for example, litwareinc\kenmyer); and, 4) the user's Active Directory display name (for example, Ken Myer). User Identities can also be referenced by using the user's Active Directory distinguished name. + In addition, you can use the asterisk (*) wildcard character when specifying the user Identity. For example, the Identity "* Smith" returns all the users with a display name that ends with the string value " Smith." + + UserIdParameter + + UserIdParameter + + + None + + + PolicyName + + "Name" of the policy to be assigned. The PolicyName is simply the policy Identity minus the policy scope (the "tag:" prefix). For example, a policy with the Identity tag:Redmond has a PolicyName equal to Redmond; a policy with the Identity tag:RedmondAccessPolicy has a PolicyName equal to RedmondAccessPolicy. + To unassign a per-user policy previously assigned to a user, set the PolicyName parameter to $Null. + + String + + String + + + None + + + DomainController + + Enables you to specify the fully qualified domain name (FQDN) of a domain controller to be contacted when assigning the new policy. If this parameter is not specified, then the Grant-CsExternalAccessPolicy cmdlet will contact the first available domain controller. + + Fqdn + + Fqdn + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user being assigned the policy. By default, the Grant-CsExternalAccessPolicy cmdlet does not pass objects through the pipeline. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Global + + When you use this cmdlet without specifying a user identity, the policy applies to all users in your tenant. To skip a warning when you do this operation, specify "-Global". + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + String value or Microsoft.Rtc.Management.ADConnect.Schema.ADUser object. Grant-CsExternalAccessPolicy accepts pipelined input of string values representing the Identity of a user account. The cmdlet also accepts pipelined input of user objects. + + + + + Microsoft.Rtc.Management.AD.UserIdParameter + + + + + + + + + + + String value or Microsoft.Rtc.Management.ADConnect.Schema.ADUser object. The Grant-CsExternalAccessPolicy cmdlet accepts pipelined input of string values representing the Identity of a user account. The cmdlet also accepts pipelined input of user objects. + + + + + + + + + + By default, Grant-CsExternalAccessPolicy does not return a value or object. However, if you include the PassThru parameter, the cmdlet will return instances of the Microsoft.Rtc.Management.ADConnect.Schema.OCSUserOrAppContact object. + + + + + System.Object + + + + + + + + + + + By default, the Grant-CsExternalAccessPolicy cmdlet does not return a value or object. However, if you include the PassThru parameter, the cmdlet will return instances of the Microsoft.Rtc.Management.ADConnect.Schema.OCSUserOrAppContact object. + + + + + + + + + + + -------------------------- EXAMPLE 1 -------------------------- + Grant-CsExternalAccessPolicy -Identity "Ken Myer" -PolicyName RedmondAccessPolicy + + Example 1 assigns the external access policy RedmondAccessPolicy to the user with the Active Directory display name Ken Myer. + + + + -------------------------- EXAMPLE 2 -------------------------- + Get-CsUser -LdapFilter "l=Redmond" | Grant-CsExternalAccessPolicy -PolicyName RedmondAccessPolicy + + The command shown in Example 2 assigns the external access policy RedmondAccessPolicy to all the users who work in the city of Redmond. To do this, the command first uses the Get-CsUser cmdlet and the LdapFilter parameter to return a collection of all the users who work in Redmond; the filter value "l=Redmond" limits returned data to those users who work in the city of Redmond (the l in the filter, a lowercase L, represents the locality). That collection is then piped to the Grant-CsExternalAccessPolicy cmdlet, which assigns the policy RedmondAccessPolicy to each user in the collection. + + + + -------------------------- EXAMPLE 3 -------------------------- + Get-CsUser -LdapFilter "Title=Sales Representative" | Grant-CsExternalAccessPolicy -PolicyName SalesAccessPolicy + + In Example 3, all the users who have the job title "Sales Representative" are assigned the external access policy SalesAccessPolicy. To perform this task, the command first uses the Get-CsUser cmdlet and the LdapFilter parameter to return a collection of all the Sales Representatives; the filter value "Title=Sales Representative" restricts the returned collection to users who have the job title "Sales Representative". This filtered collection is then piped to the Grant-CsExternalAccessPolicy cmdlet, which assigns the policy SalesAccessPolicy to each user in the collection. + + + + -------------------------- EXAMPLE 4 -------------------------- + Get-CsUser -Filter {ExternalAccessPolicy -eq $Null} | Grant-CsExternalAccessPolicy -PolicyName BasicAccessPolicy + + The command shown in Example 4 assigns the external access policy BasicAccessPolicy to all the users who have not been explicitly assigned a per-user policy. (That is, users currently being governed by a site policy or by the global policy.) To do this, the Get-CsUser cmdlet and the Filter parameter are used to return the appropriate set of users; the filter value {ExternalAccessPolicy -eq $Null} limits the returned data to user accounts where the ExternalAccessPolicy property is equal to (-eq) a null value ($Null). By definition, ExternalAccessPolicy will be null only if users have not been assigned a per-user policy. + + + + -------------------------- EXAMPLE 5 -------------------------- + Get-CsUser -OU "ou=US,dc=litwareinc,dc=com" | Grant-CsExternalAccessPolicy -PolicyName USAccessPolicy + + Example 5 assigns the external access policy USAccessPolicy to all the users who have accounts in the US organizational unit (OU). The command starts off by calling the Get-CsUser cmdlet and the OU parameter; the parameter value "ou=US,dc=litwareinc,dc=com" limits the returned data to user accounts found in the US OU. The returned collection is then piped to the Grant-CsExternalAccessPolicy cmdlet, which assigns the policy USAccessPolicy to each user in the collection. + + + + -------------------------- EXAMPLE 6 -------------------------- + Get-CsUser | Grant-CsExternalAccessPolicy -PolicyName $Null + + Example 6 unassigns any per-user external access policy previously assigned to any of the users enabled for Skype for Business Server. To do this, the command calls the Get-CsUser cmdlet (without any additional parameters) in order to return a collection of all the users enabled for Skype for Business Server. That collection is then piped to the Grant-CsExternalAccessPolicy cmdlet, which uses the syntax "`-PolicyName $Null`" to remove any per-user external access policy previously assigned to these users. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/grant-csexternalaccesspolicy + + + Get-CsExternalAccessPolicy + + + + New-CsExternalAccessPolicy + + + + Remove-CsExternalAccessPolicy + + + + Set-CsExternalAccessPolicy + + + + + + + Grant-CsTeamsAppPermissionPolicy + Grant + CsTeamsAppPermissionPolicy + + NOTE : You can use this cmdlet to assign a specific custom policy to a user. We require that all creation and modification of app setup polices (not including the assignment or removal of policies from users) happens in the Microsoft Teams & Skype for Business Admin Center to ensure that the policy matches your expectations for the end user experience. This cmdlet is not supported for tenants that migrated to app centric management feature as it replaced permission policies. While the cmdlet may succeed, the changes aren't applied to the tenant. + As an admin, you can use app permission policies to allow or block apps for your users. Learn more about the app permission policies at <https://learn.microsoft.com/microsoftteams/teams-app-permission-policies> and about app centric management at <https://learn.microsoft.com/microsoftteams/app-centric-management>. + + + + NOTE : You can use this cmdlet to assign a specific custom policy to a user. We require that all creation and modification of app setup polices (not including the assignment or removal of policies from users) happens in the Microsoft Teams & Skype for Business Admin Center to ensure that the policy matches your expectations for the end user experience. + As an admin, you can use app permission policies to enable or block specific apps for your users. Learn more about the App Permission Policies: <https://learn.microsoft.com/microsoftteams/teams-app-permission-policies>. + + + + Grant-CsTeamsAppPermissionPolicy + + PolicyName + + The name of the custom policy that is being assigned to the user. To remove a specific assignment and fall back to the default tenant policy, you can assign to $Null. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + DomainController + + Do not use. + + Fqdn + + Fqdn + + + None + + + Global + + Resets the values in the global policy to match those in the provided (PolicyName) policy. Note that this means all users with no explicit policy assigned will have these new policy settings. + + + SwitchParameter + + + False + + + PassThru + + + + + SwitchParameter + + + False + + + Tenant + + Do not use. + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Grant-CsTeamsAppPermissionPolicy + + Identity + + The user to whom the policy should be assigned. + + UserIdParameter + + UserIdParameter + + + None + + + PolicyName + + The name of the custom policy that is being assigned to the user. To remove a specific assignment and fall back to the default tenant policy, you can assign to $Null. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + DomainController + + Do not use. + + Fqdn + + Fqdn + + + None + + + PassThru + + + + + SwitchParameter + + + False + + + Tenant + + Do not use. + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Grant-CsTeamsAppPermissionPolicy + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + PolicyName + + The name of the custom policy that is being assigned to the user. To remove a specific assignment and fall back to the default tenant policy, you can assign to $Null. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + DomainController + + Do not use. + + Fqdn + + Fqdn + + + None + + + PassThru + + + + + SwitchParameter + + + False + + + Tenant + + Do not use. + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + DomainController + + Do not use. + + Fqdn + + Fqdn + + + None + + + Global + + Resets the values in the global policy to match those in the provided (PolicyName) policy. Note that this means all users with no explicit policy assigned will have these new policy settings. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + The user to whom the policy should be assigned. + + UserIdParameter + + UserIdParameter + + + None + + + PassThru + + + + SwitchParameter + + SwitchParameter + + + False + + + PolicyName + + The name of the custom policy that is being assigned to the user. To remove a specific assignment and fall back to the default tenant policy, you can assign to $Null. + + String + + String + + + None + + + Tenant + + Do not use. + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + + + + Microsoft.Rtc.Management.AD.UserIdParameter + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Grant-CsTeamsAppPermissionPolicy -Identity "Ken Myer" -PolicyName StudentAppPermissionPolicy + + In this example, a user with identity "Ken Myer" is being assigned the StudentAppPermissionPolicy + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/grant-csteamsapppermissionpolicy + + + + + + Grant-CsTeamsAppSetupPolicy + Grant + CsTeamsAppSetupPolicy + + NOTE : You can use this cmdlet to assign a specific custom policy to a user. We require that all creation and modification of app setup polices (not including the assignment or removal of policies from users) happens in the Microsoft Teams & Skype for Business Admin Center to ensure that the policy matches your expectations for the end user experience. + As an admin, you can use app setup policies to customize Microsoft Teams to highlight the apps that are most important for your users. You choose the apps to pin and set the order that they appear. App setup policies let you showcase apps that users in your organization need, including ones built by third parties or by developers in your organization. You can also use app setup policies to manage how built-in features appear. + Apps are pinned to the app bar. This is the bar on the side of the Teams desktop client and at the bottom of the Teams mobile clients (iOS and Android). Learn more about the App Setup Policies: <https://learn.microsoft.com/MicrosoftTeams/teams-app-setup-policies>. + + + + NOTE : You can use this cmdlet to assign a specific custom policy to a user. We require that all creation and modification of app setup polices (not including the assignment or removal of policies from users) happens in the Microsoft Teams & Skype for Business Admin Center to ensure that the policy matches your expectations for the end user experience. + As an admin, you can use app setup policies to customize Microsoft Teams to highlight the apps that are most important for your users. You choose the apps to pin and set the order that they appear. App setup policies let you showcase apps that users in your organization need, including ones built by third parties or by developers in your organization. You can also use app setup policies to manage how built-in features appear. + Apps are pinned to the app bar. This is the bar on the side of the Teams desktop client and at the bottom of the Teams mobile clients (iOS and Android). Learn more about the App Setup Policies: <https://learn.microsoft.com/MicrosoftTeams/teams-app-setup-policies>. + + + + Grant-CsTeamsAppSetupPolicy + + PolicyName + + The name of the custom policy that is being assigned to the user. To remove a specific assignment and fall back to the default tenant policy, you can assign to $Null. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + DomainController + + Do not use. + + Fqdn + + Fqdn + + + None + + + Global + + Resets the values in the global policy to match those in the provided (PolicyName) policy. Note that this means all users with no explicit policy assigned will have these new policy settings. + + + SwitchParameter + + + False + + + PassThru + + + + + SwitchParameter + + + False + + + Tenant + + Do not use. + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Grant-CsTeamsAppSetupPolicy + + Identity + + The user to whom the policy should be assigned. + + UserIdParameter + + UserIdParameter + + + None + + + PolicyName + + The name of the custom policy that is being assigned to the user. To remove a specific assignment and fall back to the default tenant policy, you can assign to $Null. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + DomainController + + Do not use. + + Fqdn + + Fqdn + + + None + + + PassThru + + + + + SwitchParameter + + + False + + + Tenant + + Do not use. + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Grant-CsTeamsAppSetupPolicy + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + PolicyName + + The name of the custom policy that is being assigned to the user. To remove a specific assignment and fall back to the default tenant policy, you can assign to $Null. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + DomainController + + Do not use. + + Fqdn + + Fqdn + + + None + + + PassThru + + + + + SwitchParameter + + + False + + + Tenant + + Do not use. + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + DomainController + + Do not use. + + Fqdn + + Fqdn + + + None + + + Global + + Resets the values in the global policy to match those in the provided (PolicyName) policy. Note that this means all users with no explicit policy assigned will have these new policy settings. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + The user to whom the policy should be assigned. + + UserIdParameter + + UserIdParameter + + + None + + + PassThru + + + + SwitchParameter + + SwitchParameter + + + False + + + PolicyName + + The name of the custom policy that is being assigned to the user. To remove a specific assignment and fall back to the default tenant policy, you can assign to $Null. + + String + + String + + + None + + + Tenant + + Do not use. + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + + + + Microsoft.Rtc.Management.AD.UserIdParameter + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Grant-CsTeamsAppSetupPolicy -identity "Ken Myer" -PolicyName StudentAppSetupPolicy + + In this example, a user with identity "Ken Myer" is being assigned the StudentAppSetupPolicy + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/grant-csteamsappsetuppolicy + + + + + + Grant-CsTeamsCallingPolicy + Grant + CsTeamsCallingPolicy + + Assigns a specific Teams Calling Policy to a user, a group of users, or sets the Global policy instance. + + + + The Teams Calling Policies designate how users are able to use calling functionality within Microsoft Teams. This cmdlet allows admins to grant user level policies to individual users, to members of a group, or to set the Global policy instance. + + + + Grant-CsTeamsCallingPolicy + + Identity + + The user object to whom the policy is being assigned. + + String + + String + + + None + + + PolicyName + + The name of the policy being assigned. To remove an existing user level policy assignment, specify PolicyName as $null. + + String + + String + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user being assigned the policy. By default, the Grant-CsTeamsCallingPolicy cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + Grant-CsTeamsCallingPolicy + + PolicyName + + The name of the policy being assigned. To remove an existing user level policy assignment, specify PolicyName as $null. + + String + + String + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user being assigned the policy. By default, the Grant-CsTeamsCallingPolicy cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + Global + + Sets the parameters of the Global policy instance to the values in the specified policy instance. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + Grant-CsTeamsCallingPolicy + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + PolicyName + + The name of the policy being assigned. To remove an existing user level policy assignment, specify PolicyName as $null. + + String + + String + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user being assigned the policy. By default, the Grant-CsTeamsCallingPolicy cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Identity + + The user object to whom the policy is being assigned. + + String + + String + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user being assigned the policy. By default, the Grant-CsTeamsCallingPolicy cmdlet does not pass objects through the pipeline. + + SwitchParameter + + SwitchParameter + + + False + + + PolicyName + + The name of the policy being assigned. To remove an existing user level policy assignment, specify PolicyName as $null. + + String + + String + + + None + + + Global + + Sets the parameters of the Global policy instance to the values in the specified policy instance. + + SwitchParameter + + SwitchParameter + + + False + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + System.Object + + + + + + + + + The GrantToGroup syntax is supported in Teams PowerShell Module 4.5.1-preview or later. + + + + + -------------------------- Example 1 -------------------------- + Grant-CsTeamsCallingPolicy -identity user1@contoso.com -PolicyName SalesCallingPolicy + + Assigns the TeamsCallingPolicy called "SalesCallingPolicy" to user1@contoso.com + + + + -------------------------- Example 2 -------------------------- + Grant-CsTeamsCallingPolicy -Global -PolicyName SalesCallingPolicy + + Assigns the TeamsCallingPolicy called "SalesCallingPolicy" to the Global policy instance. This sets the parameters in the Global policy instance to the values found in the SalesCallingPolicy instance. + + + + -------------------------- Example 3 -------------------------- + Grant-CsTeamsCallingPolicy -Group sales@contoso.com -Rank 10 -PolicyName SalesCallingPolicy + + Assigns the TeamsCallingPolicy called "SalesCallingPolicy" to the members of the group sales@contoso.com. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/grant-csteamscallingpolicy + + + Set-CsTeamsCallingPolicy + + + + Remove-CsTeamsCallingPolicy + + + + Get-CsTeamsCallingPolicy + + + + New-CsTeamsCallingPolicy + + + + + + + Grant-CsTeamsEventsPolicy + Grant + CsTeamsEventsPolicy + + Assigns Teams Events policy to a user, group of users, or the entire tenant. Note that this policy is currently still in preview. + + + + Assigns Teams Events policy to a user, group of users, or the entire tenant. + TeamsEventsPolicy is used to configure options for customizing Teams Events experiences. + + + + Grant-CsTeamsEventsPolicy + + PolicyName + + "Name" of the policy to be assigned. The PolicyName is simply the policy Identity minus the policy scope (the "tag:" prefix). For example, a policy with the Identity tag:DisablePublicWebinars has a PolicyName equal to DisablePublicWebinars. + To unassign a per-user policy previously assigned to a user, set the PolicyName to a null value ($Null). + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Global + + Use this switch if you want to grant the specified policy to be the default policy for all users in the tenant. + + + SwitchParameter + + + False + + + PassThru + + Enables passing a user object through the pipeline that represents the user being assigned the policy. By default, the Grant-CsTeamsEventsPolicy cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Grant-CsTeamsEventsPolicy + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + PolicyName + + "Name" of the policy to be assigned. The PolicyName is simply the policy Identity minus the policy scope (the "tag:" prefix). For example, a policy with the Identity tag:DisablePublicWebinars has a PolicyName equal to DisablePublicWebinars. + To unassign a per-user policy previously assigned to a user, set the PolicyName to a null value ($Null). + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + PassThru + + Enables passing a user object through the pipeline that represents the user being assigned the policy. By default, the Grant-CsTeamsEventsPolicy cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Grant-CsTeamsEventsPolicy + + Identity + + Specifies the identity of the target user. Acceptable values include: + Example: jphillips@contoso.com + Example: sip:jphillips@contoso.com + Example: 98403f08-577c-46dd-851a-f0460a13b03d + Use the "Global" Identity if you wish to set the policy for the entire tenant. + + String + + String + + + None + + + PolicyName + + "Name" of the policy to be assigned. The PolicyName is simply the policy Identity minus the policy scope (the "tag:" prefix). For example, a policy with the Identity tag:DisablePublicWebinars has a PolicyName equal to DisablePublicWebinars. + To unassign a per-user policy previously assigned to a user, set the PolicyName to a null value ($Null). + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + PassThru + + Enables passing a user object through the pipeline that represents the user being assigned the policy. By default, the Grant-CsTeamsEventsPolicy cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Global + + Use this switch if you want to grant the specified policy to be the default policy for all users in the tenant. + + SwitchParameter + + SwitchParameter + + + False + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Identity + + Specifies the identity of the target user. Acceptable values include: + Example: jphillips@contoso.com + Example: sip:jphillips@contoso.com + Example: 98403f08-577c-46dd-851a-f0460a13b03d + Use the "Global" Identity if you wish to set the policy for the entire tenant. + + String + + String + + + None + + + PassThru + + Enables passing a user object through the pipeline that represents the user being assigned the policy. By default, the Grant-CsTeamsEventsPolicy cmdlet does not pass objects through the pipeline. + + SwitchParameter + + SwitchParameter + + + False + + + PolicyName + + "Name" of the policy to be assigned. The PolicyName is simply the policy Identity minus the policy scope (the "tag:" prefix). For example, a policy with the Identity tag:DisablePublicWebinars has a PolicyName equal to DisablePublicWebinars. + To unassign a per-user policy previously assigned to a user, set the PolicyName to a null value ($Null). + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.String + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Grant-CsTeamsEventsPolicy -Identity "user1@contoso.com" -Policy DisablePublicWebinars + + The command shown in Example 1 assigns the per-user Teams Events policy, DisablePublicWebinars, to the user with the user principal name (UPN) "user1@contoso.com". + + + + -------------------------- Example 2 -------------------------- + PS C:\> Grant-CsTeamsEventsPolicy -Identity "user1@contoso.com" -Policy $null + + The command shown in Example 2 revokes the per-user Teams Events policy for the user with the user principal name (UPN) "user1@contoso.com". As a result, the user will be managed by the global Teams Events policy. + + + + -------------------------- Example 3 -------------------------- + PS C:\> Grant-CsTeamsEventsPolicy -Group "sales@contoso.com" -Rank 10 -Policy DisablePublicWebinars + + The command shown in Example 3 assigns the Teams Events policy, DisablePublicWebinars, to the members of the group "sales@contoso.com". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/grant-csteamseventspolicy + + + + + + Grant-CsTeamsMediaConnectivityPolicy + Grant + CsTeamsMediaConnectivityPolicy + + This cmdlet applies an instance of the Teams media connectivity policy to users or groups in a tenant. + + + + This cmdlet applies an instance of the Teams media connectivity policy to users or groups in a tenant. + Passes in the `Identity` of the policy instance in the `PolicyName` parameter and the user identifier in the `Identity` parameter or the group name in the `Group` parameter. One of either `Identity` or `Group` needs to be passed. + + + + Grant-CsTeamsMediaConnectivityPolicy + + Global + + This is the equivalent to `-Identity Global`. + + + SwitchParameter + + + False + + + PolicyName + + Specifies the name of the policy to be assigned. The PolicyName is the policy identity minus the policy scope ("tag:"), for example, a policy that has an identity of "Tag:Enabled" has a PolicyName of "Enabled". + + String + + String + + + None + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + + SwitchParameter + + + False + + + + Grant-CsTeamsMediaConnectivityPolicy + + Group + + This is the identifier of the group that the policy should be assigned to. + + String + + String + + + None + + + PolicyName + + Specifies the name of the policy to be assigned. The PolicyName is the policy identity minus the policy scope ("tag:"), for example, a policy that has an identity of "Tag:Enabled" has a PolicyName of "Enabled". + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + + Grant-CsTeamsMediaConnectivityPolicy + + PolicyName + + Specifies the name of the policy to be assigned. The PolicyName is the policy identity minus the policy scope ("tag:"), for example, a policy that has an identity of "Tag:Enabled" has a PolicyName of "Enabled". + + String + + String + + + None + + + Identity + + Specifies the identity of the target user. + Example: testuser@test.onmicrosoft.com + Example: 98403f08-577c-46dd-851a-f0460a13b03d + Use the "Global" Identity if you wish to set the policy for the entire tenant. + + String + + String + + + None + + + + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + SwitchParameter + + SwitchParameter + + + False + + + Global + + This is the equivalent to `-Identity Global`. + + SwitchParameter + + SwitchParameter + + + False + + + Group + + This is the identifier of the group that the policy should be assigned to. + + String + + String + + + None + + + Identity + + Specifies the identity of the target user. + Example: testuser@test.onmicrosoft.com + Example: 98403f08-577c-46dd-851a-f0460a13b03d + Use the "Global" Identity if you wish to set the policy for the entire tenant. + + String + + String + + + None + + + PolicyName + + Specifies the name of the policy to be assigned. The PolicyName is the policy identity minus the policy scope ("tag:"), for example, a policy that has an identity of "Tag:Enabled" has a PolicyName of "Enabled". + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Grant-CsTeamsMediaConnectivityPolicy -PolicyName Test -Identity testuser@test.onmicrosoft.com + + Assigns a given policy to a user. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Grant-CsTeamsMediaConnectivityPolicy -Group f13d6c9d-ce76-422c-af78-b6018b4d9c80 -PolicyName Test + + Assigns a given policy to a group. + + + + -------------------------- Example 3 -------------------------- + PS C:\> Grant-CsTeamsMediaConnectivityPolicy -Global -PolicyName Test + + Assigns a given policy to the tenant. + + + + -------------------------- Example 4 -------------------------- + PS C:\> Grant-CsTeamsMediaConnectivityPolicy -Global -PolicyName Test + + Note: Using $null in place of a policy name can be used to unassigned a policy instance. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/Grant-CsTeamsMediaConnectivityPolicy + + + New-CsTeamsMediaConnectivityPolicy + + + + Remove-CsTeamsMediaConnectivityPolicy + + + + Get-CsTeamsMediaConnectivityPolicy + + + + Set-CsTeamsMediaConnectivityPolicy + + + + + + + Grant-CsTeamsMeetingBrandingPolicy + Grant + CsTeamsMeetingBrandingPolicy + + Assigns a teams meeting branding policy at the per-user scope. The CsTeamsMeetingBrandingPolicy cmdlet enables administrators to control the appearance in meetings by defining custom backgrounds, logos, and colors. + + + + Assigns a teams meeting branding policy at the per-user scope. The CsTeamsMeetingBrandingPolicy cmdlet enables administrators to control the appearance in meetings by defining custom backgrounds, logos, and colors. + + + + Grant-CsTeamsMeetingBrandingPolicy + + Global + + Use this switch if you want to grant the specified policy to be the default policy for all users in the tenant. + + + SwitchParameter + + + False + + + PolicyName + + The name of the custom policy that is being assigned to the user. To remove a specific assignment and fall back to the default tenant policy, you can assign it to `$Null`. + + String + + String + + + None + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes. + + + SwitchParameter + + + False + + + + Grant-CsTeamsMeetingBrandingPolicy + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + PolicyName + + The name of the custom policy that is being assigned to the user. To remove a specific assignment and fall back to the default tenant policy, you can assign it to `$Null`. + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes. + + + SwitchParameter + + + False + + + + Grant-CsTeamsMeetingBrandingPolicy + + PolicyName + + The name of the custom policy that is being assigned to the user. To remove a specific assignment and fall back to the default tenant policy, you can assign it to `$Null`. + + String + + String + + + None + + + Identity + + The user you want to grant policy to. This can be specified as an SIP address, UserPrincipalName, or ObjectId. + + String + + String + + + None + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes. + + + SwitchParameter + + + False + + + + + + Global + + Use this switch if you want to grant the specified policy to be the default policy for all users in the tenant. + + SwitchParameter + + SwitchParameter + + + False + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Identity + + The user you want to grant policy to. This can be specified as an SIP address, UserPrincipalName, or ObjectId. + + String + + String + + + None + + + PolicyName + + The name of the custom policy that is being assigned to the user. To remove a specific assignment and fall back to the default tenant policy, you can assign it to `$Null`. + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + Available in Teams PowerShell Module 4.9.3 and later. + + + + + --------- Assign TeamsMeetingBrandingPolicy to a user --------- + PS C:\> Grant-CsTeamsMeetingBrandingPolicy -identity "alice@contoso.com" -PolicyName "Policy Test" + + In this example, the command assigns TeamsMeetingBrandingPolicy with the name `Policy Test` to user `alice@contoso.com`. + + + + --------- Assign TeamsMeetingBrandingPolicy to a group --------- + PS C:\> Grant-CsTeamsMeetingBrandingPolicy -Group group@contoso.com -PolicyName "Policy Test" -Rank 1 + + In this example, the command will assign TeamsMeetingBrandingPolicy with the name `Policy Test` to group `group@contoso.com`. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/grant-csteamsmeetingbrandingpolicy + + + Get-CsTeamsMeetingBrandingPolicy + + + + Grant-CsTeamsMeetingBrandingPolicy + + + + New-CsTeamsMeetingBrandingPolicy + + + + Remove-CsTeamsMeetingBrandingPolicy + + + + Set-CsTeamsMeetingBrandingPolicy + + + + + + + Grant-CsTeamsMeetingTemplatePermissionPolicy + Grant + CsTeamsMeetingTemplatePermissionPolicy + + This cmdlet applies an instance of the TeamsMeetingTemplatePermissionPolicy to users or groups in a tenant. + + + + This cmdlet applies an instance of the TeamsMeetingTemplatePermissionPolicy to users or groups in a tenant. + Pass in the `Identity` of the policy instance in the `PolicyName` parameter and the user identifier in the `Identity` parameter or the group name in the `Group` parameter. One of either `Identity` or `Group` needs to be passed. + + + + Grant-CsTeamsMeetingTemplatePermissionPolicy + + PolicyName + + Specifies the Identity of the policy to assign to the user or group. + + String + + String + + + None + + + Identity + + This is the identifier of the user that the policy should be assigned to. + + String + + String + + + None + + + Group + + This is the identifier of the group that the policy should be assigned to. + + String + + String + + + None + + + Global + + This is the equivalent to `-Identity Global`. + + + SwitchParameter + + + False + + + Force + + Forces the policy assignment. + + + SwitchParameter + + + False + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + + + + PolicyName + + Specifies the Identity of the policy to assign to the user or group. + + String + + String + + + None + + + Identity + + This is the identifier of the user that the policy should be assigned to. + + String + + String + + + None + + + Group + + This is the identifier of the group that the policy should be assigned to. + + String + + String + + + None + + + Global + + This is the equivalent to `-Identity Global`. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + Forces the policy assignment. + + SwitchParameter + + SwitchParameter + + + False + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + + + + + + + + ------------ Example 1 - Assign a policy to a user ------------ + PS> Grant-CsTeamsMeetingTemplatePermissionPolicy -PolicyName Foobar -Identity testuser@test.onmicrosoft.com + + Assigns a given policy to a user. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/Grant-CsTeamsMeetingTemplatePermissionPolicy + + + Get-CsTeamsMeetingTemplatePermissionPolicy + + + + New-CsTeamsMeetingTemplatePermissionPolicy + + + + Set-CsTeamsMeetingTemplatePermissionPolicy + + + + Remove-CsTeamsMeetingTemplatePermissionPolicy + + + + + + + Grant-CsTeamsRecordingRollOutPolicy + Grant + CsTeamsRecordingRollOutPolicy + + The CsTeamsRecordingRollOutPolicy controls roll out of the change that governs the storage for meeting recordings. + + + + The CsTeamsRecordingRollOutPolicy controls roll out of the change that governs the storage for meeting recordings. This policy would be deprecated over time as this is only to allow IT admins to phase the roll out of this breaking change. + The Grant-CsTeamsRecordingRollOutPolicy cmdlet allows administrators to assign a CsTeamsRecordingRollOutPolicy at the per-user scope. + This command is available from Teams powershell module 6.1.1-preview and above. + + + + Grant-CsTeamsRecordingRollOutPolicy + + Identity + + Indicates the Identity of the user account the policy should be assigned to. User Identities can be specified using one of four formats: 1) the user's SIP address; 2) the user principal name (UPN); 3) the user's domain name and logon name, in the form domain\logon (for example, litwareinc\kenmyer); and, 4) the user's Active Directory display name (for example, Ken Myer). User Identities can also be referenced by using the user's Active Directory distinguished name. + + String + + String + + + None + + + PolicyName + + The name of the custom policy that is being assigned to the user. To remove a specific assignment and fall back to the default tenant policy, you can assign to $Null. + + String + + String + + + None + + + + + + Identity + + Indicates the Identity of the user account the policy should be assigned to. User Identities can be specified using one of four formats: 1) the user's SIP address; 2) the user principal name (UPN); 3) the user's domain name and logon name, in the form domain\logon (for example, litwareinc\kenmyer); and, 4) the user's Active Directory display name (for example, Ken Myer). User Identities can also be referenced by using the user's Active Directory distinguished name. + + String + + String + + + None + + + PolicyName + + The name of the custom policy that is being assigned to the user. To remove a specific assignment and fall back to the default tenant policy, you can assign to $Null. + + String + + String + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Grant-CsTeamsMeetingPolicy -identity "Ken Myer" -PolicyName OrganizerPolicy + + In this example, a user with identity "Ken Myer" is being assigned the OrganizerPolicy + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/grant-csteamsrecordingrolloutpolicy + + + + + + Grant-CsTeamsSharedCallingRoutingPolicy + Grant + CsTeamsSharedCallingRoutingPolicy + + Assigns a specific Teams shared calling routing policy to a user, a group of users, or sets the Global policy instance. + + + + + + Grant-CsTeamsSharedCallingRoutingPolicy + + Identity + + Indicates the Identity of the user account to be assigned the per-user Teams shared calling routing policy. User identities can be specified using one of the following formats: the user's SIP address, the user's user principal name (UPN), or the user's ObjectId or Identity. + + String + + String + + + None + + + PolicyName + + Name of the policy to be assigned. The PolicyName is simply the policy Identity minus the policy scope (the "tag:" prefix). For example, a policy with the Identity tag:Seattle has a PolicyName equal to Seattle. + To unassign a per-user policy previously assigned to a user, set the PolicyName to a null value ($Null). + + String + + String + + + None + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes. + + + SwitchParameter + + + False + + + + Grant-CsTeamsSharedCallingRoutingPolicy + + PolicyName + + Name of the policy to be assigned. The PolicyName is simply the policy Identity minus the policy scope (the "tag:" prefix). For example, a policy with the Identity tag:Seattle has a PolicyName equal to Seattle. + To unassign a per-user policy previously assigned to a user, set the PolicyName to a null value ($Null). + + String + + String + + + None + + + Global + + When you use this cmdlet without specifying a user identity, the policy applies to all users in your organization, except any that have an explicit policy assignment. To prevent a warning when you carry out this operation, specify this parameter. + + + SwitchParameter + + + False + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes. + + + SwitchParameter + + + False + + + + Grant-CsTeamsSharedCallingRoutingPolicy + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + PolicyName + + Name of the policy to be assigned. The PolicyName is simply the policy Identity minus the policy scope (the "tag:" prefix). For example, a policy with the Identity tag:Seattle has a PolicyName equal to Seattle. + To unassign a per-user policy previously assigned to a user, set the PolicyName to a null value ($Null). + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes. + + + SwitchParameter + + + False + + + + + + Identity + + Indicates the Identity of the user account to be assigned the per-user Teams shared calling routing policy. User identities can be specified using one of the following formats: the user's SIP address, the user's user principal name (UPN), or the user's ObjectId or Identity. + + String + + String + + + None + + + PolicyName + + Name of the policy to be assigned. The PolicyName is simply the policy Identity minus the policy scope (the "tag:" prefix). For example, a policy with the Identity tag:Seattle has a PolicyName equal to Seattle. + To unassign a per-user policy previously assigned to a user, set the PolicyName to a null value ($Null). + + String + + String + + + None + + + Global + + When you use this cmdlet without specifying a user identity, the policy applies to all users in your organization, except any that have an explicit policy assignment. To prevent a warning when you carry out this operation, specify this parameter. + + SwitchParameter + + SwitchParameter + + + False + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + This cmdlet was introduced in Teams PowerShell Module 5.5.0. + + + + + -------------------------- EXAMPLE 1 -------------------------- + Grant-CsTeamsSharedCallingRoutingPolicy -Identity "user@contoso.com" -PolicyName "Seattle" + + The command shown in Example 1 assigns the per-user Teams shared calling routing policy instance Seattle to the user user@contoso.com. + + + + -------------------------- EXAMPLE 2 -------------------------- + Grant-CsTeamsSharedCallingRoutingPolicy -PolicyName "Seattle" -Global + + Example 2 assigns the per-user Teams shared calling routing policy instance Seattle to all the users in the organization, except any that have an explicit Teams shared calling routing policy assignment. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/grant-csteamssharedcallingroutingpolicy + + + Get-CsTeamsSharedCallingRoutingPolicy + + + + Set-CsTeamsSharedCallingRoutingPolicy + + + + Remove-CsTeamsSharedCallingRoutingPolicy + + + + New-CsTeamsSharedCallingRoutingPolicy + + + + + + + Grant-CsTeamsShiftsPolicy + Grant + CsTeamsShiftsPolicy + + This commandlet supports applying the TeamsShiftsPolicy to users in a tenant. + + + + This commandlet enables admins to grant Shifts specific policy settings to users in their tenant. + + + + Grant-CsTeamsShiftsPolicy + + Identity + + UserId to whom the policy is granted. Email id is acceptable. + + UserIdParameter + + UserIdParameter + + + None + + + PolicyName + + The name of the TeamsShiftsPolicy instance that is being applied to the user. + + String + + String + + + None + + + + Grant-CsTeamsShiftsPolicy + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + PolicyName + + The name of the TeamsShiftsPolicy instance that is being applied to the user. + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + + Grant-CsTeamsShiftsPolicy + + Global + + When you use this cmdlet without specifying a user identity, the policy applies to all users in your tenant. To skip a warning when you do this operation, specify "-Global". + + + SwitchParameter + + + False + + + PolicyName + + The name of the TeamsShiftsPolicy instance that is being applied to the user. + + String + + String + + + None + + + + + + Identity + + UserId to whom the policy is granted. Email id is acceptable. + + UserIdParameter + + UserIdParameter + + + None + + + PolicyName + + The name of the TeamsShiftsPolicy instance that is being applied to the user. + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Global + + When you use this cmdlet without specifying a user identity, the policy applies to all users in your tenant. To skip a warning when you do this operation, specify "-Global". + + SwitchParameter + + SwitchParameter + + + False + + + + + + Microsoft.Rtc.Management.AD.UserIdParameter + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Grant-CsTeamsShiftsPolicy -Identity IsaiahL@mwtdemo.onmicrosoft.com -PolicyName OffShiftAccessMessage1Always + + Applies the OffShiftAccessMessage1Always instance of TeamsShiftsPolicy to one user in the tenant. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/grant-teamsshiftspolicy + + + Get-CsTeamsShiftsPolicy + + + + New-CsTeamsShiftsPolicy + + + + Set-CsTeamsShiftsPolicy + + + + Remove-CsTeamsShiftsPolicy + + + + + + + Grant-CsTeamsVirtualAppointmentsPolicy + Grant + CsTeamsVirtualAppointmentsPolicy + + This cmdlet applies an instance of the TeamsVirtualAppointmentsPolicy to users or groups in a tenant. + + + + This cmdlet applies an instance of the TeamsVirtualAppointmentsPolicy to users or groups in a tenant. + Passes in the `Identity` of the policy instance in the `PolicyName` parameter and the user identifier in the `Identity` parameter or the group name in the `Group` parameter. One of either `Identity` or `Group` needs to be passed. + + + + Grant-CsTeamsVirtualAppointmentsPolicy + + Global + + This is the equivalent to `-Identity Global`. + + + SwitchParameter + + + False + + + PolicyName + + Specifies the name of the policy to be assigned. The PolicyName is the policy identity minus the policy scope ("tag:"), for example, a policy that has an identity of "Tag:Enabled" has a PolicyName of "Enabled". + + String + + String + + + None + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + + SwitchParameter + + + False + + + + Grant-CsTeamsVirtualAppointmentsPolicy + + Group + + This is the identifier of the group that the policy should be assigned to. + + String + + String + + + None + + + PolicyName + + Specifies the name of the policy to be assigned. The PolicyName is the policy identity minus the policy scope ("tag:"), for example, a policy that has an identity of "Tag:Enabled" has a PolicyName of "Enabled". + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + + Grant-CsTeamsVirtualAppointmentsPolicy + + PolicyName + + Specifies the name of the policy to be assigned. The PolicyName is the policy identity minus the policy scope ("tag:"), for example, a policy that has an identity of "Tag:Enabled" has a PolicyName of "Enabled". + + String + + String + + + None + + + Identity + + Specifies the identity of the target user. + Example: testuser@test.onmicrosoft.com + Example: 98403f08-577c-46dd-851a-f0460a13b03d + Use the "Global" Identity if you wish to set the policy for the entire tenant. + + String + + String + + + None + + + + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + SwitchParameter + + SwitchParameter + + + False + + + Global + + This is the equivalent to `-Identity Global`. + + SwitchParameter + + SwitchParameter + + + False + + + Group + + This is the identifier of the group that the policy should be assigned to. + + String + + String + + + None + + + Identity + + Specifies the identity of the target user. + Example: testuser@test.onmicrosoft.com + Example: 98403f08-577c-46dd-851a-f0460a13b03d + Use the "Global" Identity if you wish to set the policy for the entire tenant. + + String + + String + + + None + + + PolicyName + + Specifies the name of the policy to be assigned. The PolicyName is the policy identity minus the policy scope ("tag:"), for example, a policy that has an identity of "Tag:Enabled" has a PolicyName of "Enabled". + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + + + + System.String + + + + + + + + + + System.Void + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Grant-CsTeamsVirtualAppointmentsPolicy -PolicyName sms-enabled -Identity testuser@test.onmicrosoft.com + + Assigns a given policy to a user. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Grant-CsTeamsVirtualAppointmentsPolicy -Group f13d6c9d-ce76-422c-af78-b6018b4d9c80 -PolicyName sms-enabled + + Assigns a given policy to a group. + + + + -------------------------- Example 3 -------------------------- + PS C:\> Grant-CsTeamsVirtualAppointmentsPolicy -Global -PolicyName sms-enabled + + Assigns a given policy to the tenant. + + + + -------------------------- Example 3 -------------------------- + PS C:\> Grant-CsTeamsVirtualAppointmentsPolicy -Global -PolicyName sms-enabled + + Note: Using $null in place of a policy name can be used to unassigned a policy instance. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/grant-csteamsvirtualappointmentspolicy + + + Get-CsTeamsVirtualAppointmentsPolicy + + + + New-CsTeamsVirtualAppointmentsPolicy + + + + Set-CsTeamsVirtualAppointmentsPolicy + + + + Remove-CsTeamsVirtualAppointmentsPolicy + + + + + + + Grant-CsTeamsWorkLocationDetectionPolicy + Grant + CsTeamsWorkLocationDetectionPolicy + + This cmdlet applies an instance of the TeamsWorkLocationDetectionPolicy to users or groups in a tenant. + + + + This cmdlet applies an instance of the TeamsWorkLocationDetectionPolicy to users or groups in a tenant. + Passes in the `Identity` of the policy instance in the `PolicyName` parameter and the user identifier in the `Identity` parameter or the group name in the `Group` parameter. One of either `Identity` or `Group` needs to be passed. + + + + Grant-CsTeamsWorkLocationDetectionPolicy + + Global + + This is the equivalent to `-Identity Global`. + + + SwitchParameter + + + False + + + PolicyName + + Specifies the name of the policy to be assigned. The PolicyName is the policy identity minus the policy scope ("tag:"), for example, a policy that has an identity of "Tag:Enabled" has a PolicyName of "Enabled". + + String + + String + + + None + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + + SwitchParameter + + + False + + + + Grant-CsTeamsWorkLocationDetectionPolicy + + Group + + This is the identifier of the group that the policy should be assigned to. + + String + + String + + + None + + + PolicyName + + Specifies the name of the policy to be assigned. The PolicyName is the policy identity minus the policy scope ("tag:"), for example, a policy that has an identity of "Tag:Enabled" has a PolicyName of "Enabled". + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + + Grant-CsTeamsWorkLocationDetectionPolicy + + PolicyName + + Specifies the name of the policy to be assigned. The PolicyName is the policy identity minus the policy scope ("tag:"), for example, a policy that has an identity of "Tag:Enabled" has a PolicyName of "Enabled". + + String + + String + + + None + + + Identity + + Specifies the identity of the target user. + Example: testuser@test.onmicrosoft.com + Example: 98403f08-577c-46dd-851a-f0460a13b03d + Use the "Global" Identity if you wish to set the policy for the entire tenant. + + String + + String + + + None + + + + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + SwitchParameter + + SwitchParameter + + + False + + + Global + + This is the equivalent to `-Identity Global`. + + SwitchParameter + + SwitchParameter + + + False + + + Group + + This is the identifier of the group that the policy should be assigned to. + + String + + String + + + None + + + Identity + + Specifies the identity of the target user. + Example: testuser@test.onmicrosoft.com + Example: 98403f08-577c-46dd-851a-f0460a13b03d + Use the "Global" Identity if you wish to set the policy for the entire tenant. + + String + + String + + + None + + + PolicyName + + Specifies the name of the policy to be assigned. The PolicyName is the policy identity minus the policy scope ("tag:"), for example, a policy that has an identity of "Tag:Enabled" has a PolicyName of "Enabled". + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + + + + System.String + + + + + + + + + + System.Void + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Grant-CsTeamsWorkLocationDetectionPolicy -PolicyName sms-enabled -Identity testuser@test.onmicrosoft.com + + Assigns a given policy to a user. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Grant-CsTeamsWorkLocationDetectionPolicy -Group f13d6c9d-ce76-422c-af78-b6018b4d9c80 -PolicyName wld-enabled + + Assigns a given policy to a group. + + + + -------------------------- Example 3 -------------------------- + PS C:\> Grant-CsTeamsWorkLocationDetectionPolicy -Global -PolicyName wld-enabled + + Assigns a given policy to the tenant. + + + + -------------------------- Example 3 -------------------------- + PS C:\> Grant-CsTeamsWorkLocationDetectionPolicy -Global -PolicyName wld-enabled + + Note: Using $null in place of a policy name can be used to unassigned a policy instance. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/grant-csteamsworklocationdetectionpolicy + + + Get-CsTeamsWorkLocationDetectionPolicy + + + + New-CsTeamsWorkLocationDetectionPolicy + + + + Set-CsTeamsWorkLocationDetectionPolicy + + + + Remove-CsTeamsWorkLocationDetectionPolicy + + + + + + + New-CsExternalAccessPolicy + New + CsExternalAccessPolicy + + Enables you to create a new external access policy. + External access policies determine whether or not your users can: 1) communicate with users who have Session Initiation Protocol (SIP) accounts with a federated organization; 2) communicate with users who are using custom applications built with Azure Communication Services (/azure/communication-services/concepts/teams-interop); 3) access Skype for Business Server over the Internet, without having to log on to your internal network; 4) communicate with users who have SIP accounts with a public instant messaging (IM) provider such as Skype; and, 5)communicate with people who are using Teams with an account that's not managed by an organization. + This cmdlet was introduced in Lync Server 2010. + For information about external access in Microsoft Teams, see Manage external access in Microsoft Teams (/microsoftteams/manage-external-access) and [Teams and Skype interoperability](/microsoftteams/teams-skype-interop)for specific details. + + + + When you install Skype for Business Server your users are only allowed to exchange instant messages and presence information among themselves: by default, they can only communicate with other people who have SIP accounts in your Active Directory Domain Services. In addition, users are not allowed to access Skype for Business Server over the Internet; instead, they must be logged on to your internal network before they will be able to log on to Skype for Business Server. + That might be sufficient to meet your communication needs. If it doesn't meet your needs you can use external access policies to extend the ability of your users to communicate and collaborate. External access policies can grant (or revoke) the ability of your users to do any or all of the following: + 1. Communicate with people who have SIP accounts with a federated organization. Note that enabling federation alone will not provide users with this capability. Instead, you must enable federation and then assign users an external access policy that gives them the right to communicate with federated users. + 2. (Microsoft Teams only) Communicate with users who are using custom applications built with Azure Communication Services (ACS) (/azure/communication-services/concepts/teams-interop). This policy setting only applies if ACS federation has been enabled at the tenant level using the cmdlet [Set-CsTeamsAcsFederationConfiguration](Set-CsTeamsAcsFederationConfiguration.md). + 3. Access Skype for Business Server over the Internet, without having to first log on to your internal network. This enables your users to use Skype for Business and log on to Skype for Business Server from an Internet café or other remote location. + 4. Communicate with people who have SIP accounts with a public instant messaging service such as Skype. + 5. (Microsoft Teams Only) Communicate with people who are using Teams with an account that's not managed by an organization. This policy only applies if Teams Consumer Federation has been enabled at the tenant level using the cmdlet Set-CsTenantFederationConfiguration (Set-CsTenantFederationConfiguration.md)or Teams Admin Center under the External Access setting. + When you install Skype for Business Server, a global external access policy is automatically created for you. In addition to the global policy, you can also create custom external access policies at either the site or the per-user scope. If you create an external access policy at the site scope, that policy will automatically be assigned to the site upon creation. If you create an external access policy at the per-user scope, that policy will be created but will not be assigned to any users. To assign the policy to a user or group of users, use the Grant-CsExternalAccessPolicy cmdlet. + New external access policies can be created by using the New-CsExternalAccessPolicy cmdlet. Note that these policies can only be created at the site or the per-user scope; you cannot create a new policy at the global scope. In addition, you can have only one external access policy per site: if the Redmond site already has been assigned an external access policy you cannot create a second policy for the site. + The following parameters are not applicable to Skype for Business Online/Microsoft Teams: Description, EnableXmppAccess, Force, Identity, InMemory, PipelineVariable, and Tenant + + + + New-CsExternalAccessPolicy + + Identity + + Unique Identity to be assigned to the policy. New external access policies can be created at the site or per-user scope. To create a new site policy, use the prefix "site:" and the name of the site as your Identity. For example, use this syntax to create a new policy for the Redmond site: `-Identity site:Redmond.` To create a new per-user policy, use an Identity similar to this: `-Identity SalesAccessPolicy.` + Note that you cannot create a new global policy; if you want to make changes to the global policy, use the Set-CsExternalAccessPolicy cmdlet instead. Likewise, you cannot create a new site or per-user policy if a policy with that Identity already exists. If you need to make changes to an existing policy, use the Set-CsExternalAccessPolicy cmdlet. + + XdsIdentity + + XdsIdentity + + + None + + + Description + + Enables administrators to provide explanatory text to accompany the policy. For example, the Description might include information about the users the policy should be assigned to. + + String + + String + + + None + + + EnableFederationAccess + + Indicates whether the user is allowed to communicate with people who have SIP accounts with a federated organization. Read Manage external access in Microsoft Teams (/microsoftteams/manage-external-access)to get more information about the effect of this parameter in Microsoft Teams. The default value is True. + + Boolean + + Boolean + + + True + + + EnableTeamsConsumerAccess + + (Microsoft Teams Only) Indicates whether the user is allowed to communicate with people who have who are using Teams with an account that's not managed by an organization. + To enable just for a selected set of users, use the Set-CsExternalAccessPolicy cmdlet to update the global policy, setting the value to False. Then assign selected users a policy with federation enabled. + Read Manage external access in Microsoft Teams (/microsoftteams/manage-external-access)to get more information about the effect of this parameter in Microsoft Teams. The default value is True. + + Boolean + + Boolean + + + True + + + EnableTeamsConsumerInbound + + (Microsoft Teams Only) Indicates whether the user is allowed to be discoverable by people who are using Teams with an account that's not managed by an organization. It also controls if people who have who are using Teams with an account that's not managed by an organization can start the communication with the user. + To enable just for a selected set of users, use the Set-CsExternalAccessPolicy cmdlet to update the global policy, setting the value to False. Then assign selected users a policy with federation enabled. + Read Manage external access in Microsoft Teams (/microsoftteams/manage-external-access)to get more information about the effect of this parameter in Microsoft Teams. The default value is True. + + Boolean + + Boolean + + + True + + + EnableAcsFederationAccess + + Indicates whether Teams meetings organized by the user can be joined by users of customer applications built using Azure Communication Services (ACS). This policy setting only applies if ACS Teams federation has been enabled at the tenant level using the cmdlet Set-CsTeamsAcsFederationConfiguration. Additionally, Azure Communication Services users would be able to call Microsoft 365 users that have assigned policies with enabled federation. + To enable for all users, use the Set-CsExternalAccessPolicy cmdlet to update the global policy, setting the value to True. It can be disabled for selected users by assigning them a policy with federation disabled. + To enable just for a selected set of users, use the Set-CsExternalAccessPolicy cmdlet to update the global policy, setting the value to False. Then assign selected users a policy with federation enabled. + + Boolean + + Boolean + + + True + + + EnableOutsideAccess + + Indicates whether the user is allowed to connect to Skype for Business Server over the Internet, without logging on to the organization's internal network. The default value is False. + + Boolean + + Boolean + + + None + + + EnablePublicCloudAccess + + Indicates whether the user is allowed to communicate with people who have SIP accounts with a public Internet connectivity provider such as MSN. Read Manage external access in Microsoft Teams (/microsoftteams/manage-external-access)to get more information about the effect of this parameter in Microsoft Teams. The default value is False. + + Boolean + + Boolean + + + None + + + EnablePublicCloudAudioVideoAccess + + Indicates whether the user is allowed to conduct audio/video conversations with people who have SIP accounts with a public Internet connectivity provider such as MSN. When set to False, audio and video options in Skype for Business Server will be disabled any time a user is communicating with a public Internet connectivity contact. + + Boolean + + Boolean + + + None + + + Force + + Suppresses the display of any non-fatal error message that might occur when running the command. + + + SwitchParameter + + + False + + + InMemory + + Creates an object reference without actually committing the object as a permanent change. If you assign the output of this cmdlet called with this parameter to a variable, you can make changes to the properties of the object reference and then commit those changes by calling this cmdlet's matching Set-<cmdlet>. + + + SwitchParameter + + + False + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before executing the command. + + + SwitchParameter + + + False + + + EnableXmppAccess + + Indicates whether the user is allowed to communicate with users who have SIP accounts with a federated XMPP (Extensible Messaging and Presence Protocol) partner. The default value is False. + + Boolean + + Boolean + + + None + + + Tenant + + Globally unique identifier (GUID) of the Skype for Business Online tenant account for whom the new external access policy is being created. For example: + `-Tenant "38aad667-af54-4397-aaa7-e94c79ec2308"` + You can return the tenant ID for each of your Skype for Business Online tenants by running this command: + `Get-CsTenant | Select-Object DisplayName, TenantID` + + Guid + + Guid + + + None + + + + + + Identity + + Unique Identity to be assigned to the policy. New external access policies can be created at the site or per-user scope. To create a new site policy, use the prefix "site:" and the name of the site as your Identity. For example, use this syntax to create a new policy for the Redmond site: `-Identity site:Redmond.` To create a new per-user policy, use an Identity similar to this: `-Identity SalesAccessPolicy.` + Note that you cannot create a new global policy; if you want to make changes to the global policy, use the Set-CsExternalAccessPolicy cmdlet instead. Likewise, you cannot create a new site or per-user policy if a policy with that Identity already exists. If you need to make changes to an existing policy, use the Set-CsExternalAccessPolicy cmdlet. + + XdsIdentity + + XdsIdentity + + + None + + + Description + + Enables administrators to provide explanatory text to accompany the policy. For example, the Description might include information about the users the policy should be assigned to. + + String + + String + + + None + + + EnableFederationAccess + + Indicates whether the user is allowed to communicate with people who have SIP accounts with a federated organization. Read Manage external access in Microsoft Teams (/microsoftteams/manage-external-access)to get more information about the effect of this parameter in Microsoft Teams. The default value is True. + + Boolean + + Boolean + + + True + + + EnableTeamsConsumerAccess + + (Microsoft Teams Only) Indicates whether the user is allowed to communicate with people who have who are using Teams with an account that's not managed by an organization. + To enable just for a selected set of users, use the Set-CsExternalAccessPolicy cmdlet to update the global policy, setting the value to False. Then assign selected users a policy with federation enabled. + Read Manage external access in Microsoft Teams (/microsoftteams/manage-external-access)to get more information about the effect of this parameter in Microsoft Teams. The default value is True. + + Boolean + + Boolean + + + True + + + EnableTeamsConsumerInbound + + (Microsoft Teams Only) Indicates whether the user is allowed to be discoverable by people who are using Teams with an account that's not managed by an organization. It also controls if people who have who are using Teams with an account that's not managed by an organization can start the communication with the user. + To enable just for a selected set of users, use the Set-CsExternalAccessPolicy cmdlet to update the global policy, setting the value to False. Then assign selected users a policy with federation enabled. + Read Manage external access in Microsoft Teams (/microsoftteams/manage-external-access)to get more information about the effect of this parameter in Microsoft Teams. The default value is True. + + Boolean + + Boolean + + + True + + + EnableAcsFederationAccess + + Indicates whether Teams meetings organized by the user can be joined by users of customer applications built using Azure Communication Services (ACS). This policy setting only applies if ACS Teams federation has been enabled at the tenant level using the cmdlet Set-CsTeamsAcsFederationConfiguration. Additionally, Azure Communication Services users would be able to call Microsoft 365 users that have assigned policies with enabled federation. + To enable for all users, use the Set-CsExternalAccessPolicy cmdlet to update the global policy, setting the value to True. It can be disabled for selected users by assigning them a policy with federation disabled. + To enable just for a selected set of users, use the Set-CsExternalAccessPolicy cmdlet to update the global policy, setting the value to False. Then assign selected users a policy with federation enabled. + + Boolean + + Boolean + + + True + + + EnableOutsideAccess + + Indicates whether the user is allowed to connect to Skype for Business Server over the Internet, without logging on to the organization's internal network. The default value is False. + + Boolean + + Boolean + + + None + + + EnablePublicCloudAccess + + Indicates whether the user is allowed to communicate with people who have SIP accounts with a public Internet connectivity provider such as MSN. Read Manage external access in Microsoft Teams (/microsoftteams/manage-external-access)to get more information about the effect of this parameter in Microsoft Teams. The default value is False. + + Boolean + + Boolean + + + None + + + EnablePublicCloudAudioVideoAccess + + Indicates whether the user is allowed to conduct audio/video conversations with people who have SIP accounts with a public Internet connectivity provider such as MSN. When set to False, audio and video options in Skype for Business Server will be disabled any time a user is communicating with a public Internet connectivity contact. + + Boolean + + Boolean + + + None + + + Force + + Suppresses the display of any non-fatal error message that might occur when running the command. + + SwitchParameter + + SwitchParameter + + + False + + + InMemory + + Creates an object reference without actually committing the object as a permanent change. If you assign the output of this cmdlet called with this parameter to a variable, you can make changes to the properties of the object reference and then commit those changes by calling this cmdlet's matching Set-<cmdlet>. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + EnableXmppAccess + + Indicates whether the user is allowed to communicate with users who have SIP accounts with a federated XMPP (Extensible Messaging and Presence Protocol) partner. The default value is False. + + Boolean + + Boolean + + + None + + + Tenant + + Globally unique identifier (GUID) of the Skype for Business Online tenant account for whom the new external access policy is being created. For example: + `-Tenant "38aad667-af54-4397-aaa7-e94c79ec2308"` + You can return the tenant ID for each of your Skype for Business Online tenants by running this command: + `Get-CsTenant | Select-Object DisplayName, TenantID` + + Guid + + Guid + + + None + + + + + + + + + None. The New-CsExternalAccessPolicy cmdlet does not accept pipelined input. + + + + + + + + + + Creates new instances of the Microsoft.Rtc.Management.WritableConfig.Policy.ExternalAccess.ExternalAccessPolicy object. + + + + + System.Object + + + + + + + + + + + + + + -------------------------- EXAMPLE 1 -------------------------- + New-CsExternalAccessPolicy -Identity site:Redmond -EnableFederationAccess $True -EnableOutsideAccess $True + + The command shown in Example 1 creates a new external access policy that has the Identity site:Redmond; upon creation, this policy will automatically be assigned to the Redmond site. Note that this new policy sets both the EnableFederationAccess and the EnableOutsideAccess properties to True. + + + + -------------------------- Example 2 ------------------------ + Set-CsExternalAccessPolicy -Identity Global -EnableAcsFederationAccess $true +New-CsExternalAccessPolicy -Identity AcsFederationNotAllowed -EnableAcsFederationAccess $false + + In this example, the Global policy is updated to allow Teams-ACS federation for all users, then a new external access policy instance is created with Teams-ACS federation disabled and which can then be assigned to selected users for which Team-ACS federation will not be allowed. + + + + -------------------------- Example 3 ------------------------ + New-CsExternalAccessPolicy -Identity site:Redmond -EnableTeamsConsumerAccess $True -EnableTeamsConsumerInbound $False + + The command shown in Example 3 creates a new external access policy that has the Identity site:Redmond; upon creation, this policy will automatically be assigned to the Redmond site. Note that this new policy enables communication with people using Teams with an account that's not managed by an organization and limits this to only be initiated by people in your organization. This means that people using Teams with an account that's not managed by an organization will not be able to discover or start a conversation with people with this policy assigned. + + + + -------------------------- EXAMPLE 4 -------------------------- + $x = New-CsExternalAccessPolicy -Identity RedmondAccessPolicy -InMemory + +$x.EnableFederationAccess = $True + +$x.EnablePublicCloudAccess = $True + +$x.EnableOutsideAccess = $True + +Set-CsExternalAccessPolicy -Instance $x + + Example 4 demonstrates the use of the InMemory parameter; this parameter enables you to create an in-memory-only instance of an external access policy. After it has been created, you can modify the in-memory-only instance, then use the Set-CsExternalAccessPolicy cmdlet to transform the virtual policy into a real external access policy. + To do this, the first command in the example uses the New-CsExternalAccessPolicy cmdlet and the InMemory parameter to create a virtual policy with the Identity RedmondAccessPolicy; this virtual policy is stored in a variable named $x. The next three commands are used to modify three properties of the virtual policy: EnableFederationAccess, EnablePublicCloudAccess, and the EnableOutsideAccess. Finally, the last command uses the Set-CsExternalAccessPolicy cmdlet to create an actual per-user external access policy with the Identity RedmondAccessPolicy. If you do not call the Set-CsExternalAccessPolicy cmdlet, then the virtual policy will disappear as soon as you end your Windows PowerShell session or delete the variable $x. Should that happen, an external access policy with the Identity RedmondAccessPolicy will never be created. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csexternalaccesspolicy + + + Get-CsExternalAccessPolicy + + + + Grant-CsExternalAccessPolicy + + + + Remove-CsExternalAccessPolicy + + + + Set-CsExternalAccessPolicy + + + + + + + New-CsOnlineVoicemailPolicy + New + CsOnlineVoicemailPolicy + + Creates a new Online Voicemail policy. Online Voicemail policies determine whether or not voicemail transcription, profanity masking for the voicemail transcriptions, translation for the voicemail transcriptions, and editing call answer rule settings are enabled for a user. The policies also specify voicemail maximum recording length for a user and the primary and secondary voicemail system prompt languages. + + + + Cloud Voicemail service provides organizations with voicemail deposit capabilities for Phone System implementation. + By default, users enabled for Phone System will be enabled for Cloud Voicemail. The Online Voicemail policy controls whether or not voicemail transcription, profanity masking for the voicemail transcriptions, translation for the voicemail transcriptions, and editing call answer rule settings are enabled for a user. The policies also specify the voicemail maximum recording length for a user and the primary and secondary voicemail system prompt languages. + - Voicemail transcription is enabled by default + - Transcription profanity masking is disabled by default + - Transcription translation is enabled by default + - Editing call answer rule settings is enabled by default + - Voicemail maximum recording length is set to 5 minutes by default + - Primary and secondary system prompt languages are set to null by default and the user's voicemail language setting is used + + Tenant admin would be able to create a customized online voicemail policy to match the organization's requirements. + + + + New-CsOnlineVoicemailPolicy + + Identity + + A unique identifier specifying the scope, and in some cases the name, of the policy. + + String + + String + + + None + + + EnableEditingCallAnswerRulesSetting + + Controls if editing call answer rule settings are enabled or disabled for a user. Possible values are $true or $false. + + Boolean + + Boolean + + + None + + + EnableTranscription + + Allows you to disable or enable voicemail transcription. Possible values are $true or $false. + + Boolean + + Boolean + + + None + + + EnableTranscriptionProfanityMasking + + Allows you to disable or enable profanity masking for the voicemail transcriptions. Possible values are $true or $false. + + Boolean + + Boolean + + + None + + + EnableTranscriptionTranslation + + Allows you to disable or enable translation for the voicemail transcriptions. Possible values are $true or $false. + + Boolean + + Boolean + + + None + + + MaximumRecordingLength + + A duration of voicemail maximum recording length. The length should be between 30 seconds to 10 minutes. + + Duration + + Duration + + + None + + + PostambleAudioFile + + The audio file to play to the caller after the user's voicemail greeting has played and before the caller is allowed to leave a voicemail message. + + String + + String + + + None + + + PreambleAudioFile + + The audio file to play to the caller before the user's voicemail greeting is played. + + String + + String + + + None + + + PreamblePostambleMandatory + + Is playing the Pre- or Post-amble mandatory before the caller can leave a message. + + Boolean + + Boolean + + + False + + + PrimarySystemPromptLanguage + + The primary (or first) language that voicemail system prompts will be presented in. Must also set SecondarySystemPromptLanguage. When set, this overrides the user language choice. Please see Set-CsOnlineVoicemailUserSettings (Set-CsOnlineVoicemailUserSettings.md)-PromptLanguage for supported languages. + + String + + String + + + None + + + SecondarySystemPromptLanguage + + The secondary language that voicemail system prompts will be presented in. Must also set PrimarySystemPromptLanguage and may not be the same value as PrimarySystemPromptanguage. When set, this overrides the user language choice. Please see Set-CsOnlineVoicemailUserSettings (Set-CsOnlineVoicemailUserSettings.md)-PromptLanguage for supported languages. + + String + + String + + + None + + + ShareData + + Specifies whether voicemail and transcription data are shared with the service for training and improving accuracy. Possible values are Defer and Deny. + + String + + String + + + None + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before executing the command. + + + SwitchParameter + + + False + + + + + + Identity + + A unique identifier specifying the scope, and in some cases the name, of the policy. + + String + + String + + + None + + + EnableEditingCallAnswerRulesSetting + + Controls if editing call answer rule settings are enabled or disabled for a user. Possible values are $true or $false. + + Boolean + + Boolean + + + None + + + EnableTranscription + + Allows you to disable or enable voicemail transcription. Possible values are $true or $false. + + Boolean + + Boolean + + + None + + + EnableTranscriptionProfanityMasking + + Allows you to disable or enable profanity masking for the voicemail transcriptions. Possible values are $true or $false. + + Boolean + + Boolean + + + None + + + EnableTranscriptionTranslation + + Allows you to disable or enable translation for the voicemail transcriptions. Possible values are $true or $false. + + Boolean + + Boolean + + + None + + + MaximumRecordingLength + + A duration of voicemail maximum recording length. The length should be between 30 seconds to 10 minutes. + + Duration + + Duration + + + None + + + PostambleAudioFile + + The audio file to play to the caller after the user's voicemail greeting has played and before the caller is allowed to leave a voicemail message. + + String + + String + + + None + + + PreambleAudioFile + + The audio file to play to the caller before the user's voicemail greeting is played. + + String + + String + + + None + + + PreamblePostambleMandatory + + Is playing the Pre- or Post-amble mandatory before the caller can leave a message. + + Boolean + + Boolean + + + False + + + PrimarySystemPromptLanguage + + The primary (or first) language that voicemail system prompts will be presented in. Must also set SecondarySystemPromptLanguage. When set, this overrides the user language choice. Please see Set-CsOnlineVoicemailUserSettings (Set-CsOnlineVoicemailUserSettings.md)-PromptLanguage for supported languages. + + String + + String + + + None + + + SecondarySystemPromptLanguage + + The secondary language that voicemail system prompts will be presented in. Must also set PrimarySystemPromptLanguage and may not be the same value as PrimarySystemPromptanguage. When set, this overrides the user language choice. Please see Set-CsOnlineVoicemailUserSettings (Set-CsOnlineVoicemailUserSettings.md)-PromptLanguage for supported languages. + + String + + String + + + None + + + ShareData + + Specifies whether voicemail and transcription data are shared with the service for training and improving accuracy. Possible values are Defer and Deny. + + String + + String + + + None + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + New-CsOnlineVoicemailPolicy -Identity "CustomOnlineVoicemailPolicy" -MaximumRecordingLength ([TimeSpan]::FromSeconds(60)) + + The command shown in Example 1 creates a per-user online voicemail policy CustomOnlineVoicemailPolicy with MaximumRecordingLength set to 60 seconds and other fields set to tenant level global value. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csonlinevoicemailpolicy + + + Get-CsOnlineVoicemailPolicy + + + + Set-CsOnlineVoicemailPolicy + + + + Remove-CsOnlineVoicemailPolicy + + + + Grant-CsOnlineVoicemailPolicy + + + + + + + New-CsTeamsAppPermissionPolicy + New + CsTeamsAppPermissionPolicy + + NOTE : The existence of this cmdlet is being documented for completeness, but do not use this cmdlet. We require that all creation and modification of app permission polices (not including the assignment or removal of policies from users) happens in the Microsoft Teams & Skype for Business Admin Center to ensure that the policy matches your expectations for the end user experience. This cmdlet is not supported for tenants that migrated to app centric management feature as it replaced permission policies. While the cmdlet may succeed, the changes aren't applied to the tenant. + As an admin, you can use app permission policies to allow or block apps for your users. Learn more about the app permission policies at <https://learn.microsoft.com/microsoftteams/teams-app-permission-policies> and about app centric management at <https://learn.microsoft.com/microsoftteams/app-centric-management>. + + + + NOTE : The existence of this cmdlet is being documented for completeness, but do not use this cmdlet. We require that all creation and modification of app permission polices (not including the assignment or removal of policies from users) happens in the Microsoft Teams & Skype for Business Admin Center to ensure that the policy matches your expectations for the end user experience. + As an admin, you can use app permission policies to enable or block specific apps for your users. Learn more about the App Setup Policies: <https://learn.microsoft.com/microsoftteams/teams-app-permission-policies>. + + + + New-CsTeamsAppPermissionPolicy + + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + + + + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csteamsapppermissionpolicy + + + + + + New-CsTeamsAppSetupPolicy + New + CsTeamsAppSetupPolicy + + NOTE : The existence of this cmdlet is being documented for completeness, but do not use this cmdlet. We require that all creation and modification of app setup polices (not including the assignment or removal of policies from users) happens in the Microsoft Teams & Skype for Business Admin Center to ensure that the policy matches your expectations for the end user experience. + As an admin, you can use app setup policies to customize Microsoft Teams to highlight the apps that are most important for your users. You choose the apps to pin and set the order that they appear. App setup policies let you showcase apps that users in your organization need, including ones built by third parties or by developers in your organization. You can also use app setup policies to manage how built-in features appear. + Apps are pinned to the app bar. This is the bar on the side of the Teams desktop client and at the bottom of the Teams mobile clients (iOS and Android). Learn more about the App Setup Policies: <https://learn.microsoft.com/MicrosoftTeams/teams-app-setup-policies>. + + + + NOTE : The existence of this cmdlet is being documented for completeness, but do not use this cmdlet. We require that all creation and modification of app setup polices (not including the assignment or removal of policies from users) happens in the Microsoft Teams & Skype for Business Admin Center to ensure that the policy matches your expectations for the end user experience. + As an admin, you can use app setup policies to customize Microsoft Teams to highlight the apps that are most important for your users. You choose the apps to pin and set the order that they appear. App setup policies let you showcase apps that users in your organization need, including ones built by third parties or by developers in your organization. You can also use app setup policies to manage how built-in features appear. + Apps are pinned to the app bar. This is the bar on the side of the Teams desktop client and at the bottom of the Teams mobile clients (iOS and Android). Learn more about the App Setup Policies: <https://learn.microsoft.com/MicrosoftTeams/teams-app-setup-policies>. + + + + New-CsTeamsAppSetupPolicy + + Identity + + Name of App setup policy. If empty, all Identities will be used by default. + + XdsIdentity + + XdsIdentity + + + None + + + Description + + Description of the app setup policy. + + String + + String + + + None + + + AllowUserPinning + + If you turn this on, the user's existing app pins will be added to the list of pinned apps set in this policy. Users can rearrange, add, and remove pins as they choose. If you turn this off, the user's existing app pins will be removed and replaced with the apps defined in this policy. + + Boolean + + Boolean + + + None + + + AllowSideLoading + + This is also known as side loading. This setting determines if a user can upload a custom app package in the Teams app. Turning it on lets you create or develop a custom app to be used personally or across your organization without having to submit it to the Teams app store. Uploading a custom app also lets you test an app before you distribute it more widely by only assigning it to a single user or group of users. + + Boolean + + Boolean + + + None + + + PinnedAppBarApps + + Pinning an app displays the app in the app bar in Teams client. Admins can pin apps and they can allow users to pin apps. Pinning is used to highlight apps that are needed the most by users and promote ease of access. + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PinnedApp[] + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PinnedApp[] + + + None + + + PinnedMessageBarApps + + Apps are pinned in messaging extensions and into the ellipsis menu. + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PinnedMessageBarApp[] + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PinnedMessageBarApp[] + + + None + + + AppPresetList + + Choose which apps and messaging extensions you want to be installed in your users' personal Teams environment and in meetings they create. Users can install other available apps from the Teams app store. + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.AppPreset[] + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.AppPreset[] + + + None + + + Tenant + + Do not use. + + System.Guid + + System.Guid + + + None + + + + + + Description + + Description of the app setup policy. + + String + + String + + + None + + + Identity + + Name of App setup policy. If empty, all Identities will be used by default. + + XdsIdentity + + XdsIdentity + + + None + + + AllowUserPinning + + If you turn this on, the user's existing app pins will be added to the list of pinned apps set in this policy. Users can rearrange, add, and remove pins as they choose. If you turn this off, the user's existing app pins will be removed and replaced with the apps defined in this policy. + + Boolean + + Boolean + + + None + + + AllowSideLoading + + This is also known as side loading. This setting determines if a user can upload a custom app package in the Teams app. Turning it on lets you create or develop a custom app to be used personally or across your organization without having to submit it to the Teams app store. Uploading a custom app also lets you test an app before you distribute it more widely by only assigning it to a single user or group of users. + + Boolean + + Boolean + + + None + + + PinnedAppBarApps + + Pinning an app displays the app in the app bar in Teams client. Admins can pin apps and they can allow users to pin apps. Pinning is used to highlight apps that are needed the most by users and promote ease of access. + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PinnedApp[] + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PinnedApp[] + + + None + + + PinnedMessageBarApps + + Apps are pinned in messaging extensions and into the ellipsis menu. + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PinnedMessageBarApp[] + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PinnedMessageBarApp[] + + + None + + + AppPresetList + + Choose which apps and messaging extensions you want to be installed in your users' personal Teams environment and in meetings they create. Users can install other available apps from the Teams app store. + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.AppPreset[] + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.AppPreset[] + + + None + + + Tenant + + Do not use. + + System.Guid + + System.Guid + + + None + + + + + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.AppPreset + + + + + + + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PinnedApp + + + + + + + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PinnedMessageBarApp + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + New-CsTeamsAppSetupPolicy -Identity (Get-Date -Format FileDateTimeUniversal) + + Create a new TeamsAppSetupPolicy, if no parameters are specified, the Global Policy configuration is used by default. + + + + -------------------------- Example 2 -------------------------- + New-CsTeamsAppSetupPolicy -Identity (Get-Date -Format FileDateTimeUniversal) -AllowSideLoading $true -AllowUserPinning $true + + Create a new TeamsAppSetupPolicy. Users can upload a custom app package in the Teams app because AllowSideLoading is set as True, and existing app pins can be added to the list of pinned apps because AllowUserPinning is set as True. + + + + -------------------------- Example 3 -------------------------- + # Set ActivityApp, ChatApp, TeamsApp as PinnedAppBarApps +$ActivityApp = New-Object -TypeName Microsoft.Teams.Policy.Administration.Cmdlets.Core.PinnedApp -Property @{Id="14d6962d-6eeb-4f48-8890-de55454bb136"} +$ChatApp = New-Object -TypeName Microsoft.Teams.Policy.Administration.Cmdlets.Core.PinnedApp -Property @{Id="86fcd49b-61a2-4701-b771-54728cd291fb"} +$TeamsApp = New-Object -TypeName Microsoft.Teams.Policy.Administration.Cmdlets.Core.PinnedApp -Property @{Id="2a84919f-59d8-4441-a975-2a8c2643b741"} +$PinnedAppBarApps = @($ActivityApp,$ChatApp,$TeamsApp) + +# Settings to pin these apps to the app bar in Teams client. +New-CsTeamsAppSetupPolicy -Identity (Get-Date -Format FileDateTimeUniversal) -AllowUserPinning $true -PinnedAppBarApps $PinnedAppBarApps + + Create a new TeamsAppSetupPolicy and pin ActivityApp, ChatApp, TeamsApp apps to the app bar in Teams client by setting these apps as PinnedAppBarApps. + + + + -------------------------- Example 4 -------------------------- + # Set VivaConnectionsApp as PinnedMessageBarApps +$VivaConnectionsApp = New-Object -TypeName Microsoft.Teams.Policy.Administration.Cmdlets.Core.PinnedMessageBarApp -Property @{Id="d2c6f111-ffad-42a0-b65e-ee00425598aa"} +$PinnedMessageBarApps = @($VivaConnectionsApp) +# Settings to pin these apps to the messaging extension in Teams client. +Set-CsTeamsAppSetupPolicy -Identity (Get-Date -Format FileDateTimeUniversal) -AllowUserPinning $true -PinnedMessageBarApps $PinnedMessageBarApps + + Create a new TeamsAppSetupPolicy and pin VivaConnections app to the messaging extension in Teams client by setting these apps as PinnedMessageBarApps. + + + + -------------------------- Example 5 -------------------------- + # Set VivaConnectionsApp as AppPresetList +$VivaConnectionsApp = New-Object -TypeName Microsoft.Teams.Policy.Administration.Cmdlets.Core.AppPreset -Property @{Id="d2c6f111-ffad-42a0-b65e-ee00425598aa"} +$AppPresetList = @($VivaConnectionsApp) +# Settings to install these apps in your users' personal Teams environment +Set-CsTeamsAppSetupPolicy -Identity (Get-Date -Format FileDateTimeUniversal) -AllowSideLoading $true -AppPresetList $AppPresetList + + Create a new TeamsAppSetupPolicy and install VivaConnections App in users' personal Teams environment by setting these apps as AppPresetList. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csteamsappsetuppolicy + + + + + + New-CsTeamsCallHoldPolicy + New + CsTeamsCallHoldPolicy + + Creates a new Teams call hold policy in your tenant. The Teams call hold policy is used to customize the call hold experience for Teams clients. + + + + Teams call hold policies are used to customize the call hold experience for teams clients. When Microsoft Teams users participate in calls, they have the ability to hold a call and have the other entity in the call listen to an audio file during the duration of the hold. + Assigning a Teams call hold policy to a user sets an audio file to be played during the duration of the hold. + + + + New-CsTeamsCallHoldPolicy + + Identity + + Unique identifier to be assigned to the new Teams call hold policy. + + String + + String + + + None + + + Description + + Enables administrators to provide explanatory text to accompany a Teams call hold policy. + For example, the Description might include information about the users the policy should be assigned to. + + String + + String + + + None + + + AudioFileId + + A string representing the ID referencing an audio file uploaded via the Import-CsOnlineAudioFile cmdlet. + + String + + String + + + None + + + StreamingSourceUrl + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + StreamingSourceAuthType + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Identity + + Unique identifier to be assigned to the new Teams call hold policy. + + String + + String + + + None + + + Description + + Enables administrators to provide explanatory text to accompany a Teams call hold policy. + For example, the Description might include information about the users the policy should be assigned to. + + String + + String + + + None + + + AudioFileId + + A string representing the ID referencing an audio file uploaded via the Import-CsOnlineAudioFile cmdlet. + + String + + String + + + None + + + StreamingSourceUrl + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + StreamingSourceAuthType + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> New-CsTeamsCallHoldPolicy -Identity "ContosoPartnerTeamsCallHoldPolicy" -Description "country music" -AudioFileID "c65233-ac2a27-98701b-123ccc" + + The command shown in Example 1 creates a new, per-user Teams call hold policy with the Identity ContosoPartnerTeamsCallHoldPolicy. This policy is assigned the audio file ID: c65233-ac2a27-98701b-123ccc, which is the ID referencing an audio file that was uploaded using the Import-CsOnlineAudioFile cmdlet. + Any Microsoft Teams users who are assigned this policy will have their call holds customized such that the user being held will hear the audio file specified by AudioFileId. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csteamscallholdpolicy + + + Get-CsTeamsCallHoldPolicy + + + + Set-CsTeamsCallHoldPolicy + + + + Grant-CsTeamsCallHoldPolicy + + + + Remove-CsTeamsCallHoldPolicy + + + + Import-CsOnlineAudioFile + + + + + + + New-CsTeamsCallingPolicy + New + CsTeamsCallingPolicy + + Use this cmdlet to create a new instance of a Teams Calling Policy. + + + + The Teams Calling Policy controls which calling and call forwarding features are available to users in Microsoft Teams. This cmdlet allows admins to create new policy instances. + + + + New-CsTeamsCallingPolicy + + Identity + + Name of the policy instance being created. + + String + + String + + + None + + + AllowCallForwardingToPhone + + Enables the user to configure in the Microsoft Teams client call forwarding or simultaneous ringing of inbound calls to any phone number. + + Boolean + + Boolean + + + None + + + AllowCallForwardingToUser + + Enables the user to configure in the Microsoft Teams client call forwarding or simultaneous ringing of inbound calls to other users in your tenant. + + Boolean + + Boolean + + + None + + + AllowCallGroups + + Enables the user to configure call groups in the Microsoft Teams client and that inbound calls should be routed to call groups. + + Boolean + + Boolean + + + None + + + AllowCallRedirect + + Setting this parameter enables local call redirection for SIP devices connecting via the Microsoft Teams SIP gateway. + + Valid options are: - Enabled: Enables the user to redirect an incoming call. + - Disabled: The user is not enabled to redirect an incoming call. + + - UserOverride: This option is not available for use. + + String + + String + + + None + + + AllowCloudRecordingForCalls + + Determines whether cloud recording is allowed in a user's 1:1 Teams or PSTN calls. Set this to True to allow the user to be able to record 1:1 calls. Set this to False to prohibit the user from recording 1:1 calls. + + Boolean + + Boolean + + + None + + + AllowDelegation + + Enables the user to configure delegation in the Microsoft Teams client and that inbound calls to be routed to delegates; allows delegates to make outbound calls on behalf of the users for whom they have delegated permissions. + + Boolean + + Boolean + + + None + + + AllowPrivateCalling + + Controls all calling capabilities in Teams. Turning this off will turn off all calling functionality in Teams. If you use Skype for Business for calling, this policy will not affect calling functionality in Skype for Business. + + Boolean + + Boolean + + + None + + + AllowSIPDevicesCalling + + Determines whether the user is allowed to use a SIP device for calling on behalf of a Teams client. + + Boolean + + Boolean + + + None + + + AllowTranscriptionForCalling + + Determines whether post-call transcriptions are allowed. Set this to True to allow. Set this to False to prohibit. + + Boolean + + Boolean + + + None + + + AllowVoicemail + + Enables inbound calls to be routed to voicemail. + Valid options are: - AlwaysEnabled: Calls are always forwarded to voicemail on unanswered after ringing for thirty seconds, regardless of the unanswered call forward setting for the user. + - AlwaysDisabled: Calls are never routed to voicemail, regardless of the call forward or unanswered settings for the user. Voicemail isn't available as a call forwarding or unanswered setting in Teams. + - UserOverride: Calls are forwarded to voicemail based on the call forwarding and/or unanswered settings for the user. + + String + + String + + + None + + + AllowWebPSTNCalling + + Allows PSTN calling from the Team web client. + + Object + + Object + + + None + + + AutoAnswerEnabledType + + Setting this parameter allows you to enable or disable auto-answer for incoming meeting invites on Teams Phones. This setting applies only to incoming meeting invites and does not include support for other call types. + Valid options are: - Enabled: Auto-answer is enabled. + - Disabled: Auto-answer is disabled. This is the default setting. + + String + + String + + + Disabled + + + BusyOnBusyEnabledType + + Setting this parameter lets you configure how incoming calls are handled when a user is already in a call or conference or has a call placed on hold. + Valid options are: - Enabled: New or incoming calls will be rejected with a busy signal. + - Unanswered: The user's unanswered settings will take effect, such as routing to voicemail or forwarding to another user. + - Disabled: New or incoming calls will be presented to the user. + - UserOverride: Users can set their busy options directly from call settings in Teams app. + + String + + String + + + None + + + CallRecordingExpirationDays + + Sets the expiration of the recorded 1:1 calls. Default is 60 days. + + Long + + Long + + + None + + + Description + + Enables administrators to provide explanatory text about the calling policy. For example, the Description might indicate the users to whom the policy should be assigned. + + String + + String + + + None + + + InboundFederatedCallRoutingTreatment + + Setting this parameter lets you control how inbound federated calls should be routed. + Valid options are: - RegularIncoming: No changes are made to default inbound routing. This is the default setting. + - Unanswered: The inbound federated call will be routed according to the called user's unanswered call settings and the call will not be presented to the called user. The called user will see a missed call notification. If the called user has not enabled unanswered call settings the call will be disconnected. + + - Voicemail: The inbound federated call will be routed directly to the called user's voicemail and the call will not be presented to the user. If the called user does not have voicemail enabled the call will be disconnected. + Setting this parameter to Unanswered or Voicemail will have precedence over other call forwarding settings like call forward/simultaneous ringing to delegate, call groups, or call forwarding. + + String + + String + + + RegularIncoming + + + InboundPstnCallRoutingTreatment + + Setting this parameter lets you control how inbound PSTN calls should be routed. + Valid options are: - RegularIncoming: No changes are made to default inbound routing. This is the default setting. + - Unanswered: The inbound PSTN call will be routed according to the called user's unanswered call settings and the call will not be presented to the called user. The called user will see a missed call notification. If the called user has not enabled unanswered call settings the call will be disconnected. + + - Voicemail: The inbound PSTN call will be routed directly to the called user's voicemail and the call will not be presented to the user. If the called user does not have voicemail enabled the call will be disconnected. + - UserOverride: For now, setting the value to UserOverride is the same as RegularIncoming. + + Setting this parameter to Unanswered or Voicemail will have precedence over other call forwarding settings like call forward/simultaneous ringing to delegate, call groups, or call forwarding. + + String + + String + + + RegularIncoming + + + LiveCaptionsEnabledTypeForCalling + + Determines whether real-time captions are available for the user in Teams calls. + Valid options are: - DisabledUserOverride: Allows the user to turn on live captions. + - Disabled: Prohibits the user from turning on live captions. + + String + + String + + + None + + + MusicOnHoldEnabledType + + Setting this parameter allows you to turn on or turn off the music on hold when a caller is placed on hold. + Valid options are: - Enabled: Music on hold is enabled. This is the default. + - Disabled: Music on hold is disabled. + - UserOverride: For now, setting the value to UserOverride is the same as Enabled. + + String + + String + + + Enabled + + + PopoutAppPathForIncomingPstnCalls + + Setting this parameter allows you to set the PopoutForIncomingPstnCalls setting's URL path of the website to launch upon receiving incoming PSTN calls. This parameter accepts an HTTPS URL with less than 1024 characters. The URL can contain a `{phone}` placeholder that is replaced with the caller's PSTN number in E.164 format when launched. + + String + + String + + + "" + + + PopoutForIncomingPstnCalls + + Setting this parameter allows you to control the tenant users' ability to launch an external website URL automatically in the browser window upon incoming PSTN calls for specific users or user groups. Valid options are Enabled and Disabled. + + String + + String + + + Disabled + + + PreventTollBypass + + Setting this parameter to True will send calls through PSTN and incur charges rather than going through the network and bypassing the tolls. Note : Do not set this parameter to True for Calling Plan or Operator Connect users as it will prevent successful call routing. This setting only works with Direct Routing which is configured to handle location-based routing restrictions. + + Boolean + + Boolean + + + None + + + SpamFilteringEnabledType + + Determines Spam filtering mode. + Possible values: - Enabled: Spam Filtering is fully enabled. Both Basic and Captcha Interactive Voice Response (IVR) checks are performed. In case the call is considered spam, the user will get a "Spam Likely" notification in Teams. + - Disabled: Spam Filtering is completely disabled. No checks are performed. A "Spam Likely" notification will not appear. + - EnabledWithoutIVR: Spam Filtering is partially enabled. Captcha IVR checks are disabled. A "Spam Likely" notification will appear. A call might get dropped if it gets a high score from Basic checks. + + String + + String + + + None + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + AllowCallForwardingToPhone + + Enables the user to configure in the Microsoft Teams client call forwarding or simultaneous ringing of inbound calls to any phone number. + + Boolean + + Boolean + + + None + + + AllowCallForwardingToUser + + Enables the user to configure in the Microsoft Teams client call forwarding or simultaneous ringing of inbound calls to other users in your tenant. + + Boolean + + Boolean + + + None + + + AllowCallGroups + + Enables the user to configure call groups in the Microsoft Teams client and that inbound calls should be routed to call groups. + + Boolean + + Boolean + + + None + + + AllowCallRedirect + + Setting this parameter enables local call redirection for SIP devices connecting via the Microsoft Teams SIP gateway. + + Valid options are: - Enabled: Enables the user to redirect an incoming call. + - Disabled: The user is not enabled to redirect an incoming call. + + - UserOverride: This option is not available for use. + + String + + String + + + None + + + AllowCloudRecordingForCalls + + Determines whether cloud recording is allowed in a user's 1:1 Teams or PSTN calls. Set this to True to allow the user to be able to record 1:1 calls. Set this to False to prohibit the user from recording 1:1 calls. + + Boolean + + Boolean + + + None + + + AllowDelegation + + Enables the user to configure delegation in the Microsoft Teams client and that inbound calls to be routed to delegates; allows delegates to make outbound calls on behalf of the users for whom they have delegated permissions. + + Boolean + + Boolean + + + None + + + AllowPrivateCalling + + Controls all calling capabilities in Teams. Turning this off will turn off all calling functionality in Teams. If you use Skype for Business for calling, this policy will not affect calling functionality in Skype for Business. + + Boolean + + Boolean + + + None + + + AllowSIPDevicesCalling + + Determines whether the user is allowed to use a SIP device for calling on behalf of a Teams client. + + Boolean + + Boolean + + + None + + + AllowTranscriptionForCalling + + Determines whether post-call transcriptions are allowed. Set this to True to allow. Set this to False to prohibit. + + Boolean + + Boolean + + + None + + + AllowVoicemail + + Enables inbound calls to be routed to voicemail. + Valid options are: - AlwaysEnabled: Calls are always forwarded to voicemail on unanswered after ringing for thirty seconds, regardless of the unanswered call forward setting for the user. + - AlwaysDisabled: Calls are never routed to voicemail, regardless of the call forward or unanswered settings for the user. Voicemail isn't available as a call forwarding or unanswered setting in Teams. + - UserOverride: Calls are forwarded to voicemail based on the call forwarding and/or unanswered settings for the user. + + String + + String + + + None + + + AllowWebPSTNCalling + + Allows PSTN calling from the Team web client. + + Object + + Object + + + None + + + AutoAnswerEnabledType + + Setting this parameter allows you to enable or disable auto-answer for incoming meeting invites on Teams Phones. This setting applies only to incoming meeting invites and does not include support for other call types. + Valid options are: - Enabled: Auto-answer is enabled. + - Disabled: Auto-answer is disabled. This is the default setting. + + String + + String + + + Disabled + + + BusyOnBusyEnabledType + + Setting this parameter lets you configure how incoming calls are handled when a user is already in a call or conference or has a call placed on hold. + Valid options are: - Enabled: New or incoming calls will be rejected with a busy signal. + - Unanswered: The user's unanswered settings will take effect, such as routing to voicemail or forwarding to another user. + - Disabled: New or incoming calls will be presented to the user. + - UserOverride: Users can set their busy options directly from call settings in Teams app. + + String + + String + + + None + + + CallRecordingExpirationDays + + Sets the expiration of the recorded 1:1 calls. Default is 60 days. + + Long + + Long + + + None + + + Description + + Enables administrators to provide explanatory text about the calling policy. For example, the Description might indicate the users to whom the policy should be assigned. + + String + + String + + + None + + + Identity + + Name of the policy instance being created. + + String + + String + + + None + + + InboundFederatedCallRoutingTreatment + + Setting this parameter lets you control how inbound federated calls should be routed. + Valid options are: - RegularIncoming: No changes are made to default inbound routing. This is the default setting. + - Unanswered: The inbound federated call will be routed according to the called user's unanswered call settings and the call will not be presented to the called user. The called user will see a missed call notification. If the called user has not enabled unanswered call settings the call will be disconnected. + + - Voicemail: The inbound federated call will be routed directly to the called user's voicemail and the call will not be presented to the user. If the called user does not have voicemail enabled the call will be disconnected. + Setting this parameter to Unanswered or Voicemail will have precedence over other call forwarding settings like call forward/simultaneous ringing to delegate, call groups, or call forwarding. + + String + + String + + + RegularIncoming + + + InboundPstnCallRoutingTreatment + + Setting this parameter lets you control how inbound PSTN calls should be routed. + Valid options are: - RegularIncoming: No changes are made to default inbound routing. This is the default setting. + - Unanswered: The inbound PSTN call will be routed according to the called user's unanswered call settings and the call will not be presented to the called user. The called user will see a missed call notification. If the called user has not enabled unanswered call settings the call will be disconnected. + + - Voicemail: The inbound PSTN call will be routed directly to the called user's voicemail and the call will not be presented to the user. If the called user does not have voicemail enabled the call will be disconnected. + - UserOverride: For now, setting the value to UserOverride is the same as RegularIncoming. + + Setting this parameter to Unanswered or Voicemail will have precedence over other call forwarding settings like call forward/simultaneous ringing to delegate, call groups, or call forwarding. + + String + + String + + + RegularIncoming + + + LiveCaptionsEnabledTypeForCalling + + Determines whether real-time captions are available for the user in Teams calls. + Valid options are: - DisabledUserOverride: Allows the user to turn on live captions. + - Disabled: Prohibits the user from turning on live captions. + + String + + String + + + None + + + MusicOnHoldEnabledType + + Setting this parameter allows you to turn on or turn off the music on hold when a caller is placed on hold. + Valid options are: - Enabled: Music on hold is enabled. This is the default. + - Disabled: Music on hold is disabled. + - UserOverride: For now, setting the value to UserOverride is the same as Enabled. + + String + + String + + + Enabled + + + PopoutAppPathForIncomingPstnCalls + + Setting this parameter allows you to set the PopoutForIncomingPstnCalls setting's URL path of the website to launch upon receiving incoming PSTN calls. This parameter accepts an HTTPS URL with less than 1024 characters. The URL can contain a `{phone}` placeholder that is replaced with the caller's PSTN number in E.164 format when launched. + + String + + String + + + "" + + + PopoutForIncomingPstnCalls + + Setting this parameter allows you to control the tenant users' ability to launch an external website URL automatically in the browser window upon incoming PSTN calls for specific users or user groups. Valid options are Enabled and Disabled. + + String + + String + + + Disabled + + + PreventTollBypass + + Setting this parameter to True will send calls through PSTN and incur charges rather than going through the network and bypassing the tolls. Note : Do not set this parameter to True for Calling Plan or Operator Connect users as it will prevent successful call routing. This setting only works with Direct Routing which is configured to handle location-based routing restrictions. + + Boolean + + Boolean + + + None + + + SpamFilteringEnabledType + + Determines Spam filtering mode. + Possible values: - Enabled: Spam Filtering is fully enabled. Both Basic and Captcha Interactive Voice Response (IVR) checks are performed. In case the call is considered spam, the user will get a "Spam Likely" notification in Teams. + - Disabled: Spam Filtering is completely disabled. No checks are performed. A "Spam Likely" notification will not appear. + - EnabledWithoutIVR: Spam Filtering is partially enabled. Captcha IVR checks are disabled. A "Spam Likely" notification will appear. A call might get dropped if it gets a high score from Basic checks. + + String + + String + + + None + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> New-CsTeamsCallingPolicy -Identity Sales -AllowPrivateCalling $false + + The cmdlet create the policy instance Sales and sets the value of the parameter AllowPrivateCalling to False. The rest of the parameters are set to the corresponding values in the Global policy instance. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csteamscallingpolicy + + + Get-CsTeamsCallingPolicy + + + + Remove-CsTeamsCallingPolicy + + + + Grant-CsTeamsCallingPolicy + + + + Set-CsTeamsCallingPolicy + + + + + + + New-CsTeamsChannelsPolicy + New + CsTeamsChannelsPolicy + + The CsTeamsChannelsPolicy allows you to manage features related to the Teams & Channels experience within the Teams application. + + + + The CsTeamsChannelsPolicy allows you to manage features related to the Teams & Channels experience within the Teams application. + This cmdlet allows you to create new policies of this type, which can later be assigned to specific users. + + + + New-CsTeamsChannelsPolicy + + Identity + + Specify the name of the policy that you are creating. + + String + + String + + + None + + + EnablePrivateTeamDiscovery + + Determines whether a user is allowed to discover private teams in suggestions and search results. Set this to TRUE to allow. Set this FALSE to prohibit. + + Boolean + + Boolean + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Bypasses all non-fatal errors. + + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + AllowOrgWideTeamCreation + + Determines whether a user is allowed to create an org-wide team. Set this to TRUE to allow. Set this FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowPrivateChannelCreation + + Determines whether a user is allowed to create a private channel. Set this to TRUE to allow. Set this FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowChannelSharingToExternalUser + + Owners of a shared channel can invite external users to join the channel if Microsoft Entra external sharing policies are configured. If the channel has been shared with an external member or team, they will continue to have access to the channel even if this parameter is set to FALSE. For more information, see Manage channel policies in Microsoft Teams (/microsoftteams/teams-policies). + + Boolean + + Boolean + + + None + + + AllowSharedChannelCreation + + Team owners can create shared channels for people within and outside the organization. Only people added to the shared channel can read and write messages. + + Boolean + + Boolean + + + None + + + AllowUserToParticipateInExternalSharedChannel + + Users and teams can be invited to external shared channels if Microsoft Entra external sharing policies are configured. If a team in your organization is part of an external shared channel, new team members will have access to the channel even if this parameter is set to FALSE. For more information, see Manage channel policies in Microsoft Teams (/microsoftteams/teams-policies). + + Boolean + + Boolean + + + None + + + + + + EnablePrivateTeamDiscovery + + Determines whether a user is allowed to discover private teams in suggestions and search results. Set this to TRUE to allow. Set this FALSE to prohibit. + + Boolean + + Boolean + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + Bypasses all non-fatal errors. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Specify the name of the policy that you are creating. + + String + + String + + + None + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + AllowOrgWideTeamCreation + + Determines whether a user is allowed to create an org-wide team. Set this to TRUE to allow. Set this FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowPrivateChannelCreation + + Determines whether a user is allowed to create a private channel. Set this to TRUE to allow. Set this FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowChannelSharingToExternalUser + + Owners of a shared channel can invite external users to join the channel if Microsoft Entra external sharing policies are configured. If the channel has been shared with an external member or team, they will continue to have access to the channel even if this parameter is set to FALSE. For more information, see Manage channel policies in Microsoft Teams (/microsoftteams/teams-policies). + + Boolean + + Boolean + + + None + + + AllowSharedChannelCreation + + Team owners can create shared channels for people within and outside the organization. Only people added to the shared channel can read and write messages. + + Boolean + + Boolean + + + None + + + AllowUserToParticipateInExternalSharedChannel + + Users and teams can be invited to external shared channels if Microsoft Entra external sharing policies are configured. If a team in your organization is part of an external shared channel, new team members will have access to the channel even if this parameter is set to FALSE. For more information, see Manage channel policies in Microsoft Teams (/microsoftteams/teams-policies). + + Boolean + + Boolean + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> New-CsTeamsChannelsPolicy -Identity StudentPolicy -EnablePrivateTeamDiscovery $false + + This example shows creating a new policy with name "StudentPolicy" where Private Team Discovery is disabled. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csteamschannelspolicy + + + Set-CsTeamsChannelsPolicy + + + + Remove-CsTeamsChannelsPolicy + + + + Grant-CsTeamsChannelsPolicy + + + + Get-CsTeamsChannelsPolicy + + + + + + + New-CsTeamsComplianceRecordingApplication + New + CsTeamsComplianceRecordingApplication + + Creates a new association between an application instance of a policy-based recording application and a Teams recording policy for administering automatic policy-based recording in your tenant. Automatic policy-based recording is only applicable to Microsoft Teams users. + + + + Policy-based recording applications are used in automatic policy-based recording scenarios. When Microsoft Teams users participate in meetings or make or receive calls, the policy-based recording applications i.e. bots associated with the user's Teams recording policy are invited into the call or meeting to enforce compliance with the administrative set policy. + Instances of these applications are created using CsOnlineApplicationInstance cmdlets and are then associated with Teams recording policies. + Note that application instances of policy-based recording applications must be associated with a Teams recording policy using the CsTeamsComplianceRecordingApplication cmdlets. Once the association is done, the Identity of these application instances becomes <Identity of the associated Teams recording policy>/<ObjectId of the application instance>. For example, the Identity of an application instance can be \"Tag:ContosoPartnerComplianceRecordingPolicy/39dc3ede-c80e-4f19-9153-417a65a1f144\", which indicates that the application instance with ObjectId 39dc3ede-c80e-4f19-9153-417a65a1f144 is associated with the Teams recording policy with Identity ContosoPartnerComplianceRecordingPolicy. + Please work with your Microsoft certified policy-based recording application provider to obtain an instance of their recording application. Please refer to the documentation of the CsOnlineApplicationInstance cmdlets for information on how to create an application instance of a policy-based recording application. Please also refer to the documentation of CsTeamsComplianceRecordingPolicy cmdlets for further information. + + + + New-CsTeamsComplianceRecordingApplication + + Identity + + A name that uniquely identifies the application instance of the policy-based recording application. + Application instances of policy-based recording applications must be associated with a Teams recording policy using the CsTeamsComplianceRecordingApplication cmdlets. To do this association correctly, the Identity of these application instances must be <Identity of the associated Teams recording policy>/<ObjectId of the application instance>. For example, the Identity of an application instance can be \"Tag:ContosoPartnerComplianceRecordingPolicy/39dc3ede-c80e-4f19-9153-417a65a1f144\", which indicates that the application instance with ObjectId 39dc3ede-c80e-4f19-9153-417a65a1f144 is associated with the Teams recording policy with Identity ContosoPartnerComplianceRecordingPolicy. + + XdsIdentity + + XdsIdentity + + + None + + + RequiredBeforeMeetingJoin + + Indicates whether the policy-based recording application must be in the meeting before the user is allowed to join the meeting. + If this is set to True, the user will not be allowed to join the meeting if the policy-based recording application fails to join the meeting. The meeting will still continue for users who are in the meeting. + If this is set to False, the user will be allowed to join the meeting even if the policy-based recording application fails to join the meeting. + + Boolean + + Boolean + + + True + + + RequiredDuringMeeting + + Indicates whether the policy-based recording application must be in the meeting while the user is in the meeting. + If this is set to True, the user will be ejected from the meeting if the policy-based recording application leaves the meeting or is dropped from the meeting. The meeting will still continue for users who are in the meeting. + If this is set to False, the user will not be ejected from the meeting if the policy-based recording application leaves the meeting or is dropped from the meeting. + + Boolean + + Boolean + + + True + + + RequiredBeforeCallEstablishment + + Indicates whether the policy-based recording application must be in the call before the call is allowed to establish. + If this is set to True, the call will be cancelled if the policy-based recording application fails to join the call. + If this is set to False, call establishment will proceed normally if the policy-based recording application fails to join the call. + + Boolean + + Boolean + + + True + + + RequiredDuringCall + + Indicates whether the policy-based recording application must be in the call while the call is active. + If this is set to True, the call will be cancelled if the policy-based recording application leaves the call or is dropped from the call. + If this is set to False, call establishment will proceed normally if the policy-based recording application leaves the call or is dropped from the call. + + Boolean + + Boolean + + + True + + + ConcurrentInvitationCount + + Determines the number of invites to send out to the application instance of the policy-based recording application. Can be set to 1 or 2 only. + In situations where application resiliency is a necessity, multiple invites can be sent to the same application for the same call or meeting. If multiple such invites are accepted, then it means that multiple instances of this application are in the call or meeting and each of those instances can record independent of the others. + If all of the invites are rejected, the application invitation process is deemed a failure and the other flags for this application control what happens next. Please refer to the documentation of the RequiredBeforeMeetingJoin and RequiredBeforeCallEstablishment parameters. + If at least one of the invites is accepted and the others are rejected, the application invitation process is still deemed a success. + If multiple invites are accepted and all of the instances leave or get dropped from the call or meeting, then the application is no longer in the call or meeting and the other flags for this application control what happens next. Please refer to the documentation of the RequiredDuringMeeting and RequiredDuringCall parameters. + If multiple invites are accepted and at least one of the instances remains in the call or meeting, then the application is in the call or meeting. + Note that application resiliency can be achieved either by sending multiple invites to the same application using ConcurrentInvitationCount or by sending invites to separate paired applications using ComplianceRecordingPairedApplications. However, you cannot do both. Please work with your Microsoft certified policy-based recording application provider to determine if application resiliency is needed for your workflows and how best to achieve application resiliency. + + UInt32 + + UInt32 + + + 1 + + + ComplianceRecordingPairedApplications + + Determines the other policy-based recording applications to pair with this application to achieve application resiliency. Can only have one paired application. + In situations where application resiliency is a necessity, invites can be sent to separate paired applications for the same call or meeting. If multiple such invites are accepted, then it means that multiple instances of this application are in the call or meeting and each of those instances can record independent of the others. + If all of the invites are rejected, the application invitation process is deemed a failure and the other flags for this application control what happens next. Please refer to the documentation of the RequiredBeforeMeetingJoin and RequiredBeforeCallEstablishment parameters. + If at least one of the invites is accepted and the others are rejected, the application invitation process is still deemed a success. + If multiple invites are accepted and all of the instances leave or get dropped from the call or meeting, then the application is no longer in the call or meeting and the other flags for this application control what happens next. Please refer to the documentation of the RequiredDuringMeeting and RequiredDuringCall parameters. + If multiple invites are accepted and at least one of the instances remains in the call or meeting, then the application is in the call or meeting. + Note that application resiliency can be achieved either by sending multiple invites to the same application using ConcurrentInvitationCount or by sending invites to separate paired applications using ComplianceRecordingPairedApplications. However, you cannot do both. Please work with your Microsoft certified policy-based recording application provider to determine if application resiliency is needed for your workflows and how best to achieve application resiliency. + + ComplianceRecordingPairedApplication[] + + ComplianceRecordingPairedApplication[] + + + None + + + Priority + + This priority determines the order in which the policy-based recording applications are displayed in the output of the Get-CsTeamsComplianceRecordingPolicy cmdlet. + All policy-based recording applications are invited in parallel to ensure low call setup and meeting join latencies. So this parameter does not affect the order of invitations to the applications, or any other routing. + + Int32 + + Int32 + + + None + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose Teams recording policies are being queried. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + System.Guid + + System.Guid + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + + SwitchParameter + + + False + + + InMemory + + Creates an object reference without actually committing the object as a permanent change. If you assign the output of this cmdlet called with this parameter to a variable, you can make changes to the properties of the object reference and then commit those changes by calling this cmdlet's matching Set- cmdlet. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + New-CsTeamsComplianceRecordingApplication + + Parent + + The Identity of the Teams recording policy that this application instance of a policy-based recording application is associated with. For example, the Parent of an application instance can be \"Tag:ContosoPartnerComplianceRecordingPolicy\", which indicates that the application instance is associated with the Teams recording policy with Identity ContosoPartnerComplianceRecordingPolicy. + + String + + String + + + None + + + Id + + The ObjectId of the application instance of a policy-based recording application as exposed by the Get-CsOnlineApplicationInstance cmdlet. For example, the Id of an application instance can be \"39dc3ede-c80e-4f19-9153-417a65a1f144\", which indicates that the application instance has ObjectId 39dc3ede-c80e-4f19-9153-417a65a1f144. + + String + + String + + + None + + + RequiredBeforeMeetingJoin + + Indicates whether the policy-based recording application must be in the meeting before the user is allowed to join the meeting. + If this is set to True, the user will not be allowed to join the meeting if the policy-based recording application fails to join the meeting. The meeting will still continue for users who are in the meeting. + If this is set to False, the user will be allowed to join the meeting even if the policy-based recording application fails to join the meeting. + + Boolean + + Boolean + + + True + + + RequiredDuringMeeting + + Indicates whether the policy-based recording application must be in the meeting while the user is in the meeting. + If this is set to True, the user will be ejected from the meeting if the policy-based recording application leaves the meeting or is dropped from the meeting. The meeting will still continue for users who are in the meeting. + If this is set to False, the user will not be ejected from the meeting if the policy-based recording application leaves the meeting or is dropped from the meeting. + + Boolean + + Boolean + + + True + + + RequiredBeforeCallEstablishment + + Indicates whether the policy-based recording application must be in the call before the call is allowed to establish. + If this is set to True, the call will be cancelled if the policy-based recording application fails to join the call. + If this is set to False, call establishment will proceed normally if the policy-based recording application fails to join the call. + + Boolean + + Boolean + + + True + + + RequiredDuringCall + + Indicates whether the policy-based recording application must be in the call while the call is active. + If this is set to True, the call will be cancelled if the policy-based recording application leaves the call or is dropped from the call. + If this is set to False, call establishment will proceed normally if the policy-based recording application leaves the call or is dropped from the call. + + Boolean + + Boolean + + + True + + + ConcurrentInvitationCount + + Determines the number of invites to send out to the application instance of the policy-based recording application. Can be set to 1 or 2 only. + In situations where application resiliency is a necessity, multiple invites can be sent to the same application for the same call or meeting. If multiple such invites are accepted, then it means that multiple instances of this application are in the call or meeting and each of those instances can record independent of the others. + If all of the invites are rejected, the application invitation process is deemed a failure and the other flags for this application control what happens next. Please refer to the documentation of the RequiredBeforeMeetingJoin and RequiredBeforeCallEstablishment parameters. + If at least one of the invites is accepted and the others are rejected, the application invitation process is still deemed a success. + If multiple invites are accepted and all of the instances leave or get dropped from the call or meeting, then the application is no longer in the call or meeting and the other flags for this application control what happens next. Please refer to the documentation of the RequiredDuringMeeting and RequiredDuringCall parameters. + If multiple invites are accepted and at least one of the instances remains in the call or meeting, then the application is in the call or meeting. + Note that application resiliency can be achieved either by sending multiple invites to the same application using ConcurrentInvitationCount or by sending invites to separate paired applications using ComplianceRecordingPairedApplications. However, you cannot do both. Please work with your Microsoft certified policy-based recording application provider to determine if application resiliency is needed for your workflows and how best to achieve application resiliency. + + UInt32 + + UInt32 + + + 1 + + + ComplianceRecordingPairedApplications + + Determines the other policy-based recording applications to pair with this application to achieve application resiliency. Can only have one paired application. + In situations where application resiliency is a necessity, invites can be sent to separate paired applications for the same call or meeting. If multiple such invites are accepted, then it means that multiple instances of this application are in the call or meeting and each of those instances can record independent of the others. + If all of the invites are rejected, the application invitation process is deemed a failure and the other flags for this application control what happens next. Please refer to the documentation of the RequiredBeforeMeetingJoin and RequiredBeforeCallEstablishment parameters. + If at least one of the invites is accepted and the others are rejected, the application invitation process is still deemed a success. + If multiple invites are accepted and all of the instances leave or get dropped from the call or meeting, then the application is no longer in the call or meeting and the other flags for this application control what happens next. Please refer to the documentation of the RequiredDuringMeeting and RequiredDuringCall parameters. + If multiple invites are accepted and at least one of the instances remains in the call or meeting, then the application is in the call or meeting. + Note that application resiliency can be achieved either by sending multiple invites to the same application using ConcurrentInvitationCount or by sending invites to separate paired applications using ComplianceRecordingPairedApplications. However, you cannot do both. Please work with your Microsoft certified policy-based recording application provider to determine if application resiliency is needed for your workflows and how best to achieve application resiliency. + + ComplianceRecordingPairedApplication[] + + ComplianceRecordingPairedApplication[] + + + None + + + Priority + + This priority determines the order in which the policy-based recording applications are displayed in the output of the Get-CsTeamsComplianceRecordingPolicy cmdlet. + All policy-based recording applications are invited in parallel to ensure low call setup and meeting join latencies. So this parameter does not affect the order of invitations to the applications, or any other routing. + + Int32 + + Int32 + + + None + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose Teams recording policies are being queried. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + System.Guid + + System.Guid + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + + SwitchParameter + + + False + + + InMemory + + Creates an object reference without actually committing the object as a permanent change. If you assign the output of this cmdlet called with this parameter to a variable, you can make changes to the properties of the object reference and then commit those changes by calling this cmdlet's matching Set- cmdlet. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Identity + + A name that uniquely identifies the application instance of the policy-based recording application. + Application instances of policy-based recording applications must be associated with a Teams recording policy using the CsTeamsComplianceRecordingApplication cmdlets. To do this association correctly, the Identity of these application instances must be <Identity of the associated Teams recording policy>/<ObjectId of the application instance>. For example, the Identity of an application instance can be \"Tag:ContosoPartnerComplianceRecordingPolicy/39dc3ede-c80e-4f19-9153-417a65a1f144\", which indicates that the application instance with ObjectId 39dc3ede-c80e-4f19-9153-417a65a1f144 is associated with the Teams recording policy with Identity ContosoPartnerComplianceRecordingPolicy. + + XdsIdentity + + XdsIdentity + + + None + + + Parent + + The Identity of the Teams recording policy that this application instance of a policy-based recording application is associated with. For example, the Parent of an application instance can be \"Tag:ContosoPartnerComplianceRecordingPolicy\", which indicates that the application instance is associated with the Teams recording policy with Identity ContosoPartnerComplianceRecordingPolicy. + + String + + String + + + None + + + Id + + The ObjectId of the application instance of a policy-based recording application as exposed by the Get-CsOnlineApplicationInstance cmdlet. For example, the Id of an application instance can be \"39dc3ede-c80e-4f19-9153-417a65a1f144\", which indicates that the application instance has ObjectId 39dc3ede-c80e-4f19-9153-417a65a1f144. + + String + + String + + + None + + + RequiredBeforeMeetingJoin + + Indicates whether the policy-based recording application must be in the meeting before the user is allowed to join the meeting. + If this is set to True, the user will not be allowed to join the meeting if the policy-based recording application fails to join the meeting. The meeting will still continue for users who are in the meeting. + If this is set to False, the user will be allowed to join the meeting even if the policy-based recording application fails to join the meeting. + + Boolean + + Boolean + + + True + + + RequiredDuringMeeting + + Indicates whether the policy-based recording application must be in the meeting while the user is in the meeting. + If this is set to True, the user will be ejected from the meeting if the policy-based recording application leaves the meeting or is dropped from the meeting. The meeting will still continue for users who are in the meeting. + If this is set to False, the user will not be ejected from the meeting if the policy-based recording application leaves the meeting or is dropped from the meeting. + + Boolean + + Boolean + + + True + + + RequiredBeforeCallEstablishment + + Indicates whether the policy-based recording application must be in the call before the call is allowed to establish. + If this is set to True, the call will be cancelled if the policy-based recording application fails to join the call. + If this is set to False, call establishment will proceed normally if the policy-based recording application fails to join the call. + + Boolean + + Boolean + + + True + + + RequiredDuringCall + + Indicates whether the policy-based recording application must be in the call while the call is active. + If this is set to True, the call will be cancelled if the policy-based recording application leaves the call or is dropped from the call. + If this is set to False, call establishment will proceed normally if the policy-based recording application leaves the call or is dropped from the call. + + Boolean + + Boolean + + + True + + + ConcurrentInvitationCount + + Determines the number of invites to send out to the application instance of the policy-based recording application. Can be set to 1 or 2 only. + In situations where application resiliency is a necessity, multiple invites can be sent to the same application for the same call or meeting. If multiple such invites are accepted, then it means that multiple instances of this application are in the call or meeting and each of those instances can record independent of the others. + If all of the invites are rejected, the application invitation process is deemed a failure and the other flags for this application control what happens next. Please refer to the documentation of the RequiredBeforeMeetingJoin and RequiredBeforeCallEstablishment parameters. + If at least one of the invites is accepted and the others are rejected, the application invitation process is still deemed a success. + If multiple invites are accepted and all of the instances leave or get dropped from the call or meeting, then the application is no longer in the call or meeting and the other flags for this application control what happens next. Please refer to the documentation of the RequiredDuringMeeting and RequiredDuringCall parameters. + If multiple invites are accepted and at least one of the instances remains in the call or meeting, then the application is in the call or meeting. + Note that application resiliency can be achieved either by sending multiple invites to the same application using ConcurrentInvitationCount or by sending invites to separate paired applications using ComplianceRecordingPairedApplications. However, you cannot do both. Please work with your Microsoft certified policy-based recording application provider to determine if application resiliency is needed for your workflows and how best to achieve application resiliency. + + UInt32 + + UInt32 + + + 1 + + + ComplianceRecordingPairedApplications + + Determines the other policy-based recording applications to pair with this application to achieve application resiliency. Can only have one paired application. + In situations where application resiliency is a necessity, invites can be sent to separate paired applications for the same call or meeting. If multiple such invites are accepted, then it means that multiple instances of this application are in the call or meeting and each of those instances can record independent of the others. + If all of the invites are rejected, the application invitation process is deemed a failure and the other flags for this application control what happens next. Please refer to the documentation of the RequiredBeforeMeetingJoin and RequiredBeforeCallEstablishment parameters. + If at least one of the invites is accepted and the others are rejected, the application invitation process is still deemed a success. + If multiple invites are accepted and all of the instances leave or get dropped from the call or meeting, then the application is no longer in the call or meeting and the other flags for this application control what happens next. Please refer to the documentation of the RequiredDuringMeeting and RequiredDuringCall parameters. + If multiple invites are accepted and at least one of the instances remains in the call or meeting, then the application is in the call or meeting. + Note that application resiliency can be achieved either by sending multiple invites to the same application using ConcurrentInvitationCount or by sending invites to separate paired applications using ComplianceRecordingPairedApplications. However, you cannot do both. Please work with your Microsoft certified policy-based recording application provider to determine if application resiliency is needed for your workflows and how best to achieve application resiliency. + + ComplianceRecordingPairedApplication[] + + ComplianceRecordingPairedApplication[] + + + None + + + Priority + + This priority determines the order in which the policy-based recording applications are displayed in the output of the Get-CsTeamsComplianceRecordingPolicy cmdlet. + All policy-based recording applications are invited in parallel to ensure low call setup and meeting join latencies. So this parameter does not affect the order of invitations to the applications, or any other routing. + + Int32 + + Int32 + + + None + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose Teams recording policies are being queried. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + System.Guid + + System.Guid + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + SwitchParameter + + SwitchParameter + + + False + + + InMemory + + Creates an object reference without actually committing the object as a permanent change. If you assign the output of this cmdlet called with this parameter to a variable, you can make changes to the properties of the object reference and then commit those changes by calling this cmdlet's matching Set- cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> New-CsTeamsComplianceRecordingApplication -Identity 'Tag:ContosoPartnerComplianceRecordingPolicy/d93fefc7-93cc-4d44-9a5d-344b0fff2899' + + The command shown in Example 1 creates a new association between an application instance of a policy-based recording application with ObjectId d93fefc7-93cc-4d44-9a5d-344b0fff2899 and a Teams recording policy with the Identity ContosoPartnerComplianceRecordingPolicy. + + + + -------------------------- Example 2 -------------------------- + PS C:\> New-CsTeamsComplianceRecordingApplication -Parent 'Tag:ContosoPartnerComplianceRecordingPolicy' -Id 'd93fefc7-93cc-4d44-9a5d-344b0fff2899' + + The command shown in Example 2 is a variation of Example 1. It also creates a new association between an application instance of a policy-based recording application with ObjectId d93fefc7-93cc-4d44-9a5d-344b0fff2899 and a Teams recording policy with the Identity ContosoPartnerComplianceRecordingPolicy, but it does this by using the Parent and Id parameters instead of the Identity parameter. + + + + -------------------------- Example 3 -------------------------- + PS C:\> New-CsTeamsComplianceRecordingApplication -Parent 'Tag:ContosoPartnerComplianceRecordingPolicy' -Id 'd93fefc7-93cc-4d44-9a5d-344b0fff2899' -RequiredBeforeMeetingJoin $false -RequiredDuringMeeting $false + + The command shown in Example 3 creates a new association between an application instance of a policy-based recording application with ObjectId d93fefc7-93cc-4d44-9a5d-344b0fff2899 and a Teams recording policy with the Identity ContosoPartnerComplianceRecordingPolicy. + In this example, the application is deemed optional for meetings but mandatory for calls. Please refer to the documentation of the RequiredBeforeMeetingJoin and RequiredDuringMeeting parameters for more information. + + + + -------------------------- Example 4 -------------------------- + PS C:\> New-CsTeamsComplianceRecordingApplication -Parent 'Tag:ContosoPartnerComplianceRecordingPolicy' -Id 'd93fefc7-93cc-4d44-9a5d-344b0fff2899' -RequiredBeforeCallEstablishment $false -RequiredDuringCall $false + + The command shown in Example 4 creates a new association between an application instance of a policy-based recording application with ObjectId d93fefc7-93cc-4d44-9a5d-344b0fff2899 and a Teams recording policy with the Identity ContosoPartnerComplianceRecordingPolicy. + In this example, the application is deemed optional for calls but mandatory for meetings. Please refer to the documentation of the RequiredBeforeCallEstablishment and RequiredDuringCall parameters for more information. + + + + -------------------------- Example 5 -------------------------- + PS C:\> New-CsTeamsComplianceRecordingApplication -Parent 'Tag:ContosoPartnerComplianceRecordingPolicy' -Id 'd93fefc7-93cc-4d44-9a5d-344b0fff2899' -ConcurrentInvitationCount 2 + + The command shown in Example 5 creates a new association between an application instance of a policy-based recording application with ObjectId d93fefc7-93cc-4d44-9a5d-344b0fff2899 and a Teams recording policy with the Identity ContosoPartnerComplianceRecordingPolicy. + In this example, the application is made resilient by specifying that two invites must be sent to the same application for the same call or meeting. Please refer to the documentation of the ConcurrentInvitationCount parameter for more information. + + + + -------------------------- Example 6 -------------------------- + PS C:\> New-CsTeamsComplianceRecordingApplication -Parent 'Tag:ContosoPartnerComplianceRecordingPolicy' -Id 'd93fefc7-93cc-4d44-9a5d-344b0fff2899' -ComplianceRecordingPairedApplications @(New-CsTeamsComplianceRecordingPairedApplication -Id '39dc3ede-c80e-4f19-9153-417a65a1f144') + + The command shown in Example 6 creates a new association between an application instance of a policy-based recording application with ObjectId d93fefc7-93cc-4d44-9a5d-344b0fff2899 and a Teams recording policy with the Identity ContosoPartnerComplianceRecordingPolicy. + In this example, the application is made resilient by pairing it with another application instance of a policy-based recording application with ObjectId 39dc3ede-c80e-4f19-9153-417a65a1f144. Separate invites are sent to the paired applications for the same call or meeting. Please refer to the documentation of the ComplianceRecordingPairedApplications parameter for more information. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csteamscompliancerecordingapplication + + + Get-CsTeamsComplianceRecordingPolicy + + + + New-CsTeamsComplianceRecordingPolicy + + + + Set-CsTeamsComplianceRecordingPolicy + + + + Grant-CsTeamsComplianceRecordingPolicy + + + + Remove-CsTeamsComplianceRecordingPolicy + + + + Get-CsTeamsComplianceRecordingApplication + + + + Set-CsTeamsComplianceRecordingApplication + + + + Remove-CsTeamsComplianceRecordingApplication + + + + New-CsTeamsComplianceRecordingPairedApplication + + + + + + + New-CsTeamsComplianceRecordingPairedApplication + New + CsTeamsComplianceRecordingPairedApplication + + Creates a new association between multiple application instances of policy-based recording applications to achieve application resiliency in automatic policy-based recording scenarios. Automatic policy-based recording is only applicable to Microsoft Teams users. + + + + Policy-based recording applications are used in automatic policy-based recording scenarios. When Microsoft Teams users participate in meetings or make or receive calls, the policy-based recording applications i.e. bots associated with the user's Teams recording policy are invited into the call or meeting to enforce compliance with the administrative set policy. + Instances of these applications are created using CsOnlineApplicationInstance cmdlets and are then associated with Teams recording policies. + In situations where application resiliency is a necessity, invites can be sent to separate paired applications for the same call or meeting. If multiple such invites are accepted, then it means that multiple instances of this application are in the call or meeting and each of those instances can record independent of the others. + If all of the invites are rejected, the application invitation process is deemed a failure and the other flags for this application control what happens next. Please refer to the documentation of the RequiredBeforeMeetingJoin and RequiredBeforeCallEstablishment parameters. + If at least one of the invites is accepted and the others are rejected, the application invitation process is still deemed a success. + If multiple invites are accepted and all of the instances leave or get dropped from the call or meeting, then the application is no longer in the call or meeting and the other flags for this application control what happens next. Please refer to the documentation of the RequiredDuringMeeting and RequiredDuringCall parameters. + If multiple invites are accepted and at least one of the instances remains in the call or meeting, then the application is in the call or meeting. + Please work with your Microsoft certified policy-based recording application provider to obtain an instance of their recording application, to determine if application resiliency is needed for your workflows, and how best to achieve application resiliency. Please also refer to the documentation of CsTeamsComplianceRecordingApplication cmdlets for further information. + + + + New-CsTeamsComplianceRecordingPairedApplication + + Id + + The ObjectId of the application instance of a policy-based recording application as exposed by the Get-CsOnlineApplicationInstance cmdlet. For example, the Id of an application instance can be \"39dc3ede-c80e-4f19-9153-417a65a1f144\", which indicates that the application instance has ObjectId 39dc3ede-c80e-4f19-9153-417a65a1f144. + + String + + String + + + None + + + + + + Id + + The ObjectId of the application instance of a policy-based recording application as exposed by the Get-CsOnlineApplicationInstance cmdlet. For example, the Id of an application instance can be \"39dc3ede-c80e-4f19-9153-417a65a1f144\", which indicates that the application instance has ObjectId 39dc3ede-c80e-4f19-9153-417a65a1f144. + + String + + String + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> New-CsTeamsComplianceRecordingPairedApplication -Id '39dc3ede-c80e-4f19-9153-417a65a1f144' + + The command shown in Example 1 creates an in-memory instance of an application instance of a policy-based recording application that can be associated with other such application instances to achieve application resiliency. + Note that this cmdlet is only used in conjunction with New-CsTeamsComplianceRecordingApplication and Set-CsTeamsComplianceRecordingApplication to create associations between multiple application instances of policy-based recording applications. Please refer to the documentation of CsTeamsComplianceRecordingApplication cmdlets for examples and further information. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csteamscompliancerecordingpairedapplication + + + Get-CsTeamsComplianceRecordingPolicy + + + + New-CsTeamsComplianceRecordingPolicy + + + + Set-CsTeamsComplianceRecordingPolicy + + + + Grant-CsTeamsComplianceRecordingPolicy + + + + Remove-CsTeamsComplianceRecordingPolicy + + + + Get-CsTeamsComplianceRecordingApplication + + + + Set-CsTeamsComplianceRecordingApplication + + + + New-CsTeamsComplianceRecordingApplication + + + + Remove-CsTeamsComplianceRecordingApplication + + + + + + + New-CsTeamsComplianceRecordingPolicy + New + CsTeamsComplianceRecordingPolicy + + Creates a new Teams recording policy for governing automatic policy-based recording in your tenant. Automatic policy-based recording is only applicable to Microsoft Teams users. + + + + Teams recording policies are used in automatic policy-based recording scenarios. When Microsoft Teams users participate in meetings or make or receive calls, the policy-based recording applications i.e. bots associated with the user's Teams recording policy are invited into the call or meeting to record audio, video and video-based screen sharing activity. + Note that simply assigning a Teams recording policy to a Microsoft Teams user will not activate automatic policy-based recording for all Microsoft Teams calls and meetings that the user participates in. Among other things, you will need to create an application instance of a policy-based recording application i.e. a bot in your tenant and will then need to assign an appropriate policy to the user. + Please work with your Microsoft certified policy-based recording application provider to obtain an instance of their recording application. Please refer to the documentation of the CsOnlineApplicationInstance cmdlets for information on how to create an application instance of a policy-based recording application. + Assigning your Microsoft Teams users a Teams recording policy activates automatic policy-based recording for all new Microsoft Teams calls and meetings that the users participate in. The system will load the recording application and join it to appropriate calls and meetings in order for it to enforce compliance with the administrative set policy. Existing calls and meetings are unaffected. + + + + New-CsTeamsComplianceRecordingPolicy + + Identity + + Unique identifier to be assigned to the new Teams recording policy. + Use the "Global" Identity if you wish to assign this policy to the entire tenant. + + XdsIdentity + + XdsIdentity + + + None + + + Enabled + + Controls whether this Teams recording policy is active or not. + Setting this to True and having the right set of ComplianceRecordingApplications will initiate automatic policy-based recording for all new calls and meetings of all Microsoft Teams users who are assigned this policy. Existing calls and meetings are unaffected. + Setting this to False will stop automatic policy-based recording for any new calls or meetings of all Microsoft Teams users who are assigned this policy. Existing calls and meetings are unaffected. + + Boolean + + Boolean + + + False + + + CustomBanner + + References the Custom Banner text in the storage. + + Guid + + Guid + + + None + + + WarnUserOnRemoval + + This parameter is reserved for future use. + + Boolean + + Boolean + + + True + + + Description + + Enables administrators to provide explanatory text to accompany a Teams recording policy. For example, the Description might include information about the users the policy should be assigned to. + + String + + String + + + None + + + ComplianceRecordingApplications + + A list of application instances of policy-based recording applications to assign to this policy. The Id of each of these application instances must be the ObjectId of the application instance as obtained by the Get-CsOnlineApplicationInstance cmdlet. + Please work with your Microsoft certified policy-based recording application provider to obtain an instance of their recording application. Please refer to the documentation of the CsOnlineApplicationInstance cmdlets for information on how to create an application instance of a policy-based recording application. + + ComplianceRecordingApplication[] + + ComplianceRecordingApplication[] + + + None + + + DisableComplianceRecordingAudioNotificationForCalls + + Setting this attribute to true disables recording audio notifications for 1:1 calls that are under compliance recording. + + Boolean + + Boolean + + + False + + + RecordReroutedCalls + + Setting this attribute to true enables compliance recording for calls that have been re-routed from a compliance recording-enabled user. Supported call scenarios include forward, transfer, delegation, call groups, and simultaneous ring. + + Boolean + + Boolean + + + False + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose Teams recording policies are being queried. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + System.Guid + + System.Guid + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + + SwitchParameter + + + False + + + InMemory + + Creates an object reference without actually committing the object as a permanent change. If you assign the output of this cmdlet called with this parameter to a variable, you can make changes to the properties of the object reference and then commit those changes by calling this cmdlet's matching Set- cmdlet. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Identity + + Unique identifier to be assigned to the new Teams recording policy. + Use the "Global" Identity if you wish to assign this policy to the entire tenant. + + XdsIdentity + + XdsIdentity + + + None + + + Enabled + + Controls whether this Teams recording policy is active or not. + Setting this to True and having the right set of ComplianceRecordingApplications will initiate automatic policy-based recording for all new calls and meetings of all Microsoft Teams users who are assigned this policy. Existing calls and meetings are unaffected. + Setting this to False will stop automatic policy-based recording for any new calls or meetings of all Microsoft Teams users who are assigned this policy. Existing calls and meetings are unaffected. + + Boolean + + Boolean + + + False + + + CustomBanner + + References the Custom Banner text in the storage. + + Guid + + Guid + + + None + + + WarnUserOnRemoval + + This parameter is reserved for future use. + + Boolean + + Boolean + + + True + + + Description + + Enables administrators to provide explanatory text to accompany a Teams recording policy. For example, the Description might include information about the users the policy should be assigned to. + + String + + String + + + None + + + ComplianceRecordingApplications + + A list of application instances of policy-based recording applications to assign to this policy. The Id of each of these application instances must be the ObjectId of the application instance as obtained by the Get-CsOnlineApplicationInstance cmdlet. + Please work with your Microsoft certified policy-based recording application provider to obtain an instance of their recording application. Please refer to the documentation of the CsOnlineApplicationInstance cmdlets for information on how to create an application instance of a policy-based recording application. + + ComplianceRecordingApplication[] + + ComplianceRecordingApplication[] + + + None + + + DisableComplianceRecordingAudioNotificationForCalls + + Setting this attribute to true disables recording audio notifications for 1:1 calls that are under compliance recording. + + Boolean + + Boolean + + + False + + + RecordReroutedCalls + + Setting this attribute to true enables compliance recording for calls that have been re-routed from a compliance recording-enabled user. Supported call scenarios include forward, transfer, delegation, call groups, and simultaneous ring. + + Boolean + + Boolean + + + False + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose Teams recording policies are being queried. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + System.Guid + + System.Guid + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + SwitchParameter + + SwitchParameter + + + False + + + InMemory + + Creates an object reference without actually committing the object as a permanent change. If you assign the output of this cmdlet called with this parameter to a variable, you can make changes to the properties of the object reference and then commit those changes by calling this cmdlet's matching Set- cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> New-CsTeamsComplianceRecordingPolicy -Identity 'ContosoPartnerComplianceRecordingPolicy' -Enabled $true -ComplianceRecordingApplications @(New-CsTeamsComplianceRecordingApplication -Parent 'ContosoPartnerComplianceRecordingPolicy' -Id 'd93fefc7-93cc-4d44-9a5d-344b0fff2899') + + The command shown in Example 1 creates a new per-user Teams recording policy with the Identity ContosoPartnerComplianceRecordingPolicy. This policy is assigned a single application instance of a policy-based recording application: d93fefc7-93cc-4d44-9a5d-344b0fff2899, which is the ObjectId of the application instance as obtained from the Get-CsOnlineApplicationInstance cmdlet. + Any Microsoft Teams users who are assigned this policy will have their calls and meetings recorded by that application instance. Existing calls and meetings are unaffected. + + + + -------------------------- Example 2 -------------------------- + PS C:\> New-CsTeamsComplianceRecordingPolicy -Identity 'ContosoPartnerComplianceRecordingPolicy' -Enabled $true -ComplianceRecordingApplications @(New-CsTeamsComplianceRecordingApplication -Parent 'ContosoPartnerComplianceRecordingPolicy' -Id 'd93fefc7-93cc-4d44-9a5d-344b0fff2899'), @(New-CsTeamsComplianceRecordingApplication -Parent 'ContosoPartnerComplianceRecordingPolicy' -Id '39dc3ede-c80e-4f19-9153-417a65a1f144') + + Example 2 is a variation of Example 1. In this case, the Teams recording policy is assigned two application instances of policy-based recording applications. + Any Microsoft Teams users who are assigned this policy will have their calls and meetings recorded by both those application instances. Existing calls and meetings are unaffected. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csteamscompliancerecordingpolicy + + + Get-CsTeamsComplianceRecordingPolicy + + + + Set-CsTeamsComplianceRecordingPolicy + + + + Grant-CsTeamsComplianceRecordingPolicy + + + + Remove-CsTeamsComplianceRecordingPolicy + + + + Get-CsTeamsComplianceRecordingApplication + + + + New-CsTeamsComplianceRecordingApplication + + + + Set-CsTeamsComplianceRecordingApplication + + + + Remove-CsTeamsComplianceRecordingApplication + + + + New-CsTeamsComplianceRecordingPairedApplication + + + + + + + New-CsTeamsCustomBannerText + New + CsTeamsCustomBannerText + + Enables administrators to configure a custom text on the banner displayed when compliance recording bots start recording the call. + + + + Creates a single instance of a custom banner text. + + + + New-CsTeamsCustomBannerText + + Id + + The Identity of the CustomBannerText. You do not need to provide an ID as the backend will generate it for you. However, if you wish to provide your own ID, you can provide your own GUID. Note that you have to provide a unique ID for every CsTeamsCustomBannerText you create. + + Guid + + Guid + + + None + + + Text + + The text that the global admin would like to set in the policy. + + String + + String + + + None + + + Description + + The description that the global admin would like to set to identify what this text represents. + + String + + String + + + None + + + + + + Id + + The Identity of the CustomBannerText. You do not need to provide an ID as the backend will generate it for you. However, if you wish to provide your own ID, you can provide your own GUID. Note that you have to provide a unique ID for every CsTeamsCustomBannerText you create. + + Guid + + Guid + + + None + + + Text + + The text that the global admin would like to set in the policy. + + String + + String + + + None + + + Description + + The description that the global admin would like to set to identify what this text represents. + + String + + String + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> New-CsTeamsCustomBannerText -Id 123e4567-e89b-12d3-a456-426614174000 -Description "Custom Banner Text Example" -Text "Custom Text" + + This example creates an instance of TeamsCustomBannerText with the name CustomText. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/New-CsTeamsCustomBannerText + + + Set-CsTeamsCustomBannerText + + + + New-CsTeamsCustomBannerText + + + + Remove-CsTeamsCustomBannerText + + + + + + + New-CsTeamsEmergencyCallingExtendedNotification + New + CsTeamsEmergencyCallingExtendedNotification + + + + + + This cmdlet supports creating specific emergency calling notification settings per emergency phone number. It is used with TeamsEmergencyCallingPolicy. + + + + New-CsTeamsEmergencyCallingExtendedNotification + + EmergencyDialString + + Specifies the emergency phone number. + + String + + String + + + None + + + NotificationGroup + + NotificationGroup is an email list of users and groups to be notified of an emergency call. Individual users or groups are separated by ";", for instance, "group1@contoso.com;group2@contoso.com". A maximum of 10 entries consisting of users and/or groups can be added to the NotificationGroup. The total number of users notified cannot exceed 50. + + String + + String + + + None + + + NotificationDialOutNumber + + This parameter represents the PSTN number which can be dialed out if NotificationMode is set to either of the two Conference values. The PSTN phone cannot be unmuted even when the NotificationMode is set to ConferenceUnMuted. + + String + + String + + + None + + + NotificationMode + + The type of conference experience for security desk notification. + + + NotificationOnly + ConferenceMuted + ConferenceUnMuted + + Microsoft.Rtc.Management.WritableConfig.Policy.Teams.NotificationMode + + Microsoft.Rtc.Management.WritableConfig.Policy.Teams.NotificationMode + + + None + + + + + + EmergencyDialString + + Specifies the emergency phone number. + + String + + String + + + None + + + NotificationGroup + + NotificationGroup is an email list of users and groups to be notified of an emergency call. Individual users or groups are separated by ";", for instance, "group1@contoso.com;group2@contoso.com". A maximum of 10 entries consisting of users and/or groups can be added to the NotificationGroup. The total number of users notified cannot exceed 50. + + String + + String + + + None + + + NotificationDialOutNumber + + This parameter represents the PSTN number which can be dialed out if NotificationMode is set to either of the two Conference values. The PSTN phone cannot be unmuted even when the NotificationMode is set to ConferenceUnMuted. + + String + + String + + + None + + + NotificationMode + + The type of conference experience for security desk notification. + + Microsoft.Rtc.Management.WritableConfig.Policy.Teams.NotificationMode + + Microsoft.Rtc.Management.WritableConfig.Policy.Teams.NotificationMode + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + The use of extended notifications for emergency calling and this cmdlet is currently not supported. + + + + + -------------------------- Example 1 -------------------------- + PS C:> $en1 = New-CsTeamsEmergencyCallingExtendedNotification -EmergencyDialString "911" -NotificationGroup "alert2@contoso.com" -NotificationMode ConferenceUnMuted + + Creates an extended emergency calling notification for the emergency phone number 911 and stores it in the variable $en1. The variable should be added afterward to a TeamsEmergencyCallingPolicy instance. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csteamsemergencycallingextendednotification + + + Set-CsTeamsEmergencyCallingPolicy + + + + New-CsTeamsEmergencyCallingPolicy + + + + + + + New-CsTeamsEmergencyCallingPolicy + New + CsTeamsEmergencyCallingPolicy + + + + + + This cmdlet creates a new Teams Emergency Calling policy. Emergency calling policy is used for the life cycle of emergency calling experience for the security desk and Teams client location experience. + + + + New-CsTeamsEmergencyCallingPolicy + + Identity + + The Identity parameter is a unique identifier that designates the name of the policy + + String + + String + + + None + + + Description + + The Description parameter describes the Teams Emergency Calling policy - what it is for, what type of user it applies to and any other information that helps to identify the purpose of this policy. Maximum characters: 512. + + String + + String + + + None + + + EnhancedEmergencyServiceDisclaimer + + Allows the tenant administrator to configure a text string, which is shown at the top of the Calls app. The user can acknowledge the string by selecting OK. The string will be shown on client restart. The disclaimer can be up to 350 characters. + + String + + String + + + None + + + ExtendedNotifications + + A list of one or more instances of TeamsEmergencyCallingExtendedNotification. Each TeamsEmergencyCallingExtendedNotification should use a unique EmergencyDialString. + If an extended notification is found for an emergency phone number based on the EmergencyDialString parameter the extended notification will be controlling the notification. If no extended notification is found the notification settings on the policy instance itself will be used. + + System.Management.Automation.PSListModifier[Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsEmergencyCallingExtendedNotification] + + System.Management.Automation.PSListModifier[Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsEmergencyCallingExtendedNotification] + + + None + + + ExternalLocationLookupMode + + Enable ExternalLocationLookupMode. This mode allow users to set Emergency addresses for remote locations. + + + Disabled + Enabled + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.ExternalLocationLookupMode + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.ExternalLocationLookupMode + + + None + + + NotificationDialOutNumber + + This parameter represents the PSTN number which can be dialed out if NotificationMode is set to either of the two Conference values. The PSTN phone cannot be unmuted even when the NotificationMode is set to ConferenceUnMuted. + + String + + String + + + None + + + NotificationGroup + + NotificationGroup is an email list of users and groups to be notified of an emergency call via Teams chat. Individual users or groups are separated by ";", for instance, "group1@contoso.com;group2@contoso.com". A maximum of 10 e-mail addresses can be specified and a maximum of 50 users in total can be notified. + + String + + String + + + None + + + NotificationMode + + The type of conference experience for security desk notification. Possible values are NotificationOnly, ConferenceMuted, and ConferenceUnMuted. + + + NotificationOnly + ConferenceMuted + ConferenceUnMuted + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.NotificationMode + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.NotificationMode + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Identity + + The Identity parameter is a unique identifier that designates the name of the policy + + String + + String + + + None + + + Description + + The Description parameter describes the Teams Emergency Calling policy - what it is for, what type of user it applies to and any other information that helps to identify the purpose of this policy. Maximum characters: 512. + + String + + String + + + None + + + EnhancedEmergencyServiceDisclaimer + + Allows the tenant administrator to configure a text string, which is shown at the top of the Calls app. The user can acknowledge the string by selecting OK. The string will be shown on client restart. The disclaimer can be up to 350 characters. + + String + + String + + + None + + + ExtendedNotifications + + A list of one or more instances of TeamsEmergencyCallingExtendedNotification. Each TeamsEmergencyCallingExtendedNotification should use a unique EmergencyDialString. + If an extended notification is found for an emergency phone number based on the EmergencyDialString parameter the extended notification will be controlling the notification. If no extended notification is found the notification settings on the policy instance itself will be used. + + System.Management.Automation.PSListModifier[Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsEmergencyCallingExtendedNotification] + + System.Management.Automation.PSListModifier[Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsEmergencyCallingExtendedNotification] + + + None + + + ExternalLocationLookupMode + + Enable ExternalLocationLookupMode. This mode allow users to set Emergency addresses for remote locations. + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.ExternalLocationLookupMode + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.ExternalLocationLookupMode + + + None + + + NotificationDialOutNumber + + This parameter represents the PSTN number which can be dialed out if NotificationMode is set to either of the two Conference values. The PSTN phone cannot be unmuted even when the NotificationMode is set to ConferenceUnMuted. + + String + + String + + + None + + + NotificationGroup + + NotificationGroup is an email list of users and groups to be notified of an emergency call via Teams chat. Individual users or groups are separated by ";", for instance, "group1@contoso.com;group2@contoso.com". A maximum of 10 e-mail addresses can be specified and a maximum of 50 users in total can be notified. + + String + + String + + + None + + + NotificationMode + + The type of conference experience for security desk notification. Possible values are NotificationOnly, ConferenceMuted, and ConferenceUnMuted. + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.NotificationMode + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.NotificationMode + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------- Emergency calling policy Example 1 -------------- + $en1 = New-CsTeamsEmergencyCallingExtendedNotification -EmergencyDialString "933" +New-CsTeamsEmergencyCallingPolicy -Identity ECP1 -Description "Test ECP1" -NotificationGroup "alert@contoso.com" -NotificationDialOutNumber "+14255551234" -NotificationMode ConferenceUnMuted -ExternalLocationLookupMode Enabled -ExtendedNotifications @{add=$en1} + + + + + + -------------- Emergency calling policy Example 2 -------------- + $en1 = New-CsTeamsEmergencyCallingExtendedNotification -EmergencyDialString "911" -NotificationGroup "alert@contoso.com;567@contoso.com" -NotificationDialOutNumber "+14255551234" -NotificationMode ConferenceUnMuted +$en2 = New-CsTeamsEmergencyCallingExtendedNotification -EmergencyDialString "933" +New-CsTeamsEmergencyCallingPolicy -Identity ECP2 -Description "Test ECP2" -ExternalLocationLookupMode Enabled -ExtendedNotifications @{add=$en1,$en2} + + + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csteamsemergencycallingpolicy + + + Get-CsTeamsEmergencyCallingPolicy + + + + Grant-CsTeamsEmergencyCallingPolicy + + + + Remove-CsTeamsEmergencyCallingPolicy + + + + Set-CsTeamsEmergencyCallingPolicy + + + + New-CsTeamsEmergencyCallingExtendedNotification + + + + + + + New-CsTeamsEventsPolicy + New + CsTeamsEventsPolicy + + This cmdlet allows you to create a new TeamsEventsPolicy instance and set its properties. Note that this policy is currently still in preview. + + + + TeamsEventsPolicy is used to configure options for customizing Teams Events experiences. + + + + New-CsTeamsEventsPolicy + + Identity + + Unique identifier assigned to the Teams Events policy. + + String + + String + + + None + + + AllowWebinars + + This setting governs if a user can create webinars using Teams Events. Possible values are: - Enabled : Enables creating webinars. - Disabled : Disables creating webinars. + + String + + String + + + Enabled + + + UseMicrosoftECDN + + This setting governs whether the global admin disables this property and prevents the organizers from creating town halls that use Microsoft eCDN even though they have been assigned a Teams Premium license. + + String + + String + + + None + + + AllowTownhalls + + This setting governs if a user can create town halls using Teams Events. Possible values are: - Enabled : Enables creating town halls. - Disabled : Disables creating town hall. + + String + + String + + + Enabled + + + AllowEmailEditing + + This setting governs if a user is allowed to edit the communication emails in Teams Town Hall or Teams Webinar events. Possible values are: - Enabled : Enables editing of communication emails. - Disabled : Disables editing of communication emails. + + String + + String + + + Enabled + + + EventAccessType + + This setting governs which users can access the Town hall event and access the event registration page or the event site to register for a Webinar. It also governs which user type is allowed to join the session or sessions in the event for both event types. + Possible values are: - Everyone : Enables creating events to allow in-tenant, guests, federated, and anonymous (external to the tenant) users to register and join the event. + - EveryoneInCompanyExcludingGuests : For Webinar - enables creating events to allow only in-tenant users to register and join the event. For Town hall - enables creating events to allow only in-tenant users to join the event (Note: for Town hall, in-tenant users include guests; this parameter will disable public Town halls). + + String + + String + + + Everyone + + + Confirm + + The Confirm switch does not work with this cmdlet. + + + SwitchParameter + + + False + + + Description + + Enables administrators to provide explanatory text to accompany a Teams Events policy. + + String + + String + + + None + + + WhatIf + + The WhatIf switch does not work with this cmdlet. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + AllowWebinars + + This setting governs if a user can create webinars using Teams Events. Possible values are: - Enabled : Enables creating webinars. - Disabled : Disables creating webinars. + + String + + String + + + Enabled + + + UseMicrosoftECDN + + This setting governs whether the global admin disables this property and prevents the organizers from creating town halls that use Microsoft eCDN even though they have been assigned a Teams Premium license. + + String + + String + + + None + + + AllowTownhalls + + This setting governs if a user can create town halls using Teams Events. Possible values are: - Enabled : Enables creating town halls. - Disabled : Disables creating town hall. + + String + + String + + + Enabled + + + AllowEmailEditing + + This setting governs if a user is allowed to edit the communication emails in Teams Town Hall or Teams Webinar events. Possible values are: - Enabled : Enables editing of communication emails. - Disabled : Disables editing of communication emails. + + String + + String + + + Enabled + + + EventAccessType + + This setting governs which users can access the Town hall event and access the event registration page or the event site to register for a Webinar. It also governs which user type is allowed to join the session or sessions in the event for both event types. + Possible values are: - Everyone : Enables creating events to allow in-tenant, guests, federated, and anonymous (external to the tenant) users to register and join the event. + - EveryoneInCompanyExcludingGuests : For Webinar - enables creating events to allow only in-tenant users to register and join the event. For Town hall - enables creating events to allow only in-tenant users to join the event (Note: for Town hall, in-tenant users include guests; this parameter will disable public Town halls). + + String + + String + + + Everyone + + + Confirm + + The Confirm switch does not work with this cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Description + + Enables administrators to provide explanatory text to accompany a Teams Events policy. + + String + + String + + + None + + + Identity + + Unique identifier assigned to the Teams Events policy. + + String + + String + + + None + + + WhatIf + + The WhatIf switch does not work with this cmdlet. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> New-CsTeamsEventsPolicy -Identity DisablePublicWebinars -AllowWebinars Enabled -EventAccessType EveryoneInCompanyExcludingGuests + + The command shown in Example 1 creates a new per-user Teams Events policy with the Identity DisablePublicWebinars. This policy disables a user from creating public webinars. + + + + -------------------------- Example 2 -------------------------- + PS C:\> New-CsTeamsEventsPolicy -Identity DisableWebinars -AllowWebinars Disabled + + The command shown in Example 2 creates a new per-user Teams Events policy with the Identity DisableWebinars. This policy disables a user from creating webinars. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csteamseventspolicy + + + + + + New-CsTeamsFeedbackPolicy + New + CsTeamsFeedbackPolicy + + Use this cmdlet to control whether users in your organization can send feedback about Teams to Microsoft through Give feedback and whether they receive the survey. + + + + Use this cmdlet to control whether users in your organization can send feedback about Teams to Microsoft through Give feedback and whether they receive the survey. By default, all users in your organization are automatically assigned the global (Org-wide default) policy and the Give feedback feature and survey are enabled in the policy. The exception is Teams for Education, where the features are enabled for teachers and disabled for students. For more information, visit Manage feedback policies in Microsoft Teams (https://learn.microsoft.com/microsoftteams/manage-feedback-policies-in-teams). + + + + New-CsTeamsFeedbackPolicy + + Identity + + A unique identifier. + + Object + + Object + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Suppress all non-fatal errors. + + + SwitchParameter + + + False + + + InMemory + + The InMemory parameter creates an object reference without actually committing the object as a permanent change. + + + SwitchParameter + + + False + + + ReceiveSurveysMode + + Set the receiveSurveysMode parameter to enabled to allow users who are assigned the policy to receive the survey. + Possible values: - Enabled - Disabled - EnabledUserOverride + + String + + String + + + Enabled + + + Tenant + + Internal Microsoft use only. + + Object + + Object + + + None + + + UserInitiatedMode + + Set the userInitiatedMode parameter to enabled to allow users who are assigned the policy to give feedback. Setting the parameter to disabled turns off the feature and users who are assigned the policy don't have the option to give feedback. + Possible values: - Enabled - Disabled + + String + + String + + + Enabled + + + AllowEmailCollection + + Set this to TRUE to enable Email collection. + + Boolean + + Boolean + + + None + + + AllowLogCollection + + Set this to TRUE to enable log collection. + + Boolean + + Boolean + + + None + + + AllowScreenshotCollection + + Set this to TRUE to enable Screenshot collection. + + Boolean + + Boolean + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + Suppress all non-fatal errors. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + A unique identifier. + + Object + + Object + + + None + + + InMemory + + The InMemory parameter creates an object reference without actually committing the object as a permanent change. + + SwitchParameter + + SwitchParameter + + + False + + + ReceiveSurveysMode + + Set the receiveSurveysMode parameter to enabled to allow users who are assigned the policy to receive the survey. + Possible values: - Enabled - Disabled - EnabledUserOverride + + String + + String + + + Enabled + + + Tenant + + Internal Microsoft use only. + + Object + + Object + + + None + + + UserInitiatedMode + + Set the userInitiatedMode parameter to enabled to allow users who are assigned the policy to give feedback. Setting the parameter to disabled turns off the feature and users who are assigned the policy don't have the option to give feedback. + Possible values: - Enabled - Disabled + + String + + String + + + Enabled + + + AllowEmailCollection + + Set this to TRUE to enable Email collection. + + Boolean + + Boolean + + + None + + + AllowLogCollection + + Set this to TRUE to enable log collection. + + Boolean + + Boolean + + + None + + + AllowScreenshotCollection + + Set this to TRUE to enable Screenshot collection. + + Boolean + + Boolean + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> New-CsTeamsFeedbackPolicy -identity "New Hire Feedback Policy" -userInitiatedMode disabled -receiveSurveysMode disabled + + In this example, we create a feedback policy called New Hire Feedback Policy and we turn off the ability to give feedback through Give feedback and the survey. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csteamsfeedbackpolicy + + + + + + New-CsTeamsHiddenMeetingTemplate + New + CsTeamsHiddenMeetingTemplate + + This cmdlet is used to create a `HiddenMeetingTemplate` object for use with the New-CsTeamsMeetingTemplatePermissionPolicy (New-CsTeamsMeetingTemplatePermissionPolicy.yml) and [Set-CsTeamsMeetingTemplatePermissionPolicy](Set-CsTeamsMeetingTemplatePermissionPolicy.yml)cmdlets. + + + + Creates an object that can be supplied as `HiddenMeetingTemplate` to the New-CsTeamsMeetingTemplatePermissionPolicy (New-CsTeamsMeetingTemplatePermissionPolicy.yml) and [Set-CsTeamsMeetingTemplatePermissionPolicy](Set-CsTeamsMeetingTemplatePermissionPolicy.yml)cmdlets. + + + + New-CsTeamsHiddenMeetingTemplate + + Id + + ID of the meeting template to hide. + + String + + String + + + None + + + + + + Id + + ID of the meeting template to hide. + + String + + String + + + None + + + + + + + + + + ------ Example 1 - Creating a new hidden meeting template ------ + PS> $hiddentemplate_1 = New-CsTeamsHiddenMeetingTemplate -Id customtemplate_9ab0014a-bba4-4ad6-b816-0b42104b5056 + + Creates a new HiddenMeetingTemplate object with the given template ID. + For more examples of how this can be used, see the examples for New-CsTeamsMeetingTemplatePermissionPolicy (New-CsTeamsMeetingTemplatePermissionPolicy.yml). + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/New-CsTeamsHiddenMeetingTemplate + + + Get-CsTeamsMeetingTemplatePermissionPolicy + + + + New-CsTeamsMeetingTemplatePermissionPolicy + + + + Set-CsTeamsMeetingTemplatePermissionPolicy + + + + + + + New-CsTeamsHiddenTemplate + New + CsTeamsHiddenTemplate + + This cmdlet is used to create a `HiddenTemplate` object for use with the New-CsTeamsTemplatePermissionPolicy (New-CsTeamsTemplatePermissionPolicy.md) and [Set-CsTeamsTemplatePermissionPolicy](Set-CsTeamsTemplatePermissionPolicy.md)cmdlets. + + + + Creates an object that can be supplied as `HiddenTemplate` to the New-CsTeamsTemplatePermissionPolicy (New-CsTeamsTemplatePermissionPolicy.md) and [Set-CsTeamsTemplatePermissionPolicy](Set-CsTeamsTemplatePermissionPolicy.md)cmdlets. + + + + New-CsTeamsHiddenTemplate + + Id + + ID of the Teams template to hide. + + String + + String + + + None + + + + + + Id + + ID of the Teams template to hide. + + String + + String + + + None + + + + + + None + + + + + + + + + + HiddenTemplate.Cmdlets.HiddenTemplate + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS >$manageProjectTemplate = New-CsTeamsHiddenTemplate -Id com.microsoft.teams.template.ManageAProject + + Creates a new hidden Teams template object. For more examples of how this can be used, see the examples for New-CsTeamsTemplatePermissionPolicy (New-CsTeamsTemplatePermissionPolicy.md). + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csteamshiddentemplate + + + New-CsTeamsTemplatePermissionPolicy + + + + Set-CsTeamsTemplatePermissionPolicy + + + + + + + New-CsTeamsMediaConnectivityPolicy + New + CsTeamsMediaConnectivityPolicy + + This cmdlet creates a Teams media connectivity policy. + + + + This cmdlet creates a Teams media connectivity policy. If you get an error that the policy already exists, it means that the policy already exists for your tenant. In this case, run Get-CsTeamsMediaConnectivityPolicy. + + + + New-CsTeamsMediaConnectivityPolicy + + Identity + + Identity of the Teams media connectivity policy. + + String + + String + + + None + + + + + + Identity + + Identity of the Teams media connectivity policy. + + String + + String + + + None + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> New-CsTeamsMediaConnectivityPolicy -Identity Test + +Identity DirectConnection +------------------------- +Tag:Test Enabled + + Creates a new Teams media connectivity policy with the specified identity. The newly created policy with value will be printed on success. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/New-CsTeamsMediaConnectivityPolicy + + + Remove-CsTeamsMediaConnectivityPolicy + + + + Get-CsTeamsMediaConnectivityPolicy + + + + Set-CsTeamsMediaConnectivityPolicy + + + + Grant-CsTeamsMediaConnectivityPolicy + + + + + + + New-CsTeamsMeetingBrandingPolicy + New + CsTeamsMeetingBrandingPolicy + + The CsTeamsMeetingBrandingPolicy cmdlet enables administrators to control the appearance in meetings by defining custom backgrounds, logos, and colors. + + + + This cmdlet creates a new TeamsMeetingBrandingPolicy . +You can only create an empty meeting branding policy with this cmdlet, image upload is not supported. If you want to upload the images, you should use Teams Admin Center. + + + + New-CsTeamsMeetingBrandingPolicy + + Identity + + Identity of meeting branding policy that will be created. + + String + + String + + + None + + + DefaultTheme + + This parameter is reserved for Microsoft internal use only. Identity of default meeting theme. + + String + + String + + + None + + + EnableMeetingBackgroundImages + + Enable custom meeting backgrounds. + + Boolean + + Boolean + + + None + + + EnableMeetingOptionsThemeOverride + + Allow organizer to control meeting theme. + + Boolean + + Boolean + + + None + + + MeetingBackgroundImages + + This parameter is reserved for Microsoft internal use only. List of meeting background images. Image upload is not possible via cmdlets. You should upload background images via Teams Admin Center. + + PSListModifier + + PSListModifier + + + None + + + MeetingBrandingThemes + + This parameter is reserved for Microsoft internal use only. List of meeting branding themes. Image upload is not possible via cmdlets. You should create meeting themes via Teams Admin Center. + + PSListModifier + + PSListModifier + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes. + + + SwitchParameter + + + False + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + + SwitchParameter + + + False + + + + + + DefaultTheme + + This parameter is reserved for Microsoft internal use only. Identity of default meeting theme. + + String + + String + + + None + + + EnableMeetingBackgroundImages + + Enable custom meeting backgrounds. + + Boolean + + Boolean + + + None + + + EnableMeetingOptionsThemeOverride + + Allow organizer to control meeting theme. + + Boolean + + Boolean + + + None + + + Identity + + Identity of meeting branding policy that will be created. + + String + + String + + + None + + + MeetingBackgroundImages + + This parameter is reserved for Microsoft internal use only. List of meeting background images. Image upload is not possible via cmdlets. You should upload background images via Teams Admin Center. + + PSListModifier + + PSListModifier + + + None + + + MeetingBrandingThemes + + This parameter is reserved for Microsoft internal use only. List of meeting branding themes. Image upload is not possible via cmdlets. You should create meeting themes via Teams Admin Center. + + PSListModifier + + PSListModifier + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + Available in Teams PowerShell Module 4.9.3 and later. + + + + + ------------- Create empty meeting branding policy ------------- + PS C:\> New-CsTeamsMeetingBrandingPolicy -Identity "test policy" + + In this example, the command will create an empty meeting branding policy with the identity `test policy`. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csteamsmeetingbrandingpolicy + + + Get-CsTeamsMeetingBrandingPolicy + + + + Grant-CsTeamsMeetingBrandingPolicy + + + + New-CsTeamsMeetingBrandingPolicy + + + + Remove-CsTeamsMeetingBrandingPolicy + + + + Set-CsTeamsMeetingBrandingPolicy + + + + + + + New-CsTeamsMeetingPolicy + New + CsTeamsMeetingPolicy + + The CsTeamsMeetingPolicy cmdlets enable administrators to control the type of meetings that users can create or the features that they can access while in a meeting. It also helps determine how meetings deal with anonymous or external users. + + + + The CsTeamsMeetingPolicy cmdlets enable administrators to control the type of meetings that users can create or the features that they can access while in a meeting. It also helps determine how meetings deal with anonymous or external users. + The New-CsTeamsMeetingPolicy cmdlet allows administrators to define new meeting policies that can be assigned to particular users to control Teams features related to meetings. + + + + New-CsTeamsMeetingPolicy + + Identity + + Specify the name of the policy being created. + + XdsIdentity + + XdsIdentity + + + None + + + AllowAnonymousUsersToDialOut + + Determines whether anonymous users are allowed to dial out to a PSTN number. Set this to TRUE to allow anonymous users to dial out. Set this to FALSE to #prohibit anonymous users from dialing out. + > [!NOTE] > This parameter is temporarily disabled. + + Boolean + + Boolean + + + None + + + AllowAnonymousUsersToJoinMeeting + + > [!NOTE] > The experience for users is dependent on both the value of -DisableAnonymousJoin (the old tenant-wide setting) and -AllowAnonymousUsersToJoinMeeting (the new per-organizer policy). Please check <https://learn.microsoft.com/microsoftteams/meeting-settings-in-teams> for details. + Determines whether anonymous users can join the meetings that impacted users organize. Set this to TRUE to allow anonymous users to join a meeting. Set this to FALSE to prohibit them from joining a meeting. + + Boolean + + Boolean + + + True + + + AllowAnonymousUsersToStartMeeting + + Determines whether anonymous users can initiate a meeting. Set this to TRUE to allow anonymous users to initiate a meeting. Set this to FALSE to prohibit them from initiating a meeting + + Boolean + + Boolean + + + None + + + AllowBreakoutRooms + + Set to true to enable Breakout Rooms, set to false to disable the Breakout Rooms functionality. + + Boolean + + Boolean + + + True + + + AllowCartCaptionsScheduling + + Determines whether a user can add a URL for captions from a Communications Access Real-Time Translation (CART) captioner for providing real-time captions in meetings. + Possible values are: + - EnabledUserOverride : CART captions are available by default but you can disable them. - DisabledUserOverride : If you would like users to be able to use CART captions in meetings but they are disabled by default. - Disabled : If you do not want to allow CART captions in meetings. + + String + + String + + + DisabledUserOverride + + + AllowChannelMeetingScheduling + + Determines whether a user can schedule channel meetings. Set this to TRUE to allow a user to schedule channel meetings. Set this to FALSE to prohibit the user from scheduling channel meetings. Note this only restricts from scheduling and not from joining a meeting scheduled by another user. + + Boolean + + Boolean + + + None + + + AllowCloudRecording + + Determines whether cloud recording is allowed in a user's meetings. Set this to TRUE to allow the user to be able to record meetings. Set this to FALSE to prohibit the user from recording meetings + + Boolean + + Boolean + + + None + + + AllowEngagementReport + + Determines whether users are allowed to download the attendee engagement report. Set this to Enabled to allow the user to download the report. Set this to Disabled to prohibit the user to download it. + + String + + String + + + None + + + AllowExternalParticipantGiveRequestControl + + Determines whether external participants can request or give control of screen sharing during meetings scheduled by this user. Set this to TRUE to allow the user to be able to give or request control. Set this to FALSE to prohibit an external user from giving or requesting control in a meeting + + Boolean + + Boolean + + + None + + + AllowIPAudio + + Determines whether audio is enabled in a user's meetings or calls. Set this to TRUE to allow the user to share their audio. Set this to FALSE to prohibit the user from sharing their audio. + + Boolean + + Boolean + + + True + + + AllowIPVideo + + Determines whether video is enabled in a user's meetings or calls. Set this to TRUE to allow the user to share their video. Set this to FALSE to prohibit the user from sharing their video + + Boolean + + Boolean + + + None + + + AllowLocalRecording + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + AllowMeetNow + + Determines whether a user can start ad-hoc meetings in a channel. Set this to TRUE to allow a user to start ad-hoc meetings in a channel. Set this to FALSE to prohibit the user from starting ad-hoc meetings in a channel. + + Boolean + + Boolean + + + TRUE + + + AllowMeetingReactions + + Set to false to disable Meeting Reactions. + + Boolean + + Boolean + + + True + + + AllowMeetingRegistration + + Controls if a user can create a webinar meeting. The default value is True. + Possible values: + - true + - false + + Boolean + + Boolean + + + None + + + AllowNDIStreaming + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + AllowNetworkConfigurationSettingsLookup + + Determines whether network configuration setting lookups can be made by users who are not Enterprise Voice enabled. It is used to enable Network Roaming policies. + + Boolean + + Boolean + + + False + + + AllowOrganizersToOverrideLobbySettings + + Set this parameter to true to enable Organizers to override lobby settings. + + Boolean + + Boolean + + + False + + + AllowOutlookAddIn + + Determines whether a user can schedule Teams Meetings in Outlook desktop client. Set this to TRUE to allow the user to be able to schedule Teams meetings in Outlook client. Set this to FALSE to prohibit a user from scheduling Teams meeting in Outlook client + + Boolean + + Boolean + + + None + + + AllowPrivateMeetNow + + Determines whether a user can start ad-hoc meetings. Set this to TRUE to allow a user to start ad-hoc private meetings. Set this to FALSE to prohibit the user from starting ad-hoc private meetings. + + Boolean + + Boolean + + + TRUE + + + AllowParticipantGiveRequestControl + + Determines whether participants can request or give control of screen sharing during meetings scheduled by this user. Set this to TRUE to allow the user to be able to give or request control. Set this to FALSE to prohibit the user from giving, requesting control in a meeting + + Boolean + + Boolean + + + None + + + AllowPowerPointSharing + + Determines whether Powerpoint sharing is allowed in a user's meetings. Set this to TRUE to allow. Set this to FALSE to prohibit + + Boolean + + Boolean + + + None + + + AllowPrivateMeetingScheduling + + Determines whether a user can schedule private meetings. Set this to TRUE to allow a user to schedule private meetings. Set this to FALSE to prohibit the user from scheduling private meetings. Note this only restricts from scheduling and not from joining a meeting scheduled by another user. + + Boolean + + Boolean + + + None + + + AllowPSTNUsersToBypassLobby + + Determines whether a PSTN user joining the meeting is allowed or not to bypass the lobby. If you set this parameter to True, PSTN users are allowed to bypass the lobby as long as an authenticated user is joined to the meeting. + + Boolean + + Boolean + + + None + + + AllowRecordingStorageOutsideRegion + + Allow storing recording outside of region. All meeting recordings will be permanently stored in another region, and can't be migrated. For more info, see <https://aka.ms/in-region>. + + Boolean + + Boolean + + + None + + + AllowScreenContentDigitization + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + AllowSharedNotes + + Determines whether users are allowed to take shared notes. Set this to TRUE to allow. Set this to FALSE to prohibit + + Boolean + + Boolean + + + None + + + AllowTrackingInReport + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + AllowTranscription + + Determines whether real-time and/or post-meeting captions and transcriptions are allowed in a user's meetings. Set this to TRUE to allow. Set this to FALSE to prohibit + + Boolean + + Boolean + + + None + + + AllowUserToJoinExternalMeeting + + Possible values are: + - Enabled + - FederatedOnly + - Disabled + + String + + String + + + Disabled + + + AllowWatermarkForScreenSharing + + This setting allows scheduling meetings with watermarking for screen sharing enabled. + + Boolean + + Boolean + + + False + + + AllowWatermarkForCameraVideo + + This setting allows scheduling meetings with watermarking for video enabled. + + Boolean + + Boolean + + + False + + + AllowWhiteboard + + Determines whether whiteboard is allowed in a user's meetings. Set this to TRUE to allow. Set this to FALSE to prohibit + + Boolean + + Boolean + + + None + + + AllowedStreamingMediaInput + + Enables the use of RTMP-In in Teams meetings. + Possible values are: + - <blank> + - RTMP + + String + + String + + + None + + + AutoAdmittedUsers + + Determines what types of participants will automatically be added to meetings organized by this user. Possible values are: + - EveryoneInCompany , if you would like meetings to place every external user in the lobby but allow all users in the company to join the meeting immediately. - EveryoneInSameAndFederatedCompany , if you would like meetings to allow federated users to join like your company's users, but place all other external users in a lobby. - Everyone , if you'd like to admit anonymous users by default. - OrganizerOnly , if you would like that only meeting organizers can bypass the lobby. - EveryoneInCompanyExcludingGuests , if you would like meetings to place every external and guest users in the lobby but allow all other users in the company to join the meeting immediately. - InvitedUsers , if you would like that only meeting organizers and invited users can bypass the lobby. + This setting also applies to participants joining via a PSTN device (i.e. a traditional phone). + + String + + String + + + None + + + AutomaticallyStartCopilot + + Note: This feature has not been fully released yet, so the setting will have no effect. This setting gives admins the ability to auto-start Copilot. + Possible values are: + - Enabled + - Disabled + + String + + String + + + Disabled + + + BlockedAnonymousJoinClientTypes + + A user can join a Teams meeting anonymously using a Teams client (https://support.microsoft.com/office/join-a-meeting-without-a-teams-account-c6efc38f-4e03-4e79-b28f-e65a4c039508) or using a [custom application built using Azure Communication Services](/azure/communication-services/concepts/join-teams-meeting). When anonymous meeting join is enabled, both types of clients may be used by default. This optional parameter can be used to block one of the client types that can be used. + The allowed values are ACS (to block the use of Azure Communication Services clients) or Teams (to block the use of Teams clients). Both can also be specified, separated by a comma, but this is equivalent to disabling anonymous join completely. + + List + + List + + + Empty List + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + ContentSharingInExternalMeetings + + This policy allows admins to determine whether the user can share content in meetings organized by external organizations. The user should have a Teams Premium license to be protected under this policy. + + String + + String + + + None + + + Copilot + + This setting allows the admin to choose whether Copilot will be enabled with a persisted transcript or a non-persisted transcript. + Possible values are: + - Enabled + - EnabledWithTranscript + + String + + String + + + EnabledWithTranscript + + + CopyRestriction + + Enables a setting that controls a meeting option which allows users to disable right-click or Ctrl+C to copy, Copy link, Forward message, and Share to Outlook for meeting chat messages. + + Boolean + + Boolean + + + TRUE + + + Description + + Enables administrators to provide explanatory text about the meeting policy. For example, the Description might indicate the users the policy should be assigned to. + + String + + String + + + None + + + DesignatedPresenterRoleMode + + Determines if users can change the default value of the Who can present? setting in Meeting options in the Teams client. This policy setting affects all meetings, including Meet Now meetings. + Possible values are: + - EveryoneUserOverride: All meeting participants can be presenters. This is the default value. This parameter corresponds to the Everyone setting in Teams. - EveryoneInCompanyUserOverride: Authenticated users in the organization, including guest users, can be presenters. This parameter corresponds to the People in my organization setting in Teams. - EveryoneInSameAndFederatedCompanyUserOverride: Authenticated users in the organization, including guest users and users from federated organizations, can be presenters. This parameter corresponds to the People in my organization and trusted organizations setting in Teams. - OrganizerOnlyUserOverride: Only the meeting organizer can be a presenter and all meeting participants are designated as attendees. This parameter corresponds to the Only me setting in Teams. + + String + + String + + + EveryoneUserOverride + + + EnableAnonymousUserCaptcha + + This setting enforce captcha for anonymous user while meeting join. + + Boolean + + Boolean + + + False + + + EnrollUserOverride + + Possible values are: + - Disabled + - Enabled + + String + + String + + + Disabled + + + ExternalMeetingJoin + + Possible values are: + - EnabledForAnyone + - EnabledForTrustedOrgs + - Disabled + + String + + String + + + EnabledForAnyone + + + Force + + Specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + InMemory + + Creates an object reference without actually committing the object as a permanent change. If you assign the output of this cmdlet called with this parameter to a variable, you can make changes to the properties of the object reference and then commit those changes by calling this cmdlet's matching Set-. + + + SwitchParameter + + + False + + + IPAudioMode + + Determines whether audio can be turned on in meetings and group calls. Set this to ENABLEDOUTGOINGINCOMING to allow outgoing and incoming audio in the meeting. Set this to DISABLED to prohibit outgoing and incoming audio in the meeting. + + String + + String + + + None + + + IPVideoMode + + Determines whether video can be turned on in meetings and group calls. Set this to ENABLEDOUTGOINGINCOMING to allow outgoing and incoming video in the meeting. Set this to DISABLED to prohibit outgoing and incoming video in the meeting. Invalid value combination IPVideoMode: EnabledOutgoingIncoming and IPAudioMode: Disabled + + String + + String + + + None + + + LiveCaptionsEnabledType + + Determines whether real-time captions are available for the user in Teams meetings. Set this to DisabledUserOverride to allow user to turn on live captions. Set this to Disabled to prohibit. + + String + + String + + + None + + + LiveStreamingMode + + Determines whether you provide support for your users to stream their Teams meetings to large audiences through Real-Time Messaging Protocol (RTMP). + Possible values are: + - Disabled (default) + - Enabled + + String + + String + + + None + + + MediaBitRateKb + + Determines the media bit rate for audio/video/app sharing transmissions in meetings. + + UInt32 + + UInt32 + + + None + + + MeetingChatEnabledType + + Specifies if users will be able to chat in meetings. Possible values are: Disabled, Enabled, and EnabledExceptAnonymous. + + String + + String + + + None + + + MeetingInviteLanguages + + Controls how the join information in meeting invitations is displayed by enforcing a common language or enabling up to two languages to be displayed. Note: All Teams supported languages can be specified using language codes. For more information about its delivery date, see the roadmap (Feature ID: 81521) (https://www.microsoft.com/microsoft-365/roadmap?filters=&searchterms=81521). + The preliminary list of available languages is shown below: + `ar-SA,az-Latn-AZ,bg-BG,ca-ES,cs-CZ,cy-GB,da-DK,de-DE,el-GR,en-GB,en-US,es-ES,es-MX,et-EE,eu-ES,fi-FI,fil-PH,fr-CA,fr-FR,gl-ES,he-IL,hi-IN,hr-HR,hu-HU,id-ID,is-IS,it-IT,ja-JP,ka-GE,kk-KZ,ko-KR,lt-LT,lv-LV,mk-MK,ms-MY,nb-NO,nl-NL,nn-NO,pl-PL,pt-BR,pt-PT,ro-RO,ru-RU,sk-SK,sl-SL,sq-AL,sr-Latn-RS,sv-SE,th-TH,tr-TR,uk-UA,vi-VN,zh-CN,zh-TW`. + + String + + String + + + None + + + NewMeetingRecordingExpirationDays + + Specifies the number of days before meeting recordings will expire and move to the recycle bin. Value can be from 1 to 99,999 days. + NOTE: You may opt to set Meeting Recordings to never expire by entering the value -1. + + Int32 + + Int32 + + + None + + + PreferredMeetingProviderForIslandsMode + + Determines the Outlook meeting add-in available to users on Islands mode. By default, this is set to TeamsAndSfb, and the users sees both the Skype for Business and Teams add-ins. Set this to Teams to remove the Skype for Business add-in and only show the Teams add-in. + + String + + String + + + TeamsAndSfb + + + RecordingStorageMode + + This parameter can take two possible values: + - Stream + - OneDriveForBusiness + + Note: The change of storing Teams meeting recordings from Classic Stream to OneDrive and SharePoint (ODSP) has been completed as of August 30th, 2021. All recordings are now stored in ODSP. This change overrides the RecordingStorageMode parameter, and modifying the setting in PowerShell no longer has any impact. + + String + + String + + + None + + + RoomAttributeUserOverride + + Possible values: + - Off + - Distinguish + - Attribute + + String + + String + + + None + + + ScreenSharingMode + + Determines the mode in which a user can share a screen in calls or meetings. Set this to SingleApplication to allow the user to share an application at a given point in time. Set this to EntireScreen to allow the user to share anything on their screens. Set this to Disabled to prohibit the user from sharing their screens. + + String + + String + + + None + + + SmsNotifications + + Participants can sign up for text message meeting reminders. + + String + + String + + + None + + + SpeakerAttributionMode + + Possible values: + - EnabledUserOverride + - Disabled + + String + + String + + + None + + + StreamingAttendeeMode + + Possible values are: + - Disabled + - Enabled + + String + + String + + + Enabled + + + TeamsCameraFarEndPTZMode + + Possible values are: + - Disabled + - AutoAcceptInTenant + - AutoAcceptAll + + String + + String + + + Disabled + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose external user communication policy are being created. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + Guid + + Guid + + + None + + + VideoFiltersMode + + Determines the background effects that a user can configure in the Teams client. Possible values are: + - NoFilters: No filters are available. + - BlurOnly: Background blur is the only option available (requires a processor with AVX2 support, see Hardware requirements for Microsoft Teams (https://learn.microsoft.com/microsoftteams/hardware-requirements-for-the-teams-app) for more information). - BlurAndDefaultBackgrounds: Background blur and a list of pre-selected images are available. + - AllFilters: All filters are available, including custom images. This is the default value. + + String + + String + + + AllFilters + + + VoiceIsolation + + Determines whether you provide support for your users to enable voice isolation in Teams meeting calls. + Possible values are: + - Enabled (default) + - Disabled + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + WhoCanRegister + + Controls the attendees who can attend a webinar meeting. The default is Everyone, meaning that everyone can register. If you want to restrict registration to internal accounts, set the value to 'EveryoneInCompany'. + Possible values: + - Everyone + - EveryoneInCompany + + Object + + Object + + + None + + + + + + Identity + + Specify the name of the policy being created. + + XdsIdentity + + XdsIdentity + + + None + + + AllowAnonymousUsersToDialOut + + Determines whether anonymous users are allowed to dial out to a PSTN number. Set this to TRUE to allow anonymous users to dial out. Set this to FALSE to #prohibit anonymous users from dialing out. + > [!NOTE] > This parameter is temporarily disabled. + + Boolean + + Boolean + + + None + + + AllowAnonymousUsersToJoinMeeting + + > [!NOTE] > The experience for users is dependent on both the value of -DisableAnonymousJoin (the old tenant-wide setting) and -AllowAnonymousUsersToJoinMeeting (the new per-organizer policy). Please check <https://learn.microsoft.com/microsoftteams/meeting-settings-in-teams> for details. + Determines whether anonymous users can join the meetings that impacted users organize. Set this to TRUE to allow anonymous users to join a meeting. Set this to FALSE to prohibit them from joining a meeting. + + Boolean + + Boolean + + + True + + + AllowAnonymousUsersToStartMeeting + + Determines whether anonymous users can initiate a meeting. Set this to TRUE to allow anonymous users to initiate a meeting. Set this to FALSE to prohibit them from initiating a meeting + + Boolean + + Boolean + + + None + + + AllowBreakoutRooms + + Set to true to enable Breakout Rooms, set to false to disable the Breakout Rooms functionality. + + Boolean + + Boolean + + + True + + + AllowCartCaptionsScheduling + + Determines whether a user can add a URL for captions from a Communications Access Real-Time Translation (CART) captioner for providing real-time captions in meetings. + Possible values are: + - EnabledUserOverride : CART captions are available by default but you can disable them. - DisabledUserOverride : If you would like users to be able to use CART captions in meetings but they are disabled by default. - Disabled : If you do not want to allow CART captions in meetings. + + String + + String + + + DisabledUserOverride + + + AllowChannelMeetingScheduling + + Determines whether a user can schedule channel meetings. Set this to TRUE to allow a user to schedule channel meetings. Set this to FALSE to prohibit the user from scheduling channel meetings. Note this only restricts from scheduling and not from joining a meeting scheduled by another user. + + Boolean + + Boolean + + + None + + + AllowCloudRecording + + Determines whether cloud recording is allowed in a user's meetings. Set this to TRUE to allow the user to be able to record meetings. Set this to FALSE to prohibit the user from recording meetings + + Boolean + + Boolean + + + None + + + AllowEngagementReport + + Determines whether users are allowed to download the attendee engagement report. Set this to Enabled to allow the user to download the report. Set this to Disabled to prohibit the user to download it. + + String + + String + + + None + + + AllowExternalParticipantGiveRequestControl + + Determines whether external participants can request or give control of screen sharing during meetings scheduled by this user. Set this to TRUE to allow the user to be able to give or request control. Set this to FALSE to prohibit an external user from giving or requesting control in a meeting + + Boolean + + Boolean + + + None + + + AllowIPAudio + + Determines whether audio is enabled in a user's meetings or calls. Set this to TRUE to allow the user to share their audio. Set this to FALSE to prohibit the user from sharing their audio. + + Boolean + + Boolean + + + True + + + AllowIPVideo + + Determines whether video is enabled in a user's meetings or calls. Set this to TRUE to allow the user to share their video. Set this to FALSE to prohibit the user from sharing their video + + Boolean + + Boolean + + + None + + + AllowLocalRecording + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + AllowMeetNow + + Determines whether a user can start ad-hoc meetings in a channel. Set this to TRUE to allow a user to start ad-hoc meetings in a channel. Set this to FALSE to prohibit the user from starting ad-hoc meetings in a channel. + + Boolean + + Boolean + + + TRUE + + + AllowMeetingReactions + + Set to false to disable Meeting Reactions. + + Boolean + + Boolean + + + True + + + AllowMeetingRegistration + + Controls if a user can create a webinar meeting. The default value is True. + Possible values: + - true + - false + + Boolean + + Boolean + + + None + + + AllowNDIStreaming + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + AllowNetworkConfigurationSettingsLookup + + Determines whether network configuration setting lookups can be made by users who are not Enterprise Voice enabled. It is used to enable Network Roaming policies. + + Boolean + + Boolean + + + False + + + AllowOrganizersToOverrideLobbySettings + + Set this parameter to true to enable Organizers to override lobby settings. + + Boolean + + Boolean + + + False + + + AllowOutlookAddIn + + Determines whether a user can schedule Teams Meetings in Outlook desktop client. Set this to TRUE to allow the user to be able to schedule Teams meetings in Outlook client. Set this to FALSE to prohibit a user from scheduling Teams meeting in Outlook client + + Boolean + + Boolean + + + None + + + AllowPrivateMeetNow + + Determines whether a user can start ad-hoc meetings. Set this to TRUE to allow a user to start ad-hoc private meetings. Set this to FALSE to prohibit the user from starting ad-hoc private meetings. + + Boolean + + Boolean + + + TRUE + + + AllowParticipantGiveRequestControl + + Determines whether participants can request or give control of screen sharing during meetings scheduled by this user. Set this to TRUE to allow the user to be able to give or request control. Set this to FALSE to prohibit the user from giving, requesting control in a meeting + + Boolean + + Boolean + + + None + + + AllowPowerPointSharing + + Determines whether Powerpoint sharing is allowed in a user's meetings. Set this to TRUE to allow. Set this to FALSE to prohibit + + Boolean + + Boolean + + + None + + + AllowPrivateMeetingScheduling + + Determines whether a user can schedule private meetings. Set this to TRUE to allow a user to schedule private meetings. Set this to FALSE to prohibit the user from scheduling private meetings. Note this only restricts from scheduling and not from joining a meeting scheduled by another user. + + Boolean + + Boolean + + + None + + + AllowPSTNUsersToBypassLobby + + Determines whether a PSTN user joining the meeting is allowed or not to bypass the lobby. If you set this parameter to True, PSTN users are allowed to bypass the lobby as long as an authenticated user is joined to the meeting. + + Boolean + + Boolean + + + None + + + AllowRecordingStorageOutsideRegion + + Allow storing recording outside of region. All meeting recordings will be permanently stored in another region, and can't be migrated. For more info, see <https://aka.ms/in-region>. + + Boolean + + Boolean + + + None + + + AllowScreenContentDigitization + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + AllowSharedNotes + + Determines whether users are allowed to take shared notes. Set this to TRUE to allow. Set this to FALSE to prohibit + + Boolean + + Boolean + + + None + + + AllowTrackingInReport + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + AllowTranscription + + Determines whether real-time and/or post-meeting captions and transcriptions are allowed in a user's meetings. Set this to TRUE to allow. Set this to FALSE to prohibit + + Boolean + + Boolean + + + None + + + AllowUserToJoinExternalMeeting + + Possible values are: + - Enabled + - FederatedOnly + - Disabled + + String + + String + + + Disabled + + + AllowWatermarkForScreenSharing + + This setting allows scheduling meetings with watermarking for screen sharing enabled. + + Boolean + + Boolean + + + False + + + AllowWatermarkForCameraVideo + + This setting allows scheduling meetings with watermarking for video enabled. + + Boolean + + Boolean + + + False + + + AllowWhiteboard + + Determines whether whiteboard is allowed in a user's meetings. Set this to TRUE to allow. Set this to FALSE to prohibit + + Boolean + + Boolean + + + None + + + AllowedStreamingMediaInput + + Enables the use of RTMP-In in Teams meetings. + Possible values are: + - <blank> + - RTMP + + String + + String + + + None + + + AutoAdmittedUsers + + Determines what types of participants will automatically be added to meetings organized by this user. Possible values are: + - EveryoneInCompany , if you would like meetings to place every external user in the lobby but allow all users in the company to join the meeting immediately. - EveryoneInSameAndFederatedCompany , if you would like meetings to allow federated users to join like your company's users, but place all other external users in a lobby. - Everyone , if you'd like to admit anonymous users by default. - OrganizerOnly , if you would like that only meeting organizers can bypass the lobby. - EveryoneInCompanyExcludingGuests , if you would like meetings to place every external and guest users in the lobby but allow all other users in the company to join the meeting immediately. - InvitedUsers , if you would like that only meeting organizers and invited users can bypass the lobby. + This setting also applies to participants joining via a PSTN device (i.e. a traditional phone). + + String + + String + + + None + + + AutomaticallyStartCopilot + + Note: This feature has not been fully released yet, so the setting will have no effect. This setting gives admins the ability to auto-start Copilot. + Possible values are: + - Enabled + - Disabled + + String + + String + + + Disabled + + + BlockedAnonymousJoinClientTypes + + A user can join a Teams meeting anonymously using a Teams client (https://support.microsoft.com/office/join-a-meeting-without-a-teams-account-c6efc38f-4e03-4e79-b28f-e65a4c039508) or using a [custom application built using Azure Communication Services](/azure/communication-services/concepts/join-teams-meeting). When anonymous meeting join is enabled, both types of clients may be used by default. This optional parameter can be used to block one of the client types that can be used. + The allowed values are ACS (to block the use of Azure Communication Services clients) or Teams (to block the use of Teams clients). Both can also be specified, separated by a comma, but this is equivalent to disabling anonymous join completely. + + List + + List + + + Empty List + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + ContentSharingInExternalMeetings + + This policy allows admins to determine whether the user can share content in meetings organized by external organizations. The user should have a Teams Premium license to be protected under this policy. + + String + + String + + + None + + + Copilot + + This setting allows the admin to choose whether Copilot will be enabled with a persisted transcript or a non-persisted transcript. + Possible values are: + - Enabled + - EnabledWithTranscript + + String + + String + + + EnabledWithTranscript + + + CopyRestriction + + Enables a setting that controls a meeting option which allows users to disable right-click or Ctrl+C to copy, Copy link, Forward message, and Share to Outlook for meeting chat messages. + + Boolean + + Boolean + + + TRUE + + + Description + + Enables administrators to provide explanatory text about the meeting policy. For example, the Description might indicate the users the policy should be assigned to. + + String + + String + + + None + + + DesignatedPresenterRoleMode + + Determines if users can change the default value of the Who can present? setting in Meeting options in the Teams client. This policy setting affects all meetings, including Meet Now meetings. + Possible values are: + - EveryoneUserOverride: All meeting participants can be presenters. This is the default value. This parameter corresponds to the Everyone setting in Teams. - EveryoneInCompanyUserOverride: Authenticated users in the organization, including guest users, can be presenters. This parameter corresponds to the People in my organization setting in Teams. - EveryoneInSameAndFederatedCompanyUserOverride: Authenticated users in the organization, including guest users and users from federated organizations, can be presenters. This parameter corresponds to the People in my organization and trusted organizations setting in Teams. - OrganizerOnlyUserOverride: Only the meeting organizer can be a presenter and all meeting participants are designated as attendees. This parameter corresponds to the Only me setting in Teams. + + String + + String + + + EveryoneUserOverride + + + EnableAnonymousUserCaptcha + + This setting enforce captcha for anonymous user while meeting join. + + Boolean + + Boolean + + + False + + + EnrollUserOverride + + Possible values are: + - Disabled + - Enabled + + String + + String + + + Disabled + + + ExternalMeetingJoin + + Possible values are: + - EnabledForAnyone + - EnabledForTrustedOrgs + - Disabled + + String + + String + + + EnabledForAnyone + + + Force + + Specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + InMemory + + Creates an object reference without actually committing the object as a permanent change. If you assign the output of this cmdlet called with this parameter to a variable, you can make changes to the properties of the object reference and then commit those changes by calling this cmdlet's matching Set-. + + SwitchParameter + + SwitchParameter + + + False + + + IPAudioMode + + Determines whether audio can be turned on in meetings and group calls. Set this to ENABLEDOUTGOINGINCOMING to allow outgoing and incoming audio in the meeting. Set this to DISABLED to prohibit outgoing and incoming audio in the meeting. + + String + + String + + + None + + + IPVideoMode + + Determines whether video can be turned on in meetings and group calls. Set this to ENABLEDOUTGOINGINCOMING to allow outgoing and incoming video in the meeting. Set this to DISABLED to prohibit outgoing and incoming video in the meeting. Invalid value combination IPVideoMode: EnabledOutgoingIncoming and IPAudioMode: Disabled + + String + + String + + + None + + + LiveCaptionsEnabledType + + Determines whether real-time captions are available for the user in Teams meetings. Set this to DisabledUserOverride to allow user to turn on live captions. Set this to Disabled to prohibit. + + String + + String + + + None + + + LiveStreamingMode + + Determines whether you provide support for your users to stream their Teams meetings to large audiences through Real-Time Messaging Protocol (RTMP). + Possible values are: + - Disabled (default) + - Enabled + + String + + String + + + None + + + MediaBitRateKb + + Determines the media bit rate for audio/video/app sharing transmissions in meetings. + + UInt32 + + UInt32 + + + None + + + MeetingChatEnabledType + + Specifies if users will be able to chat in meetings. Possible values are: Disabled, Enabled, and EnabledExceptAnonymous. + + String + + String + + + None + + + MeetingInviteLanguages + + Controls how the join information in meeting invitations is displayed by enforcing a common language or enabling up to two languages to be displayed. Note: All Teams supported languages can be specified using language codes. For more information about its delivery date, see the roadmap (Feature ID: 81521) (https://www.microsoft.com/microsoft-365/roadmap?filters=&searchterms=81521). + The preliminary list of available languages is shown below: + `ar-SA,az-Latn-AZ,bg-BG,ca-ES,cs-CZ,cy-GB,da-DK,de-DE,el-GR,en-GB,en-US,es-ES,es-MX,et-EE,eu-ES,fi-FI,fil-PH,fr-CA,fr-FR,gl-ES,he-IL,hi-IN,hr-HR,hu-HU,id-ID,is-IS,it-IT,ja-JP,ka-GE,kk-KZ,ko-KR,lt-LT,lv-LV,mk-MK,ms-MY,nb-NO,nl-NL,nn-NO,pl-PL,pt-BR,pt-PT,ro-RO,ru-RU,sk-SK,sl-SL,sq-AL,sr-Latn-RS,sv-SE,th-TH,tr-TR,uk-UA,vi-VN,zh-CN,zh-TW`. + + String + + String + + + None + + + NewMeetingRecordingExpirationDays + + Specifies the number of days before meeting recordings will expire and move to the recycle bin. Value can be from 1 to 99,999 days. + NOTE: You may opt to set Meeting Recordings to never expire by entering the value -1. + + Int32 + + Int32 + + + None + + + PreferredMeetingProviderForIslandsMode + + Determines the Outlook meeting add-in available to users on Islands mode. By default, this is set to TeamsAndSfb, and the users sees both the Skype for Business and Teams add-ins. Set this to Teams to remove the Skype for Business add-in and only show the Teams add-in. + + String + + String + + + TeamsAndSfb + + + RecordingStorageMode + + This parameter can take two possible values: + - Stream + - OneDriveForBusiness + + Note: The change of storing Teams meeting recordings from Classic Stream to OneDrive and SharePoint (ODSP) has been completed as of August 30th, 2021. All recordings are now stored in ODSP. This change overrides the RecordingStorageMode parameter, and modifying the setting in PowerShell no longer has any impact. + + String + + String + + + None + + + RoomAttributeUserOverride + + Possible values: + - Off + - Distinguish + - Attribute + + String + + String + + + None + + + ScreenSharingMode + + Determines the mode in which a user can share a screen in calls or meetings. Set this to SingleApplication to allow the user to share an application at a given point in time. Set this to EntireScreen to allow the user to share anything on their screens. Set this to Disabled to prohibit the user from sharing their screens. + + String + + String + + + None + + + SmsNotifications + + Participants can sign up for text message meeting reminders. + + String + + String + + + None + + + SpeakerAttributionMode + + Possible values: + - EnabledUserOverride + - Disabled + + String + + String + + + None + + + StreamingAttendeeMode + + Possible values are: + - Disabled + - Enabled + + String + + String + + + Enabled + + + TeamsCameraFarEndPTZMode + + Possible values are: + - Disabled + - AutoAcceptInTenant + - AutoAcceptAll + + String + + String + + + Disabled + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose external user communication policy are being created. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + Guid + + Guid + + + None + + + VideoFiltersMode + + Determines the background effects that a user can configure in the Teams client. Possible values are: + - NoFilters: No filters are available. + - BlurOnly: Background blur is the only option available (requires a processor with AVX2 support, see Hardware requirements for Microsoft Teams (https://learn.microsoft.com/microsoftteams/hardware-requirements-for-the-teams-app) for more information). - BlurAndDefaultBackgrounds: Background blur and a list of pre-selected images are available. + - AllFilters: All filters are available, including custom images. This is the default value. + + String + + String + + + AllFilters + + + VoiceIsolation + + Determines whether you provide support for your users to enable voice isolation in Teams meeting calls. + Possible values are: + - Enabled (default) + - Disabled + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + WhoCanRegister + + Controls the attendees who can attend a webinar meeting. The default is Everyone, meaning that everyone can register. If you want to restrict registration to internal accounts, set the value to 'EveryoneInCompany'. + Possible values: + - Everyone + - EveryoneInCompany + + Object + + Object + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- EXAMPLE 1 -------------------------- + New-CsTeamsMeetingPolicy -Identity SalesMeetingPolicy -AllowTranscription $True + + The command shown in Example 1 uses the New-CsTeamsMeetingPolicy cmdlet to create a new meeting policy with the Identity SalesMeetingPolicy. This policy will use all the default values for a meeting policy except one: AllowTranscription; in this example, meetings for users with this policy can include real time or post meeting captions and transcriptions. + + + + -------------------------- EXAMPLE 2 -------------------------- + New-CsTeamsMeetingPolicy -Identity HrMeetingPolicy -AutoAdmittedUsers "Everyone" -AllowMeetNow $False + + In Example 2, the New-CsTeamsMeetingPolicy cmdlet is used to create a meeting policy with the Identity HrMeetingPolicy. In this example two different property values are configured: AutoAdmittedUsers is set to Everyone and AllowMeetNow is set to False. All other policy properties will use the default values. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csteamsmeetingpolicy + + + + + + New-CsTeamsMeetingTemplatePermissionPolicy + New + CsTeamsMeetingTemplatePermissionPolicy + + Creates a new instance of the TeamsMeetingTemplatePermissionPolicy. + + + + Creates a new instance of the policy with a name and a list of hidden meeting template IDs. The template IDs passed into the `HiddenMeetingTemplates` object must be valid existing template IDs. The current custom and first-party templates on a tenant can be fetched by Get-CsTeamsMeetingTemplateConfiguration (Get-CsTeamsMeetingTemplateConfiguration.yml) and [Get-CsTeamsFirstPartyMeetingTemplateConfiguration](Get-CsTeamsFirstPartyMeetingTemplateConfiguration.yml)respectively. + + + + New-CsTeamsMeetingTemplatePermissionPolicy + + Identity + + Name of the new policy instance to be created. + + String + + String + + + None + + + HiddenMeetingTemplates + + The list of meeting template IDs to hide. The HiddenMeetingTemplate objects are created with New-CsTeamsHiddenMeetingTemplate (New-CsTeamsHiddenMeetingTemplate.yml). + + HiddenMeetingTemplate[] + + HiddenMeetingTemplate[] + + + None + + + Description + + Description of the new policy instance to be created. + + String + + String + + + None + + + + + + Identity + + Name of the new policy instance to be created. + + String + + String + + + None + + + HiddenMeetingTemplates + + The list of meeting template IDs to hide. The HiddenMeetingTemplate objects are created with New-CsTeamsHiddenMeetingTemplate (New-CsTeamsHiddenMeetingTemplate.yml). + + HiddenMeetingTemplate[] + + HiddenMeetingTemplate[] + + + None + + + Description + + Description of the new policy instance to be created. + + String + + String + + + None + + + + + + + + + + Example 1 - Creating a new meeting template permission policy + $hiddentemplate_1 = New-CsTeamsHiddenMeetingTemplate -Id customtemplate_9ab0014a-bba4-4ad6-b816-0b42104b5056 +$hiddentemplate_2 = New-CsTeamsHiddenMeetingTemplate -Id firstparty_e514e598-fba6-4e1f-b8b3-138dd3bca748 + +New-CsTeamsMeetingTemplatePermissionPolicy -Identity Test_Policy -HiddenMeetingTemplates @($hiddentemplate_1, $hiddentemplate_2) -Description "This is a test policy" + +Identity : Tag:Test_Policy +HiddenMeetingTemplates : {customtemplate_9ab0014a-bba4-4ad6-b816-0b42104b5056, firstparty_e514e598-fba6-4e1f-b8b3-138dd3bca748} +Description : This is a test policy + + + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/New-CsTeamsMeetingTemplatePermissionPolicy + + + New-CsTeamsHiddenMeetingTemplate + + + + Set-CsTeamsMeetingTemplatePermissionPolicy + + + + Get-CsTeamsMeetingTemplatePermissionPolicy + + + + Remove-CsTeamsMeetingTemplatePermissionPolicy + + + + Grant-CsTeamsMeetingTemplatePermissionPolicy + + + + + + + New-CsTeamsMessagingPolicy + New + CsTeamsMessagingPolicy + + The CsTeamsMessagingPolicy cmdlets enable administrators to control if a user is enabled to exchange messages. These also help determine the type of messages users can create and modify. + + + + The CsTeamsMessagingPolicy cmdlets enable administrators to control if a user is enabled to exchange messages. These also help determine the type of messages users can create and modify. This cmdlet creates a new Teams messaging policy. Custom policies can then be assigned to users using the Grant-CsTeamsMessagingPolicy cmdlet. + + + + New-CsTeamsMessagingPolicy + + Identity + + Unique identifier for the teams messaging policy to be created. + + XdsIdentity + + XdsIdentity + + + None + + + AllowSmartCompose + + Turn on this setting to let a user get text predictions for chat messages. + + Boolean + + Boolean + + + None + + + AllowGiphy + + Determines whether a user is allowed to access and post Giphys. Set this to TRUE to allow. Set this FALSE to prohibit. + + Boolean + + Boolean + + + None + + + CreateCustomEmojis + + This setting enables the creation of custom emojis and reactions within an organization for the specified policy users. + + Boolean + + Boolean + + + None + + + DeleteCustomEmojis + + These settings enable and disable the editing and deletion of custom emojis and reactions for the users included in the messaging policy. + + Boolean + + Boolean + + + None + + + AllowMemes + + Determines whether a user is allowed to access and post memes. Set this to TRUE to allow. Set this FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowOwnerDeleteMessage + + Determines whether owners are allowed to delete all the messages in their team. Set this to TRUE to allow. Set this to FALSE to prohibit. + If the `-AllowUserDeleteMessage` parameter is set to FALSE, the team owner will not be able to delete their own messages. + + Boolean + + Boolean + + + None + + + AllowStickers + + Determines whether a user is allowed to access and post stickers. Set this to TRUE to allow. Set this FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowUserChat + + Determines whether a user is allowed to chat. Set this to TRUE to allow a user to chat across private chat, group chat and in meetings. Set this to FALSE to prohibit all chat. + + Boolean + + Boolean + + + None + + + AllowUserDeleteMessage + + Determines whether a user is allowed to delete their own messages. Set this to TRUE to allow. Set this to FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowUserEditMessage + + Determines whether a user is allowed to edit their own messages. Set this to TRUE to allow. Set this to FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowUserTranslation + + Determines whether a user is allowed to translate messages to their client languages. Set this to TRUE to allow. Set this to FALSE to prohibit. + + Boolean + + Boolean + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Description + + Provide a description of your policy to identify purpose of creating it. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + GiphyRatingType + + Determines the Giphy content restrictions applicable to a user. Set this to STRICT, MODERATE or NORESTRICTION. + + String + + String + + + None + + + InMemory + + Creates an object reference without actually committing the object as a permanent change. If you assign the output of this cmdlet called with this parameter to a variable, you can make changes to the properties of the object reference and then commit those changes by calling this cmdlet's matching Set-. + + + SwitchParameter + + + False + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose external user communication policy are being created. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + + Guid + + Guid + + + None + + + ChannelsInChatListEnabledType + + On mobile devices, enable to display favorite channels above recent chats. + Possible values are: DisabledUserOverride,EnabledUserOverride. + + ChannelsInChatListEnabledTypeEnum + + ChannelsInChatListEnabledTypeEnum + + + None + + + AllowImmersiveReader + + Determines whether a user is allowed to use Immersive Reader for reading conversation messages. Set this to TRUE to allow. Set this FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AudioMessageEnabledType + + Determines whether a user is allowed to send audio messages. Possible values are: ChatsAndChannels,ChatsOnly,Disabled. + + AudioMessageEnabledTypeEnum + + AudioMessageEnabledTypeEnum + + + None + + + AllowRemoveUser + + Determines whether a user is allowed to remove a user from a conversation. Set this to TRUE to allow. Set this FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowSmartReply + + Turn this setting on to enable suggested replies for chat messages. + + Boolean + + Boolean + + + True + + + AllowPriorityMessages + + Determines whether a user is allowed to send priorities messages. Set this to TRUE to allow. Set this FALSE to prohibit. + + Boolean + + Boolean + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + ChatPermissionRole + + Determines the Supervised Chat role of the user. Set this to Full to allow the user to supervise chats. Supervisors have the ability to initiate chats with and invite any user within the environment. Set this to Limited to allow the user to initiate conversations with Full and Limited permissioned users, but not Restricted. Set this to Restricted to block chat creation with anyone other than Full permissioned users. + + + String + + String + + + Restricted + + + + + + AllowGiphy + + Determines whether a user is allowed to access and post Giphys. Set this to TRUE to allow. Set this FALSE to prohibit. + + Boolean + + Boolean + + + None + + + CreateCustomEmojis + + This setting enables the creation of custom emojis and reactions within an organization for the specified policy users. + + Boolean + + Boolean + + + None + + + DeleteCustomEmojis + + These settings enable and disable the editing and deletion of custom emojis and reactions for the users included in the messaging policy. + + Boolean + + Boolean + + + None + + + AllowMemes + + Determines whether a user is allowed to access and post memes. Set this to TRUE to allow. Set this FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowOwnerDeleteMessage + + Determines whether owners are allowed to delete all the messages in their team. Set this to TRUE to allow. Set this to FALSE to prohibit. + If the `-AllowUserDeleteMessage` parameter is set to FALSE, the team owner will not be able to delete their own messages. + + Boolean + + Boolean + + + None + + + AllowStickers + + Determines whether a user is allowed to access and post stickers. Set this to TRUE to allow. Set this FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowUserChat + + Determines whether a user is allowed to chat. Set this to TRUE to allow a user to chat across private chat, group chat and in meetings. Set this to FALSE to prohibit all chat. + + Boolean + + Boolean + + + None + + + AllowUserDeleteMessage + + Determines whether a user is allowed to delete their own messages. Set this to TRUE to allow. Set this to FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowUserEditMessage + + Determines whether a user is allowed to edit their own messages. Set this to TRUE to allow. Set this to FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowUserTranslation + + Determines whether a user is allowed to translate messages to their client languages. Set this to TRUE to allow. Set this to FALSE to prohibit. + + Boolean + + Boolean + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Description + + Provide a description of your policy to identify purpose of creating it. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + GiphyRatingType + + Determines the Giphy content restrictions applicable to a user. Set this to STRICT, MODERATE or NORESTRICTION. + + String + + String + + + None + + + Identity + + Unique identifier for the teams messaging policy to be created. + + XdsIdentity + + XdsIdentity + + + None + + + InMemory + + Creates an object reference without actually committing the object as a permanent change. If you assign the output of this cmdlet called with this parameter to a variable, you can make changes to the properties of the object reference and then commit those changes by calling this cmdlet's matching Set-. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose external user communication policy are being created. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + + Guid + + Guid + + + None + + + ChannelsInChatListEnabledType + + On mobile devices, enable to display favorite channels above recent chats. + Possible values are: DisabledUserOverride,EnabledUserOverride. + + ChannelsInChatListEnabledTypeEnum + + ChannelsInChatListEnabledTypeEnum + + + None + + + AllowImmersiveReader + + Determines whether a user is allowed to use Immersive Reader for reading conversation messages. Set this to TRUE to allow. Set this FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AudioMessageEnabledType + + Determines whether a user is allowed to send audio messages. Possible values are: ChatsAndChannels,ChatsOnly,Disabled. + + AudioMessageEnabledTypeEnum + + AudioMessageEnabledTypeEnum + + + None + + + AllowRemoveUser + + Determines whether a user is allowed to remove a user from a conversation. Set this to TRUE to allow. Set this FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowSmartReply + + Turn this setting on to enable suggested replies for chat messages. + + Boolean + + Boolean + + + True + + + AllowPriorityMessages + + Determines whether a user is allowed to send priorities messages. Set this to TRUE to allow. Set this FALSE to prohibit. + + Boolean + + Boolean + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + ChatPermissionRole + + Determines the Supervised Chat role of the user. Set this to Full to allow the user to supervise chats. Supervisors have the ability to initiate chats with and invite any user within the environment. Set this to Limited to allow the user to initiate conversations with Full and Limited permissioned users, but not Restricted. Set this to Restricted to block chat creation with anyone other than Full permissioned users. + + + String + + String + + + Restricted + + + AllowSmartCompose + + Turn on this setting to let a user get text predictions for chat messages. + + Boolean + + Boolean + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + powershell +PS C:\> New-CsTeamsMessagingPolicy -Identity StudentMessagingPolicy -AllowGiphy $false -AllowMemes $false + + In this example two different property values are configured: AllowGiphy is set to false and AllowMemes is set to False. All other policy properties will use the default values. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csteamsmessagingpolicy + + + + + + New-CsTeamsRecordingRollOutPolicy + New + CsTeamsRecordingRollOutPolicy + + The CsTeamsRecordingRollOutPolicy controls roll out of the change that governs the storage for meeting recordings. + + + + The CsTeamsRecordingRollOutPolicy controls roll out of the change that governs the storage for meeting recordings. This policy would be deprecated over time as this is only to allow IT admins to phase the roll out of this breaking change. + The New-CsTeamsRecordingRollOutPolicy cmdlet allows administrators to define new CsTeamsRecordingRollOutPolicy that can be assigned to particular users to control Teams features related to meetings. + This command is available from Teams powershell module 6.1.1-preview and above. + + + + New-CsTeamsRecordingRollOutPolicy + + Identity + + Specify the name of the policy being created. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + MeetingRecordingOwnership + + Specifies where the meeting recording get stored. Possible values are: - MeetingOrganizer + - RecordingInitiator + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + Specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Specify the name of the policy being created. + + String + + String + + + None + + + MeetingRecordingOwnership + + Specifies where the meeting recording get stored. Possible values are: - MeetingOrganizer + - RecordingInitiator + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + TeamsRecordingRollOutPolicy.Cmdlets.TeamsRecordingRollOutPolicy + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> New-CsTeamsRecordingRollOutPolicy -Identity OrganizerPolicy -MeetingRecordingOwnership MeetingOrganizer + + The command shown in Example 1 uses the New-CsTeamsRecordingRollOutPolicy cmdlet to create a new TeamsRecordingRollOutPolicy with the Identity OrganizerPolicy. This policy will set MeetingRecordingOwnership to MeetingOrganizer. Recordings for this policy group's users as organizer would get saved to organizers' own OneDrive. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csteamsrecordingrolloutpolicy + + + + + + New-CsTeamsSharedCallingRoutingPolicy + New + CsTeamsSharedCallingRoutingPolicy + + Use the New-CsTeamsSharedCallingRoutingPolicy cmdlet to configure a shared calling routing policy. + + + + The Teams shared calling routing policy configures the caller ID for normal outbound PSTN and emergency calls made by users enabled for Shared Calling using this policy instance. + The caller ID for normal outbound PSTN calls is the phone number assigned to the resource account specified in the policy instance. Typically this is the organization's main auto attendant phone number. Callbacks will go to the auto attendant and the PSTN caller can use the auto attendant to be transferred to the shared calling user. + When a shared calling user makes an emergency call, the emergency services need to be able to make a direct callback to the user who placed the emergency call. One of the defined emergency numbers is used for this purpose as caller ID for the emergency call. It will be reserved for the next 60 minutes and any inbound call to that number will directly ring the shared calling user who made the emergency call. If no emergency numbers are defined, the phone number of the resource account is used as caller ID. If no free emergency numbers are available, the first number in the list is reused. + The emergency call will contain the location of the shared calling user. The location will be either the dynamic emergency location obtained by the Teams client or if that is not available the static location assigned to the phone number of the resource account used in the shared calling policy instance. + + + + New-CsTeamsSharedCallingRoutingPolicy + + Identity + + Unique identifier of the Teams shared calling routing policy to be created. + + String + + String + + + None + + + Description + + The description of the new policy instance. + + String + + String + + + None + + + EmergencyNumbers + + An array of phone numbers used as caller ID on emergency calls. + The emergency numbers must be routable for inbound PSTN calls, and for Calling Plan and Operator Connect phone numbers, must be available within the organization. + The emergency numbers specified must all be of the same phone number type and country as the phone number assigned to the specified resource account. If the resource account has a Calling Plan service number assigned, the emergency numbers need to be Calling Plan subscriber numbers. + The emergency numbers must be unique and can't be reused in other shared calling policy instances. The emergency numbers can't be assigned to any user or resource account. + If no emergency numbers are configured, the phone number of the resource account is used as the Caller ID for the emergency call. + + System.Management.Automation.PSListModifier[String] + + System.Management.Automation.PSListModifier[String] + + + None + + + ResourceAccount + + The Identity of the resource account. Can only be specified using the Identity or ObjectId of the resource account. + The phone number assigned to the resource account must: - Have the same phone number type and country as the emergency numbers configured in this policy instance. + - Must have an emergency location assigned. You can use the Teams PowerShell Module Set-CsPhoneNumberAssignment (Set-CsPhoneNumberAssignment.md)and the -LocationId parameter to set the location. - If the resource account is using a Calling Plan service number, you must have a Pay-As-You-Go Calling Plan, and assign it to the resource account. In addition, you need to assign a Communications credits license to the resource account and fund it to support outbound shared calling calls via the Pay-As-You-Go Calling Plan. + The same resource account can be used in multiple shared calling policy instances. + + String + + String + + + None + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Identity + + Unique identifier of the Teams shared calling routing policy to be created. + + String + + String + + + None + + + Description + + The description of the new policy instance. + + String + + String + + + None + + + EmergencyNumbers + + An array of phone numbers used as caller ID on emergency calls. + The emergency numbers must be routable for inbound PSTN calls, and for Calling Plan and Operator Connect phone numbers, must be available within the organization. + The emergency numbers specified must all be of the same phone number type and country as the phone number assigned to the specified resource account. If the resource account has a Calling Plan service number assigned, the emergency numbers need to be Calling Plan subscriber numbers. + The emergency numbers must be unique and can't be reused in other shared calling policy instances. The emergency numbers can't be assigned to any user or resource account. + If no emergency numbers are configured, the phone number of the resource account is used as the Caller ID for the emergency call. + + System.Management.Automation.PSListModifier[String] + + System.Management.Automation.PSListModifier[String] + + + None + + + ResourceAccount + + The Identity of the resource account. Can only be specified using the Identity or ObjectId of the resource account. + The phone number assigned to the resource account must: - Have the same phone number type and country as the emergency numbers configured in this policy instance. + - Must have an emergency location assigned. You can use the Teams PowerShell Module Set-CsPhoneNumberAssignment (Set-CsPhoneNumberAssignment.md)and the -LocationId parameter to set the location. - If the resource account is using a Calling Plan service number, you must have a Pay-As-You-Go Calling Plan, and assign it to the resource account. In addition, you need to assign a Communications credits license to the resource account and fund it to support outbound shared calling calls via the Pay-As-You-Go Calling Plan. + The same resource account can be used in multiple shared calling policy instances. + + String + + String + + + None + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + In some Calling Plan markets, you are not allowed to set the location on service numbers. In this instance, kindly contact the Telephone Number Services service desk (/microsoftteams/phone-reference/manage-numbers/contact-tns-service-desk). + If you are attempting to use a resource account with an Operator Connect phone number assigned, you should confirm support for Shared Calling with your operator. + Shared Calling is not supported for Calling Plan service phone numbers in Romania, the Czech Republic, Hungary, Singapore, New Zealand, Australia, and Japan. A limited number of existing Calling Plan service phone numbers in other countries are also not supported for Shared Calling. For such service phone numbers, please contact the Telephone Number Services service desk (/microsoftteams/phone-reference/manage-numbers/contact-tns-service-desk). + This cmdlet was introduced in Teams PowerShell Module 5.5.0. + + + + + -------------------------- Example 1 -------------------------- + $ra = Get-CsOnlineUser -Identity ra1@contoso.com +$PhoneNumber=Get-CsPhoneNumberAssignment -AssignedPstnTargetId ra1@contoso.com +$CivicAddress = Get-CsOnlineLisCivicAddress -City Seattle +Set-CsPhoneNumberAssignment -LocationId $CivicAddress.DefaultLocationId -PhoneNumber $PhoneNumber.TelephoneNumber +New-CsTeamsSharedCallingRoutingPolicy -Identity Seattle -ResourceAccount $ra.Identity -EmergencyNumbers @{add='+14255556677','+14255554321'} -Description 'Seattle' + + The command shown in Example 1 gets the identity and phone number assigned to the Teams resource account ra1@contoso.com, sets the location of the phone number to be the Seattle location, and creates a new Shared Calling policy called Seattle that is using the Teams resource account ra1@contoso.com and the emergency numbers +14255556677 and +14255554321. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csteamssharedcallingroutingpolicy + + + Set-CsTeamsSharedCallingRoutingPolicy + + + + Grant-CsTeamsSharedCallingRoutingPolicy + + + + Remove-CsTeamsSharedCallingRoutingPolicy + + + + Get-CsTeamsSharedCallingRoutingPolicy + + + + Set-CsPhoneNumberAssignment + + + + + + + New-CsTeamsShiftsPolicy + New + CsTeamsShiftsPolicy + + This cmdlet allows you to create a new TeamsShiftPolicy instance and set it's properties. + + + + This cmdlet allows you to create a TeamsShiftPolicy instance. Use this to also set the policy name, schedule owner permissions, and Teams off shift warning message-specific settings (ShiftNoticeMessageType, ShiftNoticeMessageCustom, ShiftNoticeFrequency, AccessGracePeriodMinutes). + + + + New-CsTeamsShiftsPolicy + + Identity + + Policy instance name. + + XdsIdentity + + XdsIdentity + + + None + + + AccessType + + Indicates the Teams access type granted to the user. Today, only unrestricted access to Teams app is supported. Use 'UnrestrictedAccess_TeamsApp' as the value for this setting, or is set by default. For Teams Off Shift Access Control, the option to show the user a blocking dialog message is supported. Once the user accepts this message, it is audit logged and the user has usual access to Teams. Set other off shift warning message-specific settings to configure off shift access controls for the user. + + String + + String + + + UnrestrictedAccess_TeamsApp + + + ShiftNoticeFrequency + + Frequency of warning dialog displayed when user opens Teams. Select one of Always, ShowOnceOnChange, Never. + + String + + String + + + None + + + ShiftNoticeMessageType + + The warning message is shown in the blocking dialog when a user access Teams off shift hours. Select one of 7 Microsoft provided messages, a default message or a custom message. 'Message1' - Your employer does not authorize or approve of the use of its network, applications, systems, or tools by non-exempt or hourly employees during their non-working hours. By accepting, you acknowledge that your use of Teams while off shift is not authorized and you will not be compensated. 'Message2' - Accessing this app outside working hours is voluntary. You won't be compensated for time spent on Teams. Refer to your employer's guidelines on using this app outside working hours. By accepting, you acknowledge that you understand the statement above. 'Message3' - You won't be compensated for time using Teams. By accepting, you acknowledge that you understand the statement above. 'Message4' - You're not authorized to use Teams while off shift. By accepting, you acknowledge your use of Teams is against your employer's policy. 'Message5' - Access to Teams is turned off during non-working hours. You will be able to access the app when your next shift starts. 'Message6' - Your employer does not authorize or approve of the use of its network, applications, systems, or tools by non-exempt or hourly employees during their non-working hours. Access to corporate resources are only allowed during approved working hours and should be recorded as hours worked in your employer's timekeeping system. 'Message7' - Your employer has turned off access to Teams during non-working hours. Refer to your employer's guidelines on using this app outside working hours. 'DefaultMessage' - You aren't authorized to use Microsoft Teams during non-working hours and will only be compensated for using it during approved working hours. 'CustomMessage' + + String + + String + + + DefaultMessage + + + ShiftNoticeMessageCustom + + Provide a custom message. Must set ShiftNoticeMessageType to 'CustomMessage' to enforce this. + + String + + String + + + None + + + AccessGracePeriodMinutes + + Indicates the grace period time in minutes between when the first shift starts or last shift ends and when access is blocked. + + Int64 + + Int64 + + + None + + + EnableScheduleOwnerPermissions + + Indicates whether a user can manage a Shifts schedule as a team member. + + Boolean + + Boolean + + + False + + + + + + Identity + + Policy instance name. + + XdsIdentity + + XdsIdentity + + + None + + + AccessType + + Indicates the Teams access type granted to the user. Today, only unrestricted access to Teams app is supported. Use 'UnrestrictedAccess_TeamsApp' as the value for this setting, or is set by default. For Teams Off Shift Access Control, the option to show the user a blocking dialog message is supported. Once the user accepts this message, it is audit logged and the user has usual access to Teams. Set other off shift warning message-specific settings to configure off shift access controls for the user. + + String + + String + + + UnrestrictedAccess_TeamsApp + + + ShiftNoticeFrequency + + Frequency of warning dialog displayed when user opens Teams. Select one of Always, ShowOnceOnChange, Never. + + String + + String + + + None + + + ShiftNoticeMessageType + + The warning message is shown in the blocking dialog when a user access Teams off shift hours. Select one of 7 Microsoft provided messages, a default message or a custom message. 'Message1' - Your employer does not authorize or approve of the use of its network, applications, systems, or tools by non-exempt or hourly employees during their non-working hours. By accepting, you acknowledge that your use of Teams while off shift is not authorized and you will not be compensated. 'Message2' - Accessing this app outside working hours is voluntary. You won't be compensated for time spent on Teams. Refer to your employer's guidelines on using this app outside working hours. By accepting, you acknowledge that you understand the statement above. 'Message3' - You won't be compensated for time using Teams. By accepting, you acknowledge that you understand the statement above. 'Message4' - You're not authorized to use Teams while off shift. By accepting, you acknowledge your use of Teams is against your employer's policy. 'Message5' - Access to Teams is turned off during non-working hours. You will be able to access the app when your next shift starts. 'Message6' - Your employer does not authorize or approve of the use of its network, applications, systems, or tools by non-exempt or hourly employees during their non-working hours. Access to corporate resources are only allowed during approved working hours and should be recorded as hours worked in your employer's timekeeping system. 'Message7' - Your employer has turned off access to Teams during non-working hours. Refer to your employer's guidelines on using this app outside working hours. 'DefaultMessage' - You aren't authorized to use Microsoft Teams during non-working hours and will only be compensated for using it during approved working hours. 'CustomMessage' + + String + + String + + + DefaultMessage + + + ShiftNoticeMessageCustom + + Provide a custom message. Must set ShiftNoticeMessageType to 'CustomMessage' to enforce this. + + String + + String + + + None + + + AccessGracePeriodMinutes + + Indicates the grace period time in minutes between when the first shift starts or last shift ends and when access is blocked. + + Int64 + + Int64 + + + None + + + EnableScheduleOwnerPermissions + + Indicates whether a user can manage a Shifts schedule as a team member. + + Boolean + + Boolean + + + False + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> New-CsTeamsShiftsPolicy -Identity OffShiftAccessMessage1Always + + Creates a new instance of TeamsShiftsPolicy called OffShiftAccessMessage1Always and applies the default values to its settings. + + + + -------------------------- Example 2 -------------------------- + PS C:\> New-CsTeamsShiftsPolicy -Identity OffShiftAccessMessage1Always -ShiftNoticeFrequency always -ShiftNoticeMessageType Message1 -AccessType UnrestrictedAccess_TeamsApp -AccessGracePeriodMinutes 5 -EnableScheduleOwnerPermissions $false + + Creates a new instance of TeamsShiftsPolicy called OffShiftAccessMessage1Always and applies the provided values to its settings. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-teamsshiftspolicy + + + Get-CsTeamsShiftsPolicy + + + + Set-CsTeamsShiftsPolicy + + + + Remove-CsTeamsShiftsPolicy + + + + Grant-CsTeamsShiftsPolicy + + + + + + + New-CsTeamsTemplatePermissionPolicy + New + CsTeamsTemplatePermissionPolicy + + Creates a new instance of the TeamsTemplatePermissionPolicy. + + + + Creates a new instance of the policy with a name and a list of hidden Teams template IDs. The template IDs passed into the `HiddenTemplates` object must be valid existing template IDs. The current custom and first-party templates on a tenant can be fetched by Get-CsTeamTemplateList (Get-CsTeamTemplateList.md). + + + + New-CsTeamsTemplatePermissionPolicy + + Identity + + Name of the new policy instance to be created. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Description + + Description of the new policy instance to be created. + + String + + String + + + None + + + Force + + The Force switch hides warning or confirmation messages. You don't need to specify a value with this switch. + You can use this switch to run tasks programmatically where prompting for administrative input is inappropriate. + + + SwitchParameter + + + False + + + HiddenTemplates + + The list of Teams template IDs to hide. The HiddenTemplate objects are created with New-CsTeamsHiddenTemplate (New-CsTeamsHiddenTemplate.md). + + System.Management.Automation.PSListModifier`1[Microsoft.Teams.Policy.Administration.Cmdlets.Core.HiddenTemplate] + + System.Management.Automation.PSListModifier`1[Microsoft.Teams.Policy.Administration.Cmdlets.Core.HiddenTemplate] + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Description + + Description of the new policy instance to be created. + + String + + String + + + None + + + Force + + The Force switch hides warning or confirmation messages. You don't need to specify a value with this switch. + You can use this switch to run tasks programmatically where prompting for administrative input is inappropriate. + + SwitchParameter + + SwitchParameter + + + False + + + HiddenTemplates + + The list of Teams template IDs to hide. The HiddenTemplate objects are created with New-CsTeamsHiddenTemplate (New-CsTeamsHiddenTemplate.md). + + System.Management.Automation.PSListModifier`1[Microsoft.Teams.Policy.Administration.Cmdlets.Core.HiddenTemplate] + + System.Management.Automation.PSListModifier`1[Microsoft.Teams.Policy.Administration.Cmdlets.Core.HiddenTemplate] + + + None + + + Identity + + Name of the new policy instance to be created. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + TeamsTemplatePermissionPolicy.Cmdlets.TeamsTemplatePermissionPolicy + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS >$manageEventTemplate = New-CsTeamsHiddenTemplate -Id com.microsoft.teams.template.ManageAnEvent +PS >$manageProjectTemplate = New-CsTeamsHiddenTemplate -Id com.microsoft.teams.template.ManageAProject +PS >$HiddenList = @($manageProjectTemplate, $manageEventTemplate) +PS >New-CsTeamsTemplatePermissionPolicy -Identity Foobar -HiddenTemplates $HiddenList + +Identity HiddenTemplates Description +-------- --------------- ----------- +Tag:Foobar {com.microsoft.teams.template.ManageAProject, com.microsoft.teams.template.ManageAnEvent} + + + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csteamstemplatepermissionpolicy + + + Get-CsTeamsTemplatePermissionPolicy + + + + Remove-CsTeamsTemplatePermissionPolicy + + + + Set-CsTeamsTemplatePermissionPolicy + + + + + + + New-CsTeamsUpdateManagementPolicy + New + CsTeamsUpdateManagementPolicy + + Use this cmdlet to create Teams Update Management policy. + + + + Create a Teams Update Management policy. + This cmdlet can be used to create a new policity to manage the visibility of some Teams in-product messages. Executing the cmdlet will suppress the corresponding category of messages from appearing for the specified user group. + + + + New-CsTeamsUpdateManagementPolicy + + Identity + + A unique identifier. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + DisabledInProductMessages + + List of IDs of the categories of the in-product messages that will be disabled. You can choose one of the categories from this table: + | ID | Campaign Category | | -- | -- | | 91382d07-8b89-444c-bbcb-cfe43133af33 | What’s New | | edf2633e-9827-44de-b34c-8b8b9717e84c | Conferences | + + System.Management.Automation.PSListModifier`1[System.String] + + System.Management.Automation.PSListModifier`1[System.String] + + + None + + + Force + + Suppress all non-fatal errors. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + DisabledInProductMessages + + List of IDs of the categories of the in-product messages that will be disabled. You can choose one of the categories from this table: + | ID | Campaign Category | | -- | -- | | 91382d07-8b89-444c-bbcb-cfe43133af33 | What’s New | | edf2633e-9827-44de-b34c-8b8b9717e84c | Conferences | + + System.Management.Automation.PSListModifier`1[System.String] + + System.Management.Automation.PSListModifier`1[System.String] + + + None + + + Force + + Suppress all non-fatal errors. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + A unique identifier. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + TeamsUpdateManagementPolicy.Cmdlets.TeamsUpdateManagementPolicy + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> New-CsTeamsUpdateManagementPolicy -Identity "Campaign Policy" -DisabledInProductMessages @("91382d07-8b89-444c-bbcb-cfe43133af33") + + Disable the in-product messages with the category "What’s New". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csteamsupdatemanagementpolicy + + + + + + New-CsTeamsVirtualAppointmentsPolicy + New + CsTeamsVirtualAppointmentsPolicy + + This cmdlet is used to create a new instance of the TeamsVirtualAppointmentsPolicy. + + + + Creates a new instance of the TeamsVirtualAppointmentsPolicy. This policy can be used to tailor the virtual appointment template meeting experience. The parameter `EnableSmsNotifications` allows you to specify whether your users can choose to send SMS text notifications to external guests in meetings that they schedule using the virtual appointment meeting template. + + + + New-CsTeamsVirtualAppointmentsPolicy + + Identity + + Name of the new policy instance to be created. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + EnableSmsNotifications + + This property specifies whether your users can choose to send SMS text notifications to external guests in meetings that they schedule using a virtual appointment template meeting. + + Boolean + + Boolean + + + True + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + EnableSmsNotifications + + This property specifies whether your users can choose to send SMS text notifications to external guests in meetings that they schedule using a virtual appointment template meeting. + + Boolean + + Boolean + + + True + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Name of the new policy instance to be created. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.String + + + + + + + + + + TeamsVirtualAppointmentsPolicy.Cmdlets.TeamsVirtualAppointmentsPolicy + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> New-CsTeamsVirtualAppointmentsPolicy -Identity sms-enabled + +Identity EnableSmsNotifications +-------- ---------------------- +Tag:sms-enabled True + + Creates a new policy instance with the identity enable-sms. `EnableSmsNotifications` will default to true if it is not specified. + + + + -------------------------- Example 2 -------------------------- + PS C:\> New-CsTeamsVirtualAppointmentsPolicy -Identity disable-sms -EnableSmsNotifications $false + +Identity EnableSmsNotifications +-------- ---------------------- +Tag:sms-enabled False + + Creates a new policy instance with the identity sms-disabled. `EnableSmsNotifications` is set to the value specified in the command. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csteamsvirtualappointmentspolicy + + + Get-CsTeamsVirtualAppointmentsPolicy + + + + Remove-CsTeamsVirtualAppointmentsPolicy + + + + Set-CsTeamsVirtualAppointmentsPolicy + + + + Grant-CsTeamsVirtualAppointmentsPolicy + + + + + + + New-CsTeamsVoiceApplicationsPolicy + New + CsTeamsVoiceApplicationsPolicy + + Creates a new Teams voice applications policy. `TeamsVoiceApplications` policy governs what permissions the supervisors/users have over auto attendants and call queues. + + + + `TeamsVoiceApplicationsPolicy` is used for Supervisor Delegated Administration which allows admins in the organization to permit certain users to make changes to auto attendant and call queue configurations. + + + + New-CsTeamsVoiceApplicationsPolicy + + Identity + + Unique identifier assigned to the policy when it was created. + + String + + String + + + None + + + AllowAutoAttendantBusinessHoursGreetingChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's business hours greeting. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's business hours greeting. + + Boolean + + Boolean + + + False + + + AllowAutoAttendantAfterHoursGreetingChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's after-hours greeting. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's after-hours greeting. + + Boolean + + Boolean + + + False + + + AllowAutoAttendantHolidayGreetingChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's holiday greeting. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's holiday greeting. + + Boolean + + Boolean + + + False + + + AllowAutoAttendantBusinessHoursChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's business hours schedule. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's business hours schedule. + + Boolean + + Boolean + + + False + + + AllowAutoAttendantHolidaysChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's holiday schedules. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's holiday schedules. + + Boolean + + Boolean + + + False + + + AllowAutoAttendantTimeZoneChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's time zone. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's time zone. + + Boolean + + Boolean + + + False + + + AllowAutoAttendantLanguageChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's language. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's language. + + Boolean + + Boolean + + + False + + + AllowAutoAttendantBusinessHoursRoutingChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's business hours call flow. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's business hours call flow. + + Boolean + + Boolean + + + False + + + AllowAutoAttendantAfterHoursRoutingChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's after-hours call flow. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's after-hours call flow. + + Boolean + + Boolean + + + False + + + AllowAutoAttendantHolidayRoutingChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's holiday call flows. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's holiday call flows. + + Boolean + + Boolean + + + False + + + AllowCallQueueWelcomeGreetingChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's welcome greeting. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's welcome greeting. + + Boolean + + Boolean + + + False + + + AllowCallQueueMusicOnHoldChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's music on hold information. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's music on hold. + + Boolean + + Boolean + + + False + + + AllowCallQueueOverflowSharedVoicemailGreetingChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's overflow shared voicemail greeting. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's overflow shared voicemail greeting. + + Boolean + + Boolean + + + False + + + AllowCallQueueTimeoutSharedVoicemailGreetingChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's timeout shared voicemail greeting. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's timeout shared voicemail greeting. + + Boolean + + Boolean + + + False + + + AllowCallQueueNoAgentSharedVoicemailGreetingChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's no agent shared voicemail greeting. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's no agent shared voicemail greeting. + + Boolean + + Boolean + + + False + + + AllowCallQueueLanguageChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's language. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's language. + + Boolean + + Boolean + + + False + + + AllowCallQueueMembershipChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's users. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's users. + + Boolean + + Boolean + + + False + + + AllowCallQueueConferenceModeChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's conference mode. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's conference mode. + + Boolean + + Boolean + + + False + + + AllowCallQueueRoutingMethodChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's routing method. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's routing method. + + Boolean + + Boolean + + + False + + + AllowCallQueuePresenceBasedRoutingChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's presence-based routing option. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's presence-based routing option. + + Boolean + + Boolean + + + False + + + AllowCallQueueOptOutChange + + When set to `True`, users affected by the policy will be allowed to change the call queue opt-out setting that allows agents to opt out of receiving calls. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue opt-out setting. + + Boolean + + Boolean + + + False + + + AllowCallQueueOverflowRoutingChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's overflow handling properties. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's overflow handling properties. + + Boolean + + Boolean + + + False + + + AllowCallQueueTimeoutRoutingChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's timeout handling properties. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's timeout handling properties. + + Boolean + + Boolean + + + False + + + AllowCallQueueNoAgentsRoutingChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's no-agent handling properties. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's no-agent handling properties. + + Boolean + + Boolean + + + False + + + AllowCallQueueAgentOptChange + + When set to `True`, users affected by the policy will be allowed to change an agent's opt-in status in the call queue. When set to `False` (the default value), users affected by the policy won't be allowed to change an agent's opt-in status in the call queue. + + Boolean + + Boolean + + + False + + + CallQueueAgentMonitorMode + + PARAMVALUE: Disabled | Monitor | Whisper | Barge | Takeover + When set to `Disabled` (the default value), users affected by the policy won't be allowed to monitor call sessions. + When set to `Monitor`, users affected by the policy will be allowed to monitor and listen to call sessions. + When set to `Whisper`, users affected by the policy will be allowed to monitor call sessions and whisper to an agent in the call. + When set to `Barge`, users affected by the policy will be allowed to monitor call sessions, whisper to an agent in the call, or join the call session. + When set to `Takeover`, users affected by the policy will be allowed to monitor call sessions, whisper to an agent in the call, join the call session, or take over the call from an agent. + + Object + + Object + + + Disabled + + + CallQueueAgentMonitorNotificationMode + + PARAMVALUE: Disabled | Agent + When set to `Disabled` (the default value), users affected by the policy won't be allowed to monitor agents during call sessions. + When set to `Agent`, users affected by the policy will be allowed to monitor agents during call sessions. + + Object + + Object + + + Disabled + + + RealTimeAutoAttendantMetricsPermission + + PARAMVALUE: Disabled | AuthorizedOnly | All + When set to `Disabled` (the default value), users affected by the policy won't receive real-time metrics for auto attendants. + When set to `AuthorizedOnly`, users affected by the policy will receive real-time metrics for auto attendants they are authorized for. + When set to `All`, users affected by the policy will receive real-time metrics for all auto attendants in the organization. + + Object + + Object + + + None + + + RealTimeCallQueueMetricsPermission + + PARAMVALUE: Disabled | AuthorizedOnly | All + When set to `Disabled` (the default value), users affected by the policy won't receive real-time metrics for call queues. + When set to `AuthorizedOnly`, users affected by the policy will receive real-time metrics for call queues they are authorized for. + When set to `All`, users affected by the policy will receive real-time metrics for all call queues in the organization. + + Object + + Object + + + None + + + RealTimeAgentMetricsPermission + + PARAMVALUE: Disabled | AuthorizedOnly | All + When set to `Disabled` (the default value), users affected by the policy won't receive real-time metrics for agents. + When set to `AuthorizedOnly`, users affected by the policy will receive real-time metrics for agents who are members in the call queues they are authorized for. + When set to `All`, users affected by the policy will receive real-time metrics for all agents in all call queues in the organization. + + Object + + Object + + + None + + + HistoricalAutoAttendantMetricsPermission + + PARAMVALUE: Disabled | AuthorizedOnly | All + When set to `Disabled` (the default value), users affected by the policy won't receive historical metrics for auto attendants. + When set to `AuthorizedOnly`, users affected by the policy will receive historical metrics for auto attendants they are authorized for. + When set to `All`, users affected by the policy will receive historical metrics for all auto attendants in the organization. + + Object + + Object + + + None + + + HistoricalCallQueueMetricsPermission + + PARAMVALUE: Disabled | AuthorizedOnly | All + When set to `Disabled` (the default value), users affected by the policy won't receive historical metrics for call queues. + When set to `AuthorizedOnly`, users affected by the policy will receive historical metrics for call queues they are authorized for. + When set to `All`, users affected by the policy will receive historical metrics for all call queues in the organization. + + Object + + Object + + + None + + + HistoricalAgentMetricsPermission + + PARAMVALUE: Disabled | AuthorizedOnly | All + When set to `Disabled` (the default value), users affected by the policy won't receive historical metrics for agents. + When set to `AuthorizedOnly`, users affected by the policy will receive historical metrics for agents who are members in the call queues they are authorized for. + When set to `All`, users affected by the policy will receive historical metrics for all agents in all call queues in the organization. + + Object + + Object + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Identity + + Unique identifier assigned to the policy when it was created. + + String + + String + + + None + + + AllowAutoAttendantBusinessHoursGreetingChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's business hours greeting. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's business hours greeting. + + Boolean + + Boolean + + + False + + + AllowAutoAttendantAfterHoursGreetingChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's after-hours greeting. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's after-hours greeting. + + Boolean + + Boolean + + + False + + + AllowAutoAttendantHolidayGreetingChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's holiday greeting. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's holiday greeting. + + Boolean + + Boolean + + + False + + + AllowAutoAttendantBusinessHoursChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's business hours schedule. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's business hours schedule. + + Boolean + + Boolean + + + False + + + AllowAutoAttendantHolidaysChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's holiday schedules. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's holiday schedules. + + Boolean + + Boolean + + + False + + + AllowAutoAttendantTimeZoneChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's time zone. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's time zone. + + Boolean + + Boolean + + + False + + + AllowAutoAttendantLanguageChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's language. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's language. + + Boolean + + Boolean + + + False + + + AllowAutoAttendantBusinessHoursRoutingChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's business hours call flow. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's business hours call flow. + + Boolean + + Boolean + + + False + + + AllowAutoAttendantAfterHoursRoutingChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's after-hours call flow. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's after-hours call flow. + + Boolean + + Boolean + + + False + + + AllowAutoAttendantHolidayRoutingChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's holiday call flows. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's holiday call flows. + + Boolean + + Boolean + + + False + + + AllowCallQueueWelcomeGreetingChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's welcome greeting. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's welcome greeting. + + Boolean + + Boolean + + + False + + + AllowCallQueueMusicOnHoldChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's music on hold information. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's music on hold. + + Boolean + + Boolean + + + False + + + AllowCallQueueOverflowSharedVoicemailGreetingChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's overflow shared voicemail greeting. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's overflow shared voicemail greeting. + + Boolean + + Boolean + + + False + + + AllowCallQueueTimeoutSharedVoicemailGreetingChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's timeout shared voicemail greeting. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's timeout shared voicemail greeting. + + Boolean + + Boolean + + + False + + + AllowCallQueueNoAgentSharedVoicemailGreetingChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's no agent shared voicemail greeting. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's no agent shared voicemail greeting. + + Boolean + + Boolean + + + False + + + AllowCallQueueLanguageChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's language. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's language. + + Boolean + + Boolean + + + False + + + AllowCallQueueMembershipChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's users. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's users. + + Boolean + + Boolean + + + False + + + AllowCallQueueConferenceModeChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's conference mode. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's conference mode. + + Boolean + + Boolean + + + False + + + AllowCallQueueRoutingMethodChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's routing method. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's routing method. + + Boolean + + Boolean + + + False + + + AllowCallQueuePresenceBasedRoutingChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's presence-based routing option. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's presence-based routing option. + + Boolean + + Boolean + + + False + + + AllowCallQueueOptOutChange + + When set to `True`, users affected by the policy will be allowed to change the call queue opt-out setting that allows agents to opt out of receiving calls. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue opt-out setting. + + Boolean + + Boolean + + + False + + + AllowCallQueueOverflowRoutingChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's overflow handling properties. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's overflow handling properties. + + Boolean + + Boolean + + + False + + + AllowCallQueueTimeoutRoutingChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's timeout handling properties. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's timeout handling properties. + + Boolean + + Boolean + + + False + + + AllowCallQueueNoAgentsRoutingChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's no-agent handling properties. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's no-agent handling properties. + + Boolean + + Boolean + + + False + + + AllowCallQueueAgentOptChange + + When set to `True`, users affected by the policy will be allowed to change an agent's opt-in status in the call queue. When set to `False` (the default value), users affected by the policy won't be allowed to change an agent's opt-in status in the call queue. + + Boolean + + Boolean + + + False + + + CallQueueAgentMonitorMode + + PARAMVALUE: Disabled | Monitor | Whisper | Barge | Takeover + When set to `Disabled` (the default value), users affected by the policy won't be allowed to monitor call sessions. + When set to `Monitor`, users affected by the policy will be allowed to monitor and listen to call sessions. + When set to `Whisper`, users affected by the policy will be allowed to monitor call sessions and whisper to an agent in the call. + When set to `Barge`, users affected by the policy will be allowed to monitor call sessions, whisper to an agent in the call, or join the call session. + When set to `Takeover`, users affected by the policy will be allowed to monitor call sessions, whisper to an agent in the call, join the call session, or take over the call from an agent. + + Object + + Object + + + Disabled + + + CallQueueAgentMonitorNotificationMode + + PARAMVALUE: Disabled | Agent + When set to `Disabled` (the default value), users affected by the policy won't be allowed to monitor agents during call sessions. + When set to `Agent`, users affected by the policy will be allowed to monitor agents during call sessions. + + Object + + Object + + + Disabled + + + RealTimeAutoAttendantMetricsPermission + + PARAMVALUE: Disabled | AuthorizedOnly | All + When set to `Disabled` (the default value), users affected by the policy won't receive real-time metrics for auto attendants. + When set to `AuthorizedOnly`, users affected by the policy will receive real-time metrics for auto attendants they are authorized for. + When set to `All`, users affected by the policy will receive real-time metrics for all auto attendants in the organization. + + Object + + Object + + + None + + + RealTimeCallQueueMetricsPermission + + PARAMVALUE: Disabled | AuthorizedOnly | All + When set to `Disabled` (the default value), users affected by the policy won't receive real-time metrics for call queues. + When set to `AuthorizedOnly`, users affected by the policy will receive real-time metrics for call queues they are authorized for. + When set to `All`, users affected by the policy will receive real-time metrics for all call queues in the organization. + + Object + + Object + + + None + + + RealTimeAgentMetricsPermission + + PARAMVALUE: Disabled | AuthorizedOnly | All + When set to `Disabled` (the default value), users affected by the policy won't receive real-time metrics for agents. + When set to `AuthorizedOnly`, users affected by the policy will receive real-time metrics for agents who are members in the call queues they are authorized for. + When set to `All`, users affected by the policy will receive real-time metrics for all agents in all call queues in the organization. + + Object + + Object + + + None + + + HistoricalAutoAttendantMetricsPermission + + PARAMVALUE: Disabled | AuthorizedOnly | All + When set to `Disabled` (the default value), users affected by the policy won't receive historical metrics for auto attendants. + When set to `AuthorizedOnly`, users affected by the policy will receive historical metrics for auto attendants they are authorized for. + When set to `All`, users affected by the policy will receive historical metrics for all auto attendants in the organization. + + Object + + Object + + + None + + + HistoricalCallQueueMetricsPermission + + PARAMVALUE: Disabled | AuthorizedOnly | All + When set to `Disabled` (the default value), users affected by the policy won't receive historical metrics for call queues. + When set to `AuthorizedOnly`, users affected by the policy will receive historical metrics for call queues they are authorized for. + When set to `All`, users affected by the policy will receive historical metrics for all call queues in the organization. + + Object + + Object + + + None + + + HistoricalAgentMetricsPermission + + PARAMVALUE: Disabled | AuthorizedOnly | All + When set to `Disabled` (the default value), users affected by the policy won't receive historical metrics for agents. + When set to `AuthorizedOnly`, users affected by the policy will receive historical metrics for agents who are members in the call queues they are authorized for. + When set to `All`, users affected by the policy will receive historical metrics for all agents in all call queues in the organization. + + Object + + Object + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- EXAMPLE 1 -------------------------- + New-CsTeamsVoiceApplicationsPolicy -Identity SDA-Allow-CQ-Moh -AllowCallQueueMusicOnHoldChange $true + + The command shown in Example 1 creates a new per-user Teams voice applications policy with the Identity `SDA-Allow-Moh`. This policy allows delegated administrators to change the music on hold information. + + + + -------------------------- EXAMPLE 2 -------------------------- + New-CsTeamsVoiceApplicationsPolicy -Identity SDA-Allow-AA-After-Hour -AllowAutoAttendantAfterHoursGreetingChange $true + + The command shown in Example 2 creates a new per-user Teams voice applications policy with the Identity `SDA-Allow-AA-After-Hour`. This policy allows delegated administrators to change after-hours greetings for auto attendants. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csteamsvoiceapplicationspolicy + + + Get-CsTeamsVoiceApplicationsPolicy + + + + Grant-CsTeamsVoiceApplicationsPolicy + + + + Remove-CsTeamsVoiceApplicationsPolicy + + + + Set-CsTeamsVoiceApplicationsPolicy + + + + + + + New-CsTeamsWorkLocationDetectionPolicy + New + CsTeamsWorkLocationDetectionPolicy + + This cmdlet is used to create a new instance of the TeamsWorkLocationDetectionPolicy. + + + + Creates a new instance of the TeamsWorkLocationDetectionPolicy. This policy can be used to tailor the work location detection experience. The parameter `EnableWorkLocationDetection` allows your organization to collect the work location of users when they connect, interact, or are detected near your organization's networks and devices. It also captures the geographic location information users share from personal and mobile devices. This gives users the ability to consent to the use of this location data to set their current work location.Microsoft collects this information to provide users with a consistent location-based experience and to improve the hybrid work experience in Microsoft 365 according to the Microsoft Privacy Statement (https://go.microsoft.com/fwlink/?LinkId=521839). + + + + New-CsTeamsWorkLocationDetectionPolicy + + Identity + + Name of the new policy instance to be created. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + EnableWorkLocationDetection + + This setting allows your organization to collect the work location of users when they connect, interact, or are detected near your organization's networks and devices. It also captures the geographic location information users share from personal and mobile devices. This gives users the ability to consent to the use of this location data to set their current work location.Microsoft collects this information to provide users with a consistent location-based experience and to improve the hybrid work experience in Microsoft 365 according to the Microsoft Privacy Statement (https://go.microsoft.com/fwlink/?LinkId=521839). + + Boolean + + Boolean + + + None + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + EnableWorkLocationDetection + + This setting allows your organization to collect the work location of users when they connect, interact, or are detected near your organization's networks and devices. It also captures the geographic location information users share from personal and mobile devices. This gives users the ability to consent to the use of this location data to set their current work location.Microsoft collects this information to provide users with a consistent location-based experience and to improve the hybrid work experience in Microsoft 365 according to the Microsoft Privacy Statement (https://go.microsoft.com/fwlink/?LinkId=521839). + + Boolean + + Boolean + + + None + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Name of the new policy instance to be created. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.String + + + + + + + + + + TeamsWorkLocationDetectionPolicy.Cmdlets.TeamsWorkLocationDetectionPolicy + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> New-CsTeamsWorkLocationDetectionPolicy -Identity wld-enabled -EnableWorkLocationDetection $true + +Identity EnableWorkLocationDetection +-------- ---------------------- +Tag:wld-enabled True + + Creates a new policy instance with the identity wld-enabled. `EnableWorkLocationDetection` is set to the value specified in the command. + + + + -------------------------- Example 2 -------------------------- + PS C:\> New-CsTeamsWorkLocationDetectionPolicy -Identity wld-disable + +Identity EnableWorkLocationDetection +-------- ---------------------- +Tag:wld-disable False + + Creates a new policy instance with the identity wld-disable. `EnableWorkLocationDetection` will default to false if it is not specified. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csteamsworklocationdetectionpolicy + + + Get-CsTeamsWorkLocationDetectionPolicy + + + + Remove-CsTeamsWorkLocationDetectionPolicy + + + + Set-CsTeamsWorkLocationDetectionPolicy + + + + Grant-CsTeamsWorkLocationDetectionPolicy + + + + + + + Remove-CsExternalAccessPolicy + Remove + CsExternalAccessPolicy + + Enables you to remove an existing external access policy. External access policies determine whether or not your users can: 1) Communicate with users who have Session Initiation Protocol (SIP) accounts with a federated organization; 2) Communicate with users who have SIP accounts with a public instant messaging (IM) provider such as Windows Live; 3) Communicate with users who are using custom applications built with Azure Communication Services (ACS) (/azure/communication-services/concepts/teams-interop) and 4)Access Skype for Business Server over the Internet, without having to log on to your internal network. This cmdlet was introduced in Lync Server 2010. + + + + When you install Skype for Business Server your users are only allowed to exchange instant messages and presence information among themselves: by default, they can only communicate with other people who have SIP accounts in your Active Directory Domain Services. In addition, users are not allowed to access Skype for Business Server over the Internet; instead, they must be logged on to your internal network before they will be able to log on to Skype for Business Server. + 1. That might be sufficient to meet your communication needs. If it doesn't meet your needs you can use external access policies to extend the ability of your users to communicate and collaborate. External access policies can grant (or revoke) the ability of your users to do any or all of the following: + 2. Communicate with people who have SIP accounts with a federated organization. Note that enabling federation alone will not provide users with this capability. Instead, you must enable federation and then assign users an external access policy that gives them the right to communicate with federated users. + 3. (Microsoft Teams only) Communicate with users who are using custom applications built with Azure Communication Services (ACS) (/azure/communication-services/concepts/teams-interop). This policy setting only applies if ACS federation has been enabled at the tenant level using the cmdlet [Set-CsTeamsAcsFederationConfiguration](/powershell/module/teams/set-csteamsacsfederationconfiguration). + 4. Communicate with people who have SIP accounts with a public instant messaging service such as Windows Live. + Access Skype for Business Server over the Internet, without having to first log on to your internal network. This enables your users to use Skype for Business and log on to Skype for Business Server from an Internet café or other remote location. + When you install Skype for Business Server, a global external access policy is automatically created for you. In addition to the global policy, you can use the `New-CsExternalAccessPolicy` cmdlet to create external access policies configured at the site or per-user scopes. + The `Remove-CsExternalAccessPolicy` cmdlet enables you to delete any policies that were created by using the `New-CsExternalAccessPolicy` cmdlet; that means you can delete any policies assigned to the site scope or the per-user scope. You can also run the `Remove-CsExternalAccessPolicy` cmdlet against the global external access policy. In that case, however, the global policies will not be deleted; by design, global policies cannot be deleted. Instead, the properties of the global policy will simply be reset to their default values. + + + + Remove-CsExternalAccessPolicy + + Identity + + Unique identifier for the external access policy to be removed. External access policies can be configured at the global, site, or per-user scopes. To "remove" the global policy, use this syntax: `-Identity global`. (Note that the global policy cannot actually be removed. Instead, all the properties in the global policy will be reset to their default values.) To remove a site policy, use syntax similar to this: `-Identity site:Redmond`. To remove a per-user policy, use syntax similar to this: `-Identity SalesAccessPolicy`. + Note that wildcards are not allowed when specifying an Identity. + + XdsIdentity + + XdsIdentity + + + None + + + Force + + Suppresses the display of any non-fatal error message that might occur when running the command. + + + SwitchParameter + + + False + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before executing the command. + + + SwitchParameter + + + False + + + Tenant + + Globally unique identifier (GUID) of the Skype for Business Online tenant account for whom the external access policy is being removed. For example: + `-Tenant "38aad667-af54-4397-aaa7-e94c79ec2308"` + You can return the tenant ID for each of your Skype for Business Online tenants by running this command: + `Get-CsTenant | Select-Object DisplayName, TenantID` + + Guid + + Guid + + + None + + + + + + Identity + + Unique identifier for the external access policy to be removed. External access policies can be configured at the global, site, or per-user scopes. To "remove" the global policy, use this syntax: `-Identity global`. (Note that the global policy cannot actually be removed. Instead, all the properties in the global policy will be reset to their default values.) To remove a site policy, use syntax similar to this: `-Identity site:Redmond`. To remove a per-user policy, use syntax similar to this: `-Identity SalesAccessPolicy`. + Note that wildcards are not allowed when specifying an Identity. + + XdsIdentity + + XdsIdentity + + + None + + + Force + + Suppresses the display of any non-fatal error message that might occur when running the command. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + Globally unique identifier (GUID) of the Skype for Business Online tenant account for whom the external access policy is being removed. For example: + `-Tenant "38aad667-af54-4397-aaa7-e94c79ec2308"` + You can return the tenant ID for each of your Skype for Business Online tenants by running this command: + `Get-CsTenant | Select-Object DisplayName, TenantID` + + Guid + + Guid + + + None + + + + + + + + + Microsoft.Rtc.Management.WritableConfig.Policy.ExternalAccess.ExternalAccessPolicy object. The `Remove-CsExternalAccessPolicy` cmdlet accepts pipelined input of the external access policy object. + + + + + + + + + + None. Instead, the `Remove-CsExternalAccessPolicy` cmdlet does not return a value or object. Instead, the cmdlet deletes instances of the Microsoft.Rtc.Management.WritableConfig.Policy.ExternalAccess.ExternalAccessPolicy object. + + + + + + + + + + + -------------------------- Example 1 ------------------------ + Remove-CsExternalAccessPolicy -Identity site:Redmond + + In Example 1, the external access policy with the Identity site:Redmond is deleted. After the policy is removed, users in the Redmond site will have their external access permissions governed by the global policy. + + + + -------------------------- Example 2 ------------------------ + Get-CsExternalAccessPolicy -Filter site:* | Remove-CsExternalAccessPolicy + + Example 2 deletes all the external access policies that have been configured at the site scope. To carry out this task, the command first uses the `Get-CsExternalAccessPolicy` cmdlet and the Filter parameter to return a collection of policies configured at the site scope; the filter value "site:*" limits the returned data to external access policies that have an Identity that begins with the string value "site:". The filtered collection is then piped to the `Remove-CsExternalAccessPolicy` cmdlet, which deletes each policy in the collection. + + + + -------------------------- Example 3 ------------------------ + Get-CsExternalAccessPolicy | Where-Object {$_.EnableFederationAccess -eq $True} | Remove-CsExternalAccessPolicy + + In Example 3, all the external access policies that allow federation access are deleted. To do this, the command first calls the `Get-CsExternalAccessPolicy` cmdlet to return a collection of all the external access policies configured for use in the organization. This collection is then piped to the `Where-Object` cmdlet, which picks out only those policies where the EnableFederationAccess property is equal to True. This filtered collection is then piped to the `Remove-CsExternalAccessPolicy` cmdlet, which deletes each policy in the collection. + + + + -------------------------- Example 4 ------------------------ + Get-CsExternalAccessPolicy | Where-Object {$_.EnableFederationAccess -eq $True -or $_.EnablePublicCloudAccess -eq $True} | Remove-CsExternalAccessPolicy + + Example 4 deletes all the external access policies that meet at least one of two criteria: federation access is allowed, public cloud access is allowed, or both are allowed. To carry out this task, the command first uses the `Get-CsExternalAccessPolicy` cmdlet to return a collection of all the external access policies configured for use in the organization. This collection is then piped to the `Where-Object` cmdlet, which selects only those policies that meet the following criteria: either EnableFederationAccess is equal to True and/or EnablePublicCloudAccess is equal to True. Policies meeting one (or both) of those criteria are then piped to and removed by, the `Remove-CsExternalAccessPolicy` cmdlet. + To delete all the policies where both EnableFederationAccess and EnablePublicCloudAccess are True use the -and operator when calling the `Where-Object` cmdlet: + `Where-Object {$ .EnableFederationAccess -eq $True -and $ .EnablePublicCloudAccess -eq $True}` + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csexternalaccesspolicy + + + Get-CsExternalAccessPolicy + + + + Grant-CsExternalAccessPolicy + + + + New-CsExternalAccessPolicy + + + + Set-CsExternalAccessPolicy + + + + + + + Remove-CsOnlineVoicemailPolicy + Remove + CsOnlineVoicemailPolicy + + Deletes an existing Online Voicemail policy or resets the Global policy instance to the default values. + + + + Deletes an existing Online Voicemail policy or resets the Global policy instance to the default values. + + + + Remove-CsOnlineVoicemailPolicy + + Identity + + A unique identifier specifying the scope, and in some cases the name, of the policy. + + String + + String + + + None + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before executing the command. + + + SwitchParameter + + + False + + + + + + Identity + + A unique identifier specifying the scope, and in some cases the name, of the policy. + + String + + String + + + None + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + You are not able to delete the pre-configured policy instances Default, TranscriptionProfanityMaskingEnabled and TranscriptionDisabled + + + + + -------------------------- Example 1 -------------------------- + Remove-CsOnlineVoicemailPolicy -Identity "CustomOnlineVoicemailPolicy" + + The command shown in Example 1 deletes a per-user online voicemail policy CustomOnlineVoicemailPolicy. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csonlinevoicemailpolicy + + + Get-CsOnlineVoicemailPolicy + + + + Set-CsOnlineVoicemailPolicy + + + + New-CsOnlineVoicemailPolicy + + + + Grant-CsOnlineVoicemailPolicy + + + + + + + Remove-CsTeamsAppPermissionPolicy + Remove + CsTeamsAppPermissionPolicy + + NOTE : You can use this cmdlet to remove a specific custom policy from a user. We require that all creation and modification of app permission polices (not including the assignment or removal of policies from users) happens in the Microsoft Teams & Skype for Business Admin Center to ensure that the policy matches your expectations for the end user experience. This cmdlet is not supported for tenants that migrated to app centric management feature as it replaced permission policies. While the cmdlet may succeed, the changes aren't applied to the tenant. + As an admin, you can use app permission policies to allow or block apps for your users. Learn more about the app permission policies at <https://learn.microsoft.com/microsoftteams/teams-app-permission-policies> and about app centric management at <https://learn.microsoft.com/microsoftteams/app-centric-management>. + This cmdlet allows you to remove app permission policies that have been created within your organization. If you run `Remove-CsTeamsAppPermissionPolicy` on the Global policy, it will be reset to the defaults provided for new organizations. + + + + NOTE : You can use this cmdlet to remove a specific custom policy from a user. We require that all creation and modification of app permission polices (not including the assignment or removal of policies from users) happens in the Microsoft Teams & Skype for Business Admin Center to ensure that the policy matches your expectations for the end user experience. + As an admin, you can use app permission policies to enable or block specific apps for your users. Learn more about the App Permission Policies: <https://learn.microsoft.com/microsoftteams/teams-app-permission-policies>. + This cmdlet allows you to remove app permission policies that have been created within your organization. If you run Remove-CsTeamsAppPermissionPolicy on the Global policy, it will be reset to the defaults provided for new organizations. + + + + Remove-CsTeamsAppPermissionPolicy + + Identity + + Unique identifier for the policy to be removed. To "remove" the global policy, use the following syntax: `-Identity global`. (Note that the global policy cannot actually be removed. Instead, all the properties in that policy will be reset to their default values.) To remove a per-user policy, use syntax similar to this: `-Identity "SalesDepartmentPolicy"`. You cannot use wildcards when specifying a policy Identity. + + XdsIdentity + + XdsIdentity + + + None + + + Force + + Suppresses all non-fatal errors. + + + SwitchParameter + + + False + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before executing the command. + + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use only. + + Guid + + Guid + + + None + + + + + + Identity + + Unique identifier for the policy to be removed. To "remove" the global policy, use the following syntax: `-Identity global`. (Note that the global policy cannot actually be removed. Instead, all the properties in that policy will be reset to their default values.) To remove a per-user policy, use syntax similar to this: `-Identity "SalesDepartmentPolicy"`. You cannot use wildcards when specifying a policy Identity. + + XdsIdentity + + XdsIdentity + + + None + + + Force + + Suppresses all non-fatal errors. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use only. + + Guid + + Guid + + + None + + + + + + Microsoft.Rtc.Management.Xds.XdsIdentity + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Remove-CsTeamsAppPermissionPolicy -Identity SalesPolicy + + Deletes a custom policy that has already been created in the organization. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csteamsapppermissionpolicy + + + + + + Remove-CsTeamsAppSetupPolicy + Remove + CsTeamsAppSetupPolicy + + NOTE : You can use this cmdlet to remove custom app setup policies. We require that all creation and modification of app setup polices (not including the assignment or removal of policies from users) happens in the Microsoft Teams & Skype for Business Admin Center to ensure that the policy matches your expectations for the end user experience. + As an admin, you can use app setup policies to customize Microsoft Teams to highlight the apps that are most important for your users. You choose the apps to pin and set the order that they appear. App setup policies let you showcase apps that users in your organization need, including ones built by third parties or by developers in your organization. You can also use app setup policies to manage how built-in features appear. + Apps are pinned to the app bar. This is the bar on the side of the Teams desktop client and at the bottom of the Teams mobile clients (iOS and Android). Learn more about the App Setup Policies: <https://learn.microsoft.com/MicrosoftTeams/teams-app-setup-policies>. + If you run Remove-CsTeamsAppSetupPolicy on the Global policy, it will be reset to the defaults provided for new organizations. + + + + NOTE : You can use this cmdlet to remove custom app setup policies. We require that all creation and modification of app setup polices (not including the assignment or removal of policies from users) happens in the Microsoft Teams & Skype for Business Admin Center to ensure that the policy matches your expectations for the end user experience. + As an admin, you can use app setup policies to customize Microsoft Teams to highlight the apps that are most important for your users. You choose the apps to pin and set the order that they appear. App setup policies let you showcase apps that users in your organization need, including ones built by third parties or by developers in your organization. You can also use app setup policies to manage how built-in features appear. + Apps are pinned to the app bar. This is the bar on the side of the Teams desktop client and at the bottom of the Teams mobile clients (iOS and Android). Learn more about the App Setup Policies: <https://learn.microsoft.com/MicrosoftTeams/teams-app-setup-policies>. + If you run Remove-CsTeamsAppSetupPolicy on the Global policy, it will be reset to the defaults provided for new organizations. + + + + Remove-CsTeamsAppSetupPolicy + + Identity + + Unique identifier for the policy to be removed. To "remove" the global policy, use the following syntax: `-Identity global`. (Note that the global policy cannot actually be removed. Instead, all the properties in that policy will be reset to their default values.) To remove a per-user policy, use syntax similar to this: `-Identity "SalesDepartmentPolicy"`. You cannot use wildcards when specifying a policy Identity. + + XdsIdentity + + XdsIdentity + + + None + + + Force + + Suppresses all non-fatal errors. + + + SwitchParameter + + + False + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before executing the command. + + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use only. + + Guid + + Guid + + + None + + + + + + Identity + + Unique identifier for the policy to be removed. To "remove" the global policy, use the following syntax: `-Identity global`. (Note that the global policy cannot actually be removed. Instead, all the properties in that policy will be reset to their default values.) To remove a per-user policy, use syntax similar to this: `-Identity "SalesDepartmentPolicy"`. You cannot use wildcards when specifying a policy Identity. + + XdsIdentity + + XdsIdentity + + + None + + + Force + + Suppresses all non-fatal errors. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use only. + + Guid + + Guid + + + None + + + + + + Microsoft.Rtc.Management.Xds.XdsIdentity + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Remove-CsTeamsAppSetupPolicy -Identity SalesPolicy + + Deletes a custom policy that has already been created in the organization. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csteamsappsetuppolicy + + + + + + Remove-CsTeamsCallHoldPolicy + Remove + CsTeamsCallHoldPolicy + + Deletes an existing Teams call hold policy in your tenant. The Teams call hold policy is used to customize the call hold experience for Teams clients. + + + + Teams call hold policies are used to customize the call hold experience for teams clients. When Microsoft Teams users participate in calls, they have the ability to hold a call and have the other entity in the call listen to an audio file during the duration of the hold. + Assigning a Teams call hold policy to a user sets an audio file to be played during the duration of the hold. + + + + Remove-CsTeamsCallHoldPolicy + + Identity + + Unique identifier of the Teams call hold policy to be removed. + + String + + String + + + None + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Identity + + Unique identifier of the Teams call hold policy to be removed. + + String + + String + + + None + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Remove-CsTeamsCallHoldPolicy -Identity 'ContosoPartnerTeamsCallHoldPolicy' + + The command shown in Example 1 deletes the Teams call hold policy ContosoPartnerTeamsCallHoldPolicy. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Get-CsTeamsCallHoldPolicy -Filter 'Tag:*' | Remove-CsTeamsCallHoldPolicy + + In Example 2, all the Teams call hold policies configured at the per-user scope are removed. The Filter value "Tag:*" limits the returned data to Teams call hold policies configured at the per-user scope. Those per-user policies are then removed. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csteamscallholdpolicy + + + New-CsTeamsCallHoldPolicy + + + + Get-CsTeamsCallHoldPolicy + + + + Set-CsTeamsCallHoldPolicy + + + + Grant-CsTeamsCallHoldPolicy + + + + + + + Remove-CsTeamsCallingPolicy + Remove + CsTeamsCallingPolicy + + + + + + This cmdlet removes an existing Teams Calling Policy instance or resets the Global policy instance to the default values. + + + + Remove-CsTeamsCallingPolicy + + Identity + + The Identity parameter is the unique identifier of the Teams Calling Policy instance to remove or reset. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Identity + + The Identity parameter is the unique identifier of the Teams Calling Policy instance to remove or reset. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:> Remove-CsTeamsCallingPolicy -Identity Sales + + This example removes the Teams Calling Policy with identity Sales + + + + -------------------------- Example 2 -------------------------- + PS C:> Remove-CsTeamsCallingPolicy -Identity Global + + This example resets the Global Policy instance to the default values. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csteamscallingpolicy + + + Set-CsTeamsCallingPolicy + + + + Get-CsTeamsCallingPolicy + + + + Grant-CsTeamsCallingPolicy + + + + New-CsTeamsCallingPolicy + + + + + + + Remove-CsTeamsChannelsPolicy + Remove + CsTeamsChannelsPolicy + + The CsTeamsChannelsPolicy allows you to manage features related to the Teams & Channels experience within the Teams application. + + + + The CsTeamsChannelsPolicy allows you to manage features related to the Teams & Channels experience within the Teams application. The Remove-CsTeamsChannelsPolicy cmdlet lets you delete a custom policy that has been configured in your organization. + If you run Remove-CsTeamsChannelsPolicy on the Global policy, it will be reset to the defaults provided for new organizations. + + + + Remove-CsTeamsChannelsPolicy + + Identity + + The name of the policy to be removed. Wildcards are not supported. + To remove a custom policy, use syntax similar to this: `-Identity "Student Policy"`. + To "remove" the global policy, use the following syntax: `-Identity Global`. You can't actually remove the global policy. Instead, all properties will be reset to their default values as shown in the default policy (`Tag:Default`). + + XdsIdentity + + XdsIdentity + + + None + + + Confirm + + Prompts you for confirmation before executing the command. + + + SwitchParameter + + + False + + + Force + + Suppresses all non-fatal errors. + + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use only. + + Guid + + Guid + + + None + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + + SwitchParameter + + + False + + + + + + Identity + + The name of the policy to be removed. Wildcards are not supported. + To remove a custom policy, use syntax similar to this: `-Identity "Student Policy"`. + To "remove" the global policy, use the following syntax: `-Identity Global`. You can't actually remove the global policy. Instead, all properties will be reset to their default values as shown in the default policy (`Tag:Default`). + + XdsIdentity + + XdsIdentity + + + None + + + Confirm + + Prompts you for confirmation before executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + Suppresses all non-fatal errors. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use only. + + Guid + + Guid + + + None + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + + + + Microsoft.Rtc.Management.Xds.XdsIdentity + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Remove-CsTeamsChannelsPolicy -Identity SalesPolicy + + Deletes a custom policy that has already been created in the organization. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csteamschannelspolicy + + + + + + Remove-CsTeamsComplianceRecordingApplication + Remove + CsTeamsComplianceRecordingApplication + + Deletes an existing association between an application instance of a policy-based recording application and a Teams recording policy for administering automatic policy-based recording in your tenant. Automatic policy-based recording is only applicable to Microsoft Teams users. + + + + Policy-based recording applications are used in automatic policy-based recording scenarios. When Microsoft Teams users participate in meetings or make or receive calls, the policy-based recording applications i.e. bots associated with the user's Teams recording policy are invited into the call or meeting to enforce compliance with the administrative set policy. + Instances of these applications are created using CsOnlineApplicationInstance cmdlets and are then associated with Teams recording policies. + Note that application instances of policy-based recording applications must be associated with a Teams recording policy using the CsTeamsComplianceRecordingApplication cmdlets. Once the association is done, the Identity of these application instances becomes <Identity of the associated Teams recording policy>/<ObjectId of the application instance>. For example, the Identity of an application instance can be \"Tag:ContosoPartnerComplianceRecordingPolicy/39dc3ede-c80e-4f19-9153-417a65a1f144\", which indicates that the application instance with ObjectId 39dc3ede-c80e-4f19-9153-417a65a1f144 is associated with the Teams recording policy with Identity ContosoPartnerComplianceRecordingPolicy. + Please work with your Microsoft certified policy-based recording application provider to obtain an instance of their recording application. Please refer to the documentation of the CsOnlineApplicationInstance cmdlets for information on how to create an application instance of a policy-based recording application. Please also refer to the documentation of CsTeamsComplianceRecordingPolicy cmdlets for further information. + + + + Remove-CsTeamsComplianceRecordingApplication + + Identity + + A name that uniquely identifies the application instance of the policy-based recording application. + Application instances of policy-based recording applications must be associated with a Teams recording policy using the CsTeamsComplianceRecordingApplication cmdlets. To do this association correctly, the Identity of these application instances must be <Identity of the associated Teams recording policy>/<ObjectId of the application instance>. For example, the Identity of an application instance can be \"Tag:ContosoPartnerComplianceRecordingPolicy/39dc3ede-c80e-4f19-9153-417a65a1f144\", which indicates that the application instance with ObjectId 39dc3ede-c80e-4f19-9153-417a65a1f144 is associated with the Teams compliance recording policy with Identity ContosoPartnerComplianceRecordingPolicy. + + XdsIdentity + + XdsIdentity + + + None + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose Teams recording policies are being queried. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + System.Guid + + System.Guid + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Identity + + A name that uniquely identifies the application instance of the policy-based recording application. + Application instances of policy-based recording applications must be associated with a Teams recording policy using the CsTeamsComplianceRecordingApplication cmdlets. To do this association correctly, the Identity of these application instances must be <Identity of the associated Teams recording policy>/<ObjectId of the application instance>. For example, the Identity of an application instance can be \"Tag:ContosoPartnerComplianceRecordingPolicy/39dc3ede-c80e-4f19-9153-417a65a1f144\", which indicates that the application instance with ObjectId 39dc3ede-c80e-4f19-9153-417a65a1f144 is associated with the Teams compliance recording policy with Identity ContosoPartnerComplianceRecordingPolicy. + + XdsIdentity + + XdsIdentity + + + None + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose Teams recording policies are being queried. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + System.Guid + + System.Guid + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + Microsoft.Rtc.Management.Xds.XdsIdentity + + + + + + + + + + System.Object + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Remove-CsTeamsComplianceRecordingApplication -Identity 'Tag:ContosoPartnerComplianceRecordingPolicy/d93fefc7-93cc-4d44-9a5d-344b0fff2899' + + The command shown in Example 1 deletes an existing association between an application instance of a policy-based recording application with ObjectId d93fefc7-93cc-4d44-9a5d-344b0fff2899 and a Teams recording policy with the Identity ContosoPartnerComplianceRecordingPolicy. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Get-CsTeamsComplianceRecordingApplication | Remove-CsTeamsComplianceRecordingApplication + + The command shown in Example 2 deletes all existing associations between application instances of policy-based recording applications and their corresponding Teams compliance recording policy. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csteamscompliancerecordingapplication + + + Get-CsTeamsComplianceRecordingPolicy + + + + New-CsTeamsComplianceRecordingPolicy + + + + Set-CsTeamsComplianceRecordingPolicy + + + + Grant-CsTeamsComplianceRecordingPolicy + + + + Remove-CsTeamsComplianceRecordingPolicy + + + + Get-CsTeamsComplianceRecordingApplication + + + + New-CsTeamsComplianceRecordingApplication + + + + Set-CsTeamsComplianceRecordingApplication + + + + New-CsTeamsComplianceRecordingPairedApplication + + + + + + + Remove-CsTeamsComplianceRecordingPolicy + Remove + CsTeamsComplianceRecordingPolicy + + Deletes an existing Teams recording policy that is used to govern automatic policy-based recording in your tenant. Automatic policy-based recording is only applicable to Microsoft Teams users. + + + + Teams recording policies are used in automatic policy-based recording scenarios. When Microsoft Teams users participate in meetings or make or receive calls, the policy-based recording applications i.e. bots associated with the user's Teams recording policy are invited into the call or meeting to record audio, video and video-based screen sharing activity. + Note that simply assigning a Teams recording policy to a Microsoft Teams user will not activate automatic policy-based recording for all Microsoft Teams calls and meetings that the user participates in. Among other things, you will need to create an application instance of a policy-based recording application i.e. a bot in your tenant and will then need to assign an appropriate policy to the user. + Please work with your Microsoft certified policy-based recording application provider to obtain an instance of their recording application. Please refer to the documentation of the CsOnlineApplicationInstance cmdlets for information on how to create an application instance of a policy-based recording application. + Assigning your Microsoft Teams users a Teams recording policy activates automatic policy-based recording for all new Microsoft Teams calls and meetings that the users participate in. The system will load the recording application and join it to appropriate calls and meetings in order for it to enforce compliance with the administrative set policy. Existing calls and meetings are unaffected. + + + + Remove-CsTeamsComplianceRecordingPolicy + + Identity + + Unique identifier to be assigned to the new Teams recording policy. + Use the "Global" Identity if you wish to assign this policy to the entire tenant. + + XdsIdentity + + XdsIdentity + + + None + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose Teams recording policies are being queried. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + System.Guid + + System.Guid + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Identity + + Unique identifier to be assigned to the new Teams recording policy. + Use the "Global" Identity if you wish to assign this policy to the entire tenant. + + XdsIdentity + + XdsIdentity + + + None + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose Teams recording policies are being queried. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + System.Guid + + System.Guid + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + Microsoft.Rtc.Management.Xds.XdsIdentity + + + + + + + + + + System.Object + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Remove-CsTeamsComplianceRecordingPolicy -Identity 'ContosoPartnerComplianceRecordingPolicy' + + The command shown in Example 1 deletes the Teams recording policy ContosoPartnerComplianceRecordingPolicy. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Get-CsTeamsComplianceRecordingPolicy -Filter 'Tag:*' | Remove-CsTeamsComplianceRecordingPolicy + + In Example 2, all the Teams recording policies configured at the per-user scope are removed. The Filter value "Tag:*" limits the returned data to Teams recording policies configured at the per-user scope. Those per-user policies are then removed. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csteamscompliancerecordingpolicy + + + Get-CsTeamsComplianceRecordingPolicy + + + + New-CsTeamsComplianceRecordingPolicy + + + + Set-CsTeamsComplianceRecordingPolicy + + + + Grant-CsTeamsComplianceRecordingPolicy + + + + Get-CsTeamsComplianceRecordingApplication + + + + New-CsTeamsComplianceRecordingApplication + + + + Set-CsTeamsComplianceRecordingApplication + + + + Remove-CsTeamsComplianceRecordingApplication + + + + New-CsTeamsComplianceRecordingPairedApplication + + + + + + + Remove-CsTeamsCustomBannerText + Remove + CsTeamsCustomBannerText + + Enables administrators to remove a custom banner text configuration that is displayed when compliance recording bots start recording the call. + + + + Removes a single instance of custom banner text. + + + + Remove-CsTeamsCustomBannerText + + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + This example removes a TeamsCustomBannerText instance with the name "CustomText". + +## PARAMETERS + +### -Identity +Policy instance name (optional). + + yaml Type: String Parameter Sets: Identity Aliases: Applicable: Microsoft Teams Required: False Position: 1 Default value: None Accept pipeline input: False Accept wildcard characters: False ``` + + + + ----------------------- CommonParameters ----------------------- + + + + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/Remove-CsTeamsCustomBannerText + + + Set-CsTeamsCustomBannerText + + + + New-CsTeamsCustomBannerText + + + + Remove-CsTeamsCustomBannerText + + + + + + + Remove-CsTeamsEmergencyCallingPolicy + Remove + CsTeamsEmergencyCallingPolicy + + + + + + This cmdlet removes an existing Teams Emergency Calling policy. + + + + Remove-CsTeamsEmergencyCallingPolicy + + Identity + + The Identity parameter is the unique identifier of the Teams Emergency Calling policy to remove. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Identity + + The Identity parameter is the unique identifier of the Teams Emergency Calling policy to remove. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + Microsoft.Rtc.Management.Xds.XdsIdentity + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Remove-CsTeamsEmergencyCallingPolicy -Identity testECP + + This example removes an existing Teams Emergency Calling policy with identity testECP. + + + + -------------------------- Example 2 -------------------------- + Remove-CsTeamsEmergencyCallingPolicy -Identity Global + + This example resets the Global Policy instance to the default values. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csteamsemergencycallingpolicy + + + New-CsTeamsEmergencyCallingPolicy + + + + Grant-CsTeamsEmergencyCallingPolicy + + + + Get-CsTeamsEmergencyCallingPolicy + + + + Set-CsTeamsEmergencyCallingPolicy + + + + + + + Remove-CsTeamsEventsPolicy + Remove + CsTeamsEventsPolicy + + The CsTeamsEventsPolicy cmdlets removes a previously created TeamsEventsPolicy. Note that this policy is currently still in preview. + + + + Deletes a previously created TeamsEventsPolicy. Any users with no explicitly assigned policies will then fall back to the default policy in the organization. You cannot delete the global policy from the organization. + + + + Remove-CsTeamsEventsPolicy + + Identity + + Unique identifier for the teams events policy to be removed. To remove the global policy, use this syntax: -Identity Global. (Note that the global policy cannot actually be removed. Instead, all the policy properties will be reset to their default values.) To remove a custom policy DisablePublicWebinars, use this syntax: -Identity DisablePublicWebinars. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Unique identifier for the teams events policy to be removed. To remove the global policy, use this syntax: -Identity Global. (Note that the global policy cannot actually be removed. Instead, all the policy properties will be reset to their default values.) To remove a custom policy DisablePublicWebinars, use this syntax: -Identity DisablePublicWebinars. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.String + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Remove-CsTeamsEventsPolicy -Identity DisablePublicWebinars + + In this example, the command will delete the DisablePublicWebinars policy from the organization's list of policies. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csteamseventspolicy + + + + + + Remove-CsTeamsFeedbackPolicy + Remove + CsTeamsFeedbackPolicy + + Use this cmdlet to remove a Teams Feedback policy from the Tenant. + + + + Removes a Teams Feedback policy from the Tenant. + + + + Remove-CsTeamsFeedbackPolicy + + Identity + + The identity of the policy to be removed. + + Object + + Object + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes and suppresses the display of any non-fatal error message that might arise when running the command. + + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use. + + Object + + Object + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes and suppresses the display of any non-fatal error message that might arise when running the command. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + The identity of the policy to be removed. + + Object + + Object + + + None + + + Tenant + + Internal Microsoft use. + + Object + + Object + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + Microsoft.Rtc.Management.Xds.XdsIdentity + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Remove-CsTeamsFeedbackPolicy -Identity "New Hire Feedback Policy" + + In this example, the policy "New Hire Feedback Policy" is being removed. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csteamsfeedbackpolicy + + + + + + Remove-CsTeamsMediaConnectivityPolicy + Remove + CsTeamsMediaConnectivityPolicy + + This cmdlet deletes a Teams media connectivity policy. + + + + This cmdlet deletes a Teams media connectivity policy with the specified identity string. + + + + Remove-CsTeamsMediaConnectivityPolicy + + Identity + + Identity of the Teams media connectivity policy. + + String + + String + + + None + + + + + + Identity + + Identity of the Teams media connectivity policy. + + String + + String + + + None + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Remove-CsTeamsMediaConnectivityPolicy -Identity "Test" + + Deletes a Teams media connectivity policy with the identify of "Test". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/Remove-CsTeamsMediaConnectivityPolicy + + + New-CsTeamsMediaConnectivityPolicy + + + + Get-CsTeamsMediaConnectivityPolicy + + + + Set-CsTeamsMediaConnectivityPolicy + + + + + + + Remove-CsTeamsMeetingBrandingPolicy + Remove + CsTeamsMeetingBrandingPolicy + + The CsTeamsMeetingBrandingPolicy cmdlet enables administrators to control the appearance in meetings by defining custom backgrounds, logos, and colors. + + + + Deletes a previously created TeamsMeetingBrandingPolicy. Any users with no explicitly assigned policies will then fall back to the default policy in the organization. You cannot delete the global policy from the organization. If you want to remove policies currently assigned to one or more users, you should first assign a different policy to them. + + + + Remove-CsTeamsMeetingBrandingPolicy + + Identity + + Unique identifier of the policy to be deleted. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes. + + + SwitchParameter + + + False + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + + SwitchParameter + + + False + + + + + + Identity + + Unique identifier of the policy to be deleted. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + Available in Teams PowerShell Module 4.9.3 and later. + + + + + ---------------- Remove meeting branding policy ---------------- + PS C:\> Remove-CsTeamsMeetingBrandingPolicy -Identity "policy test" + + In this example, the command deletes the `policy test` meeting branding policy from the organization's list of meeting branding policies and removes all assignments of this policy from users who have the policy assigned. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csteamsmeetingbrandingpolicy + + + Get-CsTeamsMeetingBrandingPolicy + + + + Grant-CsTeamsMeetingBrandingPolicy + + + + New-CsTeamsMeetingBrandingPolicy + + + + Remove-CsTeamsMeetingBrandingPolicy + + + + Set-CsTeamsMeetingBrandingPolicy + + + + + + + Remove-CsTeamsMeetingPolicy + Remove + CsTeamsMeetingPolicy + + The `CsTeamsMeetingPolicy` cmdlets removes a previously created TeamsMeetingPolicy. + + + + Deletes a previously created TeamsMeetingPolicy. Any users with no explicitly assigned policies will then fall back to the default policy in the organization. You cannot delete the global policy from the organization. If you want to remove policies currently assigned to one or more users, you should assign a different policy to them before. + + + + Remove-CsTeamsMeetingPolicy + + Identity + + Unique identifier for the teams meeting policy to be removed. To remove the global policy, use this syntax: -Identity global. (Note that the global policy cannot actually be removed. Instead, all the policy properties will be reset to their default values.) To remove a custom policy, use this syntax: -Identity StudentMeetingPolicy. + + XdsIdentity + + XdsIdentity + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose external user communication policy are being created. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Unique identifier for the teams meeting policy to be removed. To remove the global policy, use this syntax: -Identity global. (Note that the global policy cannot actually be removed. Instead, all the policy properties will be reset to their default values.) To remove a custom policy, use this syntax: -Identity StudentMeetingPolicy. + + XdsIdentity + + XdsIdentity + + + None + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose external user communication policy are being created. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + Microsoft.Rtc.Management.Xds.XdsIdentity + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Remove-CsTeamsMeetingPolicy -Identity StudentMeetingPolicy + + In the example shown above, the command will delete the student meeting policy from the organization's list of policies and remove all assignments of this policy from users who have had the policy assigned. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csteamsmeetingpolicy + + + + + + Remove-CsTeamsMeetingTemplatePermissionPolicy + Remove + CsTeamsMeetingTemplatePermissionPolicy + + Deletes an instance of TeamsMeetingTemplatePermissionPolicy. + + + + Deletes an instance of TeamsMeetingTemplatePermissionPolicy. The `Identity` parameter accepts the identity of the policy instance to delete. + + + + Remove-CsTeamsMeetingTemplatePermissionPolicy + + Identity + + Identity of the policy instance to be deleted. + + String + + String + + + None + + + + + + Identity + + Identity of the policy instance to be deleted. + + String + + String + + + None + + + + + + + + + + -- Example 1 - Deleting a meeting template permission policy -- + Remove-CsTeamsMeetingTemplatePermissionPolicy -Identity Test_Policy + + Deletes a policy instance with the Identity Test_Policy . + + + + -- Example 2 - Deleting a policy when its assigned to a user -- + Remove-CsTeamsMeetingTemplatePermissionPolicy -Identity Foobar + +Remove-CsTeamsMeetingTemplatePermissionPolicy : The policy "Foobar" is currently assigned to one or more users. Assign a different policy to the users before removing +this one. Please refer to documentation. CorrelationId: 8698472b-f441-423b-8ee3-0469c7e07528 +At line:1 char:1 ++ Remove-CsTeamsMeetingTemplatePermissionPolicy -Identity Foobar ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + CategoryInfo : NotSpecified: (:) [Remove-CsTeamsM...ermissionPolicy], PolicyRpException + + FullyQualifiedErrorId : ClientError,Microsoft.Teams.Policy.Administration.Cmdlets.Core.RemoveTeamsMeetingTemplatePermissionPolicyCmdlet + + + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/Remove-CsTeamsMeetingTemplatePermissionPolicy + + + Set-CsTeamsMeetingTemplatePermissionPolicy + + + + Get-CsTeamsMeetingTemplatePermissionPolicy + + + + New-CsTeamsMeetingTemplatePermissionPolicy + + + + Grant-CsTeamsMeetingTemplatePermissionPolicy + + + + + + + Remove-CsTeamsMessagingPolicy + Remove + CsTeamsMessagingPolicy + + Deletes a custom messaging policy. Teams messaging policies determine the features and capabilities that can be used in messaging within the teams client. + + + + Deletes a previously created TeamsMessagingPolicy. Any users with no explicitly assigned policies will then fall back to the default policy in the organization. You cannot delete the global policy from the organization. + + + + Remove-CsTeamsMessagingPolicy + + Identity + + Unique identifier for the teams messaging policy to be removed. To remove the global policy, use this syntax: -Identity global. (Note that the global policy cannot actually be removed. Instead, all the policy properties will be reset to their default values.) To remove a custom policy, use this syntax: -Identity StudentMessagingPolicy . + + XdsIdentity + + XdsIdentity + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + + + + SwitchParameter + + + False + + + Tenant + + + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Unique identifier for the teams messaging policy to be removed. To remove the global policy, use this syntax: -Identity global. (Note that the global policy cannot actually be removed. Instead, all the policy properties will be reset to their default values.) To remove a custom policy, use this syntax: -Identity StudentMessagingPolicy . + + XdsIdentity + + XdsIdentity + + + None + + + Tenant + + + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + Microsoft.Rtc.Management.Xds.XdsIdentity + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Remove-CsTeamsMessagingPolicy -Identity StudentMessagingPolicy + + In the example shown above, the command will delete the student messaging policy from the organization's list of policies. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csteamsmessagingpolicy + + + + + + Remove-CsTeamsRecordingRollOutPolicy + Remove + CsTeamsRecordingRollOutPolicy + + The CsTeamsRecordingRollOutPolicy controls roll out of the change that governs the storage for meeting recordings. + + + + Removes a previously created CsTeamsRecordingRollOutPolicy. + This command is available from Teams powershell module 6.1.1-preview and above. + + + + Remove-CsTeamsRecordingRollOutPolicy + + Identity + + Unique identifier for the CsTeamsRecordingRollOutPolicy to be removed. To remove the global policy, use this syntax: -Identity global. (Note that the global policy cannot actually be removed. Instead, all the policy properties will be reset to their default values.) To remove a custom policy, use this syntax: -Identity SomePolicy. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Unique identifier for the CsTeamsRecordingRollOutPolicy to be removed. To remove the global policy, use this syntax: -Identity global. (Note that the global policy cannot actually be removed. Instead, all the policy properties will be reset to their default values.) To remove a custom policy, use this syntax: -Identity SomePolicy. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.String + + + + + + + + + + System.Void + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Remove-CsTeamsRecordingRollOutPolicy -Identity OrganizerPolicy + + In the example shown above, the command will delete the OrganizerPolicy from the organization's list of policies and remove all assignments of this policy from users who have had the policy assigned. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csteamsrecordingrolloutpolicy + + + + + + Remove-CsTeamsSharedCallingRoutingPolicy + Remove + CsTeamsSharedCallingRoutingPolicy + + Deletes an existing Teams shared calling routing policy instance. + + + + TeamsSharedCallingRoutingPolicy is used to configure shared calling. + + + + Remove-CsTeamsSharedCallingRoutingPolicy + + Identity + + Unique identifier assigned to the policy when it is created. + + String + + String + + + None + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Identity + + Unique identifier assigned to the policy when it is created. + + String + + String + + + None + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + This cmdlet was introduced in Teams PowerShell Module 5.5.0. + + + + + -------------------------- EXAMPLE 1 -------------------------- + Remove-CsTeamsSharedCallingRoutingPolicy -Identity "Seattle" + + The command shown in Example 1 deletes the Teams shared calling routing policy instance Seattle. + + + + -------------------------- EXAMPLE 2 -------------------------- + Get-CsTeamsSharedCallingRoutingPolicy -Filter "tag:*" | Remove-CsTeamsSharedCallingRoutingPolicy + + In Example 2, all Teams shared calling routing policies configured at the per-user scope are removed. To do this, the command first calls the Get-CsTeamsSharedCallingRoutingPolicy cmdlet along with the Filter parameter; the filter value "tag:*" limits the returned data to Teams shared calling routing policies configured at the per-user scope. Those per-user policies are then piped to and removed by the Remove-CsTeamsSharedCallingRoutingPolicy cmdlet. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csteamssharedcallingroutingpolicy + + + Get-CsTeamsSharedCallingRoutingPolicy + + + + Grant-CsTeamsSharedCallingRoutingPolicy + + + + Set-CsTeamsSharedCallingRoutingPolicy + + + + New-CsTeamsSharedCallingRoutingPolicy + + + + + + + Remove-CsTeamsShiftsPolicy + Remove + CsTeamsShiftsPolicy + + The `Remove-CsTeamsShiftsPolicy` cmdlet removes a previously created TeamsShiftsPolicy. + Note: A TeamsShiftsPolicy needs to be unassigned from all the users before it can be deleted. + + + + + + Remove-CsTeamsShiftsPolicy + + Identity + + Policy instance name. + + XdsIdentity + + XdsIdentity + + + None + + + + + + Identity + + Policy instance name. + + XdsIdentity + + XdsIdentity + + + None + + + + + + Microsoft.Rtc.Management.Xds.XdsIdentity + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Remove-CsTeamsShiftsPolicy -Identity OffShiftAccess_WarningMessage1_AlwaysShowMessage + + In this example, the policy instance to be removed is called "OffShiftAccess_WarningMessage1_AlwaysShowMessage". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-teamsshiftspolicy + + + Get-CsTeamsShiftsPolicy + + + + New-CsTeamsShiftsPolicy + + + + Set-CsTeamsShiftsPolicy + + + + Grant-CsTeamsShiftsPolicy + + + + + + + Remove-CsTeamsTemplatePermissionPolicy + Remove + CsTeamsTemplatePermissionPolicy + + Deletes an instance of TeamsTemplatePermissionPolicy. + + + + Deletes an instance of TeamsTemplatePermissionPolicy. The `Identity` parameter accepts the identity of the policy instance to delete. + + + + Remove-CsTeamsTemplatePermissionPolicy + + Identity + + Name of the policy instance to be deleted. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + The Force switch hides warning or confirmation messages. You don't need to specify a value with this switch. + You can use this switch to run tasks programmatically where prompting for administrative input is inappropriate. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + The Force switch hides warning or confirmation messages. You don't need to specify a value with this switch. + You can use this switch to run tasks programmatically where prompting for administrative input is inappropriate. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Name of the policy instance to be deleted. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.String + + + + + + + + + + System.Void + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS >Remove-CsTeamsTemplatePermissionPolicy -Identity Foobar + + Deletes a policy instance with the Identity Foobar . + + + + -------------------------- Example 2 -------------------------- + PS >Remove-CsTeamsTemplatePermissionPolicy -Identity Foobar + +Remove-CsTeamsTemplatePermissionPolicy : The policy "Foobar" is currently assigned to one or more users or groups. Ensure policy is not assigned before removing. Please refer to documentation. CorrelationId: 8622aac5-00c3-4071-b6d0-d070db8f663f +At line:1 char:1 ++ Remove-CsTeamsTemplatePermissionPolicy -Identity Foobar ... ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + CategoryInfo : NotSpecified: (:) [Remove-CsTeamsTemplatePermissionPolicy], PolicyRpException + + FullyQualifiedErrorId : ClientError,Microsoft.Teams.Policy.Administration.Cmdlets.Core.RemoveTeamsTemplatePermissionPolicyCmdlet + + Attempting to delete a policy instance that is currently assigned to users will result in an error. Remove the assignment before attempting to delete it. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csteamstemplatepermissionpolicy + + + Get-CsTeamsTemplatePermissionPolicy + + + + New-CsTeamsTemplatePermissionPolicy + + + + Set-CsTeamsTemplatePermissionPolicy + + + + + + + Remove-CsTeamsUpdateManagementPolicy + Remove + CsTeamsUpdateManagementPolicy + + Use this cmdlet to remove a Teams Update Management policy from the tenant. + + + + Removes a Teams Update Management policy from the tenant. + + + + Remove-CsTeamsUpdateManagementPolicy + + Identity + + The identity of the policy to be removed. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes and suppresses the display of any non-fatal error message that might arise when running the command. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes and suppresses the display of any non-fatal error message that might arise when running the command. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + The identity of the policy to be removed. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.String + + + + + + + + + + System.Void + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Remove-CsTeamsUpdateManagementPolicy -Identity "Campaign Policy" + + In this example, the policy "Campaign Policy" is being removed. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csteamsupdatemanagementpolicy + + + + + + Remove-CsTeamsVirtualAppointmentsPolicy + Remove + CsTeamsVirtualAppointmentsPolicy + + This cmdlet is used to delete an instance of TeamsVirtualAppointmentsPolicy. + + + + Deletes an instance of TeamsVirtualAppointmentsPolicy. The `Identity` parameter accepts the identity of the policy instance to delete. + + + + Remove-CsTeamsVirtualAppointmentsPolicy + + Identity + + Name of the new policy instance to be created. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Name of the new policy instance to be created. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.String + + + + + + + + + + System.Void + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\>Remove-CsTeamsVirtualAppointmentsPolicy -Identity Foobar + + Deletes a given policy instance with the Identity Foobar. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csteamsvirtualappointmentspolicy + + + Get-CsTeamsVirtualAppointmentsPolicy + + + + New-CsTeamsVirtualAppointmentsPolicy + + + + Set-CsTeamsVirtualAppointmentsPolicy + + + + Grant-CsTeamsVirtualAppointmentsPolicy + + + + + + + Remove-CsTeamsVoiceApplicationsPolicy + Remove + CsTeamsVoiceApplicationsPolicy + + Deletes an existing Teams voice applications policy. + + + + TeamsVoiceApplicationsPolicy is used for Supervisor Delegated Administration which allows tenant admins to permit certain users to make changes to auto attendant and call queue configurations. + + + + Remove-CsTeamsVoiceApplicationsPolicy + + Identity + + Unique identifier assigned to the policy when it was created. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Identity + + Unique identifier assigned to the policy when it was created. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.String + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- EXAMPLE 1 -------------------------- + Remove-CsTeamsVoiceApplicationsPolicy -Identity "SDA-Allow-All" + + The command shown in Example 1 deletes the Teams voice applications policy SDA-Allow-All. + + + + -------------------------- EXAMPLE 2 -------------------------- + Get-CsTeamsVoiceApplicationsPolicy -Filter "tag:*" | Remove-CsTeamsVoiceApplicationsPolicy + + In Example 2, all Teams voice applications policies configured at the per-user scope are removed. To do this, the command first calls the Get-CsTeamsVoiceApplicationsPolicy cmdlet along with the Filter parameter; the filter value "tag:*" limits the returned data to Teams voice applications policies configured at the per-user scope. Those per-user policies are then piped to and removed by the Remove-CsTeamsVoiceApplicationsPolicy cmdlet. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csteamsvoiceapplicationspolicy + + + Get-CsTeamsVoiceApplicationsPolicy + + + + Grant-CsTeamsVoiceApplicationsPolicy + + + + Set-CsTeamsVoiceApplicationsPolicy + + + + New-CsTeamsVoiceApplicationsPolicy + + + + + + + Remove-CsTeamsWorkLocationDetectionPolicy + Remove + CsTeamsWorkLocationDetectionPolicy + + This cmdlet is used to delete an instance of TeamsWorkLocationDetectionPolicy. + + + + Deletes an instance of TeamsWorkLocationDetectionPolicy. The `Identity` parameter accepts the identity of the policy instance to delete. + + + + Remove-CsTeamsWorkLocationDetectionPolicy + + Identity + + Name of the new policy instance to be created. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Name of the new policy instance to be created. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.String + + + + + + + + + + System.Void + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\>Remove-CsTeamsWorkLocationDetectionPolicy -Identity Foobar + + Deletes a given policy instance with the Identity Foobar. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csteamsworklocationdetectionpolicy + + + Get-CsTeamsWorkLocationDetectionPolicy + + + + New-CsTeamsWorkLocationDetectionPolicy + + + + Set-CsTeamsWorkLocationDetectionPolicy + + + + Grant-CsTeamsWorkLocationDetectionPolicy + + + + + + + Set-CsExternalAccessPolicy + Set + CsExternalAccessPolicy + + Enables you to modify the properties of an existing external access policy. External access policies determine whether or not your users can: 1) communicate with users who have Session Initiation Protocol (SIP) accounts with a federated organization; 2) communicate with users who are using custom applications built with Azure Communication Services (/azure/communication-services/concepts/teams-interop); 3) access Skype for Business Server over the Internet, without having to log on to your internal network; 4) communicate with users who have SIP accounts with a public instant messaging (IM) provider such as Skype; and, 5)communicate with people who are using Teams with an account that's not managed by an organization. + This cmdlet was introduced in Lync Server 2010. + + + + When you install Skype for Business Server your users are only allowed to exchange instant messages and presence information among themselves: by default, they can only communicate with people who have SIP accounts in your Active Directory Domain Services. In addition, users are not allowed to access Skype for Business Server over the Internet; instead, they must be logged on to your internal network before they will be able to log on to Skype for Business Server. + That might be sufficient to meet your communication needs. If it doesn't meet your needs, you can use external access policies to extend the ability of your users to communicate and collaborate. External access policies can grant (or revoke) the ability of your users to do any or all of the following: + 1. Communicate with people who have SIP accounts with a federated organization. Note that enabling federation alone will not provide users with this capability. Instead, you must enable federation and then assign users an external access policy that gives them the right to communicate with federated users. + 2. (Microsoft Teams only) Communicate with users who are using custom applications built with Azure Communication Services (ACS) (/azure/communication-services/concepts/teams-interop). This policy setting only applies if ACS federation has been enabled at the tenant level using the cmdlet [Set-CsTeamsAcsFederationConfiguration](Set-CsTeamsAcsFederationConfiguration.md). + 3. Access Skype for Business Server over the Internet, without having to first log on to your internal network. This enables your users to use Skype for Business and log on to Skype for Business Server from an Internet café or other remote location. + 4. Communicate with people who have SIP accounts with a public instant messaging service such as Skype. + The following parameters are not applicable to Skype for Business Online/Microsoft Teams: Description, EnableXmppAccess, Force, Identity, Instance, PipelineVariable, and Tenant + 5. (Microsoft Teams Only) Communicate with people who are using Teams with an account that's not managed by an organization. This policy only applies if Teams Consumer Federation has been enabled at the tenant level using the cmdlet Set-CsTenantFederationConfiguration (Set-CsTeamsAcsFederationConfiguration.md)or Teams admin center under the External Access setting. + After an external access policy has been created, you can use the `Set-CsExternalAccessPolicy` cmdlet to change the property values of that policy. For example, by default the global policy does not allow users to communicate with people who have accounts with a federated organization. If you would like to grant this capability to all of your users you can call the `Set-CsExternalAccessPolicy` cmdlet and set the value of the global policy's EnableFederationAccess property to True. + + + + Set-CsExternalAccessPolicy + + Identity + + Unique identifier for the external access policy to be modified. External access policies can be configured at the global, site, or per-user scopes. To modify the global policy, use this syntax: `-Identity global`. To modify a site policy, use syntax similar to this: `-Identity site:Redmond`. To modify a per-user policy, use syntax similar to this: `-Identity SalesAccessPolicy`. If this parameter is not specified then the global policy will be modified. + Note that wildcards are not allowed when specifying an Identity. + + XdsIdentity + + XdsIdentity + + + None + + + Instance + + Allows you to pass a reference to an object to the cmdlet rather than set individual parameter values. + + PSObject + + PSObject + + + None + + + Description + + Enables administrators to provide additional text to accompany the policy. For example, the Description might include information about the users the policy should be assigned to. + + String + + String + + + None + + + EnableFederationAccess + + Indicates whether the user is allowed to communicate with people who have SIP accounts with a federated organization. Read Manage external access in Microsoft Teams (/microsoftteams/manage-external-access)to get more information about the effect of this parameter in Microsoft Teams. The default value is True. + + Boolean + + Boolean + + + None + + + EnableAcsFederationAccess + + Indicates whether Teams meeting organized by the user can be joined by users of customer applications built using Azure Communication Services (ACS). This policy setting only applies if ACS Teams federation has been enabled at the tenant level using the cmdlet Set-CsTeamsAcsFederationConfiguration. + Additionally, Azure Communication Services users would be able to call Microsoft 365 users that have assigned policies with enabled federation. + To enable for all users, use the Set-CsExternalAccessPolicy cmdlet to update the global policy, setting the value to True. It can be disabled for selected users by assigning them a policy with federation disabled. + To enable just for a selected set of users, use the Set-CsExternalAccessPolicy cmdlet to update the global policy, setting the value to False. Then assign selected users a policy with federation enabled. + + Boolean + + Boolean + + + True + + + EnablePublicCloudAccess + + Indicates whether the user is allowed to communicate with people who have SIP accounts with a public Internet connectivity provider such as MSN. Read Manage external access in Microsoft Teams (/microsoftteams/manage-external-access)to get more information about the effect of this parameter in Microsoft Teams. The default value is False. + + Boolean + + Boolean + + + None + + + EnablePublicCloudAudioVideoAccess + + Indicates whether the user is allowed to conduct audio/video conversations with people who have SIP accounts with a public Internet connectivity provider such as MSN. When set to False, audio and video options in Skype for Business will be disabled any time a user is communicating with a public Internet connectivity contact. The default value is False. + + Boolean + + Boolean + + + None + + + EnableTeamsConsumerAccess + + (Microsoft Teams Only) Indicates whether the user is allowed to communicate with people who have who are using Teams with an account that's not managed by an organization. + To enable just for a selected set of users, use the Set-CsExternalAccessPolicy cmdlet to update the global policy, setting the value to False. Then assign selected users a policy with federation enabled. + Read Manage external access in Microsoft Teams (/microsoftteams/manage-external-access)to get more information about the effect of this parameter in Microsoft Teams. The default value is True. + + Boolean + + Boolean + + + True + + + EnableTeamsConsumerInbound + + (Microsoft Teams Only) Indicates whether the user is allowed to be discoverable by people who are using Teams with an account that's not managed by an organization. It also controls if people who have who are using Teams with an account that's not managed by an organization can start the communication with the user. + To enable just for a selected set of users, use the Set-CsExternalAccessPolicy cmdlet to update the global policy, setting the value to False. Then assign selected users a policy with federation enabled. + Read Manage external access in Microsoft Teams (/microsoftteams/manage-external-access)to get more information about the effect of this parameter in Microsoft Teams. The default value is True. + + Boolean + + Boolean + + + True + + + Force + + Suppresses the display of any non-fatal error message that might occur when running the command. + + + SwitchParameter + + + False + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before executing the command. + + + SwitchParameter + + + False + + + EnableOutsideAccess + + Indicates whether the user is allowed to connect to Skype for Business Server over the Internet, without logging on to the organization's internal network. The default value is False. + + Boolean + + Boolean + + + None + + + EnableXmppAccess + + Indicates whether the user is allowed to communicate with users who have SIP accounts with a federated XMPP (Extensible Messaging and Presence Protocol) partner. The default value is False. + + Boolean + + Boolean + + + None + + + Tenant + + Globally unique identifier (GUID) of the Skype for Business Online tenant account for whom the external access policy is being modified. For example: + `-Tenant "38aad667-af54-4397-aaa7-e94c79ec2308"` + You can return the tenant ID for each of your Skype for Business Online tenants by running this command: + `Get-CsTenant | Select-Object DisplayName, TenantID` + + Guid + + Guid + + + None + + + + + + Identity + + Unique identifier for the external access policy to be modified. External access policies can be configured at the global, site, or per-user scopes. To modify the global policy, use this syntax: `-Identity global`. To modify a site policy, use syntax similar to this: `-Identity site:Redmond`. To modify a per-user policy, use syntax similar to this: `-Identity SalesAccessPolicy`. If this parameter is not specified then the global policy will be modified. + Note that wildcards are not allowed when specifying an Identity. + + XdsIdentity + + XdsIdentity + + + None + + + Instance + + Allows you to pass a reference to an object to the cmdlet rather than set individual parameter values. + + PSObject + + PSObject + + + None + + + Description + + Enables administrators to provide additional text to accompany the policy. For example, the Description might include information about the users the policy should be assigned to. + + String + + String + + + None + + + EnableFederationAccess + + Indicates whether the user is allowed to communicate with people who have SIP accounts with a federated organization. Read Manage external access in Microsoft Teams (/microsoftteams/manage-external-access)to get more information about the effect of this parameter in Microsoft Teams. The default value is True. + + Boolean + + Boolean + + + None + + + EnableAcsFederationAccess + + Indicates whether Teams meeting organized by the user can be joined by users of customer applications built using Azure Communication Services (ACS). This policy setting only applies if ACS Teams federation has been enabled at the tenant level using the cmdlet Set-CsTeamsAcsFederationConfiguration. + Additionally, Azure Communication Services users would be able to call Microsoft 365 users that have assigned policies with enabled federation. + To enable for all users, use the Set-CsExternalAccessPolicy cmdlet to update the global policy, setting the value to True. It can be disabled for selected users by assigning them a policy with federation disabled. + To enable just for a selected set of users, use the Set-CsExternalAccessPolicy cmdlet to update the global policy, setting the value to False. Then assign selected users a policy with federation enabled. + + Boolean + + Boolean + + + True + + + EnablePublicCloudAccess + + Indicates whether the user is allowed to communicate with people who have SIP accounts with a public Internet connectivity provider such as MSN. Read Manage external access in Microsoft Teams (/microsoftteams/manage-external-access)to get more information about the effect of this parameter in Microsoft Teams. The default value is False. + + Boolean + + Boolean + + + None + + + EnablePublicCloudAudioVideoAccess + + Indicates whether the user is allowed to conduct audio/video conversations with people who have SIP accounts with a public Internet connectivity provider such as MSN. When set to False, audio and video options in Skype for Business will be disabled any time a user is communicating with a public Internet connectivity contact. The default value is False. + + Boolean + + Boolean + + + None + + + EnableTeamsConsumerAccess + + (Microsoft Teams Only) Indicates whether the user is allowed to communicate with people who have who are using Teams with an account that's not managed by an organization. + To enable just for a selected set of users, use the Set-CsExternalAccessPolicy cmdlet to update the global policy, setting the value to False. Then assign selected users a policy with federation enabled. + Read Manage external access in Microsoft Teams (/microsoftteams/manage-external-access)to get more information about the effect of this parameter in Microsoft Teams. The default value is True. + + Boolean + + Boolean + + + True + + + EnableTeamsConsumerInbound + + (Microsoft Teams Only) Indicates whether the user is allowed to be discoverable by people who are using Teams with an account that's not managed by an organization. It also controls if people who have who are using Teams with an account that's not managed by an organization can start the communication with the user. + To enable just for a selected set of users, use the Set-CsExternalAccessPolicy cmdlet to update the global policy, setting the value to False. Then assign selected users a policy with federation enabled. + Read Manage external access in Microsoft Teams (/microsoftteams/manage-external-access)to get more information about the effect of this parameter in Microsoft Teams. The default value is True. + + Boolean + + Boolean + + + True + + + Force + + Suppresses the display of any non-fatal error message that might occur when running the command. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + EnableOutsideAccess + + Indicates whether the user is allowed to connect to Skype for Business Server over the Internet, without logging on to the organization's internal network. The default value is False. + + Boolean + + Boolean + + + None + + + EnableXmppAccess + + Indicates whether the user is allowed to communicate with users who have SIP accounts with a federated XMPP (Extensible Messaging and Presence Protocol) partner. The default value is False. + + Boolean + + Boolean + + + None + + + Tenant + + Globally unique identifier (GUID) of the Skype for Business Online tenant account for whom the external access policy is being modified. For example: + `-Tenant "38aad667-af54-4397-aaa7-e94c79ec2308"` + You can return the tenant ID for each of your Skype for Business Online tenants by running this command: + `Get-CsTenant | Select-Object DisplayName, TenantID` + + Guid + + Guid + + + None + + + + + + + + + Microsoft.Rtc.Management.WritableConfig.Policy.ExternalAccess.ExternalAccessPolicy object. The `Set-CsExternalAccessPolicy` cmdlet accepts pipelined input of the external access policy object. + + + + + + + + + + The `Set-CsExternalAccessPolicy` cmdlet does not return a value or object. Instead, the cmdlet configures instances of the Microsoft.Rtc.Management.WritableConfig.Policy.ExternalAccess.ExternalAccessPolicy object. + + + + + + + + + + + -------------------------- Example 1 ------------------------ + Set-CsExternalAccessPolicy -Identity RedmondExternalAccessPolicy -EnableFederationAccess $True + + The command shown in Example 1 modifies the per-user external access policy that has the Identity RedmondExternalAccessPolicy. In this example, the command changes the value of the EnableFederationAccess property to True. + + + + -------------------------- Example 2 ------------------------ + Get-CsExternalAccessPolicy | Set-CsExternalAccessPolicy -EnableFederationAccess $True + + In Example 2, federation access is enabled for all the external access policies configured for use in the organization. To do this, the command first calls the `Get-CsExternalAccessPolicy` cmdlet without any parameters; this returns a collection of all the external policies currently configured for use. That collection is then piped to the `Set-CsExternalAccessPolicy` cmdlet, which changes the value of the EnableFederationAccess property for each policy in the collection. + + + + -------------------------- Example 3 ------------------------ + Get-CsExternalAccessPolicy -Filter tag:* | Set-CsExternalAccessPolicy -EnableFederationAccess $True + + Example 3 enables federation access for all the external access policies that have been configured at the per-user scope. To carry out this task, the first thing the command does is use the `Get-CsExternalAcessPolicy` cmdlet and the Filter parameter to return a collection of all the policies that have been configured at the per-user scope. (The filter value "tag:*" limits returned data to policies that have an Identity that begins with the string value "tag:". Any policy with an Identity that begins with "tag:" has been configured at the per-user scope.) The filtered collection is then piped to the `Set-CsExternalAccessPolicy` cmdlet, which modifies the EnableFederationAccess property for each policy in the collection. + + + + -------------------------- Example 4 ------------------------ + Get-CsExternalAccessPolicy | Where-Object {$_.EnablePublicCloudAccess -eq $True} | Set-CsExternalAccessPolicy -EnableFederationAccess $True + + In Example 4, federation access is enabled for all the external access policies that allow public cloud access. To do this, the command first uses the `Get-CsExternalAccessPolicy` cmdlet to return a collection of all the external access policies currently configured for use in the organization. This collection is piped to the `Where-Object` cmdlet, which picks out only those policies where the EnablePublicCloudAccess property is equal to True. The filtered collection is then piped to the `Set-CsExternalAccessPolicy` cmdlet, which takes each policy and sets the EnableFederationAccess property to True. The net result: all external access policies that allow public cloud access will also allow federation access. + + + + -------------------------- Example 5 ------------------------ + Set-CsExternalAccessPolicy -Identity Global -EnableAcsFederationAccess $false +New-CsExternalAccessPolicy -Identity AcsFederationAllowed -EnableAcsFederationAccess $true + + In this example, the Global policy is updated to disallow Teams-ACS federation for all users, then a new external access policy instance is created with Teams-ACS federation enabled and which can be assigned to selected users for which Team-ACS federation will be allowed. + + + + -------------------------- Example 5 ------------------------ + Set-CsExternalAccessPolicy -Identity Global -EnableAcsFederationAccess $true +New-CsExternalAccessPolicy -Identity AcsFederationNotAllowed -EnableAcsFederationAccess $false + + In this example, the Global policy is updated to allow Teams-ACS federation for all users, then a new external access policy instance is created with Teams-ACS federation disabled and which can then be assigned to selected users for which Team-ACS federation will not be allowed. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csexternalaccesspolicy + + + Get-CsExternalAccessPolicy + + + + Grant-CsExternalAccessPolicy + + + + New-CsExternalAccessPolicy + + + + Remove-CsExternalAccessPolicy + + + + + + + Set-CsOnlineVoicemailPolicy + Set + CsOnlineVoicemailPolicy + + Modifies an existing Online Voicemail policy. Online Voicemail policies determine whether or not voicemail transcription, profanity masking for the voicemail transcriptions, translation for the voicemail transcriptions, and editing call answer rule settings are enabled for a user. The policies also specify voicemail maximum recording length for a user and the primary and secondary voicemail system prompt languages. + + + + Cloud Voicemail service provides organizations with voicemail deposit capabilities for Phone System implementation. + By default, users enabled for Phone System will be enabled for Cloud Voicemail. The Online Voicemail policy controls whether or not voicemail transcription, profanity masking for the voicemail transcriptions, translation for the voicemail transcriptions, and editing call answer rule settings are enabled for a user. The policies also specify the voicemail maximum recording length for a user and the primary and secondary voicemail system prompt languages. + - Voicemail transcription is enabled by default + - Transcription profanity masking is disabled by default + - Transcription translation is enabled by default + - Editing call answer rule settings is enabled by default + - Voicemail maximum recording length is set to 5 minutes by default + - Primary and secondary system prompt languages are set to null by default and the user's voicemail language setting is used + + Tenant admin would be able to create a customized online voicemail policy to match the organization's requirements. + + + + Set-CsOnlineVoicemailPolicy + + Identity + + A unique identifier specifying the scope, and in some cases the name, of the policy. + + String + + String + + + None + + + EnableEditingCallAnswerRulesSetting + + Controls if editing call answer rule settings are enabled or disabled for a user. Possible values are $true or $false. + + Boolean + + Boolean + + + None + + + EnableTranscription + + Allows you to disable or enable voicemail transcription. Possible values are $true or $false. + + Boolean + + Boolean + + + None + + + EnableTranscriptionProfanityMasking + + Allows you to disable or enable profanity masking for the voicemail transcriptions. Possible values are $true or $false. + + Boolean + + Boolean + + + None + + + EnableTranscriptionTranslation + + Allows you to disable or enable translation for the voicemail transcriptions. Possible values are $true or $false. + + Boolean + + Boolean + + + None + + + MaximumRecordingLength + + A duration of voicemail maximum recording length. The length should be between 30 seconds to 10 minutes. + + Duration + + Duration + + + None + + + PostambleAudioFile + + The audio file to play to the caller after the user's voicemail greeting has played and before the caller is allowed to leave a voicemail message. + + String + + String + + + None + + + PreambleAudioFile + + The audio file to play to the caller before the user's voicemail greeting is played. + + String + + String + + + None + + + PreamblePostambleMandatory + + Is playing the Pre- or Post-amble mandatory before the caller can leave a message. + + Boolean + + Boolean + + + False + + + PrimarySystemPromptLanguage + + The primary (or first) language that voicemail system prompts will be presented in. Must also set SecondarySystemPromptLanguage. When set, this overrides the user language choice. See Set-CsOnlineVoicemailUserSettings (Set-CsOnlineVoicemailUserSettings.md)-PromptLanguage for supported languages. + + String + + String + + + None + + + SecondarySystemPromptLanguage + + The secondary language that voicemail system prompts will be presented in. Must also set PrimarySystemPromptLanguage and may not be the same value as PrimarySystemPromptanguage. When set, this overrides the user language choice. See Set-CsOnlineVoicemailUserSettings (Set-CsOnlineVoicemailUserSettings.md)-PromptLanguage for supported languages. + + String + + String + + + None + + + ShareData + + Specifies whether voicemail and transcription data are shared with the service for training and improving accuracy. Possible values are Defer and Deny. + + String + + String + + + None + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before executing the command. + + + SwitchParameter + + + False + + + + + + Identity + + A unique identifier specifying the scope, and in some cases the name, of the policy. + + String + + String + + + None + + + EnableEditingCallAnswerRulesSetting + + Controls if editing call answer rule settings are enabled or disabled for a user. Possible values are $true or $false. + + Boolean + + Boolean + + + None + + + EnableTranscription + + Allows you to disable or enable voicemail transcription. Possible values are $true or $false. + + Boolean + + Boolean + + + None + + + EnableTranscriptionProfanityMasking + + Allows you to disable or enable profanity masking for the voicemail transcriptions. Possible values are $true or $false. + + Boolean + + Boolean + + + None + + + EnableTranscriptionTranslation + + Allows you to disable or enable translation for the voicemail transcriptions. Possible values are $true or $false. + + Boolean + + Boolean + + + None + + + MaximumRecordingLength + + A duration of voicemail maximum recording length. The length should be between 30 seconds to 10 minutes. + + Duration + + Duration + + + None + + + PostambleAudioFile + + The audio file to play to the caller after the user's voicemail greeting has played and before the caller is allowed to leave a voicemail message. + + String + + String + + + None + + + PreambleAudioFile + + The audio file to play to the caller before the user's voicemail greeting is played. + + String + + String + + + None + + + PreamblePostambleMandatory + + Is playing the Pre- or Post-amble mandatory before the caller can leave a message. + + Boolean + + Boolean + + + False + + + PrimarySystemPromptLanguage + + The primary (or first) language that voicemail system prompts will be presented in. Must also set SecondarySystemPromptLanguage. When set, this overrides the user language choice. See Set-CsOnlineVoicemailUserSettings (Set-CsOnlineVoicemailUserSettings.md)-PromptLanguage for supported languages. + + String + + String + + + None + + + SecondarySystemPromptLanguage + + The secondary language that voicemail system prompts will be presented in. Must also set PrimarySystemPromptLanguage and may not be the same value as PrimarySystemPromptanguage. When set, this overrides the user language choice. See Set-CsOnlineVoicemailUserSettings (Set-CsOnlineVoicemailUserSettings.md)-PromptLanguage for supported languages. + + String + + String + + + None + + + ShareData + + Specifies whether voicemail and transcription data are shared with the service for training and improving accuracy. Possible values are Defer and Deny. + + String + + String + + + None + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-CsOnlineVoicemailPolicy -Identity "CustomOnlineVoicemailPolicy" -MaximumRecordingLength ([TimeSpan]::FromSeconds(60)) + + The command shown in Example 1 changes the MaximumRecordingLength to 60 seconds for the per-user online voicemail policy CustomOnlineVoicemailPolicy. + + + + -------------------------- Example 2 -------------------------- + Set-CsOnlineVoicemailPolicy -EnableTranscriptionProfanityMasking $false + + The command shown in Example 2 changes the EnableTranscriptionProfanityMasking to false for tenant level global online voicemail policy when calling without Identity parameter. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csonlinevoicemailpolicy + + + Get-CsOnlineVoicemailPolicy + + + + New-CsOnlineVoicemailPolicy + + + + Remove-CsOnlineVoicemailPolicy + + + + Grant-CsOnlineVoicemailPolicy + + + + + + + Set-CsTeamsAppPermissionPolicy + Set + CsTeamsAppPermissionPolicy + + NOTE : The existence of this cmdlet is being documented for completeness, but do not use this cmdlet. We require that all creation and modification of app permission polices (not including the assignment or removal of policies from users) happens in the Microsoft Teams & Skype for Business Admin Center to ensure that the policy matches your expectations for the end user experience. This cmdlet is not supported for tenants that migrated to app centric management feature as it replaced permission policies. While the cmdlet may succeed, the changes aren't applied to the tenant. + As an admin, you can use app permission policies to allow or block apps for your users. Learn more about the app permission policies at <https://learn.microsoft.com/microsoftteams/teams-app-permission-policies> and about app centric management at <https://learn.microsoft.com/microsoftteams/app-centric-management>. + + + + NOTE : The existence of this cmdlet is being documented for completeness, but do not use this cmdlet. We require that all creation and modification of app permission polices (not including the assignment or removal of policies from users) happens in the Microsoft Teams & Skype for Business Admin Center to ensure that the policy matches your expectations for the end user experience. + As an admin, you can use app permission policies to enable or block specific apps for your users. Learn more about the App Setup Policies: <https://learn.microsoft.com/microsoftteams/teams-app-permission-policies>. + + + + Set-CsTeamsAppPermissionPolicy + + Identity + + Name of App setup permission policy. If empty, all Identities will be used by default. + + XdsIdentity + + XdsIdentity + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + DefaultCatalogApps + + Choose which Teams apps published by Microsoft or its partners can be installed by your users. + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.DefaultCatalogApp[] + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.DefaultCatalogApp[] + + + None + + + DefaultCatalogAppsType + + Choose to allow or block the installation of Microsoft apps. Values that can be used: AllowedAppList, BlockedAppList. + + String + + String + + + None + + + Description + + Description of app setup permission policy. + + String + + String + + + None + + + Force + + Do not use. + + + SwitchParameter + + + False + + + GlobalCatalogApps + + Choose which Teams apps published by a third party can be installed by your users. + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.GlobalCatalogApp[] + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.GlobalCatalogApp[] + + + None + + + GlobalCatalogAppsType + + Choose to allow or block the installation of third-party apps. Values that can be used: AllowedAppList, BlockedAppList. + + String + + String + + + None + + + PrivateCatalogApps + + Choose to allow or block the installation of custom apps. + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PrivateCatalogApp[] + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PrivateCatalogApp[] + + + None + + + PrivateCatalogAppsType + + Choose which custom apps can be installed by your users. Values that can be used: AllowedAppList, BlockedAppList. + + String + + String + + + None + + + Tenant + + Do not use. + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Set-CsTeamsAppPermissionPolicy + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + DefaultCatalogApps + + Choose which Teams apps published by Microsoft or its partners can be installed by your users. + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.DefaultCatalogApp[] + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.DefaultCatalogApp[] + + + None + + + DefaultCatalogAppsType + + Choose to allow or block the installation of Microsoft apps. Values that can be used: AllowedAppList, BlockedAppList. + + String + + String + + + None + + + Description + + Description of app setup permission policy. + + String + + String + + + None + + + Force + + Do not use. + + + SwitchParameter + + + False + + + GlobalCatalogApps + + Choose which Teams apps published by a third party can be installed by your users. + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.GlobalCatalogApp[] + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.GlobalCatalogApp[] + + + None + + + GlobalCatalogAppsType + + Choose to allow or block the installation of third-party apps. Values that can be used: AllowedAppList, BlockedAppList. + + String + + String + + + None + + + Instance + + Do not use. + + PSObject + + PSObject + + + None + + + PrivateCatalogApps + + Choose to allow or block the installation of custom apps. + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PrivateCatalogApp[] + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PrivateCatalogApp[] + + + None + + + PrivateCatalogAppsType + + Choose which custom apps can be installed by your users. Values that can be used: AllowedAppList, BlockedAppList. + + String + + String + + + None + + + Tenant + + Do not use. + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + DefaultCatalogApps + + Choose which Teams apps published by Microsoft or its partners can be installed by your users. + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.DefaultCatalogApp[] + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.DefaultCatalogApp[] + + + None + + + DefaultCatalogAppsType + + Choose to allow or block the installation of Microsoft apps. Values that can be used: AllowedAppList, BlockedAppList. + + String + + String + + + None + + + Description + + Description of app setup permission policy. + + String + + String + + + None + + + Force + + Do not use. + + SwitchParameter + + SwitchParameter + + + False + + + GlobalCatalogApps + + Choose which Teams apps published by a third party can be installed by your users. + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.GlobalCatalogApp[] + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.GlobalCatalogApp[] + + + None + + + GlobalCatalogAppsType + + Choose to allow or block the installation of third-party apps. Values that can be used: AllowedAppList, BlockedAppList. + + String + + String + + + None + + + Identity + + Name of App setup permission policy. If empty, all Identities will be used by default. + + XdsIdentity + + XdsIdentity + + + None + + + Instance + + Do not use. + + PSObject + + PSObject + + + None + + + PrivateCatalogApps + + Choose to allow or block the installation of custom apps. + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PrivateCatalogApp[] + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PrivateCatalogApp[] + + + None + + + PrivateCatalogAppsType + + Choose which custom apps can be installed by your users. Values that can be used: AllowedAppList, BlockedAppList. + + String + + String + + + None + + + Tenant + + Do not use. + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.DefaultCatalogApp + + + + + + + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.GlobalCatalogApp + + + + + + + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PrivateCatalogApp + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + $identity = "TestTeamsAppPermissionPolicy" + (Get-Date -Format FileDateTimeUniversal) +New-CsTeamsAppPermissionPolicy -Identity Set-$identity +Set-CsTeamsAppPermissionPolicy -Identity Set-$identity -DefaultCatalogAppsType BlockedAppList -DefaultCatalogApps @()-GlobalCatalogAppsType -GlobalCatalogApps @() BlockedAppList -PrivateCatalogAppsType BlockedAppList -PrivateCatalogApps @() + + This example allows all Microsoft apps, third-party apps, and custom apps. No apps are blocked. + + + + -------------------------- Example 2 -------------------------- + $identity = "TestTeamsAppPermissionPolicy" + (Get-Date -Format FileDateTimeUniversal) +New-CsTeamsAppPermissionPolicy -Identity Set-$identity +Set-CsTeamsAppPermissionPolicy -Identity Set-$identity -DefaultCatalogAppsType AllowedAppList -DefaultCatalogApps @() -GlobalCatalogAppsType AllowedAppList -GlobalCatalogApps @() -PrivateCatalogAppsType AllowedAppList -PrivateCatalogApps @() + + This example blocks all Microsoft apps, third-party apps, and custom apps. No apps are allowed. + + + + -------------------------- Example 3 -------------------------- + $identity = "TestTeamsAppPermissionPolicy" + (Get-Date -Format FileDateTimeUniversal) +# create a new Teams app permission policy and block all apps +New-CsTeamsAppPermissionPolicy -Identity Set-$identity -DefaultCatalogAppsType AllowedAppList -GlobalCatalogAppsType AllowedAppList -PrivateCatalogAppsType AllowedAppList -DefaultCatalogApps @() -GlobalCatalogApps @() -PrivateCatalogApps @() + +$ListsApp = New-Object -TypeName Microsoft.Teams.Policy.Administration.Cmdlets.Core.DefaultCatalogApp -Property @{Id="0d820ecd-def2-4297-adad-78056cde7c78"} +$OneNoteApp = New-Object -TypeName Microsoft.Teams.Policy.Administration.Cmdlets.Core.DefaultCatalogApp -Property @{Id="26bc2873-6023-480c-a11b-76b66605ce8c"} +$DefaultCatalogAppList = @($ListsApp,$OneNoteApp) +# set allow Lists and OneNote apps and block other Microsoft apps +Set-CsTeamsAppPermissionPolicy -Identity Set-$identity -DefaultCatalogAppsType AllowedAppList -DefaultCatalogApps $DefaultCatalogAppList + + This example allows Microsoft Lists and OneNote apps and blocks other Microsoft apps. Microsoft Lists and OneNote can be installed by your users. + + + + -------------------------- Example 4 -------------------------- + $identity = "TestTeamsAppPermissionPolicy" + (Get-Date -Format FileDateTimeUniversal) +# create a new Teams app permission policy and block all apps +New-CsTeamsAppPermissionPolicy -Identity Set-$identity -DefaultCatalogAppsType AllowedAppList -GlobalCatalogAppsType AllowedAppList -PrivateCatalogAppsType AllowedAppList -DefaultCatalogApps @() -GlobalCatalogApps @() -PrivateCatalogApps @() +$TaskListApp = New-Object -TypeName Microsoft.Teams.Policy.Administration.Cmdlets.Core.GlobalCatalogApp -Property @{Id="57c81e84-9b7b-4783-be4e-0b7ffc0719af"} +$OnePlanApp = New-Object -TypeName Microsoft.Teams.Policy.Administration.Cmdlets.Core.GlobalCatalogApp -Property @{Id="ca0540bf-6b61-3027-6313-a7cb4470bf1b"} +$GlobalCatalogAppList = @($TaskListApp,$OnePlanApp) +# set allow TaskList and OnePlan apps and block other Third-party apps +Set-CsTeamsAppPermissionPolicy -Identity Set-$identity -GlobalCatalogAppsType AllowedAppList -GlobalCatalogApps $GlobalCatalogAppList + + This example allows third-party TaskList and OnePlan apps and blocks other third-party apps. TaskList and OnePlan can be installed by your users. + + + + -------------------------- Example 5 -------------------------- + $identity = "TestTeamsAppPermissionPolicy" + (Get-Date -Format FileDateTimeUniversal) +# create a new Teams app permission policy and block all apps +New-CsTeamsAppPermissionPolicy -Identity Set-$identity -DefaultCatalogAppsType BlockedAppList -GlobalCatalogAppsType BlockedAppList -PrivateCatalogAppsType BlockedAppList -DefaultCatalogApps @() -GlobalCatalogApps @() -PrivateCatalogApps @() +$GetStartApp = New-Object -TypeName Microsoft.Teams.Policy.Administration.Cmdlets.Core.PrivateCatalogApp -Property @{Id="f8374f94-b179-4cd2-8343-9514dc5ea377"} +$TestBotApp = New-Object -TypeName Microsoft.Teams.Policy.Administration.Cmdlets.Core.PrivateCatalogApp -Property @{Id="47fa3584-9366-4ce7-b1eb-07326c6ba799"} +$PrivateCatalogAppList = @($GetStartApp,$TestBotApp) +# set allow TaskList and OnePlan apps and block other custom apps +Set-CsTeamsAppPermissionPolicy -Identity Set-$identity -PrivateCatalogAppsType AllowedAppList -PrivateCatalogApps $PrivateCatalogAppList + + This example allows custom GetStartApp and TestBotApp apps and blocks other custom apps. GetStartApp and TestBotApp can be installed by your users. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamsapppermissionpolicy + + + + + + Set-CsTeamsAppSetupPolicy + Set + CsTeamsAppSetupPolicy + + NOTE : The existence of this cmdlet is being documented for completeness, but do not use this cmdlet. We require that all creation and modification of app setup polices (not including the assignment or removal of policies from users) happens in the Microsoft Teams & Skype for Business Admin Center to ensure that the policy matches your expectations for the end user experience. + As an admin, you can use app setup policies to customize Microsoft Teams to highlight the apps that are most important for your users. You choose the apps to pin and set the order that they appear. App setup policies let you showcase apps that users in your organization need, including ones built by third parties or by developers in your organization. You can also use app setup policies to manage how built-in features appear. + Apps are pinned to the app bar. This is the bar on the side of the Teams desktop client and at the bottom of the Teams mobile clients (iOS and Android). Learn more about the App Setup Policies: <https://learn.microsoft.com/MicrosoftTeams/teams-app-setup-policies>. + + + + NOTE : The existence of this cmdlet is being documented for completeness, but do not use this cmdlet. We require that all creation and modification of app setup polices (not including the assignment or removal of policies from users) happens in the Microsoft Teams & Skype for Business Admin Center to ensure that the policy matches your expectations for the end user experience. + As an admin, you can use app setup policies to customize Microsoft Teams to highlight the apps that are most important for your users. You choose the apps to pin and set the order that they appear. App setup policies let you showcase apps that users in your organization need, including ones built by third parties or by developers in your organization. You can also use app setup policies to manage how built-in features appear. + Apps are pinned to the app bar. This is the bar on the side of the Teams desktop client and at the bottom of the Teams mobile clients (iOS and Android). Learn more about the App Setup Policies: <https://learn.microsoft.com/MicrosoftTeams/teams-app-setup-policies>. + + + + Set-CsTeamsAppSetupPolicy + + Identity + + Name of app setup policy. If empty, all identities will be used by default. + + XdsIdentity + + XdsIdentity + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Description + + Description of App setup policy. + + String + + String + + + None + + + Force + + Do not use. + + + SwitchParameter + + + False + + + AllowUserPinning + + If you turn this on, the user's existing app pins will be added to the list of pinned apps set in this policy. Users can rearrange, add, and remove pins as they choose. If you turn this off, the user's existing app pins will be removed and replaced with the apps defined in this policy. + + Boolean + + Boolean + + + None + + + AllowSideLoading + + This is also known as side loading. This setting determines if a user can upload a custom app package in the Teams app. Turning it on lets you create or develop a custom app to be used personally or across your organization without having to submit it to the Teams app store. Uploading a custom app also lets you test an app before you distribute it more widely by only assigning it to a single user or group of users. + + Boolean + + Boolean + + + None + + + PinnedAppBarApps + + Pinning an app displays the app in the app bar in Teams client. Admins can pin apps and they can allow users to pin apps. Pinning is used to highlight apps that users need the most and promote ease of access. + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PinnedApp[] + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PinnedApp[] + + + None + + + PinnedMessageBarApps + + Apps will be pinned in messaging extensions and into the ellipsis menu. + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PinnedMessageBarApp[] + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PinnedMessageBarApp[] + + + None + + + AppPresetList + + Choose which apps and messaging extensions you want to be installed in your users' personal Teams environment and in meetings they create. Users can install other available apps from the Teams app store. + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.AppPreset[] + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.AppPreset[] + + + None + + + Tenant + + Do not use. + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Set-CsTeamsAppSetupPolicy + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Description + + Description of App setup policy. + + String + + String + + + None + + + Force + + Do not use. + + + SwitchParameter + + + False + + + Instance + + Do not use. + + PSObject + + PSObject + + + None + + + AllowUserPinning + + If you turn this on, the user's existing app pins will be added to the list of pinned apps set in this policy. Users can rearrange, add, and remove pins as they choose. If you turn this off, the user's existing app pins will be removed and replaced with the apps defined in this policy. + + Boolean + + Boolean + + + None + + + AllowSideLoading + + This is also known as side loading. This setting determines if a user can upload a custom app package in the Teams app. Turning it on lets you create or develop a custom app to be used personally or across your organization without having to submit it to the Teams app store. Uploading a custom app also lets you test an app before you distribute it more widely by only assigning it to a single user or group of users. + + Boolean + + Boolean + + + None + + + PinnedAppBarApps + + Pinning an app displays the app in the app bar in Teams client. Admins can pin apps and they can allow users to pin apps. Pinning is used to highlight apps that users need the most and promote ease of access. + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PinnedApp[] + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PinnedApp[] + + + None + + + PinnedMessageBarApps + + Apps will be pinned in messaging extensions and into the ellipsis menu. + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PinnedMessageBarApp[] + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PinnedMessageBarApp[] + + + None + + + AppPresetList + + Choose which apps and messaging extensions you want to be installed in your users' personal Teams environment and in meetings they create. Users can install other available apps from the Teams app store. + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.AppPreset[] + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.AppPreset[] + + + None + + + Tenant + + Do not use. + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Description + + Description of App setup policy. + + String + + String + + + None + + + Force + + Do not use. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Name of app setup policy. If empty, all identities will be used by default. + + XdsIdentity + + XdsIdentity + + + None + + + Instance + + Do not use. + + PSObject + + PSObject + + + None + + + AllowUserPinning + + If you turn this on, the user's existing app pins will be added to the list of pinned apps set in this policy. Users can rearrange, add, and remove pins as they choose. If you turn this off, the user's existing app pins will be removed and replaced with the apps defined in this policy. + + Boolean + + Boolean + + + None + + + AllowSideLoading + + This is also known as side loading. This setting determines if a user can upload a custom app package in the Teams app. Turning it on lets you create or develop a custom app to be used personally or across your organization without having to submit it to the Teams app store. Uploading a custom app also lets you test an app before you distribute it more widely by only assigning it to a single user or group of users. + + Boolean + + Boolean + + + None + + + PinnedAppBarApps + + Pinning an app displays the app in the app bar in Teams client. Admins can pin apps and they can allow users to pin apps. Pinning is used to highlight apps that users need the most and promote ease of access. + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PinnedApp[] + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PinnedApp[] + + + None + + + PinnedMessageBarApps + + Apps will be pinned in messaging extensions and into the ellipsis menu. + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PinnedMessageBarApp[] + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PinnedMessageBarApp[] + + + None + + + AppPresetList + + Choose which apps and messaging extensions you want to be installed in your users' personal Teams environment and in meetings they create. Users can install other available apps from the Teams app store. + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.AppPreset[] + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.AppPreset[] + + + None + + + Tenant + + Do not use. + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.AppPreset + + + + + + + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PinnedApp + + + + + + + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.PinnedMessageBarApp + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + # Create new teams app setup policy named "Set-Test". +New-CsTeamsAppSetupPolicy -Identity 'Set-Test' +Set-CsTeamsAppSetupPolicy -Identity 'Set-Test' -AllowUserPinning $true -AllowSideLoading $false + + Step 1: Create a new Teams app setup policy named "Set-Test". Step 2: Set AllowUserPinning as true, AllowSideLoading as false. + + + + -------------------------- Example 2 -------------------------- + New-CsTeamsAppSetupPolicy -Identity 'Set-Test' +$ActivityApp = New-Object -TypeName Microsoft.Teams.Policy.Administration.Cmdlets.Core.PinnedApp -Property @{Id="14d6962d-6eeb-4f48-8890-de55454bb136"} +$ChatApp = New-Object -TypeName Microsoft.Teams.Policy.Administration.Cmdlets.Core.PinnedApp -Property @{Id="86fcd49b-61a2-4701-b771-54728cd291fb"} +$TeamsApp = New-Object -TypeName Microsoft.Teams.Policy.Administration.Cmdlets.Core.PinnedApp -Property @{Id="2a84919f-59d8-4441-a975-2a8c2643b741"} +$PinnedAppBarApps = @($ActivityApp,$ChatApp,$TeamsApp) +Set-CsTeamsAppSetupPolicy -Identity 'Set-Test' -PinnedAppBarApps $PinnedAppBarApps + + Step 1: Create new teams app setup policy named "Set-Test". Step 2: Set ActivityApp, ChatApp, TeamsApp as PinnedAppBarApps. Step 3: Settings to pin these apps to the app bar in Teams client. + + + + -------------------------- Example 3 -------------------------- + New-CsTeamsAppSetupPolicy -Identity 'Set-Test' +$VivaConnectionsApp = New-Object -TypeName Microsoft.Teams.Policy.Administration.Cmdlets.Core.PinnedMessageBarApp -Property @{Id="d2c6f111-ffad-42a0-b65e-ee00425598aa"} +$PinnedMessageBarApps = @($VivaConnectionsApp) +Set-CsTeamsAppSetupPolicy -Identity 'Set-Test' -PinnedMessageBarApps $PinnedMessageBarApps + + Step 1: Create new teams app setup policy named "Set-Test". Step 2: Set VivaConnectionsApp as PinnedAppBarApps. Step 3: Settings to pin these apps to the messaging extension in Teams client. + + + + -------------------------- Example 4 -------------------------- + New-CsTeamsAppSetupPolicy -Identity 'Set-Test' +$VivaConnectionsApp = New-Object -TypeName Microsoft.Teams.Policy.Administration.Cmdlets.Core.AppPreset -Property @{Id="d2c6f111-ffad-42a0-b65e-ee00425598aa"} +$AppPresetList = @($VivaConnectionsApp) +Set-CsTeamsAppSetupPolicy -Identity 'Set-Test' -AppPresetList $AppPresetList + + Step 1: Create new teams app setup policy named "Set-Test". Step 2: Set VivaConnectionsApp as AppPresetList Step 3: Settings to install these apps in your users' personal Teams environment. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamsappsetuppolicy + + + + + + Set-CsTeamsCallHoldPolicy + Set + CsTeamsCallHoldPolicy + + Modifies an existing Teams call hold policy in your tenant. The Teams call hold policy is used to customize the call hold experience for Teams clients. + + + + Teams call hold policies are used to customize the call hold experience for teams clients. + When Microsoft Teams users participate in calls, they have the ability to hold a call and have the other entity in the call listen to an audio file during the duration of the hold. + Assigning a Teams call hold policy to a user sets an audio file to be played during the duration of the hold. + + + + Set-CsTeamsCallHoldPolicy + + Identity + + Unique identifier of the Teams call hold policy being modified. + + String + + String + + + None + + + Description + + Enables administrators to provide explanatory text to accompany a Teams call hold policy. + For example, the Description might include information about the users the policy should be assigned to. + + String + + String + + + None + + + AudioFileId + + A string representing the ID referencing an audio file uploaded via the Import-CsOnlineAudioFile cmdlet. + + String + + String + + + None + + + StreamingSourceUrl + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + StreamingSourceAuthType + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Identity + + Unique identifier of the Teams call hold policy being modified. + + String + + String + + + None + + + Description + + Enables administrators to provide explanatory text to accompany a Teams call hold policy. + For example, the Description might include information about the users the policy should be assigned to. + + String + + String + + + None + + + AudioFileId + + A string representing the ID referencing an audio file uploaded via the Import-CsOnlineAudioFile cmdlet. + + String + + String + + + None + + + StreamingSourceUrl + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + StreamingSourceAuthType + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.Management.Automation.PSObject + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-CsTeamsCallHoldPolicy -Identity "ContosoPartnerTeamsCallHoldPolicy" -AudioFileId "c65233-ac2a27-98701b-123ccc" + + The command shown in Example 1 modifies an existing per-user Teams call hold policy with the Identity ContosoPartnerTeamsCallHoldPolicy. + This policy is re-assigned the audio file ID to be used to: c65233-ac2a27-98701b-123ccc, which is the ID referencing an audio file that was uploaded using the Import-CsOnlineAudioFile cmdlet. + Any Microsoft Teams users who are assigned this policy will have their call holds customized such that the user being held will hear the audio file specified by AudioFileId. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Set-CsTeamsCallHoldPolicy -Identity "ContosoPartnerTeamsCallHoldPolicy" -Description "country music" + + The command shown in Example 2 modifies an existing per-user Teams call hold policy with the Identity ContosoPartnerTeamsCallHoldPolicy. + This policy is re-assigned the description from its existing value to "country music". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamscallholdpolicy + + + Get-CsTeamsCallHoldPolicy + + + + New-CsTeamsCallHoldPolicy + + + + Grant-CsTeamsCallHoldPolicy + + + + Remove-CsTeamsCallHoldPolicy + + + + Import-CsOnlineAudioFile + + + + + + + Set-CsTeamsCallingPolicy + Set + CsTeamsCallingPolicy + + Use this cmdlet to update values in existing Teams Calling Policies. + + + + The Teams Calling Policy controls which calling and call forwarding features are available to users in Microsoft Teams. This cmdlet allows admins to set values in a given Calling Policy instance. + Only the parameters specified are changed. Other parameters keep their existing values. + + + + Set-CsTeamsCallingPolicy + + Identity + + Name of the policy instance being created. + + String + + String + + + None + + + AllowCallForwardingToPhone + + Enables the user to configure in the Microsoft Teams client call forwarding or simultaneous ringing of inbound calls to any phone number. + + Boolean + + Boolean + + + None + + + AllowCallForwardingToUser + + Enables the user to configure in the Microsoft Teams client call forwarding or simultaneous ringing of inbound calls to other users in your tenant. + + Boolean + + Boolean + + + None + + + AllowCallGroups + + Enables the user to configure call groups in the Microsoft Teams client and that inbound calls should be routed to call groups. + + Boolean + + Boolean + + + None + + + AllowCallRedirect + + Setting this parameter enables local call redirection for SIP devices connecting via the Microsoft Teams SIP gateway. + Valid options are: - Enabled: Enables the user to redirect an incoming call. + - Disabled: The user is not enabled to redirect an incoming call. + - UserOverride: This option is not available for use. + + String + + String + + + None + + + AllowCloudRecordingForCalls + + Determines whether cloud recording is allowed in a user's 1:1 Teams or PSTN calls. Set this to True to allow the user to be able to record 1:1 calls. Set this to False to prohibit the user from recording 1:1 calls. + + Boolean + + Boolean + + + None + + + AllowDelegation + + Enables the user to configure delegation in the Microsoft Teams client and that inbound calls to be routed to delegates; allows delegates to make outbound calls on behalf of the users for whom they have delegated permissions. + + Boolean + + Boolean + + + None + + + AllowPrivateCalling + + Controls all calling capabilities in Teams. Turning this off will turn off all calling functionality in Teams. If you use Skype for Business for calling, this policy will not affect calling functionality in Skype for Business. + + Boolean + + Boolean + + + None + + + AllowSIPDevicesCalling + + Determines whether the user is allowed to use a SIP device for calling on behalf of a Teams client. + + Boolean + + Boolean + + + None + + + AllowTranscriptionForCalling + + Determines whether post-call transcriptions are allowed. Set this to True to allow. Set this to False to prohibit. + + Boolean + + Boolean + + + None + + + AllowVoicemail + + Enables inbound calls to be routed to voicemail. + Valid options are: - AlwaysEnabled: Calls are always forwarded to voicemail on unanswered after ringing for thirty seconds, regardless of the unanswered call forward setting for the user. + - AlwaysDisabled: Calls are never routed to voicemail, regardless of the call forward or unanswered settings for the user. Voicemail isn't available as a call forwarding or unanswered setting in Teams. + - UserOverride: Calls are forwarded to voicemail based on the call forwarding and/or unanswered settings for the user. + + String + + String + + + None + + + AllowWebPSTNCalling + + Allows PSTN calling from the Teams web client. + + Object + + Object + + + None + + + BusyOnBusyEnabledType + + Setting this parameter lets you configure how incoming calls are handled when a user is already in a call or conference or has a call placed on hold. + Valid options are: - Enabled: New or incoming calls will be rejected with a busy signal. + - Unanswered: The user's unanswered settings will take effect, such as routing to voicemail or forwarding to another user. + - Disabled: New or incoming calls will be presented to the user. + - UserOverride: Users can set their busy options directly from call settings in Teams app. + + String + + String + + + None + + + CallRecordingExpirationDays + + Sets the expiration of the recorded 1:1 calls. Default is 60 days. + + Long + + Long + + + None + + + Description + + Enables administrators to provide explanatory text about the calling policy. For example, the Description might indicate the users to whom the policy should be assigned. + + String + + String + + + None + + + InboundFederatedCallRoutingTreatment + + Setting this parameter lets you control how inbound federated calls should be routed. + Valid options are: - RegularIncoming: No changes are made to default inbound routing. This is the default setting. + - Unanswered: The inbound federated call will be routed according to the called user's unanswered call settings and the call will not be presented to the called user. The called user will see a missed call notification. If the called user has not enabled unanswered call settings the call will be disconnected. + - Voicemail: The inbound federated call will be routed directly to the called user's voicemail and the call will not be presented to the user. If the called user does not have voicemail enabled the call will be disconnected. + + Setting this parameter to Unanswered or Voicemail will have precedence over other call forwarding settings like call forward/simultaneous ringing to delegate, call groups, or call forwarding. + + String + + String + + + RegularIncoming + + + InboundPstnCallRoutingTreatment + + Setting this parameter lets you control how inbound PSTN calls should be routed. + Valid options are: - RegularIncoming: No changes are made to default inbound routing. This is the default setting. + - Unanswered: The inbound PSTN call will be routed according to the called user's unanswered call settings and the call will not be presented to the called user. The called user will see a missed call notification. If the called user has not enabled unanswered call settings the call will be disconnected. + - Voicemail: The inbound PSTN call will be routed directly to the called user's voicemail and the call will not be presented to the user. If the called user does not have voicemail enabled the call will be disconnected. + - UserOverride: Users can determine their PSTN call routing choice from call settings in the Teams app. + + Setting this parameter to Unanswered or Voicemail will have precedence over other call forwarding settings like call forward/simultaneous ringing to delegate, call groups, or call forwarding. + + String + + String + + + RegularIncoming + + + LiveCaptionsEnabledTypeForCalling + + Determines whether real-time captions are available for the user in Teams calls. + Valid options are: - DisabledUserOverride: Allows the user to turn on live captions. + - Disabled: Prohibits the user from turning on live captions. + + String + + String + + + None + + + MusicOnHoldEnabledType + + Setting this parameter allows you to turn on or turn off the music on hold when a caller is placed on hold. + Valid options are: - Enabled: Music on hold is enabled. This is the default. + - Disabled: Music on hold is disabled. + - UserOverride: For now, setting the value to UserOverride is the same as Enabled. + + String + + String + + + Enabled + + + PopoutAppPathForIncomingPstnCalls + + Setting this parameter allows you to set the PopoutForIncomingPstnCalls setting's URL path of the website to launch upon receiving incoming PSTN calls. This parameter accepts an HTTPS URL with less than 1024 characters. The URL can contain a `{phone}` placeholder that is replaced with the caller's PSTN number in E.164 format when launched. + + String + + String + + + "" + + + PopoutForIncomingPstnCalls + + Setting this parameter allows you to control the tenant users' ability to launch an external website URL automatically in the browser window upon incoming PSTN calls for specific users or user groups. Valid options are Enabled and Disabled. + + String + + String + + + Disabled + + + PreventTollBypass + + Setting this parameter to True will send calls through PSTN and incur charges rather than going through the network and bypassing the tolls. Note : Do not set this parameter to True for Calling Plan or Operator Connect users as it will prevent successful call routing. This setting only works with Direct Routing which is configured to handle location-based routing restrictions. + + Boolean + + Boolean + + + None + + + SpamFilteringEnabledType + + Determines if spam detection is enabled for inbound PSTN calls. + Possible values: - Enabled: Spam detection is enabled. In case the inbound call is considered spam, the user will get a "Spam Likely" label in Teams. + - Disabled: Spam detection is disabled. + + String + + String + + + None + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + AllowCallForwardingToPhone + + Enables the user to configure in the Microsoft Teams client call forwarding or simultaneous ringing of inbound calls to any phone number. + + Boolean + + Boolean + + + None + + + AllowCallForwardingToUser + + Enables the user to configure in the Microsoft Teams client call forwarding or simultaneous ringing of inbound calls to other users in your tenant. + + Boolean + + Boolean + + + None + + + AllowCallGroups + + Enables the user to configure call groups in the Microsoft Teams client and that inbound calls should be routed to call groups. + + Boolean + + Boolean + + + None + + + AllowCallRedirect + + Setting this parameter enables local call redirection for SIP devices connecting via the Microsoft Teams SIP gateway. + Valid options are: - Enabled: Enables the user to redirect an incoming call. + - Disabled: The user is not enabled to redirect an incoming call. + - UserOverride: This option is not available for use. + + String + + String + + + None + + + AllowCloudRecordingForCalls + + Determines whether cloud recording is allowed in a user's 1:1 Teams or PSTN calls. Set this to True to allow the user to be able to record 1:1 calls. Set this to False to prohibit the user from recording 1:1 calls. + + Boolean + + Boolean + + + None + + + AllowDelegation + + Enables the user to configure delegation in the Microsoft Teams client and that inbound calls to be routed to delegates; allows delegates to make outbound calls on behalf of the users for whom they have delegated permissions. + + Boolean + + Boolean + + + None + + + AllowPrivateCalling + + Controls all calling capabilities in Teams. Turning this off will turn off all calling functionality in Teams. If you use Skype for Business for calling, this policy will not affect calling functionality in Skype for Business. + + Boolean + + Boolean + + + None + + + AllowSIPDevicesCalling + + Determines whether the user is allowed to use a SIP device for calling on behalf of a Teams client. + + Boolean + + Boolean + + + None + + + AllowTranscriptionForCalling + + Determines whether post-call transcriptions are allowed. Set this to True to allow. Set this to False to prohibit. + + Boolean + + Boolean + + + None + + + AllowVoicemail + + Enables inbound calls to be routed to voicemail. + Valid options are: - AlwaysEnabled: Calls are always forwarded to voicemail on unanswered after ringing for thirty seconds, regardless of the unanswered call forward setting for the user. + - AlwaysDisabled: Calls are never routed to voicemail, regardless of the call forward or unanswered settings for the user. Voicemail isn't available as a call forwarding or unanswered setting in Teams. + - UserOverride: Calls are forwarded to voicemail based on the call forwarding and/or unanswered settings for the user. + + String + + String + + + None + + + AllowWebPSTNCalling + + Allows PSTN calling from the Teams web client. + + Object + + Object + + + None + + + BusyOnBusyEnabledType + + Setting this parameter lets you configure how incoming calls are handled when a user is already in a call or conference or has a call placed on hold. + Valid options are: - Enabled: New or incoming calls will be rejected with a busy signal. + - Unanswered: The user's unanswered settings will take effect, such as routing to voicemail or forwarding to another user. + - Disabled: New or incoming calls will be presented to the user. + - UserOverride: Users can set their busy options directly from call settings in Teams app. + + String + + String + + + None + + + CallRecordingExpirationDays + + Sets the expiration of the recorded 1:1 calls. Default is 60 days. + + Long + + Long + + + None + + + Description + + Enables administrators to provide explanatory text about the calling policy. For example, the Description might indicate the users to whom the policy should be assigned. + + String + + String + + + None + + + Identity + + Name of the policy instance being created. + + String + + String + + + None + + + InboundFederatedCallRoutingTreatment + + Setting this parameter lets you control how inbound federated calls should be routed. + Valid options are: - RegularIncoming: No changes are made to default inbound routing. This is the default setting. + - Unanswered: The inbound federated call will be routed according to the called user's unanswered call settings and the call will not be presented to the called user. The called user will see a missed call notification. If the called user has not enabled unanswered call settings the call will be disconnected. + - Voicemail: The inbound federated call will be routed directly to the called user's voicemail and the call will not be presented to the user. If the called user does not have voicemail enabled the call will be disconnected. + + Setting this parameter to Unanswered or Voicemail will have precedence over other call forwarding settings like call forward/simultaneous ringing to delegate, call groups, or call forwarding. + + String + + String + + + RegularIncoming + + + InboundPstnCallRoutingTreatment + + Setting this parameter lets you control how inbound PSTN calls should be routed. + Valid options are: - RegularIncoming: No changes are made to default inbound routing. This is the default setting. + - Unanswered: The inbound PSTN call will be routed according to the called user's unanswered call settings and the call will not be presented to the called user. The called user will see a missed call notification. If the called user has not enabled unanswered call settings the call will be disconnected. + - Voicemail: The inbound PSTN call will be routed directly to the called user's voicemail and the call will not be presented to the user. If the called user does not have voicemail enabled the call will be disconnected. + - UserOverride: Users can determine their PSTN call routing choice from call settings in the Teams app. + + Setting this parameter to Unanswered or Voicemail will have precedence over other call forwarding settings like call forward/simultaneous ringing to delegate, call groups, or call forwarding. + + String + + String + + + RegularIncoming + + + LiveCaptionsEnabledTypeForCalling + + Determines whether real-time captions are available for the user in Teams calls. + Valid options are: - DisabledUserOverride: Allows the user to turn on live captions. + - Disabled: Prohibits the user from turning on live captions. + + String + + String + + + None + + + MusicOnHoldEnabledType + + Setting this parameter allows you to turn on or turn off the music on hold when a caller is placed on hold. + Valid options are: - Enabled: Music on hold is enabled. This is the default. + - Disabled: Music on hold is disabled. + - UserOverride: For now, setting the value to UserOverride is the same as Enabled. + + String + + String + + + Enabled + + + PopoutAppPathForIncomingPstnCalls + + Setting this parameter allows you to set the PopoutForIncomingPstnCalls setting's URL path of the website to launch upon receiving incoming PSTN calls. This parameter accepts an HTTPS URL with less than 1024 characters. The URL can contain a `{phone}` placeholder that is replaced with the caller's PSTN number in E.164 format when launched. + + String + + String + + + "" + + + PopoutForIncomingPstnCalls + + Setting this parameter allows you to control the tenant users' ability to launch an external website URL automatically in the browser window upon incoming PSTN calls for specific users or user groups. Valid options are Enabled and Disabled. + + String + + String + + + Disabled + + + PreventTollBypass + + Setting this parameter to True will send calls through PSTN and incur charges rather than going through the network and bypassing the tolls. Note : Do not set this parameter to True for Calling Plan or Operator Connect users as it will prevent successful call routing. This setting only works with Direct Routing which is configured to handle location-based routing restrictions. + + Boolean + + Boolean + + + None + + + SpamFilteringEnabledType + + Determines if spam detection is enabled for inbound PSTN calls. + Possible values: - Enabled: Spam detection is enabled. In case the inbound call is considered spam, the user will get a "Spam Likely" label in Teams. + - Disabled: Spam detection is disabled. + + String + + String + + + None + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.Management.Automation.PSObject + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-CsTeamsCallingPolicy -Identity Global -AllowPrivateCalling $true + + Sets the value of the parameter AllowPrivateCalling in the Global (default) Teams Calling Policy instance. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Set-CsTeamsCallingPolicy -Identity HRPolicy -LiveCaptionsEnabledTypeForCalling Disabled + + Sets the value of the parameter LiveCaptionsEnabledTypeForCalling to Disabled in the Teams Calling Policy instance called HRPolicy. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamscallingpolicy + + + Get-CsTeamsCallingPolicy + + + + Remove-CsTeamsCallingPolicy + + + + Grant-CsTeamsCallingPolicy + + + + New-CsTeamsCallingPolicy + + + + + + + Set-CsTeamsChannelsPolicy + Set + CsTeamsChannelsPolicy + + The CsTeamsChannelsPolicy allows you to manage features related to the Teams and Channels experience within the Teams application. + + + + The CsTeamsChannelsPolicy allows you to manage features related to the Teams & Channels experience within the Teams application. + This cmdlet allows you to update existing policies of this type. + + + + Set-CsTeamsChannelsPolicy + + Identity + + Use this parameter to specify the name of the policy being updated. + + XdsIdentity + + XdsIdentity + + + None + + + EnablePrivateTeamDiscovery + + Determines whether a user is allowed to discover private teams in suggestions and search results. Set this to TRUE to allow. Set this FALSE to prohibit. + + Boolean + + Boolean + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Bypass all non-fatal errors. + + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + AllowOrgWideTeamCreation + + Determines whether a user is allowed to create an org-wide team. Set this to TRUE to allow. Set this FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowPrivateChannelCreation + + Determines whether a user is allowed to create a private channel. Set this to TRUE to allow. Set this FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowChannelSharingToExternalUser + + Owners of a shared channel can invite external users to join the channel if Microsoft Entra external sharing policies are configured. If the channel has been shared with an external member or team, they will continue to have access to the channel even if this parameter is set to FALSE. For more information, see Manage channel policies in Microsoft Teams (/microsoftteams/teams-policies). + + Boolean + + Boolean + + + None + + + AllowSharedChannelCreation + + Team owners can create shared channels for people within and outside the organization. Only people added to the shared channel can read and write messages. + + Boolean + + Boolean + + + None + + + AllowUserToParticipateInExternalSharedChannel + + Users and teams can be invited to external shared channels if Microsoft Entra external sharing policies are configured. If a team in your organization is part of an external shared channel, new team members will have access to the channel even if this parameter is set to FALSE. For more information, see Manage channel policies in Microsoft Teams (/microsoftteams/teams-policies). + + Boolean + + Boolean + + + None + + + + Set-CsTeamsChannelsPolicy + + EnablePrivateTeamDiscovery + + Determines whether a user is allowed to discover private teams in suggestions and search results. Set this to TRUE to allow. Set this FALSE to prohibit. + + Boolean + + Boolean + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Bypass all non-fatal errors. + + + SwitchParameter + + + False + + + Instance + + Use this parameter to pass the policy object output of Get-CsTeamsChannelsPolicy to update that policy. + + PSObject + + PSObject + + + None + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + AllowOrgWideTeamCreation + + Determines whether a user is allowed to create an org-wide team. Set this to TRUE to allow. Set this FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowPrivateChannelCreation + + Determines whether a user is allowed to create a private channel. Set this to TRUE to allow. Set this FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowChannelSharingToExternalUser + + Owners of a shared channel can invite external users to join the channel if Microsoft Entra external sharing policies are configured. If the channel has been shared with an external member or team, they will continue to have access to the channel even if this parameter is set to FALSE. For more information, see Manage channel policies in Microsoft Teams (/microsoftteams/teams-policies). + + Boolean + + Boolean + + + None + + + AllowSharedChannelCreation + + Team owners can create shared channels for people within and outside the organization. Only people added to the shared channel can read and write messages. + + Boolean + + Boolean + + + None + + + AllowUserToParticipateInExternalSharedChannel + + Users and teams can be invited to external shared channels if Microsoft Entra external sharing policies are configured. If a team in your organization is part of an external shared channel, new team members will have access to the channel even if this parameter is set to FALSE. For more information, see Manage channel policies in Microsoft Teams (/microsoftteams/teams-policies). + + Boolean + + Boolean + + + None + + + + + + EnablePrivateTeamDiscovery + + Determines whether a user is allowed to discover private teams in suggestions and search results. Set this to TRUE to allow. Set this FALSE to prohibit. + + Boolean + + Boolean + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + Bypass all non-fatal errors. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Use this parameter to specify the name of the policy being updated. + + XdsIdentity + + XdsIdentity + + + None + + + Instance + + Use this parameter to pass the policy object output of Get-CsTeamsChannelsPolicy to update that policy. + + PSObject + + PSObject + + + None + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + AllowOrgWideTeamCreation + + Determines whether a user is allowed to create an org-wide team. Set this to TRUE to allow. Set this FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowPrivateChannelCreation + + Determines whether a user is allowed to create a private channel. Set this to TRUE to allow. Set this FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowChannelSharingToExternalUser + + Owners of a shared channel can invite external users to join the channel if Microsoft Entra external sharing policies are configured. If the channel has been shared with an external member or team, they will continue to have access to the channel even if this parameter is set to FALSE. For more information, see Manage channel policies in Microsoft Teams (/microsoftteams/teams-policies). + + Boolean + + Boolean + + + None + + + AllowSharedChannelCreation + + Team owners can create shared channels for people within and outside the organization. Only people added to the shared channel can read and write messages. + + Boolean + + Boolean + + + None + + + AllowUserToParticipateInExternalSharedChannel + + Users and teams can be invited to external shared channels if Microsoft Entra external sharing policies are configured. If a team in your organization is part of an external shared channel, new team members will have access to the channel even if this parameter is set to FALSE. For more information, see Manage channel policies in Microsoft Teams (/microsoftteams/teams-policies). + + Boolean + + Boolean + + + None + + + + + + System.Management.Automation.PSObject + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-CsTeamsChannelsPolicy -Identity StudentPolicy -EnablePrivateTeamDiscovery $true + + This example shows updating an existing policy with name "StudentPolicy" and enabling Private Team Discovery. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamschannelspolicy + + + New-CsTeamsChannelsPolicy + + + + Remove-CsTeamsChannelsPolicy + + + + Grant-CsTeamsChannelsPolicy + + + + Get-CsTeamsChannelsPolicy + + + + + + + Set-CsTeamsComplianceRecordingApplication + Set + CsTeamsComplianceRecordingApplication + + Modifies an existing association between an application instance of a policy-based recording application and a Teams recording policy for administering automatic policy-based recording in your tenant. Automatic policy-based recording is only applicable to Microsoft Teams users. + + + + Policy-based recording applications are used in automatic policy-based recording scenarios. When Microsoft Teams users participate in meetings or make or receive calls, the policy-based recording applications i.e. bots associated with the user's Teams recording policy are invited into the call or meeting to enforce compliance with the administrative set policy. + Instances of these applications are created using CsOnlineApplicationInstance cmdlets and are then associated with Teams recording policies. + Note that application instances of policy-based recording applications must be associated with a Teams recording policy using the CsTeamsComplianceRecordingApplication cmdlets. Once the association is done, the Identity of these application instances becomes <Identity of the associated Teams recording policy>/<ObjectId of the application instance>. For example, the Identity of an application instance can be \"Tag:ContosoPartnerComplianceRecordingPolicy/39dc3ede-c80e-4f19-9153-417a65a1f144\", which indicates that the application instance with ObjectId 39dc3ede-c80e-4f19-9153-417a65a1f144 is associated with the Teams recording policy with Identity ContosoPartnerComplianceRecordingPolicy. + Please work with your Microsoft certified policy-based recording application provider to obtain an instance of their recording application. Please refer to the documentation of the CsOnlineApplicationInstance cmdlets for information on how to create an application instance of a policy-based recording application. Please also refer to the documentation of CsTeamsComplianceRecordingPolicy cmdlets for further information. + + + + Set-CsTeamsComplianceRecordingApplication + + Identity + + A name that uniquely identifies the application instance of the policy-based recording application. + Application instances of policy-based recording applications must be associated with a Teams recording policy using the CsTeamsComplianceRecordingApplication cmdlets. To do this association correctly, the Identity of these application instances must be <Identity of the associated Teams recording policy>/<ObjectId of the application instance>. For example, the Identity of an application instance can be \"Tag:ContosoPartnerComplianceRecordingPolicy/39dc3ede-c80e-4f19-9153-417a65a1f144\", which indicates that the application instance with ObjectId 39dc3ede-c80e-4f19-9153-417a65a1f144 is associated with the Teams recording policy with Identity ContosoPartnerComplianceRecordingPolicy. + + XdsIdentity + + XdsIdentity + + + None + + + RequiredBeforeMeetingJoin + + Indicates whether the policy-based recording application must be in the meeting before the user is allowed to join the meeting. + If this is set to True, the user will not be allowed to join the meeting if the policy-based recording application fails to join the meeting. The meeting will still continue for users who are in the meeting. + If this is set to False, the user will be allowed to join the meeting even if the policy-based recording application fails to join the meeting. + + Boolean + + Boolean + + + True + + + RequiredDuringMeeting + + Indicates whether the policy-based recording application must be in the meeting while the user is in the meeting. + If this is set to True, the user will be ejected from the meeting if the policy-based recording application leaves the meeting or is dropped from the meeting. The meeting will still continue for users who are in the meeting. + If this is set to False, the user will not be ejected from the meeting if the policy-based recording application leaves the meeting or is dropped from the meeting. + + Boolean + + Boolean + + + True + + + RequiredBeforeCallEstablishment + + Indicates whether the policy-based recording application must be in the call before the call is allowed to establish. + If this is set to True, the call will be cancelled if the policy-based recording application fails to join the call. + If this is set to False, call establishment will proceed normally if the policy-based recording application fails to join the call. + + Boolean + + Boolean + + + True + + + RequiredDuringCall + + Indicates whether the policy-based recording application must be in the call while the call is active. + If this is set to True, the call will be cancelled if the policy-based recording application leaves the call or is dropped from the call. + If this is set to False, call establishment will proceed normally if the policy-based recording application leaves the call or is dropped from the call. + + Boolean + + Boolean + + + True + + + ConcurrentInvitationCount + + Determines the number of invites to send out to the application instance of the policy-based recording application. Can be set to 1 or 2 only. + In situations where application resiliency is a necessity, multiple invites can be sent to the same application for the same call or meeting. If multiple such invites are accepted, then it means that multiple instances of this application are in the call or meeting and each of those instances can record independent of the others. + If all of the invites are rejected, the application invitation process is deemed a failure and the other flags for this application control what happens next. Please refer to the documentation of the RequiredBeforeMeetingJoin and RequiredBeforeCallEstablishment parameters. + If at least one of the invites is accepted and the others are rejected, the application invitation process is still deemed a success. + If multiple invites are accepted and all of the instances leave or get dropped from the call or meeting, then the application is no longer in the call or meeting and the other flags for this application control what happens next. Please refer to the documentation of the RequiredDuringMeeting and RequiredDuringCall parameters. + If multiple invites are accepted and at least one of the instances remains in the call or meeting, then the application is in the call or meeting. + Note that application resiliency can be achieved either by sending multiple invites to the same application using ConcurrentInvitationCount or by sending invites to separate paired applications using ComplianceRecordingPairedApplications. However, you cannot do both. Please work with your Microsoft certified policy-based recording application provider to determine if application resiliency is needed for your workflows and how best to achieve application resiliency. + + UInt32 + + UInt32 + + + 1 + + + ComplianceRecordingPairedApplications + + Determines the other policy-based recording applications to pair with this application to achieve application resiliency. Can only have one paired application. + In situations where application resiliency is a necessity, invites can be sent to separate paired applications for the same call or meeting. If multiple such invites are accepted, then it means that multiple instances of this application are in the call or meeting and each of those instances can record independent of the others. + If all of the invites are rejected, the application invitation process is deemed a failure and the other flags for this application control what happens next. Please refer to the documentation of the RequiredBeforeMeetingJoin and RequiredBeforeCallEstablishment parameters. + If at least one of the invites is accepted and the others are rejected, the application invitation process is still deemed a success. + If multiple invites are accepted and all of the instances leave or get dropped from the call or meeting, then the application is no longer in the call or meeting and the other flags for this application control what happens next. Please refer to the documentation of the RequiredDuringMeeting and RequiredDuringCall parameters. + If multiple invites are accepted and at least one of the instances remains in the call or meeting, then the application is in the call or meeting. + Note that application resiliency can be achieved either by sending multiple invites to the same application using ConcurrentInvitationCount or by sending invites to separate paired applications using ComplianceRecordingPairedApplications. However, you cannot do both. Please work with your Microsoft certified policy-based recording application provider to determine if application resiliency is needed for your workflows and how best to achieve application resiliency. + + ComplianceRecordingPairedApplication[] + + ComplianceRecordingPairedApplication[] + + + None + + + Priority + + This priority determines the order in which the policy-based recording applications are displayed in the output of the Get-CsTeamsComplianceRecordingPolicy cmdlet. + All policy-based recording applications are invited in parallel to ensure low call setup and meeting join latencies. So this parameter does not affect the order of invitations to the applications, or any other routing. + + Int32 + + Int32 + + + None + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose Teams recording policies are being queried. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + System.Guid + + System.Guid + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Set-CsTeamsComplianceRecordingApplication + + Instance + + Allows you to pass a reference to an object to the cmdlet rather than set individual parameter values. + + PSObject + + PSObject + + + None + + + RequiredBeforeMeetingJoin + + Indicates whether the policy-based recording application must be in the meeting before the user is allowed to join the meeting. + If this is set to True, the user will not be allowed to join the meeting if the policy-based recording application fails to join the meeting. The meeting will still continue for users who are in the meeting. + If this is set to False, the user will be allowed to join the meeting even if the policy-based recording application fails to join the meeting. + + Boolean + + Boolean + + + True + + + RequiredDuringMeeting + + Indicates whether the policy-based recording application must be in the meeting while the user is in the meeting. + If this is set to True, the user will be ejected from the meeting if the policy-based recording application leaves the meeting or is dropped from the meeting. The meeting will still continue for users who are in the meeting. + If this is set to False, the user will not be ejected from the meeting if the policy-based recording application leaves the meeting or is dropped from the meeting. + + Boolean + + Boolean + + + True + + + RequiredBeforeCallEstablishment + + Indicates whether the policy-based recording application must be in the call before the call is allowed to establish. + If this is set to True, the call will be cancelled if the policy-based recording application fails to join the call. + If this is set to False, call establishment will proceed normally if the policy-based recording application fails to join the call. + + Boolean + + Boolean + + + True + + + RequiredDuringCall + + Indicates whether the policy-based recording application must be in the call while the call is active. + If this is set to True, the call will be cancelled if the policy-based recording application leaves the call or is dropped from the call. + If this is set to False, call establishment will proceed normally if the policy-based recording application leaves the call or is dropped from the call. + + Boolean + + Boolean + + + True + + + ConcurrentInvitationCount + + Determines the number of invites to send out to the application instance of the policy-based recording application. Can be set to 1 or 2 only. + In situations where application resiliency is a necessity, multiple invites can be sent to the same application for the same call or meeting. If multiple such invites are accepted, then it means that multiple instances of this application are in the call or meeting and each of those instances can record independent of the others. + If all of the invites are rejected, the application invitation process is deemed a failure and the other flags for this application control what happens next. Please refer to the documentation of the RequiredBeforeMeetingJoin and RequiredBeforeCallEstablishment parameters. + If at least one of the invites is accepted and the others are rejected, the application invitation process is still deemed a success. + If multiple invites are accepted and all of the instances leave or get dropped from the call or meeting, then the application is no longer in the call or meeting and the other flags for this application control what happens next. Please refer to the documentation of the RequiredDuringMeeting and RequiredDuringCall parameters. + If multiple invites are accepted and at least one of the instances remains in the call or meeting, then the application is in the call or meeting. + Note that application resiliency can be achieved either by sending multiple invites to the same application using ConcurrentInvitationCount or by sending invites to separate paired applications using ComplianceRecordingPairedApplications. However, you cannot do both. Please work with your Microsoft certified policy-based recording application provider to determine if application resiliency is needed for your workflows and how best to achieve application resiliency. + + UInt32 + + UInt32 + + + 1 + + + ComplianceRecordingPairedApplications + + Determines the other policy-based recording applications to pair with this application to achieve application resiliency. Can only have one paired application. + In situations where application resiliency is a necessity, invites can be sent to separate paired applications for the same call or meeting. If multiple such invites are accepted, then it means that multiple instances of this application are in the call or meeting and each of those instances can record independent of the others. + If all of the invites are rejected, the application invitation process is deemed a failure and the other flags for this application control what happens next. Please refer to the documentation of the RequiredBeforeMeetingJoin and RequiredBeforeCallEstablishment parameters. + If at least one of the invites is accepted and the others are rejected, the application invitation process is still deemed a success. + If multiple invites are accepted and all of the instances leave or get dropped from the call or meeting, then the application is no longer in the call or meeting and the other flags for this application control what happens next. Please refer to the documentation of the RequiredDuringMeeting and RequiredDuringCall parameters. + If multiple invites are accepted and at least one of the instances remains in the call or meeting, then the application is in the call or meeting. + Note that application resiliency can be achieved either by sending multiple invites to the same application using ConcurrentInvitationCount or by sending invites to separate paired applications using ComplianceRecordingPairedApplications. However, you cannot do both. Please work with your Microsoft certified policy-based recording application provider to determine if application resiliency is needed for your workflows and how best to achieve application resiliency. + + ComplianceRecordingPairedApplication[] + + ComplianceRecordingPairedApplication[] + + + None + + + Priority + + This priority determines the order in which the policy-based recording applications are displayed in the output of the Get-CsTeamsComplianceRecordingPolicy cmdlet. + All policy-based recording applications are invited in parallel to ensure low call setup and meeting join latencies. So this parameter does not affect the order of invitations to the applications, or any other routing. + + Int32 + + Int32 + + + None + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose Teams recording policies are being queried. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + System.Guid + + System.Guid + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Identity + + A name that uniquely identifies the application instance of the policy-based recording application. + Application instances of policy-based recording applications must be associated with a Teams recording policy using the CsTeamsComplianceRecordingApplication cmdlets. To do this association correctly, the Identity of these application instances must be <Identity of the associated Teams recording policy>/<ObjectId of the application instance>. For example, the Identity of an application instance can be \"Tag:ContosoPartnerComplianceRecordingPolicy/39dc3ede-c80e-4f19-9153-417a65a1f144\", which indicates that the application instance with ObjectId 39dc3ede-c80e-4f19-9153-417a65a1f144 is associated with the Teams recording policy with Identity ContosoPartnerComplianceRecordingPolicy. + + XdsIdentity + + XdsIdentity + + + None + + + Instance + + Allows you to pass a reference to an object to the cmdlet rather than set individual parameter values. + + PSObject + + PSObject + + + None + + + RequiredBeforeMeetingJoin + + Indicates whether the policy-based recording application must be in the meeting before the user is allowed to join the meeting. + If this is set to True, the user will not be allowed to join the meeting if the policy-based recording application fails to join the meeting. The meeting will still continue for users who are in the meeting. + If this is set to False, the user will be allowed to join the meeting even if the policy-based recording application fails to join the meeting. + + Boolean + + Boolean + + + True + + + RequiredDuringMeeting + + Indicates whether the policy-based recording application must be in the meeting while the user is in the meeting. + If this is set to True, the user will be ejected from the meeting if the policy-based recording application leaves the meeting or is dropped from the meeting. The meeting will still continue for users who are in the meeting. + If this is set to False, the user will not be ejected from the meeting if the policy-based recording application leaves the meeting or is dropped from the meeting. + + Boolean + + Boolean + + + True + + + RequiredBeforeCallEstablishment + + Indicates whether the policy-based recording application must be in the call before the call is allowed to establish. + If this is set to True, the call will be cancelled if the policy-based recording application fails to join the call. + If this is set to False, call establishment will proceed normally if the policy-based recording application fails to join the call. + + Boolean + + Boolean + + + True + + + RequiredDuringCall + + Indicates whether the policy-based recording application must be in the call while the call is active. + If this is set to True, the call will be cancelled if the policy-based recording application leaves the call or is dropped from the call. + If this is set to False, call establishment will proceed normally if the policy-based recording application leaves the call or is dropped from the call. + + Boolean + + Boolean + + + True + + + ConcurrentInvitationCount + + Determines the number of invites to send out to the application instance of the policy-based recording application. Can be set to 1 or 2 only. + In situations where application resiliency is a necessity, multiple invites can be sent to the same application for the same call or meeting. If multiple such invites are accepted, then it means that multiple instances of this application are in the call or meeting and each of those instances can record independent of the others. + If all of the invites are rejected, the application invitation process is deemed a failure and the other flags for this application control what happens next. Please refer to the documentation of the RequiredBeforeMeetingJoin and RequiredBeforeCallEstablishment parameters. + If at least one of the invites is accepted and the others are rejected, the application invitation process is still deemed a success. + If multiple invites are accepted and all of the instances leave or get dropped from the call or meeting, then the application is no longer in the call or meeting and the other flags for this application control what happens next. Please refer to the documentation of the RequiredDuringMeeting and RequiredDuringCall parameters. + If multiple invites are accepted and at least one of the instances remains in the call or meeting, then the application is in the call or meeting. + Note that application resiliency can be achieved either by sending multiple invites to the same application using ConcurrentInvitationCount or by sending invites to separate paired applications using ComplianceRecordingPairedApplications. However, you cannot do both. Please work with your Microsoft certified policy-based recording application provider to determine if application resiliency is needed for your workflows and how best to achieve application resiliency. + + UInt32 + + UInt32 + + + 1 + + + ComplianceRecordingPairedApplications + + Determines the other policy-based recording applications to pair with this application to achieve application resiliency. Can only have one paired application. + In situations where application resiliency is a necessity, invites can be sent to separate paired applications for the same call or meeting. If multiple such invites are accepted, then it means that multiple instances of this application are in the call or meeting and each of those instances can record independent of the others. + If all of the invites are rejected, the application invitation process is deemed a failure and the other flags for this application control what happens next. Please refer to the documentation of the RequiredBeforeMeetingJoin and RequiredBeforeCallEstablishment parameters. + If at least one of the invites is accepted and the others are rejected, the application invitation process is still deemed a success. + If multiple invites are accepted and all of the instances leave or get dropped from the call or meeting, then the application is no longer in the call or meeting and the other flags for this application control what happens next. Please refer to the documentation of the RequiredDuringMeeting and RequiredDuringCall parameters. + If multiple invites are accepted and at least one of the instances remains in the call or meeting, then the application is in the call or meeting. + Note that application resiliency can be achieved either by sending multiple invites to the same application using ConcurrentInvitationCount or by sending invites to separate paired applications using ComplianceRecordingPairedApplications. However, you cannot do both. Please work with your Microsoft certified policy-based recording application provider to determine if application resiliency is needed for your workflows and how best to achieve application resiliency. + + ComplianceRecordingPairedApplication[] + + ComplianceRecordingPairedApplication[] + + + None + + + Priority + + This priority determines the order in which the policy-based recording applications are displayed in the output of the Get-CsTeamsComplianceRecordingPolicy cmdlet. + All policy-based recording applications are invited in parallel to ensure low call setup and meeting join latencies. So this parameter does not affect the order of invitations to the applications, or any other routing. + + Int32 + + Int32 + + + None + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose Teams recording policies are being queried. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + System.Guid + + System.Guid + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.Management.Automation.PSObject + + + + + + + + + + System.Object + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-CsTeamsComplianceRecordingApplication -Identity 'Tag:ContosoPartnerComplianceRecordingPolicy/d93fefc7-93cc-4d44-9a5d-344b0fff2899' -RequiredBeforeMeetingJoin $false -RequiredDuringMeeting $false + + The command shown in Example 1 modifies an existing association between an application instance of a policy-based recording application with ObjectId d93fefc7-93cc-4d44-9a5d-344b0fff2899 and a Teams recording policy with the Identity ContosoPartnerComplianceRecordingPolicy. + In this example, the application is made optional for meetings. Please refer to the documentation of the RequiredBeforeMeetingJoin and RequiredDuringMeeting parameters for more information. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Set-CsTeamsComplianceRecordingApplication -Identity 'Tag:ContosoPartnerComplianceRecordingPolicy/d93fefc7-93cc-4d44-9a5d-344b0fff2899' -RequiredBeforeCallEstablishment $false -RequiredDuringCall $false + + The command shown in Example 2 modifies an existing association between an application instance of a policy-based recording application with ObjectId d93fefc7-93cc-4d44-9a5d-344b0fff2899 and a Teams recording policy with the Identity ContosoPartnerComplianceRecordingPolicy. + In this example, the application is made optional for calls. Please refer to the documentation of the RequiredBeforeCallEstablishment and RequiredDuringCall parameters for more information. + + + + -------------------------- Example 3 -------------------------- + PS C:\> Set-CsTeamsComplianceRecordingApplication -Identity 'Tag:ContosoPartnerComplianceRecordingPolicy/d93fefc7-93cc-4d44-9a5d-344b0fff2899' -ConcurrentInvitationCount 2 + + The command shown in Example 3 modifies an existing association between an application instance of a policy-based recording application with ObjectId d93fefc7-93cc-4d44-9a5d-344b0fff2899 and a Teams recording policy with the Identity ContosoPartnerComplianceRecordingPolicy. + In this example, the application is made resilient by specifying that two invites must be sent to the same application for the same call or meeting. Please refer to the documentation of the ConcurrentInvitationCount parameter for more information. + + + + -------------------------- Example 4 -------------------------- + PS C:\> Set-CsTeamsComplianceRecordingApplication -Identity 'Tag:ContosoPartnerComplianceRecordingPolicy/d93fefc7-93cc-4d44-9a5d-344b0fff2899' -ComplianceRecordingPairedApplications @(New-CsTeamsComplianceRecordingPairedApplication -Id '39dc3ede-c80e-4f19-9153-417a65a1f144') + + The command shown in Example 4 modifies an existing association between an application instance of a policy-based recording application with ObjectId d93fefc7-93cc-4d44-9a5d-344b0fff2899 and a Teams recording policy with the Identity ContosoPartnerComplianceRecordingPolicy. + In this example, the application is made resilient by pairing it with another application instance of a policy-based recording application with ObjectId 39dc3ede-c80e-4f19-9153-417a65a1f144. Separate invites are sent to the paired applications for the same call or meeting. Please refer to the documentation of the ComplianceRecordingPairedApplications parameter for more information. + + + + -------------------------- Example 5 -------------------------- + PS C:\> Set-CsTeamsComplianceRecordingApplication -Identity 'Tag:ContosoPartnerComplianceRecordingPolicy/d93fefc7-93cc-4d44-9a5d-344b0fff2899' -ComplianceRecordingPairedApplications $null + + The command shown in Example 5 modifies an existing association between an application instance of a policy-based recording application with ObjectId d93fefc7-93cc-4d44-9a5d-344b0fff2899 and a Teams recording policy with the Identity ContosoPartnerComplianceRecordingPolicy. + In this example, the application's resiliency is removed by removing the pairing it had with the application instance of a policy-based recording application with ObjectId 39dc3ede-c80e-4f19-9153-417a65a1f144. Please refer to the documentation of the ComplianceRecordingPairedApplications parameter for more information. + + + + -------------------------- Example 6 -------------------------- + PS C:\> Get-CsTeamsComplianceRecordingApplication | Set-CsTeamsComplianceRecordingApplication -RequiredBeforeMeetingJoin $false -RequiredDuringMeeting $false + + The command shown in Example 6 modifies all existing associations between application instances of policy-based recording applications and their corresponding Teams recording policy. + In this example, all applications are made optional for meetings. Please refer to the documentation of the RequiredBeforeMeetingJoin and RequiredDuringMeeting parameters for more information. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamscompliancerecordingapplication + + + Get-CsTeamsComplianceRecordingPolicy + + + + New-CsTeamsComplianceRecordingPolicy + + + + Set-CsTeamsComplianceRecordingPolicy + + + + Grant-CsTeamsComplianceRecordingPolicy + + + + Remove-CsTeamsComplianceRecordingPolicy + + + + Get-CsTeamsComplianceRecordingApplication + + + + New-CsTeamsComplianceRecordingApplication + + + + Remove-CsTeamsComplianceRecordingApplication + + + + New-CsTeamsComplianceRecordingPairedApplication + + + + + + + Set-CsTeamsComplianceRecordingPolicy + Set + CsTeamsComplianceRecordingPolicy + + Modifies an existing Teams recording policy for governing automatic policy-based recording in your tenant. Automatic policy-based recording is only applicable to Microsoft Teams users. + + + + Teams recording policies are used in automatic policy-based recording scenarios. When Microsoft Teams users participate in meetings or make or receive calls, the policy-based recording applications i.e. bots associated with the user's Teams recording policy are invited into the call or meeting to record audio, video and video-based screen sharing activity. + Note that simply assigning a Teams recording policy to a Microsoft Teams user will not activate automatic policy-based recording for all Microsoft Teams calls and meetings that the user participates in. Among other things, you will need to create an application instance of a policy-based recording application i.e. a bot in your tenant and will then need to assign an appropriate policy to the user. + Please work with your Microsoft certified policy-based recording application provider to obtain an instance of their recording application. Please refer to the documentation of the CsOnlineApplicationInstance cmdlets for information on how to create an application instance of a policy-based recording application. + Assigning your Microsoft Teams users a Teams recording policy activates automatic policy-based recording for all new Microsoft Teams calls and meetings that the users participate in. The system will load the recording application and join it to appropriate calls and meetings in order for it to enforce compliance with the administrative set policy. Existing calls and meetings are unaffected. + + + + Set-CsTeamsComplianceRecordingPolicy + + Identity + + Unique identifier to be assigned to the new Teams recording policy. + Use the "Global" Identity if you wish to assign this policy to the entire tenant. + + XdsIdentity + + XdsIdentity + + + None + + + CustomBanner + + References the Custom Banner text in the storage. + + Guid + + Guid + + + None + + + Enabled + + Controls whether this Teams recording policy is active or not. + Setting this to True and having the right set of ComplianceRecordingApplications will initiate automatic policy-based recording for all new calls and meetings of all Microsoft Teams users who are assigned this policy. Existing calls and meetings are unaffected. + Setting this to False will stop automatic policy-based recording for any new calls or meetings of all Microsoft Teams users who are assigned this policy. Existing calls and meetings are unaffected. + + Boolean + + Boolean + + + False + + + WarnUserOnRemoval + + This parameter is reserved for future use. + + Boolean + + Boolean + + + True + + + Description + + Enables administrators to provide explanatory text to accompany a Teams recording policy. For example, the Description might include information about the users the policy should be assigned to. + + String + + String + + + None + + + ComplianceRecordingApplications + + A list of application instances of policy-based recording applications to assign to this policy. The Id of each of these application instances must be the ObjectId of the application instance as obtained by the Get-CsOnlineApplicationInstance cmdlet. + Please work with your Microsoft certified policy-based recording application provider to obtain an instance of their recording application. Please refer to the documentation of the CsOnlineApplicationInstance cmdlets for information on how to create an application instance of a policy-based recording application. + + ComplianceRecordingApplication[] + + ComplianceRecordingApplication[] + + + None + + + DisableComplianceRecordingAudioNotificationForCalls + + Setting this attribute to true disables recording audio notifications for 1:1 calls that are under compliance recording + + Boolean + + Boolean + + + False + + + DisableComplianceRecordingAudioNotificationForCalls + + Setting this attribute to true disables recording audio notifications for 1:1 calls that are under compliance recording. + + Boolean + + Boolean + + + False + + + RecordReroutedCalls + + Setting this attribute to true enables compliance recording for calls that have been re-routed from a compliance recording-enabled user. Supported call scenarios include forward, transfer, delegation, call groups, and simultaneous ring. + + Boolean + + Boolean + + + False + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose Teams recording policies are being queried. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + System.Guid + + System.Guid + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Set-CsTeamsComplianceRecordingPolicy + + Instance + + Allows you to pass a reference to an object to the cmdlet rather than set individual parameter values. + + PSObject + + PSObject + + + None + + + CustomBanner + + References the Custom Banner text in the storage. + + Guid + + Guid + + + None + + + Enabled + + Controls whether this Teams recording policy is active or not. + Setting this to True and having the right set of ComplianceRecordingApplications will initiate automatic policy-based recording for all new calls and meetings of all Microsoft Teams users who are assigned this policy. Existing calls and meetings are unaffected. + Setting this to False will stop automatic policy-based recording for any new calls or meetings of all Microsoft Teams users who are assigned this policy. Existing calls and meetings are unaffected. + + Boolean + + Boolean + + + False + + + WarnUserOnRemoval + + This parameter is reserved for future use. + + Boolean + + Boolean + + + True + + + Description + + Enables administrators to provide explanatory text to accompany a Teams recording policy. For example, the Description might include information about the users the policy should be assigned to. + + String + + String + + + None + + + ComplianceRecordingApplications + + A list of application instances of policy-based recording applications to assign to this policy. The Id of each of these application instances must be the ObjectId of the application instance as obtained by the Get-CsOnlineApplicationInstance cmdlet. + Please work with your Microsoft certified policy-based recording application provider to obtain an instance of their recording application. Please refer to the documentation of the CsOnlineApplicationInstance cmdlets for information on how to create an application instance of a policy-based recording application. + + ComplianceRecordingApplication[] + + ComplianceRecordingApplication[] + + + None + + + DisableComplianceRecordingAudioNotificationForCalls + + Setting this attribute to true disables recording audio notifications for 1:1 calls that are under compliance recording + + Boolean + + Boolean + + + False + + + DisableComplianceRecordingAudioNotificationForCalls + + Setting this attribute to true disables recording audio notifications for 1:1 calls that are under compliance recording. + + Boolean + + Boolean + + + False + + + RecordReroutedCalls + + Setting this attribute to true enables compliance recording for calls that have been re-routed from a compliance recording-enabled user. Supported call scenarios include forward, transfer, delegation, call groups, and simultaneous ring. + + Boolean + + Boolean + + + False + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose Teams recording policies are being queried. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + System.Guid + + System.Guid + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Identity + + Unique identifier to be assigned to the new Teams recording policy. + Use the "Global" Identity if you wish to assign this policy to the entire tenant. + + XdsIdentity + + XdsIdentity + + + None + + + Instance + + Allows you to pass a reference to an object to the cmdlet rather than set individual parameter values. + + PSObject + + PSObject + + + None + + + CustomBanner + + References the Custom Banner text in the storage. + + Guid + + Guid + + + None + + + Enabled + + Controls whether this Teams recording policy is active or not. + Setting this to True and having the right set of ComplianceRecordingApplications will initiate automatic policy-based recording for all new calls and meetings of all Microsoft Teams users who are assigned this policy. Existing calls and meetings are unaffected. + Setting this to False will stop automatic policy-based recording for any new calls or meetings of all Microsoft Teams users who are assigned this policy. Existing calls and meetings are unaffected. + + Boolean + + Boolean + + + False + + + WarnUserOnRemoval + + This parameter is reserved for future use. + + Boolean + + Boolean + + + True + + + Description + + Enables administrators to provide explanatory text to accompany a Teams recording policy. For example, the Description might include information about the users the policy should be assigned to. + + String + + String + + + None + + + ComplianceRecordingApplications + + A list of application instances of policy-based recording applications to assign to this policy. The Id of each of these application instances must be the ObjectId of the application instance as obtained by the Get-CsOnlineApplicationInstance cmdlet. + Please work with your Microsoft certified policy-based recording application provider to obtain an instance of their recording application. Please refer to the documentation of the CsOnlineApplicationInstance cmdlets for information on how to create an application instance of a policy-based recording application. + + ComplianceRecordingApplication[] + + ComplianceRecordingApplication[] + + + None + + + DisableComplianceRecordingAudioNotificationForCalls + + Setting this attribute to true disables recording audio notifications for 1:1 calls that are under compliance recording + + Boolean + + Boolean + + + False + + + DisableComplianceRecordingAudioNotificationForCalls + + Setting this attribute to true disables recording audio notifications for 1:1 calls that are under compliance recording. + + Boolean + + Boolean + + + False + + + RecordReroutedCalls + + Setting this attribute to true enables compliance recording for calls that have been re-routed from a compliance recording-enabled user. Supported call scenarios include forward, transfer, delegation, call groups, and simultaneous ring. + + Boolean + + Boolean + + + False + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose Teams recording policies are being queried. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + System.Guid + + System.Guid + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.Management.Automation.PSObject + + + + + + + + + + System.Object + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-CsTeamsComplianceRecordingPolicy -Identity 'ContosoPartnerComplianceRecordingPolicy' -ComplianceRecordingApplications @(New-CsTeamsComplianceRecordingApplication -Parent 'ContosoPartnerComplianceRecordingPolicy' -Id 'd93fefc7-93cc-4d44-9a5d-344b0fff2899') + + The command shown in Example 1 modifies an existing per-user Teams recording policy with the Identity ContosoPartnerComplianceRecordingPolicy. This policy is re-assigned a single application instance of a policy-based recording application: d93fefc7-93cc-4d44-9a5d-344b0fff2899, which is the ObjectId of the application instance as obtained from the Get-CsOnlineApplicationInstance cmdlet. + Any Microsoft Teams users who are assigned this policy will have their calls and meetings recorded by that application instance. Existing calls and meetings are unaffected. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Set-CsTeamsComplianceRecordingPolicy -Identity 'ContosoPartnerComplianceRecordingPolicy' -ComplianceRecordingApplications @(New-CsTeamsComplianceRecordingApplication -Parent 'ContosoPartnerComplianceRecordingPolicy' -Id 'd93fefc7-93cc-4d44-9a5d-344b0fff2899'), @(New-CsTeamsComplianceRecordingApplication -Parent 'ContosoPartnerComplianceRecordingPolicy' -Id '39dc3ede-c80e-4f19-9153-417a65a1f144') + + Example 2 is a variation of Example 1. In this case, the Teams recording policy is re-assigned two application instances of policy-based recording applications. + Any Microsoft Teams users who are assigned this policy will have their calls and meetings recorded by both those application instances. Existing calls and meetings are unaffected. + + + + -------------------------- Example 3 -------------------------- + PS C:\> Set-CsTeamsComplianceRecordingPolicy -Identity 'ContosoPartnerComplianceRecordingPolicy' -Enabled $false + + The command shown in Example 3 stops automatic policy-based recording for all new calls and meetings of all Microsoft Teams users who are assigned this policy. Existing calls and meetings are unaffected. + + + + -------------------------- Example 4 -------------------------- + PS C:\> Set-CsTeamsComplianceRecordingPolicy -Identity 'ContosoPartnerComplianceRecordingPolicy' -Enabled $true + + The command shown in Example 4 causes automatic policy-based recording to occur for all new calls and meetings of all Microsoft Teams users who are assigned this policy. Existing calls and meetings are unaffected. + + + + -------------------------- Example 5 -------------------------- + PS C:\> Get-CsTeamsComplianceRecordingPolicy | Set-CsTeamsComplianceRecordingPolicy -Enabled $false + + The command shown in Example 5 stops automatic policy-based recording for all Teams recording policies. This effectively stops automatic policy-based recording for all new calls and meetings of all Microsoft Teams users who are assigned any Teams recording policy. Existing calls and meetings are unaffected. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamscompliancerecordingpolicy + + + Get-CsTeamsComplianceRecordingPolicy + + + + New-CsTeamsComplianceRecordingPolicy + + + + Grant-CsTeamsComplianceRecordingPolicy + + + + Remove-CsTeamsComplianceRecordingPolicy + + + + Get-CsTeamsComplianceRecordingApplication + + + + New-CsTeamsComplianceRecordingApplication + + + + Set-CsTeamsComplianceRecordingApplication + + + + Remove-CsTeamsComplianceRecordingApplication + + + + New-CsTeamsComplianceRecordingPairedApplication + + + + + + + Set-CsTeamsEdcuationConfiguration + Set + CsTeamsEdcuationConfiguration + + This cmdlet is used to manage the organization-wide education configuration for Teams. + + + + This cmdlet is used to manage the organization-wide education configuration for Teams which contains settings that are applicable to education organizations. + You must be a Teams Service Administrator or a Global Administrator for your organization to run the cmdlet. + + + + Set-CsTeamsEdcuationConfiguration + + ParentGuardianPreferredContactMethod + + Indicates whether Email or SMS is the preferred contact method used for parent communication invitations. Possible values are 'Email' and 'SMS'. + + String + + String + + + Email + + + UpdateParentInformation + + Indicates whether updating parents contact information is Enabled/Disabled by educators. Possible values are 'Enabled' and 'Disabled'. + + String + + String + + + Enabled + + + + + + ParentGuardianPreferredContactMethod + + Indicates whether Email or SMS is the preferred contact method used for parent communication invitations. Possible values are 'Email' and 'SMS'. + + String + + String + + + Email + + + UpdateParentInformation + + Indicates whether updating parents contact information is Enabled/Disabled by educators. Possible values are 'Enabled' and 'Disabled'. + + String + + String + + + Enabled + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-CsTeamsEducationConfiguration -ParentGuardianPreferredContactMethod Email + + + + + + -------------------------- Example 2 -------------------------- + Set-CsTeamsEducationConfiguration -ParentGuardianPreferredContactMethod SMS + + + + + + -------------------------- Example 3 -------------------------- + Set-CsTeamsEducationConfiguration -UpdateParentInformation Enabled + + + + + + -------------------------- Example 4 -------------------------- + Set-CsTeamsEducationConfiguration -UpdateParentInformation Disabled + + + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamseducationconfiguration + + + Get-CsTeamsEducationConfiguration + + + + + + + Set-CsTeamsEmergencyCallingPolicy + Set + CsTeamsEmergencyCallingPolicy + + + + + + This cmdlet modifies an existing Teams Emergency Calling policy. Emergency calling policy is used for the life cycle of emergency calling experience for the security desk and Teams client location experience. + + + + Set-CsTeamsEmergencyCallingPolicy + + Identity + + The Identity parameter is a unique identifier that designates the name of the policy + + String + + String + + + None + + + Description + + Provides a description of the Teams Emergency Calling policy to identify the purpose of setting it. + + String + + String + + + None + + + EnhancedEmergencyServiceDisclaimer + + Allows the tenant administrator to configure a text string, which is shown at the top of the Calls app. The user can acknowledge the string by selecting OK. The string will be shown on client restart. The disclaimer can be up to 350 characters. + + String + + String + + + None + + + ExtendedNotifications + + A list of one or more instances of TeamsEmergencyCallingExtendedNotification. Each TeamsEmergencyCallingExtendedNotification should use a unique EmergencyDialString. + If an extended notification is found for an emergency phone number based on the EmergencyDialString parameter the extended notification will be controlling the notification. If no extended notification is found the notification settings on the policy instance itself will be used. + + System.Management.Automation.PSListModifier[Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsEmergencyCallingExtendedNotification] + + System.Management.Automation.PSListModifier[Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsEmergencyCallingExtendedNotification] + + + None + + + ExternalLocationLookupMode + + Enables ExternalLocationLookupMode. This mode allows users to set Emergency addresses for remote locations. + + + Disabled + Enabled + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.ExternalLocationLookupMode + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.ExternalLocationLookupMode + + + None + + + NotificationDialOutNumber + + This parameter represents the PSTN number which can be dialed out if NotificationMode is set to either of the two Conference values. The PSTN phone cannot be unmuted even when the NotificationMode is set to ConferenceUnMuted. + + String + + String + + + None + + + NotificationGroup + + NotificationGroup is an email list of users and groups to be notified of an emergency call via Teams chat. Individual users or groups are separated by ";", for instance, "group1@contoso.com;group2@contoso.com". A maximum of 10 e-mail addresses can be specified and a maximum of 50 users in total can be notified. + + String + + String + + + None + + + NotificationMode + + The type of conference experience for security desk notification. Possible values are NotificationOnly, ConferenceMuted, and ConferenceUnMuted. + + + NotificationOnly + ConferenceMuted + ConferenceUnMuted + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.NotificationMode + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.NotificationMode + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Description + + Provides a description of the Teams Emergency Calling policy to identify the purpose of setting it. + + String + + String + + + None + + + EnhancedEmergencyServiceDisclaimer + + Allows the tenant administrator to configure a text string, which is shown at the top of the Calls app. The user can acknowledge the string by selecting OK. The string will be shown on client restart. The disclaimer can be up to 350 characters. + + String + + String + + + None + + + ExtendedNotifications + + A list of one or more instances of TeamsEmergencyCallingExtendedNotification. Each TeamsEmergencyCallingExtendedNotification should use a unique EmergencyDialString. + If an extended notification is found for an emergency phone number based on the EmergencyDialString parameter the extended notification will be controlling the notification. If no extended notification is found the notification settings on the policy instance itself will be used. + + System.Management.Automation.PSListModifier[Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsEmergencyCallingExtendedNotification] + + System.Management.Automation.PSListModifier[Microsoft.Teams.Policy.Administration.Cmdlets.Core.TeamsEmergencyCallingExtendedNotification] + + + None + + + ExternalLocationLookupMode + + Enables ExternalLocationLookupMode. This mode allows users to set Emergency addresses for remote locations. + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.ExternalLocationLookupMode + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.ExternalLocationLookupMode + + + None + + + Identity + + The Identity parameter is a unique identifier that designates the name of the policy + + String + + String + + + None + + + NotificationDialOutNumber + + This parameter represents the PSTN number which can be dialed out if NotificationMode is set to either of the two Conference values. The PSTN phone cannot be unmuted even when the NotificationMode is set to ConferenceUnMuted. + + String + + String + + + None + + + NotificationGroup + + NotificationGroup is an email list of users and groups to be notified of an emergency call via Teams chat. Individual users or groups are separated by ";", for instance, "group1@contoso.com;group2@contoso.com". A maximum of 10 e-mail addresses can be specified and a maximum of 50 users in total can be notified. + + String + + String + + + None + + + NotificationMode + + The type of conference experience for security desk notification. Possible values are NotificationOnly, ConferenceMuted, and ConferenceUnMuted. + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.NotificationMode + + Microsoft.Teams.Policy.Administration.Cmdlets.Core.NotificationMode + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-CsTeamsEmergencyCallingPolicy -Identity "TestECP" -NotificationGroup "123@contoso.com;567@contoso.com" + + This example modifies NotificationGroup of an existing policy instance with identity TestECP. + + + + -------------------------- Example 2 -------------------------- + $en1 = New-CsTeamsEmergencyCallingExtendedNotification -EmergencyDialString "911" -NotificationGroup "alert2@contoso.com" -NotificationMode ConferenceUnMuted +Set-CsTeamsEmergencyCallingPolicy -Identity "TestECP" -ExtendedNotifications @{remove=$en1} + + This example first creates a new Teams Emergency Calling Extended Notification object and then removes that Teams Emergency Calling Extended Notification from an existing Teams Emergency Calling policy. + + + + -------------------------- Example 3 -------------------------- + $en1 = New-CsTeamsEmergencyCallingExtendedNotification -EmergencyDialString "911" -NotificationGroup "alert@contoso.com" -NotificationDialOutNumber "+14255551234" -NotificationMode ConferenceUnMuted +$en2 = New-CsTeamsEmergencyCallingExtendedNotification -EmergencyDialString "933" +Set-CsTeamsEmergencyCallingPolicy -Identity "TestECP" -ExtendedNotifications @{add=$en1,$en2} + + This example first creates two new Teams Emergency Calling Extended Notification objects and then adds them to an existing Teams Emergency Calling policy with identity TestECP. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamsemergencycallingpolicy + + + New-CsTeamsEmergencyCallingPolicy + + + + Get-CsTeamsEmergencyCallingPolicy + + + + Remove-CsTeamsEmergencyCallingPolicy + + + + Grant-CsTeamsEmergencyCallingPolicy + + + + New-CsTeamsEmergencyCallingExtendedNotification + + + + + + + Set-CsTeamsEventsPolicy + Set + CsTeamsEventsPolicy + + This cmdlet allows you to configure options for customizing Teams events experiences. Note that this policy is currently still in preview. + + + + User-level policy for tenant admin to configure options for customizing Teams events experiences. Use this cmdlet to update an existing policy. + + + + Set-CsTeamsEventsPolicy + + Identity + + Unique identifier assigned to the Teams Events policy. + + String + + String + + + None + + + AllowWebinars + + This setting governs if a user can create webinars using Teams Events. Possible values are: - Enabled : Enables creating webinars. - Disabled : Disables creating webinars. + + String + + String + + + None + + + Description + + Enables administrators to provide explanatory text to accompany a Teams Events policy. + + String + + String + + + None + + + UseMicrosoftECDN + + This setting governs whether the global admin disables this property and prevents the organizers from creating town halls that use Microsoft eCDN even though they have been assigned a Teams Premium license. + + Boolean + + Boolean + + + None + + + AllowTownhalls + + This setting governs if a user can create town halls using Teams Events. Possible values are: - Enabled : Enables creating town halls. - Disabled : Disables creating town halls. + + String + + String + + + None + + + Description + + Enables administrators to provide explanatory text to accompany a Teams Events policy. + + String + + String + + + None + + + AllowEmailEditing + + This setting governs if a user is allowed to edit the communication emails in Teams Town Hall or Teams Webinar events. Possible values are: - Enabled : Enables editing of communication emails. - Disabled : Disables editing of communication emails. + + String + + String + + + None + + + Confirm + + The Confirm switch does not work with this cmdlet. + + + SwitchParameter + + + False + + + Description + + Enables administrators to provide explanatory text to accompany a Teams Events policy. + + String + + String + + + None + + + EventAccessType + + This setting governs which users can access the event registration page or the event site to register. It also governs which user type is allowed to join the session/s in the event. Possible values are: - Everyone : Enables creating events to allow in-tenant, guests, federated, and anonymous (external to the tenant) users to register and join the event. - EveryoneInCompanyExcludingGuests : Enables creating events to allow only in-tenant users to register and join the event. + + String + + String + + + None + + + AllowedQuestionTypesInRegistrationForm + + This setting governs which users in a tenant can add which registration form questions to an event registration page for attendees to answer when registering for the event. + Possible values are: DefaultOnly, DefaultAndPredefinedOnly, AllQuestions. + + String + + String + + + None + + + AllowedTownhallTypesForRecordingPublish + + This setting describes how IT admins can control which types of Town Hall attendees can have their recordings published. + Possible values are: None, InviteOnly, EveryoneInCompanyIncludingGuests, Everyone. + + String + + String + + + None + + + AllowedWebinarTypesForRecordingPublish + + This setting describes how IT admins can control which types of webinar attendees can have their recordings published. + Possible values are: None, InviteOnly, EveryoneInCompanyIncludingGuests, Everyone. + + String + + String + + + None + + + AllowEventIntegrations + + This setting governs access to the integrations tab in the event creation workflow. + Possible values true, false. + + Boolean + + Boolean + + + None + + + TownhallChatExperience + + This setting governs whether the user can enable the Comment Stream chat experience for Town Halls. + Possible values are: Optimized, None. + + String + + String + + + None + + + Confirm + + The Confirm switch does not work with this cmdlet. + + + SwitchParameter + + + False + + + WhatIf + + The WhatIf switch does not work with this cmdlet. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + AllowWebinars + + This setting governs if a user can create webinars using Teams Events. Possible values are: - Enabled : Enables creating webinars. - Disabled : Disables creating webinars. + + String + + String + + + None + + + Description + + Enables administrators to provide explanatory text to accompany a Teams Events policy. + + String + + String + + + None + + + UseMicrosoftECDN + + This setting governs whether the global admin disables this property and prevents the organizers from creating town halls that use Microsoft eCDN even though they have been assigned a Teams Premium license. + + Boolean + + Boolean + + + None + + + AllowTownhalls + + This setting governs if a user can create town halls using Teams Events. Possible values are: - Enabled : Enables creating town halls. - Disabled : Disables creating town halls. + + String + + String + + + None + + + Description + + Enables administrators to provide explanatory text to accompany a Teams Events policy. + + String + + String + + + None + + + AllowEmailEditing + + This setting governs if a user is allowed to edit the communication emails in Teams Town Hall or Teams Webinar events. Possible values are: - Enabled : Enables editing of communication emails. - Disabled : Disables editing of communication emails. + + String + + String + + + None + + + Confirm + + The Confirm switch does not work with this cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Description + + Enables administrators to provide explanatory text to accompany a Teams Events policy. + + String + + String + + + None + + + EventAccessType + + This setting governs which users can access the event registration page or the event site to register. It also governs which user type is allowed to join the session/s in the event. Possible values are: - Everyone : Enables creating events to allow in-tenant, guests, federated, and anonymous (external to the tenant) users to register and join the event. - EveryoneInCompanyExcludingGuests : Enables creating events to allow only in-tenant users to register and join the event. + + String + + String + + + None + + + Identity + + Unique identifier assigned to the Teams Events policy. + + String + + String + + + None + + + AllowedQuestionTypesInRegistrationForm + + This setting governs which users in a tenant can add which registration form questions to an event registration page for attendees to answer when registering for the event. + Possible values are: DefaultOnly, DefaultAndPredefinedOnly, AllQuestions. + + String + + String + + + None + + + AllowedTownhallTypesForRecordingPublish + + This setting describes how IT admins can control which types of Town Hall attendees can have their recordings published. + Possible values are: None, InviteOnly, EveryoneInCompanyIncludingGuests, Everyone. + + String + + String + + + None + + + AllowedWebinarTypesForRecordingPublish + + This setting describes how IT admins can control which types of webinar attendees can have their recordings published. + Possible values are: None, InviteOnly, EveryoneInCompanyIncludingGuests, Everyone. + + String + + String + + + None + + + AllowEventIntegrations + + This setting governs access to the integrations tab in the event creation workflow. + Possible values true, false. + + Boolean + + Boolean + + + None + + + TownhallChatExperience + + This setting governs whether the user can enable the Comment Stream chat experience for Town Halls. + Possible values are: Optimized, None. + + String + + String + + + None + + + Confirm + + The Confirm switch does not work with this cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + The WhatIf switch does not work with this cmdlet. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-CsTeamsEventsPolicy -Identity Global -AllowWebinars Disabled + + The command shown in Example 1 sets the value of the Default (Global) Events Policy in the organization to disable webinars, and leaves all other parameters the same. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamseventspolicy + + + + + + Set-CsTeamsFeedbackPolicy + Set + CsTeamsFeedbackPolicy + + Use this cmdlet to modify a Teams feedback policy (the ability to send feedback about Teams to Microsoft and whether they receive the survey). + + + + Modifies a Teams feedback policy (the ability to send feedback about Teams to Microsoft and whether they receive the survey). + + + + Set-CsTeamsFeedbackPolicy + + Identity + + The unique identifier of the policy. + + Object + + Object + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes and suppresses the display of any non-fatal error message that might arise when running the command. + + + SwitchParameter + + + False + + + Instance + + Internal Microsoft use. + + Object + + Object + + + None + + + ReceiveSurveysMode + + Set the receiveSurveysMode parameter to enabled to allow users who are assigned the policy to receive the survey. Set it to EnabledUserOverride to have users receive the survey and allow them to opt out. + Possible values: - Enabled - Disabled - EnabledUserOverride + + String + + String + + + Enabled + + + Tenant + + Internal Microsoft use. + + Object + + Object + + + None + + + UserInitiatedMode + + Set the userInitiatedMode parameter to enabled to allow users who are assigned the policy to give feedback. Setting the parameter to disabled turns off the feature and users who are assigned the policy don't have the option to give feedback. + Possible values: - Enabled - Disabled + + String + + String + + + Enabled + + + AllowEmailCollection + + Set this to TRUE to enable Email collection. + + Boolean + + Boolean + + + None + + + AllowLogCollection + + Set this to TRUE to enable log collection. + + Boolean + + Boolean + + + None + + + AllowScreenshotCollection + + Set this to TRUE to enable Screenshot collection. + + Boolean + + Boolean + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes and suppresses the display of any non-fatal error message that might arise when running the command. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + The unique identifier of the policy. + + Object + + Object + + + None + + + Instance + + Internal Microsoft use. + + Object + + Object + + + None + + + ReceiveSurveysMode + + Set the receiveSurveysMode parameter to enabled to allow users who are assigned the policy to receive the survey. Set it to EnabledUserOverride to have users receive the survey and allow them to opt out. + Possible values: - Enabled - Disabled - EnabledUserOverride + + String + + String + + + Enabled + + + Tenant + + Internal Microsoft use. + + Object + + Object + + + None + + + UserInitiatedMode + + Set the userInitiatedMode parameter to enabled to allow users who are assigned the policy to give feedback. Setting the parameter to disabled turns off the feature and users who are assigned the policy don't have the option to give feedback. + Possible values: - Enabled - Disabled + + String + + String + + + Enabled + + + AllowEmailCollection + + Set this to TRUE to enable Email collection. + + Boolean + + Boolean + + + None + + + AllowLogCollection + + Set this to TRUE to enable log collection. + + Boolean + + Boolean + + + None + + + AllowScreenshotCollection + + Set this to TRUE to enable Screenshot collection. + + Boolean + + Boolean + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.Management.Automation.PSObject + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-CsTeamsFeedbackPolicy -identity "New Hire Feedback Policy" -userInitiatedMode enabled -receiveSurveysMode disabled + + In this example, the policy "New Hire Feedback Policy" is modified, sets the userInitiatedMode parameter to enabled and the receiveSurveysMode parameter to disabled. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamsfeedbackpolicy + + + + + + Set-CsTeamsMediaConnectivityPolicy + Set + CsTeamsMediaConnectivityPolicy + + This cmdlet Set Teams media connectivity policy value for current tenant. + + + + This cmdlet Set Teams media connectivity policy DirectConnection value for current tenant. The value can be "Enabled" or "Disabled" + + + + Set-CsTeamsMediaConnectivityPolicy + + Identity + + Identity of the Teams media connectivity policy. + + String + + String + + + None + + + DirectConnection + + Policy value of the Teams media connectivity DirectConnection policy. + + Boolean + + Boolean + + + Enabled + + + + Set-CsTeamsMediaConnectivityPolicy + + Identity + + Identity of the Teams media connectivity policy. + + String + + String + + + None + + + DirectConnection + + Policy value of the Teams media connectivity DirectConnection policy. + + Boolean + + Boolean + + + Enabled + + + + + + Identity + + Identity of the Teams media connectivity policy. + + String + + String + + + None + + + DirectConnection + + Policy value of the Teams media connectivity DirectConnection policy. + + Boolean + + Boolean + + + Enabled + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-CsTeamsMediaConnectivityPolicy -Identity Test -DirectConnection Disabled +Identity DirectConnection +-------- ---------------- +Global Enabled +Tag:Test Disabled + + Set Teams media connectivity policy "DirectConnection" value to "Disabled" for identity "Test". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/Set-CsTeamsMediaConnectivityPolicy + + + New-CsTeamsMediaConnectivityPolicy + + + + Remove-CsTeamsMediaConnectivityPolicy + + + + Get-CsTeamsMediaConnectivityPolicy + + + + Grant-CsTeamsMediaConnectivityPolicy + + + + + + + Set-CsTeamsMeetingBrandingPolicy + Set + CsTeamsMeetingBrandingPolicy + + The CsTeamsMeetingBrandingPolicy cmdlet enables administrators to control the appearance in meetings by defining custom backgrounds, logos, and colors. + + + + The `Set-CsTeamsMeetingBrandingPolicy` cmdlet allows administrators to update existing meeting branding policies. However, it cannot be used to upload the images. If you want to upload the images, you should use Teams Admin Center. + + + + Set-CsTeamsMeetingBrandingPolicy + + Identity + + Identity of meeting branding policy that will be updated. To refer to the global policy, use this syntax: `-Identity global`. + + String + + String + + + None + + + DefaultTheme + + This parameter is reserved for Microsoft internal use only. Identity of default meeting theme. + + String + + String + + + None + + + EnableMeetingBackgroundImages + + Enables custom meeting backgrounds. + + Boolean + + Boolean + + + None + + + EnableMeetingOptionsThemeOverride + + Allows organizers to control meeting themes. + + Boolean + + Boolean + + + None + + + MeetingBackgroundImages + + This parameter is reserved for Microsoft internal use only. List of meeting background images. It is not possible to add or remove background images using cmdlets. You should use Teams Admin Center for that purpose. + + PSListModifier + + PSListModifier + + + None + + + MeetingBrandingThemes + + List of meeting branding themes. You can alter the list returned by the `Get-CsTeamsMeetingBrandingPolicy` cmdlet and pass it to this parameter. It is not possible to add or remove meeting branding themes using cmdlets. You should use Teams Admin Center for that purpose. + + PSListModifier + + PSListModifier + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes. + + + SwitchParameter + + + False + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + + SwitchParameter + + + False + + + + + + DefaultTheme + + This parameter is reserved for Microsoft internal use only. Identity of default meeting theme. + + String + + String + + + None + + + EnableMeetingBackgroundImages + + Enables custom meeting backgrounds. + + Boolean + + Boolean + + + None + + + EnableMeetingOptionsThemeOverride + + Allows organizers to control meeting themes. + + Boolean + + Boolean + + + None + + + Identity + + Identity of meeting branding policy that will be updated. To refer to the global policy, use this syntax: `-Identity global`. + + String + + String + + + None + + + MeetingBackgroundImages + + This parameter is reserved for Microsoft internal use only. List of meeting background images. It is not possible to add or remove background images using cmdlets. You should use Teams Admin Center for that purpose. + + PSListModifier + + PSListModifier + + + None + + + MeetingBrandingThemes + + List of meeting branding themes. You can alter the list returned by the `Get-CsTeamsMeetingBrandingPolicy` cmdlet and pass it to this parameter. It is not possible to add or remove meeting branding themes using cmdlets. You should use Teams Admin Center for that purpose. + + PSListModifier + + PSListModifier + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + Available in Teams PowerShell Module 4.9.3 and later. + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsTeamsMeetingBrandingPolicy +PS C:\> $brandingPolicy = Get-CsTeamsMeetingBrandingPolicy -Identity "demo branding" +PS C:\> $brandingPolicy.MeetingBrandingThemes[0].BrandAccentColor = "#FF0000" +PS C:\> Set-CsTeamsMeetingBrandingPolicy -Identity "demo branding" -MeetingBrandingThemes $brandingPolicy.MeetingBrandingThemes + + In this example, the commands will change the brand accent color of the theme inside the `demo branding` meeting branding policy to `#FF0000`. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamsmeetingbrandingpolicy + + + Get-CsTeamsMeetingBrandingPolicy + + + + Grant-CsTeamsMeetingBrandingPolicy + + + + New-CsTeamsMeetingBrandingPolicy + + + + Remove-CsTeamsMeetingBrandingPolicy + + + + Set-CsTeamsMeetingBrandingPolicy + + + + + + + Set-CsTeamsMeetingConfiguration + Set + CsTeamsMeetingConfiguration + + The CsTeamsMeetingConfiguration cmdlets enable administrators to control the meetings configurations in their tenants. + + + + The CsTeamsMeetingConfiguration cmdlets enable administrators to control the meetings configurations in their tenants. Use this cmdlet to set the configuration for your organization. + + + + Set-CsTeamsMeetingConfiguration + + Identity + + The only valid input is Global + + XdsIdentity + + XdsIdentity + + + None + + + ClientAppSharingPort + + Determines the starting port number for client screen sharing or application sharing. Minimum allowed value: 1024 Maximum allowed value: 65535 Default value: 50040 + + UInt32 + + UInt32 + + + None + + + ClientAppSharingPortRange + + Determines the total number of ports available for client sharing or application sharing. Default value is 20 + + UInt32 + + UInt32 + + + None + + + ClientAudioPort + + Determines the starting port number for client audio. Minimum allowed value: 1024 Maximum allowed value: 65535 Default value: 50000 + + UInt32 + + UInt32 + + + None + + + ClientAudioPortRange + + Determines the total number of ports available for client audio. Default value is 20 + + UInt32 + + UInt32 + + + None + + + ClientMediaPortRangeEnabled + + Determines whether custom media port and range selections need to be enforced. When set to True, clients will use the specified port range for media traffic. When set to False (the default value) for any available port (from port 1024 through port 65535) will be used to accommodate media traffic. + + Boolean + + Boolean + + + None + + + ClientVideoPort + + Determines the starting port number for client video. Minimum allowed value: 1024 Maximum allowed value: 65535 Default value: 50020 + + UInt32 + + UInt32 + + + None + + + ClientVideoPortRange + + Determines the total number of ports available for client video. Default value is 20 + + UInt32 + + UInt32 + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + CustomFooterText + + Text to be used on custom meeting invitations + + String + + String + + + None + + + DisableAnonymousJoin + + Determines whether anonymous users are blocked from joining meetings in the tenant. Set this to TRUE to block anonymous users from joining. Set this to FALSE to allow anonymous users to join meetings. + + Boolean + + Boolean + + + None + + + EnableQoS + + Determines whether Quality of Service Marking for real-time media (audio, video, screen/app sharing) is enabled in the tenant. Set this to TRUE to enable and FALSE to disable + + Boolean + + Boolean + + + None + + + Force + + {{Fill Force Description}} + + + SwitchParameter + + + False + + + HelpURL + + URL to a website where users can obtain assistance on joining the meeting.This would be included in the meeting invite. Please ensure this URL is publicly accessible for invites that go beyond your federation boundaries + + String + + String + + + None + + + Instance + + Use this parameter to update a saved configuration instance + + PSObject + + PSObject + + + None + + + LegalURL + + URL to a website containing legal information and meeting disclaimers. This would be included in the meeting invite. Please ensure this URL is publicly accessible for invites that go beyond your federation boundaries + + String + + String + + + None + + + LogoURL + + URL to a logo image. This would be included in the meeting invite. Please ensure this URL is publicly accessible for invites that go beyond your federation boundaries + + String + + String + + + None + + + DisableAppInteractionForAnonymousUsers + + Determines if anonymous users can interact with apps in meetings. Set to TRUE to disable App interaction. Possible values: + - True + - False + + Boolean + + Boolean + + + None + + + Tenant + + Internal Microsoft use + + Guid + + Guid + + + None + + + FeedbackSurveyForAnonymousUsers + + Determines if anonymous participants receive surveys to provide feedback about their meeting experience. Set to Disabled to disable anonymous meeting participants to receive surveys. Set to Enabled to allow anonymous meeting participants to receive surveys. Possible values: + - Enabled + - Disabled + + String + + String + + + Enabled + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + ClientAppSharingPort + + Determines the starting port number for client screen sharing or application sharing. Minimum allowed value: 1024 Maximum allowed value: 65535 Default value: 50040 + + UInt32 + + UInt32 + + + None + + + ClientAppSharingPortRange + + Determines the total number of ports available for client sharing or application sharing. Default value is 20 + + UInt32 + + UInt32 + + + None + + + ClientAudioPort + + Determines the starting port number for client audio. Minimum allowed value: 1024 Maximum allowed value: 65535 Default value: 50000 + + UInt32 + + UInt32 + + + None + + + ClientAudioPortRange + + Determines the total number of ports available for client audio. Default value is 20 + + UInt32 + + UInt32 + + + None + + + ClientMediaPortRangeEnabled + + Determines whether custom media port and range selections need to be enforced. When set to True, clients will use the specified port range for media traffic. When set to False (the default value) for any available port (from port 1024 through port 65535) will be used to accommodate media traffic. + + Boolean + + Boolean + + + None + + + ClientVideoPort + + Determines the starting port number for client video. Minimum allowed value: 1024 Maximum allowed value: 65535 Default value: 50020 + + UInt32 + + UInt32 + + + None + + + ClientVideoPortRange + + Determines the total number of ports available for client video. Default value is 20 + + UInt32 + + UInt32 + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + CustomFooterText + + Text to be used on custom meeting invitations + + String + + String + + + None + + + DisableAnonymousJoin + + Determines whether anonymous users are blocked from joining meetings in the tenant. Set this to TRUE to block anonymous users from joining. Set this to FALSE to allow anonymous users to join meetings. + + Boolean + + Boolean + + + None + + + EnableQoS + + Determines whether Quality of Service Marking for real-time media (audio, video, screen/app sharing) is enabled in the tenant. Set this to TRUE to enable and FALSE to disable + + Boolean + + Boolean + + + None + + + Force + + {{Fill Force Description}} + + SwitchParameter + + SwitchParameter + + + False + + + HelpURL + + URL to a website where users can obtain assistance on joining the meeting.This would be included in the meeting invite. Please ensure this URL is publicly accessible for invites that go beyond your federation boundaries + + String + + String + + + None + + + Identity + + The only valid input is Global + + XdsIdentity + + XdsIdentity + + + None + + + Instance + + Use this parameter to update a saved configuration instance + + PSObject + + PSObject + + + None + + + LegalURL + + URL to a website containing legal information and meeting disclaimers. This would be included in the meeting invite. Please ensure this URL is publicly accessible for invites that go beyond your federation boundaries + + String + + String + + + None + + + LogoURL + + URL to a logo image. This would be included in the meeting invite. Please ensure this URL is publicly accessible for invites that go beyond your federation boundaries + + String + + String + + + None + + + DisableAppInteractionForAnonymousUsers + + Determines if anonymous users can interact with apps in meetings. Set to TRUE to disable App interaction. Possible values: + - True + - False + + Boolean + + Boolean + + + None + + + Tenant + + Internal Microsoft use + + Guid + + Guid + + + None + + + FeedbackSurveyForAnonymousUsers + + Determines if anonymous participants receive surveys to provide feedback about their meeting experience. Set to Disabled to disable anonymous meeting participants to receive surveys. Set to Enabled to allow anonymous meeting participants to receive surveys. Possible values: + - Enabled + - Disabled + + String + + String + + + Enabled + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.Management.Automation.PSObject + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-CsTeamsMeetingConfiguration -EnableQoS $true -ClientVideoPort 10000 -Identity Global + + In this example, the user is enabling collection of QoS data in his organization and lowering the video stream quality to accommodate low bandwidth networks. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamsmeetingconfiguration + + + + + + Set-CsTeamsMeetingPolicy + Set + CsTeamsMeetingPolicy + + The `CsTeamsMeetingPolicy` cmdlets enable administrators to control the type of meetings that users can create or the features that they can access while in a meeting. It also helps determine how meetings deal with anonymous or external users. + + + + The `CsTeamsMeetingPolicy` cmdlets enable administrators to control the type of meetings that users can create or the features that they can access while in a meeting. It also helps determine how meetings deal with anonymous or external users. + The Set-CsTeamsMeetingPolicy cmdlet allows administrators to update existing meeting policies that can be assigned to particular users to control Teams features related to meetings. + + + + Set-CsTeamsMeetingPolicy + + Identity + + Specify the name of the policy being created. + + XdsIdentity + + XdsIdentity + + + None + + + AllowAnonymousUsersToDialOut + + Determines whether anonymous users are allowed to dial out to a PSTN number. Set this to TRUE to allow anonymous users to dial out. Set this to FALSE to prohibit anonymous users from dialing out. + > [!NOTE] > This parameter is temporarily disabled. + + Boolean + + Boolean + + + None + + + AllowAnonymousUsersToJoinMeeting + + > [!NOTE] > The experience for users is dependent on both the value of -DisableAnonymousJoin (the old tenant-wide setting) and -AllowAnonymousUsersToJoinMeeting (the new per-organizer policy). Please check <https://learn.microsoft.com/microsoftteams/meeting-settings-in-teams> for details. + Determines whether anonymous users can join the meetings that impacted users organize. Set this to TRUE to allow anonymous users to join a meeting. Set this to FALSE to prohibit them from joining a meeting. + + Boolean + + Boolean + + + True + + + AllowAnonymousUsersToStartMeeting + + Determines whether anonymous users can initiate a meeting. Set this to TRUE to allow anonymous users to initiate a meeting. Set this to FALSE to prohibit them from initiating a meeting. + + Boolean + + Boolean + + + None + + + AllowCartCaptionsScheduling + + Determines whether a user can add a URL for captions from a Communications Access Real-Time Translation (CART) captioner for providing real time captions in meetings. Possible values are: + - EnabledUserOverride , CART captions is available by default but a user can disable. - DisabledUserOverride , if you would like users to be able to use CART captions in meetings but by default it is disabled. - Disabled , if you'd like to not allow CART captions in meeting. + + String + + String + + + DisabledUserOverride + + + AllowBreakoutRooms + + Set to true to enable Breakout Rooms, set to false to disable the Breakout Rooms functionality. + + Boolean + + Boolean + + + True + + + AllowChannelMeetingScheduling + + Determines whether a user can schedule channel meetings. Set this to TRUE to allow a user to schedule channel meetings. Set this to FALSE to prohibit the user from scheduling channel meetings. + > [!NOTE] > This only restricts from scheduling and not from joining a meeting scheduled by another user. + + Boolean + + Boolean + + + None + + + AllowCloudRecording + + Determines whether cloud recording is allowed in a user's meetings. Set this to TRUE to allow the user to be able to record meetings. Set this to FALSE to prohibit the user from recording meetings. + + Boolean + + Boolean + + + None + + + AllowEngagementReport + + Determines whether meeting organizers are allowed to download the attendee engagement report. Possible values are: + - Enabled: allow the meeting organizer to download the report. + - Disabled: disable attendee report generation and prohibit meeting organizer from downloading it. + + If set to enabled, only meeting organizers will get a link to download the report in Teams. Regular attendees will have no access to it. + + String + + String + + + None + + + AllowExternalParticipantGiveRequestControl + + Determines whether external participants can request or give control of screen sharing during meetings scheduled by this user. Set this to TRUE to allow the user to be able to give or request control. Set this to FALSE to prohibit an external user from giving or requesting control in a meeting. + + Boolean + + Boolean + + + None + + + AllowIPAudio + + Determines whether audio is enabled in a user's meetings or calls. Set this to TRUE to allow the user to share their audio. Set this to FALSE to prohibit the user from sharing their audio. + + Boolean + + Boolean + + + True + + + AllowIPVideo + + Determines whether video is enabled in a user's meetings or calls. Set this to TRUE to allow the user to share their video. Set this to FALSE to prohibit the user from sharing their video. + + Boolean + + Boolean + + + None + + + AllowLocalRecording + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + AllowMeetingReactions + + Set to false to disable Meeting Reactions. + + Boolean + + Boolean + + + True + + + AllowMeetingRegistration + + Controls if a user can create a webinar meeting. The default value is True. + Possible values: + - True + - False + + Boolean + + Boolean + + + True + + + AllowMeetNow + + Determines whether a user can start ad-hoc meetings. Set this to TRUE to allow a user to start ad-hoc meetings. Set this to FALSE to prohibit the user from starting ad-hoc meetings. + + Boolean + + Boolean + + + None + + + AllowNetworkConfigurationSettingsLookup + + Determines whether network configuration setting lookup can be made for users who are not Enterprise Voice enabled. It is used to enable Network Roaming policy. + + Boolean + + Boolean + + + False + + + AllowNDIStreaming + + This parameter enables the use of NDI technology to capture and deliver broadcast-quality audio and video over your network. + + Boolean + + Boolean + + + None + + + AllowOrganizersToOverrideLobbySettings + + This parameter has been deprecated and currently has no effect. + + Boolean + + Boolean + + + False + + + AllowOutlookAddIn + + Determines whether a user can schedule Teams Meetings in Outlook desktop client. Set this to TRUE to allow the user to be able to schedule Teams meetings in Outlook client. Set this to FALSE to prohibit a user from scheduling Teams meeting in Outlook client. + + Boolean + + Boolean + + + None + + + AllowParticipantGiveRequestControl + + Determines whether participants can request or give control of screen sharing during meetings scheduled by this user. Set this to TRUE to allow the user to be able to give or request control. Set this to FALSE to prohibit the user from giving, requesting control in a meeting. + + Boolean + + Boolean + + + None + + + AllowPowerPointSharing + + Determines whether Powerpoint sharing is allowed in a user's meetings. Set this to TRUE to allow. Set this to FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowPrivateMeetNow + + This setting controls whether a user can start an ad hoc private meeting. + + Boolean + + Boolean + + + None + + + AllowPrivateMeetingScheduling + + Determines whether a user can schedule private meetings. Set this to TRUE to allow a user to schedule private meetings. Set this to FALSE to prohibit the user from scheduling private meetings. + > [!NOTE] > This only restricts from scheduling and not from joining a meeting scheduled by another user. + + Boolean + + Boolean + + + None + + + AllowPSTNUsersToBypassLobby + + Determines whether a PSTN user joining the meeting is allowed or not to bypass the lobby. If you set this parameter to True , PSTN users are allowed to bypass the lobby as long as an authenticated user is joined to the meeting. + + Boolean + + Boolean + + + None + + + AllowRecordingStorageOutsideRegion + + Allows storing recordings outside of the region. All meeting recordings will be permanently stored in another region, and can't be migrated. This does not apply to recordings saved in OneDrive or SharePoint. + + Boolean + + Boolean + + + False + + + AllowScreenContentDigitization + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + AllowSharedNotes + + Determines whether users are allowed to take shared Meeting notes. Set this to TRUE to allow. Set this to FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowTrackingInReport + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + AllowTranscription + + Determines whether post-meeting captions and transcriptions are allowed in a user's meetings. Set this to TRUE to allow. Set this to FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowUserToJoinExternalMeeting + + Currently, this parameter has no effect. + Possible values are: + - Enabled + - FederatedOnly + - Disabled + + String + + String + + + Disabled + + + AllowWatermarkForScreenSharing + + This setting allows scheduling meetings with watermarking for screen sharing enabled. + + Boolean + + Boolean + + + False + + + AllowWatermarkForCameraVideo + + This setting allows scheduling meetings with watermarking for video enabled. + + Boolean + + Boolean + + + False + + + AllowWhiteboard + + Determines whether whiteboard is allowed in a user's meetings. Set this to TRUE to allow. Set this to FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowedStreamingMediaInput + + Enables the use of RTMP-In in Teams meetings. + Possible values are: + - <blank> + - RTMP + + String + + String + + + None + + + AutoAdmittedUsers + + Determines what types of participants will automatically be added to meetings organized by this user. Possible values are: + - EveryoneInCompany , if you would like meetings to place every external user in the lobby but allow all users in the company to join the meeting immediately. - EveryoneInSameAndFederatedCompany , if you would like meetings to allow federated users to join like your company's users, but place all other external users in a lobby. - Everyone , if you'd like to admit anonymous users by default. - OrganizerOnly , if you would like that only meeting organizers can bypass the lobby. - EveryoneInCompanyExcludingGuests , if you would like meetings to place every external and guest users in the lobby but allow all other users in the company to join the meeting immediately. - InvitedUsers , if you would like that only meeting organizers and invited users can bypass the lobby. + This setting also applies to participants joining via a PSTN device (i.e. a traditional phone). + + String + + String + + + None + + + AutomaticallyStartCopilot + + Note: This feature has not been fully released yet, so the setting will have no effect. This setting gives admins the ability to auto-start Copilot. + Possible values are: + - Enabled + - Disabled + + String + + String + + + None + + + BlockedAnonymousJoinClientTypes + + A user can join a Teams meeting anonymously using a Teams client (https://support.microsoft.com/office/join-a-meeting-without-a-teams-account-c6efc38f-4e03-4e79-b28f-e65a4c039508) or using a [custom application built using Azure Communication Services](/azure/communication-services/concepts/join-teams-meeting). When anonymous meeting join is enabled, both types of clients may be used by default. This optional parameter can be used to block one of the client types that can be used. + The allowed values are ACS (to block the use of Azure Communication Services clients) or Teams (to block the use of Teams clients). Both can also be specified, separated by a comma, but this is equivalent to disabling anonymous join completely. + + List + + List + + + Empty List + + + ChannelRecordingDownload + + Controls how channel meeting recordings are saved, permissioned, and who can download them. + Possible values: + - Allow - Saves channel meeting recordings to a "Recordings" folder in the channel. The permissions on the recording files will be based on the Channel SharePoint permissions. This is the same as any other file uploaded for the channel. + - Block - Saves channel meeting recordings to a "Recordings\View only" folder in the channel. Channel owners will have full rights to the recordings in this folder, but channel members will have read access without the ability to download. + + String + + String + + + Allow + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + ConnectToMeetingControls + + Allows external connections of thirdparty apps to teams + Possible values are: - Enabled + - Disabled + + String + + String + + + Disabled + + + ContentSharingInExternalMeetings + + This policy allows admins to determine whether the user can share content in meetings organized by external organizations. The user should have a Teams Premium license to be protected under this policy. + + String + + String + + + None + + + Copilot + + This setting allows the admin to choose whether Copilot will be enabled with a persisted transcript or a non-persisted transcript. + Possible values are: + - Enabled + - EnabledWithTranscript + + String + + String + + + None + + + CopyRestriction + + This parameter enables a setting that controls a meeting option which allows users to disable right-click or Ctrl+C to copy, Copy link, Forward message, and Share to Outlook for meeting chat messages. + + Boolean + + Boolean + + + TRUE + + + Description + + Enables administrators to provide explanatory text about the meeting policy. For example, the Description might indicate the users the policy should be assigned to. + + String + + String + + + None + + + DesignatedPresenterRoleMode + + Determines if users can change the default value of the Who can present? setting in Meeting options in the Teams client. This policy setting affects all meetings, including Meet Now meetings. + Possible values are: + - EveryoneUserOverride: All meeting participants can be presenters. This is the default value. This parameter corresponds to the Everyone setting in Teams. - EveryoneInCompanyUserOverride: Authenticated users in the organization, including guest users, can be presenters. This parameter corresponds to the People in my organization setting in Teams. - EveryoneInSameAndFederatedCompanyUserOverride: Authenticated users in the organization, including guest users and users from federated organizations, can be presenters. This parameter corresponds to the People in my organization and trusted organizations setting in Teams. - OrganizerOnlyUserOverride: Only the meeting organizer can be a presenter and all meeting participants are designated as attendees. This parameter corresponds to the Only me setting in Teams. + + String + + String + + + None + + + EnableAnonymousUserCaptcha + + This setting enforce captcha for anonymous user while meeting join. + + Boolean + + Boolean + + + False + + + EnrollUserOverride + + Possible values are: + - Disabled + - Enabled + + String + + String + + + Disabled + + + ExternalMeetingJoin + + Determines whether the user is allowed to join external meetings. + Possible values are: + - EnabledForAnyone + - EnabledForTrustedOrgs + - Disabled + + String + + String + + + EnabledForAnyone + + + Force + + Specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + IPAudioMode + + Determines whether audio can be turned on in meetings and group calls. Set this to ENABLEDOUTGOINGINCOMING to allow outgoing and incoming audio in the meeting. Set this to DISABLED to prohibit outgoing and incoming audio in the meeting. + + String + + String + + + None + + + IPVideoMode + + Determines whether video can be turned on in meetings and group calls. Set this to ENABLEDOUTGOINGINCOMING to allow outgoing and incoming video in the meeting. Set this to DISABLED to prohibit outgoing and incoming video in the meeting. + + String + + String + + + None + + + LiveCaptionsEnabledType + + Determines whether real-time captions are available for the user in Teams meetings. Set this to DisabledUserOverride to allow user to turn on live captions. Set this to Disabled to prohibit. + + String + + String + + + DisabledUserOverride + + + LiveInterpretationEnabledType + + Allows meeting organizers to configure a meeting for language interpretation, selecting attendees of the meeting to become interpreters that other attendees can select and listen to the real-time translation they provide. Possible values are: + - DisabledUserOverride , if you would like users to be able to use interpretation in meetings but by default it is disabled. - Disabled , prevents the option to be enabled in Meeting Options. + + String + + String + + + DisabledUserOverride + + + LiveStreamingMode + + Determines whether you provide support for your users to stream their Teams meetings to large audiences through Real-Time Messaging Protocol (RTMP). + Possible values are: + - Disabled + - Enabled + + String + + String + + + None + + + MediaBitRateKb + + Determines the media bit rate for audio/video/app sharing transmissions in meetings. + + UInt32 + + UInt32 + + + None + + + MeetingChatEnabledType + + Specifies if users will be able to chat in meetings. Possible values are: Disabled, Enabled, and EnabledExceptAnonymous. + + String + + String + + + None + + + MeetingInviteLanguages + + Controls how the join information in meeting invitations is displayed by enforcing a common language or enabling up to two languages to be displayed. + Note: All Teams supported languages can be specified using language codes. For more information about its delivery date, see the roadmap (Feature ID: 81521) (https://www.microsoft.com/microsoft-365/roadmap?filters=&searchterms=81521). + The preliminary list of available languages is shown below: + `ar-SA,az-Latn-AZ,bg-BG,ca-ES,cs-CZ,cy-GB,da-DK,de-DE,el-GR,en-GB,en-US,es-ES,es-MX,et-EE,eu-ES,fi-FI,fil-PH,fr-CA,fr-FR,gl-ES,he-IL,hi-IN,hr-HR,hu-HU,id-ID,is-IS,it-IT,ja-JP,ka-GE,kk-KZ,ko-KR,lt-LT,lv-LV,mk-MK,ms-MY,nb-NO,nl-NL,nn-NO,pl-PL,pt-BR,pt-PT,ro-RO,ru-RU,sk-SK,sl-SL,sq-AL,sr-Latn-RS,sv-SE,th-TH,tr-TR,uk-UA,vi-VN,zh-CN,zh-TW`. + + String + + String + + + None + + + NewMeetingRecordingExpirationDays + + Specifies the number of days before meeting recordings will expire and move to the recycle bin. Value can be from 1 to 99,999 days. Value can also be -1 to set meeting recordings to never expire. + NOTE: You may opt to set Meeting Recordings to never expire by entering the value -1. + + Int32 + + Int32 + + + None + + + PreferredMeetingProviderForIslandsMode + + Determines the Outlook meeting add-in available to users on Islands mode. By default, this is set to TeamsAndSfb, and the users sees both the Skype for Business and Teams add-ins. Set this to Teams to remove the Skype for Business add-in and only show the Teams add-in. + + String + + String + + + TeamsAndSfb + + + RecordingStorageMode + + This parameter can take two possible values: + - Stream + - OneDriveForBusiness + + Note: The change of storing Teams meeting recordings from Classic Stream to OneDrive and SharePoint (ODSP) has been completed as of August 30th, 2021. All recordings are now stored in ODSP. This change overrides the RecordingStorageMode parameter, and modifying the setting in PowerShell no longer has any impact. + + String + + String + + + None + + + RoomAttributeUserOverride + + Possible values: + - Off + - Distinguish + - Attribute + + String + + String + + + None + + + ScreenSharingMode + + Determines the mode in which a user can share a screen in calls or meetings. Set this to SingleApplication to allow the user to share an application at a given point in time. Set this to EntireScreen to allow the user to share anything on their screens. Set this to Disabled to prohibit the user from sharing their screens. + + String + + String + + + None + + + SmsNotifications + + Participants can sign up for text message meeting reminders. + + String + + String + + + None + + + SpeakerAttributionMode + + Possible values: + - EnabledUserOverride + - Disabled + + String + + String + + + None + + + StreamingAttendeeMode + + Controls if Teams uses overflow capability once a meeting reaches its capacity (1,000 users with full functionality). + Possible values are: + - Disabled + - Enabled + + Set this to Enabled to allow up to 20,000 extra view-only attendees to join. + + String + + String + + + Disabled + + + TeamsCameraFarEndPTZMode + + Possible values are: + - Disabled + - AutoAcceptInTenant + - AutoAcceptAll + + String + + String + + + Disabled + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose external user communication policy are being created. For example: + `-Tenant "38aad667-af54-4397-aaa7-e94c79ec2308"` + You can return your tenant ID by running this command: + `Get-CsTenant | Select-Object DisplayName, TenantID` + If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + Guid + + Guid + + + None + + + VideoFiltersMode + + Determines the background effects that a user can configure in the Teams client. Possible values are: + - NoFilters: No filters are available. + - BlurOnly: Background blur is the only option available (requires a processor with AVX2 support, see Hardware requirements for Microsoft Teams (https://learn.microsoft.com/microsoftteams/hardware-requirements-for-the-teams-app) for more information). - BlurAndDefaultBackgrounds: Background blur and a list of pre-selected images are available. + - AllFilters: All filters are available, including custom images. + + String + + String + + + None + + + VoiceIsolation + + Determines whether you provide support for your users to enable voice isolation in Teams meeting calls. + Possible values are: - Enabled (default) + - Disabled + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + WhoCanRegister + + Controls the attendees who can attend a webinar meeting. The default is Everyone, meaning that everyone can register. If you want to restrict registration to internal accounts set the value to 'EveryoneInCompany'. + Possible values: + - Everyone + - EveryoneInCompany + + String + + String + + + Everyone + + + + + + Identity + + Specify the name of the policy being created. + + XdsIdentity + + XdsIdentity + + + None + + + AllowAnonymousUsersToDialOut + + Determines whether anonymous users are allowed to dial out to a PSTN number. Set this to TRUE to allow anonymous users to dial out. Set this to FALSE to prohibit anonymous users from dialing out. + > [!NOTE] > This parameter is temporarily disabled. + + Boolean + + Boolean + + + None + + + AllowAnonymousUsersToJoinMeeting + + > [!NOTE] > The experience for users is dependent on both the value of -DisableAnonymousJoin (the old tenant-wide setting) and -AllowAnonymousUsersToJoinMeeting (the new per-organizer policy). Please check <https://learn.microsoft.com/microsoftteams/meeting-settings-in-teams> for details. + Determines whether anonymous users can join the meetings that impacted users organize. Set this to TRUE to allow anonymous users to join a meeting. Set this to FALSE to prohibit them from joining a meeting. + + Boolean + + Boolean + + + True + + + AllowAnonymousUsersToStartMeeting + + Determines whether anonymous users can initiate a meeting. Set this to TRUE to allow anonymous users to initiate a meeting. Set this to FALSE to prohibit them from initiating a meeting. + + Boolean + + Boolean + + + None + + + AllowCartCaptionsScheduling + + Determines whether a user can add a URL for captions from a Communications Access Real-Time Translation (CART) captioner for providing real time captions in meetings. Possible values are: + - EnabledUserOverride , CART captions is available by default but a user can disable. - DisabledUserOverride , if you would like users to be able to use CART captions in meetings but by default it is disabled. - Disabled , if you'd like to not allow CART captions in meeting. + + String + + String + + + DisabledUserOverride + + + AllowBreakoutRooms + + Set to true to enable Breakout Rooms, set to false to disable the Breakout Rooms functionality. + + Boolean + + Boolean + + + True + + + AllowChannelMeetingScheduling + + Determines whether a user can schedule channel meetings. Set this to TRUE to allow a user to schedule channel meetings. Set this to FALSE to prohibit the user from scheduling channel meetings. + > [!NOTE] > This only restricts from scheduling and not from joining a meeting scheduled by another user. + + Boolean + + Boolean + + + None + + + AllowCloudRecording + + Determines whether cloud recording is allowed in a user's meetings. Set this to TRUE to allow the user to be able to record meetings. Set this to FALSE to prohibit the user from recording meetings. + + Boolean + + Boolean + + + None + + + AllowEngagementReport + + Determines whether meeting organizers are allowed to download the attendee engagement report. Possible values are: + - Enabled: allow the meeting organizer to download the report. + - Disabled: disable attendee report generation and prohibit meeting organizer from downloading it. + + If set to enabled, only meeting organizers will get a link to download the report in Teams. Regular attendees will have no access to it. + + String + + String + + + None + + + AllowExternalParticipantGiveRequestControl + + Determines whether external participants can request or give control of screen sharing during meetings scheduled by this user. Set this to TRUE to allow the user to be able to give or request control. Set this to FALSE to prohibit an external user from giving or requesting control in a meeting. + + Boolean + + Boolean + + + None + + + AllowIPAudio + + Determines whether audio is enabled in a user's meetings or calls. Set this to TRUE to allow the user to share their audio. Set this to FALSE to prohibit the user from sharing their audio. + + Boolean + + Boolean + + + True + + + AllowIPVideo + + Determines whether video is enabled in a user's meetings or calls. Set this to TRUE to allow the user to share their video. Set this to FALSE to prohibit the user from sharing their video. + + Boolean + + Boolean + + + None + + + AllowLocalRecording + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + AllowMeetingReactions + + Set to false to disable Meeting Reactions. + + Boolean + + Boolean + + + True + + + AllowMeetingRegistration + + Controls if a user can create a webinar meeting. The default value is True. + Possible values: + - True + - False + + Boolean + + Boolean + + + True + + + AllowMeetNow + + Determines whether a user can start ad-hoc meetings. Set this to TRUE to allow a user to start ad-hoc meetings. Set this to FALSE to prohibit the user from starting ad-hoc meetings. + + Boolean + + Boolean + + + None + + + AllowNetworkConfigurationSettingsLookup + + Determines whether network configuration setting lookup can be made for users who are not Enterprise Voice enabled. It is used to enable Network Roaming policy. + + Boolean + + Boolean + + + False + + + AllowNDIStreaming + + This parameter enables the use of NDI technology to capture and deliver broadcast-quality audio and video over your network. + + Boolean + + Boolean + + + None + + + AllowOrganizersToOverrideLobbySettings + + This parameter has been deprecated and currently has no effect. + + Boolean + + Boolean + + + False + + + AllowOutlookAddIn + + Determines whether a user can schedule Teams Meetings in Outlook desktop client. Set this to TRUE to allow the user to be able to schedule Teams meetings in Outlook client. Set this to FALSE to prohibit a user from scheduling Teams meeting in Outlook client. + + Boolean + + Boolean + + + None + + + AllowParticipantGiveRequestControl + + Determines whether participants can request or give control of screen sharing during meetings scheduled by this user. Set this to TRUE to allow the user to be able to give or request control. Set this to FALSE to prohibit the user from giving, requesting control in a meeting. + + Boolean + + Boolean + + + None + + + AllowPowerPointSharing + + Determines whether Powerpoint sharing is allowed in a user's meetings. Set this to TRUE to allow. Set this to FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowPrivateMeetNow + + This setting controls whether a user can start an ad hoc private meeting. + + Boolean + + Boolean + + + None + + + AllowPrivateMeetingScheduling + + Determines whether a user can schedule private meetings. Set this to TRUE to allow a user to schedule private meetings. Set this to FALSE to prohibit the user from scheduling private meetings. + > [!NOTE] > This only restricts from scheduling and not from joining a meeting scheduled by another user. + + Boolean + + Boolean + + + None + + + AllowPSTNUsersToBypassLobby + + Determines whether a PSTN user joining the meeting is allowed or not to bypass the lobby. If you set this parameter to True , PSTN users are allowed to bypass the lobby as long as an authenticated user is joined to the meeting. + + Boolean + + Boolean + + + None + + + AllowRecordingStorageOutsideRegion + + Allows storing recordings outside of the region. All meeting recordings will be permanently stored in another region, and can't be migrated. This does not apply to recordings saved in OneDrive or SharePoint. + + Boolean + + Boolean + + + False + + + AllowScreenContentDigitization + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + AllowSharedNotes + + Determines whether users are allowed to take shared Meeting notes. Set this to TRUE to allow. Set this to FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowTrackingInReport + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + AllowTranscription + + Determines whether post-meeting captions and transcriptions are allowed in a user's meetings. Set this to TRUE to allow. Set this to FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowUserToJoinExternalMeeting + + Currently, this parameter has no effect. + Possible values are: + - Enabled + - FederatedOnly + - Disabled + + String + + String + + + Disabled + + + AllowWatermarkForScreenSharing + + This setting allows scheduling meetings with watermarking for screen sharing enabled. + + Boolean + + Boolean + + + False + + + AllowWatermarkForCameraVideo + + This setting allows scheduling meetings with watermarking for video enabled. + + Boolean + + Boolean + + + False + + + AllowWhiteboard + + Determines whether whiteboard is allowed in a user's meetings. Set this to TRUE to allow. Set this to FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowedStreamingMediaInput + + Enables the use of RTMP-In in Teams meetings. + Possible values are: + - <blank> + - RTMP + + String + + String + + + None + + + AutoAdmittedUsers + + Determines what types of participants will automatically be added to meetings organized by this user. Possible values are: + - EveryoneInCompany , if you would like meetings to place every external user in the lobby but allow all users in the company to join the meeting immediately. - EveryoneInSameAndFederatedCompany , if you would like meetings to allow federated users to join like your company's users, but place all other external users in a lobby. - Everyone , if you'd like to admit anonymous users by default. - OrganizerOnly , if you would like that only meeting organizers can bypass the lobby. - EveryoneInCompanyExcludingGuests , if you would like meetings to place every external and guest users in the lobby but allow all other users in the company to join the meeting immediately. - InvitedUsers , if you would like that only meeting organizers and invited users can bypass the lobby. + This setting also applies to participants joining via a PSTN device (i.e. a traditional phone). + + String + + String + + + None + + + AutomaticallyStartCopilot + + Note: This feature has not been fully released yet, so the setting will have no effect. This setting gives admins the ability to auto-start Copilot. + Possible values are: + - Enabled + - Disabled + + String + + String + + + None + + + BlockedAnonymousJoinClientTypes + + A user can join a Teams meeting anonymously using a Teams client (https://support.microsoft.com/office/join-a-meeting-without-a-teams-account-c6efc38f-4e03-4e79-b28f-e65a4c039508) or using a [custom application built using Azure Communication Services](/azure/communication-services/concepts/join-teams-meeting). When anonymous meeting join is enabled, both types of clients may be used by default. This optional parameter can be used to block one of the client types that can be used. + The allowed values are ACS (to block the use of Azure Communication Services clients) or Teams (to block the use of Teams clients). Both can also be specified, separated by a comma, but this is equivalent to disabling anonymous join completely. + + List + + List + + + Empty List + + + ChannelRecordingDownload + + Controls how channel meeting recordings are saved, permissioned, and who can download them. + Possible values: + - Allow - Saves channel meeting recordings to a "Recordings" folder in the channel. The permissions on the recording files will be based on the Channel SharePoint permissions. This is the same as any other file uploaded for the channel. + - Block - Saves channel meeting recordings to a "Recordings\View only" folder in the channel. Channel owners will have full rights to the recordings in this folder, but channel members will have read access without the ability to download. + + String + + String + + + Allow + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + ConnectToMeetingControls + + Allows external connections of thirdparty apps to teams + Possible values are: - Enabled + - Disabled + + String + + String + + + Disabled + + + ContentSharingInExternalMeetings + + This policy allows admins to determine whether the user can share content in meetings organized by external organizations. The user should have a Teams Premium license to be protected under this policy. + + String + + String + + + None + + + Copilot + + This setting allows the admin to choose whether Copilot will be enabled with a persisted transcript or a non-persisted transcript. + Possible values are: + - Enabled + - EnabledWithTranscript + + String + + String + + + None + + + CopyRestriction + + This parameter enables a setting that controls a meeting option which allows users to disable right-click or Ctrl+C to copy, Copy link, Forward message, and Share to Outlook for meeting chat messages. + + Boolean + + Boolean + + + TRUE + + + Description + + Enables administrators to provide explanatory text about the meeting policy. For example, the Description might indicate the users the policy should be assigned to. + + String + + String + + + None + + + DesignatedPresenterRoleMode + + Determines if users can change the default value of the Who can present? setting in Meeting options in the Teams client. This policy setting affects all meetings, including Meet Now meetings. + Possible values are: + - EveryoneUserOverride: All meeting participants can be presenters. This is the default value. This parameter corresponds to the Everyone setting in Teams. - EveryoneInCompanyUserOverride: Authenticated users in the organization, including guest users, can be presenters. This parameter corresponds to the People in my organization setting in Teams. - EveryoneInSameAndFederatedCompanyUserOverride: Authenticated users in the organization, including guest users and users from federated organizations, can be presenters. This parameter corresponds to the People in my organization and trusted organizations setting in Teams. - OrganizerOnlyUserOverride: Only the meeting organizer can be a presenter and all meeting participants are designated as attendees. This parameter corresponds to the Only me setting in Teams. + + String + + String + + + None + + + EnableAnonymousUserCaptcha + + This setting enforce captcha for anonymous user while meeting join. + + Boolean + + Boolean + + + False + + + EnrollUserOverride + + Possible values are: + - Disabled + - Enabled + + String + + String + + + Disabled + + + ExternalMeetingJoin + + Determines whether the user is allowed to join external meetings. + Possible values are: + - EnabledForAnyone + - EnabledForTrustedOrgs + - Disabled + + String + + String + + + EnabledForAnyone + + + Force + + Specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + IPAudioMode + + Determines whether audio can be turned on in meetings and group calls. Set this to ENABLEDOUTGOINGINCOMING to allow outgoing and incoming audio in the meeting. Set this to DISABLED to prohibit outgoing and incoming audio in the meeting. + + String + + String + + + None + + + IPVideoMode + + Determines whether video can be turned on in meetings and group calls. Set this to ENABLEDOUTGOINGINCOMING to allow outgoing and incoming video in the meeting. Set this to DISABLED to prohibit outgoing and incoming video in the meeting. + + String + + String + + + None + + + LiveCaptionsEnabledType + + Determines whether real-time captions are available for the user in Teams meetings. Set this to DisabledUserOverride to allow user to turn on live captions. Set this to Disabled to prohibit. + + String + + String + + + DisabledUserOverride + + + LiveInterpretationEnabledType + + Allows meeting organizers to configure a meeting for language interpretation, selecting attendees of the meeting to become interpreters that other attendees can select and listen to the real-time translation they provide. Possible values are: + - DisabledUserOverride , if you would like users to be able to use interpretation in meetings but by default it is disabled. - Disabled , prevents the option to be enabled in Meeting Options. + + String + + String + + + DisabledUserOverride + + + LiveStreamingMode + + Determines whether you provide support for your users to stream their Teams meetings to large audiences through Real-Time Messaging Protocol (RTMP). + Possible values are: + - Disabled + - Enabled + + String + + String + + + None + + + MediaBitRateKb + + Determines the media bit rate for audio/video/app sharing transmissions in meetings. + + UInt32 + + UInt32 + + + None + + + MeetingChatEnabledType + + Specifies if users will be able to chat in meetings. Possible values are: Disabled, Enabled, and EnabledExceptAnonymous. + + String + + String + + + None + + + MeetingInviteLanguages + + Controls how the join information in meeting invitations is displayed by enforcing a common language or enabling up to two languages to be displayed. + Note: All Teams supported languages can be specified using language codes. For more information about its delivery date, see the roadmap (Feature ID: 81521) (https://www.microsoft.com/microsoft-365/roadmap?filters=&searchterms=81521). + The preliminary list of available languages is shown below: + `ar-SA,az-Latn-AZ,bg-BG,ca-ES,cs-CZ,cy-GB,da-DK,de-DE,el-GR,en-GB,en-US,es-ES,es-MX,et-EE,eu-ES,fi-FI,fil-PH,fr-CA,fr-FR,gl-ES,he-IL,hi-IN,hr-HR,hu-HU,id-ID,is-IS,it-IT,ja-JP,ka-GE,kk-KZ,ko-KR,lt-LT,lv-LV,mk-MK,ms-MY,nb-NO,nl-NL,nn-NO,pl-PL,pt-BR,pt-PT,ro-RO,ru-RU,sk-SK,sl-SL,sq-AL,sr-Latn-RS,sv-SE,th-TH,tr-TR,uk-UA,vi-VN,zh-CN,zh-TW`. + + String + + String + + + None + + + NewMeetingRecordingExpirationDays + + Specifies the number of days before meeting recordings will expire and move to the recycle bin. Value can be from 1 to 99,999 days. Value can also be -1 to set meeting recordings to never expire. + NOTE: You may opt to set Meeting Recordings to never expire by entering the value -1. + + Int32 + + Int32 + + + None + + + PreferredMeetingProviderForIslandsMode + + Determines the Outlook meeting add-in available to users on Islands mode. By default, this is set to TeamsAndSfb, and the users sees both the Skype for Business and Teams add-ins. Set this to Teams to remove the Skype for Business add-in and only show the Teams add-in. + + String + + String + + + TeamsAndSfb + + + RecordingStorageMode + + This parameter can take two possible values: + - Stream + - OneDriveForBusiness + + Note: The change of storing Teams meeting recordings from Classic Stream to OneDrive and SharePoint (ODSP) has been completed as of August 30th, 2021. All recordings are now stored in ODSP. This change overrides the RecordingStorageMode parameter, and modifying the setting in PowerShell no longer has any impact. + + String + + String + + + None + + + RoomAttributeUserOverride + + Possible values: + - Off + - Distinguish + - Attribute + + String + + String + + + None + + + ScreenSharingMode + + Determines the mode in which a user can share a screen in calls or meetings. Set this to SingleApplication to allow the user to share an application at a given point in time. Set this to EntireScreen to allow the user to share anything on their screens. Set this to Disabled to prohibit the user from sharing their screens. + + String + + String + + + None + + + SmsNotifications + + Participants can sign up for text message meeting reminders. + + String + + String + + + None + + + SpeakerAttributionMode + + Possible values: + - EnabledUserOverride + - Disabled + + String + + String + + + None + + + StreamingAttendeeMode + + Controls if Teams uses overflow capability once a meeting reaches its capacity (1,000 users with full functionality). + Possible values are: + - Disabled + - Enabled + + Set this to Enabled to allow up to 20,000 extra view-only attendees to join. + + String + + String + + + Disabled + + + TeamsCameraFarEndPTZMode + + Possible values are: + - Disabled + - AutoAcceptInTenant + - AutoAcceptAll + + String + + String + + + Disabled + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose external user communication policy are being created. For example: + `-Tenant "38aad667-af54-4397-aaa7-e94c79ec2308"` + You can return your tenant ID by running this command: + `Get-CsTenant | Select-Object DisplayName, TenantID` + If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + Guid + + Guid + + + None + + + VideoFiltersMode + + Determines the background effects that a user can configure in the Teams client. Possible values are: + - NoFilters: No filters are available. + - BlurOnly: Background blur is the only option available (requires a processor with AVX2 support, see Hardware requirements for Microsoft Teams (https://learn.microsoft.com/microsoftteams/hardware-requirements-for-the-teams-app) for more information). - BlurAndDefaultBackgrounds: Background blur and a list of pre-selected images are available. + - AllFilters: All filters are available, including custom images. + + String + + String + + + None + + + VoiceIsolation + + Determines whether you provide support for your users to enable voice isolation in Teams meeting calls. + Possible values are: - Enabled (default) + - Disabled + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + WhoCanRegister + + Controls the attendees who can attend a webinar meeting. The default is Everyone, meaning that everyone can register. If you want to restrict registration to internal accounts set the value to 'EveryoneInCompany'. + Possible values: + - Everyone + - EveryoneInCompany + + String + + String + + + Everyone + + + + + + System.Management.Automation.PSObject + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- EXAMPLE 1 -------------------------- + Set-CsTeamsMeetingPolicy -Identity SalesMeetingPolicy -AllowTranscription $True + + The command shown in Example 1 uses the Set-CsTeamsMeetingPolicy cmdlet to update an existing meeting policy with the Identity SalesMeetingPolicy. This policy will use all the existing values except one: AllowTranscription; in this example, meetings for users with this policy can include real time or post meeting captions and transcriptions. + + + + -------------------------- EXAMPLE 2 -------------------------- + Set-CsTeamsMeetingPolicy -Identity HrMeetingPolicy -AutoAdmittedUsers "Everyone" -AllowMeetNow $False + + In Example 2, the Set-CsTeamsMeetingPolicy cmdlet is used to update a meeting policy with the Identity HrMeetingPolicy. In this example two different property values are configured: AutoAdmittedUsers is set to Everyone and AllowMeetNow is set to False. All other policy properties will use the existing values. + + + + -------------------------- EXAMPLE 3 -------------------------- + Set-CsTeamsMeetingPolicy -Identity NonEVNetworkRoamingPolicy -AllowNetworkConfigurationSettingsLookup $True + + In Example 3, the Set-CsTeamsMeetingPolicy cmdlet is used to update an existing meeting policy with the Identity NonEVNetworkRoamingPolicy. This policy will use all the existing values except one: AllowNetworkConfigurationSettingsLookup; in this example, we will fetch network roaming policy for the non-EV user with NonEVNetworkRoamingPolicy based on his current network location. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamsmeetingpolicy + + + + + + Set-CsTeamsMeetingTemplatePermissionPolicy + Set + CsTeamsMeetingTemplatePermissionPolicy + + This cmdlet updates an existing TeamsMeetingTemplatePermissionPolicy. + + + + Update any of the properties of an existing instance of the TeamsMeetingTemplatePermissionPolicy. + + + + Set-CsTeamsMeetingTemplatePermissionPolicy + + Identity + + Name of the policy instance to be updated. + + String + + String + + + None + + + HiddenMeetingTemplates + + The updated list of meeting template IDs to hide. The HiddenMeetingTemplate objects are created with New-CsTeamsHiddenMeetingTemplate (New-CsTeamsHiddenMeetingTemplate.yml). + + HiddenMeetingTemplate[] + + HiddenMeetingTemplate[] + + + None + + + Description + + Pass in a new description if that field needs to be updated. + + String + + String + + + None + + + + + + Identity + + Name of the policy instance to be updated. + + String + + String + + + None + + + HiddenMeetingTemplates + + The updated list of meeting template IDs to hide. The HiddenMeetingTemplate objects are created with New-CsTeamsHiddenMeetingTemplate (New-CsTeamsHiddenMeetingTemplate.yml). + + HiddenMeetingTemplate[] + + HiddenMeetingTemplate[] + + + None + + + Description + + Pass in a new description if that field needs to be updated. + + String + + String + + + None + + + + + + + + + + -- Example 1 - Updating the description of an existing policy -- + PS> Set-CsTeamsMeetingTemplatePermissionPolicy -Identity Foobar -Description "updated description" + + Updates the description field of a policy. + + + + Example 2 - Updating the hidden meeting template list of an existing policy + PS> Set-CsTeamsMeetingTemplatePermissionPolicy -Identity Foobar -HiddenMeetingTemplates @($hiddentemplate_1, $hiddentemplate_2) + + Updates the hidden meeting templates array. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/Set-CsTeamsMeetingTemplatePermissionPolicy + + + Get-CsTeamsMeetingTemplatePermissionPolicy + + + + New-CsTeamsMeetingTemplatePermissionPolicy + + + + Remove-CsTeamsMeetingTemplatePermissionPolicy + + + + Grant-CsTeamsMeetingTemplatePermissionPolicy + + + + + + + Set-CsTeamsMessagingPolicy + Set + CsTeamsMessagingPolicy + + The CsTeamsMessagingPolicy cmdlets enable administrators to control if a user is enabled to exchange messages. These also help determine the type of messages users can create and modify. + + + + The CsTeamsMessagingPolicy cmdlets enable administrators to control if a user is enabled to exchange messages. These also help determine the type of messages users can create and modify. This cmdlet updates a Teams messaging policy. Custom policies can then be assigned to users using the Grant-CsTeamsMessagingPolicy cmdlet. + + + + Set-CsTeamsMessagingPolicy + + Identity + + Identity for the teams messaging policy you're modifying. To modify the global policy, use this syntax: -Identity global. To modify a per-user policy, use syntax similar to this: `-Identity TeamsMessagingPolicy`. + If you do not specify an Identity the Set-CsTeamsMessagingPolicy cmdlet will automatically modify the global policy. + + Object + + Object + + + None + + + AllowSmartCompose + + Turn on this setting to let a user get text predictions for chat messages. + + Boolean + + Boolean + + + None + + + AllowGiphy + + Determines whether a user is allowed to access and post Giphys. Set this to TRUE to allow. Set this FALSE to prohibit. Note : Optional Connected Experiences (https://learn.microsoft.com/deployoffice/privacy/manage-privacy-controls#policy-setting-for-optional-connected-experiences)must be also enabled for Giphys to be allowed. + + Boolean + + Boolean + + + None + + + AllowImmersiveReader + + Determines whether a user is allowed to use Immersive Reader for reading conversation messages. Set this to TRUE to allow. Set this FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowMemes + + Determines whether a user is allowed to access and post memes. Set this to TRUE to allow. Set this FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowOwnerDeleteMessage + + Determines whether owners are allowed to delete all the messages in their team. Set this to TRUE to allow. Set this to FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowPriorityMessages + + Determines whether a user is allowed to send priorities messages. Set this to TRUE to allow. Set this FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowSmartReply + + Turn this setting on to enable suggested replies for chat messages. Set this to TRUE to allow. Set this to FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowRemoveUser + + Determines whether a user is allowed to remove a user from a conversation. Set this to TRUE to allow. Set this FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowStickers + + Determines whether a user is allowed to access and post stickers. Set this to TRUE to allow. Set this FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowUserChat + + Determines whether a user is allowed to chat. Set this to TRUE to allow a user to chat across private chat, group chat and in meetings. Set this to FALSE to prohibit all chat. + + Boolean + + Boolean + + + None + + + AllowUserDeleteChat + + Turn this setting on to allow users to permanently delete their 1:1, group chat, and meeting chat as participants (this deletes the chat only for them, not other users in the chat). Set this to TRUE to allow. Set this to FALSE to prohibit. + + Boolean + + Boolean + + + TRUE + + + AllowUserDeleteMessage + + Determines whether a user is allowed to delete their own messages. Set this to TRUE to allow. Set this to FALSE to prohibit. If this value is set to FALSE, the team owner will not be able to delete their own messages. + + Boolean + + Boolean + + + None + + + AllowUserEditMessage + + Determines whether a user is allowed to edit their own messages. Set this to TRUE to allow. Set this to FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowUserTranslation + + Determines whether a user is allowed to translate messages to their client languages. Set this to TRUE to allow. Set this to FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowUrlPreviews + + Use this setting to turn automatic URL previewing on or off in messages. Set this to TRUE to turn on. Set this to FALSE to turn off. Note: Optional Connected Experiences (https://learn.microsoft.com/deployoffice/privacy/manage-privacy-controls#policy-setting-for-optional-connected-experiences)must be also enabled for URL previews to be allowed. + + Boolean + + Boolean + + + None + + + AudioMessageEnabledType + + Determines whether a user is allowed to send audio messages. Possible values are: ChatsAndChannels, ChatsOnly, Disabled. + + AudioMessageEnabledTypeEnum + + AudioMessageEnabledTypeEnum + + + None + + + ChannelsInChatListEnabledType + + On mobile devices, enable to display favorite channels above recent chats. + Possible values are: DisabledUserOverride, EnabledUserOverride. + + ChannelsInChatListEnabledTypeEnum + + ChannelsInChatListEnabledTypeEnum + + + None + + + ChatPermissionRole + + Determines the Supervised Chat role of the user. Set this to Full to allow the user to supervise chats. Supervisors have the ability to initiate chats with and invite any user within the environment. Set this to Limited to allow the user to initiate conversations with Full and Limited permissioned users, but not Restricted. Set this to Restricted to block chat creation with anyone other than Full permissioned users. + + + String + + String + + + Restricted + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + CreateCustomEmojis + + This setting enables the creation of custom emojis and reactions within an organization for the specified policy users. + + Boolean + + Boolean + + + None + + + DeleteCustomEmojis + + These settings enable and disable the editing and deletion of custom emojis and reactions for the users included in the messaging policy. + + Boolean + + Boolean + + + None + + + Description + + Provide a description of your policy to identify purpose of creating it. + + String + + String + + + None + + + DesignerForBackgroundsAndImages + + This setting determines whether a user is allowed to create custom AI-powered backgrounds and images with MS Designer. + Possible values are: Enabled, Disabled. + + DesignerForBackgroundsAndImagesTypeEnum + + DesignerForBackgroundsAndImagesTypeEnum + + + Enabled + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + GiphyRatingType + + Determines the Giphy content restrictions applicable to a user. Set this to STRICT, MODERATE or NORESTRICTION. + + String + + String + + + None + + + Instance + + Allows you to pass a reference to an object to the cmdlet rather than set individual parameter values. + + XdsIdentity + + XdsIdentity + + + None + + + ReadReceiptsEnabledType + + Use this setting to specify whether read receipts are user controlled, enabled for everyone, or disabled. Set this to UserPreference, Everyone or None. + + String + + String + + + None + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose external user communication policy are being created. For example: + `-Tenant "38aad667-af54-4397-aaa7-e94c79ec2308"` + You can return your tenant ID by running this command: + `Get-CsTenant | Select-Object DisplayName, TenantID` + If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Identity + + Identity for the teams messaging policy you're modifying. To modify the global policy, use this syntax: -Identity global. To modify a per-user policy, use syntax similar to this: `-Identity TeamsMessagingPolicy`. + If you do not specify an Identity the Set-CsTeamsMessagingPolicy cmdlet will automatically modify the global policy. + + Object + + Object + + + None + + + AllowGiphy + + Determines whether a user is allowed to access and post Giphys. Set this to TRUE to allow. Set this FALSE to prohibit. Note : Optional Connected Experiences (https://learn.microsoft.com/deployoffice/privacy/manage-privacy-controls#policy-setting-for-optional-connected-experiences)must be also enabled for Giphys to be allowed. + + Boolean + + Boolean + + + None + + + AllowImmersiveReader + + Determines whether a user is allowed to use Immersive Reader for reading conversation messages. Set this to TRUE to allow. Set this FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowMemes + + Determines whether a user is allowed to access and post memes. Set this to TRUE to allow. Set this FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowOwnerDeleteMessage + + Determines whether owners are allowed to delete all the messages in their team. Set this to TRUE to allow. Set this to FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowPriorityMessages + + Determines whether a user is allowed to send priorities messages. Set this to TRUE to allow. Set this FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowSmartCompose + + Turn on this setting to let a user get text predictions for chat messages. + + Boolean + + Boolean + + + None + + + AllowSmartReply + + Turn this setting on to enable suggested replies for chat messages. Set this to TRUE to allow. Set this to FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowRemoveUser + + Determines whether a user is allowed to remove a user from a conversation. Set this to TRUE to allow. Set this FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowStickers + + Determines whether a user is allowed to access and post stickers. Set this to TRUE to allow. Set this FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowUserChat + + Determines whether a user is allowed to chat. Set this to TRUE to allow a user to chat across private chat, group chat and in meetings. Set this to FALSE to prohibit all chat. + + Boolean + + Boolean + + + None + + + AllowUserDeleteChat + + Turn this setting on to allow users to permanently delete their 1:1, group chat, and meeting chat as participants (this deletes the chat only for them, not other users in the chat). Set this to TRUE to allow. Set this to FALSE to prohibit. + + Boolean + + Boolean + + + TRUE + + + AllowUserDeleteMessage + + Determines whether a user is allowed to delete their own messages. Set this to TRUE to allow. Set this to FALSE to prohibit. If this value is set to FALSE, the team owner will not be able to delete their own messages. + + Boolean + + Boolean + + + None + + + AllowUserEditMessage + + Determines whether a user is allowed to edit their own messages. Set this to TRUE to allow. Set this to FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowUserTranslation + + Determines whether a user is allowed to translate messages to their client languages. Set this to TRUE to allow. Set this to FALSE to prohibit. + + Boolean + + Boolean + + + None + + + AllowUrlPreviews + + Use this setting to turn automatic URL previewing on or off in messages. Set this to TRUE to turn on. Set this to FALSE to turn off. Note: Optional Connected Experiences (https://learn.microsoft.com/deployoffice/privacy/manage-privacy-controls#policy-setting-for-optional-connected-experiences)must be also enabled for URL previews to be allowed. + + Boolean + + Boolean + + + None + + + AudioMessageEnabledType + + Determines whether a user is allowed to send audio messages. Possible values are: ChatsAndChannels, ChatsOnly, Disabled. + + AudioMessageEnabledTypeEnum + + AudioMessageEnabledTypeEnum + + + None + + + ChannelsInChatListEnabledType + + On mobile devices, enable to display favorite channels above recent chats. + Possible values are: DisabledUserOverride, EnabledUserOverride. + + ChannelsInChatListEnabledTypeEnum + + ChannelsInChatListEnabledTypeEnum + + + None + + + ChatPermissionRole + + Determines the Supervised Chat role of the user. Set this to Full to allow the user to supervise chats. Supervisors have the ability to initiate chats with and invite any user within the environment. Set this to Limited to allow the user to initiate conversations with Full and Limited permissioned users, but not Restricted. Set this to Restricted to block chat creation with anyone other than Full permissioned users. + + + String + + String + + + Restricted + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + CreateCustomEmojis + + This setting enables the creation of custom emojis and reactions within an organization for the specified policy users. + + Boolean + + Boolean + + + None + + + DeleteCustomEmojis + + These settings enable and disable the editing and deletion of custom emojis and reactions for the users included in the messaging policy. + + Boolean + + Boolean + + + None + + + Description + + Provide a description of your policy to identify purpose of creating it. + + String + + String + + + None + + + DesignerForBackgroundsAndImages + + This setting determines whether a user is allowed to create custom AI-powered backgrounds and images with MS Designer. + Possible values are: Enabled, Disabled. + + DesignerForBackgroundsAndImagesTypeEnum + + DesignerForBackgroundsAndImagesTypeEnum + + + Enabled + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + GiphyRatingType + + Determines the Giphy content restrictions applicable to a user. Set this to STRICT, MODERATE or NORESTRICTION. + + String + + String + + + None + + + Instance + + Allows you to pass a reference to an object to the cmdlet rather than set individual parameter values. + + XdsIdentity + + XdsIdentity + + + None + + + ReadReceiptsEnabledType + + Use this setting to specify whether read receipts are user controlled, enabled for everyone, or disabled. Set this to UserPreference, Everyone or None. + + String + + String + + + None + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose external user communication policy are being created. For example: + `-Tenant "38aad667-af54-4397-aaa7-e94c79ec2308"` + You can return your tenant ID by running this command: + `Get-CsTenant | Select-Object DisplayName, TenantID` + If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.Management.Automation.PSObject + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-CsTeamsMessagingPolicy -Identity StudentMessagingPolicy -AllowGiphy $false -AllowMemes $false + + In this example two different property values are configured: AllowGiphy is set to false and AllowMemes is set to False. All other policy properties will be left as previously assigned. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Get-CsTeamsMessagingPolicy -Identity StudentMessagingPolicy | Set-CsTeamsMessagingPolicy -AllowGiphy $false -AllowMemes $false + + In this example two different property values are configured for all teams messaging policies in the organization: AllowGiphy is set to false and AllowMemes is set to False. All other policy properties will be left as previously assigned. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamsmessagingpolicy + + + + + + Set-CsTeamsRecordingRollOutPolicy + Set + CsTeamsRecordingRollOutPolicy + + The CsTeamsRecordingRollOutPolicy controls roll out of the change that governs the storage for meeting recordings. + + + + The CsTeamsRecordingRollOutPolicy controls roll out of the change that governs the storage for meeting recordings. This policy would be deprecated over time as this is only to allow IT admins to phase the roll out of this breaking change. + The Set-CsTeamsRecordingRollOutPolicy cmdlet allows administrators to update existing CsTeamsRecordingRollOutPolicy that can be assigned to particular users to control Teams recording storage place. + This command is available from Teams powershell module 6.1.1-preview and above. + + + + Set-CsTeamsRecordingRollOutPolicy + + Identity + + Specify the name of the policy being created. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + MeetingRecordingOwnership + + Specifies where the meeting recording get stored. Possible values are: - MeetingOrganizer + - RecordingInitiator + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + Specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Specify the name of the policy being created. + + String + + String + + + None + + + MeetingRecordingOwnership + + Specifies where the meeting recording get stored. Possible values are: - MeetingOrganizer + - RecordingInitiator + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.Void + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-CsTeamsRecordingRollOutPolicy -Identity OrganizerPolicy -MeetingRecordingOwnership RecordingInitiator + + The command shown in Example 1 uses the Set-CsTeamsMeetingPolicy cmdlet to update an existing CsTeamsRecordingRollOutPolicy with the Identity OrganizerPolicy. This policy will set MeetingRecordingOwnership to RecordingInitiator; in this example, recordings for this policy group's users as organizer would get saved to recording initiators' own OneDrive. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamsrecordingrolloutpolicy + + + + + + Set-CsTeamsSharedCallingRoutingPolicy + Set + CsTeamsSharedCallingRoutingPolicy + + Use the Set-CsTeamsSharedCallingRoutingPolicy cmdlet to change a shared calling routing policy instance. + + + + The Teams shared calling routing policy configures the caller ID for normal outbound PSTN and emergency calls made by users enabled for shared calling using this policy instance. + The caller ID for normal outbound PSTN calls is the phone number assigned to the resource account specified in the policy instance. Typically this is the organization's main auto attendant phone number. Callbacks will go to the auto attendant and the PSTN caller can use the auto attendant to be transferred to the shared calling user. + When a shared calling user makes an emergency call, the emergency services need to be able to make a direct callback to the user who placed the emergency call. One of the defined emergency numbers is used for this purpose as caller ID for the emergency call. It will be reserved for the next 60 minutes and any inbound call to that number will directly ring the shared calling user who made the emergency call. If no emergency numbers are defined, the phone number of the resource account will be used as caller ID. If no free emergency numbers are available, the first number in the list will be reused. + The emergency call will contain the location of the shared calling user. The location will either be the dynamic emergency location obtained by the Teams client or if that is not available the static location assigned to the phone number of the resource account used in the shared calling policy instance. + + + + Set-CsTeamsSharedCallingRoutingPolicy + + Identity + + Unique identifier of the Teams shared calling routing policy to be created. + + String + + String + + + None + + + Description + + The description of the new policy instance. + + String + + String + + + None + + + EmergencyNumbers + + An array of phone numbers used as caller ID on emergency calls. + The emergency numbers must be routable for inbound PSTN calls, and for Calling Plan and Operator Connect phone numbers, must be available within the organization. + The emergency numbers specified must all be of the same phone number type and country as the phone number assigned to the specified resource account. If the resource account has a Calling Plan service number assigned, the emergency numbers need to be Calling Plan subscriber numbers. + The emergency numbers must be unique and can't be reused in other shared calling policy instances. The emergency numbers can't be assigned to any user or resource account. + If no emergency numbers are configured, the phone number of the resource account will be used as Caller ID for the emergency call. + + System.Management.Automation.PSListModifier[String] + + System.Management.Automation.PSListModifier[String] + + + None + + + ResourceAccount + + The Identity of the resource account. Can only be specified using the Identity or ObjectId of the resource account. + The phone number assigned to the resource account must: - Have the same phone number type and country as the emergency numbers configured in this policy instance. + - Must have an emergency location assigned. You can use the Teams PowerShell Module Set-CsPhoneNumberAssignment (Set-CsPhoneNumberAssignment.md)and the -LocationId parameter to set the location. - If the resource account is using a Calling Plan service number, you must have a Pay-As-You-Go Calling Plan, and assign it to the resource account. In addition, you need to assign a Communications credits license to the resource account and fund it to support outbound shared calling calls via the Pay-As-You-Go Calling Plan. + The same resource account can be used in multiple shared calling policy instances. + + String + + String + + + None + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Identity + + Unique identifier of the Teams shared calling routing policy to be created. + + String + + String + + + None + + + Description + + The description of the new policy instance. + + String + + String + + + None + + + EmergencyNumbers + + An array of phone numbers used as caller ID on emergency calls. + The emergency numbers must be routable for inbound PSTN calls, and for Calling Plan and Operator Connect phone numbers, must be available within the organization. + The emergency numbers specified must all be of the same phone number type and country as the phone number assigned to the specified resource account. If the resource account has a Calling Plan service number assigned, the emergency numbers need to be Calling Plan subscriber numbers. + The emergency numbers must be unique and can't be reused in other shared calling policy instances. The emergency numbers can't be assigned to any user or resource account. + If no emergency numbers are configured, the phone number of the resource account will be used as Caller ID for the emergency call. + + System.Management.Automation.PSListModifier[String] + + System.Management.Automation.PSListModifier[String] + + + None + + + ResourceAccount + + The Identity of the resource account. Can only be specified using the Identity or ObjectId of the resource account. + The phone number assigned to the resource account must: - Have the same phone number type and country as the emergency numbers configured in this policy instance. + - Must have an emergency location assigned. You can use the Teams PowerShell Module Set-CsPhoneNumberAssignment (Set-CsPhoneNumberAssignment.md)and the -LocationId parameter to set the location. - If the resource account is using a Calling Plan service number, you must have a Pay-As-You-Go Calling Plan, and assign it to the resource account. In addition, you need to assign a Communications credits license to the resource account and fund it to support outbound shared calling calls via the Pay-As-You-Go Calling Plan. + The same resource account can be used in multiple shared calling policy instances. + + String + + String + + + None + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + In some Calling Plan markets, you are not allowed to set the location on service numbers. In this instance, kindly contact the Telephone Number Services service desk (/microsoftteams/phone-reference/manage-numbers/contact-tns-service-desk). + If you are attempting to use a resource account with an Operator Connect phone number assigned, kindly confirm support for Shared Calling with your operator. + Shared Calling is not supported for Calling Plan service phone numbers in Romania, the Czech Republic, Hungary, Singapore, New Zealand, Australia, and Japan. A limited number of existing Calling Plan service phone numbers in other countries are also not supported for Shared Calling. For such service phone numbers, you should contact the Telephone Number Services service desk (/microsoftteams/phone-reference/manage-numbers/contact-tns-service-desk). + This cmdlet was introduced in Teams PowerShell Module 5.5.0. + + + + + -------------------------- Example 1 -------------------------- + Set-CsTeamsSharedCallingRoutingPolicy -Identity Seattle -EmergencyNumbers @{remove='+14255556677'} + + The command shown in Example 1 removes the emergency callback number +14255556677 from the policy called Seattle. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamssharedcallingroutingpolicy + + + New-CsTeamsSharedCallingRoutingPolicy + + + + Grant-CsTeamsSharedCallingRoutingPolicy + + + + Remove-CsTeamsSharedCallingRoutingPolicy + + + + Get-CsTeamsSharedCallingRoutingPolicy + + + + Set-CsPhoneNumberAssignment + + + + + + + Set-CsTeamsShiftsPolicy + Set + CsTeamsShiftsPolicy + + This cmdlet allows you to set or update properties of a TeamsShiftPolicy instance, including Teams off shift warning message-specific settings. + + + + This cmdlet allows you to set or update properties of a TeamsShiftPolicy instance. Use this to set the policy name and Teams off shift warning message-specific settings (ShiftNoticeMessageType, ShiftNoticeMessageCustom, ShiftNoticeFrequency, AccessGracePeriodMinutes). + + + + Set-CsTeamsShiftsPolicy + + Identity + + Policy instance name. + + XdsIdentity + + XdsIdentity + + + None + + + AccessType + + Indicates the Teams access type granted to the user. Today, only unrestricted access to Teams app is supported. Use 'UnrestrictedAccess_TeamsApp' as the value for this setting, or is set by default. For Teams Off Shift Access Control, the option to show the user a blocking dialog message is supported. Once the user accepts this message, it is audit logged and the user has usual access to Teams. Set other off shift warning message-specific settings to configure off shift access controls for the user. + + String + + String + + + UnrestrictedAccess_TeamsApp + + + ShiftNoticeMessageType + + The warning message is shown in the blocking dialog when a user access Teams off shift hours. Select one of 7 Microsoft provided messages, a default message or a custom message. 'Message1' - Your employer does not authorize or approve of the use of its network, applications, systems, or tools by non-exempt or hourly employees during their non-working hours. By accepting, you acknowledge that your use of Teams while off shift is not authorized and you will not be compensated. 'Message2' - Accessing this app outside working hours is voluntary. You won't be compensated for time spent on Teams. Refer to your employer's guidelines on using this app outside working hours. By accepting, you acknowledge that you understand the statement above. 'Message3' - You won't be compensated for time using Teams. By accepting, you acknowledge that you understand the statement above. 'Message4' - You're not authorized to use Teams while off shift. By accepting, you acknowledge your use of Teams is against your employer's policy. 'Message5' - Access to Teams is turned off during non-working hours. You will be able to access the app when your next shift starts. 'Message6' - Your employer does not authorize or approve of the use of its network, applications, systems, or tools by non-exempt or hourly employees during their non-working hours. Access to corporate resources are only allowed during approved working hours and should be recorded as hours worked in your employer's timekeeping system. 'Message7' - Your employer has turned off access to Teams during non-working hours. Refer to your employer's guidelines on using this app outside working hours. 'DefaultMessage' - You aren't authorized to use Microsoft Teams during non-working hours and will only be compensated for using it during approved working hours. 'CustomMessage' + + String + + String + + + DefaultMessage + + + ShiftNoticeMessageCustom + + Provide a custom message. Must set ShiftNoticeMessageType to 'CustomMessage' to enforce this. + + String + + String + + + None + + + ShiftNoticeFrequency + + Frequency of warning dialog displayed when user opens Teams. Set one of Always, ShowOnceOnChange, Never. + + String + + String + + + Always + + + AccessGracePeriodMinutes + + Indicates the grace period time in minutes between when the first shift starts, or last shift ends and when access is blocked. + + Int64 + + Int64 + + + None + + + EnableScheduleOwnerPermissions + + Indicates whether a user can manage a Shifts schedule as a team member. + + Boolean + + Boolean + + + False + + + + + + Identity + + Policy instance name. + + XdsIdentity + + XdsIdentity + + + None + + + AccessType + + Indicates the Teams access type granted to the user. Today, only unrestricted access to Teams app is supported. Use 'UnrestrictedAccess_TeamsApp' as the value for this setting, or is set by default. For Teams Off Shift Access Control, the option to show the user a blocking dialog message is supported. Once the user accepts this message, it is audit logged and the user has usual access to Teams. Set other off shift warning message-specific settings to configure off shift access controls for the user. + + String + + String + + + UnrestrictedAccess_TeamsApp + + + ShiftNoticeMessageType + + The warning message is shown in the blocking dialog when a user access Teams off shift hours. Select one of 7 Microsoft provided messages, a default message or a custom message. 'Message1' - Your employer does not authorize or approve of the use of its network, applications, systems, or tools by non-exempt or hourly employees during their non-working hours. By accepting, you acknowledge that your use of Teams while off shift is not authorized and you will not be compensated. 'Message2' - Accessing this app outside working hours is voluntary. You won't be compensated for time spent on Teams. Refer to your employer's guidelines on using this app outside working hours. By accepting, you acknowledge that you understand the statement above. 'Message3' - You won't be compensated for time using Teams. By accepting, you acknowledge that you understand the statement above. 'Message4' - You're not authorized to use Teams while off shift. By accepting, you acknowledge your use of Teams is against your employer's policy. 'Message5' - Access to Teams is turned off during non-working hours. You will be able to access the app when your next shift starts. 'Message6' - Your employer does not authorize or approve of the use of its network, applications, systems, or tools by non-exempt or hourly employees during their non-working hours. Access to corporate resources are only allowed during approved working hours and should be recorded as hours worked in your employer's timekeeping system. 'Message7' - Your employer has turned off access to Teams during non-working hours. Refer to your employer's guidelines on using this app outside working hours. 'DefaultMessage' - You aren't authorized to use Microsoft Teams during non-working hours and will only be compensated for using it during approved working hours. 'CustomMessage' + + String + + String + + + DefaultMessage + + + ShiftNoticeMessageCustom + + Provide a custom message. Must set ShiftNoticeMessageType to 'CustomMessage' to enforce this. + + String + + String + + + None + + + ShiftNoticeFrequency + + Frequency of warning dialog displayed when user opens Teams. Set one of Always, ShowOnceOnChange, Never. + + String + + String + + + Always + + + AccessGracePeriodMinutes + + Indicates the grace period time in minutes between when the first shift starts, or last shift ends and when access is blocked. + + Int64 + + Int64 + + + None + + + EnableScheduleOwnerPermissions + + Indicates whether a user can manage a Shifts schedule as a team member. + + Boolean + + Boolean + + + False + + + + + + System.Management.Automation.PSObject + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-CsTeamsShiftsPolicy -Identity OffShiftAccess_WarningMessage1_AlwaysShowMessage -ShiftNoticeMessageType Message1 -ShiftNoticeFrequency always -AccessGracePeriodMinutes 5 + + In this example, the policy instance is called "OffShiftAccess_WarningMessage1_AlwaysShowMessage", a warning message (Message 1) will always be displayed to the user on opening Teams during off shift hours. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-teamsshiftspolicy + + + Get-CsTeamsShiftsPolicy + + + + New-CsTeamsShiftsPolicy + + + + Remove-CsTeamsShiftsPolicy + + + + Grant-CsTeamsShiftsPolicy + + + + + + + Set-CsTeamsSipDevicesConfiguration + Set + CsTeamsSipDevicesConfiguration + + This cmdlet is used to manage the organization-wide Teams SIP devices configuration. + + + + This cmdlet is used to manage the organization-wide Teams SIP devices configuration which contains settings that are applicable to SIP devices connected to Teams using Teams Sip Gateway. + To execute the cmdlet, you need to hold a role within your organization such as Global Administrator, Teams Administrator, or Teams Communication Administrator. + + + + Set-CsTeamsSipDevicesConfiguration + + BulkSignIn + + Indicates whether Bulk SingIn into Teams SIP devices is enabled or disabled for the common area phone (CAP) accounts across the organization. Possible values are Enabled and ' Disabled . + + String + + String + + + None + + + + + + BulkSignIn + + Indicates whether Bulk SingIn into Teams SIP devices is enabled or disabled for the common area phone (CAP) accounts across the organization. Possible values are Enabled and ' Disabled . + + String + + String + + + None + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-CsTeamsSipDevicesConfiguration -BulkSignIn "Enabled" + + In this example, Bulk SignIn is set to Enabled across the organization. + + + + -------------------------- Example 2 -------------------------- + Set-CsTeamsSipDevicesConfiguration -BulkSignIn "Disabled" + + In this example, Bulk SignIn is set to Disabled across the organization. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamssipdevicesconfiguration + + + Get-CsTeamsSipDevicesConfiguration + + + + + + + Set-CsTeamsTemplatePermissionPolicy + Set + CsTeamsTemplatePermissionPolicy + + This cmdlet updates an existing TeamsTemplatePermissionPolicy. + + + + Updates any of the properties of an existing instance of the TeamsTemplatePermissionPolicy. + + + + Set-CsTeamsTemplatePermissionPolicy + + Identity + + Name of the policy instance to be updated. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Description + + Adds a new description if that field needs to be updated. + + String + + String + + + None + + + Force + + The Force switch hides warning or confirmation messages. You don't need to specify a value with this switch. + You can use this switch to run tasks programmatically where prompting for administrative input is inappropriate. + + + SwitchParameter + + + False + + + HiddenTemplates + + The updated list of Teams template IDs to hide. The HiddenTemplate objects are created with New-CsTeamsHiddenTemplate (New-CsTeamsHiddenTemplate.md). + + System.Management.Automation.PSListModifier`1[Microsoft.Teams.Policy.Administration.Cmdlets.Core.HiddenTemplate] + + System.Management.Automation.PSListModifier`1[Microsoft.Teams.Policy.Administration.Cmdlets.Core.HiddenTemplate] + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Description + + Adds a new description if that field needs to be updated. + + String + + String + + + None + + + Force + + The Force switch hides warning or confirmation messages. You don't need to specify a value with this switch. + You can use this switch to run tasks programmatically where prompting for administrative input is inappropriate. + + SwitchParameter + + SwitchParameter + + + False + + + HiddenTemplates + + The updated list of Teams template IDs to hide. The HiddenTemplate objects are created with New-CsTeamsHiddenTemplate (New-CsTeamsHiddenTemplate.md). + + System.Management.Automation.PSListModifier`1[Microsoft.Teams.Policy.Administration.Cmdlets.Core.HiddenTemplate] + + System.Management.Automation.PSListModifier`1[Microsoft.Teams.Policy.Administration.Cmdlets.Core.HiddenTemplate] + + + None + + + Identity + + Name of the policy instance to be updated. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.Void + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS >$manageEventTemplate = New-CsTeamsHiddenTemplate -Id com.microsoft.teams.template.ManageAnEvent +PS >$manageProjectTemplate = New-CsTeamsHiddenTemplate -Id com.microsoft.teams.template.ManageAProject +PS >$HiddenList = @($manageProjectTemplate, $manageEventTemplate) +PS >Set-CsTeamsTemplatePermissionPolicy -Identity Global -HiddenTemplates $HiddenList + + Updates the hidden templates array. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamstemplatepermissionpolicy + + + Get-CsTeamsTemplatePermissionPolicy + + + + New-CsTeamsTemplatePermissionPolicy + + + + Remove-CsTeamsTemplatePermissionPolicy + + + + + + + Set-CsTeamsUpdateManagementPolicy + Set + CsTeamsUpdateManagementPolicy + + Use this cmdlet to modify a Teams Update Management policy. + + + + Modifies a Teams Update Management policy. + + + + Set-CsTeamsUpdateManagementPolicy + + Identity + + The unique identifier of the policy. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + DisabledInProductMessages + + List of IDs of the categories of the in-product messages that will be disabled. You can choose one of the categories from this table: + | ID | Campaign Category | | -- | -- | | 91382d07-8b89-444c-bbcb-cfe43133af33 | What’s New | | edf2633e-9827-44de-b34c-8b8b9717e84c | Conferences | + + System.Management.Automation.PSListModifier`1[System.String] + + System.Management.Automation.PSListModifier`1[System.String] + + + None + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes and suppresses the display of any non-fatal error message that might arise when running the command. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + DisabledInProductMessages + + List of IDs of the categories of the in-product messages that will be disabled. You can choose one of the categories from this table: + | ID | Campaign Category | | -- | -- | | 91382d07-8b89-444c-bbcb-cfe43133af33 | What’s New | | edf2633e-9827-44de-b34c-8b8b9717e84c | Conferences | + + System.Management.Automation.PSListModifier`1[System.String] + + System.Management.Automation.PSListModifier`1[System.String] + + + None + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes and suppresses the display of any non-fatal error message that might arise when running the command. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + The unique identifier of the policy. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.Void + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-CsTeamsUpdateManagementPolicy -Identity "Campaign Policy" -DisabledInProductMessages @("91382d07-8b89-444c-bbcb-cfe43133af33") + + In this example, the policy "Campaign Policy" is modified, disabling the in-product messages with the category "What’s New". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamsupdatemanagementpolicy + + + + + + Set-CsTeamsUpgradeConfiguration + Set + CsTeamsUpgradeConfiguration + + Administrators can use Set-CsTeamsUpgradeConfiguration to manage certain aspects of client behavior for users being upgraded from Skype for Business to Teams. TeamsUpgradeConfiguration should be used in conjunction with TeamsUpgradePolicy. The settings in TeamsUpgradeConfiguration allow administrators to configure whether users subject to upgrade and who are running on Windows clients should automatically download Teams. It allows administrators to determine which application end users should use to join Skype for Business meetings. + + + + TeamsUpgradeConfiguration is used in conjunction with TeamsUpgradePolicy. The settings in TeamsUpgradeConfiguration allow administrators to configure whether users subject to upgrade and who are running on Windows clients should automatically download Teams. It allows administrators to determine which application end users should use to join Skype for Business meetings. + The DownloadTeams property allows admins to control whether the Skype for Business client should automatically download Teams in the background. This setting is only honored on Windows clients, and only for certain values of the user's TeamsUpgradePolicy. If NotifySfbUser=true or if Mode=TeamsOnly in TeamsUpgradePolicy, this setting is honored. Otherwise it is ignored. + The SfBMeetingJoinUx property allows admins to specify which app is used to join Skype for Business meetings, even after the user has been upgraded to Teams. Allowed values are: SkypeMeetingsApp and NativeLimitedClient. "NativeLimitedClient" means the existing Skype for Business rich client will be used, but since the user is upgraded, only meeting functionality is available. Calling and Messaging are done via Teams. "SkypeMeetingsApp" means use the web-downloadable app. This setting can be useful for organizations that have upgraded to Teams and no longer want to install Skype for Business on their users' computers. + + + + Set-CsTeamsUpgradeConfiguration + + Identity + + {{Fill Identity Description}} + + XdsIdentity + + XdsIdentity + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + DownloadTeams + + The DownloadTeams property allows admins to control whether the Skype for Business client should automatically download Teams in the background. This Boolean setting is only honored on Windows clients, and only for certain values of the user's TeamsUpgradePolicy. If NotifySfbUser=true or if Mode=TeamsOnly in TeamsUpgradePolicy, this setting is honored. Otherwise it is ignored. + + Boolean + + Boolean + + + True + + + SfBMeetingJoinUx + + The SfBMeetingJoinUx property allows admins to specify which app is used to join Skype for Business meetings, even after the user has been upgraded to Teams. Allowed values are: "SkypeMeetingsApp" and "NativeLimitedClient". "NativeLimitedClient" means the existing Skype for Business rich client will be used, but since the user is upgraded, only meeting functionality is available. Calling and Messaging are done via Teams. "SkypeMeetingsApp" means use the web-downloadable app. This setting can be useful for organizations that have upgraded to Teams and no longer want to install Skype for Business on their users' computers. + + string + + string + + + NativeLimitedClient + + + Force + + {{Fill Force Description}} + + + SwitchParameter + + + False + + + Tenant + + {{Fill Tenant Description}} + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + DownloadTeams + + The DownloadTeams property allows admins to control whether the Skype for Business client should automatically download Teams in the background. This Boolean setting is only honored on Windows clients, and only for certain values of the user's TeamsUpgradePolicy. If NotifySfbUser=true or if Mode=TeamsOnly in TeamsUpgradePolicy, this setting is honored. Otherwise it is ignored. + + Boolean + + Boolean + + + True + + + SfBMeetingJoinUx + + The SfBMeetingJoinUx property allows admins to specify which app is used to join Skype for Business meetings, even after the user has been upgraded to Teams. Allowed values are: "SkypeMeetingsApp" and "NativeLimitedClient". "NativeLimitedClient" means the existing Skype for Business rich client will be used, but since the user is upgraded, only meeting functionality is available. Calling and Messaging are done via Teams. "SkypeMeetingsApp" means use the web-downloadable app. This setting can be useful for organizations that have upgraded to Teams and no longer want to install Skype for Business on their users' computers. + + string + + string + + + NativeLimitedClient + + + Force + + {{Fill Force Description}} + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + {{Fill Identity Description}} + + XdsIdentity + + XdsIdentity + + + None + + + Tenant + + {{Fill Tenant Description}} + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.Management.Automation.PSObject + + + + + + + + + + System.Object + + + + + + + + + These settings are only honored by newer versions of Skype for Business clients. + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-CsTeamsUpgradeConfiguration -DownloadTeams $true -SfBMeetingJoinUx SkypeMeetingsApp + + The above cmdlet specifies that users subject to upgrade should download Teams in the background, and that they should use the Skype For Business Meetings app to join Skype for Business meetings. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamsupgradeconfiguration + + + Get-CsTeamsUpgradeConfiguration + + + + Get-CsTeamsUpgradePolicy + + + + Grant-CsTeamsUpgradePolicy + + + + Migration and interoperability guidance for organizations using Teams together with Skype for Business + https://learn.microsoft.com/MicrosoftTeams/migration-interop-guidance-for-teams-with-skype + + + + + + Set-CsTeamsVirtualAppointmentsPolicy + Set + CsTeamsVirtualAppointmentsPolicy + + This cmdlet is used to update an instance of TeamsVirtualAppointmentsPolicy. + + + + Updates any of the properties of an existing instance of TeamsVirtualAppointmentsPolicy. + + + + Set-CsTeamsVirtualAppointmentsPolicy + + Identity + + Name of the new policy instance to be created. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + EnableSmsNotifications + + This property specifies whether your users can choose to send SMS text notifications to external guests in meetings that they schedule using a virtual appointment template meeting. + + Boolean + + Boolean + + + True + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + EnableSmsNotifications + + This property specifies whether your users can choose to send SMS text notifications to external guests in meetings that they schedule using a virtual appointment template meeting. + + Boolean + + Boolean + + + True + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Name of the new policy instance to be created. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.String + + + + + + + + + + System.Void + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS> Set-CsTeamsVirtualAppointmentsPolicy -Identity ExistingPolicyInstance -EnableSmsNotifications $false + + Updates the `EnableSmsNotifications` field of a given policy. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamsvirtualappointmentspolicy + + + Get-CsTeamsVirtualAppointmentsPolicy + + + + New-CsTeamsVirtualAppointmentsPolicy + + + + Remove-CsTeamsVirtualAppointmentsPolicy + + + + Grant-CsTeamsVirtualAppointmentsPolicy + + + + + + + Set-CsTeamsVoiceApplicationsPolicy + Set + CsTeamsVoiceApplicationsPolicy + + Modifies an existing Teams voice applications policy. + + + + `TeamsVoiceApplicationsPolicy` is used for Supervisor Delegated Administration which allows admins in the organization to permit certain users to make changes to auto attendant and call queue configurations. + + + + Set-CsTeamsVoiceApplicationsPolicy + + Identity + + Unique identifier assigned to the policy when it was created. Teams voice applications policies can be assigned at the global scope or the per-user scope. To refer to the global instance, use this syntax: + -Identity global + To refer to a per-user policy, use syntax similar to this: + -Identity "SDA-Allow-All" + If you do not specify an Identity, then the `Set-CsTeamsVoiceApplicationsPolicy` cmdlet will modify the global policy. + + String + + String + + + None + + + AllowAutoAttendantBusinessHoursGreetingChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's business hours greeting. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's business hours greeting. + + Boolean + + Boolean + + + False + + + AllowAutoAttendantAfterHoursGreetingChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's after-hours greeting. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's after-hours greeting. + + Boolean + + Boolean + + + False + + + AllowAutoAttendantHolidayGreetingChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's holiday greeting. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's holiday greeting. + + Boolean + + Boolean + + + False + + + AllowAutoAttendantBusinessHoursChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's business hours schedule. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's business hours schedule. + + Boolean + + Boolean + + + False + + + AllowAutoAttendantHolidaysChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's holiday schedules. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's holiday schedules. + + Boolean + + Boolean + + + False + + + AllowAutoAttendantTimeZoneChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's time zone. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's time zone. + + Boolean + + Boolean + + + False + + + AllowAutoAttendantLanguageChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's language. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's language. + + Boolean + + Boolean + + + False + + + AllowAutoAttendantBusinessHoursRoutingChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's business hours call flow. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's business hours call flow. + + Boolean + + Boolean + + + False + + + AllowAutoAttendantAfterHoursRoutingChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's after-hours call flow. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's after-hours call flow. + + Boolean + + Boolean + + + False + + + AllowAutoAttendantHolidayRoutingChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's holiday call flows. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's holiday call flows. + + Boolean + + Boolean + + + False + + + AllowCallQueueWelcomeGreetingChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's welcome greeting. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's welcome greeting. + + Boolean + + Boolean + + + False + + + AllowCallQueueMusicOnHoldChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's music on hold information. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's music on hold. + + Boolean + + Boolean + + + False + + + AllowCallQueueOverflowSharedVoicemailGreetingChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's overflow shared voicemail greeting. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's overflow shared voicemail greeting. + + Boolean + + Boolean + + + False + + + AllowCallQueueTimeoutSharedVoicemailGreetingChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's timeout shared voicemail greeting. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's timeout shared voicemail greeting. + + Boolean + + Boolean + + + False + + + AllowCallQueueNoAgentSharedVoicemailGreetingChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's no agent shared voicemail greeting. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's no agent shared voicemail greeting. + + Boolean + + Boolean + + + False + + + AllowCallQueueLanguageChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's language. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's language. + + Boolean + + Boolean + + + False + + + AllowCallQueueMembershipChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's users. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's users. + + Boolean + + Boolean + + + False + + + AllowCallQueueConferenceModeChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's conference mode. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's conference mode. + + Boolean + + Boolean + + + False + + + AllowCallQueueRoutingMethodChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's routing method. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's routing method. + + Boolean + + Boolean + + + False + + + AllowCallQueuePresenceBasedRoutingChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's presence-based routing option. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's presence-based routing option. + + Boolean + + Boolean + + + False + + + AllowCallQueueOptOutChange + + When set to `True`, users affected by the policy will be allowed to change the call queue opt-out setting that allows agents to opt out of receiving calls. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue opt-out setting. + + Boolean + + Boolean + + + False + + + AllowCallQueueOverflowRoutingChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's overflow handling properties. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's overflow handling properties. + + Boolean + + Boolean + + + False + + + AllowCallQueueTimeoutRoutingChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's timeout handling properties. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's timeout handling properties. + + Boolean + + Boolean + + + False + + + AllowCallQueueNoAgentsRoutingChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's no-agent handling properties. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's no-agent handling properties. + + Boolean + + Boolean + + + False + + + AllowCallQueueAgentOptChange + + When set to `True`, users affected by the policy will be allowed to change an agent's opt-in status in the call queue. When set to `False` (the default value), users affected by the policy won't be allowed to change an agent's opt-in status in the call queue. + + Boolean + + Boolean + + + False + + + CallQueueAgentMonitorMode + + PARAMVALUE: Disabled | Monitor | Whisper | Barge | Takeover + When set to `Disabled` (the default value), users affected by the policy won't be allowed to monitor call sessions. + When set to `Monitor`, users affected by the policy will be allowed to monitor and listen to call sessions. + When set to `Whisper`, users affected by the policy will be allowed to monitor call sessions and whisper to an agent in the call. + When set to `Barge`, users affected by the policy will be allowed to monitor call sessions, whisper to an agent in the call, or join the call session. + When set to `Takeover`, users affected by the policy will be allowed to monitor call sessions, whisper to an agent in the call, join the call session, or take over the call from an agent. + + Object + + Object + + + Disabled + + + CallQueueAgentMonitorNotificationMode + + PARAMVALUE: Disabled | Agent + When set to `Disabled` (the default value), users affected by the policy won't be allowed to monitor agents during call sessions. + When set to `Agent`, users affected by the policy will be allowed to monitor agents during call sessions. + + Object + + Object + + + Disabled + + + RealTimeAutoAttendantMetricsPermission + + PARAMVALUE: Disabled | AuthorizedOnly | All + When set to `Disabled` (the default value), users affected by the policy won't receive real-time metrics for auto attendants. + When set to `AuthorizedOnly`, users affected by the policy will receive real-time metrics for auto attendants they are authorized for. + When set to `All`, users affected by the policy will receive real-time metrics for all auto attendants in the organization. + + Object + + Object + + + None + + + RealTimeCallQueueMetricsPermission + + PARAMVALUE: Disabled | AuthorizedOnly | All + When set to `Disabled` (the default value), users affected by the policy won't receive real-time metrics for call queues. + When set to `AuthorizedOnly`, users affected by the policy will receive real-time metrics for call queues they are authorized for. + When set to `All`, users affected by the policy will receive real-time metrics for all call queues in the organization. + + Object + + Object + + + None + + + RealTimeAgentMetricsPermission + + PARAMVALUE: Disabled | AuthorizedOnly | All + When set to `Disabled` (the default value), users affected by the policy won't receive real-time metrics for agents. + When set to `AuthorizedOnly`, users affected by the policy will receive real-time metrics for agents who are members in the call queues they are authorized for. + When set to `All`, users affected by the policy will receive real-time metrics for all agents in all call queues in the organization. + + Object + + Object + + + None + + + HistoricalAutoAttendantMetricsPermission + + PARAMVALUE: Disabled | AuthorizedOnly | All + When set to `Disabled` (the default value), users affected by the policy won't receive historical metrics for auto attendants. + When set to `AuthorizedOnly`, users affected by the policy will receive historical metrics for auto attendants they are authorized for. + When set to `All`, users affected by the policy will receive historical metrics for all auto attendants in the organization. + + Object + + Object + + + None + + + HistoricalCallQueueMetricsPermission + + PARAMVALUE: Disabled | AuthorizedOnly | All + When set to `Disabled` (the default value), users affected by the policy won't receive historical metrics for call queues. + When set to `AuthorizedOnly`, users affected by the policy will receive historical metrics for call queues they are authorized for. + When set to `All`, users affected by the policy will receive historical metrics for all call queues in the organization. + + Object + + Object + + + None + + + HistoricalAgentMetricsPermission + + PARAMVALUE: Disabled | AuthorizedOnly | All + When set to `Disabled` (the default value), users affected by the policy won't receive historical metrics for agents. + When set to `AuthorizedOnly`, users affected by the policy will receive historical metrics for agents who are members in the call queues they are authorized for. + When set to `All`, users affected by the policy will receive historical metrics for all agents in all call queues in the organization. + + Object + + Object + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + AllowAutoAttendantBusinessHoursGreetingChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's business hours greeting. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's business hours greeting. + + Boolean + + Boolean + + + False + + + AllowAutoAttendantAfterHoursGreetingChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's after-hours greeting. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's after-hours greeting. + + Boolean + + Boolean + + + False + + + AllowAutoAttendantHolidayGreetingChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's holiday greeting. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's holiday greeting. + + Boolean + + Boolean + + + False + + + AllowAutoAttendantBusinessHoursChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's business hours schedule. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's business hours schedule. + + Boolean + + Boolean + + + False + + + AllowAutoAttendantHolidaysChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's holiday schedules. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's holiday schedules. + + Boolean + + Boolean + + + False + + + AllowAutoAttendantTimeZoneChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's time zone. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's time zone. + + Boolean + + Boolean + + + False + + + AllowAutoAttendantLanguageChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's language. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's language. + + Boolean + + Boolean + + + False + + + AllowAutoAttendantBusinessHoursRoutingChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's business hours call flow. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's business hours call flow. + + Boolean + + Boolean + + + False + + + AllowAutoAttendantAfterHoursRoutingChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's after-hours call flow. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's after-hours call flow. + + Boolean + + Boolean + + + False + + + AllowAutoAttendantHolidayRoutingChange + + When set to `True`, users affected by the policy will be allowed to change the auto attendant's holiday call flows. When set to `False` (the default value), users affected by the policy won't be allowed to change the auto attendant's holiday call flows. + + Boolean + + Boolean + + + False + + + AllowCallQueueWelcomeGreetingChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's welcome greeting. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's welcome greeting. + + Boolean + + Boolean + + + False + + + AllowCallQueueMusicOnHoldChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's music on hold information. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's music on hold. + + Boolean + + Boolean + + + False + + + AllowCallQueueOverflowSharedVoicemailGreetingChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's overflow shared voicemail greeting. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's overflow shared voicemail greeting. + + Boolean + + Boolean + + + False + + + AllowCallQueueTimeoutSharedVoicemailGreetingChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's timeout shared voicemail greeting. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's timeout shared voicemail greeting. + + Boolean + + Boolean + + + False + + + AllowCallQueueNoAgentSharedVoicemailGreetingChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's no agent shared voicemail greeting. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's no agent shared voicemail greeting. + + Boolean + + Boolean + + + False + + + AllowCallQueueLanguageChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's language. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's language. + + Boolean + + Boolean + + + False + + + AllowCallQueueMembershipChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's users. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's users. + + Boolean + + Boolean + + + False + + + AllowCallQueueConferenceModeChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's conference mode. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's conference mode. + + Boolean + + Boolean + + + False + + + AllowCallQueueRoutingMethodChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's routing method. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's routing method. + + Boolean + + Boolean + + + False + + + AllowCallQueuePresenceBasedRoutingChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's presence-based routing option. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's presence-based routing option. + + Boolean + + Boolean + + + False + + + AllowCallQueueOptOutChange + + When set to `True`, users affected by the policy will be allowed to change the call queue opt-out setting that allows agents to opt out of receiving calls. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue opt-out setting. + + Boolean + + Boolean + + + False + + + AllowCallQueueOverflowRoutingChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's overflow handling properties. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's overflow handling properties. + + Boolean + + Boolean + + + False + + + AllowCallQueueTimeoutRoutingChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's timeout handling properties. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's timeout handling properties. + + Boolean + + Boolean + + + False + + + AllowCallQueueNoAgentsRoutingChange + + When set to `True`, users affected by the policy will be allowed to change the call queue's no-agent handling properties. When set to `False` (the default value), users affected by the policy won't be allowed to change the call queue's no-agent handling properties. + + Boolean + + Boolean + + + False + + + AllowCallQueueAgentOptChange + + When set to `True`, users affected by the policy will be allowed to change an agent's opt-in status in the call queue. When set to `False` (the default value), users affected by the policy won't be allowed to change an agent's opt-in status in the call queue. + + Boolean + + Boolean + + + False + + + CallQueueAgentMonitorMode + + PARAMVALUE: Disabled | Monitor | Whisper | Barge | Takeover + When set to `Disabled` (the default value), users affected by the policy won't be allowed to monitor call sessions. + When set to `Monitor`, users affected by the policy will be allowed to monitor and listen to call sessions. + When set to `Whisper`, users affected by the policy will be allowed to monitor call sessions and whisper to an agent in the call. + When set to `Barge`, users affected by the policy will be allowed to monitor call sessions, whisper to an agent in the call, or join the call session. + When set to `Takeover`, users affected by the policy will be allowed to monitor call sessions, whisper to an agent in the call, join the call session, or take over the call from an agent. + + Object + + Object + + + Disabled + + + CallQueueAgentMonitorNotificationMode + + PARAMVALUE: Disabled | Agent + When set to `Disabled` (the default value), users affected by the policy won't be allowed to monitor agents during call sessions. + When set to `Agent`, users affected by the policy will be allowed to monitor agents during call sessions. + + Object + + Object + + + Disabled + + + RealTimeAutoAttendantMetricsPermission + + PARAMVALUE: Disabled | AuthorizedOnly | All + When set to `Disabled` (the default value), users affected by the policy won't receive real-time metrics for auto attendants. + When set to `AuthorizedOnly`, users affected by the policy will receive real-time metrics for auto attendants they are authorized for. + When set to `All`, users affected by the policy will receive real-time metrics for all auto attendants in the organization. + + Object + + Object + + + None + + + RealTimeCallQueueMetricsPermission + + PARAMVALUE: Disabled | AuthorizedOnly | All + When set to `Disabled` (the default value), users affected by the policy won't receive real-time metrics for call queues. + When set to `AuthorizedOnly`, users affected by the policy will receive real-time metrics for call queues they are authorized for. + When set to `All`, users affected by the policy will receive real-time metrics for all call queues in the organization. + + Object + + Object + + + None + + + RealTimeAgentMetricsPermission + + PARAMVALUE: Disabled | AuthorizedOnly | All + When set to `Disabled` (the default value), users affected by the policy won't receive real-time metrics for agents. + When set to `AuthorizedOnly`, users affected by the policy will receive real-time metrics for agents who are members in the call queues they are authorized for. + When set to `All`, users affected by the policy will receive real-time metrics for all agents in all call queues in the organization. + + Object + + Object + + + None + + + HistoricalAutoAttendantMetricsPermission + + PARAMVALUE: Disabled | AuthorizedOnly | All + When set to `Disabled` (the default value), users affected by the policy won't receive historical metrics for auto attendants. + When set to `AuthorizedOnly`, users affected by the policy will receive historical metrics for auto attendants they are authorized for. + When set to `All`, users affected by the policy will receive historical metrics for all auto attendants in the organization. + + Object + + Object + + + None + + + HistoricalCallQueueMetricsPermission + + PARAMVALUE: Disabled | AuthorizedOnly | All + When set to `Disabled` (the default value), users affected by the policy won't receive historical metrics for call queues. + When set to `AuthorizedOnly`, users affected by the policy will receive historical metrics for call queues they are authorized for. + When set to `All`, users affected by the policy will receive historical metrics for all call queues in the organization. + + Object + + Object + + + None + + + HistoricalAgentMetricsPermission + + PARAMVALUE: Disabled | AuthorizedOnly | All + When set to `Disabled` (the default value), users affected by the policy won't receive historical metrics for agents. + When set to `AuthorizedOnly`, users affected by the policy will receive historical metrics for agents who are members in the call queues they are authorized for. + When set to `All`, users affected by the policy will receive historical metrics for all agents in all call queues in the organization. + + Object + + Object + + + None + + + Identity + + Unique identifier assigned to the policy when it was created. Teams voice applications policies can be assigned at the global scope or the per-user scope. To refer to the global instance, use this syntax: + -Identity global + To refer to a per-user policy, use syntax similar to this: + -Identity "SDA-Allow-All" + If you do not specify an Identity, then the `Set-CsTeamsVoiceApplicationsPolicy` cmdlet will modify the global policy. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- EXAMPLE 1 -------------------------- + Set-CsTeamsVoiceApplicationsPolicy -Identity "SDA-CQ-OverflowGreeting" -AllowCallQueueOverflowSharedVoicemailGreetingChange $true + + The command shown in Example 1 sets allowing CQ overflow shared voicemail greeting changes to per-user Teams voice applications policy. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamsvoiceapplicationspolicy + + + Get-CsTeamsVoiceApplicationsPolicy + + + + Grant-CsTeamsVoiceApplicationsPolicy + + + + Remove-CsTeamsVoiceApplicationsPolicy + + + + New-CsTeamsVoiceApplicationsPolicy + + + + + + + Set-CsTeamsWorkLocationDetectionPolicy + Set + CsTeamsWorkLocationDetectionPolicy + + This cmdlet is used to update an instance of TeamsWorkLocationDetectionPolicy. + + + + Updates any of the properties of an existing instance of TeamsWorkLocationDetectionPolicy. + + + + Set-CsTeamsWorkLocationDetectionPolicy + + Identity + + Name of the new policy instance to be updated. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + EnableWorkLocationDetection + + This setting allows your organization to collect the work location of users when they connect, interact, or are detected near your organization's networks and devices. It also captures the geographic location information users share from personal and mobile devices. This gives users the ability to consent to the use of this location data to set their current work location.Microsoft collects this information to provide users with a consistent location-based experience and to improve the hybrid work experience in Microsoft 365 according to the Microsoft Privacy Statement (https://go.microsoft.com/fwlink/?LinkId=521839). + + Boolean + + Boolean + + + None + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + EnableWorkLocationDetection + + This setting allows your organization to collect the work location of users when they connect, interact, or are detected near your organization's networks and devices. It also captures the geographic location information users share from personal and mobile devices. This gives users the ability to consent to the use of this location data to set their current work location.Microsoft collects this information to provide users with a consistent location-based experience and to improve the hybrid work experience in Microsoft 365 according to the Microsoft Privacy Statement (https://go.microsoft.com/fwlink/?LinkId=521839). + + Boolean + + Boolean + + + None + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Name of the new policy instance to be updated. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.String + + + + + + + + + + System.Void + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS> Set-CsTeamsWorkLocationDetectionPolicy -Identity ExistingPolicyInstance -EnableWorkLocationDetection $true + + Updates the `EnableWorkLocationDetection` field of a given policy. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamsworklocationdetectionpolicy + + + Get-CsTeamsWorkLocationDetectionPolicy + + + + New-CsTeamsWorkLocationDetectionPolicy + + + + Remove-CsTeamsWorkLocationDetectionPolicy + + + + Grant-CsTeamsWorkLocationDetectionPolicy + + + + + \ No newline at end of file diff --git a/Modules/MicrosoftTeams/6.4.0/en-US/Microsoft.Teams.PowerShell.TeamsCmdlets.dll-Help.xml b/Modules/MicrosoftTeams/6.4.0/en-US/Microsoft.Teams.PowerShell.TeamsCmdlets.dll-Help.xml new file mode 100644 index 000000000000..350506698dd2 --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/en-US/Microsoft.Teams.PowerShell.TeamsCmdlets.dll-Help.xml @@ -0,0 +1,6507 @@ + + + + + Add-TeamChannelUser + Add + TeamChannelUser + + Adds an owner or member to the private channel. + The command will return immediately, but the Teams application will not reflect the update immediately. To see the update you should refresh the members page. + Note: Technical limitations of private channels apply. To add a user as a member to a channel, they need to first be a member of the team. To make a user an owner of a channel, they need to first be a member of the channel. + + + + Note: This cmdlet is part of the Public Preview version of Teams PowerShell Module, for more information see Install Teams PowerShell public preview (https://learn.microsoft.com/microsoftteams/teams-powershell-install#install-teams-powershell-public-preview) and also see [Microsoft Teams PowerShell Release Notes](https://learn.microsoft.com/microsoftteams/teams-powershell-release-notes). + + + + Add-TeamChannelUser + + GroupId + + GroupId of the parent team + + String + + String + + + None + + + DisplayName + + Display name of the private channel + + String + + String + + + None + + + User + + User's UPN (user principal name - e.g. johndoe@example.com) + + String + + String + + + None + + + Role + + Owner + + String + + String + + + None + + + TenantId + + TenantId of the external user + + String + + String + + + None + + + + + + GroupId + + GroupId of the parent team + + String + + String + + + None + + + DisplayName + + Display name of the private channel + + String + + String + + + None + + + User + + User's UPN (user principal name - e.g. johndoe@example.com) + + String + + String + + + None + + + Role + + Owner + + String + + String + + + None + + + TenantId + + TenantId of the external user + + String + + String + + + None + + + + + + GroupId, DisplayName, User, Role, TenantId + + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Add-TeamChannelUser -GroupId 31f1ff6c-d48c-4f8a-b2e1-abca7fd399df -DisplayName "Engineering" -User dmx@example.com + + Add user dmx@example.com to private channel with name "Engineering" under the given group. + + + + -------------------------- Example 2 -------------------------- + Add-TeamChannelUser -GroupId 31f1ff6c-d48c-4f8a-b2e1-abca7fd399df -DisplayName "Engineering" -User dmx@example.com -Role Owner + + Promote user dmx@example.com to an owner of private channel with name "Engineering" under the given group. + + + + -------------------------- Example 3 -------------------------- + Add-TeamChannelUser -GroupId 31f1ff6c-d48c-4f8a-b2e1-abca7fd399df -DisplayName "Engineering" -User 0e4249a7-6cfd-8c93-a510-91cda44c8c73 -TenantId dcd143cb-c4ae-4364-9faf-e1c3242bf4ff + + Adds external user 0e4249a7-6cfd-8c93-a510-91cda44c8c73 to a shared channel. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/add-teamchanneluser + + + + + + Add-TeamsAppInstallation + Add + TeamsAppInstallation + + Add a Teams App to Microsoft Teams. + + + + Add a Teams App to Microsoft Teams. + Note: This cmdlet is part of the Public Preview version of Teams PowerShell Module, for more information see Install Teams PowerShell public preview (https://learn.microsoft.com/microsoftteams/teams-powershell-install#install-teams-powershell-public-preview) and also see [Microsoft Teams PowerShell Release Notes](https://learn.microsoft.com/microsoftteams/teams-powershell-release-notes). + + + + Add-TeamsAppInstallation + + AppId + + Teams App identifier in Microsoft Teams. + + String + + String + + + None + + + Permissions + + RSC permissions for the Teams App. + + String + + String + + + None + + + TeamId + + Team identifier in Microsoft Teams. + + String + + String + + + None + + + + Add-TeamsAppInstallation + + AppId + + Teams App identifier in Microsoft Teams. + + String + + String + + + None + + + Permissions + + RSC permissions for the Teams App. + + String + + String + + + None + + + UserId + + User identifier in Microsoft Teams. + + String + + String + + + None + + + + + + AppId + + Teams App identifier in Microsoft Teams. + + String + + String + + + None + + + Permissions + + RSC permissions for the Teams App. + + String + + String + + + None + + + TeamId + + Team identifier in Microsoft Teams. + + String + + String + + + None + + + UserId + + User identifier in Microsoft Teams. + + String + + String + + + None + + + + + + System.String + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Add-TeamsAppInstallation -AppId b9cc7986-dd56-4b57-ab7d-9c4e5288b775 -TeamId 31f1ff6c-d48c-4f8a-b2e1-abca7fd399df + + This example adds a Teams App to Microsoft Teams. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Add-TeamsAppInstallation -AppId b9cc7986-dd56-4b57-ab7d-9c4e5288b775 -TeamId 31f1ff6c-d48c-4f8a-b2e1-abca7fd399df -Permissions "TeamSettings.Read.Group ChannelMessage.Read.Group" + + This example adds a Teams App to Microsoft Teams with RSC Permissions. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/add-teamsappinstallation + + + + + + Add-TeamUser + Add + TeamUser + + The `Add-TeamUser` adds an owner or member to the team, and to the unified group which backs the team. + + + + This cmdlet adds an owner or member to the team, and to the unified group which backs the team. + > [!Note] > The command will return immediately, but the Teams application will not reflect the update immediately. The change can take between 24 and 48 hours to appear within the Teams client. + + + + Add-TeamUser + + GroupId + + GroupId of the team. + + String + + String + + + None + + + User + + UPN of a user of the organization (user principal name - e.g. johndoe@example.com). + + String + + String + + + None + + + Role + + Member or Owner. If Owner is specified then the user is also added as a member to the Team backed by unified group. + + String + + String + + + Member + + + + + + GroupId + + GroupId of the team. + + String + + String + + + None + + + User + + UPN of a user of the organization (user principal name - e.g. johndoe@example.com). + + String + + String + + + None + + + Role + + Member or Owner. If Owner is specified then the user is also added as a member to the Team backed by unified group. + + String + + String + + + Member + + + + + + GroupId, User, Role + + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Add-TeamUser -GroupId 31f1ff6c-d48c-4f8a-b2e1-abca7fd399df -User dmx@example.com + + This example adds the user "dmx@example.com" to a group with the id "31f1ff6c-d48c-4f8a-b2e1-abca7fd399df". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/add-teamuser + + + + + + Get-AllM365TeamsApps + Get + AllM365TeamsApps + + This cmdlet returns all Microsoft Teams apps in the app catalog, including Microsoft, custom, and non-Microsoft apps. + + + + Get-AllM365TeamsApps retrieves a complete list of all Teams apps in an organization, their statuses, and their availability information. + + + + Get-AllM365TeamsApps + + + + + + + None + + + + + + + + + + System.Object + + + Id +Application ID of the Teams app. IsBlocked +The state of the app in the tenant. +Values: + - Blocked + - Unblocked AvailableTo +Provides available to properties for the app. +Properties: + - AssignmentType: App availability type. +Values: - Everyone - UsersandGroups - Noone - LastUpdatedTimestamp: Time and date when the app AvailableTo value was last updated. + - AssignedBy: UserID of the last user who updated the app available to value. + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-AllM365TeamsApps + + Returns a complete list of all Teams apps in an organization, their statuses, and their availability information. + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/teams/Get-ALLM365TeamsApps + + + Get-M365TeamsApp + + + + Update-M365TeamsApp + + + + + + + Get-AssociatedTeam + Get + AssociatedTeam + + This cmdlet supports retrieving all teams associated with a user, including teams which host shared channels. + + + + This cmdlet supports retrieving all associated teams of a user, including teams which host shared channels. + + + + Get-AssociatedTeam + + User + + User's UPN (user principal name, for example johndoe@example.com) or user ID (for example 0e4249a7-6cfd-8c93-a510-91cda44c8c73). + + String + + String + + + None + + + + + + User + + User's UPN (user principal name, for example johndoe@example.com) or user ID (for example 0e4249a7-6cfd-8c93-a510-91cda44c8c73). + + String + + String + + + None + + + + + + User + + + + + + + + + + Team + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-AssociatedTeam + + Returns associated teams of the current user. + + + + -------------------------- Example 2 -------------------------- + Get-AssociatedTeam -user example@example.com + + Returns associated teams of a given user email. + + + + -------------------------- Example 3 -------------------------- + Get-AssociatedTeam -user 0e4249a7-6cfd-8c93-a510-91cda44c8c73 + + Returns associated teams of a given user ID. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-associatedteam + + + Get-Team + + + + Get-SharedWithTeam + + + + + + + Get-LicenseReportForChangeNotificationSubscription + Get + LicenseReportForChangeNotificationSubscription + + This cmdlet tells whether a user has the required license to export their messages via change notification subscription (/graph/teams-licenses). + + + + This cmdlet supports retrieving the total number of messages sent by a user in chat/channel and whether a user has the required license(s) to send change notification events when subscribed for chat or channel messages. For more details, please review Licenses for subscribing to chat messages (/graph/teams-licenses). This cmdlet is currently supported in preview version only. + + + + Get-LicenseReportForChangeNotificationSubscription + + + + + Period + + Number of days prior to today. Acceptable values are 7, 30, 90 and 180. + + + + + + + None + + + + + + + + + + + + --------------------------- Example --------------------------- + PS C:\> Get-LicenseReportForChangeNotificationSubscription -Period 7 + + Returns license info and total messages sent by users in the last 7 days. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-licensereportforchangenotificationsubscription + + + + + + Get-M365TeamsApp + Get + M365TeamsApp + + This cmdlet returns app availability and state for the Microsoft Teams app. + + + + Get-M365TeamsApps retrieves information about the Teams app. This includes app state, app availability, user who updated app availability, and the associated timestamp. + + + + + Get-M365TeamsApp + + Id + + Application ID of the Teams app. + + String + + String + + + None + + + + + + Id + + Application ID of the Teams app. + + String + + String + + + None + + + + + + None + + + + + + + + + + System.Object + + + ID +Application ID of the Teams app. IsBlocked +The state of the app in the tenant. +Values: + - Blocked + - Unblocked AvailableTo +Provides available to properties for the app. +Properties: + - AssignmentType: App availability type. +Values: - Everyone - UsersandGroups - Noone - Users: List of all the users for whom the app is enabled. +Values: - Id: GUID of UserIDs. - AssignedBy: UserID of last user who updated the app AvailableTo value. - LastUpdatedTimeStamp: Time and date when the app AvailableTo value was last updated. - Groups: List of all the groups for whom the app is enabled. +Values: - Id: GUID of GroupIDs. - AssignedBy: UserID of last user who updated the app AvailableTo value. - LastUpdatedTimeStamp: Time and date when the app AvailableTo value was last updated. + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-M365TeamsApp -Id b782e2e8-9682-4898-b211-a304714f4f6b + + Provides information about b782e2e8-9682-4898-b211-a304714f4f6b app, which includes app state, app availability, user who updated app availability, and the associated timestamp. + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/teams/Get-M365TeamsApp + + + Get-AllM365TeamsApps + + + + Update-M365TeamsApp + + + + + + + Get-SharedWithTeam + Get + SharedWithTeam + + This cmdlet supports retrieving teams with which a specified channel is shared. + + + + This cmdlet supports retrieving teams with which a specified channel is shared. + + + + Get-SharedWithTeam + + HostTeamId + + Team ID of the host team (Group ID). + + String + + String + + + None + + + ChannelId + + Thread ID of the shared channel. + + String + + String + + + None + + + SharedWithTeamId + + Team ID of the shared with team. + + String + + String + + + None + + + + + + HostTeamId + + Team ID of the host team (Group ID). + + String + + String + + + None + + + ChannelId + + Thread ID of the shared channel. + + String + + String + + + None + + + SharedWithTeamId + + Team ID of the shared with team. + + String + + String + + + None + + + + + + HostTeamId, ChannelId, SharedWithTeamId + + + + + + + + + + Team + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-AssociatedTeam -HostTeamId 126b90a5-e65a-4fef-98e3-d9b49f4acf12 -ChannelId 19:cUfyYYw3h_t-1KG8-WkvVa7KLEsIx-JHmyeG43VJojg1@thread.tacv2 + + Returns teams with which a specified channel is shared. + + + + -------------------------- Example 2 -------------------------- + Get-AssociatedTeam -HostTeamId 126b90a5-e65a-4fef-98e3-d9b49f4acf12 -ChannelId 19:cUfyYYw3h_t-1KG8-WkvVa7KLEsIx-JHmyeG43VJojg1@thread.tacv2 +-SharedWithTeam d2aad370-c6ca-438b-b4d7-05f0aa911a7b + + Returns detail of a team with which a specified channel is shared. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-sharedwithteam + + + Get-Team + + + + Get-AssociatedTeam + + + + + + + Get-SharedWithTeamUser + Get + SharedWithTeamUser + + This cmdlet supports retrieving users of a shared with team. + + + + This cmdlet supports retrieving users of a shared with team. + + + + Get-SharedWithTeamUser + + HostTeamId + + Team ID of the host team (Group ID). + + String + + String + + + None + + + ChannelId + + Thread ID of the shared channel. + + String + + String + + + None + + + SharedWithTeamId + + Team ID of the shared with team. + + String + + String + + + None + + + Role + + Filters the results to only users with the given role of "Owner" or "Member". + + String + + String + + + None + + + + + + HostTeamId + + Team ID of the host team (Group ID). + + String + + String + + + None + + + ChannelId + + Thread ID of the shared channel. + + String + + String + + + None + + + SharedWithTeamId + + Team ID of the shared with team. + + String + + String + + + None + + + Role + + Filters the results to only users with the given role of "Owner" or "Member". + + String + + String + + + None + + + + + + HostTeamId, ChannelId, SharedWithTeamId + + + + + + + + + + User + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-SharedWithTeamUser -HostTeamId 126b90a5-e65a-4fef-98e3-d9b49f4acf12 -ChannelId 19:cUfyYYw3h_t-1KG8-WkvVa7KLEsIx-JHmyeG43VJojg1@thread.tacv2 +-SharedWithTeam d2aad370-c6ca-438b-b4d7-05f0aa911a7b + + Returns users of a team with which a specified channel is shared. + + + + -------------------------- Example 2 -------------------------- + Get-AssociatedTeam -HostTeamId 126b90a5-e65a-4fef-98e3-d9b49f4acf12 -ChannelId 19:cUfyYYw3h_t-1KG8-WkvVa7KLEsIx-JHmyeG43VJojg1@thread.tacv2 +-SharedWithTeam d2aad370-c6ca-438b-b4d7-05f0aa911a7b -Role owner + + Returns owners of a team with which a specified channel is shared. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-sharedwithteamuser + + + Get-TeamUser + + + + + + + Get-Team + Get + Team + + This cmdlet supports retrieving teams with particular properties/information, including all teams that a specific user belongs to, all teams that have been archived, all teams with a specific display name, or all teams in the organization. + + + + This cmdlet supports retrieving teams with particular properties/information, including all teams that a specific user belongs to, all teams that have been archived, all teams with a specific display name, or all teams in the organization. + > [!NOTE] > Get-Team may return multiple results matching the input and not just the exact match for attributes like DisplayName/MailNickName. This is known behavior. + + + + Get-Team + + User + + User's UPN (user principal name - e.g. johndoe@example.com) + + String + + String + + + None + + + Archived + + If $true, filters to return teams that have been archived. If $false, filters to return teams that have not been archived. Do not specify any value to return teams that match filter regardless of archived state. This is a filter rather than an exact match. + + Boolean + + Boolean + + + None + + + DisplayName + + Specify this parameter to return teams with the provided display name as a filter. As the display name is not unique, multiple values can be returned. Note that this filter value is case-sensitive. + + String + + String + + + None + + + GroupId + + Specify the specific GroupId (as a string) of the team to be returned. This is a unique identifier and returns exact match. + + String + + String + + + None + + + MailNickName + + Specify the mailnickname of the team that is being returned. This acts as a filter instead of being an exact match. + + String + + String + + + None + + + Visibility + + Filters to return teams with a set "visibility" value. Accepted values are "Public", "Private" or "HiddenMembership". Do not specify any value to return teams that match filter regardless of visibility. This is a filter rather than an exact match. + + String + + String + + + None + + + + Get-Team + + User + + User's UPN (user principal name - e.g. johndoe@example.com) + + String + + String + + + None + + + Archived + + If $true, filters to return teams that have been archived. If $false, filters to return teams that have not been archived. Do not specify any value to return teams that match filter regardless of archived state. This is a filter rather than an exact match. + + Boolean + + Boolean + + + None + + + DisplayName + + Specify this parameter to return teams with the provided display name as a filter. As the display name is not unique, multiple values can be returned. Note that this filter value is case-sensitive. + + String + + String + + + None + + + MailNickName + + Specify the mailnickname of the team that is being returned. This acts as a filter instead of being an exact match. + + String + + String + + + None + + + Visibility + + Filters to return teams with a set "visibility" value. Accepted values are "Public", "Private" or "HiddenMembership". Do not specify any value to return teams that match filter regardless of visibility. This is a filter rather than an exact match. + + String + + String + + + None + + + + Get-Team + + NumberOfThreads + + Specifies the number of threads to use. If you have sufficient network bandwidth and want to decrease the time required to retrieve the list of teams, use the -NumberOfThreads parameter, which supports a value from 1 through 20. + + Int32 + + Int32 + + + 20 + + + + + + User + + User's UPN (user principal name - e.g. johndoe@example.com) + + String + + String + + + None + + + Archived + + If $true, filters to return teams that have been archived. If $false, filters to return teams that have not been archived. Do not specify any value to return teams that match filter regardless of archived state. This is a filter rather than an exact match. + + Boolean + + Boolean + + + None + + + DisplayName + + Specify this parameter to return teams with the provided display name as a filter. As the display name is not unique, multiple values can be returned. Note that this filter value is case-sensitive. + + String + + String + + + None + + + GroupId + + Specify the specific GroupId (as a string) of the team to be returned. This is a unique identifier and returns exact match. + + String + + String + + + None + + + MailNickName + + Specify the mailnickname of the team that is being returned. This acts as a filter instead of being an exact match. + + String + + String + + + None + + + Visibility + + Filters to return teams with a set "visibility" value. Accepted values are "Public", "Private" or "HiddenMembership". Do not specify any value to return teams that match filter regardless of visibility. This is a filter rather than an exact match. + + String + + String + + + None + + + NumberOfThreads + + Specifies the number of threads to use. If you have sufficient network bandwidth and want to decrease the time required to retrieve the list of teams, use the -NumberOfThreads parameter, which supports a value from 1 through 20. + + Int32 + + Int32 + + + 20 + + + + + + UPN, UserID + + + + + + + + + + Team + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS> Get-Team -User dmx1@example.com + + Returns all teams that a user (dmx1@example.com) belongs to + + + + -------------------------- Example 2 -------------------------- + PS> Get-Team -Archived $true -Visibility Private + + Returns all teams that are private and have been archived. + + + + -------------------------- Example 3 -------------------------- + PS> Get-Team -MailNickName "BusinessDevelopment" + + Returns the team with the specified MailNickName. (This acts as a filter rather than an exact match.) + + + + -------------------------- Example 4 -------------------------- + PS> Get-Team -DisplayName "Sales and Marketing" + + Returns the team that includes the specified text in its DisplayName. (This acts as a filter rather than an exact match). + + + + -------------------------- Example 5 -------------------------- + PS> $team=[uri]::EscapeDataString('AB&C') +PS> Get-Team -DisplayName $team + + Returns the team that includes the specified escaped representation of its DisplayName, useful when the DisplayName has special characters. (This acts as a filter rather than an exact match.) + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-team + + + New-Team + + + + Set-Team + + + + + + + Get-TeamAllChannel + Get + TeamAllChannel + + This cmdlet supports retrieving all channels of a team, including incoming channels and channels hosted by the team. + + + + This cmdlet supports retrieving all channels of a team, including incoming channels and channels hosted by the team. + + + + Get-TeamAllChannel + + GroupId + + Returns the Group ID of the team. + + String + + String + + + None + + + MembershipType + + Membership type of the channel to display; Standard, Private, or Shared + + String + + String + + + None + + + + + + GroupId + + Returns the Group ID of the team. + + String + + String + + + None + + + MembershipType + + Membership type of the channel to display; Standard, Private, or Shared + + String + + String + + + None + + + + + + GroupId, MembershipType + + + + + + + + + + Channel + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-TeamAllChannel -GroupId 126b90a5-e65a-4fef-98e3-d9b49f4acf12 + + Returns all channels of a team. + + + + -------------------------- Example 2 -------------------------- + Get-TeamAllChannel -GroupId 126b90a5-e65a-4fef-98e3-d9b49f4acf12 -MembershipType Shared + + Returns all shared channels of a team. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-teamallchannel + + + Get-TeamChannel + + + + Get-TeamIncomingChannel + + + + + + + Get-TeamChannel + Get + TeamChannel + + This cmdlet supports retrieving channels hosted by a team. + + + + This cmdlet supports retrieving channels hosted by a team. + + + + Get-TeamChannel + + GroupId + + GroupId of the team + + String + + String + + + None + + + MembershipType + + Membership type of the channel to display, Standard or Private (available in private preview) + + String + + String + + + None + + + + + + GroupId + + GroupId of the team + + String + + String + + + None + + + MembershipType + + Membership type of the channel to display, Standard or Private (available in private preview) + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-TeamChannel -GroupId af55e84c-dc67-4e48-9005-86e0b07272f9 + + Get channels of the group. + + + + -------------------------- Example 2 -------------------------- + Get-TeamChannel -GroupId af55e84c-dc67-4e48-9005-86e0b07272f9 -MembershipType Private + + Get all private channels of the group. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-teamchannel + + + + + + Get-TeamChannelUser + Get + TeamChannelUser + + Returns users of a channel. + + + + Note: This cmdlet is part of the Public Preview version of Teams PowerShell Module, for more information see Install Teams PowerShell public preview (https://learn.microsoft.com/microsoftteams/teams-powershell-install#install-teams-powershell-public-preview) and also see [Microsoft Teams PowerShell Release Notes](https://learn.microsoft.com/microsoftteams/teams-powershell-release-notes). + + + + Get-TeamChannelUser + + GroupId + + GroupId of the team + + String + + String + + + None + + + DisplayName + + Display name of the channel + + String + + String + + + None + + + Role + + Filter the results to only users with the given role: Owner or Member. + + String + + String + + + None + + + + + + GroupId + + GroupId of the team + + String + + String + + + None + + + DisplayName + + Display name of the channel + + String + + String + + + None + + + Role + + Filter the results to only users with the given role: Owner or Member. + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-TeamChannelUser -GroupId 2f162b0e-36d2-4e15-8ba3-ba229cecdccf -DisplayName "Engineering" -Role Owner + + Get owners of channel with display name as "Engineering" + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-teamchanneluser + + + + + + Get-TeamIncomingChannel + Get + TeamIncomingChannel + + This cmdlet supports retrieving incoming channels of a team. + + + + This cmdlet supports retrieving incoming channels of a team. + + + + Get-TeamIncomingChannel + + GroupId + + Group ID of the team + + String + + String + + + None + + + + + + GroupId + + Group ID of the team + + String + + String + + + None + + + + + + GroupId + + + + + + + + + + Channel + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-TeamIncomingChannel -GroupId 126b90a5-e65a-4fef-98e3-d9b49f4acf12 + + Returns incoming channels of a team. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-teamincomingchannel + + + Get-TeamChannel + + + + Get-TeamAllChannel + + + + + + + Get-TeamsApp + Get + TeamsApp + + Returns app information from the Teams tenant app store. + + + + Use any optional parameter to retrieve app information from the Teams tenant app store. + + + + Get-TeamsApp + + DisplayName + + Name of the app visible to users + + String + + String + + + None + + + DistributionMethod + + The type of app in Teams: global or organization. For LOB apps, use "organization" + + String + + String + + + None + + + ExternalId + + The external ID of the app, provided by the app developer and used by Microsoft Entra ID + + String + + String + + + None + + + Id + + The app's ID generated by Teams (different from the external ID) + + String + + String + + + None + + + + + + DisplayName + + Name of the app visible to users + + String + + String + + + None + + + DistributionMethod + + The type of app in Teams: global or organization. For LOB apps, use "organization" + + String + + String + + + None + + + ExternalId + + The external ID of the app, provided by the app developer and used by Microsoft Entra ID + + String + + String + + + None + + + Id + + The app's ID generated by Teams (different from the external ID) + + String + + String + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-TeamsApp -Id b9cc7986-dd56-4b57-ab7d-9c4e5288b775 + + + + + + -------------------------- Example 2 -------------------------- + PS C:\> Get-TeamsApp -ExternalId b00080be-9b31-4927-9e3e-fa8024a7d98a -DisplayName <String>] [-DistributionMethod <String>] + + + + + + -------------------------- Example 3 -------------------------- + PS C:\> Get-TeamsApp -DisplayName SampleApp -DistributionMethod organization + + + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-teamsapp + + + + + + Get-TeamsAppInstallation + Get + TeamsAppInstallation + + Get a Teams App installed in Microsoft Teams. + + + + Get a Teams App installed in Microsoft Teams. + Note: This cmdlet is part of the Public Preview version of Teams PowerShell Module, for more information see Install Teams PowerShell public preview (https://learn.microsoft.com/microsoftteams/teams-powershell-install#install-teams-powershell-public-preview) and also see [Microsoft Teams PowerShell Release Notes](https://learn.microsoft.com/microsoftteams/teams-powershell-release-notes). + + + + Get-TeamsAppInstallation + + AppId + + Teams App identifier in Microsoft Teams. + + String + + String + + + None + + + AppInstallationId + + Installation identifier of the Teams App. + + String + + String + + + None + + + TeamId + + Team identifier in Microsoft Teams. + + String + + String + + + None + + + + Get-TeamsAppInstallation + + AppId + + Teams App identifier in Microsoft Teams. + + String + + String + + + None + + + AppInstallationId + + Installation identifier of the Teams App. + + String + + String + + + None + + + UserId + + User identifier in Microsoft Teams. + + String + + String + + + None + + + + + + AppId + + Teams App identifier in Microsoft Teams. + + String + + String + + + None + + + AppInstallationId + + Installation identifier of the Teams App. + + String + + String + + + None + + + TeamId + + Team identifier in Microsoft Teams. + + String + + String + + + None + + + UserId + + User identifier in Microsoft Teams. + + String + + String + + + None + + + + + + System.String + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-TeamsAppInstallation -AppId b9cc7986-dd56-4b57-ab7d-9c4e5288b775 -TeamId 31f1ff6c-d48c-4f8a-b2e1-abca7fd399df + + This example gets a Teams App specifying its AppId and the TeamId. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-teamsappinstallation + + + + + + Get-TeamTargetingHierarchyStatus + Get + TeamTargetingHierarchyStatus + + Get the status of a hierarchy upload (see Set-TeamTargetingHierarchy (https://learn.microsoft.com/powershell/module/teams/set-teamtargetinghierarchy)) + + + + + + Get-TeamTargetingHierarchyStatus + + RequestId + + Specifies the ID returned by the Set-TeamTargetingHierarchy cmdlet. This parameter is optional and the status of the most recent upload will be retrieved. + + String + + String + + + None + + + + + + RequestId + + Specifies the ID returned by the Set-TeamTargetingHierarchy cmdlet. This parameter is optional and the status of the most recent upload will be retrieved. + + String + + String + + + None + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-TeamTargetingHierarchy -FilePath d:\hier.csv + +Key Value +--- ----- +requestId c67e86109d88479e9708c3b7e8ff7217 + +PS C:\> Get-TeamTargetingHierarchyStatus -RequestId c67e86109d88479e9708c3b7e8ff7217 + +# When an error occurs, you will see the details in the ErrorMessage field. + +Id : c67e86109d88479e9708c3b7e8ff7217 +Status : Failed +LastKnownStatus : Validating +ErrorMessage : 1 error(s) were found. + Error: InvalidTeamId + Descriptions: + TeamID in row 2 doesn't match a valid Group ID. Please view our documentation to learn how to get the proper Group ID for each team. + TeamID in row 3 doesn't match a valid Group ID. Please view our documentation to learn how to get the proper Group ID for each team. + TeamID in row 4 doesn't match a valid Group ID. Please view our documentation to learn how to get the proper Group ID for each team. + TeamID in row 5 doesn't match a valid Group ID. Please view our documentation to learn how to get the proper Group ID for each team. + TeamID in row 6 doesn't match a valid Group ID. Please view our documentation to learn how to get the proper Group ID for each team. + TeamID in row 7 doesn't match a valid Group ID. Please view our documentation to learn how to get the proper Group ID for each team. + +LastUpdatedAt : 2021-02-17T22:28:08.7832795+00:00 +LastModifiedBy : a145d7eb-b70d-4591-9455-6c87382a22b7 +FileName : hier1.csv + +# When the hierarchy uploads and parses successfully, you will see this status. + +Id : c67e86109d88479e9708c3b7e8ff7217 +Status : Successful +LastKnownStatus : +ErrorMessage : +LastUpdatedAt : 2021-02-17T22:48:41.6664097+00:00 +LastModifiedBy : a145d7eb-b70d-4591-9455-6c87382a22b7 +FileName : hier.csv + + Prompts for user credentials to connect and manage a Microsoft Teams environment. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-teamtargetinghierarchystatus + + + Set-TeamTargetingHierarchy + + + + + + + Get-TeamUser + Get + TeamUser + + Returns users of a team. + + + + Returns an array containing the UPN, UserId, Name and Role of users belonging to an specific GroupId. + + + + Get-TeamUser + + GroupId + + GroupId of the team + + String + + String + + + None + + + Role + + Filter the results to only users with the given role: Owner or Member. + + String + + String + + + None + + + + + + GroupId + + GroupId of the team + + String + + String + + + None + + + Role + + Filter the results to only users with the given role: Owner or Member. + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-TeamUser -GroupId 2f162b0e-36d2-4e15-8ba3-ba229cecdccf -Role Owner + + This example returns the UPN, UserId, Name, and Role of the owners of the specified GroupId. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-teamuser + + + + + + New-Team + New + Team + + This cmdlet lets you provision a new Team for use in Microsoft Teams and will create an O365 Unified Group to back the team. Groups created through teams cmdlets, APIs, or clients will not show up in Outlook by default. + If you want these groups to appear in Outlook clients, you can use the Set-UnifiedGroup (https://learn.microsoft.com/powershell/module/exchange/set-unifiedgroup) cmdlet in the Exchange Powershell Module to disable the switch parameter `HiddenFromExchangeClientsEnabled` (-HiddenFromExchangeClientsEnabled:$false). + + Note: The Teams application may need to be open by an Owner for up to two hours before changes are reflected. + + + + Creates a new team with user specified settings, and returns a Group object with a GroupID property. + + + + New-Team + + MailNickName + + The MailNickName parameter specifies the alias for the associated Office 365 Group. This value will be used for the mail enabled object and will be used as PrimarySmtpAddress for this Office 365 Group. The value of the MailNickName parameter has to be unique across your tenant. Note: If Microsoft 365 groups naming policies are enabled in your tenant, this parameter is required and must also comply with the naming policy. + For more details about the naming conventions see here: New-UnifiedGroup (https://learn.microsoft.com/powershell/module/exchange/new-unifiedgroup#parameters), Parameter: -Alias. + + String + + String + + + None + + + Classification + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + Description + + Team description. Characters Limit - 1024. + + String + + String + + + None + + + DisplayName + + Team display name. Characters Limit - 256. + + String + + String + + + None + + + Template + + If you have an EDU license, you can use this parameter to specify which template you'd like to use for creating your group. Do not use this parameter when converting an existing group. + Valid values are: "EDU_Class" or "EDU_PLC" + + String + + String + + + None + + + Owner + + An admin who is allowed to create on behalf of another user should use this flag to specify the desired owner of the group. This user will be added as both a member and an owner of the group. If not specified, the user who creates the team will be added as both a member and an owner. Please note: This parameter is mandatory, if connected using Certificate Based Authentication. + + String + + String + + + None + + + AllowAddRemoveApps + + Boolean value that determines whether or not members (not only owners) are allowed to add apps to the team. + + Boolean + + Boolean + + + True + + + AllowChannelMentions + + Boolean value that determines whether or not channels in the team can be @ mentioned so that all users who follow the channel are notified. + + Boolean + + Boolean + + + True + + + AllowCreateUpdateChannels + + Setting that determines whether or not members (and not just owners) are allowed to create channels. + + Boolean + + Boolean + + + True + + + AllowCreateUpdateRemoveConnectors + + Setting that determines whether or not members (and not only owners) can manage connectors in the team. + + Boolean + + Boolean + + + True + + + AllowCreateUpdateRemoveTabs + + Setting that determines whether or not members (and not only owners) can manage tabs in channels. + + Boolean + + Boolean + + + True + + + AllowCustomMemes + + Setting that determines whether or not members can use the custom memes functionality in teams. + + Boolean + + Boolean + + + True + + + AllowDeleteChannels + + Setting that determines whether or not members (and not only owners) can delete channels in the team. + + Boolean + + Boolean + + + True + + + AllowGiphy + + Setting that determines whether or not giphy can be used in the team. + + Boolean + + Boolean + + + True + + + AllowGuestCreateUpdateChannels + + Setting that determines whether or not guests can create channels in the team. + + Boolean + + Boolean + + + False + + + AllowGuestDeleteChannels + + Setting that determines whether or not guests can delete in the team. + + Boolean + + Boolean + + + False + + + AllowOwnerDeleteMessages + + Setting that determines whether or not owners can delete messages that they or other members of the team have posted. + + Boolean + + Boolean + + + True + + + AllowStickersAndMemes + + Setting that determines whether stickers and memes usage is allowed in the team. + + Boolean + + Boolean + + + True + + + AllowTeamMentions + + Setting that determines whether the entire team can be @ mentioned (which means that all users will be notified) + + Boolean + + Boolean + + + True + + + AllowUserDeleteMessages + + Setting that determines whether or not members can delete messages that they have posted. + + Boolean + + Boolean + + + True + + + AllowUserEditMessages + + Setting that determines whether or not users can edit messages that they have posted. + + Boolean + + Boolean + + + True + + + GiphyContentRating + + Setting that determines the level of sensitivity of giphy usage that is allowed in the team. Accepted values are "Strict" or "Moderate" + + String + + String + + + Moderate + + + Visibility + + Set to Public to allow all users in your organization to join the group by default. Set to Private to require that an owner approve the join request. + + String + + String + + + Private + + + ShowInTeamsSearchAndSuggestions + + Setting that determines whether or not private teams should be searchable from Teams clients for users who do not belong to that team. Set to $false to make those teams not discoverable from Teams clients. + + Boolean + + Boolean + + + True + + + RetainCreatedGroup + + Switch Parameter allowing toggle of group cleanup if team creation fails. The default value of this parameter is $false to retain with current functionality where the unified group is deleted if the step of adding a team to the group fails. Set it to $true to retain the unified group created even if team creation fails to allow self-retry of team creation or self-cleanup of group as appropriate. + + + SwitchParameter + + + False + + + AllowCreatePrivateChannels + + Determines whether private channel creation is allowed for the team. + + Boolean + + Boolean + + + None + + + + New-Team + + Owner + + An admin who is allowed to create on behalf of another user should use this flag to specify the desired owner of the group. This user will be added as both a member and an owner of the group. If not specified, the user who creates the team will be added as both a member and an owner. Please note: This parameter is mandatory, if connected using Certificate Based Authentication. + + String + + String + + + None + + + AllowAddRemoveApps + + Boolean value that determines whether or not members (not only owners) are allowed to add apps to the team. + + Boolean + + Boolean + + + True + + + AllowChannelMentions + + Boolean value that determines whether or not channels in the team can be @ mentioned so that all users who follow the channel are notified. + + Boolean + + Boolean + + + True + + + AllowCreateUpdateChannels + + Setting that determines whether or not members (and not just owners) are allowed to create channels. + + Boolean + + Boolean + + + True + + + AllowCreateUpdateRemoveConnectors + + Setting that determines whether or not members (and not only owners) can manage connectors in the team. + + Boolean + + Boolean + + + True + + + AllowCreateUpdateRemoveTabs + + Setting that determines whether or not members (and not only owners) can manage tabs in channels. + + Boolean + + Boolean + + + True + + + AllowCustomMemes + + Setting that determines whether or not members can use the custom memes functionality in teams. + + Boolean + + Boolean + + + True + + + AllowDeleteChannels + + Setting that determines whether or not members (and not only owners) can delete channels in the team. + + Boolean + + Boolean + + + True + + + AllowGiphy + + Setting that determines whether or not giphy can be used in the team. + + Boolean + + Boolean + + + True + + + AllowGuestCreateUpdateChannels + + Setting that determines whether or not guests can create channels in the team. + + Boolean + + Boolean + + + False + + + AllowGuestDeleteChannels + + Setting that determines whether or not guests can delete in the team. + + Boolean + + Boolean + + + False + + + AllowOwnerDeleteMessages + + Setting that determines whether or not owners can delete messages that they or other members of the team have posted. + + Boolean + + Boolean + + + True + + + AllowStickersAndMemes + + Setting that determines whether stickers and memes usage is allowed in the team. + + Boolean + + Boolean + + + True + + + AllowTeamMentions + + Setting that determines whether the entire team can be @ mentioned (which means that all users will be notified) + + Boolean + + Boolean + + + True + + + AllowUserDeleteMessages + + Setting that determines whether or not members can delete messages that they have posted. + + Boolean + + Boolean + + + True + + + AllowUserEditMessages + + Setting that determines whether or not users can edit messages that they have posted. + + Boolean + + Boolean + + + True + + + GiphyContentRating + + Setting that determines the level of sensitivity of giphy usage that is allowed in the team. Accepted values are "Strict" or "Moderate" + + String + + String + + + Moderate + + + GroupId + + Specify a GroupId to convert to a Team. If specified, you cannot provide the other values that are already specified by the existing group, namely: Visibility, Alias, Description, or DisplayName. If, for example, you need to create a Team from an existing Microsoft 365 Group, use the ExternalDirectoryObjectId property value returned by Get-UnifiedGroup (https://learn.microsoft.com/powershell/module/exchange/get-unifiedgroup?view=exchange-ps). + + String + + String + + + None + + + ShowInTeamsSearchAndSuggestions + + Setting that determines whether or not private teams should be searchable from Teams clients for users who do not belong to that team. Set to $false to make those teams not discoverable from Teams clients. + + Boolean + + Boolean + + + True + + + RetainCreatedGroup + + Switch Parameter allowing toggle of group cleanup if team creation fails. The default value of this parameter is $false to retain with current functionality where the unified group is deleted if the step of adding a team to the group fails. Set it to $true to retain the unified group created even if team creation fails to allow self-retry of team creation or self-cleanup of group as appropriate. + + + SwitchParameter + + + False + + + + + + MailNickName + + The MailNickName parameter specifies the alias for the associated Office 365 Group. This value will be used for the mail enabled object and will be used as PrimarySmtpAddress for this Office 365 Group. The value of the MailNickName parameter has to be unique across your tenant. Note: If Microsoft 365 groups naming policies are enabled in your tenant, this parameter is required and must also comply with the naming policy. + For more details about the naming conventions see here: New-UnifiedGroup (https://learn.microsoft.com/powershell/module/exchange/new-unifiedgroup#parameters), Parameter: -Alias. + + String + + String + + + None + + + Classification + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + Description + + Team description. Characters Limit - 1024. + + String + + String + + + None + + + DisplayName + + Team display name. Characters Limit - 256. + + String + + String + + + None + + + Template + + If you have an EDU license, you can use this parameter to specify which template you'd like to use for creating your group. Do not use this parameter when converting an existing group. + Valid values are: "EDU_Class" or "EDU_PLC" + + String + + String + + + None + + + Owner + + An admin who is allowed to create on behalf of another user should use this flag to specify the desired owner of the group. This user will be added as both a member and an owner of the group. If not specified, the user who creates the team will be added as both a member and an owner. Please note: This parameter is mandatory, if connected using Certificate Based Authentication. + + String + + String + + + None + + + AllowAddRemoveApps + + Boolean value that determines whether or not members (not only owners) are allowed to add apps to the team. + + Boolean + + Boolean + + + True + + + AllowChannelMentions + + Boolean value that determines whether or not channels in the team can be @ mentioned so that all users who follow the channel are notified. + + Boolean + + Boolean + + + True + + + AllowCreateUpdateChannels + + Setting that determines whether or not members (and not just owners) are allowed to create channels. + + Boolean + + Boolean + + + True + + + AllowCreateUpdateRemoveConnectors + + Setting that determines whether or not members (and not only owners) can manage connectors in the team. + + Boolean + + Boolean + + + True + + + AllowCreateUpdateRemoveTabs + + Setting that determines whether or not members (and not only owners) can manage tabs in channels. + + Boolean + + Boolean + + + True + + + AllowCustomMemes + + Setting that determines whether or not members can use the custom memes functionality in teams. + + Boolean + + Boolean + + + True + + + AllowDeleteChannels + + Setting that determines whether or not members (and not only owners) can delete channels in the team. + + Boolean + + Boolean + + + True + + + AllowGiphy + + Setting that determines whether or not giphy can be used in the team. + + Boolean + + Boolean + + + True + + + AllowGuestCreateUpdateChannels + + Setting that determines whether or not guests can create channels in the team. + + Boolean + + Boolean + + + False + + + AllowGuestDeleteChannels + + Setting that determines whether or not guests can delete in the team. + + Boolean + + Boolean + + + False + + + AllowOwnerDeleteMessages + + Setting that determines whether or not owners can delete messages that they or other members of the team have posted. + + Boolean + + Boolean + + + True + + + AllowStickersAndMemes + + Setting that determines whether stickers and memes usage is allowed in the team. + + Boolean + + Boolean + + + True + + + AllowTeamMentions + + Setting that determines whether the entire team can be @ mentioned (which means that all users will be notified) + + Boolean + + Boolean + + + True + + + AllowUserDeleteMessages + + Setting that determines whether or not members can delete messages that they have posted. + + Boolean + + Boolean + + + True + + + AllowUserEditMessages + + Setting that determines whether or not users can edit messages that they have posted. + + Boolean + + Boolean + + + True + + + GiphyContentRating + + Setting that determines the level of sensitivity of giphy usage that is allowed in the team. Accepted values are "Strict" or "Moderate" + + String + + String + + + Moderate + + + GroupId + + Specify a GroupId to convert to a Team. If specified, you cannot provide the other values that are already specified by the existing group, namely: Visibility, Alias, Description, or DisplayName. If, for example, you need to create a Team from an existing Microsoft 365 Group, use the ExternalDirectoryObjectId property value returned by Get-UnifiedGroup (https://learn.microsoft.com/powershell/module/exchange/get-unifiedgroup?view=exchange-ps). + + String + + String + + + None + + + Visibility + + Set to Public to allow all users in your organization to join the group by default. Set to Private to require that an owner approve the join request. + + String + + String + + + Private + + + ShowInTeamsSearchAndSuggestions + + Setting that determines whether or not private teams should be searchable from Teams clients for users who do not belong to that team. Set to $false to make those teams not discoverable from Teams clients. + + Boolean + + Boolean + + + True + + + RetainCreatedGroup + + Switch Parameter allowing toggle of group cleanup if team creation fails. The default value of this parameter is $false to retain with current functionality where the unified group is deleted if the step of adding a team to the group fails. Set it to $true to retain the unified group created even if team creation fails to allow self-retry of team creation or self-cleanup of group as appropriate. + + SwitchParameter + + SwitchParameter + + + False + + + AllowCreatePrivateChannels + + Determines whether private channel creation is allowed for the team. + + Boolean + + Boolean + + + None + + + + + + + GroupId + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + New-Team -DisplayName "Tech Reads" + + This example creates a team with all parameters with their default values. + + + + -------------------------- Example 2 -------------------------- + New-Team -DisplayName "Tech Reads" -Description "Team to post technical articles and blogs" -Visibility Public + + This example creates a team with a specific description and public visibility. + + + + -------------------------- Example 3 -------------------------- + $group = New-Team -MailNickname "TestTeam" -displayname "Test Teams" -Visibility "private" +Add-TeamUser -GroupId $group.GroupId -User "fred@example.com" +Add-TeamUser -GroupId $group.GroupId -User "john@example.com" +Add-TeamUser -GroupId $group.GroupId -User "wilma@example.com" +New-TeamChannel -GroupId $group.GroupId -DisplayName "Q4 planning" +New-TeamChannel -GroupId $group.GroupId -DisplayName "Exec status" +New-TeamChannel -GroupId $group.GroupId -DisplayName "Contracts" + + This example creates a team, adds three members to it, and creates three channels within it. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-team + + + Remove-Team + + + + Get-Team + + + + Set-Team + + + + + + + New-TeamChannel + New + TeamChannel + + Add a new channel to a team. + + + + Add a new channel to a team. + + + + New-TeamChannel + + GroupId + + GroupId of the team + + String + + String + + + None + + + DisplayName + + Channel display name. Names must be 50 characters or less, and can't contain the characters # % & * { } / \ : < > ? + | ' " + + String + + String + + + None + + + Description + + Channel description. Channel description can be up to 1024 characters. + + String + + String + + + None + + + MembershipType + + Channel membership type, Standard, Shared, or Private. + + String + + String + + + None + + + Owner + + UPN of owner that can be specified while creating a private channel. + + String + + String + + + None + + + + + + GroupId + + GroupId of the team + + String + + String + + + None + + + DisplayName + + Channel display name. Names must be 50 characters or less, and can't contain the characters # % & * { } / \ : < > ? + | ' " + + String + + String + + + None + + + Description + + Channel description. Channel description can be up to 1024 characters. + + String + + String + + + None + + + MembershipType + + Channel membership type, Standard, Shared, or Private. + + String + + String + + + None + + + Owner + + UPN of owner that can be specified while creating a private channel. + + String + + String + + + None + + + + + + GroupId, DisplayName, Description, MembershipType, Owner + + + + + + + + + + Id + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + New-TeamChannel -GroupId 126b90a5-e65a-4fef-98e3-d9b49f4acf12 -DisplayName "Architecture" + + Create a standard channel with display name as "Architecture" + + + + -------------------------- Example 2 -------------------------- + New-TeamChannel -GroupId 126b90a5-e65a-4fef-98e3-d9b49f4acf12 -DisplayName "Engineering" -MembershipType Private + + Create a private channel with display name as "Engineering" + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-teamchannel + + + + + + New-TeamsApp + New + TeamsApp + + Creates a new app in the Teams tenant app store. + + + + Use a Teams app manifest zip file to upload an app to the tenant app store. DistributionMethod specifies that the app should be added to the organization. + + + + New-TeamsApp + + DistributionMethod + + The type of app in Teams: global or organization. For LOB apps, use "organization" + + String + + String + + + None + + + Path + + The local path of the app manifest zip file, for use in New and Set + + String + + String + + + None + + + + + + DistributionMethod + + The type of app in Teams: global or organization. For LOB apps, use "organization" + + String + + String + + + None + + + Path + + The local path of the app manifest zip file, for use in New and Set + + String + + String + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> New-TeamsApp -DistributionMethod organization -Path c:\Path\SampleApp.zip + + + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-teamsapp + + + + + + Remove-SharedWithTeam + Remove + SharedWithTeam + + This cmdlet supports unsharing a channel with a team. + + + + This cmdlet supports unsharing a channel with a team. + + + + Remove-SharedWithTeam + + HostTeamId + + Team ID of the host team (Group ID). + + String + + String + + + None + + + ChannelId + + Thread ID of the shared channel. + + String + + String + + + None + + + SharedWithTeamId + + Team ID of the shared with team. + + String + + String + + + None + + + + + + HostTeamId + + Team ID of the host team (Group ID). + + String + + String + + + None + + + ChannelId + + Thread ID of the shared channel. + + String + + String + + + None + + + SharedWithTeamId + + Team ID of the shared with team. + + String + + String + + + None + + + + + + HostTeamId, ChannelId, SharedWithTeamId + + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Remove-SharedWithTeam -HostTeamId 126b90a5-e65a-4fef-98e3-d9b49f4acf12 -ChannelId 19:cUfyYYw3h_t-1KG8-WkvVa7KLEsIx-JHmyeG43VJojg1@thread.tacv2 +-SharedWithTeam d2aad370-c6ca-438b-b4d7-05f0aa911a7b + + Unshares a channel with a team. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-sharedwithteam + + + Remove-Team + + + + + + + Remove-Team + Remove + Team + + This cmdlet deletes a specified Team from Microsoft Teams. + NOTE: The associated Office 365 Unified Group will also be removed. + + + + Removes a specified team via GroupID and all its associated components, like O365 Unified Group... + + + + + Remove-Team + + GroupId + + GroupId of the team + + String + + String + + + None + + + + + + GroupId + + GroupId of the team + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Remove-Team -GroupId 31f1ff6c-d48c-4f8a-b2e1-abca7fd399df + + + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-team + + + New-Team + + + + + + + Remove-TeamChannel + Remove + TeamChannel + + Delete a channel. This will not delete content in associated tabs. + Note: The channel will be "soft deleted", meaning the contents are not permanently deleted for a time. So a subsequent call to Add-TeamChannel using the same channel name will fail if enough time has not passed. + + + + > [!IMPORTANT] > Modules in the PS INT gallery for Microsoft Teams run on the /beta version in Microsoft Graph and are subject to change. Int modules can be install from here `https://www.poshtestgallery.com/packages/MicrosoftTeams`. + + + + Remove-TeamChannel + + GroupId + + GroupId of the team + + String + + String + + + None + + + DisplayName + + Channel name to be deleted + + String + + String + + + None + + + + + + GroupId + + GroupId of the team + + String + + String + + + None + + + DisplayName + + Channel name to be deleted + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Remove-TeamChannel -GroupId 2f162b0e-36d2-4e15-8ba3-ba229cecdccf -DisplayName "Tech Reads" + + + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-teamchannel + + + + + + Remove-TeamChannelUser + Remove + TeamChannelUser + + Note: the command will return immediately, but the Teams application will not reflect the update immediately, please refresh the members page to see the update. + To turn an existing Owner into a Member, specify role parameter as Owner. + Note: last owner cannot be removed from the private channel. + + + + Note: This cmdlet is part of the Public Preview version of Teams PowerShell Module, for more information see Install Teams PowerShell public preview (https://learn.microsoft.com/microsoftteams/teams-powershell-install#install-teams-powershell-public-preview) and also see [Microsoft Teams PowerShell Release Notes](https://learn.microsoft.com/microsoftteams/teams-powershell-release-notes). + + + + Remove-TeamChannelUser + + GroupId + + GroupId of the team + + String + + String + + + None + + + DisplayName + + Display name of the private channel + + String + + String + + + None + + + User + + User's UPN (user principal name - e.g. johndoe@example.com) + + String + + String + + + None + + + Role + + Use this to demote a user from owner to member of the team + + String + + String + + + None + + + + + + GroupId + + GroupId of the team + + String + + String + + + None + + + DisplayName + + Display name of the private channel + + String + + String + + + None + + + User + + User's UPN (user principal name - e.g. johndoe@example.com) + + String + + String + + + None + + + Role + + Use this to demote a user from owner to member of the team + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Remove-TeamChannelUser -GroupId 31f1ff6c-d48c-4f8a-b2e1-abca7fd399df -DisplayName "Engineering" -User dmx@example.com + + + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-teamchanneluser + + + + + + Remove-TeamsApp + Remove + TeamsApp + + Removes an app in the Teams tenant app store. + + + + Removes an app in the Teams tenant app store. + + + + Remove-TeamsApp + + Id + + The app's ID generated by Teams (different from the external ID) + + String + + String + + + None + + + + + + Id + + The app's ID generated by Teams (different from the external ID) + + String + + String + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Remove-TeamsApp -Id b9cc7986-dd56-4b57-ab7d-9c4e5288b775 + + + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-teamsapp + + + + + + Remove-TeamsAppInstallation + Remove + TeamsAppInstallation + + Removes a Teams App installed in Microsoft Teams. + + + + Removes a Teams App installed in Microsoft Teams. + Note: This cmdlet is part of the Public Preview version of Teams PowerShell Module, for more information see Install Teams PowerShell public preview (https://learn.microsoft.com/microsoftteams/teams-powershell-install#install-teams-powershell-public-preview) and also see [Microsoft Teams PowerShell Release Notes](https://learn.microsoft.com/microsoftteams/teams-powershell-release-notes). + + + + Remove-TeamsAppInstallation + + AppId + + Teams App identifier in Microsoft Teams. + + String + + String + + + None + + + AppInstallationId + + Installation identifier of the Teams App. + + String + + String + + + None + + + TeamId + + Team identifier in Microsoft Teams. + + String + + String + + + None + + + + Remove-TeamsAppInstallation + + AppId + + Teams App identifier in Microsoft Teams. + + String + + String + + + None + + + AppInstallationId + + Installation identifier of the Teams App. + + String + + String + + + None + + + UserId + + User identifier in Microsoft Teams. + + String + + String + + + None + + + + + + AppId + + Teams App identifier in Microsoft Teams. + + String + + String + + + None + + + AppInstallationId + + Installation identifier of the Teams App. + + String + + String + + + None + + + TeamId + + Team identifier in Microsoft Teams. + + String + + String + + + None + + + UserId + + User identifier in Microsoft Teams. + + String + + String + + + None + + + + + + System.String + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Remove-TeamsAppInstallation -AppId b9cc7986-dd56-4b57-ab7d-9c4e5288b775 -TeamId 31f1ff6c-d48c-4f8a-b2e1-abca7fd399df + + This example removes a Teams App in Microsoft Teams specifying its AppId and TeamId. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-teamsappinstallation + + + + + + Remove-TeamTargetingHierarchy + Remove + TeamTargetingHierarchy + + Removes the tenant's hierarchy. + + + + Removes the tenant's hierarchy. + + + + Remove-TeamTargetingHierarchy + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Remove-TeamTargetingHierarchy + + + + + + ----------------------- CommonParameters ----------------------- + + + + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/connect-microsoftteams + + + Set-TeamTargetingHierarchy + + + + + + + Remove-TeamUser + Remove + TeamUser + + Remove an owner or member from a team, and from the unified group which backs the team. + Note: the command will return immediately, but the Teams application will not reflect the update immediately. The Teams application may need to be open for up to an hour before changes are reflected. + Note: last owner cannot be removed from the team. + + + + + + + + Remove-TeamUser + + GroupId + + GroupId of the team + + String + + String + + + None + + + User + + User's UPN (user principal name - e.g. johndoe@example.com) + + String + + String + + + None + + + Role + + If cmdlet is called with -Role parameter as "Owner", the specified user is removed as an owner of the team but stays as a team member. + Note: The last owner cannot be removed from the team. + + String + + String + + + None + + + + + + GroupId + + GroupId of the team + + String + + String + + + None + + + User + + User's UPN (user principal name - e.g. johndoe@example.com) + + String + + String + + + None + + + Role + + If cmdlet is called with -Role parameter as "Owner", the specified user is removed as an owner of the team but stays as a team member. + Note: The last owner cannot be removed from the team. + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Remove-TeamUser -GroupId 31f1ff6c-d48c-4f8a-b2e1-abca7fd399df -User dmx@example.com -Role Owner + + In this example, the user "dmx" is removed the role Owner but stays as a team member. + + + + -------------------------- Example 2 -------------------------- + Remove-TeamUser -GroupId 31f1ff6c-d48c-4f8a-b2e1-abca7fd399df -User dmx@example.com + + In this example, the user "dmx" is removed from the team. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-teamuser + + + + + + Set-Team + Set + Team + + This cmdlet allows you to update properties of a team, including its displayname, description, and team-specific settings. + + + + This cmdlet allows you to update properties of a team, including its displayname, description, and team-specific settings. This cmdlet includes all settings that used to be set using the Set-TeamFunSettings, Set-TeamGuestSettings, etc. cmdlets + + + + Set-Team + + GroupId + + GroupId of the team + + String + + String + + + None + + + DisplayName + + Team display name. Team Name Characters Limit - 256. + + String + + String + + + None + + + Description + + Team description. Team Description Characters Limit - 1024. + + String + + String + + + None + + + MailNickName + + The MailNickName parameter specifies the alias for the associated Office 365 Group. This value will be used for the mail enabled object and will be used as PrimarySmtpAddress for this Office 365 Group. The value of the MailNickName parameter has to be unique across your tenant. + + String + + String + + + None + + + Classification + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + Visibility + + Team visibility. Valid values are "Private" and "Public" + + String + + String + + + None + + + AllowAddRemoveApps + + Boolean value that determines whether or not members (not only owners) are allowed to add apps to the team. + + Boolean + + Boolean + + + None + + + AllowChannelMentions + + Boolean value that determines whether or not channels in the team can be @ mentioned so that all users who follow the channel are notified. + + Boolean + + Boolean + + + None + + + AllowCreateUpdateChannels + + Setting that determines whether or not members (and not just owners) are allowed to create channels. + + Boolean + + Boolean + + + None + + + AllowCreateUpdateRemoveConnectors + + Setting that determines whether or not members (and not only owners) can manage connectors in the team. + + Boolean + + Boolean + + + None + + + AllowCreateUpdateRemoveTabs + + Setting that determines whether or not members (and not only owners) can manage tabs in channels. + + Boolean + + Boolean + + + None + + + AllowCustomMemes + + Setting that determines whether or not members can use the custom memes functionality in teams. + + Boolean + + Boolean + + + None + + + AllowDeleteChannels + + Setting that determines whether or not members (and not only owners) can delete channels in the team. + + Boolean + + Boolean + + + None + + + AllowGiphy + + Setting that determines whether or not giphy can be used in the team. + + Boolean + + Boolean + + + None + + + AllowGuestCreateUpdateChannels + + Setting that determines whether or not guests can create channels in the team. + + Boolean + + Boolean + + + None + + + AllowGuestDeleteChannels + + Setting that determines whether or not guests can delete in the team. + + Boolean + + Boolean + + + None + + + AllowOwnerDeleteMessages + + Setting that determines whether or not owners can delete messages that they or other members of the team have posted. + + Boolean + + Boolean + + + None + + + AllowStickersAndMemes + + Setting that determines whether stickers and memes usage is allowed in the team. + + Boolean + + Boolean + + + None + + + AllowTeamMentions + + Setting that determines whether the entire team can be @ mentioned (which means that all users will be notified) + + Boolean + + Boolean + + + None + + + AllowUserDeleteMessages + + Setting that determines whether or not members can delete messages that they have posted. + + Boolean + + Boolean + + + None + + + AllowUserEditMessages + + Setting that determines whether or not users can edit messages that they have posted. + + Boolean + + Boolean + + + None + + + GiphyContentRating + + Setting that determines the level of sensitivity of giphy usage that is allowed in the team. Accepted values are "Strict" or "Moderate" + + String + + String + + + None + + + ShowInTeamsSearchAndSuggestions + + The parameter has been deprecated. + + Boolean + + Boolean + + + None + + + AllowCreatePrivateChannels + + Determines whether private channel creation is allowed for the team. + + Boolean + + Boolean + + + None + + + + + + GroupId + + GroupId of the team + + String + + String + + + None + + + DisplayName + + Team display name. Team Name Characters Limit - 256. + + String + + String + + + None + + + Description + + Team description. Team Description Characters Limit - 1024. + + String + + String + + + None + + + MailNickName + + The MailNickName parameter specifies the alias for the associated Office 365 Group. This value will be used for the mail enabled object and will be used as PrimarySmtpAddress for this Office 365 Group. The value of the MailNickName parameter has to be unique across your tenant. + + String + + String + + + None + + + Classification + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + Visibility + + Team visibility. Valid values are "Private" and "Public" + + String + + String + + + None + + + AllowAddRemoveApps + + Boolean value that determines whether or not members (not only owners) are allowed to add apps to the team. + + Boolean + + Boolean + + + None + + + AllowChannelMentions + + Boolean value that determines whether or not channels in the team can be @ mentioned so that all users who follow the channel are notified. + + Boolean + + Boolean + + + None + + + AllowCreateUpdateChannels + + Setting that determines whether or not members (and not just owners) are allowed to create channels. + + Boolean + + Boolean + + + None + + + AllowCreateUpdateRemoveConnectors + + Setting that determines whether or not members (and not only owners) can manage connectors in the team. + + Boolean + + Boolean + + + None + + + AllowCreateUpdateRemoveTabs + + Setting that determines whether or not members (and not only owners) can manage tabs in channels. + + Boolean + + Boolean + + + None + + + AllowCustomMemes + + Setting that determines whether or not members can use the custom memes functionality in teams. + + Boolean + + Boolean + + + None + + + AllowDeleteChannels + + Setting that determines whether or not members (and not only owners) can delete channels in the team. + + Boolean + + Boolean + + + None + + + AllowGiphy + + Setting that determines whether or not giphy can be used in the team. + + Boolean + + Boolean + + + None + + + AllowGuestCreateUpdateChannels + + Setting that determines whether or not guests can create channels in the team. + + Boolean + + Boolean + + + None + + + AllowGuestDeleteChannels + + Setting that determines whether or not guests can delete in the team. + + Boolean + + Boolean + + + None + + + AllowOwnerDeleteMessages + + Setting that determines whether or not owners can delete messages that they or other members of the team have posted. + + Boolean + + Boolean + + + None + + + AllowStickersAndMemes + + Setting that determines whether stickers and memes usage is allowed in the team. + + Boolean + + Boolean + + + None + + + AllowTeamMentions + + Setting that determines whether the entire team can be @ mentioned (which means that all users will be notified) + + Boolean + + Boolean + + + None + + + AllowUserDeleteMessages + + Setting that determines whether or not members can delete messages that they have posted. + + Boolean + + Boolean + + + None + + + AllowUserEditMessages + + Setting that determines whether or not users can edit messages that they have posted. + + Boolean + + Boolean + + + None + + + GiphyContentRating + + Setting that determines the level of sensitivity of giphy usage that is allowed in the team. Accepted values are "Strict" or "Moderate" + + String + + String + + + None + + + ShowInTeamsSearchAndSuggestions + + The parameter has been deprecated. + + Boolean + + Boolean + + + None + + + AllowCreatePrivateChannels + + Determines whether private channel creation is allowed for the team. + + Boolean + + Boolean + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-Team -GroupId 2f162b0e-36d2-4e15-8ba3-ba229cecdccf -DisplayName "Updated TeamName" -Visibility Public + + + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-team + + + Get-Team + + + + New-Team + + + + + + + Set-TeamArchivedState + Set + TeamArchivedState + + This cmdlet is used to freeze all of the team activity, but Teams Administrators and team owners will still be able to add or remove members and update roles. You can unarchive the team anytime. + + + + This cmdlet is used to freeze all of the team activity and also specify whether SharePoint site should be marked as Read-Only. Teams administrators and team owners will still be able to add or remove members and update roles. You can unarchive the team anytime. + + + + Set-TeamArchivedState + + Archived + + Boolean value that determines whether or not the Team is archived. + + Boolean + + Boolean + + + None + + + GroupId + + GroupId of the team + + String + + String + + + None + + + SetSpoSiteReadOnlyForMembers + + Use this parameter switch to make the SharePoint site read-only for team members. + + Boolean + + Boolean + + + None + + + + + + Archived + + Boolean value that determines whether or not the Team is archived. + + Boolean + + Boolean + + + None + + + GroupId + + GroupId of the team + + String + + String + + + None + + + SetSpoSiteReadOnlyForMembers + + Use this parameter switch to make the SharePoint site read-only for team members. + + Boolean + + Boolean + + + None + + + + + + System.String + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-TeamArchivedState -GroupId 105b16e2-dc55-4f37-a922-97551e9e862d -Archived:$true + + This example sets the group with id 105b16e2-dc55-4f37-a922-97551e9e862d as archived + + + + -------------------------- Example 2 -------------------------- + PS C:\> Set-TeamArchivedState -GroupId 105b16e2-dc55-4f37-a922-97551e9e862d -Archived:$true -SetSpoSiteReadOnlyForMembers:$true + + This example sets the group with id 105b16e2-dc55-4f37-a922-97551e9e862d as archived and makes the SharePoint site read-only for team members. + + + + -------------------------- Example 3 -------------------------- + PS C:\> Set-TeamArchivedState -GroupId 105b16e2-dc55-4f37-a922-97551e9e862d -Archived:$false + + This example unarchives the group with id 105b16e2-dc55-4f37-a922-97551e9e862d. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-teamarchivedstate + + + + + + Set-TeamChannel + Set + TeamChannel + + Update Team channels settings. + + + + > [!IMPORTANT] > Modules in the PS INT gallery for Microsoft Teams run on the /beta version in Microsoft Graph and are subject to change. Int modules can be install from here `https://www.poshtestgallery.com/packages/MicrosoftTeams`. + + + + Set-TeamChannel + + GroupId + + GroupId of the team + + String + + String + + + None + + + CurrentDisplayName + + Current channel name + + String + + String + + + None + + + NewDisplayName + + New Channel display name. Names must be 50 characters or less, and can't contain the characters # % & * { } / \ : < > ? + | ' " + + String + + String + + + None + + + Description + + Updated Channel description. Channel Description Characters Limit - 1024. + + String + + String + + + None + + + + + + GroupId + + GroupId of the team + + String + + String + + + None + + + CurrentDisplayName + + Current channel name + + String + + String + + + None + + + NewDisplayName + + New Channel display name. Names must be 50 characters or less, and can't contain the characters # % & * { } / \ : < > ? + | ' " + + String + + String + + + None + + + Description + + Updated Channel description. Channel Description Characters Limit - 1024. + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-TeamChannel -GroupId c58566a6-4bb4-4221-98d4-47677dbdbef6 -CurrentDisplayName TechReads -NewDisplayName "Technical Reads" + + + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-teamchannel + + + + + + Set-TeamPicture + Set + TeamPicture + + Update the team picture. + Note: the command will return immediately, but the Teams application will not reflect the update immediately. The Teams application may need to be open for up to an hour before changes are reflected. + Note: this cmdlet is not support in special government environments (TeamsGCCH and TeamsDoD) and is currently only supported in our beta release. + + + + + + + + Set-TeamPicture + + GroupId + + GroupId of the team + + String + + String + + + None + + + ImagePath + + File path and image ( .png, .gif, .jpg, or .jpeg) + + String + + String + + + None + + + + + + GroupId + + GroupId of the team + + String + + String + + + None + + + ImagePath + + File path and image ( .png, .gif, .jpg, or .jpeg) + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-TeamPicture -GroupId 2f162b0e-36d2-4e15-8ba3-ba229cecdccf -ImagePath c:\Image\TeamPicture.png + + + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-teampicture + + + + + + Set-TeamsApp + Set + TeamsApp + + Updates an app in the Teams tenant app store. + + + + Use a Teams app manifest zip file to upload an app to the tenant app store. + + + + Set-TeamsApp + + Id + + The app's ID generated by Teams (different from the external ID) + + String + + String + + + None + + + Path + + The local path of the app manifest zip file, for use in New and Set + + String + + String + + + None + + + + + + Id + + The app's ID generated by Teams (different from the external ID) + + String + + String + + + None + + + Path + + The local path of the app manifest zip file, for use in New and Set + + String + + String + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-TeamsApp -Id b9cc7986-dd56-4b57-ab7d-9c4e5288b775 -Path c:\Path\SampleApp.zip + + + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-teamsapp + + + + + + Set-TeamTargetingHierarchy + Set + TeamTargetingHierarchy + + Upload a hierarchy to the tenant. A tenant may only have 1 active hierarchy. Each Set-TeamTargetingHierarchy cmdlet call will overwrite the previous one. + + + + A sample CSV file uses the following format: + `TargetName,ParentName,TeamId,Location:Clothing,Location:Jewelry,#Bucket1,#Bucket2`<br>`Apogee,,A8A6626F-87B3-4B8A-9469-47BCD1174673,0,0`<br>`New Jersey,Apogee,06763207-4F56-4DFE-96AE-4C7F9ADCFB43,0,0`<br>`Basking Ridge,NewJersey,5F44CC65-9521-4F7F-9099-64320153CA07,1,0`<br>`Mountain Lakes,NewJersey,58A21379-8E4D-4DA5-AA35-9CC188D8A998,0,1` + Based on the CSV file, the following hierarchy is created: + - Apogee + - &nbsp;&nbsp;&nbsp;New Jersey + - &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Basking Ridge + - &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Mountain Lakes + + + + Set-TeamTargetingHierarchy + + FilePath + + Specifies the path to a CSV file that defines the hierarchy. + + String + + String + + + None + + + + + + FilePath + + Specifies the path to a CSV file that defines the hierarchy. + + String + + String + + + None + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-TeamTargetingHierarchy -FilePath d:\hier.csv + +Key Value +--- ----- +requestId c67e86109d88479e9708c3b7e8ff7217 + + + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/connect-microsoftteams + + + Get-TeamTargetingHierarchyStatus + + + + + + + Update-M365TeamsApp + Update + M365TeamsApp + + This cmdlet updates app state and app available values for the Microsoft Teams app. + + + + This cmdlet allows administrators to modify app state and availability by adding or removing users and groups or changing assignment type. + + + + Update-M365TeamsApp + + AppAssignmentType + + App availability type. + + String + + String + + + None + + + Groups + + List of all the groups for whom the app is enabled or disabled. + + String[] + + String[] + + + None + + + Id + + Application ID of Microsoft Teams app. + + String + + String + + + None + + + Users + + List of all the users for whom the app is enabled or disabled. + + String[] + + String[] + + + None + + + + Update-M365TeamsApp + + AppAssignmentType + + App availability type. + + String + + String + + + None + + + Groups + + List of all the groups for whom the app is enabled or disabled. + + String[] + + String[] + + + None + + + Id + + Application ID of Microsoft Teams app. + + String + + String + + + None + + + Users + + List of all the users for whom the app is enabled or disabled. + + String[] + + String[] + + + None + + + + Update-M365TeamsApp + + AppAssignmentType + + App availability type. + + String + + String + + + None + + + Groups + + List of all the groups for whom the app is enabled or disabled. + + String[] + + String[] + + + None + + + Id + + Application ID of Microsoft Teams app. + + String + + String + + + None + + + Users + + List of all the users for whom the app is enabled or disabled. + + String[] + + String[] + + + None + + + + Update-M365TeamsApp + + Groups + + List of all the groups for whom the app is enabled or disabled. + + String[] + + String[] + + + None + + + Id + + Application ID of Microsoft Teams app. + + String + + String + + + None + + + IsBlocked + + The state of the app in the tenant. + + Boolean + + Boolean + + + None + + + Users + + List of all the users for whom the app is enabled or disabled. + + String[] + + String[] + + + None + + + + Update-M365TeamsApp + + Groups + + List of all the groups for whom the app is enabled or disabled. + + String[] + + String[] + + + None + + + Id + + Application ID of Microsoft Teams app. + + String + + String + + + None + + + IsBlocked + + The state of the app in the tenant. + + Boolean + + Boolean + + + None + + + Users + + List of all the users for whom the app is enabled or disabled. + + String[] + + String[] + + + None + + + + Update-M365TeamsApp + + Groups + + List of all the groups for whom the app is enabled or disabled. + + String[] + + String[] + + + None + + + Id + + Application ID of Microsoft Teams app. + + String + + String + + + None + + + OperationType + + Operation performed on the app assigment. + + String + + String + + + None + + + Users + + List of all the users for whom the app is enabled or disabled. + + String[] + + String[] + + + None + + + + Update-M365TeamsApp + + Groups + + List of all the groups for whom the app is enabled or disabled. + + String[] + + String[] + + + None + + + Id + + Application ID of Microsoft Teams app. + + String + + String + + + None + + + OperationType + + Operation performed on the app assigment. + + String + + String + + + None + + + Users + + List of all the users for whom the app is enabled or disabled. + + String[] + + String[] + + + None + + + + + + AppAssignmentType + + App availability type. + + String + + String + + + None + + + Groups + + List of all the groups for whom the app is enabled or disabled. + + String[] + + String[] + + + None + + + Id + + Application ID of Microsoft Teams app. + + String + + String + + + None + + + IsBlocked + + The state of the app in the tenant. + + Boolean + + Boolean + + + None + + + OperationType + + Operation performed on the app assigment. + + String + + String + + + None + + + Users + + List of all the users for whom the app is enabled or disabled. + + String[] + + String[] + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Update-M365TeamsApp -Id 3acac8f6-4e9e-4ee1-9c0e-0ea837d15ea3 -IsBlocked $true -AppAssignmentType UsersAndGroups -OperationType Add -Users eec823bd-0979-4cf8-9924-85bb6ffcb57d -Groups 37da2d58-fc14-453e-9a14-5065ebd63a1d + + Updates state and availablity assignment information of 3acac8f6-4e9e-4ee1-9c0e-0ea837d15ea3 app. + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/teams/Update-M365TeamsApp + + + Get-AllM365TeamsApps + + + + Get-M365TeamsApp + + + + + + + Update-TeamsAppInstallation + Update + TeamsAppInstallation + + Update a Teams App in Microsoft Teams. + + + + Update a Teams App in Microsoft Teams. This won't update teams client; this will update an application installed on the user/team. + Note: This cmdlet is part of the Public Preview version of Teams PowerShell Module, for more information see Install Teams PowerShell public preview (https://learn.microsoft.com/microsoftteams/teams-powershell-install#install-teams-powershell-public-preview) and also see [Microsoft Teams PowerShell Release Notes](https://learn.microsoft.com/microsoftteams/teams-powershell-release-notes). + + + + Update-TeamsAppInstallation + + AppId + + Teams App identifier in Microsoft Teams. + + String + + String + + + None + + + AppInstallationId + + Installation identifier of the Teams App. + + String + + String + + + None + + + Permissions + + RSC permissions for the Teams App. + + String + + String + + + None + + + TeamId + + Team identifier in Microsoft Teams. + + String + + String + + + None + + + + Update-TeamsAppInstallation + + AppId + + Teams App identifier in Microsoft Teams. + + String + + String + + + None + + + AppInstallationId + + Installation identifier of the Teams App. + + String + + String + + + None + + + Permissions + + RSC permissions for the Teams App. + + String + + String + + + None + + + UserId + + User identifier in Microsoft Teams. + + String + + String + + + None + + + + + + AppId + + Teams App identifier in Microsoft Teams. + + String + + String + + + None + + + AppInstallationId + + Installation identifier of the Teams App. + + String + + String + + + None + + + Permissions + + RSC permissions for the Teams App. + + String + + String + + + None + + + TeamId + + Team identifier in Microsoft Teams. + + String + + String + + + None + + + UserId + + User identifier in Microsoft Teams. + + String + + String + + + None + + + + + + System.String + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Update-TeamsAppInstallation -AppId b9cc7986-dd56-4b57-ab7d-9c4e5288b775 -TeamId 31f1ff6c-d48c-4f8a-b2e1-abca7fd399df + + This example updates a Teams App in Microsoft Teams specifying its AppId and TeamId. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Update-TeamsAppInstallation -AppId b9cc7986-dd56-4b57-ab7d-9c4e5288b775 -TeamId 31f1ff6c-d48c-4f8a-b2e1-abca7fd399df -Permissions "TeamSettings.Read.Group ChannelMessage.Read.Group" + + This example updates a Teams App in Microsoft Teams specifying its AppId and TeamId and RSC Permissions. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/update-teamsappinstallation + + + + \ No newline at end of file diff --git a/Modules/MicrosoftTeams/6.4.0/en-US/Microsoft.TeamsCmdlets.PowerShell.Connect.dll-Help.xml b/Modules/MicrosoftTeams/6.4.0/en-US/Microsoft.TeamsCmdlets.PowerShell.Connect.dll-Help.xml new file mode 100644 index 000000000000..c993afdfbac3 --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/en-US/Microsoft.TeamsCmdlets.PowerShell.Connect.dll-Help.xml @@ -0,0 +1,1189 @@ + + + + + Clear-TeamsEnvironmentConfig + Clear + TeamsEnvironmentConfig + + Clears environment-specific configurations from the local machine set by running Set-TeamsEnvironmentConfig. + + + + This cmdlet clears environment-specific configurations from the local machine set by running Set-TeamsEnvironmentConfig. This helps in clearing and rectifying any wrong information set in Set-TeamsEnvironmentConfig. + + + + Clear-TeamsEnvironmentConfig + + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + We do not recommend using Clear-TeamsEnvironmentConfig in Commercial, GCC, GCC High, or DoD environments. This cmdlet is available in Microsoft Teams PowerShell module from version 5.2.0-GA. + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Clear-TeamsEnvironmentConfig + + Clears environment-specific configurations from the local machine set by running Set-TeamsEnvironmentConfig. + + + + + + + + Connect-MicrosoftTeams + Connect + MicrosoftTeams + + The Connect-MicrosoftTeams cmdlet connects an authenticated account for use with cmdlets from the MicrosoftTeams module. + + + + The Connect-MicrosoftTeams cmdlet connects to Microsoft Teams with an authenticated account for use with cmdlets from the MicrosoftTeams PowerShell module. After executing this cmdlet, you can disconnect from MicrosoftTeams account using Disconnect-MicrosoftTeams. Note : With versions 4.x.x or later, enablement of basic authentication is not needed anymore in commercial, GCC, GCC High, and DoD environments. + + + + Connect-MicrosoftTeams + + AccessTokens + + Specifies access tokens for "MS Graph" and "Skype and Teams Tenant Admin API" resources. Both the tokens used should be of the same type. + - Application-based authentication has been reintroduced with version 4.7.1-preview. For details and supported cmdlets, see Application-based authentication in Teams PowerShell Module (/MicrosoftTeams/teams-powershell-application-authentication). + - Delegated flow - The following steps must be performed by Tenant Admin in the Azure portal when using your own application. + Steps to configure the Microsoft Entra application. 1. Go to Azure portal and go to App Registrations. 2. Create or select the existing application. 3. Add the following permission to this Application. 4. Click API permissions. 5. Click Add a permission. 6. Click on the Microsoft Graph, and then select Delegated permissions. 7. Add the following permissions: "AppCatalog.ReadWrite.All", "Group.ReadWrite.All", "User.Read.All", "TeamSettings.ReadWrite.All", "Channel.Delete.All", "ChannelSettings.ReadWrite.All", "ChannelMember.ReadWrite.All". 8. Next, we need to add "Skype and Teams Tenant Admin API" resource permission. Click Add a permission. 9. Navigate to "APIs my organization uses" 10. Search for "Skype and Teams Tenant Admin API", and then select Delegated permissions. 11. Add all the listed permissions. 12. Grant admin consent to both Microsoft Graph and "Skype and Teams Tenant Admin API" name. + + String[] + + String[] + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + LogFilePath + + The path where the log file for this PowerShell session is written to. Provide a value here if you need to deviate from the default PowerShell log file location. + + String + + String + + + None + + + LogLevel + + Specifies the log level. The acceptable values for this parameter are: + - Info + - Error + - Warning + - None + + The default value is Info. + + LogLevel + + LogLevel + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Connect-MicrosoftTeams + + AadAccessToken (Removed from version 2.3.2-preview) + + Specifies an Azure Active Directory Graph access token. > [!WARNING] >This parameter has been removed from version 2.3.2-preview. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + LogFilePath + + The path where the log file for this PowerShell session is written to. Provide a value here if you need to deviate from the default PowerShell log file location. + + String + + String + + + None + + + LogLevel + + Specifies the log level. The acceptable values for this parameter are: + - Info + - Error + - Warning + - None + + The default value is Info. + + LogLevel + + LogLevel + + + None + + + MsAccessToken (Removed from version 2.3.2-preview) + + Specifies a Microsoft Graph access token. > [!WARNING] >This parameter has been removed from version 2.3.2-preview. + + String + + String + + + None + + + TenantId + + Specifies the ID of a tenant. + If you do not specify this parameter, the account is authenticated with the home tenant. + You must specify the TenantId parameter to authenticate as a service principal or when using Microsoft account. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Connect-MicrosoftTeams + + AccountId + + Specifies the ID of an account. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Credential + + Specifies a PSCredential object. For more information about the PSCredential object, type Get-Help Get-Credential. + The PSCredential object provides the user ID and password for organizational ID credentials. + + PSCredential + + PSCredential + + + None + + + LogFilePath + + The path where the log file for this PowerShell session is written to. Provide a value here if you need to deviate from the default PowerShell log file location. + + String + + String + + + None + + + LogLevel + + Specifies the log level. The acceptable values for this parameter are: + - Info + - Error + - Warning + - None + + The default value is Info. + + LogLevel + + LogLevel + + + None + + + TenantId + + Specifies the ID of a tenant. + If you do not specify this parameter, the account is authenticated with the home tenant. + You must specify the TenantId parameter to authenticate as a service principal or when using Microsoft account. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + TeamsEnvironmentName + + Specifies the Teams environment. The following environments are supported: + - Commercial or GCC environments: Don't use this parameter, this is the default. - GCC High environment: TeamsGCCH - DoD environment: TeamsDOD - Microsoft Teams operated by 21Vianet: TeamsChina + + String + + String + + + None + + + UseDeviceAuthentication + + Use device code authentication instead of a browser control. + + + SwitchParameter + + + False + + + + Connect-MicrosoftTeams + + ApplicationId + + Specifies the application ID of the service principal that is used in application-based authentication. + This parameter has been reintroduced with version 4.7.1-preview. For more information about Application-based authentication and supported cmdlets, see Application-based authentication in Teams PowerShell Module (/MicrosoftTeams/teams-powershell-application-authentication). + + String + + String + + + None + + + Certificate + + Specifies the certificate that is used for application-based authentication. A valid value is the X509Certificate2 object value of the certificate. + This parameter has been introduced with version 4.9.2-preview. For more information about application-based authentication and supported cmdlets, see Application-based authentication in Teams PowerShell Module (/MicrosoftTeams/teams-powershell-application-authentication). + + X509Certificate2 + + X509Certificate2 + + + None + + + CertificateThumbprint + + Specifies the certificate thumbprint of a digital public key X.509 certificate of an application that has permission to perform this action. + This parameter has been reintroduced with version 4.7.1-preview. For more information about Application-based authentication and supported cmdlets, see Application-based authentication in Teams PowerShell Module (/MicrosoftTeams/teams-powershell-application-authentication). + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + LogFilePath + + The path where the log file for this PowerShell session is written to. Provide a value here if you need to deviate from the default PowerShell log file location. + + String + + String + + + None + + + LogLevel + + Specifies the log level. The acceptable values for this parameter are: + - Info + - Error + - Warning + - None + + The default value is Info. + + LogLevel + + LogLevel + + + None + + + TenantId + + Specifies the ID of a tenant. + If you do not specify this parameter, the account is authenticated with the home tenant. + You must specify the TenantId parameter to authenticate as a service principal or when using Microsoft account. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Connect-MicrosoftTeams + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + LogFilePath + + The path where the log file for this PowerShell session is written to. Provide a value here if you need to deviate from the default PowerShell log file location. + + String + + String + + + None + + + LogLevel + + Specifies the log level. The acceptable values for this parameter are: + - Info + - Error + - Warning + - None + + The default value is Info. + + LogLevel + + LogLevel + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Identity + + Login using managed service identity in the current environment. For *-Cs cmdlets, this is supported from version 5.8.1-preview onwards. + > [!Note] > This is currently only supported in commercial environments. A few cmdlets (/MicrosoftTeams/teams-powershell-application-authentication#cmdlets-supported)that don't support application-based authentication are not supported either. + + + SwitchParameter + + + False + + + ManagedServiceHostName + + Host name for managed service login. + + String + + String + + + None + + + ManagedServicePort + + Port number for managed service login. + + Int32 + + Int32 + + + None + + + ManagedServiceSecret + + Secret, used for some kinds of managed service login. + + SecureString + + SecureString + + + None + + + + + + AccessTokens + + Specifies access tokens for "MS Graph" and "Skype and Teams Tenant Admin API" resources. Both the tokens used should be of the same type. + - Application-based authentication has been reintroduced with version 4.7.1-preview. For details and supported cmdlets, see Application-based authentication in Teams PowerShell Module (/MicrosoftTeams/teams-powershell-application-authentication). + - Delegated flow - The following steps must be performed by Tenant Admin in the Azure portal when using your own application. + Steps to configure the Microsoft Entra application. 1. Go to Azure portal and go to App Registrations. 2. Create or select the existing application. 3. Add the following permission to this Application. 4. Click API permissions. 5. Click Add a permission. 6. Click on the Microsoft Graph, and then select Delegated permissions. 7. Add the following permissions: "AppCatalog.ReadWrite.All", "Group.ReadWrite.All", "User.Read.All", "TeamSettings.ReadWrite.All", "Channel.Delete.All", "ChannelSettings.ReadWrite.All", "ChannelMember.ReadWrite.All". 8. Next, we need to add "Skype and Teams Tenant Admin API" resource permission. Click Add a permission. 9. Navigate to "APIs my organization uses" 10. Search for "Skype and Teams Tenant Admin API", and then select Delegated permissions. 11. Add all the listed permissions. 12. Grant admin consent to both Microsoft Graph and "Skype and Teams Tenant Admin API" name. + + String[] + + String[] + + + None + + + AadAccessToken (Removed from version 2.3.2-preview) + + Specifies an Azure Active Directory Graph access token. > [!WARNING] >This parameter has been removed from version 2.3.2-preview. + + String + + String + + + None + + + AccountId + + Specifies the ID of an account. + + String + + String + + + None + + + ApplicationId + + Specifies the application ID of the service principal that is used in application-based authentication. + This parameter has been reintroduced with version 4.7.1-preview. For more information about Application-based authentication and supported cmdlets, see Application-based authentication in Teams PowerShell Module (/MicrosoftTeams/teams-powershell-application-authentication). + + String + + String + + + None + + + Certificate + + Specifies the certificate that is used for application-based authentication. A valid value is the X509Certificate2 object value of the certificate. + This parameter has been introduced with version 4.9.2-preview. For more information about application-based authentication and supported cmdlets, see Application-based authentication in Teams PowerShell Module (/MicrosoftTeams/teams-powershell-application-authentication). + + X509Certificate2 + + X509Certificate2 + + + None + + + CertificateThumbprint + + Specifies the certificate thumbprint of a digital public key X.509 certificate of an application that has permission to perform this action. + This parameter has been reintroduced with version 4.7.1-preview. For more information about Application-based authentication and supported cmdlets, see Application-based authentication in Teams PowerShell Module (/MicrosoftTeams/teams-powershell-application-authentication). + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Credential + + Specifies a PSCredential object. For more information about the PSCredential object, type Get-Help Get-Credential. + The PSCredential object provides the user ID and password for organizational ID credentials. + + PSCredential + + PSCredential + + + None + + + LogFilePath + + The path where the log file for this PowerShell session is written to. Provide a value here if you need to deviate from the default PowerShell log file location. + + String + + String + + + None + + + LogLevel + + Specifies the log level. The acceptable values for this parameter are: + - Info + - Error + - Warning + - None + + The default value is Info. + + LogLevel + + LogLevel + + + None + + + MsAccessToken (Removed from version 2.3.2-preview) + + Specifies a Microsoft Graph access token. > [!WARNING] >This parameter has been removed from version 2.3.2-preview. + + String + + String + + + None + + + TenantId + + Specifies the ID of a tenant. + If you do not specify this parameter, the account is authenticated with the home tenant. + You must specify the TenantId parameter to authenticate as a service principal or when using Microsoft account. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + TeamsEnvironmentName + + Specifies the Teams environment. The following environments are supported: + - Commercial or GCC environments: Don't use this parameter, this is the default. - GCC High environment: TeamsGCCH - DoD environment: TeamsDOD - Microsoft Teams operated by 21Vianet: TeamsChina + + String + + String + + + None + + + Identity + + Login using managed service identity in the current environment. For *-Cs cmdlets, this is supported from version 5.8.1-preview onwards. + > [!Note] > This is currently only supported in commercial environments. A few cmdlets (/MicrosoftTeams/teams-powershell-application-authentication#cmdlets-supported)that don't support application-based authentication are not supported either. + + SwitchParameter + + SwitchParameter + + + False + + + ManagedServiceHostName + + Host name for managed service login. + + String + + String + + + None + + + ManagedServicePort + + Port number for managed service login. + + Int32 + + Int32 + + + None + + + ManagedServiceSecret + + Secret, used for some kinds of managed service login. + + SecureString + + SecureString + + + None + + + UseDeviceAuthentication + + Use device code authentication instead of a browser control. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + + + + ------------- Example 1: Connect to MicrosoftTeams ------------- + Connect-MicrosoftTeams +Account Environment Tenant TenantId +------- ----------- ------------------------------------ ------------------------------------ +user@contoso.com AzureCloud xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + + + + + + ------------- Example 2: Connect to MicrosoftTeams ------------- + $credential = Get-Credential +Connect-MicrosoftTeams -Credential $credential +Account Environment Tenant TenantId +------- ----------- ------------------------------------ ------------------------------------ +user@contoso.com AzureCloud xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + + + + + + Example 3: Connect to MicrosoftTeams in a specific environment + Connect-MicrosoftTeams -TeamsEnvironmentName TeamsGCCH +Account Environment Tenant TenantId +------- ----------- ------------------------------------ ------------------------------------ +user@contoso.com TeamsGCCH xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + + + + + + Example 4: Connect to MicrosoftTeams using a certificate thumbprint + Connect-MicrosoftTeams -CertificateThumbprint "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" -ApplicationId "00000000-0000-0000-0000-000000000000" -TenantId "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY" + + + + + + Example 5: Connect to MicrosoftTeams using a certificate object + $cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("C:\exampleCert.pfx",$password) +Connect-MicrosoftTeams -Certificate $cert -ApplicationId "00000000-0000-0000-0000-000000000000" -TenantId "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY" + + + + + + Example 6: Connect to MicrosoftTeams using Application-based Access Tokens + $ClientSecret = "..." +$ApplicationID = "00000000-0000-0000-0000-000000000000" +$TenantID = "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY" + +$graphtokenBody = @{ + Grant_Type = "client_credentials" + Scope = "https://graph.microsoft.com/.default" + Client_Id = $ApplicationID + Client_Secret = $ClientSecret +} + +$graphToken = Invoke-RestMethod -Uri "https://login.microsoftonline.com/$TenantID/oauth2/v2.0/token" -Method POST -Body $graphtokenBody | Select-Object -ExpandProperty Access_Token + +$teamstokenBody = @{ + Grant_Type = "client_credentials" + Scope = "48ac35b8-9aa8-4d74-927d-1f4a14a0b239/.default" + Client_Id = $ApplicationID + Client_Secret = $ClientSecret +} + +$teamsToken = Invoke-RestMethod -Uri "https://login.microsoftonline.com/$TenantID/oauth2/v2.0/token" -Method POST -Body $teamstokenBody | Select-Object -ExpandProperty Access_Token + +Connect-MicrosoftTeams -AccessTokens @("$graphToken", "$teamsToken") + + + + + + Example 7: Connect to MicrosoftTeams using Access Tokens in the delegated flow + $ClientID = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" +$ClientSecret = "..." +$ClientSecret = [Net.WebUtility]::URLEncode($ClientSecret) +$TenantID = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" +$Username = "user@contoso.onmicrosoft.com" +$Password = "..." +$Password = [Net.WebUtility]::URLEncode($Password) + +$URI = "https://login.microsoftonline.com/$TenantID/oauth2/v2.0/token" +$Body = "client_id=$ClientID&client_secret=$ClientSecret&grant_type=password&username=$Username&password=$Password" +$RequestParameters = @{ + URI = $URI + Method = "POST" + ContentType = "application/x-www-form-urlencoded" +} +$GraphToken = (Invoke-RestMethod @RequestParameters -Body "$Body&scope=https://graph.microsoft.com/.default").access_token +$TeamsToken = (Invoke-RestMethod @RequestParameters -Body "$Body&scope=48ac35b8-9aa8-4d74-927d-1f4a14a0b239/.default").access_token +Connect-MicrosoftTeams -AccessTokens @($GraphToken, $TeamsToken) + +Account Environment Tenant TenantId +------- ----------- ------------------------------------ ------------------------------------ +user@contoso.com AzureCloud xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + + + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/connect-microsoftteams + + + + + + Disconnect-MicrosoftTeams + Disconnect + MicrosoftTeams + + + + + + + + + + Disconnect-MicrosoftTeams + + WhatIf + + Simulates what would happen if the cmdlet is run. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Proactively accepts any confirmation prompts. + + + SwitchParameter + + + False + + + + + + WhatIf + + Simulates what would happen if the cmdlet is run. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Proactively accepts any confirmation prompts. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Disconnect-MicrosoftTeams + + Disconnects from the Microsoft Teams environment. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/disconnect-microsoftteams + + + + + + Set-TeamsEnvironmentConfig + Set + TeamsEnvironmentConfig + + Sets environment-specific configurations on the local machine and is used to connect to the right environment when running Connect-MicrosoftTeams. + + + + This cmdlet sets environment-specific configurations like endpoint URIs(such as Microsoft Entra ID and Microsoft Graph) and Teams environment (such as GCCH and DOD) on the local machine. +When running Connect-MicrosoftTeams, environment-specific information set in this cmdlet will be considered unless overridden by Connect-MicrosoftTeams parameters. + Parameters passed to Connect-MicrosoftTeams will take precedence over the information set by this cmdlet. + Clear-TeamsEnvironmentConfig should not be used in Commercial, GCC, GCC High, or DoD environments. + + + + Set-TeamsEnvironmentConfig + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + EndpointUris + + Provides custom endpoints. + + Hashtable + + Hashtable + + + None + + + TeamsEnvironmentName + + Provides a Teams environment to connect to, for example, Teams GCCH or Teams DoD. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + EndpointUris + + Provides custom endpoints. + + Hashtable + + Hashtable + + + None + + + TeamsEnvironmentName + + Provides a Teams environment to connect to, for example, Teams GCCH or Teams DoD. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + Set-TeamsEnvironmentConfig should not be used in Commercial, GCC, GCC High, or DoD environments. + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-TeamsEnvironmentConfig -TeamsEnvironmentName TeamsChina + + Sets the environment as Gallatin China on a local machine and when Connect-MicrosoftTeams is run, authentication will happen in the Gallatin China cloud and Microsoft Teams module will connect to the Gallatin environment. + + + + -------------------------- Example 2 -------------------------- + $endPointUriDict = @{ActiveDirectory = 'https://login.microsoftonline.us/';MsGraphEndpointResourceId = 'https://graph.microsoft.us'} +Set-TeamsEnvironmentConfig -TeamsEnvironmentName $endPointUriDict + + Sets endpoint URIs required for special clouds. + + + + -------------------------- Example 3 -------------------------- + Set-TeamsEnvironmentConfig -TeamsEnvironmentName TeamsChina + +$cred=get-credential +Move-CsUser -Identity "PilarA@contoso.com" -Target "sipfed.online.lync.com" -Credential $cred + + This cmdlet is mainly introduced to support Skype for Business to Microsoft Teams user migration using Move-CsUser. + This example shows how tenant admins can run Move-CsUser in Gallatin and other special clouds after setting the environment configuration using Set-TeamsEnvironmentConfig. + Note that Set-TeamsEnvironmentConfig needs to be run only once for each machine. There is no need to run it each time before running Move-CsUser. + + + + + + \ No newline at end of file diff --git a/Modules/MicrosoftTeams/6.4.0/en-US/MicrosoftTeams-help.xml b/Modules/MicrosoftTeams/6.4.0/en-US/MicrosoftTeams-help.xml new file mode 100644 index 000000000000..d6dbf2943e01 --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/en-US/MicrosoftTeams-help.xml @@ -0,0 +1,90950 @@ + + + + + Clear-CsOnlineTelephoneNumberOrder + Clear + CsOnlineTelephoneNumberOrder + + Use the `Clear-CsOnlineTelephoneNumberOrder` cmdlet to cancel a specific telephone number search order and release the telephone numbers. The telephone numbers can then be available for search and acquire. + + + + Use the `Clear-CsOnlineTelephoneNumberOrder` cmdlet to cancel a specific telephone number search order and release the telephone numbers. The telephone numbers can then be available for search and acquire. + + + + Clear-CsOnlineTelephoneNumberOrder + + OrderId + + Specifies the telephone number search order to look up. Use `New-CsOnlineTelephoneNumberOrder` to create a search order to obtain a search order Id. + + String + + String + + + None + + + + + + OrderId + + Specifies the telephone number search order to look up. Use `New-CsOnlineTelephoneNumberOrder` to create a search order to obtain a search order Id. + + String + + String + + + None + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Clear-CsOnlineTelephoneNumberOrder -OrderId 1efd85ca-dd46-41b3-80a0-2e4c5f87c912 +PS C:\> Get-CsOnlineTelephoneNumberOrder -OrderId 1efd85ca-dd46-41b3-80a0-2e4c5f87c912 + +AreaCode : +CivicAddressId : +CountryCode : US +CreatedAt : 8/23/2021 5:43:44 PM +Description : test +ErrorCode : NoError +Id : 1efd85ca-dd46-41b3-80a0-2e4c5f87c912 +InventoryType : Subscriber +IsManual : False +Name : test +NumberPrefix : 1718 +NumberType : UserSubscriber +Quantity : 1 +ReservationExpiryDate : 8/23/2021 5:59:45 PM +SearchType : Prefix +SendToServiceDesk : False +Status : Cancelled +TelephoneNumber : {Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TelephoneNumberSearchResult} + +PS C:\> $order.TelephoneNumber + +Location TelephoneNumber +-------- --------------- +New York City +17182000004 + + This example cancels the purchase of the telephone number order containing the phone number +17182000004. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/clear-csonlinetelephonenumberorder + + + Get-CsOnlineTelephoneNumberCountry + + + + Get-CsOnlineTelephoneNumberType + + + + New-CsOnlineTelephoneNumberOrder + + + + Get-CsOnlineTelephoneNumberOrder + + + + Complete-CsOnlineTelephoneNumberOrder + + + + Clear-CsOnlineTelephoneNumberOrder + + + + + + + Complete-CsOnlineTelephoneNumberOrder + Complete + CsOnlineTelephoneNumberOrder + + Use the `Complete-CsOnlineTelephoneNumberOrder` cmdlet to complete a specific telephone number search order and confirm the purchase of the new telephone numbers. The telephone numbers can then be used to set up calling features for users and services in your organization. + + + + Use the `Complete-CsOnlineTelephoneNumberOrder` cmdlet to complete a specific telephone number search order and confirm the purchase of the new telephone numbers. The telephone numbers can then be used to set up calling features for users and services in your organization. + + + + Complete-CsOnlineTelephoneNumberOrder + + OrderId + + Specifies the telephone number search order to look up. Use `New-CsOnlineTelephoneNumberOrder` to create a search order to obtain a search order Id. + + String + + String + + + None + + + + + + OrderId + + Specifies the telephone number search order to look up. Use `New-CsOnlineTelephoneNumberOrder` to create a search order to obtain a search order Id. + + String + + String + + + None + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Complete-CsOnlineTelephoneNumberOrder -OrderId 1efd85ca-dd46-41b3-80a0-2e4c5f87c912 +PS C:\> Get-CsOnlineTelephoneNumberOrder -OrderId 1efd85ca-dd46-41b3-80a0-2e4c5f87c912 | fl + +AreaCode : +CivicAddressId : +CountryCode : US +CreatedAt : 8/23/2021 5:43:44 PM +Description : test +ErrorCode : NoError +Id : 1efd85ca-dd46-41b3-80a0-2e4c5f87c912 +InventoryType : Subscriber +IsManual : False +Name : test +NumberPrefix : 1718 +NumberType : UserSubscriber +Quantity : 1 +ReservationExpiryDate : 8/23/2021 5:59:45 PM +SearchType : Prefix +SendToServiceDesk : False +Status : Completed +TelephoneNumber : {Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TelephoneNumberSearchResult} + +PS C:\> (Get-CsOnlineTelephoneNumberOrder -OrderId 1efd85ca-dd46-41b3-80a0-2e4c5f87c912).TelephoneNumber + +Location TelephoneNumber +-------- --------------- +New York City +17182000004 + + This example completes the purchase of the telephone number order containing the phone number +17182000004. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/complete-csonlinetelephonenumberorder + + + Get-CsOnlineTelephoneNumberCountry + + + + Get-CsOnlineTelephoneNumberType + + + + New-CsOnlineTelephoneNumberOrder + + + + Get-CsOnlineTelephoneNumberOrder + + + + Complete-CsOnlineTelephoneNumberOrder + + + + Clear-CsOnlineTelephoneNumberOrder + + + + + + + Disable-CsOnlineSipDomain + Disable + CsOnlineSipDomain + + This cmdlet prevents provisioning of users in Skype for Business Online for the specified domain. This cmdlet allows organizations with multiple on-premises deployments of Skype For Business Server or Lync Server to safely synchronize users from multiple forests into a single Office 365 tenant. + + + + Note: Only one Skype for Business forest can be in hybrid mode at a given time. For full details on this scenario, including step-by-step instructions, see Cloud consolidation for Teams and Skype for Business (https://learn.microsoft.com/skypeforbusiness/hybrid/cloud-consolidation). + This cmdlet enables organizations with multiple on-premises deployments of Skype for Business Server (or Lync Server) to safely synchronize users from multiple forests into a single Office 365 tenant. When an online SIP domain is disabled in Skype for Business Online, provisioning is blocked for users in this SIP domain. This ensures routing for any on-premises users in this SIP domain continues to function properly. + This cmdlet facilitates consolidation of multiple Skype for Business Server deployments into a single Office 365 tenant. Consolidation can be achieved by moving one deployment at a time into Office 365, provided the following key requirements are met : + - There must be at most 1 O365 tenant involved. Consolidation in scenarios with >1 O365 tenant is not supported. + - At any given time, only 1 on-premises SfB forest can be in hybrid mode (Shared Sip Address Space) with Office 365. All other on-premises SfB forests must remain on-premises. (They presumably are federated with each other.) + - If 1 deployment is in hybrid mode, all sip domains from any other SfB forests must be disabled using this cmdlet before they can be synchronized into the tenant with Microsoft Entra Connect. Users in all SfB forests other than the hybrid forest must remain on-premises. + - Organizations must fully migrate each SfB forest individually into the O365 tenant using hybrid mode (Shared Sip Address Space), and then detach the "hybrid" deployment, before moving on to migrate the next on-premises SfB deployment. + This cmdlet may also be useful for organizations with on-premises deployments of Skype for Business Server that have not properly configured Microsoft Entra Connect. If the organization does not sync msRTCSIP-DeploymentLocator for its users, then Skype for Business Online will attempt to provision online any users with an assigned Skype for Business license, despite there being users on-premises. While the correct fix is to update the configuration for Microsoft Entra Connect to sync those attributes, using Disable-CsOnlineSipDomain can also mitigate the problem until that configuration change can be made. If this cmdlet is run, any users that were previously provisioned online in that domain will be de-provisioned in Skype for Business Online. + Important: This cmdlet should not be run for domains that contain users hosted in Skype for Business Online. Any users in a sip domain that are already provisioned online will cease to function if you disable the online sip domain: - Their SIP addresses will be removed. + - All contacts and meetings for these users hosted in Skype for Business Online will be deleted. + - These users will no longer be able to login to the Skype for Business Online environment. + - If these users use Teams, they will no longer be able to inter-operate with Skype for Business users, nor will they be able to federate with any users in other organizations. + + Note: If the Tenant is enabled for Regionally Hosted Meetings in Skype for Business Online, Online SIP Domains must be disabled in all regions. You must execute this cmdlet in each region that is added in Allowed Data Location. + + + + + Disable-CsOnlineSipDomain + + Domain + + The SIP domain to be disabled for online provisioning in Skype for Business Online. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Suppresses all confirmation prompts that might occur when running the command. + + + SwitchParameter + + + False + + + + + + Domain + + The SIP domain to be disabled for online provisioning in Skype for Business Online. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + Suppresses all confirmation prompts that might occur when running the command. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + None + + + + + + + + + This cmdlet is for advanced scenarios only. Organizations that are pure online or have only 1 on-premises deployment need not run this cmdlet. + + + + + -------------------------- Example 1 -------------------------- + Disable-CsOnlineSipDomain -Domain Fabrikam.com + + The cmdlet above disables the online sip domain Fabrikam.com. This would be useful in the case where a company, Contoso.com, that has Skype for Business acquires Fabrikam, which also has an on-premises deployment of Skype for Business Server. If Contoso is in hybrid mode with Skype for Business Online or if the intent is to configure it for hybrid, then if the organization wants to synchronize identities from Fabrikam.com into the same O365 tenant, the organization must first run this cmdlet. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/disable-csonlinesipdomain + + + Enable-CsOnlineSipDomain + + + + Get-CsOnlineSipDomain + + + + Cloud consolidation for Teams and Skype for Business + https://learn.microsoft.com/skypeforbusiness/hybrid/cloud-consolidation + + + + + + Disable-CsTeamsShiftsConnectionErrorReport + Disable + CsTeamsShiftsConnectionErrorReport + + Note: This cmdlet is currently in public preview. + This cmdlet disables an error report. + + + + This cmdlet disables an error report. All available instances can be found by running Get-CsTeamsShiftsConnectionErrorReport (Get-CsTeamsShiftsConnectionErrorReport.md). + + + + Disable-CsTeamsShiftsConnectionErrorReport + + ErrorReportId + + The ID of the error report that you want to disable. + + String + + String + + + None + + + + + + ErrorReportId + + The ID of the error report that you want to disable. + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Disable-CsTeamsShiftsConnectionErrorReport -ErrorReportId 18b3e490-e6ed-4c2e-9925-47e36609dff3 + + Disables the error report with ID `18b3e490-e6ed-4c2e-9925-47e36609dff3`. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/disable-csteamsshiftsconnectionerrorreport + + + Get-CsTeamsShiftsConnectionErrorReport + + + + + + + Enable-CsOnlineSipDomain + Enable + CsOnlineSipDomain + + This cmdlet enables provisioning of users in Skype for Business Online for the specified domain. This cmdlet is only necessary to run if you previously disabled a domain using Disable-CsOnlineSipDomain. Enable-CsOnlineSipDomain is used to facilitate consolidation of separate Skype for Business deployments into a single Office 365 tenant. + + + + This cmdlet enables online provisioning of users in the specified SIP domain. In conjunction with Disable-CsOnlineSipDomain, this cmdlet allows organizations to consolidate multiple on-premises deployments of Skype for Business Server (or Lync Server) into a single Office 365 tenant. Consolidation can be achieved by moving one deployment at a time into Office 365, provided the following key requirements are met: + - There must be at most 1 O365 tenant involved. Consolidation for scenarios with > 1 O365 tenant is not supported. + - At any given time, only 1 on-premises SfB forest can be in hybrid mode (Shared Sip Address Space) with Office 365. All other on-premises SfB forests must remain on-premises. (They presumably are federated with each other.) + - If 1 deployment is in hybrid mode, all online SIP domains from any other SfB forests must be disabled before they can be synchronized into the tenant with Microsoft Entra Connect. Users in all SfB forests other than the hybrid forest must remain on-premises. + - Organizations must fully migrate (e.g move all users to the cloud) each SfB forest individually into the O365 tenant using hybrid mode (Shared Sip Address Space), and then detach the "hybrid" deployment, before moving on to migrate the next on-premises SfB deployment. + Before running this cmdlet for any SIP domain in a Skype for Business Server deployment, you must complete migration of any other existing hybrid SfB deployment that is in progress. All users in an existing hybrid deployment must be moved to the cloud, and that existing hybrid deployment must be detached from Office 365, as described in this article: Disable hybrid to complete migration to the cloud (https://learn.microsoft.com/skypeforbusiness/hybrid/cloud-consolidation-disabling-hybrid). + Important: If you have more than one on-premises deployment of Skype for Business Server, you must ensure SharedSipAddressSpace is disabled in all other Skype for Business Server deployments except the deployment containing the SIP domain that is being enabled. + Note: If the Tenant is enabled for Regionally Hosted Meetings in Skype for Business Online, Online SIP Domains must be Enabled in all regions. You must execute this cmdlet in each region that is added in Allowed Data Location for Skype for Business. + + + + + Enable-CsOnlineSipDomain + + Domain + + The SIP domain to be enabled for online provisioning in Skype for Business Online. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Suppresses all confirmation prompts that might occur when running the command. + + + SwitchParameter + + + False + + + + + + Domain + + The SIP domain to be enabled for online provisioning in Skype for Business Online. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + Suppresses all confirmation prompts that might occur when running the command. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + None + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Enable-CsOnlineSipDomain -Domain contoso.com + + Enables the domain contoso.com for online provisioning in Skype for Business Online. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/enable-csonlinesipdomain + + + Disable-CsOnlineSipDomain + + + + Get-CsOnlineSipDomain + + + + + + + Export-CsAutoAttendantHolidays + Export + CsAutoAttendantHolidays + + Use Export-CsAutoAttendantHolidays cmdlet to export holiday schedules of an existing Auto Attendant (AA). The data is exported as a byte array from the cmdlet, which can be dumped to disk as a CSV file and can later be imported using the Import-CsAutoAttendantHolidays cmdlet. + + + + The Export-CsAutoAttendantHolidays cmdlet and the Import-CsAutoAttendantHolidays cmdlet enable you to export holiday schedules in your auto attendant and then later import that information. This can be extremely useful in a situation where you need to configure same holiday sets in multiple tenants. + The Export-CsAutoAttendantHolidays cmdlet returns the holiday schedule information in serialized form (as a byte array). The caller can then write the bytes to the disk to obtain a CSV file. Similarly, the Import-CsAutoAttendantHolidays cmdlet accepts the holiday schedule information as a byte array, which can be read from the aforementioned CSV file. The first line of the CSV file is considered a header record and is always ignored. NOTE : Each line in the CSV file used by Export-CsAutoAttendantHolidays and Import-CsAutoAttendantHolidays cmdlet should be of the following format: + `HolidayName,StartDateTime1,EndDateTime1,StartDateTime2,EndDateTime2,...,StartDateTime10,EndDateTime10` + where + - HolidayName is the name of the holiday to be imported. + - StartDateTimeX and EndDateTimeX specify a date/time range for the holiday and are optional. If no date-time ranges are defined, then the holiday is imported without any date/time ranges. They follow the same format as New-CsOnlineDateTimeRange cmdlet. + - EndDateTimeX is optional. If it is not specified, the end bound of the date time range is set to 00:00 of the day after the start date. + + - The first line of the CSV file is considered a header record and is always ignored by Import-CsAutoAttendantHolidays cmdlet. + - If the destination auto attendant for the import already contains a call flow or schedule by the same name as one of the holidays being imported, the corresponding CSV record is skipped. + - For holidays that are successfully imported, a default call flow is created which is configured without any greeting and simply disconnects the call on being executed. + + + + Export-CsAutoAttendantHolidays + + Identity + + The identity for the AA whose holiday schedules are to be exported. + + System.String + + System.String + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + Identity + + The identity for the AA whose holiday schedules are to be exported. + + System.String + + System.String + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + System.String + + + The Export-CsAutoAttendantHolidays cmdlet accepts a string as the Identity parameter. + + + + + + + System.Byte[] + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + $bytes = Export-CsAutoAttendantHolidays -Identity 6abea1cd-904b-520b-be96-1092cc096432 +[System.IO.File]::WriteAllBytes("C:\Exports\Holidays.csv", $bytes) + + In this example, the Export-CsAutoAttendantHolidays cmdlet is used to export holiday schedules of an auto attendant with Identity of 6abea1cd-904b-520b-be96-1092cc096432. The exported bytes are then written to a file with the path "C:\Exports\Holidays.csv". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/export-csautoattendantholidays + + + Import-CsAutoAttendantHolidays + + + + Get-CsAutoAttendantHolidays + + + + + + + Export-CsOnlineAudioFile + Export + CsOnlineAudioFile + + Use the Export-CsOnlineAudioFile cmdlet to download an existing audio file. + + + + The Export-CsOnlineAudioFile cmdlet downloads an existing Auto Attendant (AA), Call Queue (CQ) service or Music on Hold audio file. + + + + Export-CsOnlineAudioFile + + Identity + + The Id of the specific audio file that you would like to export. + + System.String + + System.String + + + None + + + ApplicationId + + The ApplicationId parameter is the identifier for the application which will use this audio file. For example, if the audio file is used with an organizational auto attendant, then it needs to be set to "OrgAutoAttendant". If the audio file is used with a hunt group (call queue), then it needs to be set to "HuntGroup". If the audio file is used with Microsoft Teams, then it needs to be set to "TenantGlobal" + Supported values: + - OrgAutoAttendant + - HuntGroup + - TenantGlobal + + System.string + + System.string + + + TenantGlobal + + + + + + ApplicationId + + The ApplicationId parameter is the identifier for the application which will use this audio file. For example, if the audio file is used with an organizational auto attendant, then it needs to be set to "OrgAutoAttendant". If the audio file is used with a hunt group (call queue), then it needs to be set to "HuntGroup". If the audio file is used with Microsoft Teams, then it needs to be set to "TenantGlobal" + Supported values: + - OrgAutoAttendant + - HuntGroup + - TenantGlobal + + System.string + + System.string + + + TenantGlobal + + + Identity + + The Id of the specific audio file that you would like to export. + + System.String + + System.String + + + None + + + + + + None + + + + + + + + + + Byte[] + + + + + + + + + The audio content generated by Export-CsOnlineAudioFile is always in WAV format (PCM 16 bit and mono) irrespective on which format the audio was imported as. Therefore, ensure that the file extension used to store the content is WAV. + You are responsible for independently clearing and securing all necessary rights and permissions to use any music or audio file with your Microsoft Teams service, which may include intellectual property and other rights in any music, sound effects, audio, brands, names, and other content in the audio file from all relevant rights holders, which may include artists, actors, performers, musicians, songwriters, composers, record labels, music publishers, unions, guilds, rights societies, collective management organizations and any other parties who own, control or license the music copyrights, sound effects, audio and other intellectual property rights. + + + + + -------------------------- Example 1 -------------------------- + $content=Export-CsOnlineAudioFile -ApplicationId "HuntGroup" -Identity 57f800408f8848548dd1fbc18073fe46 +[System.IO.File]::WriteAllBytes('C:\MyWaveFile.wav', $content) + + This example exports a Call Queue audio file and saves it as MyWaveFile.wav. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/export-csonlineaudiofile + + + Get-CsOnlineAudioFile + + + + Import-CsOnlineAudioFile + + + + Remove-CsOnlineAudioFile + + + + + + + Find-CsGroup + Find + CsGroup + + Use the Find-CsGroup cmdlet to search groups. + + + + The Find-CsGroup cmdlet lets you search groups in the Azure Address Book Service (AABS). + + + + Find-CsGroup + + SearchQuery + + The SearchQuery parameter defines a search query to search the display name or the sip address or the GUID of groups. This parameter accepts partial search query. The search is not case sensitive. + + String + + String + + + None + + + ExactMatchOnly + + The ExactMatchOnly parameter instructs the cmdlet to return exact matches only. The default value is false. + + Boolean + + Boolean + + + None + + + Force + + PARAMVALUE: SwitchParameter + + + SwitchParameter + + + False + + + MaxResults + + The MaxResults parameter identifies the maximum number of results to return. If this parameter is not provided, the default is value is 10. + + UInt32 + + UInt32 + + + None + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + + + + SearchQuery + + The SearchQuery parameter defines a search query to search the display name or the sip address or the GUID of groups. This parameter accepts partial search query. The search is not case sensitive. + + String + + String + + + None + + + ExactMatchOnly + + The ExactMatchOnly parameter instructs the cmdlet to return exact matches only. The default value is false. + + Boolean + + Boolean + + + None + + + Force + + PARAMVALUE: SwitchParameter + + SwitchParameter + + SwitchParameter + + + False + + + MaxResults + + The MaxResults parameter identifies the maximum number of results to return. If this parameter is not provided, the default is value is 10. + + UInt32 + + UInt32 + + + None + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + + + + None + + + + + + + + + + Microsoft.Rtc.Management.Hosted.Group.Models.GroupModel + + + The Find-CsGroup cmdlet returns a list of Microsoft.Rtc.Management.Hosted.Group.Models.GroupModel. Microsoft.Rtc.Management.Hosted.Group.Models.GroupModel contains Id and DisplayName. + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Find-CsGroup -SearchQuery "Contoso Group" -MaxResults 5 + + This example finds and displays up to five groups that match the "Contoso Group" search query. + + + + -------------------------- Example 2 -------------------------- + Find-CsGroup -SearchQuery "ed0d1180-169e-47c7-b718-bf9e60543914" -ExactMatchOnly $true + + This example finds and displays only those groups that are an exact match to the search query. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/find-csgroup + + + + + + Find-CsOnlineApplicationInstance + Find + CsOnlineApplicationInstance + + Use the Find-CsOnlineApplicationInstance cmdlet to find application instances that match your search criteria. + + + + Use the Find-CsOnlineApplicationInstance cmdlet to find application instances that match your search criteria. + If MaxResults is not specified, the number of returned applications instances is limited to 10 application instances. + + + + Find-CsOnlineApplicationInstance + + SearchQuery + + The SearchQuery parameter defines a query for application instances by display name, telephone number, or GUID of the application instance. This parameter accepts partial queries for display names and telephone numbers. The search is not case sensitive. + + System.String + + System.String + + + None + + + ExactMatchOnly + + The ExactMatchOnly parameter instructs the cmdlet to return exact matches only. The default value is false. + + + SwitchParameter + + + False + + + AssociatedOnly + + The AssociatedOnly parameter instructs the cmdlet to return only application instances that are associated to a configuration. + + + SwitchParameter + + + False + + + UnAssociatedOnly + + The UnAssociatedOnly parameter instructs the cmdlet to return only application instances that are not associated to any configuration. + + + SwitchParameter + + + False + + + MaxResults + + The MaxResults parameter identifies the maximum number of results to return. If this parameter is not provided, the default is value is 10. Max allowed value is 20. + + UInt32 + + UInt32 + + + None + + + Force + + This switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If it isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + + + + SearchQuery + + The SearchQuery parameter defines a query for application instances by display name, telephone number, or GUID of the application instance. This parameter accepts partial queries for display names and telephone numbers. The search is not case sensitive. + + System.String + + System.String + + + None + + + ExactMatchOnly + + The ExactMatchOnly parameter instructs the cmdlet to return exact matches only. The default value is false. + + SwitchParameter + + SwitchParameter + + + False + + + AssociatedOnly + + The AssociatedOnly parameter instructs the cmdlet to return only application instances that are associated to a configuration. + + SwitchParameter + + SwitchParameter + + + False + + + UnAssociatedOnly + + The UnAssociatedOnly parameter instructs the cmdlet to return only application instances that are not associated to any configuration. + + SwitchParameter + + SwitchParameter + + + False + + + MaxResults + + The MaxResults parameter identifies the maximum number of results to return. If this parameter is not provided, the default is value is 10. Max allowed value is 20. + + UInt32 + + UInt32 + + + None + + + Force + + This switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If it isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + Microsoft.Rtc.Management.Hosted.Online.Models.FindApplicationInstanceResult + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Find-CsOnlineApplicationInstance -SearchQuery "Test" + + This example returns up to 10 application instances whose name starts with "Test". + + + + -------------------------- Example 2 -------------------------- + Find-CsOnlineApplicationInstance -SearchQuery "Test" -MaxResults 5 + + This example returns up to 5 application instances whose name starts with "Test". + + + + -------------------------- Example 3 -------------------------- + Find-CsOnlineApplicationInstance -SearchQuery "Test Auto Attendant" -ExactMatchOnly + + This example returns up to 10 application instances whose name is "Test Auto Attendant". + + + + -------------------------- Example 4 -------------------------- + Find-CsOnlineApplicationInstance -SearchQuery "Test Auto Attendant" -AssociatedOnly + + This example returns up to 10 application instances whose name is "Test Auto Attendant", and who are associated with an application configuration, like auto attendant or call queue. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/find-csonlineapplicationinstance + + + Get-CsOnlineApplicationInstance + + + + New-CsOnlineApplicationInstance + + + + Find-CsOnlineApplicationInstance + + + + Set-CsOnlineApplicationInstance + + + + + + + Get-CsApplicationAccessPolicy + Get + CsApplicationAccessPolicy + + Retrieves information about the application access policy configured for use in the tenant. + + + + This cmdlet retrieves information about the application access policy configured for use in the tenant. + + + + Get-CsApplicationAccessPolicy + + Identity + + Unique identifier assigned to the policy when it was created. + + XdsIdentity + + XdsIdentity + + + None + + + + + + Identity + + Unique identifier assigned to the policy when it was created. + + XdsIdentity + + XdsIdentity + + + None + + + + + + + + + + + + ----------- Retrieve all application access policies ----------- + PS C:\> Get-CsApplicationAccessPolicy + + The command shown above returns information of all application access policies that have been configured for use in the tenant. + + + + --------- Retrieve specific application access policy --------- + PS C:\> Get-CsApplicationAccessPolicy -Identity "ASimplePolicy" + + In the command shown above, information is returned for a single application access policy: the policy with the Identity ASimplePolicy. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csapplicationaccesspolicy + + + New-CsApplicationAccessPolicy + + + + Grant-CsApplicationAccessPolicy + + + + Set-CsApplicationAccessPolicy + + + + Remove-CsApplicationAccessPolicy + + + + + + + Get-CsApplicationMeetingConfiguration + Get + CsApplicationMeetingConfiguration + + Retrieves information about the application meeting configuration settings configured for the tenant. + + + + This cmdlet retrieves information about the application meeting configuration settings configured for the tenant. + + + + Get-CsApplicationMeetingConfiguration + + Identity + + Unique identifier of the application meeting configuration settings to be returned. Because you can only have a single, global instance of these settings, you do not have to include the Identity when calling the Get-CsApplicationMeetingConfiguration cmdlet. However, you can use the following syntax to retrieve the global settings: -Identity global. + + XdsIdentity + + XdsIdentity + + + None + + + Filter + + Enables you to use wildcards when specifying the application meeting configuration settings to be returned. Because you can only have a single, global instance of these settings there is little reason to use the Filter parameter. However, if you prefer, you can use syntax similar to this to retrieve the global settings: -Identity "g*". + + String + + String + + + None + + + LocalStore + + Retrieves the application meeting configuration data from the local replica of the Central Management store rather than from the Central Management store itself. + + + SwitchParameter + + + False + + + + + + Identity + + Unique identifier of the application meeting configuration settings to be returned. Because you can only have a single, global instance of these settings, you do not have to include the Identity when calling the Get-CsApplicationMeetingConfiguration cmdlet. However, you can use the following syntax to retrieve the global settings: -Identity global. + + XdsIdentity + + XdsIdentity + + + None + + + Filter + + Enables you to use wildcards when specifying the application meeting configuration settings to be returned. Because you can only have a single, global instance of these settings there is little reason to use the Filter parameter. However, if you prefer, you can use syntax similar to this to retrieve the global settings: -Identity "g*". + + String + + String + + + None + + + LocalStore + + Retrieves the application meeting configuration data from the local replica of the Central Management store rather than from the Central Management store itself. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + Microsoft.Rtc.Management.WritableConfig.Settings.PlatformApplications.ApplicationMeetingConfiguration + + + + + + + + + + + + + + Retrieve application meeting configuration settings for the tenant. + PS C:\> Get-CsApplicationMeetingConfiguration + + The command shown above returns application meeting configuration settings that have been configured for the tenant. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-CsApplicationMeetingConfiguration + + + Set-CsApplicationMeetingConfiguration + + + + + + + Get-CsAutoAttendant + Get + CsAutoAttendant + + Use the Get-CsAutoAttendant cmdlet to get information about your Auto Attendants (AA). + + + + The Get-CsAutoAttendant cmdlet returns information about the AAs in your organization. + + + + Get-CsAutoAttendant + + Identity + + The identity for the AA to be retrieved. If this parameter is not specified, then all created AAs in the organization are returned. If you specify this parameter, you can't specify the other parameters. + + System.String + + System.String + + + None + + + First + + The First parameter indicates the maximum number of auto attendants to retrieve as the result. It is intended to be used for pagination purposes. + + System.UInt32 + + System.UInt32 + + + None + + + Skip + + The Skip parameter indicates the number of initial auto attendants to skip in the result. It is intended to be used for pagination purposes. + + System.UInt32 + + System.UInt32 + + + None + + + NameFilter + + If specified, only auto attendants whose names match that value would be returned. + + System.String + + System.String + + + None + + + SortBy + + If specified, the retrieved auto attendants would be sorted by the specified property. + + System.String + + System.String + + + None + + + Descending + + If specified, the retrieved auto attendants would be sorted in descending order. + + + SwitchParameter + + + False + + + IncludeStatus + + If specified, the status records for each auto attendant in the result set are also retrieved. + + + SwitchParameter + + + False + + + ExcludeContent + + If specified, only auto attendants' names, identities and associated application instances will be retrieved. + + + SwitchParameter + + + False + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + Identity + + The identity for the AA to be retrieved. If this parameter is not specified, then all created AAs in the organization are returned. If you specify this parameter, you can't specify the other parameters. + + System.String + + System.String + + + None + + + First + + The First parameter indicates the maximum number of auto attendants to retrieve as the result. It is intended to be used for pagination purposes. + + System.UInt32 + + System.UInt32 + + + None + + + Skip + + The Skip parameter indicates the number of initial auto attendants to skip in the result. It is intended to be used for pagination purposes. + + System.UInt32 + + System.UInt32 + + + None + + + NameFilter + + If specified, only auto attendants whose names match that value would be returned. + + System.String + + System.String + + + None + + + SortBy + + If specified, the retrieved auto attendants would be sorted by the specified property. + + System.String + + System.String + + + None + + + Descending + + If specified, the retrieved auto attendants would be sorted in descending order. + + SwitchParameter + + SwitchParameter + + + False + + + IncludeStatus + + If specified, the status records for each auto attendant in the result set are also retrieved. + + SwitchParameter + + SwitchParameter + + + False + + + ExcludeContent + + If specified, only auto attendants' names, identities and associated application instances will be retrieved. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + System.String + + + The Get-CsAutoAttendant cmdlet accepts a string as the Identity parameter. + + + + + + + Microsoft.Rtc.Management.Hosted.OAA.Models.AutoAttendant + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsAutoAttendant + + This example gets all AAs in the organization. + + + + -------------------------- Example 2 -------------------------- + Get-CsAutoAttendant -Identity "f7a821dc-2d69-5ae8-8525-bcb4a4556093" + +# Id : f7a821dc-2d69-5ae8-8525-bcb4a4556093 +# TenantId : 977c9d5b-2dae-5d82-aada-628bc1c14213 +# Name : Main Auto Attendant +# LanguageId : en-US +# VoiceId : Female +# DefaultCallFlow : Default Call Flow +# Operator : +# TimeZoneId : Pacific Standard Time +# VoiceResponseEnabled : False +# CallFlows : +# Schedules : +# CallHandlingAssociations : +# Status : +# DialByNameResourceId : +# DirectoryLookupScope : +# ApplicationInstances : {fa2f17ec-ebd5-43f8-81ac-959c245620fa, 56421bbe-5649-4208-a60c-24dbeded6f18, c7af9c3c-ae40-455d-a37c-aeec771e623d} + + This example gets the AA that has the identity of f7a821dc-2d69-5ae8-8525-bcb4a4556093. + + + + -------------------------- Example 3 -------------------------- + Get-CsAutoAttendant -First 10 + + This example gets the first ten auto attendants configured for use in the organization. + + + + -------------------------- Example 4 -------------------------- + Get-CsAutoAttendant -Skip 5 -First 10 + + This example skips initial 5 auto attendants and gets the next 10 AAs configured in the organization. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csautoattendant + + + Get-CsAutoAttendantStatus + + + + New-CsAutoAttendant + + + + Remove-CsAutoAttendant + + + + Set-CsAutoAttendant + + + + Update-CsAutoAttendant + + + + + + + Get-CsAutoAttendantHolidays + Get + CsAutoAttendantHolidays + + Use Get-CsAutoAttendantHolidays cmdlet to get the holiday information for an existing Auto Attendant (AA). + + + + The Get-CsAutoAttendantHolidays provides a convenient way to visualize the information of all the holidays contained within an auto attendant. + + + + Get-CsAutoAttendantHolidays + + Identity + + Represents the identifier for the auto attendant whose holidays are to be retrieved. + + System.String + + System.String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + Years + + The Years parameter represents the years for the holidays to be retrieved. If this parameter is not specified, then holidays for all years in the AA are returned. + + System.Collections.Generic.List[System.String] + + System.Collections.Generic.List[System.String] + + + None + + + Names + + The Names parameter represents the names for the holidays to be retrieved. If this parameter is not specified, then all holidays in the AA are returned. + + System.Collections.Generic.List[System.Int32] + + System.Collections.Generic.List[System.Int32] + + + None + + + + + + Identity + + Represents the identifier for the auto attendant whose holidays are to be retrieved. + + System.String + + System.String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + Years + + The Years parameter represents the years for the holidays to be retrieved. If this parameter is not specified, then holidays for all years in the AA are returned. + + System.Collections.Generic.List[System.String] + + System.Collections.Generic.List[System.String] + + + None + + + Names + + The Names parameter represents the names for the holidays to be retrieved. If this parameter is not specified, then all holidays in the AA are returned. + + System.Collections.Generic.List[System.Int32] + + System.Collections.Generic.List[System.Int32] + + + None + + + + + + System.String + + + The Get-CsAutoAttendantHolidays cmdlet accepts a string as the Identity parameter. + + + + + + + Microsoft.Rtc.Management.OAA.Models.HolidayVisRecord + + + + + + + + + The DateTimeRanges parameter in the output needs to be explicitly referenced to show the value. See Example 4 for one way of doing it. + + + + + -------------------------- Example 1 -------------------------- + Get-CsAutoAttendantHolidays -Identity "f7a821dc-2d69-5ae8-8525-bcb4a4556093" + + In this example, the Get-CsAutoAttendantHolidays cmdlet is used to get all holidays in an auto attendant with Identity of f7a821dc-2d69-5ae8-8525-bcb4a4556093. + + + + -------------------------- Example 2 -------------------------- + Get-CsAutoAttendantHolidays -Identity "f7a821dc-2d69-5ae8-8525-bcb4a4556093" -Years @(2017) + + In this example, the Get-CsAutoAttendantHolidays cmdlet is used to get all holidays in year 2017 in an auto attendant with Identity of f7a821dc-2d69-5ae8-8525-bcb4a4556093. + + + + -------------------------- Example 3 -------------------------- + Get-CsAutoAttendantHolidays -Identity "f7a821dc-2d69-5ae8-8525-bcb4a4556093" -Years @(2017) -Names @("Christmas") + + In this example, the Get-CsAutoAttendantHolidays cmdlet is used to get holiday named Christmas in the year 2017 in an auto attendant with Identity of f7a821dc-2d69-5ae8-8525-bcb4a4556093. + + + + -------------------------- Example 4 -------------------------- + (Get-CsAutoAttendantHolidays -Identity "f7a821dc-2d69-5ae8-8525-bcb4a4556093" -Years @(2017) -Names @("Christmas")).DateTimeRanges + + In this example, the Get-CsAutoAttendantHolidays cmdlet is used to retrieve the DateTimeRanges for the holiday named Christmas in the year 2017 in an auto attendant with Identity of f7a821dc-2d69-5ae8-8525-bcb4a4556093. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csautoattendantholidays + + + Import-CsAutoAttendantHolidays + + + + Export-CsAutoAttendantHolidays + + + + + + + Get-CsAutoAttendantStatus + Get + CsAutoAttendantStatus + + Use Get-CsAutoAttendantStatus cmdlet to get the status of an Auto Attendant (AA) provisioning. + + + + This cmdlet provides a way to return the provisioning status of an auto attendant configured for use in your organization. + + + + Get-CsAutoAttendantStatus + + Identity + + Represents the identifier for the auto attendant whose provisioning status is to be retrieved. + + System.String + + System.String + + + None + + + IncludeResources + + The IncludeResources parameter identities the auto attendant resources whose status is to be retrieved. Available resources are: - AudioFile: Indicates status for audio files used by AA. + - DialByNameVoiceResponses: Indicates status for speech recognition when using dial-by-name (directory lookup) feature with AA. + - SipProvisioning: Indicates status for calling AA through its SIP (Primary) URI. + + + AudioFile + DialByNameVoiceResponses + SipProvisioning + + System.Collections.Generic.List + + System.Collections.Generic.List + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + Identity + + Represents the identifier for the auto attendant whose provisioning status is to be retrieved. + + System.String + + System.String + + + None + + + IncludeResources + + The IncludeResources parameter identities the auto attendant resources whose status is to be retrieved. Available resources are: - AudioFile: Indicates status for audio files used by AA. + - DialByNameVoiceResponses: Indicates status for speech recognition when using dial-by-name (directory lookup) feature with AA. + - SipProvisioning: Indicates status for calling AA through its SIP (Primary) URI. + + System.Collections.Generic.List + + System.Collections.Generic.List + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + System.String + + + The Get-CsAutoAttendantStatus cmdlet accepts a string as the Identity parameter. + + + + + + + Microsoft.Rtc.Management.OAA.Models.StatusRecord + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsAutoAttendantStatus -Identity "f7a821dc-2d69-5ae8-8525-bcb4a4556093" + + In Example 1, the Get-CsAutoAttendantStatus cmdlet is used to get status records for all resources of an auto attendant with identity of f7a821dc-2d69-5ae8-8525-bcb4a4556093. + + + + -------------------------- Example 2 -------------------------- + Get-CsAutoAttendantStatus -Identity "f7a821dc-2d69-5ae8-8525-bcb4a4556093" -IncludeResources @("AudioFile") + + In Example 2, the Get-CsAutoAttendantStatus cmdlet is used to get status records pertaining to audio files only of an auto attendant with identity of f7a821dc-2d69-5ae8-8525-bcb4a4556093. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csautoattendantstatus + + + Get-CsAutoAttendant + + + + + + + Get-CsAutoAttendantSupportedLanguage + Get + CsAutoAttendantSupportedLanguage + + The Get-CsAutoAttendantSupportedLanguage cmdlet gets languages that are supported by the Auto Attendant (AA) service. + + + + The Get-CsAutoAttendantSupportedLanguage cmdlet gets all languages (and their corresponding voices/speakers) that are supported by the AA service, or a specific language if its Identity is provided. + + + + Get-CsAutoAttendantSupportedLanguage + + Identity + + The Identity parameter designates a specific language to be retrieved. If this parameter is not specified, then all supported languages are returned. + + System.String + + System.String + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + Identity + + The Identity parameter designates a specific language to be retrieved. If this parameter is not specified, then all supported languages are returned. + + System.String + + System.String + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + System.String + + + The Get-CsAutoAttendantSupportedLanguage cmdlet accepts a string as the Identity parameter. + + + + + + + Microsoft.Rtc.Management.Hosted.OAA.Models.Language + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsAutoAttendantSupportedLanguage + + This example gets all supported languages. + + + + -------------------------- Example 2 -------------------------- + Get-CsAutoAttendantSupportedLanguage -Identity "en-US" + + This example gets the language that the Identity parameter specifies (en-US). + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csautoattendantsupportedlanguage + + + + + + Get-CsAutoAttendantSupportedTimeZone + Get + CsAutoAttendantSupportedTimeZone + + The Get-CsAutoAttendantSupportedTimeZone cmdlet gets supported time zones for the Auto Attendant (AA) service. + + + + The Get-CsAutoAttendantSupportedTimeZone cmdlet gets all the time zones that the AA service supports, or a specific time zone if its Identity is provided. + + + + Get-CsAutoAttendantSupportedTimeZone + + Identity + + The Identity parameter specifies a time zone to be retrieved. If this parameter is not used, then all supported time zones are returned. + + System.String + + System.String + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + Identity + + The Identity parameter specifies a time zone to be retrieved. If this parameter is not used, then all supported time zones are returned. + + System.String + + System.String + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + None + + + + + + + + System.String + + + The Get-CsAutoAttendantSupportedTimeZone cmdlet accepts a string as the Identity parameter. + + + + + + + Microsoft.Rtc.Management.Hosted.OAA.Models.TimeZone + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsAutoAttendantSupportedTimeZone + + This example gets all supported time zones. + + + + -------------------------- Example 2 -------------------------- + Get-CsAutoAttendantSupportedTimeZone -Identity "Pacific Standard Time" + + This example gets the timezone that the Identity parameter specifies (Pacific Standard Time). + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csautoattendantsupportedtimezone + + + + + + Get-CsAutoAttendantTenantInformation + Get + CsAutoAttendantTenantInformation + + Gets the default tenant information for Auto Attendant (AA) feature. + + + + The Get-CsAutoAttendantTenantInformation cmdlet gets the default tenant information for Auto Attendant (AA) feature. + + + + Get-CsAutoAttendantTenantInformation + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + None + + + + + + + + + + Microsoft.Rtc.Management.Hosted.OAA.Models.TenantInformation + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsAutoAttendantTenantInformation + + Gets the default auto attendant information for the logged in tenant. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csautoattendanttenantinformation + + + + + + Get-CsBatchPolicyAssignmentOperation + Get + CsBatchPolicyAssignmentOperation + + This cmdlet is used to retrieve the status of batch policy assignment operations. + + + + This cmdlets returns the status of all batch policy assignment operations for the last 30 days. If an operation ID is specified, the detailed status for that operation is returned including the status for each user in the batch. + + + + Get-CsBatchPolicyAssignmentOperation + + Identity + + The ID of a batch policy assignment operation. + + String + + String + + + None + + + Break + + Wait for .NET debugger to attach + + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + Proxy + + The URI for the proxy server to use + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy + + + SwitchParameter + + + False + + + + Get-CsBatchPolicyAssignmentOperation + + Status + + Option filter + + String + + String + + + None + + + Break + + Wait for .NET debugger to attach + + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + Proxy + + The URI for the proxy server to use + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy + + + SwitchParameter + + + False + + + + + + Identity + + The ID of a batch policy assignment operation. + + String + + String + + + None + + + Status + + Option filter + + String + + String + + + None + + + Break + + Wait for .NET debugger to attach + + SwitchParameter + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + Proxy + + The URI for the proxy server to use + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy + + SwitchParameter + + SwitchParameter + + + False + + + + + + + OperationId + + + The ID of the operation that can be used with the Get-CsBatchPolicyAssignmentOperation cmdlet to get the status of the operation. + + + + + CompletedCount + + + The number of users in the batch for which the assignment has been completed (possibly with an error). + + + + + CompletedTime + + + The date and time when the operation was completed. + + + + + CreatedTime + + + The date and time when the operation was created. + + + + + ErrorCount + + + The number of users in the batch for which the assignment failed. + + + + + InProgressCount + + + The number of users in the batch for which the assignment is in progress. + + + + + NotStartedCount + + + The number of users in the batch for which the assignment has not yet been performed. + + + + + OperationId + + + The ID of the operation. + + + + + OperationName + + + The name of the operation, if one was specific when the operation was created. + + + + + OverallStatus + + + The overall status of the operations: NotStarted, InProgress, Complete + + + + + UserState + + + Contains the status for each user in the batch. Id: The ID of the user as specified when the batch was submitted. Either the user object ID (guid) or UPN/SIP/email. result: The result of the assignment operation for the user: Success or an error. Some common errors include: - User not found. Check the ID or SIP address of the user to confirm it is correct. If the UPN or email address was used, but it does not match the SIP address, then the user will not be found. + - Multiple users found with a given SIP address. This is typically a result of on-prem to cloud sync. Check your directory and update the affected users. + - User invalid. If you are syncing users from on-prem to the cloud, some users might not have been synced properly and are in an invalid state. Check the sync status for the user. + - User ineligible for the policy or missing a necessary license. Check the documentation for the specific policy type being assigned to understand the requirements and update the user accordingly. + - The policy settings are incorrect. Check the documentation for the specific policy type being assigned to understand the requirements and update the policy accordingly. + - Unknown errors. In rare cases, there can be transient system errors that failed on all initial retry attempts during batch process. Resubmit these users in a separate batch. state: The status for the user: NotStarted, InProgress, Completed + + + + + + + + + + + -------------------------- EXAMPLE 1 -------------------------- + Get-CsBatchPolicyAssignmentOperation + +OperationId OperationName OverallStatus CreatedTime CreatedBy +----------- ------------- ------------- ----------- --------- +e640a5c9-c74f-4df7-b62e-4b01ae878bdc Assigning Kiosk mtg Completed 1/30/2020 3:21:07 PM aeb7c0e7-2f6d-43ef-bf33-bfbcb93fdc64 +01b9b2b7-5dbb-487c-b4ea-887c7c66559c Assigning allow calling Completed 1/30/2020 3:55:16 PM aeb7c0e7-2f6d-43ef-bf33-bfbcb93fdc64 +47bbc636-365d-4441-af34-9e0eceb05ef1 Completed 1/30/2020 4:14:22 PM aeb7c0e7-2f6d-43ef-bf33-bfbcb93fdc64 + + In this example, the status of all batch assignment operations is returned. + + + + -------------------------- EXAMPLE 2 -------------------------- + Get-CsBatchPolicyAssignmentOperation -OperationId 01b9b2b7-5dbb-487c-b4ea-887c7c66559c | fl + +OperationId : 01b9b2b7-5dbb-487c-b4ea-887c7c66559c +OperationName : Assigning allow calling +OverallStatus : Completed +CreatedBy : aeb7c0e7-2f6d-43ef-bf33-bfbcb93fdc64 +CreatedTime : 1/30/2020 3:55:16 PM +CompletedTime : 1/30/2020 3:59:06 PM +CompletedCount : 3 +ErrorCount : 1 +InProgressCount : 0 +NotStartedCount : 0 +UserState : {f0d9c148-27c1-46f5-9685-544d20170ea1, cc05e18d-5fc0-4096-8461-ded64d7356e0, + bcff5b7e-8d3c-4721-b34a-63552a6a53f9} + + In this example, the details of a specific operation are returned. + + + + -------------------------- EXAMPLE 3 -------------------------- + Get-CsBatchPolicyAssignmentOperation -OperationId 001141c3-1daa-4da1-88e9-66cc01c511e1 | Select -ExpandProperty UserState + +Id Result State +-- ------ ----- +f0d9c148-27c1-46f5-9685-544d20170ea1 Success Completed +cc05e18d-5fc0-4096-8461-ded64d7356e0 Success Completed +bcff5b7e-8d3c-4721-b34a-63552a6a53f9 User not found Completed + + In this example, the UserState property is expanded to see the status of each user in the batch. In this example, one of the users was not found. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csbatchpolicyassignmentoperation + + + New-CsBatchPolicyAssignmentOperation + + + + + + + Get-CsBatchTeamsDeploymentStatus + Get + CsBatchTeamsDeploymentStatus + + This cmdlet is used to get the status of the batch deployment orchestration. + + + + After deploying teams using New-CsBatchTeamsDeployment, an admin can check the status of the job/orchestration using Get-CsBatchTeamsDeploymentStatus. + To learn more, see Deploy Teams at scale for frontline workers (https://learn.microsoft.com/microsoft-365/frontline/deploy-teams-at-scale). + + + + Get-CsBatchTeamsDeploymentStatus + + OrchestrationId + + This ID is generated when a batch deployment is submitted with the New-CsBatchTeamsDeployment cmdlet. + + String + + String + + + None + + + + + + OrchestrationId + + This ID is generated when a batch deployment is submitted with the New-CsBatchTeamsDeployment cmdlet. + + String + + String + + + None + + + + + + + Status of the orchestrationId + + + Running: The orchestration is running. Completed: The orchestration is completed, either succeeded, partially succeeded, or failed. + + + + + + + + + + + -------------------------- EXAMPLE 1 -------------------------- + Get-CsBatchTeamsDeploymentStatus -OrchestrationId "My-Orchestration-Id" + + This command provides the status of the specified batch deployment orchestrationId. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/Get-CsBatchTeamsDeploymentStatus + + + New-CsBatchTeamsDeployment + + + + + + + Get-CsCallingLineIdentity + Get + CsCallingLineIdentity + + Use the `Get-CsCallingLineIdentity` cmdlet to display the Caller ID policies for your organization. + + + + Use the `Get-CsCallingLineIdentity` cmdlet to display the Caller ID policies for your organization. + + + + Get-CsCallingLineIdentity + + Identity + + The Identity parameter identifies the Caller ID policy. + + String + + String + + + None + + + + Get-CsCallingLineIdentity + + Filter + + The Filter parameter lets you insert a string through which your search results are filtered. + + String + + String + + + None + + + + + + Identity + + The Identity parameter identifies the Caller ID policy. + + String + + String + + + None + + + Filter + + The Filter parameter lets you insert a string through which your search results are filtered. + + String + + String + + + None + + + + + + None + + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsCallingLineIdentity + + The example gets and displays the Caller ID policies for your organization. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Get-CsCallingLineIdentity -Filter "tag:Sales*" + + The example gets and displays the Caller ID policies with Identity starting with Sales. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-cscallinglineidentity + + + Grant-CsCallingLineIdentity + + + + Set-CsCallingLineIdentity + + + + New-CsCallingLineIdentity + + + + Remove-CsCallingLineIdentity + + + + + + + Get-CsCallQueue + Get + CsCallQueue + + The Get-CsCallQueue cmdlet returns the identified Call Queues. + + + + The Get-CsCallQueue cmdlet lets you retrieve information about the Call Queues in your organization. Call Queue output contains statistical data on the number of active calls that are in the queue. + + + + Get-CsCallQueue + + Identity + + PARAMVALUE: Guid + + Guid + + Guid + + + None + + + Tenant + + PARAMVALUE: Guid + + Guid + + Guid + + + None + + + First + + The First parameter gets the first N Call Queues. The default behavior is to return the first 100 number of queues. It is intended to be used for pagination purposes. + + Int32 + + Int32 + + + 100 + + + Skip + + The Skip parameter skips the first N Call Queues. It is intended to be used for pagination purposes. + + Int32 + + Int32 + + + None + + + ExcludeContent + + The ExcludeContent parameter only displays the Name and Id of the Call Queues + + + SwitchParameter + + + False + + + Sort + + The Sort parameter specifies the property used to sort. + + String + + String + + + Name + + + Descending + + The Descending parameter sorts Call Queues in descending order + + + SwitchParameter + + + False + + + NameFilter + + The NameFilter parameter returns Call Queues where name contains specified string + + String + + String + + + None + + + + + + Identity + + PARAMVALUE: Guid + + Guid + + Guid + + + None + + + Tenant + + PARAMVALUE: Guid + + Guid + + Guid + + + None + + + First + + The First parameter gets the first N Call Queues. The default behavior is to return the first 100 number of queues. It is intended to be used for pagination purposes. + + Int32 + + Int32 + + + 100 + + + Skip + + The Skip parameter skips the first N Call Queues. It is intended to be used for pagination purposes. + + Int32 + + Int32 + + + None + + + ExcludeContent + + The ExcludeContent parameter only displays the Name and Id of the Call Queues + + SwitchParameter + + SwitchParameter + + + False + + + Sort + + The Sort parameter specifies the property used to sort. + + String + + String + + + Name + + + Descending + + The Descending parameter sorts Call Queues in descending order + + SwitchParameter + + SwitchParameter + + + False + + + NameFilter + + The NameFilter parameter returns Call Queues where name contains specified string + + String + + String + + + None + + + + + + Identity + + + Represents the unique identifier of a Call Queue. + + + + + + + Microsoft.Rtc.Management.Hosted.CallQueue.Models.CallQueue + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsCallQueue + + This example gets all Call Queues in the organization. + + + + -------------------------- Example 2 -------------------------- + Get-CsCallQueue -Identity 5e3a575e-1faa-49ff-83c2-5cf1c36c0e01 + + This example gets the Call Queue with the identity 5e3a575e-1faa-49ff-83c2-5cf1c36c0e01. If no Call Queue exists with the identity 5e3a575e-1faa-49ff-83c2-5cf1c36c0e01, then this example generates an error. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-cscallqueue + + + + + + Get-CsCloudCallDataConnection + Get + CsCloudCallDataConnection + + This cmdlet retrieves an already existing online call data connection. + + + + This cmdlet retrieves an already existing online call data connection. Output of this cmdlet contains a token value, which is needed when configuring your on-premises environment with Set-CsCloudCallDataConnector. + + + + Get-CsCloudCallDataConnection + + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + The Get-CsCloudCallDataConnection cmdlet is only supported in commercial environments from Teams PowerShell Module versions 4.6.0 or later. + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsCloudCallDataConnection + +Token +----- +00000000-0000-0000-0000-000000000000 + + Returns a token value, which is needed when configuring your on-premises environment with Set-CsCloudCallDataConnector. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-cscloudcalldataconnection + + + Configure Call Data Connector + + + + New-CsCloudCallDataConnection + + + + + + + Get-CsDialPlan + Get + CsDialPlan + + Returns information about the dial plans used in your organization. This cmdlet was introduced in Lync Server 2010. + + + + This cmdlet returns information about one or more dial plans (also known as a location profiles) in an organization. Dial plans provide information required to enable Enterprise Voice users to make telephone calls. Dial plans are also used by the Conferencing Attendant application for dial-in conferencing. A dial plan determines such things as which normalization rules are applied and whether a prefix must be dialed for external calls. + Note: You can use the Get-CsDialPlan cmdlet to retrieve specific information about the normalization rules of a dial plan, but if that's the only dial plan information you need, you can also use the Get-CsVoiceNormalizationRule cmdlet. + + + + Get-CsDialPlan + + Identity + + The unique identifier designating the scope, and for per-user scope a name, to identify the dial plan you want to retrieve. + + XdsIdentity + + XdsIdentity + + + None + + + Filter + + Performs a wildcard search that allows you to narrow down your results to only dial plans with identities that match the given wildcard string. + + String + + String + + + None + + + LocalStore + + Retrieves the dial plan information from the local replica of the Central Management store, rather than the Central Management store itself. + + + SwitchParameter + + + False + + + Tenant + + {{Fill Tenant Description}} + + Guid + + Guid + + + None + + + + + + Identity + + The unique identifier designating the scope, and for per-user scope a name, to identify the dial plan you want to retrieve. + + XdsIdentity + + XdsIdentity + + + None + + + Filter + + Performs a wildcard search that allows you to narrow down your results to only dial plans with identities that match the given wildcard string. + + String + + String + + + None + + + LocalStore + + Retrieves the dial plan information from the local replica of the Central Management store, rather than the Central Management store itself. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + {{Fill Tenant Description}} + + Guid + + Guid + + + None + + + + + + None + + + + + + + + + + Microsoft.Rtc.Management.WritableConfig.Policy.Voice.LocationProfile + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsDialPlan + + Example 1 returns a collection of all the dial plans configured for use in your organization; this is done by calling the Get-CsDialPlan cmdlet without any additional parameters. + + + + -------------------------- Example 2 -------------------------- + Get-CsDialPlan -Identity RedmondDialPlan + + In Example 2, the Identity parameter is used to limit the retrieved data to dial plans that have a per-user dial plan with the Identity RedmondDialPlan. Because identities must be unique, this command will return only the specified dial plan. + + + + -------------------------- Example 3 -------------------------- + Get-CsDialPlan -Identity site:Redmond + + Example 3 is identical to Example 2 except that instead of retrieving a per-user dial plan, we're retrieving a dial plan assigned to a site. We do that by specifying the value site: followed by the site name (in this case Redmond) of the site we want to retrieve. + + + + -------------------------- Example 4 -------------------------- + Get-CsDialPlan -Filter tag:* + + This example uses the Filter parameter to return a collection of all the dial plans that have been configured at the per-user scope. (Settings configured at the per-user, or tag, scope can be directly assigned to users and groups.) The wildcard string tag:* instructs the cmdlet to return only those dial plans that have an identity beginning with the string value tag:, which identifies a dial plan as a per-user dial plan. + + + + -------------------------- Example 5 -------------------------- + Get-CsDialPlan | Select-Object -ExpandProperty NormalizationRules + + This example displays the normalization rules used by the dial plans configured for use in your organization. Because the NormalizationRules property consists of an array of objects, the complete set of normalization rules is typically not displayed on screen. To see all of these rules, this sample command first uses the Get-CsDialPlan cmdlet to retrieve a collection of all the dial plans. That collection is then piped to the Select-Object cmdlet; in turn, the ExpandProperty parameter of the Select-Object cmdlet is used to "expand" the values found in the NormalizationRules property. Expanding the values simply means that all the normalization rules will be listed out individually on the screen, the same output that would be seen if the Get-CsVoiceNormalizationRule cmdlet had been called. + + + + -------------------------- Example 6 -------------------------- + Get-CsDialPlan | Where-Object {$_.Description -match "Redmond"} + + In Example 6, the Get-CsDialPlan cmdlet and the Where-Object cmdlet are used to retrieve a collection of all the dial plans that include the word Redmond in their description. To do this, the command first uses the Get-CsDialPlan cmdlet to retrieve all the dial plans. That collection is then piped to the Where-Object cmdlet, which applies a filter that limits the returned data to profiles that have the word Redmond somewhere in their Description. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csdialplan + + + Get-CsTenantDialPlan + + + + + + + Get-CsEffectiveTenantDialPlan + Get + CsEffectiveTenantDialPlan + + Use the Get-CsEffectiveTenantDialPlan cmdlet to retrieve an effective tenant dial plan. + + + + The Get-CsEffectiveTenantDialPlan cmdlet returns information about the effective tenant dial plan in an organization. The returned effective Tenant Dial Plan contains the EffectiveTenantDialPlanName and the Normalization rules that are effective for the user while using the EnterpriseVoice features. The EffectiveTenantDialPlanName is in the form TenantGUID_GlobalVoiceDialPlan_TenantDialPlan. + + + + Get-CsEffectiveTenantDialPlan + + Identity + + The Identity parameter is the unique identifier of the user for whom to retrieve the effective tenant dial plan. + + UserIdParameter + + UserIdParameter + + + None + + + Confirm + + The Confirm switch causes the command to pause processing, and requires confirmation to proceed. + + + SwitchParameter + + + False + + + OU + + Note: This parameter is not supported in Teams PowerShell Module version 3.0.0 or later. + The OrganizationalUnit parameter filters the results based on the object's location in Active Directory. Only objects that exist in the specified location are returned. + + OUIdParameter + + OUIdParameter + + + None + + + ResultSize + + Note: This parameter is not supported in Teams PowerShell Module version 3.0.0 or later. + Specifies the number of records returned by the cmdlet. The result size can be set to any whole number between 0 and 2147483647, inclusive. If set to 0, the command will run, but no data will be returned. + + Int32 + + Int32 + + + None + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + + SwitchParameter + + + False + + + + + + Identity + + The Identity parameter is the unique identifier of the user for whom to retrieve the effective tenant dial plan. + + UserIdParameter + + UserIdParameter + + + None + + + Confirm + + The Confirm switch causes the command to pause processing, and requires confirmation to proceed. + + SwitchParameter + + SwitchParameter + + + False + + + OU + + Note: This parameter is not supported in Teams PowerShell Module version 3.0.0 or later. + The OrganizationalUnit parameter filters the results based on the object's location in Active Directory. Only objects that exist in the specified location are returned. + + OUIdParameter + + OUIdParameter + + + None + + + ResultSize + + Note: This parameter is not supported in Teams PowerShell Module version 3.0.0 or later. + Specifies the number of records returned by the cmdlet. The result size can be set to any whole number between 0 and 2147483647, inclusive. If set to 0, the command will run, but no data will be returned. + + Int32 + + Int32 + + + None + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsEffectiveTenantDialPlan -Identity Vt1_User1 + + This example gets the effective tenant dial plan for the Vt1_User1. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-cseffectivetenantdialplan + + + + + + Get-CsGroupPolicyAssignment + Get + CsGroupPolicyAssignment + + This cmdlet is used to return group policy assignments. + + + + This cmdlets returns group policy assignments. Optional parameters allow the results to be restricted to policies assigned to a specific group or policies of a specific type. + + + + Get-CsGroupPolicyAssignment + + GroupId + + The ID of a group whose policy assignments will be returned. + + String + + String + + + None + + + PolicyType + + The policy type for which group policy assignments will be returned. + + String + + String + + + None + + + + + + GroupId + + The ID of a group whose policy assignments will be returned. + + String + + String + + + None + + + PolicyType + + The policy type for which group policy assignments will be returned. + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsGroupPolicyAssignment + +GroupId PolicyType PolicyName Rank CreatedTime CreatedBy +------- ---------- ---------- ---- ----------- --------- +566b8d39-5c5c-4aaa-bc07-4f36278a1b38 TeamsMeetingBroadcastPolicy Vendor Live Events 1 10/25/2019 12:40:09 AM aeb7c0e7-2f6d-43ef-bf33-bfbcb93fdc64 +d8ebfa45-0f28-4d2d-9bcc-b158a49e2d17 TeamsMeetingPolicy AllOn 1 10/29/2019 3:57:27 AM aeb7c0e7-2f6d-43ef-bf33-bfbcb93fdc64 +e2a3ed24-97be-494d-8d3c-dbc04cbb878a TeamsCallingPolicy AllowCalling 1 11/4/2019 12:54:27 AM aeb7c0e7-2f6d-43ef-bf33-bfbcb93fdc64 +19b881b4-c54c-4075-b1e8-a6ce55b12818 TeamsMeetingPolicy Kiosk 2 11/1/2019 8:22:06 PM aeb7c0e7-2f6d-43ef-bf33-bfbcb93fdc64 +0c0c1b45-bfc9-4718-b8ae-291439ac6fa4 TeamsCallingPolicy AllowCalling 2 11/1/2019 10:51:43 PM aeb7c0e7-2f6d-43ef-bf33-bfbcb93fdc64 +19c4909c-7d34-4e1f-b736-47caa2205768 TeamsMeetingBroadcastPolicy Employees Events 2 11/4/2019 12:56:57 AM aeb7c0e7-2f6d-43ef-bf33-bfbcb93fdc64 +566b8d39-5c5c-4aaa-bc07-4f36278a1b38 TeamsCallingPolicy DisallowCalling 3 11/1/2019 10:53:16 PM aeb7c0e7-2f6d-43ef-bf33-bfbcb93fdc64 + + + + + + -------------------------- Example 2 -------------------------- + Get-CsGroupPolicyAssignment -GroupId e050ce51-54bc-45b7-b3e6-c00343d31274 + +GroupId PolicyType PolicyName Rank CreatedTime CreatedBy +------- ---------- ---------- ---- ----------- --------- +566b8d39-5c5c-4aaa-bc07-4f36278a1b38 TeamsMeetingBroadcastPolicy Vendor Live Events 1 10/25/2019 12:40:09 AM aeb7c0e7-2f6d-43ef-bf33-bfbcb93fdc64 +566b8d39-5c5c-4aaa-bc07-4f36278a1b38 TeamsCallingPolicy AllowCalling 3 11/1/2019 10:53:16 PM aeb7c0e7-2f6d-43ef-bf33-bfbcb93fdc64 +566b8d39-5c5c-4aaa-bc07-4f36278a1b38 TeamsMeetingPolicy kiosk 7 11/2/2019 12:14:41 AM aeb7c0e7-2f6d-43ef-bf33-bfbcb93fdc64 + + + + + + -------------------------- Example 3 -------------------------- + GroupId PolicyType PolicyName Rank CreatedTime CreatedBy +------- ---------- ---------- ---- ----------- --------- +e2a3ed24-97be-494d-8d3c-dbc04cbb878a TeamsCallingPolicy AllowCalling 1 11/4/2019 12:54:27 AM aeb7c0e7-2f6d-43ef-bf33-bfbcb93fdc64 +0c0c1b45-bfc9-4718-b8ae-291439ac6fa4 TeamsCallingPolicy AllowCalling 2 11/1/2019 10:51:43 PM aeb7c0e7-2f6d-43ef-bf33-bfbcb93fdc64 +566b8d39-5c5c-4aaa-bc07-4f36278a1b38 TeamsCallingPolicy AllowCalling 3 11/1/2019 10:53:16 PM aeb7c0e7-2f6d-43ef-bf33-bfbcb93fdc64 + + + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csgrouppolicyassignment + + + New-CsGroupPolicyAssignment + + + + Set-CsGroupPolicyAssignment + + + + Remove-CsGroupPolicyAssignment + + + + + + + Get-CsHybridTelephoneNumber + Get + CsHybridTelephoneNumber + + This cmdlet displays information about one or more hybrid telephone numbers. + + + + This cmdlet displays information about one or more hybrid telephone numbers used for Audio Conferencing with Direct Routing for GCC High and DoD clouds. + Returned results are sorted by telephone number in ascending order. + + + + Get-CsHybridTelephoneNumber + + TelephoneNumber + + Filters the returned results to a specific phone number. The number should be specified without a prefixed "+". The phone number can't have "tel:" prefixed. + + System.String + + System.String + + + None + + + + + + TelephoneNumber + + Filters the returned results to a specific phone number. The number should be specified without a prefixed "+". The phone number can't have "tel:" prefixed. + + System.String + + System.String + + + None + + + + + + None + + + + + + + + + + None + + + + + + + + + The cmdlet is available in Teams PowerShell module 4.5.0 or later. + The cmdlet is only available in GCC High and DoD cloud instances. + + + + + -------------------------- Example 1 -------------------------- + Get-CsHybridTelephoneNumber -TelephoneNumber 14025551234 + +Id O365Region SourceType TargetType TelephoneNumber UserId +-- ---------- ---------- ---------- --------------- ------ +14025551234 NOAM Hybrid 14025551234 00000000-0000-0000-0000-000000000000 + + This example displays information about the phone number +1 (402) 555-1234. + + + + -------------------------- Example 2 -------------------------- + Get-CsHybridTelephoneNumber + +Id O365Region SourceType TargetType TelephoneNumber UserId +-- ---------- ---------- ---------- --------------- ------ +14025551234 Hybrid 14025551234 +14025551235 Hybrid 14025551235 + + This example displays information about all hybrid telephone numbers in the tenant. Note that O365Region, TargetType, and UserId will not be populated. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-cshybridtelephonenumber + + + New-CsHybridTelephoneNumber + + + + Remove-CsHybridTelephoneNumber + + + + + + + Get-CsInboundBlockedNumberPattern + Get + CsInboundBlockedNumberPattern + + Returns a list of all blocked number patterns added to the tenant list. + + + + This cmdlet returns a list of all blocked number patterns added to the tenant list including Name, Description, Enabled (True/False), and Pattern for each. + + + + Get-CsInboundBlockedNumberPattern + + Filter + + Enables you to limit the returned data by filtering on the Identity. + + String + + String + + + None + + + + Get-CsInboundBlockedNumberPattern + + Identity + + Indicates the Identity of the blocked number patterns to return. + + String + + String + + + None + + + + + + Filter + + Enables you to limit the returned data by filtering on the Identity. + + String + + String + + + None + + + Identity + + Indicates the Identity of the blocked number patterns to return. + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS> Get-CsInboundBlockedNumberPattern + + In this example, the Get-CsInboundBlockedNumberPattern cmdlet is called without any parameters in order to return all the blocked number patterns. + + + + -------------------------- Example 2 -------------------------- + PS> Get-CsInboundBlockedNumberPattern -Filter Block* + + In this example, the Get-CsInboundBlockedNumberPattern cmdlet will return all the blocked number patterns which identity starts with Block. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csinboundblockednumberpattern + + + New-CsInboundBlockedNumberPattern + + + + Set-CsInboundBlockedNumberPattern + + + + Remove-CsInboundBlockedNumberPattern + + + + + + + Get-CsInboundExemptNumberPattern + Get + CsInboundExemptNumberPattern + + Returns a specific or the full list of all number patterns exempt from call blocking. + + + + This cmdlet returns a specific or all exempt number patterns added to the tenant list for call blocking including Name, Description, Enabled (True/False), and Pattern for each. + + + + Get-CsInboundExemptNumberPattern + + Filter + + Enables you to limit the returned data by filtering on Identity. + + String + + String + + + None + + + + Get-CsInboundExemptNumberPattern + + Identity + + Unique identifier for the exempt number pattern to be listed. + + String + + String + + + None + + + + + + Filter + + Enables you to limit the returned data by filtering on Identity. + + String + + String + + + None + + + Identity + + Unique identifier for the exempt number pattern to be listed. + + String + + String + + + None + + + + + + + You can use Test-CsInboundBlockedNumberPattern to test your call block and exempt phone number ranges. + + + + + -------------------------- Example 1 -------------------------- + PS>Get-CsInboundExemptNumberPattern + + This returns all exempt number patterns. + + + + -------------------------- Example 2 -------------------------- + PS>Get-CsInboundExemptNumberPattern -Identity "Exempt1" + + This returns the exempt number patterns with Identity Exempt1. + + + + -------------------------- Example 3 -------------------------- + PS>Get-CsInboundExemptNumberPattern -Filter "Exempt*" + + This example returns the exempt number patterns with Identity starting with Exempt. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csinboundexemptnumberpattern + + + New-CsInboundExemptNumberPattern + + + + Set-CsInboundExemptNumberPattern + + + + Remove-CsInboundExemptNumberPattern + + + + Test-CsInboundBlockedNumberPattern + + + + Get-CsTenantBlockedCallingNumbers + + + + + + + Get-CsMeetingMigrationStatus + Get + CsMeetingMigrationStatus + + You use the `Get-CsMeetingMigrationStatus` cmdlet to check the status of meeting migrations. + + + + Meeting Migration Service (MMS) is a Skype for Business service that runs in the background and automatically updates Skype for Business and Microsoft Teams meetings for users. MMS is designed to eliminate the need for users to run the Meeting Migration Tool to update their Skype for Business and Microsoft Teams meetings. + You can use the `Get-CsMeetingMigrationStatus` cmdlet to check the status of meeting migrations. + + + + Get-CsMeetingMigrationStatus + + Identity + + Specifies the Identity of the user account to be to be modified. A user identity can be specified by using one of four formats: 1) the user's SIP address; 2) the user's user principal name (UPN); 3) the user's domain name and logon name, in the form domain\logon (for example, litwareinc\kenmyer) and 4) the user's Active Directory display name (for example, Ken Myer). You can also reference a user account by using the user's Active Directory distinguished name. + + UserIdParameter + + UserIdParameter + + + None + + + StartTime + + Specifies the start date of the date range. + + Object + + Object + + + None + + + EndTime + + Specifies the end date of the date range. + + Object + + Object + + + None + + + SummaryOnly + + Specified that you want a summary status of MMS migrations returned. + + + SwitchParameter + + + False + + + State + + With this parameter you can filter by migration state. Possible values are: * Pending + * InProgress + * Failed + * Succeeded + + StateType + + StateType + + + None + + + + + + Identity + + Specifies the Identity of the user account to be to be modified. A user identity can be specified by using one of four formats: 1) the user's SIP address; 2) the user's user principal name (UPN); 3) the user's domain name and logon name, in the form domain\logon (for example, litwareinc\kenmyer) and 4) the user's Active Directory display name (for example, Ken Myer). You can also reference a user account by using the user's Active Directory distinguished name. + + UserIdParameter + + UserIdParameter + + + None + + + StartTime + + Specifies the start date of the date range. + + Object + + Object + + + None + + + EndTime + + Specifies the end date of the date range. + + Object + + Object + + + None + + + SummaryOnly + + Specified that you want a summary status of MMS migrations returned. + + SwitchParameter + + SwitchParameter + + + False + + + State + + With this parameter you can filter by migration state. Possible values are: * Pending + * InProgress + * Failed + * Succeeded + + StateType + + StateType + + + None + + + + + + OUTPUTS + + + CorrelationId : 849d3e3b-3e1d-465f-8dde-785aa9e3f856 CreateDate : 2024-04-27T00:24:00.1442688Z FailedMeeting : 0 InvitesUpdate : 0 LastMessage : MigrationType : AllToTeams ModifiedDate : 2024-04-27T00:24:00.1442688Z RetryCount : 0 State : Pending SucceededMeeting : 0 TotalMeeting : 0 UserId : 27c6ee67-c71d-4386-bf84-ebfdc7c3a171 UserPrincipalName : syntest1-prod@TESTTESTMMSSYNTHETICUSWESTT.onmicrosoft.com + where MigrationType can have possible values as below: SfbToTeams (Skype for Business On-prem to Teams) TeamsToTeams (Teams to Teams) ToSameType (Same source and targer meeting types) AllToTeams (All types to Teams) + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsMeetingMigrationStatus -SummaryOnly + + This example is used to get a summary status of all MMS migrations. + + + + -------------------------- Example 2 -------------------------- + Get-CsMeetingMigrationStatus -Identity "ashaw@contoso.com" + + This example gets the meeting migration status for user ashaw@contoso.com. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csmeetingmigrationstatus + + + Get-CsTenantMigrationConfiguration + + + + Get-CsOnlineDialInConferencingTenantSettings + + + + Start-CsExMeetingMigration + + + + + + + Get-CsOnlineApplicationInstance + Get + CsOnlineApplicationInstance + + Get application instance for the tenant from Microsoft Entra ID. + + + + This cmdlet is used to get details of an application instance. + + + + Get-CsOnlineApplicationInstance + + Identity + + The UPN or the object ID of the application instance to retrieve. If this parameter nor parameter Identities are not provided, it will retrieve all application instances in the tenant. + + System.String + + System.String + + + None + + + Identities + + The UPNs or the object IDs of the application instances to retrieve, separated with comma. If this parameter nor parameter Identity are not provided, it will retrieve all application instances in the tenant. + + System.String + + System.String + + + None + + + ResultSize + + The result size for bulk get. This parameter is currently not working. + + System.Int32 + + System.Int32 + + + None + + + Skip + + Skips the first specified number of returned results. The default value is 0. This parameter is currently not working. + + System.Int32 + + System.Int32 + + + None + + + Force + + This switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If it isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Identity + + The UPN or the object ID of the application instance to retrieve. If this parameter nor parameter Identities are not provided, it will retrieve all application instances in the tenant. + + System.String + + System.String + + + None + + + Identities + + The UPNs or the object IDs of the application instances to retrieve, separated with comma. If this parameter nor parameter Identity are not provided, it will retrieve all application instances in the tenant. + + System.String + + System.String + + + None + + + ResultSize + + The result size for bulk get. This parameter is currently not working. + + System.Int32 + + System.Int32 + + + None + + + Skip + + Skips the first specified number of returned results. The default value is 0. This parameter is currently not working. + + System.Int32 + + System.Int32 + + + None + + + Force + + This switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If it isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsOnlineApplicationInstance -Identity appinstance01@contoso.com + + This example returns the application instance with identity "appinstance01@contoso.com". + + + + -------------------------- Example 2 -------------------------- + Get-CsOnlineApplicationInstance -Identities appinstance01@contoso.com,appinstance02@contoso.com + + This example returns the application instance with identities "appinstance01@contoso.com" and "appinstance02@contoso.com". Query with multiple comma separated Identity. + + + + -------------------------- Example 3 -------------------------- + Get-CsOnlineApplicationInstance -ResultSize 10 + + This example returns the first 10 application instances. + + + + -------------------------- Example 4 -------------------------- + Get-CsOnlineApplicationInstance + + This example returns the details of all application instances. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csonlineapplicationinstance + + + Set-CsOnlineApplicationInstance + + + + New-CsOnlineApplicationInstance + + + + Find-CsOnlineApplicationInstance + + + + Sync-CsOnlineApplicationInstance + + + + + + + Get-CsOnlineApplicationInstanceAssociation + Get + CsOnlineApplicationInstanceAssociation + + Use the Get-CsOnlineApplicationInstanceAssociation cmdlet to get information about the associations setup in your organization. + + + + Use the Get-CsOnlineApplicationInstanceAssociation cmdlet to get information about the associations setup between online application instances and the application configurations, like auto attendants and call queues. + + + + Get-CsOnlineApplicationInstanceAssociation + + Identity + + The identity for the application instance whose association is to be retrieved. + + System.String + + System.String + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + Identity + + The identity for the application instance whose association is to be retrieved. + + System.String + + System.String + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + System.String + + + The Get-CsOnlineApplicationInstanceAssociation cmdlet accepts a string as the Identity parameter. + + + + + + + Microsoft.Rtc.Management.Hosted.Online.Models.ApplicationInstanceAssociation + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsOnlineApplicationInstanceAssociation -Identity "f7a821dc-2d69-5ae8-8525-bcb4a4556093" + + This example gets the association object for the application instance that has the identity of f7a821dc-2d69-5ae8-8525-bcb4a4556093. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csonlineapplicationinstanceassociation + + + Get-CsOnlineApplicationInstanceAssociationStatus + + + + New-CsOnlineApplicationInstanceAssociation + + + + Remove-CsOnlineApplicationInstanceAssociation + + + + + + + Get-CsOnlineApplicationInstanceAssociationStatus + Get + CsOnlineApplicationInstanceAssociationStatus + + Use the Get-CsOnlineApplicationInstanceAssociationStatus cmdlet to get the provisioning status for the associations you have setup in your organization. + + + + Use the Get-CsOnlineApplicationInstanceAssociationStatus cmdlet to get provisioning status for the associations you have setup between online application instances and the application configurations, like auto attendants and call queues. + + + + Get-CsOnlineApplicationInstanceAssociationStatus + + Identity + + The identity for the application instance whose association provisioning status is to be retrieved. + + System.String + + System.String + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + Identity + + The identity for the application instance whose association provisioning status is to be retrieved. + + System.String + + System.String + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + System.String + + + The Get-CsOnlineApplicationInstanceAssociationStatus cmdlet accepts a string as the Identity parameter. + + + + + + + Microsoft.Rtc.Management.Hosted.Online.Models.StatusRecord + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsOnlineApplicationInstanceAssociationStatus -Identity "f7a821dc-2d69-5ae8-8525-bcb4a4556093" + + This example gets the provisioning status for the association object of the application instance that has the identity of f7a821dc-2d69-5ae8-8525-bcb4a4556093. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csonlineapplicationinstanceassociationstatus + + + Get-CsOnlineApplicationInstanceAssociation + + + + New-CsOnlineApplicationInstanceAssociation + + + + Remove-CsOnlineApplicationInstanceAssociation + + + + + + + Get-CsOnlineAudioFile + Get + CsOnlineAudioFile + + Returns information about a specific or all uploaded audio files of a given application type. + + + + This cmdlet returns information on a specific or all uploaded audio files of a given application type. If you are not specifying any parameters you will get information of all uploaded audio files with ApplicationId = TenantGlobal. + + + + Get-CsOnlineAudioFile + + Identity + + The Id of the specific audio file that you would like to see information about. If you are only specifying -Identity, the -ApplicationId it is assumed to be TenantGlobal. + If you need to see the information of a specific audio file with ApplicationId of OrgAutoAttendant or HuntGroup, you need to specify -ApplicationId with the corresponding value and -Identity with the Id of the audio file. + + System.String + + System.String + + + None + + + ApplicationId + + The ApplicationId parameter specifies the identifier for the application that was specified when audio file was uploaded. For example, if the audio file is used with an auto attendant, then it should specified as "OrgAutoAttendant". If the audio file is used with a hunt group (call queue), then it needs to be specified as "HuntGroup". If the audio file is used for music on hold, the it needs to specified as "TenantGlobal". + If you are not specifying an ApplicationId it is assumed to be TenantGlobal. + Supported values: + - OrgAutoAttendant + - HuntGroup + - TenantGlobal + + System.string + + System.string + + + TenantGlobal + + + + + + ApplicationId + + The ApplicationId parameter specifies the identifier for the application that was specified when audio file was uploaded. For example, if the audio file is used with an auto attendant, then it should specified as "OrgAutoAttendant". If the audio file is used with a hunt group (call queue), then it needs to be specified as "HuntGroup". If the audio file is used for music on hold, the it needs to specified as "TenantGlobal". + If you are not specifying an ApplicationId it is assumed to be TenantGlobal. + Supported values: + - OrgAutoAttendant + - HuntGroup + - TenantGlobal + + System.string + + System.string + + + TenantGlobal + + + Identity + + The Id of the specific audio file that you would like to see information about. If you are only specifying -Identity, the -ApplicationId it is assumed to be TenantGlobal. + If you need to see the information of a specific audio file with ApplicationId of OrgAutoAttendant or HuntGroup, you need to specify -ApplicationId with the corresponding value and -Identity with the Id of the audio file. + + System.String + + System.String + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + The cmdlet is available in Teams PS module 2.4.0-preview or later. + If you call the cmdlet without having uploaded any audio files, with a non-existing Identity or with an illegal ApplicationId, you will receive a generic error message. In addition, the ApplicationId is case sensitive. + + + + + -------------------------- Example 1 -------------------------- + Get-CsOnlineAudioFile + +Id : 85364afb59a143fc9466979e0f34f749 +FileName : CustomMoH.mp3 +ApplicationId : TenantGlobal +MarkedForDeletion : False + + This returns information about all uploaded audio files with ApplicationId = TenantGlobal. + + + + -------------------------- Example 2 -------------------------- + Get-CsOnlineAudioFile -ApplicationId HuntGroup -Identity dcfcc31daa9246f29d94d0a715ef877e + +Id : dcfcc31daa9246f29d94d0a715ef877e +FileName : SupportCQ.mp3 +ApplicationId : HuntGroup +MarkedForDeletion : False + + This cmdlet returns information about the audio file with Id dcfcc31daa9246f29d94d0a715ef877e and with ApplicationId = HuntGroup. + + + + -------------------------- Example 3 -------------------------- + Get-CsOnlineAudioFile -ApplicationId OrgAutoAttendant + +Id : 58083ae8bc9e4a66a6b2810b2e1f4e4e +FileName : MainAAAnnouncement.mp3 +ApplicationId : OrgAutoAttendant +MarkedForDeletion : False + + This cmdlet returns information about all uploaded audio files with ApplicationId = OrgAutoAttendant. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csonlineaudiofile + + + Export-CsOnlineAudioFile + + + + Import-CsOnlineAudioFile + + + + Remove-CsOnlineAudioFile + + + + + + + Get-CsOnlineDialInConferencingBridge + Get + CsOnlineDialInConferencingBridge + + Use the Get-CsOnlineDialInConferencingBridge cmdlet to view the settings on an audio conferencing bridge that is used when Microsoft is the audio conferencing provider. + + + + The Get-CsOnlineDialInConferencingBridge cmdlet is used to view all of the settings for all dial-in conferencing bridges or for a specific dial-in conferencing bridge. However, if the PSTN conferencing service status of the tenant is Disabled, no results will be displayed. + + + + Get-CsOnlineDialInConferencingBridge + + Identity + + Specifies the globally-unique identifier (GUID) for the audio conferencing bridge. + + Guid + + Guid + + + None + + + Name + + Specifies the name of the audio conferencing bridge. + + String + + String + + + None + + + DomainController + + Specifies the domain controller that's used by the cmdlet to read or write the specified data. Valid inputs for this parameter include: + Fully qualified domain name (FQDN): + `-DomainController atl-cs-001.Contoso.com` + Computer name: + `-DomainController atl-cs-001` + This parameter is reserved for internal Microsoft use. + + Fqdn + + Fqdn + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + TenantDomain + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + + + + Identity + + Specifies the globally-unique identifier (GUID) for the audio conferencing bridge. + + Guid + + Guid + + + None + + + Name + + Specifies the name of the audio conferencing bridge. + + String + + String + + + None + + + DomainController + + Specifies the domain controller that's used by the cmdlet to read or write the specified data. Valid inputs for this parameter include: + Fully qualified domain name (FQDN): + `-DomainController atl-cs-001.Contoso.com` + Computer name: + `-DomainController atl-cs-001` + This parameter is reserved for internal Microsoft use. + + Fqdn + + Fqdn + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + TenantDomain + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + + + + None + + + + + + + + + + None + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsOnlineDialInConferencingBridge | fl + + This example shows how to return all of the audio conferencing bridges that are being used and returns the results in a formatted list. + + + + -------------------------- Example 2 -------------------------- + Get-CsOnlineDialInConferencingBridge -Tenant 26efe125-c070-46f9-8ed0-fc02165a167c + + This example shows how to return all of the audio conferencing bridges for the given tenant. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/skype/get-csonlinedialinconferencingbridge + + + + + + Get-CsOnlineDialInConferencingLanguagesSupported + Get + CsOnlineDialInConferencingLanguagesSupported + + Use the Get-CsOnlineDialInConferencingLanguagesSupported cmdlet to view the list of languages that are supported when an organization uses Microsoft as the dial-in audio conferencing provider. + + + + The Get-CsOnlineDialInConferencingLanguagesSupported cmdlet is used to view the primary and secondary languages that are set for a dial-in conferencing service number. There is a primary language that is set along with secondary languages (up to 4) that can also be set. + Primary and secondary languages are those languages that are used to play prompts when a caller calls into a dial-in service number. When no languages are specified for a dial-in service number it will get the set of default languages. + + + + Get-CsOnlineDialInConferencingLanguagesSupported + + DomainController + + Specifies the domain controller that's used by the cmdlet to read or write the specified data. Valid inputs for this parameter include: + Fully qualified domain name (FQDN): `-DomainController atl-cs-001.Contoso.com` + Computer name: `-DomainController atl-cs-001` + + Fqdn + + Fqdn + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + + + + DomainController + + Specifies the domain controller that's used by the cmdlet to read or write the specified data. Valid inputs for this parameter include: + Fully qualified domain name (FQDN): `-DomainController atl-cs-001.Contoso.com` + Computer name: `-DomainController atl-cs-001` + + Fqdn + + Fqdn + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsOnlineDialInConferencingLanguagesSupported | fl + + This example allows returns the list of supported languages when you are using Microsoft as your dial-in audio conferencing provider and displays them in a formatted list. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/skype/get-csonlinedialinconferencinglanguagessupported + + + + + + Get-CsOnlineDialinConferencingPolicy + Get + CsOnlineDialinConferencingPolicy + + Retrieves the available Dial-in Conferencing policies in the tenant. + + + + Retrieves the available Dial-in Conferencing policies in the tenant. + + + + Get-CsOnlineDialinConferencingPolicy + + Identity + + A unique identifier specifying the scope and, in some cases the name, of the policy. If this parameter is omitted, all policies for the organization are returned. + + XdsIdentity + + XdsIdentity + + + None + + + Filter + + This parameter accepts a wildcard string and returns all policies with identities matching that string. For example, a Filter value of tag:* will return all policies defined at the per-user level. + + String + + String + + + None + + + LocalStore + + Reserved for Microsoft Internal use. + + + SwitchParameter + + + False + + + + + + Filter + + This parameter accepts a wildcard string and returns all policies with identities matching that string. For example, a Filter value of tag:* will return all policies defined at the per-user level. + + String + + String + + + None + + + Identity + + A unique identifier specifying the scope and, in some cases the name, of the policy. If this parameter is omitted, all policies for the organization are returned. + + XdsIdentity + + XdsIdentity + + + None + + + LocalStore + + Reserved for Microsoft Internal use. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsOnlineDialinConferencingPolicy + + This example retrieves all the available Dial in Conferencing policies in the tenant. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csonlinedialinconferencingpolicy + + + + + + Get-CsOnlineDialInConferencingServiceNumber + Get + CsOnlineDialInConferencingServiceNumber + + Use the Get-CsOnlineDialInConferencingServiceNumber cmdlet to return all of the default dial-in service numbers that are assigned to an Office 365 audio conferencing bridge. + + + + The Get-CsOnlineDialInConferencingServiceNumber cmdlet returns all of the dial-in service numbers for a given tenant or Office 365 organization that are assigned to an audio conferencing bridge. If the cmdlet is run by a tenant administrator for an organization, it will run within the tenant's scope. A tenant administrator can only retrieve and view information that is associated with their organization. + + + + Get-CsOnlineDialInConferencingServiceNumber + + Identity + + Specifies the default dial-in service number string. + + String + + String + + + None + + + BridgeId + + Specifies the globally-unique identifier (GUID) for the audio conferencing bridge. When it's used it returns all of the service numbers that are configured on the audio conferencing bridge. + + Guid + + Guid + + + None + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + TenantDomain + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + BridgeName + + Specifies the name of the audio conferencing bridge. When it is used it returns all of the service numbers that are configured on the audio conferencing bridge. + + String + + String + + + None + + + City + + Specifies the city geocode to be used. When used it lists all of the service numbers for a specific city geocode. + + String + + String + + + None + + + DomainController + + Specifies the domain controller that's used by the cmdlet to read or write the specified data. Valid inputs for this parameter include: + Fully qualified domain name (FQDN): `-DomainController atl-cs-001.Contoso.com.` + Computer name: `-DomainController atl-cs-001` + + Fqdn + + Fqdn + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + ResultSize + + Specifies the number of records returned by the cmdlet. For example, to return seven users (regardless of the number of users that are in your forest) include the ResultSize parameter and set the parameter value to 7. Note that there is no way to guarantee which seven users will be returned. + The result size can be set to any whole number between 0 and 2147483647, inclusive. If set to 0 the command will run, but no data will be returned. If you set the ResultSize to 7 but you have only three users in your forest, the command will return those three users, and then complete without error. + + Int32 + + Int32 + + + None + + + + + + BridgeId + + Specifies the globally-unique identifier (GUID) for the audio conferencing bridge. When it's used it returns all of the service numbers that are configured on the audio conferencing bridge. + + Guid + + Guid + + + None + + + Identity + + Specifies the default dial-in service number string. + + String + + String + + + None + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + TenantDomain + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + BridgeName + + Specifies the name of the audio conferencing bridge. When it is used it returns all of the service numbers that are configured on the audio conferencing bridge. + + String + + String + + + None + + + City + + Specifies the city geocode to be used. When used it lists all of the service numbers for a specific city geocode. + + String + + String + + + None + + + DomainController + + Specifies the domain controller that's used by the cmdlet to read or write the specified data. Valid inputs for this parameter include: + Fully qualified domain name (FQDN): `-DomainController atl-cs-001.Contoso.com.` + Computer name: `-DomainController atl-cs-001` + + Fqdn + + Fqdn + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + ResultSize + + Specifies the number of records returned by the cmdlet. For example, to return seven users (regardless of the number of users that are in your forest) include the ResultSize parameter and set the parameter value to 7. Note that there is no way to guarantee which seven users will be returned. + The result size can be set to any whole number between 0 and 2147483647, inclusive. If set to 0 the command will run, but no data will be returned. If you set the ResultSize to 7 but you have only three users in your forest, the command will return those three users, and then complete without error. + + Int32 + + Int32 + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsOnlineDialInConferencingServiceNumber | fl + + This example returns all of the default service numbers for an organization in a formatted list. + + + + -------------------------- Example 2 -------------------------- + Get-CsOnlineDialInConferencingServiceNumber -BridgeId 72dfe128-d079-46f8-8tr0-gb12369p167c | fl + + This example returns all of the default service numbers for a specified audio conferencing bridge in a formatted list. + + + + -------------------------- Example 3 -------------------------- + Get-CsOnlineDialInConferencingBridge -Name "Conference Bridge" + + This example returns all of the default service numbers for the audio conferencing bridge named "Conference Bridge". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csonlinedialinconferencingservicenumber + + + + + + Get-CsOnlineDialinConferencingTenantConfiguration + Get + CsOnlineDialinConferencingTenantConfiguration + + Use the Get-CsOnlineDialinConferencingTenantConfiguration cmdlet to retrieve the tenant level configuration for dial-in conferencing. The dial-in conferencing configuration specifies if dial-in conferencing is enabled for the tenant. + + + + The dial-in conferencing configuration specifies only if dial-in conferencing is enabled for the tenant. By contrast, the dial-in conferencing tenant settings specify what functions are available during a conference call. For example, whether or not entries and exits from the call are announced. The settings also manage some of the administrative functions, such as when users get notification of administrative actions, like a PIN change. For more information on settings and their customization, see Set-CsOnlineDialInConferencingTenantSettings. + This cmdlet currently displays only the enabled or disabled status of your tenant configuration. There is one configuration per tenant. + + + + Get-CsOnlineDialinConferencingTenantConfiguration + + Identity + + This parameter is reserved for internal Microsoft use. + + XdsIdentity + + XdsIdentity + + + None + + + Filter + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + LocalStore + + Retrieves the configuration from the local replica of the Central Management store rather than from the Central Management store itself. + + + SwitchParameter + + + False + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + + + + Filter + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + Identity + + This parameter is reserved for internal Microsoft use. + + XdsIdentity + + XdsIdentity + + + None + + + LocalStore + + Retrieves the configuration from the local replica of the Central Management store rather than from the Central Management store itself. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + + + + None + + + + + + + + + + Microsoft.Rtc.Management.WritableConfig.Settings.OnLineDialInConferencing.OnLineDialInConferencingTenantConfiguration + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsOnlineDialinConferencingTenantConfiguration + + This example returns the configuration for the tenant administrator's organization. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csonlinedialinconferencingtenantconfiguration + + + + + + Get-CsOnlineDialInConferencingTenantSettings + Get + CsOnlineDialInConferencingTenantSettings + + Use the Get-CsOnlineDialInConferencingTenantSettings cmdlet to retrieve tenant level settings for dial-in conferencing. + + + + + + + + Get-CsOnlineDialInConferencingTenantSettings + + Identity + + This parameter is reserved for internal Microsoft use. + + XdsIdentity + + XdsIdentity + + + None + + + Filter + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + LocalStore + + Retrieves the settings from the local replica of the Central Management store rather than from the Central Management store itself. + + + SwitchParameter + + + False + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + + + + Filter + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + Identity + + This parameter is reserved for internal Microsoft use. + + XdsIdentity + + XdsIdentity + + + None + + + LocalStore + + Retrieves the settings from the local replica of the Central Management store rather than from the Central Management store itself. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + + + + None + + + + + + + + + + Microsoft.Rtc.Management.WritableConfig.Settings.OnLineDialInConferencing.OnLineDialInConferencingTenantSettings + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsOnlineDialInConferencingTenantSettings + + This example returns the global setting for the tenant administrator's organization. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csonlinedialinconferencingtenantsettings + + + + + + Get-CsOnlineDialInConferencingUser + Get + CsOnlineDialInConferencingUser + + Use the `Get-CsOnlineDialInConferencingUser` cmdlet to view the properties and settings of users that are enabled for dial-in conferencing and are using Microsoft as their PSTN conferencing provider. + + + + This cmdlet will only return users that have been enabled for audio conferencing using Microsoft as the audio conferencing provider. Users that are enabled for audio conferencing using a third-party audio conferencing provider won't be returned. If there are no users in the organization that have been enabled for audio conferencing, then the cmdlet will return no results. + The see a list of users with conferencing providers other than Microsoft use the Get-CsUserAcp cmdlet. NOTE : In the Teams PowerShell Module version 3.0 or later, the following input parameters have been deprecated for TeamsOnly customers (removed or very low usage): + - BridgeId + - BridgeName + - DomainController + - Force + - LdapFilter + - ServiceNumber + - TenantDomain + - Common Parameters + + + + Get-CsOnlineDialInConferencingUser + + Identity + + Specifies the user to retrieve. The user can be specified by using one of four formats: 1) the user's SIP address; 2) the user's user principal name (UPN); 3) the user's domain name and logon name, in the form domain\logon (for example, litwareinc\kenmyer); and, 4) the user's Active Directory display name (for example, Ken Myer). You can also reference a user account by using the user's Active Directory distinguished name. + + UserIdParameter + + UserIdParameter + + + None + + + BridgeId + + This parameter has been deprecated from Teams PowerShell Modules 3.0 and above due to limited usage . + Specifies the globally-unique identifier (GUID) for the audio conferencing bridge. + + Guid + + Guid + + + None + + + BridgeName + + This parameter has been deprecated from Teams PowerShell Modules 3.0 and above due to limited usage . + Specifies the name for the audio conferencing bridge. + + String + + String + + + None + + + ServiceNumber + + This parameter has been deprecated from Teams PowerShell Modules 3.0 and above due to limited usage . + Specifies a service number to serve as a filter for the returned user collection. Only users who have been assigned the specified number will be returned. The service number can be specified in the following formats: E.164 number, +<E.164 number> and tel:<E.164 number>. + + String + + String + + + None + + + DomainController + + This parameter has been deprecated from Teams PowerShell Modules 3.0 and above due to limited usage . + This parameter is reserved for internal Microsoft use. + + Fqdn + + Fqdn + + + None + + + Force + + This parameter has been deprecated from Teams PowerShell Modules 3.0 and above due to limited usage . + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + LdapFilter + + This parameter has been deprecated from Teams PowerShell Modules 3.0 and above due to limited usage . + Enables you to limit the returned data by filtering on generic Active Directory attributes (that is, attributes that are not specific to Skype for Business Server 2015). For example, you can limit returned data to users who work in a specific department, or users who have a specified manager or job title. The LdapFilter parameter uses the LDAP query language when creating filters. For example, a filter that returns only users who work in the city of Redmond would look like this: "l=Redmond", with "l" (a lowercase L) representing the Active Directory attribute (locality); "=" representing the comparison operator (equal to); and "Redmond" representing the filter value. + + String + + String + + + None + + + ResultSize + + Enables you to limit the number of records returned by the cmdlet. For example, to return seven users (regardless of the number of users that are in your forest) include the ResultSize parameter and set the parameter value to 7. Note that there is no way to guarantee which seven users will be returned. The result size can be set to any whole number between 0 and 2147483647, inclusive. If set to 0 the command will run, but no data will be returned. If you set the ResultSize to 7 but you have only three users in your forest, the command will return those three users, and then complete without error. + + Int32 + + Int32 + + + None + + + Tenant + + This parameter has been deprecated from Teams PowerShell Modules 3.0 and above due to limited usage . + NOTE: This parameter is reserved for internal Microsoft use. + Specifies the globally unique identifier (GUID) of your Skype for Business Online tenant account. For example: -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308". You can find your tenant ID by running this command: + `Get-CsTenant | Select-Object DisplayName, TenantID` + + Guid + + Guid + + + None + + + TenantDomain + + This parameter has been deprecated from Teams PowerShell Modules 3.0 and above due to limited usage . + This parameter is reserved for internal Microsoft use. + + Object + + Object + + + None + + + + + + BridgeId + + This parameter has been deprecated from Teams PowerShell Modules 3.0 and above due to limited usage . + Specifies the globally-unique identifier (GUID) for the audio conferencing bridge. + + Guid + + Guid + + + None + + + BridgeName + + This parameter has been deprecated from Teams PowerShell Modules 3.0 and above due to limited usage . + Specifies the name for the audio conferencing bridge. + + String + + String + + + None + + + Identity + + Specifies the user to retrieve. The user can be specified by using one of four formats: 1) the user's SIP address; 2) the user's user principal name (UPN); 3) the user's domain name and logon name, in the form domain\logon (for example, litwareinc\kenmyer); and, 4) the user's Active Directory display name (for example, Ken Myer). You can also reference a user account by using the user's Active Directory distinguished name. + + UserIdParameter + + UserIdParameter + + + None + + + ServiceNumber + + This parameter has been deprecated from Teams PowerShell Modules 3.0 and above due to limited usage . + Specifies a service number to serve as a filter for the returned user collection. Only users who have been assigned the specified number will be returned. The service number can be specified in the following formats: E.164 number, +<E.164 number> and tel:<E.164 number>. + + String + + String + + + None + + + DomainController + + This parameter has been deprecated from Teams PowerShell Modules 3.0 and above due to limited usage . + This parameter is reserved for internal Microsoft use. + + Fqdn + + Fqdn + + + None + + + Force + + This parameter has been deprecated from Teams PowerShell Modules 3.0 and above due to limited usage . + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + LdapFilter + + This parameter has been deprecated from Teams PowerShell Modules 3.0 and above due to limited usage . + Enables you to limit the returned data by filtering on generic Active Directory attributes (that is, attributes that are not specific to Skype for Business Server 2015). For example, you can limit returned data to users who work in a specific department, or users who have a specified manager or job title. The LdapFilter parameter uses the LDAP query language when creating filters. For example, a filter that returns only users who work in the city of Redmond would look like this: "l=Redmond", with "l" (a lowercase L) representing the Active Directory attribute (locality); "=" representing the comparison operator (equal to); and "Redmond" representing the filter value. + + String + + String + + + None + + + ResultSize + + Enables you to limit the number of records returned by the cmdlet. For example, to return seven users (regardless of the number of users that are in your forest) include the ResultSize parameter and set the parameter value to 7. Note that there is no way to guarantee which seven users will be returned. The result size can be set to any whole number between 0 and 2147483647, inclusive. If set to 0 the command will run, but no data will be returned. If you set the ResultSize to 7 but you have only three users in your forest, the command will return those three users, and then complete without error. + + Int32 + + Int32 + + + None + + + Tenant + + This parameter has been deprecated from Teams PowerShell Modules 3.0 and above due to limited usage . + NOTE: This parameter is reserved for internal Microsoft use. + Specifies the globally unique identifier (GUID) of your Skype for Business Online tenant account. For example: -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308". You can find your tenant ID by running this command: + `Get-CsTenant | Select-Object DisplayName, TenantID` + + Guid + + Guid + + + None + + + TenantDomain + + This parameter has been deprecated from Teams PowerShell Modules 3.0 and above due to limited usage . + This parameter is reserved for internal Microsoft use. + + Object + + Object + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsOnlineDialInConferencingUser -Identity Ken.Myer@contoso.com + + This example uses the User Principal Name (UPN) to retrieve the BridgeID and ServiceNumber information. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csonlinedialinconferencinguser + + + Set-CsOnlineDialInConferencingUser + + + + + + + Get-CsOnlineDialOutPolicy + Get + CsOnlineDialOutPolicy + + Use the `Get-CsOnlineDialOutPolicy` cmdlet to get all the available outbound calling restriction policies in your organization. + + + + In Microsoft Teams, outbound calling restriction policies are used to restrict the type of audio conferencing and end user PSTN calls that can be made by users in your organization. The policies apply to all the different PSTN connectivity options for Microsoft Teams; Calling Plan, Direct Routing, and Operator Connect. + To get all the available policies in your organization run `Get-CsOnlineDialOutPolicy`. To assign one of these policies to a user run `Grant-CsDialoutPolicy`. + + + + Get-CsOnlineDialOutPolicy + + Filter + + Enables you to use wildcard characters when indicating the policy (or policies) to be returned. To return a collection of all the per-user policies, use this syntax: -Filter "tag:*". + + String + + String + + + None + + + + Get-CsOnlineDialOutPolicy + + Identity + + Unique identifier of the outbound calling restriction policy to be returned. To refer to the global policy, use this syntax: "-Identity Global". To refer to a per-user policy, use syntax similar to this: -Identity DialoutCPCandPSTNDisabled. + If this parameter is omitted, then all the outbound calling restriction policies configured for use in your tenant will be returned. + + String + + String + + + None + + + + + + Filter + + Enables you to use wildcard characters when indicating the policy (or policies) to be returned. To return a collection of all the per-user policies, use this syntax: -Filter "tag:*". + + String + + String + + + None + + + Identity + + Unique identifier of the outbound calling restriction policy to be returned. To refer to the global policy, use this syntax: "-Identity Global". To refer to a per-user policy, use syntax similar to this: -Identity DialoutCPCandPSTNDisabled. + If this parameter is omitted, then all the outbound calling restriction policies configured for use in your tenant will be returned. + + String + + String + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsOnlineDialOutPolicy + + In Example 1, `Get-CsOnlineDialOutPolicy` is called without any additional parameters; this returns a collection of all the outbound calling restriction policies configured for use in your organization. + + + + -------------------------- Example 2 -------------------------- + Get-CsOnlineDialOutPolicy -Identity DialoutCPCandPSTNDisabled + + In Example 2, `Get-CsOnlineDialOutPolicy` is used to return the per-user outbound calling restriction policy that has an Identity DialoutCPCandPSTNDisabled. Because identities are unique, this command will never return more than one item. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csonlinedialoutpolicy + + + Grant-CsDialoutPolicy + + + + + + + Get-CsOnlineDirectoryTenant + Get + CsOnlineDirectoryTenant + + Use the Get-CsOnlineDirectoryTenant cmdlet to retrieve a tenant and associated parameters from the Business Voice Directory. + + + + Note : Starting with Teams PowerShell Module 4.0, this cmdlet will be deprecated. Use the Get-CsTenant or Get-CsOnlineDialInConferencingBridge cmdlet to view information previously present in Get-CsOnlineDirectoryTenant. + + Use the Get-CsOnlineDirectoryTenant cmdlet to retrieve tenant parameters like AnnouncementsDisabled, NameRecordingDisabled and Bridges from the Business Voice Directory. + + + + Get-CsOnlineDirectoryTenant + + Tenant + + Specifies the globally unique identifier (GUID) of your Skype for Business Online tenant account. For example: + `-Tenant "38aad667-af54-4397-aaa7-e94c79ec2308"` + You can find your tenant ID by running this command: + `Get-CsTenant | Select-Object DisplayName, TenantID` + + Guid + + Guid + + + None + + + Confirm + + The Confirm switch causes the command to pause processing, and requires confirmation to proceed. + + + SwitchParameter + + + False + + + DomainController + + Specifies the domain controller that's used by the cmdlet to read or write the specified data. Valid inputs for this parameter are either the fully qualified domain name (FQDN) or the computer name. + + Fqdn + + Fqdn + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + + SwitchParameter + + + False + + + + + + Confirm + + The Confirm switch causes the command to pause processing, and requires confirmation to proceed. + + SwitchParameter + + SwitchParameter + + + False + + + DomainController + + Specifies the domain controller that's used by the cmdlet to read or write the specified data. Valid inputs for this parameter are either the fully qualified domain name (FQDN) or the computer name. + + Fqdn + + Fqdn + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + Specifies the globally unique identifier (GUID) of your Skype for Business Online tenant account. For example: + `-Tenant "38aad667-af54-4397-aaa7-e94c79ec2308"` + You can find your tenant ID by running this command: + `Get-CsTenant | Select-Object DisplayName, TenantID` + + Guid + + Guid + + + None + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + Deserialized.Microsoft.Rtc.Management.Hosted.Bvd.Types.LacTenant + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsOnlineDirectoryTenant -Tenant 7a205197-8e59-487d-b9fa-3fc1b108f1e5 + + This example returns the tenant specified by GUID. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csonlinedirectorytenant + + + Get-CsOnlineTelephoneNumber + + + + + + + Get-CsOnlineEnhancedEmergencyServiceDisclaimer + Get + CsOnlineEnhancedEmergencyServiceDisclaimer + + Use the Get-CsOnlineEnhancedEmergencyServiceDisclaimer cmdlet to determine whether your organization has accepted the terms and conditions of enhanced emergency service. + + + + You can use this cmdlet to determine whether your organization has accepted the terms and conditions of enhanced emergency service. The United States is currently the only country supported. + + + + Get-CsOnlineEnhancedEmergencyServiceDisclaimer + + CountryOrRegion + + Specifies the region or country whose terms and conditions you wish to verify. The United States is currently the only country supported, but it must be specified as "US". + + CountryInfo + + CountryInfo + + + None + + + DomainController + + This parameter is reserved for internal Microsoft use. + + Fqdn + + Fqdn + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + Version + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + + + + CountryOrRegion + + Specifies the region or country whose terms and conditions you wish to verify. The United States is currently the only country supported, but it must be specified as "US". + + CountryInfo + + CountryInfo + + + None + + + DomainController + + This parameter is reserved for internal Microsoft use. + + Fqdn + + Fqdn + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + Version + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + + + + None + + + + + + + + + + None + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsOnlineEnhancedEmergencyServiceDisclaimer -CountryOrRegion "US" + + This example returns your organization's enhanced emergency service terms and conditions acceptance status. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csonlineenhancedemergencyservicedisclaimer + + + Set-CsOnlineEnhancedEmergencyServiceDisclaimer + + + + + + + Get-CsOnlineLisCivicAddress + Get + CsOnlineLisCivicAddress + + Use the Get-CsOnlineLisCivicAddress cmdlet to retrieve information about existing emergency civic addresses defined in the Location Information Service (LIS). + + + + Returns one or more emergency civic addresses. + + + + Get-CsOnlineLisCivicAddress + + AssignmentStatus + + Note: This parameter has been deprecated from the Teams PowerShell Module version 3.0.0 or later. + Specifies whether the retrieved addresses have been assigned to users or not. Valid inputs are "Assigned", or "Unassigned". + + String + + String + + + None + + + City + + Specifies the city of the target civic address. + + String + + String + + + None + + + CivicAddressId + + Specifies the identity of the civic address to return. + + Guid + + Guid + + + None + + + CountryOrRegion + + Specifies the country or region of the target civic address. + + String + + String + + + None + + + Description + + Specifies the administrator defined description of the target civic address. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + LocationId + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + NumberOfResultsToSkip + + Specifies the number of results to skip. If there are a large number of civic addresses, you can limit the number of results by using the ResultSize parameter. If you limited the first cmdlet execution to 25 results, and want to look at the next 25 locations, then you leave ResultSize at 25 and set NumberOfResultsToSkip to 25 to omit the first 25 you've reviewed. For example the command below will return civic addresses 26-50 for Seattle. + `Get-CsOnlineLisCivicAddress -City Seattle -ResultSize 25 -NumberOfResultsToSkip 25` + + Int32 + + Int32 + + + None + + + PopulateNumberOfTelephoneNumbers + + If present, the PopulateNumberOfTelephoneNumbers switch causes the cmdlet to provide the number of phone numbers at the returned addresses. + + + SwitchParameter + + + False + + + PopulateNumberOfVoiceUsers + + If present, the PopulateNumberOfVoiceUsers switch causes the cmdlet to provide the number of voice users at the returned addresses. + + + SwitchParameter + + + False + + + ResultSize + + Specifies the maximum number of results to return. + + Int32 + + Int32 + + + None + + + ValidationStatus + + Specifies the validation status of the addresses to be returned. Valid inputs are: Valid, Invalid, and Notvalidated. + + String + + String + + + None + + + + + + AssignmentStatus + + Note: This parameter has been deprecated from the Teams PowerShell Module version 3.0.0 or later. + Specifies whether the retrieved addresses have been assigned to users or not. Valid inputs are "Assigned", or "Unassigned". + + String + + String + + + None + + + City + + Specifies the city of the target civic address. + + String + + String + + + None + + + CivicAddressId + + Specifies the identity of the civic address to return. + + Guid + + Guid + + + None + + + CountryOrRegion + + Specifies the country or region of the target civic address. + + String + + String + + + None + + + Description + + Specifies the administrator defined description of the target civic address. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + LocationId + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + NumberOfResultsToSkip + + Specifies the number of results to skip. If there are a large number of civic addresses, you can limit the number of results by using the ResultSize parameter. If you limited the first cmdlet execution to 25 results, and want to look at the next 25 locations, then you leave ResultSize at 25 and set NumberOfResultsToSkip to 25 to omit the first 25 you've reviewed. For example the command below will return civic addresses 26-50 for Seattle. + `Get-CsOnlineLisCivicAddress -City Seattle -ResultSize 25 -NumberOfResultsToSkip 25` + + Int32 + + Int32 + + + None + + + PopulateNumberOfTelephoneNumbers + + If present, the PopulateNumberOfTelephoneNumbers switch causes the cmdlet to provide the number of phone numbers at the returned addresses. + + SwitchParameter + + SwitchParameter + + + False + + + PopulateNumberOfVoiceUsers + + If present, the PopulateNumberOfVoiceUsers switch causes the cmdlet to provide the number of voice users at the returned addresses. + + SwitchParameter + + SwitchParameter + + + False + + + ResultSize + + Specifies the maximum number of results to return. + + Int32 + + Int32 + + + None + + + ValidationStatus + + Specifies the validation status of the addresses to be returned. Valid inputs are: Valid, Invalid, and Notvalidated. + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsOnlineLisCivicAddress -CivicAddressId 235678321ee38d9a5-33dc-4a32-9fb8-f234cedb91ac + + This example returns the civic address with the specified identification. + + + + -------------------------- Example 2 -------------------------- + Get-CsOnlineLisCivicAddress -City Seattle + + This example returns all the civic addresses in the city of Seattle. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csonlineliscivicaddress + + + Set-CsOnlineLisCivicAddress + + + + New-CsOnlineLisCivicAddress + + + + Remove-CsOnlineLisCivicAddress + + + + + + + Get-CsOnlineLisLocation + Get + CsOnlineLisLocation + + Use the Get-CsOnlineLisLocation cmdlet to retrieve information on previously defined locations in the Location Information Service (LIS.) + + + + + + + + Get-CsOnlineLisLocation + + CivicAddressId + + Specifies the identification number of the civic address that is associated with the target locations. + + Guid + + Guid + + + None + + + AssignmentStatus + + Note: This parameter has been deprecated from the Teams PowerShell Module version 3.0.0 or later. + Specifies whether the retrieved locations have been assigned to users or not. Valid inputs are "Assigned", or "Unassigned". + + String + + String + + + None + + + City + + Specifies the city of the target location. + + String + + String + + + None + + + CountryOrRegion + + Specifies the country or region of the target location. + + String + + String + + + None + + + Description + + Specifies the administrator defined description of the civic address that is associated with the target locations. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + NumberOfResultsToSkip + + Specifies the number of results to skip. If there are a large number of locations, you can limit the number of results by using the ResultSize parameter. If you limited the first cmdlet execution to 25 results, and want to look at the next 25 locations, then you leave ResultSize at 25 and set NumberOfResultsToSkip to 25 to omit the first 25 you've reviewed. For example the command below will return locations 26-50 for Seattle. + `Get-CsOnlineLisLocation -City Seattle -ResultSize 25 -NumberOfResultsToSkip 25` + + Int32 + + Int32 + + + None + + + PopulateNumberOfTelephoneNumbers + + If present, the PopulateNumberOfTelephoneNumbers switch causes the cmdlet to provide the number of telephone numbers at the returned locations. + + + SwitchParameter + + + False + + + PopulateNumberOfVoiceUsers + + If present, the PopulateNumberOfVoiceUsers switch causes the cmdlet to provide the number of voice users at the returned locations. + + + SwitchParameter + + + False + + + ResultSize + + Specifies the maximum number of results to return. + + Int32 + + Int32 + + + None + + + ValidationStatus + + Specifies the validation status of the addresses to be returned. Valid inputs are: Validated, Invalid, and Notvalidated. + + String + + String + + + None + + + + Get-CsOnlineLisLocation + + Location + + Specifies an administrator defined description of the location to retrieve. For example, "2nd Floor Cafe", "Main Lobby", or "Office 250". + + String + + String + + + None + + + AssignmentStatus + + Note: This parameter has been deprecated from the Teams PowerShell Module version 3.0.0 or later. + Specifies whether the retrieved locations have been assigned to users or not. Valid inputs are "Assigned", or "Unassigned". + + String + + String + + + None + + + City + + Specifies the city of the target location. + + String + + String + + + None + + + CountryOrRegion + + Specifies the country or region of the target location. + + String + + String + + + None + + + Description + + Specifies the administrator defined description of the civic address that is associated with the target locations. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + NumberOfResultsToSkip + + Specifies the number of results to skip. If there are a large number of locations, you can limit the number of results by using the ResultSize parameter. If you limited the first cmdlet execution to 25 results, and want to look at the next 25 locations, then you leave ResultSize at 25 and set NumberOfResultsToSkip to 25 to omit the first 25 you've reviewed. For example the command below will return locations 26-50 for Seattle. + `Get-CsOnlineLisLocation -City Seattle -ResultSize 25 -NumberOfResultsToSkip 25` + + Int32 + + Int32 + + + None + + + PopulateNumberOfTelephoneNumbers + + If present, the PopulateNumberOfTelephoneNumbers switch causes the cmdlet to provide the number of telephone numbers at the returned locations. + + + SwitchParameter + + + False + + + PopulateNumberOfVoiceUsers + + If present, the PopulateNumberOfVoiceUsers switch causes the cmdlet to provide the number of voice users at the returned locations. + + + SwitchParameter + + + False + + + ResultSize + + Specifies the maximum number of results to return. + + Int32 + + Int32 + + + None + + + ValidationStatus + + Specifies the validation status of the addresses to be returned. Valid inputs are: Validated, Invalid, and Notvalidated. + + String + + String + + + None + + + + Get-CsOnlineLisLocation + + AssignmentStatus + + Note: This parameter has been deprecated from the Teams PowerShell Module version 3.0.0 or later. + Specifies whether the retrieved locations have been assigned to users or not. Valid inputs are "Assigned", or "Unassigned". + + String + + String + + + None + + + City + + Specifies the city of the target location. + + String + + String + + + None + + + CountryOrRegion + + Specifies the country or region of the target location. + + String + + String + + + None + + + Description + + Specifies the administrator defined description of the civic address that is associated with the target locations. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + LocationId + + Specifies the unique identifier of the target location. + + Guid + + Guid + + + None + + + NumberOfResultsToSkip + + Specifies the number of results to skip. If there are a large number of locations, you can limit the number of results by using the ResultSize parameter. If you limited the first cmdlet execution to 25 results, and want to look at the next 25 locations, then you leave ResultSize at 25 and set NumberOfResultsToSkip to 25 to omit the first 25 you've reviewed. For example the command below will return locations 26-50 for Seattle. + `Get-CsOnlineLisLocation -City Seattle -ResultSize 25 -NumberOfResultsToSkip 25` + + Int32 + + Int32 + + + None + + + PopulateNumberOfTelephoneNumbers + + If present, the PopulateNumberOfTelephoneNumbers switch causes the cmdlet to provide the number of telephone numbers at the returned locations. + + + SwitchParameter + + + False + + + PopulateNumberOfVoiceUsers + + If present, the PopulateNumberOfVoiceUsers switch causes the cmdlet to provide the number of voice users at the returned locations. + + + SwitchParameter + + + False + + + ResultSize + + Specifies the maximum number of results to return. + + Int32 + + Int32 + + + None + + + ValidationStatus + + Specifies the validation status of the addresses to be returned. Valid inputs are: Validated, Invalid, and Notvalidated. + + String + + String + + + None + + + + + + CivicAddressId + + Specifies the identification number of the civic address that is associated with the target locations. + + Guid + + Guid + + + None + + + Location + + Specifies an administrator defined description of the location to retrieve. For example, "2nd Floor Cafe", "Main Lobby", or "Office 250". + + String + + String + + + None + + + AssignmentStatus + + Note: This parameter has been deprecated from the Teams PowerShell Module version 3.0.0 or later. + Specifies whether the retrieved locations have been assigned to users or not. Valid inputs are "Assigned", or "Unassigned". + + String + + String + + + None + + + City + + Specifies the city of the target location. + + String + + String + + + None + + + CountryOrRegion + + Specifies the country or region of the target location. + + String + + String + + + None + + + Description + + Specifies the administrator defined description of the civic address that is associated with the target locations. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + LocationId + + Specifies the unique identifier of the target location. + + Guid + + Guid + + + None + + + NumberOfResultsToSkip + + Specifies the number of results to skip. If there are a large number of locations, you can limit the number of results by using the ResultSize parameter. If you limited the first cmdlet execution to 25 results, and want to look at the next 25 locations, then you leave ResultSize at 25 and set NumberOfResultsToSkip to 25 to omit the first 25 you've reviewed. For example the command below will return locations 26-50 for Seattle. + `Get-CsOnlineLisLocation -City Seattle -ResultSize 25 -NumberOfResultsToSkip 25` + + Int32 + + Int32 + + + None + + + PopulateNumberOfTelephoneNumbers + + If present, the PopulateNumberOfTelephoneNumbers switch causes the cmdlet to provide the number of telephone numbers at the returned locations. + + SwitchParameter + + SwitchParameter + + + False + + + PopulateNumberOfVoiceUsers + + If present, the PopulateNumberOfVoiceUsers switch causes the cmdlet to provide the number of voice users at the returned locations. + + SwitchParameter + + SwitchParameter + + + False + + + ResultSize + + Specifies the maximum number of results to return. + + Int32 + + Int32 + + + None + + + ValidationStatus + + Specifies the validation status of the addresses to be returned. Valid inputs are: Validated, Invalid, and Notvalidated. + + String + + String + + + None + + + + + + None + + + + + + + + + + Returns an instance, or instances of emergency location objects. + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsOnlineLisLocation -City Seattle -ResultSize 25 -ValidationStatus Validated + + This example returns a maximum of 25 validated locations in Seattle. + + + + -------------------------- Example 2 -------------------------- + Get-CsOnlineLisLocation -CivicAddressId a363a9b8-1acd-41de-916a-296c7998a024 + + This example returns the locations associated with a civic address specified by its unique identifier. + + + + -------------------------- Example 3 -------------------------- + Get-CsOnlineLisLocation -Location "3rd Floor Cafe" + + This example returns the location described as the "3rd Floor Cafe". + + + + -------------------------- Example 4 -------------------------- + Get-CsOnlineLisLocation -LocationId 5aa884e8-d548-4b8e-a289-52bfd5265a6e + + This example returns the information on one location specified by its unique identifier. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csonlinelislocation + + + Set-CsOnlineLisLocation + + + + New-CsOnlineLisLocation + + + + Remove-CsOnlineLisLocation + + + + + + + Get-CsOnlineLisPort + Get + CsOnlineLisPort + + Retrieves one or more ports from the location configuration database. Each port can be associated with a location, in which case this cmdlet will also retrieve the location information of the ports. This location association is used in an Enhanced 9-1-1 (E9-1-1) Enterprise Voice implementation to notify an emergency services operator of the caller's location. + + + + Enhanced 9-1-1 allows an emergency operator to identify the location of a caller without having to ask the caller for that information. In the case where a caller is calling from a Voice over Internet Protocol (VoIP) connection, that information must be extracted based on various connection factors. The VoIP administrator must configure a location map (called a wiremap) that will determine a caller's location. This cmdlet retrieves information on associations between physical locations and the port through which the client is connected. + + + + Get-CsOnlineLisPort + + ChassisID + + The Media Access Control (MAC) address of the port's switch. This value will be in the form nn-nn-nn-nn-nn-nn, such as 12-34-56-78-90-ab. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + IsDebug + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + NCSApiUrl + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + PortID + + This parameter identifies the ID of the port. + + String + + String + + + None + + + TargetStore + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + + + + ChassisID + + The Media Access Control (MAC) address of the port's switch. This value will be in the form nn-nn-nn-nn-nn-nn, such as 12-34-56-78-90-ab. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + IsDebug + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + NCSApiUrl + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + PortID + + This parameter identifies the ID of the port. + + String + + String + + + None + + + TargetStore + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + + + + System.Guid + + + + + + + + System.String + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsOnlineLisPort + +PortID ChassisID LocationId Description +------ --------- ---------- ----------- +G1/0/30 B8-BE-BF-4A-A3-00 9905bca0-6fb0-11ec-84a4-25019013784a +S2/0/25 F6-26-79-B5-3D-49 d7714269-ee52-4635-97b0-d7c228801d24 + + Example 1 retrieves all Location Information Server (LIS) ports and any associated locations. + + + + -------------------------- Example 2 -------------------------- + Get-CsOnlineLisPort -ChassisID 'B8-BE-BF-4A-A3-00' -PortID 'G1/0/30' + +PortID ChassisID LocationId Description +------ --------- ---------- ----------- +G1/0/30 B8-BE-BF-4A-A3-00 9905bca0-6fb0-11ec-84a4-25019013784a + + Example 2 retrieves the location information for port G1/0/30 with ChassisID B8-BE-BF-4A-A3-00. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csonlinelisport + + + Set-CsOnlineLisPort + + + + Remove-CsOnlineLisPort + + + + + + + Get-CsOnlineLisSubnet + Get + CsOnlineLisSubnet + + Retrieves one or more subnets from the location configuration database. Each subnet can be associated with a location, in which case this cmdlet will also retrieve the location information of the subnets. This location association is used in an Enhanced 9-1-1 (E9-1-1) Enterprise Voice implementation to notify an emergency services operator of the caller's location. + + + + Enhanced 9-1-1 allows an emergency operator to identify the location of a caller without having to ask the caller for that information. In the case where a caller is calling from a Voice over Internet Protocol (VoIP) connection, that information must be extracted based on various connection factors. The VoIP administrator must configure a location map (called a wiremap) that will determine a caller's location. This cmdlet retrieves information on associations between physical locations and the subnet through which calls are routed. + The location ID which is associating with the subnet is not required to be the existing location. + + + + Get-CsOnlineLisSubnet + + TenantId + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + Subnet + + The IP address of the subnet. This value can be either IPv4 or IPv6 format. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + IsDebug + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + NCSApiUrl + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + TargetStore + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + IsDebug + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + NCSApiUrl + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + Subnet + + The IP address of the subnet. This value can be either IPv4 or IPv6 format. + + String + + String + + + None + + + TargetStore + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + TenantId + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + + + + System.Guid + + + + + + + + System.String + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsOnlineLisSubnet + + Example 1 retrieves all Location Information Server (LIS) subnets. + + + + -------------------------- Example 2 -------------------------- + Get-CsOnlineLisSubnet -Subnet 10.106.89.12 + + Example 2 retrieves the Location Information Server (LIS) subnet for Subnet ID "10.106.89.12". + + + + -------------------------- Example 3 -------------------------- + Get-CsOnlineLisSubnet -Subnet 2001:4898:e8:6c:90d2:28d4:76a4:ec5e + + Example 2 retrieves the Location Information Server (LIS) subnet for Subnet ID "2001:4898:e8:6c:90d2:28d4:76a4:ec5e". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csonlinelissubnet + + + + + + Get-CsOnlineLisSwitch + Get + CsOnlineLisSwitch + + Retrieves one or more network switches from the location configuration database. Each switch can be associated with a location, in which case this cmdlet will also retrieve the location information of the switches. This location association is used in an Enhanced 9-1-1 (E9-1-1) Enterprise Voice implementation to notify an emergency services operator of the caller's location. + + + + Enhanced 9-1-1 allows an emergency operator to identify the location of a caller without having to ask the caller for that information. In the case where a caller is calling from a Voice over Internet Protocol (VoIP) connection, that information must be extracted based on various connection factors. The VoIP administrator must configure a location map (called a wiremap) that will determine a caller's location. This cmdlet retrieves information on associations between physical locations and the network switch through which the client is connected. + + + + Get-CsOnlineLisSwitch + + ChassisID + + The Media Access Control (MAC) address of the port's switch. This value will be in the form nn-nn-nn-nn-nn-nn, such as 12-34-56-78-90-ab. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + IsDebug + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + NCSApiUrl + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + TargetStore + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + + + + ChassisID + + The Media Access Control (MAC) address of the port's switch. This value will be in the form nn-nn-nn-nn-nn-nn, such as 12-34-56-78-90-ab. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + IsDebug + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + NCSApiUrl + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + TargetStore + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + + + + System.String + + + + + + + + System.String + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsOnlineLisSwitch + +ChassisID LocationId Description +--------- ---------- ----------- +B8-BE-BF-4A-A3-00 9905bca0-6fb0-11ec-84a4-25019013784a DKSwitch1 +F6-26-79-B5-3D-49 d7714269-ee52-4635-97b0-d7c228801d24 USSwitch1 + + Example 1 retrieves all Location Information Server (LIS) switches and any associated locations. + + + + -------------------------- Example 2 -------------------------- + Get-CsOnlineLisSwitch -ChassisID B8-BE-BF-4A-A3-00 + +ChassisID LocationId Description +--------- ---------- ----------- +B8-BE-BF-4A-A3-00 9905bca0-6fb0-11ec-84a4-25019013784a DKSwitch1 + + Example 2 retrieves Location Information Server (LIS) switch "B8-BE-BF-4A-A3-00" and associated location. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csonlinelisswitch + + + Set-CsOnlineLisSwitch + + + + Remove-CsOnlineLisSwitch + + + + + + + Get-CsOnlineLisWirelessAccessPoint + Get + CsOnlineLisWirelessAccessPoint + + Retrieves one or more wireless access points (WAPs) from the location configuration database. Each WAP can be associated with a location, in which case this cmdlet will also retrieve the location information of the WAPs. This location association is used in an Enhanced 9-1-1 (E9-1-1) Enterprise Voice implementation to notify an emergency services operator of the caller's location. + + + + Enhanced 9-1-1 allows an emergency operator to identify the location of a caller without having to ask the caller for that information. In the case where a caller is calling from a Voice over Internet Protocol (VoIP) connection, that information must be extracted based on various connection factors. The VoIP administrator must configure a location map (called a wiremap) that will determine a caller's location. This cmdlet retrieves information on associations between physical locations and the WAP through which the client is connected. + The BSSID (Basic Service Set Identifiers) is used to describe sections of a wireless local area network. It is the MAC of the 802.11 side of the access point. The BSSID parameter in this command also supports the wildcard format to cover all BSSIDs in the range which are sharing the same description and Location ID. The wildcard '*' can be on either the last one or two character(s). + If a BSSID with a wildcard format is already exists, a location request with a WAP which is within this wildcard range will return the access point that is configured with the wildcard format. + + + + Get-CsOnlineLisWirelessAccessPoint + + BSSID + + The Basic Service Set Identifier (BSSID) of the wireless access point. This value must be in the form nn-nn-nn-nn-nn-nn, such as 12-34-56-78-90-ab. It can be presented in wildcard format. The wildcard '*' can be on either the last one or two character(s). + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + IsDebug + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + NCSApiUrl + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + TargetStore + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + + + + BSSID + + The Basic Service Set Identifier (BSSID) of the wireless access point. This value must be in the form nn-nn-nn-nn-nn-nn, such as 12-34-56-78-90-ab. It can be presented in wildcard format. The wildcard '*' can be on either the last one or two character(s). + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + IsDebug + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + NCSApiUrl + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + TargetStore + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + + + + System.String + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsOnlineLisWirelessAccessPoint + +BSSID LocationId Description +----- ---------- ----------- +F0-6E-0B-C2-03-23 d7714269-ee52-4635-97b0-d7c228801d24 USWAP1 +34-E3-80-D5-AB-60 9905bca0-6fb0-11ec-84a4-25019013784a DKWAP1 +F0-6E-0B-C2-03-* b2804a1a-e4cf-47df-8964-3eaf6fe1ae3a SEWAPs + + Example 1 retrieves all Location Information Server (LIS) wireless access points and any associated locations. + + + + -------------------------- Example 2 -------------------------- + Get-CsOnlineLisWirelessAccessPoint -BSSID F0-6E-0B-C2-03-23 + +BSSID LocationId Description +----- ---------- ----------- +F0-6E-0B-C2-03-23 d7714269-ee52-4635-97b0-d7c228801d24 USWAP1 + + Example 2 retrieves Location Information Server (LIS) wireless access point "F0-6E-0B-C2-03-23" and associated location. + + + + -------------------------- Example 3 -------------------------- + Get-CsOnlineLisWirelessAccessPoint -BSSID F0-6E-0B-C2-03-* + +BSSID LocationId Description +----- ---------- ----------- +F0-6E-0B-C2-03-* b2804a1a-e4cf-47df-8964-3eaf6fe1ae3a SEWAPs + + Example 3 retrieves Location Information Server (LIS) wireless access point "F0-6E-0B-C2-03-*" and associated location. + + + + -------------------------- Example 4 -------------------------- + Get-CsOnlineLisWirelessAccessPoint -BSSID F0-6E-0B-C2-03-12 + +BSSID LocationId Description +----- ---------- ----------- +F0-6E-0B-C2-03-* b2804a1a-e4cf-47df-8964-3eaf6fe1ae3a SEWAPs + + Example 4 retrieves Location Information Server (LIS) wireless access point "F0-6E-0B-C2-03-12" and associated location. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csonlineliswirelessaccesspoint + + + Set-CsOnlineLisWirelessAccessPoint + + + + Remove-CsOnlineLisWirelessAccessPoint + + + + + + + Get-CsOnlinePSTNGateway + Get + CsOnlinePSTNGateway + + Shows the configuration of the previously defined Session Border Controller(s) (SBC(s)) that describes the settings for the peer entity. This cmdlet was introduced with Microsoft Phone System Direct Routing. + + + + Use this cmdlet to show the configuration of the previously created Session Border Controller(s) (SBC(s)) configuration. Each configuration contains specific settings for an SBC. These settings configure such entities as SIP signaling port, whether media bypass is enabled on this SBC, will the SBC send SIP options, specify the limit of maximum concurrent sessions, The cmdlet also let drain the SBC by setting parameter -Enabled to true or false state. When the Enabled parameter set to $false, the SBC will continue existing calls, bit all new calls routed to another SBC in a route (if exists). + + + + Get-CsOnlinePSTNGateway + + Filter + + + + String + + String + + + None + + + + Get-CsOnlinePSTNGateway + + Identity + + The parameter is optional for the cmdlet. If not set all SBCs paired to the tenant are listed. + + String + + String + + + None + + + + + + Filter + + + + String + + String + + + None + + + Identity + + The parameter is optional for the cmdlet. If not set all SBCs paired to the tenant are listed. + + String + + String + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsOnlinePSTNGateway + + This example shows all SBCs paired with the tenant. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Get-CsOnlinePSTNGateway -Filter "*.contoso.com" + + This example selects all SBCs with identities matching the pattern *.contoso.com, such as sbc1.contoso.com and sbc2.contoso.com. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csonlinepstngateway + + + Set-CsOnlinePSTNGateway + + + + New-CsOnlinePSTNGateway + + + + Remove-CsOnlinePSTNGateway + + + + + + + Get-CsOnlinePstnUsage + Get + CsOnlinePstnUsage + + Returns information about online public switched telephone network (PSTN) usage records used in your tenant. + + + + Online PSTN usages are string values that are used for call authorization. An online PSTN usage links an online voice policy to a route. The `Get-CsOnlinePstnUsage` cmdlet retrieves the list of all online PSTN usages available within a tenant. + This cmdlet is used when configuring Microsoft Phone System Direct Routing. + + + + Get-CsOnlinePstnUsage + + Filter + + The Filter parameter allows you to retrieve only those PSTN usages with an Identity matching a particular wildcard string. However, the only Identity available to PSTN usages is Global, so this parameter is not useful for this cmdlet. + + String + + String + + + None + + + + Get-CsOnlinePstnUsage + + Identity + + The level at which these settings are applied. The only identity that can be applied to PSTN usages is Global. + + String + + String + + + None + + + + + + Filter + + The Filter parameter allows you to retrieve only those PSTN usages with an Identity matching a particular wildcard string. However, the only Identity available to PSTN usages is Global, so this parameter is not useful for this cmdlet. + + String + + String + + + None + + + Identity + + The level at which these settings are applied. The only identity that can be applied to PSTN usages is Global. + + String + + String + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CSOnlinePSTNUsage + + This command returns the list of global PSTN usages available within the tenant. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csonlinepstnusage + + + Set-CsOnlinePstnUsage + + + + + + + Get-CsOnlineSchedule + Get + CsOnlineSchedule + + Use the Get-CsOnlineSchedule cmdlet to get information about schedules that belong to your organization. + + + + The Get-CsOnlineSchedule cmdlet returns information about the schedules in your organization. + + + + Get-CsOnlineSchedule + + Id + + The Id for the schedule to be retrieved. If this parameter is not specified, then all schedules in the organization are returned. + + System.String + + System.String + + + None + + + + + + Id + + The Id for the schedule to be retrieved. If this parameter is not specified, then all schedules in the organization are returned. + + System.String + + System.String + + + None + + + + + + System.String + + + The Get-CsOnlineSchedule cmdlet accepts a string as the Id parameter. + + + + + + + Microsoft.Rtc.Management.Hosted.Online.Models.Schedule + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsOnlineSchedule + + This example retrieves all schedules that belong to your organization. + + + + -------------------------- Example 2 -------------------------- + Get-CsOnlineSchedule -Id "f7a821dc-2d69-5ae8-8525-bcb4a4556093" + + This example gets the schedules that has the Id of f7a821dc-2d69-5ae8-8525-bcb4a4556093. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csonlineschedule + + + New-CsOnlineTimeRange + + + + New-CsOnlineDateTimeRange + + + + New-CsAutoAttendantCallFlow + + + + + + + Get-CsOnlineSipDomain + Get + CsOnlineSipDomain + + This cmdlet lists online sip domains and their enabled/disabled status. In a disabled domain, provisioning of users is blocked. Once a domain is re-enabled, provisioning of users in that domain will happen. + + + + + This cmdlet is useful for organizations consolidating multiple on-premises deployments of Skype for Business Server into a single Office 365 tenant. During consolidation, sip domains for all forests hosting Skype for Business Server - other than the forest currently in hybrid mode - must be disabled. Once a hybrid deployment is fully migrated to the cloud and detached from Office 365, the next forest can start migration to the cloud. This cmdlet allows administrators to view the status of sip domains in their Office 365 tenant. For full details on cloud consolidation scenarios, see Cloud consolidation for Teams and Skype for Business (https://learn.microsoft.com/skypeforbusiness/hybrid/cloud-consolidation). + + + + Get-CsOnlineSipDomain + + Domain + + A specific domain to get the status of. + + String + + String + + + None + + + DomainStatus + + This indicates the status of an online sip domain, which can be either enabled or disabled. + + + All + Enabled + Disabled + + DomainStatus + + DomainStatus + + + None + + + + + + Domain + + A specific domain to get the status of. + + String + + String + + + None + + + DomainStatus + + This indicates the status of an online sip domain, which can be either enabled or disabled. + + DomainStatus + + DomainStatus + + + None + + + + + + None + + + + + + + + + + Microsoft.Rtc.Management.Hosted.Provision.OSD.OnlineSipDomainBase+DomainState + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsOnlineSipDomain + + List all online SIP domains in the tenant and show their enabled/disabled status. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Get-CsOnlineSipDomain -DomainStatus Disabled + + List all disabled online SIP domains in the tenant. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csonlinesipdomain + + + Disable-CsOnlineSipDomain + + + + Enable-CsOnlineSipDomain + + + + Cloud consolidation for Teams and Skype for Business + https://learn.microsoft.com/skypeforbusiness/hybrid/cloud-consolidation + + + + + + Get-CsOnlineTelephoneNumber + Get + CsOnlineTelephoneNumber + + Use the `Get-CsOnlineTelephoneNumber` to retrieve telephone numbers from the Business Voice Directory. Note : This cmdlet has been deprecated. Use the new Get-CsPhoneNumberAssignment (/powershell/module/teams/get-csphonenumberassignment) cmdlet instead. For Microsoft 365 GCC High and DoD cloud instances use the new [Get-CshybridTelephoneNumber](/powershell/module/teams/get-cshybridtelephonenumber)cmdlet instead. + + + + Use the `Get-CsOnlineTelephoneNumber` to retrieve telephone numbers from the Business Voice Directory. Note: By default the result size is limited to 500 items, specify a higher result size using ResultSize parameter. + + + + Get-CsOnlineTelephoneNumber + + ActivationState + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + Assigned + + Specifies the function of the telephone number. The acceptable values are: + * "caa" for numbers assigned to conferencing functions. + * "user" for numbers assigned to public switched telephone network (PSTN) functions. + The values for the Assigned parameter are case-sensitive. + + MultiValuedProperty + + MultiValuedProperty + + + None + + + CapitalOrMajorCity + + Specifies the city by a concatenated string in the form: region-country-area-city. For example, "NOAM-US-OR-PO" would specify Portland, Oregon. + The values for the CapitalOrMajorCity parameter are case-sensitive. + + String + + String + + + None + + + DomainController + + This parameter is reserved for internal Microsoft use. + + Fqdn + + Fqdn + + + None + + + ExpandLocation + + Displays the location parameter with its value. + + + SwitchParameter + + + False + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + InventoryType + + Specifies the target telephone number type for the cmdlet. Acceptable values are: + * "Service" for numbers assigned to conferencing support, call queue or auto attendant. + * "Subscriber" for numbers supporting public switched telephone network (PSTN) functions. + The values for the InventoryType parameter are case-sensitive. + + MultiValuedProperty + + MultiValuedProperty + + + None + + + IsNotAssigned + + Specifying this switch parameter will return only telephone numbers which are not assigned. + + + SwitchParameter + + + False + + + ResultSize + + Specifies the number of records returned by the cmdlet. The result size can be set to any whole number between 0 and 2147483647, inclusive. If set to 0, the command will run, but no data will be returned. + + UInt32 + + UInt32 + + + None + + + TelephoneNumber + + Specifies the target telephone number. For example: + `-TelephoneNumber tel:+18005551234, or -TelephoneNumber +14251234567` + + String + + String + + + None + + + TelephoneNumberGreaterThan + + Specifies a telephone number used by the cmdlet as the lower boundary of the telephone numbers returned. The telephone numbers returned will all be greater than the number provided. The telephone number should be in E.164 format. + + String + + String + + + None + + + TelephoneNumberLessThan + + Specifies a telephone number used by the cmdlet as the upper boundary of the telephone numbers returned. The telephone numbers returned will all be less than the number provided. The telephone number should be in E.164 format. + + String + + String + + + None + + + TelephoneNumberStartsWith + + Specifies the digits that the returned telephone numbers must begin with. To return numbers in the North American Numbering Plan 425 area code, use this syntax: -TelephoneNumberStartsWith 1425. To return numbers that are in the 206 area code and that begin with 88, use this syntax: -TelephoneNumberStartsWith 120688. You can use up to nine digits. + + String + + String + + + None + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + + + + ActivationState + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + Assigned + + Specifies the function of the telephone number. The acceptable values are: + * "caa" for numbers assigned to conferencing functions. + * "user" for numbers assigned to public switched telephone network (PSTN) functions. + The values for the Assigned parameter are case-sensitive. + + MultiValuedProperty + + MultiValuedProperty + + + None + + + CapitalOrMajorCity + + Specifies the city by a concatenated string in the form: region-country-area-city. For example, "NOAM-US-OR-PO" would specify Portland, Oregon. + The values for the CapitalOrMajorCity parameter are case-sensitive. + + String + + String + + + None + + + DomainController + + This parameter is reserved for internal Microsoft use. + + Fqdn + + Fqdn + + + None + + + ExpandLocation + + Displays the location parameter with its value. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + InventoryType + + Specifies the target telephone number type for the cmdlet. Acceptable values are: + * "Service" for numbers assigned to conferencing support, call queue or auto attendant. + * "Subscriber" for numbers supporting public switched telephone network (PSTN) functions. + The values for the InventoryType parameter are case-sensitive. + + MultiValuedProperty + + MultiValuedProperty + + + None + + + IsNotAssigned + + Specifying this switch parameter will return only telephone numbers which are not assigned. + + SwitchParameter + + SwitchParameter + + + False + + + ResultSize + + Specifies the number of records returned by the cmdlet. The result size can be set to any whole number between 0 and 2147483647, inclusive. If set to 0, the command will run, but no data will be returned. + + UInt32 + + UInt32 + + + None + + + TelephoneNumber + + Specifies the target telephone number. For example: + `-TelephoneNumber tel:+18005551234, or -TelephoneNumber +14251234567` + + String + + String + + + None + + + TelephoneNumberGreaterThan + + Specifies a telephone number used by the cmdlet as the lower boundary of the telephone numbers returned. The telephone numbers returned will all be greater than the number provided. The telephone number should be in E.164 format. + + String + + String + + + None + + + TelephoneNumberLessThan + + Specifies a telephone number used by the cmdlet as the upper boundary of the telephone numbers returned. The telephone numbers returned will all be less than the number provided. The telephone number should be in E.164 format. + + String + + String + + + None + + + TelephoneNumberStartsWith + + Specifies the digits that the returned telephone numbers must begin with. To return numbers in the North American Numbering Plan 425 area code, use this syntax: -TelephoneNumberStartsWith 1425. To return numbers that are in the 206 area code and that begin with 88, use this syntax: -TelephoneNumberStartsWith 120688. You can use up to nine digits. + + String + + String + + + None + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + + + + None + + + + + + + + + + Deserialized.Microsoft.Skype.EnterpriseVoice.BVDClient.Number + + + An instance or array of the objects. + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsOnlineTelephoneNumber -TelephoneNumber 19294450177 + + This example gets the attributes of a specific phone number. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Get-CsOnlineTelephoneNumber -CapitalOrMajorCity NOAM-US-NY-NY + +RunspaceId : f90303a9-c6a8-483c-b3b3-a5b8cdbab19c + +ActivationState : Activated + +BridgeNumber : + +CallingProfile : BandwidthUS + +InventoryType : Service + +CityCode : NOAM-US-NY-NY + +Id : 19294450177 + +InventoryType : Service + +Location : + +O365Region : NOAM + +SourceType : Tnm + +TargetType : caa + +Tenant : + +TenantId : + +UserId : + +IsManagedByServiceDesk : True + +PortInOrderStatus : + + This example gets the phone numbers with the city code designating New York, New York. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csonlinetelephonenumber + + + Remove-CsOnlineTelephoneNumber + + + + + + + Get-CsOnlineTelephoneNumberCountry + Get + CsOnlineTelephoneNumberCountry + + Use the `Get-CsOnlineTelephoneNumberCountry` cmdlet to get the list of supported countries or regions to search and acquire new telephone numbers. The telephone numbers can then be used to set up calling features for users and services in your organization. + + + + Use the `Get-CsOnlineTelephoneNumberCountry` cmdlet to get the list of supported countries or regions to search and acquire new telephone numbers. The telephone numbers can then be used to set up calling features for users and services in your organization. + + + + Get-CsOnlineTelephoneNumberCountry + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsOnlineTelephoneNumberCountry + +Name Value +---- ----- +Antigua and Barbuda AG +Argentina AR +Australia AU +Austria AT +... +United Kingdom GB +United States US +Uruguay UY +Venezuela VE +Vietnam VN + + This example returns the list of supported countries or regions for the cmdlet search and acquire of new telephone numbers. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csonlinetelephonenumbercountry + + + Get-CsOnlineTelephoneNumberCountry + + + + Get-CsOnlineTelephoneNumberType + + + + New-CsOnlineTelephoneNumberOrder + + + + Get-CsOnlineTelephoneNumberOrder + + + + Complete-CsOnlineTelephoneNumberOrder + + + + Clear-CsOnlineTelephoneNumberOrder + + + + + + + Get-CsOnlineTelephoneNumberOrder + Get + CsOnlineTelephoneNumberOrder + + Use the `Get-CsOnlineTelephoneNumberOrder` cmdlet to get the order report of a specific telephone number search order. The telephone numbers can then be used to set up calling features for users and services in your organization. + + + + Use the `Get-CsOnlineTelephoneNumberOrder` cmdlet to get the order report of a specific telephone number search order. The telephone numbers can then be used to set up calling features for users and services in your organization. + + + + Get-CsOnlineTelephoneNumberOrder + + OrderId + + Specifies the telephone number search order to look up. Use `New-CsOnlineTelephoneNumberOrder` to create a search order to obtain a search order Id. + + String + + String + + + None + + + + + + OrderId + + Specifies the telephone number search order to look up. Use `New-CsOnlineTelephoneNumberOrder` to create a search order to obtain a search order Id. + + String + + String + + + None + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> $order = Get-CsOnlineTelephoneNumberOrder -OrderId 1efd85ca-dd46-41b3-80a0-2e4c5f87c912 + +AreaCode : +CivicAddressId : +CountryCode : US +CreatedAt : 8/23/2021 5:43:44 PM +Description : test +ErrorCode : NoError +Id : 1efd85ca-dd46-41b3-80a0-2e4c5f87c912 +InventoryType : Subscriber +IsManual : False +Name : test +NumberPrefix : 1718 +NumberType : UserSubscriber +Quantity : 1 +ReservationExpiryDate : 8/23/2021 5:59:45 PM +SearchType : Prefix +SendToServiceDesk : False +Status : Reserved +TelephoneNumber : {Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TelephoneNumberSearchResult} + +PS C:\> $order.TelephoneNumber + +Location TelephoneNumber +-------- --------------- +New York City +17182000004 + + This example returns a successful telephone number search and the telephone number +17182000004 is reserved for purchase. + + + + -------------------------- Example 2 -------------------------- + PS C:\> $order = Get-CsOnlineTelephoneNumberOrder -OrderId 8d23e073-bc98-4f73-8e05-7517655d7042 + +AreaCode : +CivicAddressId : +CountryCode : US +CreatedAt : 8/23/2021 6:53:12 PM +Description : test +ErrorCode : OutOfStock +Id : 8d23e073-bc98-4f73-8e05-7517655d7042 +InventoryType : Subscriber +IsManual : False +Name : test +NumberPrefix : 1425 +NumberType : UserSubscriber +Quantity : 1 +ReservationExpiryDate : +SearchType : Prefix +SendToServiceDesk : False +Status : Error +TelephoneNumber : {} + + This example returns a failed telephone number search and the `ErrorCode` is showing that telephone numbers with `NumberPrefix: 1425` is `OutOfStock`. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csonlinetelephonenumberorder + + + Get-CsOnlineTelephoneNumberCountry + + + + Get-CsOnlineTelephoneNumberType + + + + New-CsOnlineTelephoneNumberOrder + + + + Get-CsOnlineTelephoneNumberOrder + + + + Complete-CsOnlineTelephoneNumberOrder + + + + Clear-CsOnlineTelephoneNumberOrder + + + + + + + Get-CsOnlineTelephoneNumberType + Get + CsOnlineTelephoneNumberType + + Use the `Get-CsOnlineTelephoneNumberType` cmdlet to get the list of supported telephone number offerings in a given country or region. The telephone numbers can then be used to set up calling features for users and services in your organization. + + + + Use the `Get-CsOnlineTelephoneNumberType` cmdlet to get the list of supported telephone number offerings in a given country or region. The `NumberType` field in the response is used to indicate the capabilities of a given offering. The telephone numbers can then be used to set up calling features for users and services in your organization. + + + + Get-CsOnlineTelephoneNumberType + + Country + + Specifies the country or region that the number offerings belong. The country code uses ISO 3166 standard and the list of supported countries or regions can be found by calling `Get-CsOnlineTelephoneNumberCountry`. + + String + + String + + + None + + + + + + Country + + Specifies the country or region that the number offerings belong. The country code uses ISO 3166 standard and the list of supported countries or regions can be found by calling `Get-CsOnlineTelephoneNumberCountry`. + + String + + String + + + None + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsOnlineTelephoneNumberType -Country US + +AllowedSearchType : {CivicAddress, Prefix} +AreaCode : +AvailabilityInfo : Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.AvailabilityInfo +Id : 470316bd-815e-459d-80e7-d7332f00fcb9 +NumberType : UserSubscriber +OfferModel : DirectStock +PrefixSearchOption : Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PrefixSearchOptions +RequiresCivicAddress : True + +AllowedSearchType : {CivicAddress, Prefix} +AreaCode : +AvailabilityInfo : Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.AvailabilityInfo +Id : 25444938-a335-4a85-b64d-d445b45f04e3 +NumberType : UserSubscriberVoiceAndSms +OfferModel : DirectStock +PrefixSearchOption : Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.PrefixSearchOptions +RequiresCivicAddress : True + + This example returns the list of supported number offerings in United States. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Get-CsOnlineTelephoneNumberType -Country CA | ft NumberType + +NumberType +---------- +UserSubscriber +UserSubscriberVoiceAndSms +ConferenceToll +ConferenceTollFree +CallQueueToll +CallQueueTollFree +AutoAttendantToll +AutoAttendantTollFree + + This example returns the list of supported NumberTypes in Canada. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csonlinetelephonenumbertype + + + Get-CsOnlineTelephoneNumberCountry + + + + Get-CsOnlineTelephoneNumberType + + + + New-CsOnlineTelephoneNumberOrder + + + + Get-CsOnlineTelephoneNumberOrder + + + + Complete-CsOnlineTelephoneNumberOrder + + + + Clear-CsOnlineTelephoneNumberOrder + + + + + + + Get-CsOnlineUser + Get + CsOnlineUser + + Returns information about users who have accounts homed on Microsoft Teams or Skype for Business Online. + + + + The Get-CsOnlineUser cmdlet returns information about users who have accounts homed on Microsoft Teams or Skype for Business Online. The returned information includes standard Active Directory account information (such as the department the user works in, his or her address and phone number, etc.) as well as Skype for Business Server 2015 specific information: the Get-CsOnlineUser cmdlet returns information about such things as whether or not the user has been enabled for Enterprise Voice and which per-user policies (if any) have been assigned to the user. + Note that the Get-CsOnlineUser cmdlet does not have a TenantId parameter; that means you cannot use a command similar to this in order to limit the returned data to users who have accounts with a specific Microsoft Teams or Skype for Business Online tenant: + `Get-CsOnlineUser -TenantId "bf19b7db-6960-41e5-a139-2aa373474354"` + However, if you have multiple tenants you can return users from a specified tenant by using the Filter parameter and a command similar to this: + `Get-CsOnlineUser -Filter "TenantId -eq 'bf19b7db-6960-41e5-a139-2aa373474354'"` + That command will limit the returned data to user accounts belong to the tenant with the TenantId "bf19b7db-6960-41e5-a139-2aa373474354". If you do not know your tenant IDs you can return that information by using this command: + `Get-CsTenant` + If you have a hybrid or "split domain" deployment (that is, a deployment in which some users have accounts homed on Skype for Business Online while other users have accounts homed on an on-premises version of Skype for Business Server 2015) keep in mind that the Get-CsOnlineUser cmdlet only returns information for Skype for Business Online users. However, the cmdlet will return information for both online users and on-premises users. If you want to exclude Skype for Business Online users from the data returned by the Get-CsUser cmdlet, use the following command: + `Get-CsUser -Filter "TenantId -eq '00000000-0000-0000-0000-000000000000'"` + By definition, users homed on the on-premises version will always have a TenantId equal to 00000000-0000-0000-0000-000000000000. Users homed on Skype for Business Online will a TenantId that is equal to some value other than 00000000-0000-0000-0000-000000000000. + + + + Get-CsOnlineUser + + AccountType + + This parameter is added to Get-CsOnlineUser starting from TPM 4.5.1 to indicate the user type. The possible values for the AccountType parameter are: + - `User` - to query for user accounts. + - `ResourceAccount` - to query for app endpoints or resource accounts. + - `Guest` - to query for guest accounts. + - `SfBOnPremUser` - to query for users that are hosted on-premises (available from January 31, 2023, in the latest TPM versions at that time). + - `Unknown` - to query for a user type that is not known. (This AccountType is being renamed to IneligibleUser) + + UserIdParameter + + UserIdParameter + + + None + + + Identity + + Indicates the Identity of the user account to be retrieved. + For TeamsOnly customers using the Teams PowerShell Module version 3.0.0 or later, you use the following values to identify the account: + - GUID + - SIP address + - UPN + - Alias + + Using the Teams PowerShell Module version 2.6 or earlier only, you can use the following values to identify the account: + - GUID + - SIP address + - UPN + - Alias + - Display name. Supports the asterisk ( \ ) wildcard character. For example, `-Identity " Smith"` returns all the users whose display names end with Smith. + + UserIdParameter + + UserIdParameter + + + None + + + Credential + + This parameter has been deprecated from the Teams PowerShell Modules version 3.0 or later as it is no longer relevant to Microsoft Teams. + + PSCredential + + PSCredential + + + None + + + DomainController + + This parameter has been deprecated from the Teams PowerShell Modules version 3.0 or later as it is no longer relevant to Microsoft Teams. + + Fqdn + + Fqdn + + + None + + + Filter + + Enables you to limit the returned data by filtering on specific attributes. For example, you can limit returned data to users who have been assigned a specific voice policy, or users who have not been assigned a specific voice policy. + The Filter parameter uses the same filtering syntax as the Where-Object cmdlet. For example, the following filter returns only users who have been enabled for Enterprise Voice: `-Filter 'EnterpriseVoiceEnabled -eq $True'` or ``-Filter "EnterpriseVoiceEnabled -eq `$True"``. Updates in Teams PowerShell Module version 5.9.0 and later The following updates are applicable for organizations having TeamsOnly users that use Microsoft Teams PowerShell version 5.9.0 or later in GCC High and DoD environments (note that these changes are already rolled out in commercial environments). These updates will be applicable to older Teams PowerShell versions from 15th March 2024 in GCC High and DoD environments: Performance The performance of Get-CsOnlineUser without the "-identity" parameter is improved. Here are some examples where significant improvement can be observed: + - Get-CsOnlineUser -Filter {AssignedPlan -like " MCO "} - Get-CsOnlineUser -Filter {UserPrincipalName -like "test " -and (AssignedPlans -eq "MCOEV" -or AssignedPlans -like "MCOPSTN ")} - Get-CsOnlineUser -Filter {OnPremHostingProvider -ne $null} + - Get-CsOnlineUser -Filter {WhenChanged -gt "1/25/2022 11:59:59 PM"} New Filtering Attributes These attributes are now enabled for filtering: + - Alias + - City + - Company + - HostingProvider + - UserValidationErrors + - OnPremEnterpriseVoiceEnabled + - OnPremHostingProvider + - OnPremLineURI + - OnPremSIPEnabled + - SipAddress + - SoftDeletionTimestamp + - StateOrProvince + - Street + - TeamsOwnersPolicy + - WhenChanged + - WhenCreated + - FeatureTypes + - PreferredDataLocation + - LastName New Operators These filtering operators have been reintroduced: + `-like` operator now supports the use of wildcard operators in 'contains' and 'ends with' scenarios. For example: + - Contains Scenario: Get-CsOnlineUser -Filter "DisplayName -like ' abc '" - Ends with scenario: Get-CsOnlineUser -Filter {DisplayName -like '*abc'} + `-contains` can now be used to filter properties that are an array of strings like FeatureTypes, ProxyAddresses, and ShadowProxyAddresses. For example: + - `Get-CsOnlineUser -Filter {FeatureTypes -contains "PhoneSystem"}` + - `Get-CsOnlineUser -Filter {ProxyAddresses -contains "SMTP:abc@xyz.com"}` + + `-gt` (greater than), `-lt` (less than), and `-le` (less than or equal to) can now be used for filtering all string properties. For example: + - Get-CsOnlineUser -Filter {UserPrincipalName -gt/-le/-lt "abc"} + `-ge` (greater than or equal to) can now also be used for filtering on policies. For example: + - Get-CsOnlineUser -Filter {ExternalAccessPolicy -ge "xyz_policy"} Note : Some comparison operators mentioned above including -ge, -le, -gt, and -lt are case-sensitive for Policies and capital letters are considered smaller than small letters. Updates in Teams PowerShell Module version 3.0.0 and later The following updates are applicable for organizations having TeamsOnly users that use Microsoft Teams PowerShell version 3.0.0 and later (excluding updates mentioned previously for Teams PowerShell Module version 5.0.0 and later): + In the Teams PowerShell Module version 3.0.0 or later, filtering functionality is now limited to the following attributes: + - AccountType + - AccountEnabled + - AssignedPlan + - CallingLineIdentity + - Company + - Country + - Department + - DisplayName + - EnterpriseVoiceEnabled + - ExternalAccessPolicy + - FeatureTypes (new) + - GivenName + - Identity + - IsSipEnabled + - LastName (available in Teams PowerShell Module 4.2.1 and later) + - LineUri + - UserPrincipalName + - OnlineAudioConferencingRoutingPolicy + - OnlineDialOutPolicy + - OnlineVoicemailPolicy + - OnlineVoiceRoutingPolicy + - OwnerUrn + - TeamsAppPermissionPolicy + - TeamsAppSetupPolicy + - TeamsAudioConferencingPolicy + - TeamsCallHoldPolicy + - TeamsCallingPolicy + - TeamsCallParkPolicy + - TeamsChannelsPolicy + - TeamsComplianceRecordingPolicy + - TeamsCortanaPolicy + - TenantDialPlan + - TeamsEducationAssignmentsAppPolicy + - TeamsEmergencyCallingPolicy + - TeamsEmergencyCallRoutingPolicy + - TeamsFeedbackPolicy + - TeamsIPPhonePolicy + - TeamsMeetingBrandingPolicy + - TeamsMeetingBroadcastPolicy + - TeamsMeetingPolicy + - TeamsMessagingPolicy + - TeamsMobilityPolicy + - TeamsNotificationAndFeedsPolicy + - TeamsShiftsAppPolicy + - TeamsShiftsPolicy + - TeamsSurvivableBranchAppliancePolicy + - TeamsSyntheticAutomatedCallPolicy + - TeamsTargetingPolicy + - TeamsTemplatePermissionPolicy + - TeamsUpdateManagementPolicy + - TeamsUpgradeOverridePolicy + - TeamsUpgradePolicy + - TeamsVdiPolicy + - TeamsVerticalPackagePolicy + - TeamsVideoInteropServicePolicy + - TeamsWorkLoadPolicy + - Title + - UsageLocation + - UserDirSyncEnabled + - VoiceRoutingPolicy Attributes that have changed in meaning/format : OnPremLineURI : This attribute previously used to refer to both: + 1. LineURI set via OnPrem AD. 2. Direct Routing numbers assigned to users via Set-CsUser. + In Teams PowerShell Module version 3.0.0 and later, the OnPremLineURI attribute refers only to the LineURI that's set via OnPrem AD. Previously, OnPremLineURI also referred to Direct Routing numbers that were assigned to users via the Set-CsUser cmdlet. OnPremLineUriManuallySet is now deprecated as OnPremLineURI is representative of the On-Prem assignment. Also, Direct Routing numbers are available in the LineURI attribute. You can distinguish Direct Routing Numbers from Calling Plan Numbers by looking at the FeatureTypes attribute. + In the Teams PowerShell Module version 3.0.0 or later, the format of the AssignedPlan and ProvisionedPlan attributes has changed from XML to JSON array. Previous XML filters (For example, `-Filter "AssignedPlan -eq '<some-xml-string>'"`) will no longer work. Instead, you need to update your filters to use one of the following formats: + - All users with an AssignedPlan that matches MCO: `-Filter "AssignedPlan -eq 'MCO'"` + - All users with an AssignedPlan that starts with MCO: `-Filter "AssignedPlan -like 'MCO*'"` + - All users with an AssignedPlan that contains MCO: `-Filter "AssignedPlan -like ' MCO '"` - All users with an AssignedPlan that ends with "MCO": `-Filter "AssignedPlan -like '*MCO'"` Policy Attributes : + - PolicyProperty comparison works only when "Authority" is provided in the value. For ex: `-Filter "TeamsMessagingPolicy -eq '<Authority>:<Value>'"` "Authority" can contain any of these two values: Host or Tenant for a policy type (configurations that are provided by default are referred to as Host configurations while admin-created configurations are considered Tenant configurations). The following are more examples: + - Filter "TeamsMessagingPolicy -eq 'Host:EduStudent'" + - Filter "TeamsMessagingPolicy -eq 'Tenant:TestDemoPolicy'" + + - In the Teams PowerShell Module version 3.0.0 or later, the output format of Policies has now changed from String to JSON type UserPolicyDefinition. + - Filtering for null policies: Admins can query for users that do not have any policies assigned (null policies) by including an empty value in the query, for example, Get-csonlineuser -filter "TeamsMeetingBroadcastPolicy -eq ' ' " Change in Filter operators : + The following filter syntaxes have been modified in Teams PowerShell Module 3.0.0 and later: + - -not, -lt, -gt: These operators have been dropped. + - -ge: This operator is not supported with policy properties. + - -like: This operator is supported only with wildcard character in the end (e.g., `"like <value>*"`). + + String + + String + + + None + + + LdapFilter + + This parameter has been deprecated from the Teams PowerShell Modules version 3.0 or later as it is no longer relevant to Microsoft Teams. + Enables you to limit the returned data by filtering on generic Active Directory attributes (that is, attributes that are not specific to Microsoft Teams or Skype for Business). For example, you can limit returned data to users who work in a specific department, or users who have a specified manager or job title. + The LdapFilter parameter uses the LDAP query language when creating filters. The LDAP filter syntax is `<ADattribute><Operator><Value>`. The following example returns only users who work in the city of Redmond (their `locality` attribute value is `Redmond`): `-LdapFilter "l=Redmond"`. + + String + + String + + + None + + + OnModernServer + + This parameter has been deprecated from the Teams PowerShell Modules version 3.0 or later due to limited usage. + When present, the cmdlet returns a collection of users homed on Microsoft Teams or Skype for Business. Users with accounts on previous versions of the software will not be returned when you use this parameter. + + + SwitchParameter + + + False + + + OnOfficeCommunicationServer + + This parameter has been deprecated from the Teams PowerShell Modules version 3.0 or later as it is no longer relevant to Microsoft Teams. + + + SwitchParameter + + + False + + + OU + + This parameter has been deprecated from the Teams PowerShell Modules version 3.0 or later as it is no longer relevant to Microsoft Teams. + + OUIdParameter + + OUIdParameter + + + None + + + ResultSize + + Note : Starting with Teams PowerShell Modules version 4.0 and later, "-ResultSize" type has been changed to uint32. + Enables you to limit the number of records returned by the cmdlet. For example, to return seven users (regardless of the number of users that are in your forest) include the ResultSize parameter and set the parameter value to 7. Note that there is no way to guarantee which seven users will be returned. + The result size can be set to any whole number between 0 and 2147483647, inclusive. The value 0 returns no data. If you set the ResultSize to 7 but you have only three users in your forest, the command will return those three users, and then complete without error. + + Unlimited + + Unlimited + + + None + + + SkipUserPolicies + + PARAMVALUE: SwitchParameter + + + SwitchParameter + + + False + + + SoftDeletedUser + + This parameter enables you to return a collection of all the users who are deleted and can be restored within 30 days from their deletion time + + + SwitchParameter + + + False + + + Sort + + Sorting will now be enabled in Teams PowerShell Module 5.9.0 and later by using the "-Sort" or "-OrderBy" parameters in GCC High and DoD environments. These updates will be applicable to older Teams PowerShell versions starting from 15th March 2024 in GCC High and DoD environments(note that this parameter is already rolled out in commercial environments). For example: + - Get-CsOnlineUser -Filter {LineURI -like 123 } -OrderBy "DisplayName asc" - Get-CsOnlineUser -Filter {DisplayName -like '*abc'} -OrderBy {DisplayName desc} Note : Sorting on few attributes like LineURI can be case-sensitive. + + String + + String + + + None + + + UnassignedUser + + This parameter has been deprecated from the Teams PowerShell Modules version 3.0 or later due to limited usage. + Enables you to return a collection of all the users who have been enabled for Skype for Business but are not currently assigned to a Registrar pool. Users are not allowed to log on to unless they are assigned to a Registrar pool. + + + SwitchParameter + + + False + + + UsePreferredDC + + Reserved for Microsoft internal use. + + + SwitchParameter + + + False + + + + + + AccountType + + This parameter is added to Get-CsOnlineUser starting from TPM 4.5.1 to indicate the user type. The possible values for the AccountType parameter are: + - `User` - to query for user accounts. + - `ResourceAccount` - to query for app endpoints or resource accounts. + - `Guest` - to query for guest accounts. + - `SfBOnPremUser` - to query for users that are hosted on-premises (available from January 31, 2023, in the latest TPM versions at that time). + - `Unknown` - to query for a user type that is not known. (This AccountType is being renamed to IneligibleUser) + + UserIdParameter + + UserIdParameter + + + None + + + Identity + + Indicates the Identity of the user account to be retrieved. + For TeamsOnly customers using the Teams PowerShell Module version 3.0.0 or later, you use the following values to identify the account: + - GUID + - SIP address + - UPN + - Alias + + Using the Teams PowerShell Module version 2.6 or earlier only, you can use the following values to identify the account: + - GUID + - SIP address + - UPN + - Alias + - Display name. Supports the asterisk ( \ ) wildcard character. For example, `-Identity " Smith"` returns all the users whose display names end with Smith. + + UserIdParameter + + UserIdParameter + + + None + + + Credential + + This parameter has been deprecated from the Teams PowerShell Modules version 3.0 or later as it is no longer relevant to Microsoft Teams. + + PSCredential + + PSCredential + + + None + + + DomainController + + This parameter has been deprecated from the Teams PowerShell Modules version 3.0 or later as it is no longer relevant to Microsoft Teams. + + Fqdn + + Fqdn + + + None + + + Filter + + Enables you to limit the returned data by filtering on specific attributes. For example, you can limit returned data to users who have been assigned a specific voice policy, or users who have not been assigned a specific voice policy. + The Filter parameter uses the same filtering syntax as the Where-Object cmdlet. For example, the following filter returns only users who have been enabled for Enterprise Voice: `-Filter 'EnterpriseVoiceEnabled -eq $True'` or ``-Filter "EnterpriseVoiceEnabled -eq `$True"``. Updates in Teams PowerShell Module version 5.9.0 and later The following updates are applicable for organizations having TeamsOnly users that use Microsoft Teams PowerShell version 5.9.0 or later in GCC High and DoD environments (note that these changes are already rolled out in commercial environments). These updates will be applicable to older Teams PowerShell versions from 15th March 2024 in GCC High and DoD environments: Performance The performance of Get-CsOnlineUser without the "-identity" parameter is improved. Here are some examples where significant improvement can be observed: + - Get-CsOnlineUser -Filter {AssignedPlan -like " MCO "} - Get-CsOnlineUser -Filter {UserPrincipalName -like "test " -and (AssignedPlans -eq "MCOEV" -or AssignedPlans -like "MCOPSTN ")} - Get-CsOnlineUser -Filter {OnPremHostingProvider -ne $null} + - Get-CsOnlineUser -Filter {WhenChanged -gt "1/25/2022 11:59:59 PM"} New Filtering Attributes These attributes are now enabled for filtering: + - Alias + - City + - Company + - HostingProvider + - UserValidationErrors + - OnPremEnterpriseVoiceEnabled + - OnPremHostingProvider + - OnPremLineURI + - OnPremSIPEnabled + - SipAddress + - SoftDeletionTimestamp + - StateOrProvince + - Street + - TeamsOwnersPolicy + - WhenChanged + - WhenCreated + - FeatureTypes + - PreferredDataLocation + - LastName New Operators These filtering operators have been reintroduced: + `-like` operator now supports the use of wildcard operators in 'contains' and 'ends with' scenarios. For example: + - Contains Scenario: Get-CsOnlineUser -Filter "DisplayName -like ' abc '" - Ends with scenario: Get-CsOnlineUser -Filter {DisplayName -like '*abc'} + `-contains` can now be used to filter properties that are an array of strings like FeatureTypes, ProxyAddresses, and ShadowProxyAddresses. For example: + - `Get-CsOnlineUser -Filter {FeatureTypes -contains "PhoneSystem"}` + - `Get-CsOnlineUser -Filter {ProxyAddresses -contains "SMTP:abc@xyz.com"}` + + `-gt` (greater than), `-lt` (less than), and `-le` (less than or equal to) can now be used for filtering all string properties. For example: + - Get-CsOnlineUser -Filter {UserPrincipalName -gt/-le/-lt "abc"} + `-ge` (greater than or equal to) can now also be used for filtering on policies. For example: + - Get-CsOnlineUser -Filter {ExternalAccessPolicy -ge "xyz_policy"} Note : Some comparison operators mentioned above including -ge, -le, -gt, and -lt are case-sensitive for Policies and capital letters are considered smaller than small letters. Updates in Teams PowerShell Module version 3.0.0 and later The following updates are applicable for organizations having TeamsOnly users that use Microsoft Teams PowerShell version 3.0.0 and later (excluding updates mentioned previously for Teams PowerShell Module version 5.0.0 and later): + In the Teams PowerShell Module version 3.0.0 or later, filtering functionality is now limited to the following attributes: + - AccountType + - AccountEnabled + - AssignedPlan + - CallingLineIdentity + - Company + - Country + - Department + - DisplayName + - EnterpriseVoiceEnabled + - ExternalAccessPolicy + - FeatureTypes (new) + - GivenName + - Identity + - IsSipEnabled + - LastName (available in Teams PowerShell Module 4.2.1 and later) + - LineUri + - UserPrincipalName + - OnlineAudioConferencingRoutingPolicy + - OnlineDialOutPolicy + - OnlineVoicemailPolicy + - OnlineVoiceRoutingPolicy + - OwnerUrn + - TeamsAppPermissionPolicy + - TeamsAppSetupPolicy + - TeamsAudioConferencingPolicy + - TeamsCallHoldPolicy + - TeamsCallingPolicy + - TeamsCallParkPolicy + - TeamsChannelsPolicy + - TeamsComplianceRecordingPolicy + - TeamsCortanaPolicy + - TenantDialPlan + - TeamsEducationAssignmentsAppPolicy + - TeamsEmergencyCallingPolicy + - TeamsEmergencyCallRoutingPolicy + - TeamsFeedbackPolicy + - TeamsIPPhonePolicy + - TeamsMeetingBrandingPolicy + - TeamsMeetingBroadcastPolicy + - TeamsMeetingPolicy + - TeamsMessagingPolicy + - TeamsMobilityPolicy + - TeamsNotificationAndFeedsPolicy + - TeamsShiftsAppPolicy + - TeamsShiftsPolicy + - TeamsSurvivableBranchAppliancePolicy + - TeamsSyntheticAutomatedCallPolicy + - TeamsTargetingPolicy + - TeamsTemplatePermissionPolicy + - TeamsUpdateManagementPolicy + - TeamsUpgradeOverridePolicy + - TeamsUpgradePolicy + - TeamsVdiPolicy + - TeamsVerticalPackagePolicy + - TeamsVideoInteropServicePolicy + - TeamsWorkLoadPolicy + - Title + - UsageLocation + - UserDirSyncEnabled + - VoiceRoutingPolicy Attributes that have changed in meaning/format : OnPremLineURI : This attribute previously used to refer to both: + 1. LineURI set via OnPrem AD. 2. Direct Routing numbers assigned to users via Set-CsUser. + In Teams PowerShell Module version 3.0.0 and later, the OnPremLineURI attribute refers only to the LineURI that's set via OnPrem AD. Previously, OnPremLineURI also referred to Direct Routing numbers that were assigned to users via the Set-CsUser cmdlet. OnPremLineUriManuallySet is now deprecated as OnPremLineURI is representative of the On-Prem assignment. Also, Direct Routing numbers are available in the LineURI attribute. You can distinguish Direct Routing Numbers from Calling Plan Numbers by looking at the FeatureTypes attribute. + In the Teams PowerShell Module version 3.0.0 or later, the format of the AssignedPlan and ProvisionedPlan attributes has changed from XML to JSON array. Previous XML filters (For example, `-Filter "AssignedPlan -eq '<some-xml-string>'"`) will no longer work. Instead, you need to update your filters to use one of the following formats: + - All users with an AssignedPlan that matches MCO: `-Filter "AssignedPlan -eq 'MCO'"` + - All users with an AssignedPlan that starts with MCO: `-Filter "AssignedPlan -like 'MCO*'"` + - All users with an AssignedPlan that contains MCO: `-Filter "AssignedPlan -like ' MCO '"` - All users with an AssignedPlan that ends with "MCO": `-Filter "AssignedPlan -like '*MCO'"` Policy Attributes : + - PolicyProperty comparison works only when "Authority" is provided in the value. For ex: `-Filter "TeamsMessagingPolicy -eq '<Authority>:<Value>'"` "Authority" can contain any of these two values: Host or Tenant for a policy type (configurations that are provided by default are referred to as Host configurations while admin-created configurations are considered Tenant configurations). The following are more examples: + - Filter "TeamsMessagingPolicy -eq 'Host:EduStudent'" + - Filter "TeamsMessagingPolicy -eq 'Tenant:TestDemoPolicy'" + + - In the Teams PowerShell Module version 3.0.0 or later, the output format of Policies has now changed from String to JSON type UserPolicyDefinition. + - Filtering for null policies: Admins can query for users that do not have any policies assigned (null policies) by including an empty value in the query, for example, Get-csonlineuser -filter "TeamsMeetingBroadcastPolicy -eq ' ' " Change in Filter operators : + The following filter syntaxes have been modified in Teams PowerShell Module 3.0.0 and later: + - -not, -lt, -gt: These operators have been dropped. + - -ge: This operator is not supported with policy properties. + - -like: This operator is supported only with wildcard character in the end (e.g., `"like <value>*"`). + + String + + String + + + None + + + LdapFilter + + This parameter has been deprecated from the Teams PowerShell Modules version 3.0 or later as it is no longer relevant to Microsoft Teams. + Enables you to limit the returned data by filtering on generic Active Directory attributes (that is, attributes that are not specific to Microsoft Teams or Skype for Business). For example, you can limit returned data to users who work in a specific department, or users who have a specified manager or job title. + The LdapFilter parameter uses the LDAP query language when creating filters. The LDAP filter syntax is `<ADattribute><Operator><Value>`. The following example returns only users who work in the city of Redmond (their `locality` attribute value is `Redmond`): `-LdapFilter "l=Redmond"`. + + String + + String + + + None + + + OnModernServer + + This parameter has been deprecated from the Teams PowerShell Modules version 3.0 or later due to limited usage. + When present, the cmdlet returns a collection of users homed on Microsoft Teams or Skype for Business. Users with accounts on previous versions of the software will not be returned when you use this parameter. + + SwitchParameter + + SwitchParameter + + + False + + + OnOfficeCommunicationServer + + This parameter has been deprecated from the Teams PowerShell Modules version 3.0 or later as it is no longer relevant to Microsoft Teams. + + SwitchParameter + + SwitchParameter + + + False + + + OU + + This parameter has been deprecated from the Teams PowerShell Modules version 3.0 or later as it is no longer relevant to Microsoft Teams. + + OUIdParameter + + OUIdParameter + + + None + + + ResultSize + + Note : Starting with Teams PowerShell Modules version 4.0 and later, "-ResultSize" type has been changed to uint32. + Enables you to limit the number of records returned by the cmdlet. For example, to return seven users (regardless of the number of users that are in your forest) include the ResultSize parameter and set the parameter value to 7. Note that there is no way to guarantee which seven users will be returned. + The result size can be set to any whole number between 0 and 2147483647, inclusive. The value 0 returns no data. If you set the ResultSize to 7 but you have only three users in your forest, the command will return those three users, and then complete without error. + + Unlimited + + Unlimited + + + None + + + SkipUserPolicies + + PARAMVALUE: SwitchParameter + + SwitchParameter + + SwitchParameter + + + False + + + SoftDeletedUser + + This parameter enables you to return a collection of all the users who are deleted and can be restored within 30 days from their deletion time + + SwitchParameter + + SwitchParameter + + + False + + + Sort + + Sorting will now be enabled in Teams PowerShell Module 5.9.0 and later by using the "-Sort" or "-OrderBy" parameters in GCC High and DoD environments. These updates will be applicable to older Teams PowerShell versions starting from 15th March 2024 in GCC High and DoD environments(note that this parameter is already rolled out in commercial environments). For example: + - Get-CsOnlineUser -Filter {LineURI -like 123 } -OrderBy "DisplayName asc" - Get-CsOnlineUser -Filter {DisplayName -like '*abc'} -OrderBy {DisplayName desc} Note : Sorting on few attributes like LineURI can be case-sensitive. + + String + + String + + + None + + + UnassignedUser + + This parameter has been deprecated from the Teams PowerShell Modules version 3.0 or later due to limited usage. + Enables you to return a collection of all the users who have been enabled for Skype for Business but are not currently assigned to a Registrar pool. Users are not allowed to log on to unless they are assigned to a Registrar pool. + + SwitchParameter + + SwitchParameter + + + False + + + UsePreferredDC + + Reserved for Microsoft internal use. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + Notes + + + A recent fix has addressed an issue where some Guest users were being omitted from the output of the Get-CsOnlineUser cmdlet, resulting in an increase in the reported user count. Updates in Teams PowerShell Module version 6.1.1 Preview and later The following updates are applicable for organizations that use Microsoft Teams PowerShell version 6.1.1 (Targeted Release: April 15th, 2024) or later. These changes will be gradually rolled out for all tenants starting from April 26th, 2024. + When using the Get-CsOnlineUser cmdlet in Teams PowerShell Module without the -identity parameter, we are introducing these updates: - Before the rollout, unlicensed users who did not have a valid Teams license were displayed in the output of the Get-CsOnlineUser cmdlet for 30 days after license removal. After the rollout, Get-CsOnlineUser will show unlicensed users after the initial 30 days and also include unlicensed users who never had a valid Teams license. + - The AccountType value Unknown is being renamed to IneligibleUser, and will include users who do not have a valid Teams license (exceptions: Guest, SfbOnPremUser, and ResourceAccount). + - You can exclude users with the AccountType as IneligibleUser from the output with the AccountType filter. For example, Get-CsOnlineUser -Filter {AccountType -ne 'IneligibleUser'} + + When Get-CsOnlineUser is used with the -identity parameter, you can also use UPN, Alias, and SIP Address with the -identity parameter to obtain the information for a specific unlicensed user. Updates in Teams PowerShell Module version 6.1.0 and later The following updates are applicable for organizations that use Microsoft Teams PowerShell version 6.1.0 or later. + - LocationPolicy: LocationPolicy attribute is being deprecated from the output of Get-CsOnlineUser in all clouds. Get-CsPhoneNumberAssignment -IsoCountryCode can be used to get the LocationPolicy information. (Note: LocationPolicy attribute will no longer be populated with value in the older Teams Powershell Module versions (<6.1.0) starting from 20th March 2024.) + - OptionFlags: OptionFlags attribute will no longer be populated with value in the output of Get-CsOnlineUser in all clouds. It's important to note that other details besides EnterpriseVoiceEnabled, previously found in OptionFlags, are no longer relevant for Teams. Administrators can still utilize the EnterpriseVoiceEnabled attribute in the output of the Get-CsOnlineUser cmdlet to get this information. (Note: This change will be rolled out to all Teams Powershell Module versions (=<6.1.0) starting from 20th March 2024.) Updates in Teams PowerShell Module version 6.0.0 and later The following updates are applicable for organizations having TeamsOnly users that use Microsoft Teams PowerShell version 6.0.0 or later. + - GracePeriodExpiryDate: GracePeriodExpiryDate attribute is being introduced within the AssignedPlan JSON array. It specifies the date when the grace period of a previously deleted license expires, and the license will be permanently deleted. The attribute remains empty/null for active licenses. (Note: The attribute is currently in private preview and will display valid values only for private preview) + - IsInGracePeriod: IsInGracePeriod attribute is a boolean flag that indicates that the associated plan is in grace period after deletion. (Note: The attribute is currently in private preview and will display valid values only for private preview) Updates in Teams PowerShell Module version 5.9.0 and later The following updates are applicable for organizations having TeamsOnly users that use Microsoft Teams PowerShell version 5.9.0 or later in GCC High and DoD environments (note that these changes are already rolled out in commercial environments). These updates will be applicable to older Teams PowerShell versions from 15th March 2024 in GCC High and DoD environments: + The following attributes are populated with correct values in the output of Get-CsOnlineUser when not using the "-identity" parameter: + - CountryAbbreviation + - UserValidationErrors + - WhenCreated + + The following updates are applicable to the output in scenarios where "-identity" parameter is not used: + - Only valid OnPrem users would be available in the output: These are users that are DirSyncEnabled and have a valid OnPremSipAddress or SIP address in ShadowProxyAddresses. + - Guest are available in the output + - Unlicensed Users: Unlicensed users would show up in the output of Get-CsOnlineUser (note Unlicensed users in commercial clouds would show up in the output for only 30 days post-license removal.) + - Soft deleted users: These users will be displayed in the output of Get-CsOnlineUser and the TAC Manage Users page by default with SoftDeletionTimestamp set to a value. + - AccountType as Unknown will be renamed to AccountType as IneligibleUser in GCC High and DoD environments. IneligibleUser will include users who do not have any valid Teams licenses (except Guest, SfbOnPremUser, ResourceAccount). + + If any information is required for a user that is not available in the output (when not using "-identity" parameter) then it can be obtained using the "-identity" parameter. Information for all users would be available using the "-identity" parameter until they are hard deleted. + If Guest, Soft Deleted Users, IneligibleUser are not required in the output then they can be filtered out by using filter on AccountType and SoftDeletionTimestamp. For example: + - Get-CsOnlineUser -Filter {AccountType -ne 'Guest'} + - Get-CsOnlineUser -Filter {SoftDeletionTimestamp -eq $null} + - Get-CsOnlineUser -Filter {AccountType -ne 'IneligibleUser'} Updates in Teams PowerShell Module version 3.0.0 and above The following updates are applicable for organizations having TeamsOnly users that use Microsoft Teams PowerShell version 3.0.0 and later, excluding updates mentioned previously for Teams PowerShell Module version 5.0.0: New user attributes : + FeatureTypes: Array of unique strings specifying what features are enabled for a user. This attribute is an alternative to several attributes that have been dropped as outlined in the next section. + Some of the commonly used FeatureTypes include: + - Teams + - AudioConferencing + - PhoneSystem + - CallingPlan Note : This attribute is now filterable in Teams PowerShell Module versions 4.0.0 and later using the "-Contains" operator as shown in Example 7. + AccountEnabled: Indicates whether a user is enabled for login in Microsoft Entra ID. Dropped attributes : + The following attributes are no longer relevant to Teams and have been dropped from the output: + - AcpInfo + - AdminDescription + - ArchivingPolicy + - AudioVideoDisabled + - BaseSimpleUrl + - BroadcastMeetingPolicy + - CallViaWorkPolicy + - ClientPolicy + - ClientUpdateOverridePolicy + - ClientVersionPolicy + - CloudMeetingOpsPolicy + - CloudMeetingPolicy + - CloudVideoInteropPolicy + - ContactOptionFlags + - CountryOrRegionDisplayName + - Description + - DistinguishedName + - EnabledForRichPresence + - ExchangeArchivingPolicy + - ExchUserHoldPolicies + - ExperiencePolicy + - ExternalUserCommunicationPolicy + - ExUmEnabled + - Guid + - HomeServer + - HostedVoicemailPolicy + - IPPBXSoftPhoneRoutingEnabled + - IPPhone + - IPPhonePolicy + - IsByPassValidation + - IsValid + - LegalInterceptPolicy + - LicenseRemovalTimestamp + - LineServerURI + - Manager + - MNCReady + - Name + - NonPrimaryResource + - ObjectCategory + - ObjectClass + - ObjectState + - OnPremHideFromAddressLists + - OriginalPreferredDataLocation + - OriginatingServer + - OriginatorSid + - OverridePreferredDataLocation + - PendingDeletion + - PrivateLine + - ProvisioningCounter + - ProvisioningStamp + - PublishingCounter + - PublishingStamp + - Puid + - RemoteCallControlTelephonyEnabled + - RemoteMachine + - SamAccountName + - ServiceInfo + - StsRefreshTokensValidFrom + - SubProvisioningCounter + - SubProvisioningStamp + - SubProvisionLineType + - SyncingCounter + - TargetRegistrarPool + - TargetServerIfMoving + - TeamsInteropPolicy + - ThumbnailPhoto + - UpgradeRetryCounter + - UserAccountControl + - UserProvisionType + - UserRoutingGroupId + - VoicePolicy - Alternative is the CallingPlan and PhoneSystem string in FeatureTypes + - XForestMovePolicy + - AddressBookPolicy + - GraphPolicy + - PinPolicy + - PreferredDataLocationOverwritePolicy + - PresencePolicy + - SmsServicePolicy + - TeamsVoiceRoute + - ThirdPartyVideoSystemPolicy + - UserServicesPolicy + - ConferencingPolicy + - Id + - MobilityPolicy + - OnlineDialinConferencingPolicy - Alternative is the AudioConferencing string in FeatureTypes + - Sid + - TeamsWorkLoadPolicy + - VoiceRoutingPolicy + - ClientUpdatePolicy + - HomePhone + - HostedVoiceMail + - MobilePhone + - OtherTelephone + - StreetAddress + - WebPage + - AssignedLicenses + - OnPremisesUserPrincipalName + - HostedVoiceMail + - LicenseAssignmentStates + - OnPremDomainName + - OnPremSecurityIdentifier + - OnPremSamAccountName + - CallerIdPolicy + - Fax + - LastName (available in Teams PowerShell Module 4.2.1 and later) + - Office + - Phone + - WindowsEmailAddress + - SoftDeletedUsers (available in Teams PowerShell Module 4.4.3 and later) + + The following attributes are temporarily unavailable in the output when using the "-Filter" or when used without the "-Identity" parameter: + - WhenChanged + - CountryAbbreviation Note : These attributes will be available in the near future. Attributes renamed : + - ObjectId renamed to Identity + - FirstName renamed to GivenName + - DirSyncEnabled renamed to UserDirSyncEnabled + - MCOValidationErrors renamed to UserValidationErrors + - Enabled renamed to IsSipEnabled + - TeamsBranchSurvivabilityPolicy renamed to TeamsSurvivableBranchAppliancePolicy + - CountryOrRegionDisplayName introduced as Country (in versions 4.2.0 and later) + - InterpretedUserType: "AADConnectEnabledOnline" prefix for the InterpretedUserType output value has now been renamed DirSyncEnabledOnline, for example, AADConnectEnabledOnlineTeamsOnlyUser is now DirSyncEnabledOnlineTeamsOnlyUser. Attributes that have changed in meaning/format : OnPremLineURI : This attribute previously used to refer to both: + 1. LineURI set via OnPrem AD. 2. Direct Routing numbers assigned to users via Set-CsUser. + In Teams PowerShell Modules 3.0.0 and above OnPremLineURI will only refer to the LineURI set via OnPrem AD. Direct Routing numbers will be available from the LineURI field. Direct Routing Numbers can be distinguished from Calling Plan Numbers by looking at the FeatureTypes attribute. + - The output format of AssignedPlan and ProvisionedPlan have now changed from XML to JSON array. - The output format of Policies has now changed from String to JSON type UserPolicyDefinition. + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsOnlineUser + + The command shown in Example 1 returns information for all the users configured as online users. + + + + -------------------------- Example 2 -------------------------- + Get-CsOnlineUser -Identity "sip:kenmyer@litwareinc.com" + + In Example 2 information is returned for a single online user: the user with the SIP address "sip:kenmyer@litwareinc.com". + + + + -------------------------- Example 3 -------------------------- + Get-CsOnlineUser -Filter "ArchivingPolicy -eq 'RedmondArchiving'" + + Example 3 uses the Filter parameter to limit the returned data to online users who have been assigned the per-user archiving policy RedmondArchiving. + To do this, the filter value {ArchivingPolicy -eq "RedmondArchiving"} is employed; that syntax limits returned data to users where the ArchivingPolicy property is equal to (-eq) "RedmondArchiving". + + + + -------------------------- Example 4 -------------------------- + Get-CsOnlineUser -Filter {HideFromAddressLists -eq $True} + + Example 4 returns information only for user accounts that have been configured so that the account does not appear in Microsoft Exchange address lists. + (That is, the Active Directory attribute msExchHideFromAddressLists is True.) To carry out this task, the Filter parameter is included along with the filter value {HideFromAddressLists -eq $True}. + + + + -------------------------- Example 5 -------------------------- + Get-CsOnlineUser -Filter {LineURI -eq "tel:+1234"} +Get-CsOnlineUser -Filter {LineURI -eq "tel:+1234,ext:"} +Get-CsOnlineUser -Filter {LineURI -eq "1234"} + + Example 5 returns information for user accounts that have been assigned a designated phone number. + + + + -------------------------- Example 6 -------------------------- + Get-CsOnlineUser -AccountType ResourceAccount + + Example 6 returns information for user accounts that are categorized as resource accounts. + + + + -------------------------- Example 7 -------------------------- + Get-CsOnlineUser -Filter "FeatureTypes -Contains 'PhoneSystem'" + + Example 7 returns information for user's assigned plans. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csonlineuser + + + Set-CsUser + + + + + + + Get-CsOnlineVoicemailUserSettings + Get + CsOnlineVoicemailUserSettings + + Use the Get-CsOnlineVoicemailUserSettings cmdlet to get information about online voicemail user settings of a specific user. + + + + The Get-CsOnlineVoicemailUserSettings cmdlet returns information about online voicemail user settings of a specific user in your organization. + + + + Get-CsOnlineVoicemailUserSettings + + Identity + + The Identity parameter represents the ID of the specific user in your organization; this can be either a SIP URI or an Object ID. + + System.String + + System.String + + + None + + + Force + + Specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + + + + Identity + + The Identity parameter represents the ID of the specific user in your organization; this can be either a SIP URI or an Object ID. + + System.String + + System.String + + + None + + + Force + + Specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + Microsoft.Rtc.Management.Hosted.Voicemail.Models.VoicemailUserSettings + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsOnlineVoicemailUserSettings -Identity sip:user@contoso.com + + This example gets the online voicemail user settings of user with SIP URI sip:user@contoso.com. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csonlinevoicemailusersettings + + + Set-CsOnlineVoicemailUserSettings + + + + + + + Get-CsOnlineVoiceRoute + Get + CsOnlineVoiceRoute + + Returns information about the online voice routes configured for use in your tenant. Online voice routes contain instructions that tell Skype for Business Online how to route calls from Office 365 users to phone numbers on the public switched telephone network (PSTN) or a private branch exchange (PBX). + + + + Use this cmdlet to retrieve one or more existing online voice routes in your tenant. Online voice routes contain instructions that tell Skype for Business Online how to route calls from Office 365 users to phone numbers on the public switched telephone network (PSTN) or a private branch exchange (PBX). + This cmdlet can be used to retrieve voice route information such as which online PSTN gateways the route is associated with (if any), which online PSTN usages are associated with the route, the pattern (in the form of a regular expression) that identifies the phone numbers to which the route applies, and caller ID settings. The PSTN usage associates the voice route to an online voice policy. + This cmdlet is used when configuring Microsoft Phone System Direct Routing. + + + + Get-CsOnlineVoiceRoute + + Filter + + This parameter filters the results of the Get operation based on the wildcard value passed to this parameter. + + String + + String + + + None + + + + Get-CsOnlineVoiceRoute + + Identity + + A string that uniquely identifies the voice route. If no identity is provided, all voice routes for the organization are returned. + + String + + String + + + None + + + + + + Filter + + This parameter filters the results of the Get operation based on the wildcard value passed to this parameter. + + String + + String + + + None + + + Identity + + A string that uniquely identifies the voice route. If no identity is provided, all voice routes for the organization are returned. + + String + + String + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsOnlineVoiceRoute + + Retrieves the properties for all voice routes defined within the tenant. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Get-CsOnlineVoiceRoute -Identity Route1 + + Retrieves the properties for the Route1 voice route. + + + + -------------------------- Example 3 -------------------------- + PS C:\> Get-CsOnlineVoiceRoute -Filter *test* + + This command displays voice route settings where the Identity contains the string "test" anywhere within the value. To find the string test only at the end of the Identity, use the value \ test. Similarly, to find the string test only if it occurs at the beginning of the Identity, specify the value test\ . + + + + -------------------------- Example 4 -------------------------- + PS C:\> Get-CsOnlineVoiceRoute | Where-Object {$_.OnlinePstnGatewayList.Count -eq 0} + + This command retrieves all voice routes that have not had any PSTN gateways assigned. First all voice routes are retrieved using the Get-CsOnlineVoiceRoute cmdlet. These voice routes are then piped to the Where-Object cmdlet. The Where-Object cmdlet narrows down the results of the Get operation. In this case we look at each voice route (that's what the $_ represents) and check the Count property of the PstnGatewayList property. If the count of PSTN gateways is 0, the list is empty and no gateways have been defined for the route. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csonlinevoiceroute + + + New-CsOnlineVoiceRoute + + + + Set-CsOnlineVoiceRoute + + + + Remove-CsOnlineVoiceRoute + + + + + + + Get-CsOnlineVoiceRoutingPolicy + Get + CsOnlineVoiceRoutingPolicy + + Returns information about the online voice routing policies configured for use in your tenant. Online voice routing policies manage online PSTN usages for users of Phone System. + + + + Online voice routing policies are used in Microsoft Phone System Direct Routing scenarios. Assigning your Teams users an online voice routing policy enables those users to receive and to place phone calls to the public switched telephone network by using your on-premises SIP trunks. + Note that simply assigning a user an online voice routing policy will not enable them to make PSTN calls via Teams. Among other things, you will also need to enable those users for Phone System and will need to assign them an appropriate online voice policy. + + + + Get-CsOnlineVoiceRoutingPolicy + + Filter + + Enables you to use wildcards when retrieving one or more online voice routing policies. For example, to return all the policies configured at the per-user scope, use this syntax: + -Filter "tag:*" + + String + + String + + + None + + + + Get-CsOnlineVoiceRoutingPolicy + + Identity + + Unique identifier of the online voice routing policy to be retrieved. To return the global policy, use this syntax: + -Identity global + To return a policy configured at the per-user scope, use syntax like this: + -Identity "RedmondOnlineVoiceRoutingPolicy" + You cannot use wildcard characters when specifying the Identity. + If neither the Identity nor the Filter parameters are specified, then `Get-CsOnlineVoiceRoutingPolicy` returns all the voice routing policies configured for use in the tenant. + + String + + String + + + None + + + + + + Filter + + Enables you to use wildcards when retrieving one or more online voice routing policies. For example, to return all the policies configured at the per-user scope, use this syntax: + -Filter "tag:*" + + String + + String + + + None + + + Identity + + Unique identifier of the online voice routing policy to be retrieved. To return the global policy, use this syntax: + -Identity global + To return a policy configured at the per-user scope, use syntax like this: + -Identity "RedmondOnlineVoiceRoutingPolicy" + You cannot use wildcard characters when specifying the Identity. + If neither the Identity nor the Filter parameters are specified, then `Get-CsOnlineVoiceRoutingPolicy` returns all the voice routing policies configured for use in the tenant. + + String + + String + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsOnlineVoiceRoutingPolicy + + The command shown in Example 1 returns information for all the online voice routing policies configured for use in the tenant. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Get-CsOnlineVoiceRoutingPolicy -Identity "RedmondOnlineVoiceRoutingPolicy" + + In Example 2, information is returned for a single online voice routing policy: the policy with the Identity RedmondOnlineVoiceRoutingPolicy. + + + + -------------------------- Example 3 -------------------------- + PS C:\> Get-CsOnlineVoiceRoutingPolicy -Filter "tag:*" + + The command shown in Example 3 returns information about all the online voice routing policies configured at the per-user scope. To do this, the command uses the Filter parameter and the filter value "tag:*"; that filter value limits the returned data to policies that have an Identity that begins with the string value "tag:". + + + + -------------------------- Example 4 -------------------------- + PS C:\> Get-CsOnlineVoiceRoutingPolicy | Where-Object {$_.OnlinePstnUsages -contains "Long Distance"} + + In Example 4, information is returned only for those online voice routing policies that include the PSTN usage "Long Distance". To carry out this task, the command first calls `Get-CsVoiceRoutingPolicy` without any parameters; that returns a collection of all the voice routing policies configured for use in the organization. This collection is then piped to the Where-Object cmdlet, which picks out only those policies where the OnlinePstnUsages property includes (-contains) the usage "Long Distance". + + + + -------------------------- Example 5 -------------------------- + PS C:\> Get-CsOnlineVoiceRoutingPolicy | Where-Object {$_.OnlinePstnUsages -notcontains "Long Distance"} + + Example 5 is a variation on the command shown in Example 4; in this case, however, information is returned only for those online voice routing policies that do not include the PSTN usage "Long Distance". In order to do that, the Where-Object cmdlet uses the -notcontains operator, which limits returned data to policies that do not include the usage "Long Distance". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csonlinevoiceroutingpolicy + + + New-CsOnlineVoiceRoutingPolicy + + + + Set-CsOnlineVoiceRoutingPolicy + + + + Grant-CsOnlineVoiceRoutingPolicy + + + + Remove-CsOnlineVoiceRoutingPolicy + + + + + + + Get-CsOnlineVoiceUser + Get + CsOnlineVoiceUser + + Use the `Get-CsOnlineVoiceUser` cmdlet to retrieve a voice user's telephone number and location. + + + + Note : This cmdlet is no longer supported on the public and GCC cloud instances. You should use the replacement cmdlets described here. + The following table lists the parameters to `Get-CsOnlineVoiceUser` and the alternative method of getting the same data using a combination of `Get-CsOnlineUser`, `Get-CsPhoneNumberAssignment`, `Get-CsOnlineLisLocation`, and `Get-CsOnlineLisCivicAddress`. + | Parameter | Description | Alternative | | :------------| :------- | :------- | | No parameters | Get information for all users | `Get-CsOnlineUser -Filter {(FeatureTypes -contains 'PhoneSystem') -and (AccountEnabled -eq $True)} -AccountType User` | | CivicAddressId | Find phone number information where the assigned phone number is associated with the CivicAddressId | `Get-CsPhoneNumberAssignment -CivicAddressId <CivicAddressId>` | | EnterpriseVoiceStatus | Find enabled users based on EnterpriseVoiceEnabled | `Get-CsOnlineUser -Filter {(EnterpriseVoiceEnabled -eq $True) -and (FeatureTypes -contains 'PhoneSystem') -and (AccountEnabled -eq $True)} -AccountType User` or `Get-CsOnlineUser -Filter {(EnterpriseVoiceEnabled -eq $False) -and (FeatureTypes -contains 'PhoneSystem') -and (AccountEnabled -eq $True)} -AccountType User` | | ExpandLocation | Show information about the LocationId | `Get-CsOnlineLisLocation -LocationId <LocationId>` | | Identity | Get information for a user | `Get-CsOnlineUser -Identity <Identity>` | | LocationId | Find phone number information where the assigned phone number is associated with the LocationId | `Get-CsPhoneNumberAssignment -LocationId <LocationId>` | | NumberAssigned | Find enabled users with a phone number assigned | `Get-CsOnlineUser -Filter {(LineUri -ne $Null) -and (FeatureTypes -contains 'PhoneSystem') -and (AccountEnabled -eq $True)} -AccountType User` | | NumberNotAssigned | Find users without a phone number assigned | `Get-CsOnlineUser -Filter {(LineUri -eq $Null) -and (FeatureTypes -contains 'PhoneSystem') -and (AccountEnabled -eq $True)} -AccountType User` | | PSTNConnectivity | Find enabled users with PhoneSystem (OnPremises) or CallingPlan (Online) | Online: `Get-CsOnlineUser -Filter {(FeatureTypes -contains 'CallingPlan') -and (AccountEnabled -eq $True)} -AccountType User` OnPremises: `Get-CsOnlineUser -Filter {-not (FeatureTypes -contains 'CallingPlan') -and (FeatureTypes -contains 'PhoneSystem') -and (AccountEnabled -eq $True)} -AccountType User` | + The following table lists the output fields from `Get-CsOnlineVoiceUser` and the alternative method of getting the same information using a combination of `Get-CsOnlineUser`, `Get-CsPhoneNumberAssignment`, and `Get-CsOnlineLisLocation`. + | Output field | Alternative | | :---------------------------------| :--------------------------------- | | Name | DisplayName in the output from `Get-CsOnlineUser` | | Id | Identity in the output from `Get-CsOnlineUser`| | SipDomain | Extract SipDomain from the SipAddress in the output from `Get-CsOnlineUser` | | DataCenter | Extract DataCenter from RegistrarPool in the output from `Get-CsOnlineUser`| | TenantId | TenantId in the output from `Get-CsOnlineUser`| | PstnConnectivity | FeatureTypes in the output from `Get-CsOnlineUser`. If FeatureTypes contains `CallingPlan`, PstnConnectivity is `Online`. If FeatureTypes contains `PhoneSystem` and does not contain `CallingPlan`, PstnConnectivity is `OnPremises` | | UsageLocation | UsageLocation in the output from `Get-CsOnlineUser` | | EnterpriseVoiceEnabled | EnterpriseVoiceEnabled in the output from `Get-CsOnlineUser` | | Number | LineUri in the output from `Get-CsOnlineUser`. You can get same phone number format by doing LineUri.Replace('tel:+','') | | Location | Use LocationId in the output from `Get-CsPhoneNumberAssignment -AssignedPstnTargetId <Identity>` as the input to `Get-CsOnlineLisLocation -LocationId` | + In Teams PowerShell Module version 3.0 and later in commercial cloud (and Teams PowerShell Module versions 5.0.1 and later in GCCH and DOD), the following improvements have been introduced for organizations using Teams: - This cmdlet now accurately returns users who are voice-enabled (the older cmdlet in version 2.6.0 and earlier returned users without MCOEV* plans assigned). + - The result size is not limited to 100 users anymore (the older cmdlet in version 2.6.0 and earlier limited the result size to 100). + + In Teams PowerShell Module version 2.6.2 and later in commercial cloud (and Teams PowerShell Module versions 5.0.1 and later in GCCH and DOD), the following attributes are deprecated for organizations with Teams users using the ExpandLocation parameter: + - Force + - NumberOfResultsToSkip + - CorrelationId + - Verb + - ResultSize + - LicenceState + + In Teams PowerShell Module version 2.6.2 and later in commercial cloud (and Teams PowerShell Module versions 5.0.1 and later in GCCH and DOD), the following input parameters are deprecated for organizations with Teams users due to low or zero usage: + - DomainController + - Force + - GetFromAAD + - GetPendingUsers + - SearchQuery + - Skip + - Tenant + - Common Parameters + + + + Get-CsOnlineVoiceUser + + CivicAddressId + + Specifies the identity of the civic address that is assigned to the target users. + + XdsCivicAddressId + + XdsCivicAddressId + + + None + + + DomainController + + This parameter is reserved for internal Microsoft use. + + Fqdn + + Fqdn + + + None + + + EnterpriseVoiceStatus + + Possible values are: * All + * Enabled + * Disabled + + MultiValuedProperty + + MultiValuedProperty + + + None + + + ExpandLocation + + Displays the location parameter with its value. + + + SwitchParameter + + + False + + + First + + Specifies the number of users to return. The default is 100. + + Unlimited + + Unlimited + + + None + + + Force + + This parameter has been deprecated from Teams PowerShell Modules 3.0 and above due to limited usage . + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + GetFromAAD + + This parameter has been deprecated from Teams PowerShell Modules 3.0 and above due to limited usage . + Use this switch to get the users from Microsoft Entra ID. + + + SwitchParameter + + + False + + + GetPendingUsers + + This parameter has been deprecated from Teams PowerShell Modules 3.0 and above due to limited usage . + Use this switch to get only the users in pending state. + + + SwitchParameter + + + False + + + Identity + + Specifies the identity of the target user. Acceptable values include: + Example: jphillips@contoso.com + Example: sip:jphillips@contoso.com + Example: 98403f08-577c-46dd-851a-f0460a13b03d + + UserIdParameter + + UserIdParameter + + + None + + + LocationId + + Specifies the location identity of the location whose users will be returned. You can find location identifiers by using the `Get-CsOnlineLisLocation` cmdlet. + + LocationID + + LocationID + + + None + + + NumberAssigned + + If specified, the query will return users who have a phone number assigned. + + + SwitchParameter + + + False + + + NumberNotAssigned + + If specified, the query will return users who do not have a phone number assigned. + + + SwitchParameter + + + False + + + PSTNConnectivity + + Possible values are: * All + * Online + * OnPremises + + MultiValuedProperty + + MultiValuedProperty + + + None + + + SearchQuery + + This parameter has been deprecated from Teams PowerShell Modules 3.0 and above due to limited usage . + The SearchQuery parameter specifies a search string or a query formatted using Keyword Query Language (KQL). For more details about KQL, see Keyword Query Language syntax reference (https://go.microsoft.com/fwlink/p/?linkid=269603). + If this parameter is empty, all users are returned. + + String + + String + + + None + + + Skip + + Specifies the number of users to skip. If you used the First parameter to return the first 50 users and wanted to get another 50, you could use -Skip 50 to avoid returning the first 50 you've already reviewed. The default is 0. + + Unlimited + + Unlimited + + + None + + + Tenant + + This parameter has been deprecated from Teams PowerShell Modules 3.0 and above due to limited usage . + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + + + + CivicAddressId + + Specifies the identity of the civic address that is assigned to the target users. + + XdsCivicAddressId + + XdsCivicAddressId + + + None + + + DomainController + + This parameter is reserved for internal Microsoft use. + + Fqdn + + Fqdn + + + None + + + EnterpriseVoiceStatus + + Possible values are: * All + * Enabled + * Disabled + + MultiValuedProperty + + MultiValuedProperty + + + None + + + ExpandLocation + + Displays the location parameter with its value. + + SwitchParameter + + SwitchParameter + + + False + + + First + + Specifies the number of users to return. The default is 100. + + Unlimited + + Unlimited + + + None + + + Force + + This parameter has been deprecated from Teams PowerShell Modules 3.0 and above due to limited usage . + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + GetFromAAD + + This parameter has been deprecated from Teams PowerShell Modules 3.0 and above due to limited usage . + Use this switch to get the users from Microsoft Entra ID. + + SwitchParameter + + SwitchParameter + + + False + + + GetPendingUsers + + This parameter has been deprecated from Teams PowerShell Modules 3.0 and above due to limited usage . + Use this switch to get only the users in pending state. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Specifies the identity of the target user. Acceptable values include: + Example: jphillips@contoso.com + Example: sip:jphillips@contoso.com + Example: 98403f08-577c-46dd-851a-f0460a13b03d + + UserIdParameter + + UserIdParameter + + + None + + + LocationId + + Specifies the location identity of the location whose users will be returned. You can find location identifiers by using the `Get-CsOnlineLisLocation` cmdlet. + + LocationID + + LocationID + + + None + + + NumberAssigned + + If specified, the query will return users who have a phone number assigned. + + SwitchParameter + + SwitchParameter + + + False + + + NumberNotAssigned + + If specified, the query will return users who do not have a phone number assigned. + + SwitchParameter + + SwitchParameter + + + False + + + PSTNConnectivity + + Possible values are: * All + * Online + * OnPremises + + MultiValuedProperty + + MultiValuedProperty + + + None + + + SearchQuery + + This parameter has been deprecated from Teams PowerShell Modules 3.0 and above due to limited usage . + The SearchQuery parameter specifies a search string or a query formatted using Keyword Query Language (KQL). For more details about KQL, see Keyword Query Language syntax reference (https://go.microsoft.com/fwlink/p/?linkid=269603). + If this parameter is empty, all users are returned. + + String + + String + + + None + + + Skip + + Specifies the number of users to skip. If you used the First parameter to return the first 50 users and wanted to get another 50, you could use -Skip 50 to avoid returning the first 50 you've already reviewed. The default is 0. + + Unlimited + + Unlimited + + + None + + + Tenant + + This parameter has been deprecated from Teams PowerShell Modules 3.0 and above due to limited usage . + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + + + + None + + + + + + + + + + Deserialized.Microsoft.Rtc.Management.Hosted.Bvd.Types.LacUser + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsOnlineVoiceUser -Identity Ken.Myer@contoso.com + + This example uses the User Principal Name (UPN) to retrieve the location and phone number information. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csonlinevoiceuser + + + Set-CsOnlineVoiceUser + + + + + + + Get-CsPhoneNumberAssignment + Get + CsPhoneNumberAssignment + + This cmdlet displays information about one or more phone numbers. + + + + This cmdlet displays information about one or more phone numbers. You can filter the phone numbers to return by using different parameters. + Returned results are sorted by TelephoneNumber in ascending order. + If you are using both -Skip X and -Top Y for filtering, the returned results will first be skipped by X, and then the top Y results will be returned. + By default, this cmdlet returns a maximum of 500 results. + + + + Get-CsPhoneNumberAssignment + + ActivationState + + Filters the returned results based on the number type. Supported values are Activated, AssignmentPending, AssignmentFailed, UpdatePending, and UpdateFailed. + + System.String + + System.String + + + None + + + AssignedPstnTargetId + + Filters the returned results based on the user or resource account ID the phone number is assigned to. Supported values are UserPrincipalName, SIP address, ObjectId, and the Teams shared calling routing policy instance name. + + System.String + + System.String + + + None + + + AssignmentCategory + + This parameter is reserved for internal Microsoft use. + + System.String + + System.String + + + None + + + CapabilitiesContain + + Filters the returned results based on the capabilities assigned to the phone number. You can specify one or more capabilities delimited by a comma. Supported capabilities are ConferenceAssignment, VoiceApplicationAssignment, UserAssignment, and TeamsPhoneMobile. + If you specify only one capability, you will get all phone numbers returned that have that capability assigned. If you specify a comma separated list for instance like ConferenceAssignment, VoiceApplicationAssignment you will get all phone numbers that have both capabilities assigned, but you won't get phone numbers that have only VoiceApplicationAssignment or ConferenceAssignment assigned as capability. + + System.String + + System.String + + + None + + + CivicAddressId + + Filters the returned results based on the CivicAddressId assigned to the phone number. You can get the CivicAddressId by using Get-CsOnlineLisCivicAddress (Get-CsOnlineLisCivicAddress.md). + + System.String + + System.String + + + None + + + IsoCountryCode + + Filters the returned results based on the ISO 3166-1 Alpha-2 country code assigned to the phone number. + + System.String + + System.String + + + None + + + LocationId + + Filters the returned results based on the LocationId assigned to the phone number. You can get the LocationId by using Get-CsOnlineLisLocation (Get-CsOnlineLisLocation.md). + + System.String + + System.String + + + None + + + NetworkSiteId + + This parameter is reserved for internal Microsoft use. + + System.String + + System.String + + + None + + + NumberType + + Filters the returned results based on the number type. Supported values are DirectRouting, CallingPlan, and OperatorConnect. + + System.String + + System.String + + + None + + + PstnAssignmentStatus + + Filters the returned results based on the assignment status. Support values are Unassigned, UserAssigned, ConferenceAssigned, VoiceApplicationAssigned, ThirdPartyAppAssigned, and PolicyAssigned. + + System.String + + System.String + + + None + + + Skip + + Skips the first X returned results and the default value is 0. + + System.Int32 + + System.Int32 + + + None + + + TelephoneNumber + + Filters the returned results to a specific phone number. It is optional to specify a prefixed "+". The phone number can't have "tel:" prefixed. We support Direct Routing numbers with extensions using the formats +1206555000;ext=1234 or 1206555000;ext=1234. + + System.String + + System.String + + + None + + + TelephoneNumberContain + + Filters the returned results based on substring match for the specified string on TelephoneNumber. To search for a number with an extension, you need to specify the digits of the extension. For supported formats see TelephoneNumber. + + System.String + + System.String + + + None + + + TelephoneNumberGreaterThan + + Filters the returned results based on greater than match for the specified string on TelephoneNumber. Can be used together with TelephoneNumberLessThan to specify a range of phone numbers to return results for. For supported formats see TelephoneNumber. + + System.String + + System.String + + + None + + + TelephoneNumberLessThan + + Filters the returned results based on less than match for the specified string on TelephoneNumber. Can be used together with TelephoneNumberGreaterThan to specify a range of phone numbers to return results for. For supported formats see TelephoneNumber. + + System.String + + System.String + + + None + + + TelephoneNumberStartsWith + + Filters the returned results based on starts with string match for the specified string on TelephoneNumber. For supported formats see TelephoneNumber. + + System.String + + System.String + + + None + + + Top + + Returns the first X returned results and the default value is 500. + + System.Int32 + + System.Int32 + + + None + + + + + + ActivationState + + Filters the returned results based on the number type. Supported values are Activated, AssignmentPending, AssignmentFailed, UpdatePending, and UpdateFailed. + + System.String + + System.String + + + None + + + AssignedPstnTargetId + + Filters the returned results based on the user or resource account ID the phone number is assigned to. Supported values are UserPrincipalName, SIP address, ObjectId, and the Teams shared calling routing policy instance name. + + System.String + + System.String + + + None + + + AssignmentCategory + + This parameter is reserved for internal Microsoft use. + + System.String + + System.String + + + None + + + CapabilitiesContain + + Filters the returned results based on the capabilities assigned to the phone number. You can specify one or more capabilities delimited by a comma. Supported capabilities are ConferenceAssignment, VoiceApplicationAssignment, UserAssignment, and TeamsPhoneMobile. + If you specify only one capability, you will get all phone numbers returned that have that capability assigned. If you specify a comma separated list for instance like ConferenceAssignment, VoiceApplicationAssignment you will get all phone numbers that have both capabilities assigned, but you won't get phone numbers that have only VoiceApplicationAssignment or ConferenceAssignment assigned as capability. + + System.String + + System.String + + + None + + + CivicAddressId + + Filters the returned results based on the CivicAddressId assigned to the phone number. You can get the CivicAddressId by using Get-CsOnlineLisCivicAddress (Get-CsOnlineLisCivicAddress.md). + + System.String + + System.String + + + None + + + IsoCountryCode + + Filters the returned results based on the ISO 3166-1 Alpha-2 country code assigned to the phone number. + + System.String + + System.String + + + None + + + LocationId + + Filters the returned results based on the LocationId assigned to the phone number. You can get the LocationId by using Get-CsOnlineLisLocation (Get-CsOnlineLisLocation.md). + + System.String + + System.String + + + None + + + NetworkSiteId + + This parameter is reserved for internal Microsoft use. + + System.String + + System.String + + + None + + + NumberType + + Filters the returned results based on the number type. Supported values are DirectRouting, CallingPlan, and OperatorConnect. + + System.String + + System.String + + + None + + + PstnAssignmentStatus + + Filters the returned results based on the assignment status. Support values are Unassigned, UserAssigned, ConferenceAssigned, VoiceApplicationAssigned, ThirdPartyAppAssigned, and PolicyAssigned. + + System.String + + System.String + + + None + + + Skip + + Skips the first X returned results and the default value is 0. + + System.Int32 + + System.Int32 + + + None + + + TelephoneNumber + + Filters the returned results to a specific phone number. It is optional to specify a prefixed "+". The phone number can't have "tel:" prefixed. We support Direct Routing numbers with extensions using the formats +1206555000;ext=1234 or 1206555000;ext=1234. + + System.String + + System.String + + + None + + + TelephoneNumberContain + + Filters the returned results based on substring match for the specified string on TelephoneNumber. To search for a number with an extension, you need to specify the digits of the extension. For supported formats see TelephoneNumber. + + System.String + + System.String + + + None + + + TelephoneNumberGreaterThan + + Filters the returned results based on greater than match for the specified string on TelephoneNumber. Can be used together with TelephoneNumberLessThan to specify a range of phone numbers to return results for. For supported formats see TelephoneNumber. + + System.String + + System.String + + + None + + + TelephoneNumberLessThan + + Filters the returned results based on less than match for the specified string on TelephoneNumber. Can be used together with TelephoneNumberGreaterThan to specify a range of phone numbers to return results for. For supported formats see TelephoneNumber. + + System.String + + System.String + + + None + + + TelephoneNumberStartsWith + + Filters the returned results based on starts with string match for the specified string on TelephoneNumber. For supported formats see TelephoneNumber. + + System.String + + System.String + + + None + + + Top + + Returns the first X returned results and the default value is 500. + + System.Int32 + + System.Int32 + + + None + + + + + + None + + + + + + + + + + ActivationState + + + The activation state of the telephone number. + + + + + AssignedPstnTargetId + + + The ID of the object the phone number is assigned to, either the ObjectId of a user or resource account or the policy instance ID of a Teams shared calling routing policy instance. + + + + + AssignmentCategory + + + This parameter is reserved for internal Microsoft use. + + + + + Capability + + + The list of capabilities assigned to the phone number. + + + + + City + + + The city where the phone number is located. + + + + + CivicAddressId + + + The ID of the CivicAddress assigned to the phone number. + + + + + IsoCountryCode + + + The ISO country code assigned to the phone number. + + + + + IsoSubDivision + + + The subdivision within the country/region assigned to the phone number, for example, the state for US phone numbers. + + + + + LocationId + + + The ID of the Location assigned to the phone number. + + + + + LocationUpdateSupported + + + Boolean stating if updating of the location assigned to the phone number is allowed. + + + + + NetworkSiteId + + + This parameter is reserved for internal Microsoft use. + + + + + NumberSource + + + The source of the phone number. Online for phone numbers assigned in Microsoft 365 and OnPremises for phone numbers assigned in AD on-premises and synchronized into Microsoft 365. + + + + + NumberType + + + The type of the phone number. + + + + + OperatorId + + + The ID of the operator. + + + + + PortInOrderStatus + + + The status of any port in order covering the phone number. + + + + + PstnAssignmentStatus + + + The assignment status of the phone number. + + + + + PstnPartnerId + + + The ID of the PSTN partner providing the phone number. + + + + + PstnPartnerName + + + The name of the PSTN partner. + + + + + TelephoneNumber + + + The phone number. The number is always displayed with prefixed "+", even if it was not assigned using prefixed "+". + The object returned is of type SkypeTelephoneNumberMgmtCmdletAcquiredTelephoneNumber. + + + + + + The cmdlet is available in Teams PowerShell module 4.0.0 or later. The parameter AssignmentCategory was introduced in Teams PowerShell module 5.3.1-preview. The parameter NetworkSiteId was introduced in Teams PowerShell module 5.5.0. The output parameter NumberSource was introduced in Teams PowerShell module 5.7.0. + The cmdlet is only available in commercial and GCC cloud instances. + + + + + -------------------------- Example 1 -------------------------- + Get-CsPhoneNumberAssignment -TelephoneNumber +14025551234 + +TelephoneNumber : +14025551234 +OperatorId : 2b24d246-a9ee-428b-96bc-fb9d9a053c8d +NumberType : CallingPlan +ActivationState : Activated +AssignedPstnTargetId : dc13d97b-7897-494e-bc28-6b469bf7a70e +AssignmentCategory : Primary +Capability : {UserAssignment} +City : Omaha +CivicAddressId : 703b30e5-dbdd-4132-9809-4c6160a6acc7 +IsoCountryCode : US +IsoSubdivision : Nebraska +LocationId : 407c17ae-8c41-431e-894a-38787c682f68 +LocationUpdateSupported : True +NetworkSiteId : +PortInOrderStatus : +PstnAssignmentStatus : UserAssigned +PstnPartnerId : 7fc2f2eb-89aa-41d7-93de-73d015d22ff0 +PstnPartnerName : Microsoft +NumberSource : Online + + This example displays information about the Microsoft Calling Plan subscriber phone number +1 (402) 555-1234. You can see that it is assigned to a user. + + + + -------------------------- Example 2 -------------------------- + Get-CsPhoneNumberAssignment -TelephoneNumber "+12065551000;ext=524" + +TelephoneNumber : +12065551000;ext=524 +OperatorId : 83d289bc-a4d3-41e6-8a3f-cff260a3f091 +NumberType : DirectRouting +ActivationState : Activated +AssignedPstnTargetId : 2713551e-ed63-415d-9175-fc4ff825a0be +AssignmentCategory : Primary +Capability : {ConferenceAssignment, VoiceApplicationAssignment, UserAssignment} +City : +CivicAddressId : 00000000-0000-0000-0000-000000000000 +IsoCountryCode : +IsoSubdivision : +LocationId : 00000000-0000-0000-0000-000000000000 +LocationUpdateSupported : True +NetworkSiteId : +PortInOrderStatus : +PstnAssignmentStatus : UserAssigned +PstnPartnerId : +PstnPartnerName : +NumberSource : OnPremises + + This example displays information about the Direct Routing phone number +1 (206) 555-1000;ext=524. You can see that it is assigned to a user. + + + + -------------------------- Example 3 -------------------------- + Get-CsPhoneNumberAssignment -CapabilitiesContain "VoiceApplicationAssignment,ConferenceAssignment" + + This example returns all phone numbers that have both the capability VoiceApplicationAssignment and the capability ConferenceAssignment assigned, but phone numbers that have only one of these capabilities assigned won't be returned. + + + + -------------------------- Example 4 -------------------------- + Get-CsPhoneNumberAssignment -AssignedPstnTargetId user1@contoso.com + + This example returns information about the phone number assigned to user1@contoso.com. + + + + -------------------------- Example 5 -------------------------- + Get-CsPhoneNumberAssignment -AssignedPstnTargetId aa1@contoso.com + + This example returns information about the phone number assigned to resource account aa1@contoso.com. + + + + -------------------------- Example 6 -------------------------- + Get-CsPhoneNumberAssignment -ActivationState Activated -CapabilitiesContain VoiceApplicationAssignment -PstnAssignmentStatus Unassigned + + This example returns information about all activated phone numbers with the capability VoiceApplicationAssignment that are not assigned. + + + + -------------------------- Example 7 -------------------------- + Get-CsPhoneNumberAssignment -TelephoneNumberContain "524" + + This example returns information about all phone numbers that contain the digits 524, including the phone number with extension 524 used in example 2. + + + + -------------------------- Example 8 -------------------------- + (Get-CsPhoneNumberAssignment | Where-Object {$_.NumberType.Contains('CallingPlan') -and $_.Capability.Contains('UserAssignment') -and ($_.PstnAssignmentStatus.Contains('UserAssigned') -or $_.PstnAssignmentStatus.Contains('Unassigned'))}).Count + + This example returns the number of Calling Plan subscriber phone numbers that are either assigned or not assigned to users. + + + + -------------------------- Example 9 -------------------------- + (Get-CsPhoneNumberAssignment | Where-Object {!$_.NumberType.Contains('DirectRouting') -and $_.Capability.Contains('VoiceApplicationAssignment') -and $_.Capability.Contains('ConferenceAssignment')}).Count + + This example returns the number of Calling Plan or Operator Connect service phone numbers that can be assigned to voice applications and conference bridges. + + + + -------------------------- Example 10 -------------------------- + Get-CsPhoneNumberAssignment -Top ([int]::MaxValue) + + This example returns all phone numbers. + + + + -------------------------- Example 11 -------------------------- + Get-CsPhoneNumberAssignment -AssignedPstnTargetId 'TeamsSharedCallingRoutingPolicy|Tag:SC1' + + This example returns all phone numbers assigned as emergency numbers in the Teams shared calling routing policy instance SC1. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csphonenumberassignment + + + Remove-CsPhoneNumberAssignment + + + + Set-CsPhoneNumberAssignment + + + + + + + Get-CsPolicyPackage + Get + CsPolicyPackage + + This cmdlet supports retrieving all the policy packages available on a tenant. + + + + This cmdlet supports retrieving all the policy packages available on a tenant. Provide the identity of a specific policy package to retrieve its definition, including details on the policies applied with the package. For more information on policy packages, please review https://learn.microsoft.com/MicrosoftTeams/manage-policy-packages. + + + + Get-CsPolicyPackage + + Identity + + The name of a specific policy package. All possible policy package names can be found by running Get-CsPolicyPackage. + + String + + String + + + None + + + + + + Identity + + The name of a specific policy package. All possible policy package names can be found by running Get-CsPolicyPackage. + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsPolicyPackage + + Returns all policy packages available on the tenant. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Get-CsPolicyPackage -Identity Education_PrimaryStudent + + Returns only the Education_PrimaryStudent policy package. + + + + -------------------------- Example 3 -------------------------- + PS C:\> $a = Get-CsPolicyPackage -Identity Education_PrimaryStudent +PS C:\> $a.Policies + +# In module versions 1.1.9+ +PS C:\> $a = Get-CsPolicyPackage -Identity Education_PrimaryStudent +PS C:\> $a.Policies.AdditionalProperties + +Key Value +--- ----- +TeamsMessagingPolicy {[Identity, Education_PrimaryStudent], [Description, This is an Education_PrimarySt... +TeamsMeetingPolicy {[Identity, Education_PrimaryStudent], [Description, This is an Education_PrimarySt... +TeamsAppSetupPolicy {[Identity, Education_PrimaryStudent], [Description, This is an Education_PrimarySt... +TeamsCallingPolicy {[Identity, Education_PrimaryStudent], [Description, This is an Education_PrimarySt... +TeamsMeetingBroadcastPolicy {[Identity, Education_PrimaryStudent], [Description, This is an Education_PrimarySt... + + Returns the set of policies in the Education_PrimaryStudent policy package. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-cspolicypackage + + + Get-CsUserPolicyPackageRecommendation + + + + Get-CsUserPolicyPackage + + + + Grant-CsUserPolicyPackage + + + + + + + Get-CsPrivacyConfiguration + Get + CsPrivacyConfiguration + + Returns information about the privacy configuration settings currently in use in your organization. Privacy configuration settings help determine how much information users make available to other users. This cmdlet was introduced in Lync Server 2010. + + + + Skype for Business Server gives users the opportunity to share a wealth of presence information with other people: they can publish a photograph of themselves; they can provide detailed location information; they can have presence information automatically made available to everyone in the organization (as opposed to having this information available only to people on their Contacts list). + Some users will welcome the opportunity to make this information available to their colleagues; other users might be more reluctant to share this data. (For example, many people might be hesitant about having their photo included in their presence data.) As a general rule, users have control over what information they will (or will not) share; for example, users can select or clear a check box in order to control whether or not their location information is shared with others. In addition, the privacy configuration cmdlets enable administrators to manage privacy settings for their users. In some cases, administrators can enable or disable settings; for example, if the property AutoInitiateContacts is set to True, then team members will automatically be added to each user's Contacts list; if set to False, team members will not be automatically be added to each user's Contacts list. + In other cases, administrators can configure the default values in Skype for Business Server while still giving users the right to change these values. For example, by default location data is published for users, although users do have the right to stop location publication. By setting the PublishLocationDataByDefault property to False, administrators can change this behavior: in that case, location data will not be published by default, although users will still have the right to publish this data if they choose. + Privacy configuration settings can be applied at the global scope, the site scope, and at the service scope (albeit only for the User Server service). The Get-CsPrivacyConfiguration cmdlet enables you to retrieve information about all the privacy configuration settings currently in use in your organization. + + + + Get-CsPrivacyConfiguration + + Identity + + Unique identifier for the privacy configuration settings to be retrieved. To return the global settings, use this syntax: + `-Identity global` + To return settings configured at the site scope, use syntax similar to this: + `-Identity site:Redmond` + To modify settings at the service level, use syntax like this: + `-Identity service:UserServer:atl-cs-001.litwareinc.com` + If this parameter is not specified then the Get-CsPrivacyConfiguration cmdlet returns all the privacy configuration settings currently in use in your organization. + + XdsIdentity + + XdsIdentity + + + None + + + Filter + + Enables you to use wildcards to return one or more collections of privacy configuration settings. For example, to return all the settings configured at the site scope, you can use this syntax: + `-Filter "site:*"` + To return all the settings configured at the service scope, use this syntax: + `-Filter "service:*"` + + String + + String + + + None + + + Tenant + + Globally unique identifier (GUID) of the Skype for Business Online tenant account whose privacy configuration settings are to be retrieved. + For example: + `-Tenant "38aad667-af54-4397-aaa7-e94c79ec2308"` + You can return the tenant ID for each of your tenants by running this command: + `Get-CsTenant | Select-Object DisplayName, TenantID` + If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + Guid + + Guid + + + None + + + LocalStore + + Retrieves the privacy configuration data from the local replica of the Central Management store rather than from the Central Management store itself. + + + SwitchParameter + + + False + + + + + + Identity + + Unique identifier for the privacy configuration settings to be retrieved. To return the global settings, use this syntax: + `-Identity global` + To return settings configured at the site scope, use syntax similar to this: + `-Identity site:Redmond` + To modify settings at the service level, use syntax like this: + `-Identity service:UserServer:atl-cs-001.litwareinc.com` + If this parameter is not specified then the Get-CsPrivacyConfiguration cmdlet returns all the privacy configuration settings currently in use in your organization. + + XdsIdentity + + XdsIdentity + + + None + + + Filter + + Enables you to use wildcards to return one or more collections of privacy configuration settings. For example, to return all the settings configured at the site scope, you can use this syntax: + `-Filter "site:*"` + To return all the settings configured at the service scope, use this syntax: + `-Filter "service:*"` + + String + + String + + + None + + + Tenant + + Globally unique identifier (GUID) of the Skype for Business Online tenant account whose privacy configuration settings are to be retrieved. + For example: + `-Tenant "38aad667-af54-4397-aaa7-e94c79ec2308"` + You can return the tenant ID for each of your tenants by running this command: + `Get-CsTenant | Select-Object DisplayName, TenantID` + If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + Guid + + Guid + + + None + + + LocalStore + + Retrieves the privacy configuration data from the local replica of the Central Management store rather than from the Central Management store itself. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + Microsoft.Rtc.Management.WritableConfig.Settings.UserServices.PrivacyConfiguration + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsPrivacyConfiguration + + The command shown in Example 1 returns all the privacy configuration settings currently in use in the organization. + + + + -------------------------- Example 2 -------------------------- + Get-CsPrivacyConfiguration -Identity site:Redmond + + Example 2 returns a single collection of privacy configuration settings: the settings that have the Identity site:Redmond. + + + + -------------------------- Example 3 -------------------------- + Get-CsPrivacyConfiguration -Filter "site:*" + + In Example 3, information is returned for all the privacy configuration settings that have been assigned to the site scope. To do this, the Filter parameter is included, along with the filter value "site:*". That filter value ensures that only settings where the Identity (the only property you can filter on) begins with the characters "site:". + + + + -------------------------- Example 4 -------------------------- + Get-CsPrivacyConfiguration | Where-Object {$_.EnablePrivacyMode -eq $True} + + The command shown in Example 4 returns information about all the privacy configuration settings where privacy mode has been enabled. This is done by first calling the Get-CsPrivacyConfiguration cmdlet without any parameters in order to return a collection of all the privacy settings. This collection is then piped to the Where-Object cmdlet, which picks out only those settings where the EnablePrivacyMode property is equal to True. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/skype/get-csprivacyconfiguration + + + New-CsPrivacyConfiguration + + + + Remove-CsPrivacyConfiguration + + + + Set-CsPrivacyConfiguration + + + + + + + Get-CsTeamsAcsFederationConfiguration + Get + CsTeamsAcsFederationConfiguration + + This cmdlet is used to retrieve the federation configuration between Teams and Azure Communication Services. For more information, refer to Azure Communication Services and Teams Interoperability (/azure/communication-services/concepts/teams-interop). + + + + Federation between Teams and Azure Communication Services (ACS) allows users of custom solutions built with ACS to connect and communicate with Teams users over voice, video, Teams users over voice, video and screen sharing, and more. For more information, see Teams interoperability (/azure/communication-services/concepts/teams-interop). + This cmdlet is used retrieve the Teams and ACS federation configuration for a Teams tenant. + You must be a Teams service admin, a Teams communication admin, or Global Administrator for your organization to run the cmdlet. + + + + Get-CsTeamsAcsFederationConfiguration + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsTeamsAcsFederationConfiguration + +Identity : Global +AllowedAcsResources : {'faced04c-2ced-433d-90db-063e424b87b1'} +EnableAcsUsers : True + + + + + + -------------------------- Example 2 -------------------------- + Get-CsTeamsAcsFederationConfiguration + +Identity : Global +AllowedAcsResources : {} +EnableAcsUsers : False + + + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamsacsfederationconfiguration + + + Set-CsTeamsAcsFederationConfiguration + + + + New-CsExternalAccessPolicy + + + + Set-CsExternalAccessPolicy + + + + Grant-CsExternalAccessPolicy + + + + + + + Get-CsTeamsAudioConferencingPolicy + Get + CsTeamsAudioConferencingPolicy + + Audio conferencing policies can be used to manage audio conferencing toll- and toll-free numbers to be displayed in meeting invites created by users within your organization. + + + + The Get-CsTeamsAudioConferencingPolicy cmdlet enables administrators to control audio conferencing toll- and toll-free numbers to be displayed in meeting invites created by users within your organization. The Get-CsTeamsAudioConferencingPolicy cmdlet enables you to return information about all the audio-conferencing policies that have been configured for use in your organization. + + + + Get-CsTeamsAudioConferencingPolicy + + Filter + + Enables you to use wildcard characters when indicating the policy (or policies) to be returned. + + String + + String + + + None + + + LocalStore + + Internal Microsoft use only. + + + SwitchParameter + + + False + + + + Get-CsTeamsAudioConferencingPolicy + + Identity + + Unique identifier for the policy to be retrieved. To retrieve the global policy, use this syntax: -Identity global. To retrieve a per-user policy use syntax similar to this: -Identity "EMEA Users". If this parameter is not included, the Get-CsTeamsAudioConferencingPolicy cmdlet will return a collection of all the teams audio conferencing policies configured for use in your organization. + + String + + String + + + None + + + LocalStore + + Internal Microsoft use only. + + + SwitchParameter + + + False + + + + + + Filter + + Enables you to use wildcard characters when indicating the policy (or policies) to be returned. + + String + + String + + + None + + + Identity + + Unique identifier for the policy to be retrieved. To retrieve the global policy, use this syntax: -Identity global. To retrieve a per-user policy use syntax similar to this: -Identity "EMEA Users". If this parameter is not included, the Get-CsTeamsAudioConferencingPolicy cmdlet will return a collection of all the teams audio conferencing policies configured for use in your organization. + + String + + String + + + None + + + LocalStore + + Internal Microsoft use only. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + Object + + + + + + + + + + + + + + -------------------------- EXAMPLE 1 -------------------------- + PS C:\> Get-CsTeamsAudioConferencingPolicy + + The command shown in Example 1, Get-CsTeamsAudioConferencingPolicy is called without any additional parameters; this returns a collection of all the teams audio conferencing policies configured for use in your organization. + + + + -------------------------- EXAMPLE 2 -------------------------- + PS C:\> Get-CsTeamsAudioConferencingPolicy -Identity "EMEA Users" + + The command shown in Example 2, Get-CsTeamsAudioConferencingPolicy is used to return the per-user audio conferencing policy that has an Identity "EMEA Users". Because identities are unique, this command will never return more than one item. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamsaudioconferencingpolicy + + + Set-CsTeamsAudioConferencingPolicy + + + + New-CsTeamsAudioConferencingPolicy + + + + Grant-CsTeamsAudioConferencingPolicy + + + + + + + Get-CsTeamsCallParkPolicy + Get + CsTeamsCallParkPolicy + + The TeamsCallParkPolicy controls whether or not users are able to leverage the call park feature in Microsoft Teams. Call park allows enterprise voice customers to place a call on hold and then perform a number of actions on that call: transfer to another department, retrieve via the same phone, or retrieve via a different Teams phone. The Get-CsTeamsCallParkPolicy cmdlet returns the policies that are available for your organization. + NOTE: the call park feature is currently only available in the desktop and web clients. Call Park functionality is currently completely disabled in mobile clients. + + + + The TeamsCallParkPolicy controls whether or not users are able to leverage the call park feature. Call park allows enterprise voice customers to place a call on hold and then perform a number of actions on that call: transfer to another department, retrieve via the same phone, or retrieve via a different phone. The Get-CsTeamsCallParkPolicy cmdlet returns the policies that are available for your organization. + + + + Get-CsTeamsCallParkPolicy + + Filter + + Enables you to use wildcard characters when indicating the policy (or policies) to be returned. For example, to return a collection of all the per-user policies, use this syntax: -Filter "tag:". + + String + + String + + + None + + + LocalStore + + Internal Microsoft use only. + + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + + Get-CsTeamsCallParkPolicy + + Identity + + Specify the unique name of a policy you would like to retrieve + + XdsIdentity + + XdsIdentity + + + None + + + LocalStore + + Internal Microsoft use only. + + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + + + + Filter + + Enables you to use wildcard characters when indicating the policy (or policies) to be returned. For example, to return a collection of all the per-user policies, use this syntax: -Filter "tag:". + + String + + String + + + None + + + Identity + + Specify the unique name of a policy you would like to retrieve + + XdsIdentity + + XdsIdentity + + + None + + + LocalStore + + Internal Microsoft use only. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsTeamsCallParkPolicy + + Retrieve all policies that are available in your organization. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamscallparkpolicy + + + + + + Get-CsTeamsClientConfiguration + Get + CsTeamsClientConfiguration + + The TeamsClientConfiguration allows IT admins to control the settings that can be accessed via Teams clients across their organization. This configuration includes settings like which third party cloud storage your organization allows, whether or not guest users can access the teams client, and how Surface Hub devices can interact with Skype for Business meetings. This cmdlet allows IT admins to retrieve the effective configuration for their organization. + + + + The TeamsClientConfiguration allows IT admins to control the settings that can be accessed via Teams clients across their organization. This configuration includes settings like which third party cloud storage your organization allows, whether or not guest users can access the teams client, and how Surface Hub devices can interact with Skype for Business meetings. This cmdlet allows IT admins to retrieve the effective configuration for their organization. + Use in conjunction with Set-CsTeamsClientConfiguration to update the settings in your organization. + + + + Get-CsTeamsClientConfiguration + + Filter + + Microsoft internal use only. + + String + + String + + + None + + + LocalStore + + Internal Microsoft use only. + + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + + Get-CsTeamsClientConfiguration + + Identity + + The only valid input is Global, as you can have only one effective configuration in your organization. + + XdsIdentity + + XdsIdentity + + + None + + + LocalStore + + Internal Microsoft use only. + + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + + + + Filter + + Microsoft internal use only. + + String + + String + + + None + + + Identity + + The only valid input is Global, as you can have only one effective configuration in your organization. + + XdsIdentity + + XdsIdentity + + + None + + + LocalStore + + Internal Microsoft use only. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsTeamsClientConfiguration + + Retrieves the effective client configuration in the tenant. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamsclientconfiguration + + + + + + Get-CsTeamsCortanaPolicy + Get + CsTeamsCortanaPolicy + + The CsTeamsCortanaPolicy cmdlets enable administrators to control settings for Cortana voice assistant in Microsoft Teams. + + + + The CsTeamsCortanaPolicy cmdlets enable administrators to control settings for Cortana voice assistant in Microsoft Teams. Specifically, if a user can use Cortana voice assistant in Microsoft Teams and determines Cortana invocation behavior via CortanaVoiceInvocationMode parameter - + * Disabled - Cortana voice assistant is disabled + * PushToTalkUserOverride - Cortana voice assistant is enabled but without wake-word ("Hey Cortana") invocation + * WakeWordPushToTalkUserOverride - Cortana voice assistant is enabled with wake-word ("Hey Cortana") invocation on devices where wake-word is supported + + + + Get-CsTeamsCortanaPolicy + + Filter + + Enables you to use wildcards when specifying the policy (or policies) to be retrieved. For example, this syntax returns all the policies that have been configured at the site scope: -Filter "site:". This syntax returns all the policies that have been configured at the per-user scope: -Filter "tag:". You cannot use both the Filter and the Identity parameters in the same command. + + String + + String + + + None + + + LocalStore + + Retrieves the Cortana voice assistant policy data from the local replica of the Central Management store rather than from the Central Management store itself. + + + SwitchParameter + + + False + + + Tenant + + Globally unique identifier (GUID) of the Skype for Business Online tenant account whose Cortana voice assistant policies are being returned. + + System.Guid + + System.Guid + + + None + + + + Get-CsTeamsCortanaPolicy + + Identity + + Unique identifier for the policy to be returned. To return the global policy, use this syntax: -Identity global. To return a policy configured at the site scope, use syntax similar to this: -Identity "site:Redmond". To return a policy configured at the service scope, use syntax similar to this: -Identity "Registrar:atl-cs-001.litwareinc.com". + Policies can also be configured at the per-user scope. To return one of these policies, use syntax similar to this: -Identity "SalesDepartmentPolicy". If this parameter is not included then all of Cortana voice assistant policies configured for use in your organization will be returned. + + XdsIdentity + + XdsIdentity + + + None + + + LocalStore + + Retrieves the Cortana voice assistant policy data from the local replica of the Central Management store rather than from the Central Management store itself. + + + SwitchParameter + + + False + + + Tenant + + Globally unique identifier (GUID) of the Skype for Business Online tenant account whose Cortana voice assistant policies are being returned. + + System.Guid + + System.Guid + + + None + + + + + + Filter + + Enables you to use wildcards when specifying the policy (or policies) to be retrieved. For example, this syntax returns all the policies that have been configured at the site scope: -Filter "site:". This syntax returns all the policies that have been configured at the per-user scope: -Filter "tag:". You cannot use both the Filter and the Identity parameters in the same command. + + String + + String + + + None + + + Identity + + Unique identifier for the policy to be returned. To return the global policy, use this syntax: -Identity global. To return a policy configured at the site scope, use syntax similar to this: -Identity "site:Redmond". To return a policy configured at the service scope, use syntax similar to this: -Identity "Registrar:atl-cs-001.litwareinc.com". + Policies can also be configured at the per-user scope. To return one of these policies, use syntax similar to this: -Identity "SalesDepartmentPolicy". If this parameter is not included then all of Cortana voice assistant policies configured for use in your organization will be returned. + + XdsIdentity + + XdsIdentity + + + None + + + LocalStore + + Retrieves the Cortana voice assistant policy data from the local replica of the Central Management store rather than from the Central Management store itself. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + Globally unique identifier (GUID) of the Skype for Business Online tenant account whose Cortana voice assistant policies are being returned. + + System.Guid + + System.Guid + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsTeamsCortanaPolicy + + In the first example, the Get-CsTeamsCortanaPolicy cmdlet is called without specifying any additional parameters. This causes the Get-CsTeamsCortanaPolicy cmdlet to return a collection of all the Cortana voice assistant policies configured for use in your organization. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamscortanapolicy + + + + + + Get-CsTeamsEducationAssignmentsAppPolicy + Get + CsTeamsEducationAssignmentsAppPolicy + + This policy is controlled by Global and Teams Service Administrators, and is used to turn on/off certain features only related to the Assignments Service, which runs for tenants with EDU licenses. This cmdlet allows you to retrieve the current values of your Education Assignments App Policy. At this time, you can only modify your global policy - this policy type does not support user-level custom policies. + + + + This policy is controlled by Global and Teams Service Administrators, and is used to turn on/off certain features only related to the Assignments Service, which runs for tenants with EDU licenses. This cmdlet allows you to retrieve the current values of your Education Assignments App Policy. At this time, you can only modify your global policy - this policy type does not support user-level custom policies. + + + + Get-CsTeamsEducationAssignmentsAppPolicy + + Filter + + Not applicable - you cannot create custom policies, so will always be retrieving the global policy for your organization. + + String + + String + + + None + + + LocalStore + + Internal use only. + + + SwitchParameter + + + False + + + Tenant + + Internal use only. + + System.Guid + + System.Guid + + + None + + + + Get-CsTeamsEducationAssignmentsAppPolicy + + Identity + + The only value supported is "Global" + + XdsIdentity + + XdsIdentity + + + None + + + LocalStore + + Internal use only. + + + SwitchParameter + + + False + + + Tenant + + Internal use only. + + System.Guid + + System.Guid + + + None + + + + + + Filter + + Not applicable - you cannot create custom policies, so will always be retrieving the global policy for your organization. + + String + + String + + + None + + + Identity + + The only value supported is "Global" + + XdsIdentity + + XdsIdentity + + + None + + + LocalStore + + Internal use only. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + Internal use only. + + System.Guid + + System.Guid + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsTeamsEducationAssignmentsAppPolicy + + Retrieves the policy in your organization + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamseducationassignmentsapppolicy + + + + + + Get-CsTeamsEmergencyCallRoutingPolicy + Get + CsTeamsEmergencyCallRoutingPolicy + + This cmdlet returns one or more Emergency Call Routing policies. + + + + This cmdlet returns one or more Emergency Call Routing policies. This policy is used for the life cycle of emergency call routing - emergency numbers and routing configuration. + + + + Get-CsTeamsEmergencyCallRoutingPolicy + + Identity + + Specify the policy that you would like to retrieve. + + String + + String + + + None + + + + Get-CsTeamsEmergencyCallRoutingPolicy + + Filter + + Enables you to use wildcard characters when indicating the policy (or policies) to be returned. + + String + + String + + + None + + + + + + Identity + + Specify the policy that you would like to retrieve. + + String + + String + + + None + + + Filter + + Enables you to use wildcard characters when indicating the policy (or policies) to be returned. + + String + + String + + + None + + + + + + None + + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsTeamsEmergencyCallRoutingPolicy + + Retrieves all emergency call routing policies that are available in your scope. + + + + -------------------------- Example 2 -------------------------- + Get-CsTeamsEmergencyCallRoutingPolicy -Identity TestECRP + + Retrieves one emergency call routing policy specifying the identity. + + + + -------------------------- Example 3 -------------------------- + Get-CsTeamsEmergencyCallRoutingPolicy -Filter 'Test*' + + Retrieves all emergency call routing policies with identity starting with Test. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamsemergencycallroutingpolicy + + + New-CsTeamsEmergencyCallRoutingPolicy + + + + Set-CsTeamsEmergencyCallRoutingPolicy + + + + Grant-CsTeamsEmergencyCallRoutingPolicy + + + + Remove-CsTeamsEmergencyCallRoutingPolicy + + + + + + + Get-CsTeamsEnhancedEncryptionPolicy + Get + CsTeamsEnhancedEncryptionPolicy + + Returns information about the teams enhanced encryption policies configured for use in your organization. + + + + Returns information about the Teams enhanced encryption policies configured for use in your organization. The TeamsEnhancedEncryptionPolicy enables administrators to determine which users in your organization can use the enhanced encryption settings in Teams, setting for End-to-end encryption in ad-hoc 1-to-1 VOIP calls is the parameter supported by this policy currently. + + + + Get-CsTeamsEnhancedEncryptionPolicy + + Identity + + Unique identifier assigned to the Teams enhanced encryption policy. + Use the "Global" Identity if you wish to retrieve the policy set for the entire tenant. + + XdsIdentity + + XdsIdentity + + + None + + + LocalStore + + Internal Microsoft use only. + + + SwitchParameter + + + False + + + Filter + + If you don't know what policies have been pre-constructed, you can use filter to identify all policies available. This is a regex string against the name (Identity) of the pre-constructed policies. + + String + + String + + + None + + + + + + LocalStore + + Internal Microsoft use only. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Unique identifier assigned to the Teams enhanced encryption policy. + Use the "Global" Identity if you wish to retrieve the policy set for the entire tenant. + + XdsIdentity + + XdsIdentity + + + None + + + Filter + + If you don't know what policies have been pre-constructed, you can use filter to identify all policies available. This is a regex string against the name (Identity) of the pre-constructed policies. + + String + + String + + + None + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- EXAMPLE 1 -------------------------- + PS C:\> Get-CsTeamsEnhancedEncryptionPolicy + + The command shown in Example 1 returns information for all the teams enhanced encryption policies configured for use in the tenant. + + + + -------------------------- EXAMPLE 2 -------------------------- + PS C:\> Get-CsTeamsEnhancedEncryptionPolicy -Identity 'ContosoPartnerEnhancedEncryptionPolicy' + + In Example 2, information is returned for a single teams enhanced encryption policy: the policy with the Identity ContosoPartnerEnhancedEncryptionPolicy. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamsenhancedencryptionpolicy + + + New-CsTeamsEnhancedEncryptionPolicy + + + + Set-CsTeamsEnhancedEncryptionPolicy + + + + Remove-CsTeamsEnhancedEncryptionPolicy + + + + Grant-CsTeamsEnhancedEncryptionPolicy + + + + + + + Get-CsTeamsEventsPolicy + Get + CsTeamsEventsPolicy + + Returns information about the Teams Events policy. Note that this policy is currently still in preview. + + + + Returns information about the Teams Events policy. TeamsEventsPolicy is used to configure options for customizing Teams Events experiences. + + + + Get-CsTeamsEventsPolicy + + Filter + + Enables using wildcards when specifying the policy (or policies) to be retrieved. Note that you cannot use both the Filter and the Identity parameters in the same command. + + String + + String + + + None + + + + Get-CsTeamsEventsPolicy + + Identity + + Unique identifier assigned to the Teams Events policy. + + String + + String + + + None + + + + + + Filter + + Enables using wildcards when specifying the policy (or policies) to be retrieved. Note that you cannot use both the Filter and the Identity parameters in the same command. + + String + + String + + + None + + + Identity + + Unique identifier assigned to the Teams Events policy. + + String + + String + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsTeamsEventsPolicy + + Returns information for all Teams Events policies available for use in the tenant. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Get-CsTeamsEventsPolicy -Identity Global + + Returns information for Teams Events policy with identity "Global". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamseventspolicy + + + + + + Get-CsTeamsGuestCallingConfiguration + Get + CsTeamsGuestCallingConfiguration + + Returns information about the GuestCallingConfiguration, which specifies what options guest users have for calling within Teams. + + + + Returns information about the GuestCallingConfiguration, which specifies what options guest users have for calling within Teams. To set the configuration in your organization, use Set-CsTeamsGuestCallingConfiguration + + + + Get-CsTeamsGuestCallingConfiguration + + Identity + + Internal Microsoft use - customers can have only one TeamsGuestCallingConfiguration + + XdsIdentity + + XdsIdentity + + + None + + + Filter + + Internal Microsoft use + + String + + String + + + None + + + LocalStore + + Internal Microsoft use + + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use + + Guid + + Guid + + + None + + + + + + Filter + + Internal Microsoft use + + String + + String + + + None + + + Identity + + Internal Microsoft use - customers can have only one TeamsGuestCallingConfiguration + + XdsIdentity + + XdsIdentity + + + None + + + LocalStore + + Internal Microsoft use + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use + + Guid + + Guid + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsTeamsGuestCallingConfiguration + + Returns the results + + + + + + + + Get-CsTeamsGuestMeetingConfiguration + Get + CsTeamsGuestMeetingConfiguration + + Designates what meeting features guests using Microsoft Teams will have available. + + + + The TeamsGuestMeetingConfiguration designates which meeting features guests leveraging Microsoft Teams will have available. This configuration will apply to all guests utilizing Microsoft Teams. Use the Get-CsTeamsGuestMeetingConfiguration cmdlet to return what values are set for your organization. + + + + Get-CsTeamsGuestMeetingConfiguration + + Identity + + The only value accepted is Global + + XdsIdentity + + XdsIdentity + + + None + + + Filter + + Internal Microsoft use. + + String + + String + + + None + + + LocalStore + + Internal Microsoft use + + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use + + Guid + + Guid + + + None + + + + + + Filter + + Internal Microsoft use. + + String + + String + + + None + + + Identity + + The only value accepted is Global + + XdsIdentity + + XdsIdentity + + + None + + + LocalStore + + Internal Microsoft use + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use + + Guid + + Guid + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsTeamsGuestMeetingConfiguration + + Returns the TeamsGuestMeetingConfiguration set in your organization. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamsguestmeetingconfiguration + + + + + + Get-CsTeamsGuestMessagingConfiguration + Get + CsTeamsGuestMessagingConfiguration + + TeamsGuestMessagingConfiguration determines the messaging settings for the guest users. This cmdlet returns your organization's current settings. + + + + TeamsGuestMessagingConfiguration determines the messaging settings for the guest users. + + + + Get-CsTeamsGuestMessagingConfiguration + + Identity + + Specifies the collection of tenant guest messaging configuration settings to be returned. Because each tenant is limited to a single, global collection of guest messaging settings there is no need include this parameter when calling the cmdlet. If you do choose to use the Identity parameter you must also include the Tenant parameter. + + XdsIdentity + + XdsIdentity + + + None + + + Filter + + Enables you to use wildcard characters in order to return a collection of tenant guest messaging configuration settings. Because each tenant is limited to a single, global collection of guest messaging configuration settings there is no need to use the Filter parameter. + + String + + String + + + None + + + LocalStore + + This parameter is not used with Skype for Business Online. + + + SwitchParameter + + + False + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + + + + Filter + + Enables you to use wildcard characters in order to return a collection of tenant guest messaging configuration settings. Because each tenant is limited to a single, global collection of guest messaging configuration settings there is no need to use the Filter parameter. + + String + + String + + + None + + + Identity + + Specifies the collection of tenant guest messaging configuration settings to be returned. Because each tenant is limited to a single, global collection of guest messaging settings there is no need include this parameter when calling the cmdlet. If you do choose to use the Identity parameter you must also include the Tenant parameter. + + XdsIdentity + + XdsIdentity + + + None + + + LocalStore + + This parameter is not used with Skype for Business Online. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsTeamsGuestMessagingConfiguration + + The command shown in Example 1 returns teams guest messaging configuration information for the current tenant + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamsguestmessagingconfiguration + + + + + + Get-CsTeamsIPPhonePolicy + Get + CsTeamsIPPhonePolicy + + Get-CsTeamsIPPhonePolicy allows IT Admins to view policies for IP Phone experiences in Microsoft Teams + + + + Returns information about the Teams IP Phone Policies configured for use in your organization. Teams IP phone policies enable you to configure the different sign-in experiences based upon the function the device is performing; example: common area phone. + + + + Get-CsTeamsIPPhonePolicy + + Identity + + Specify the unique name of the TeamsIPPhonePolicy that you would like to retrieve. + + XdsIdentity + + XdsIdentity + + + None + + + Filter + + Enables you to use wildcard characters when indicating the policy (or policies) to be returned. To return a collection of all the policies, use this syntax: -Filter "tag:*". + + String + + String + + + None + + + LocalStore + + Internal Microsoft Use Only. + + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use only. + + Guid + + Guid + + + None + + + + + + Filter + + Enables you to use wildcard characters when indicating the policy (or policies) to be returned. To return a collection of all the policies, use this syntax: -Filter "tag:*". + + String + + String + + + None + + + Identity + + Specify the unique name of the TeamsIPPhonePolicy that you would like to retrieve. + + XdsIdentity + + XdsIdentity + + + None + + + LocalStore + + Internal Microsoft Use Only. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use only. + + Guid + + Guid + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsTeamsIPPhonePolicy -identity CommonAreaPhone + + Retrieves the IP Phone Policy with name "CommonAreaPhone". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamsipphonepolicy + + + + + + Get-CsTeamsMediaLoggingPolicy + Get + CsTeamsMediaLoggingPolicy + + Returns information about the Teams Media Logging policy. + + + + Returns information about the Teams Media Logging policy. TeamsMediaLoggingPolicy allows administrators to enable media logging for users. When assigned, it will enable media logging for the user overriding other settings. After removing the policy, media logging setting will revert to the previous value. + NOTES: TeamsMediaLoggingPolicy has only one instance that is built into the system, so there is no corresponding New cmdlet. + + + + Get-CsTeamsMediaLoggingPolicy + + Identity + + Unique identifier assigned to the Teams Media Logging policy. Note that Teams Media Logging policy has only one instance that has Identity "Enabled". + Use the "Global" Identity if you wish to retrieve the policy set for the entire tenant. + + String + + String + + + None + + + + Get-CsTeamsMediaLoggingPolicy + + Filter + + Enables using wildcards when specifying the policy (or policies) to be retrieved. Note that you cannot use both the Filter and the Identity parameters in the same command. + + String + + String + + + None + + + + + + Identity + + Unique identifier assigned to the Teams Media Logging policy. Note that Teams Media Logging policy has only one instance that has Identity "Enabled". + Use the "Global" Identity if you wish to retrieve the policy set for the entire tenant. + + String + + String + + + None + + + Filter + + Enables using wildcards when specifying the policy (or policies) to be retrieved. Note that you cannot use both the Filter and the Identity parameters in the same command. + + String + + String + + + None + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- EXAMPLE 1 -------------------------- + PS C:\> Get-CsTeamsMediaLoggingPolicy + + Return information for all Teams Media Logging policies available for use in the tenant. + + + + -------------------------- EXAMPLE 2 -------------------------- + PS C:\> Get-CsTeamsMediaLoggingPolicy -Identity Global + + Return Teams Media Logging policy that is set for the entire tenant. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamsmedialoggingpolicy + + + Grant-CsTeamsMediaLoggingPolicy + + + + + + + Get-CsTeamsMeetingBroadcastConfiguration + Get + CsTeamsMeetingBroadcastConfiguration + + Get-CsTeamsMeetingBroadcastConfiguration [[-Identity] <XdsIdentity>] [-Tenant <guid>] [-ExposeSDNConfigurationJsonBlob <bool>] [-LocalStore] [<CommonParameters>] + Get-CsTeamsMeetingBroadcastConfiguration [-Tenant <guid>] [-ExposeSDNConfigurationJsonBlob <bool>] [-Filter <string>] [-LocalStore] [<CommonParameters>] + + + + Tenant level configuration for broadcast events in Teams + + + + Get-CsTeamsMeetingBroadcastConfiguration + + Identity + + You can only have one configuration - "Global" + + XdsIdentity + + XdsIdentity + + + None + + + ExposeSDNConfigurationJsonBlob + + Extract SDN properties as a Json Blob in get. + + Boolean + + Boolean + + + None + + + Filter + + Not applicable to online service - you can only have one configuration. + + String + + String + + + None + + + LocalStore + + Not applicable to online service. + + + SwitchParameter + + + False + + + Tenant + + Not applicable to online service + + Guid + + Guid + + + None + + + + + + ExposeSDNConfigurationJsonBlob + + Extract SDN properties as a Json Blob in get. + + Boolean + + Boolean + + + None + + + Filter + + Not applicable to online service - you can only have one configuration. + + String + + String + + + None + + + Identity + + You can only have one configuration - "Global" + + XdsIdentity + + XdsIdentity + + + None + + + LocalStore + + Not applicable to online service. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + Not applicable to online service + + Guid + + Guid + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamsmeetingbroadcastconfiguration + + + + + + Get-CsTeamsMeetingBroadcastPolicy + Get + CsTeamsMeetingBroadcastPolicy + + User-level policy for tenant admin to configure meeting broadcast behavior for the broadcast event organizer. + + + + User-level policy for tenant admin to configure meeting broadcast behavior for the broadcast event organizer. Use this cmdlet to retrieve one or more policies. + + + + Get-CsTeamsMeetingBroadcastPolicy + + Identity + + Unique identifier for the policy to be retrieved. Policies can be configured at the global scope or at the per-user scope. To retrieve the global policy, use this syntax: -Identity global. To retrieve a per-user policy use syntax similar to this: -Identity SalesPolicy. + If this parameter is not included, the cmdlet will return a collection of all the policies configured for use in your organization. + Note that wildcards are not allowed when specifying an Identity. Use the Filter parameter if you need to use wildcards when specifying a policy. + + XdsIdentity + + XdsIdentity + + + None + + + Filter + + Enables you to use wildcard characters when specifying the policy (or policies) to be returned. + + String + + String + + + None + + + LocalStore + + Not applicable to the online service. + + + SwitchParameter + + + False + + + Tenant + + Not applicable to online service. + + Guid + + Guid + + + None + + + + + + Filter + + Enables you to use wildcard characters when specifying the policy (or policies) to be returned. + + String + + String + + + None + + + Identity + + Unique identifier for the policy to be retrieved. Policies can be configured at the global scope or at the per-user scope. To retrieve the global policy, use this syntax: -Identity global. To retrieve a per-user policy use syntax similar to this: -Identity SalesPolicy. + If this parameter is not included, the cmdlet will return a collection of all the policies configured for use in your organization. + Note that wildcards are not allowed when specifying an Identity. Use the Filter parameter if you need to use wildcards when specifying a policy. + + XdsIdentity + + XdsIdentity + + + None + + + LocalStore + + Not applicable to the online service. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + Not applicable to online service. + + Guid + + Guid + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsTeamsMeetingBroadcastPolicy + + Returns all the Teams Meeting Broadcast policies. + + + + -------------------------- Example 2 -------------------------- + Get-CsTeamsMeetingBroadcastPolicy -Filter "Education_Teacher" + + In this example, the -Filter parameter is used to return all the policies that match "Education_Teacher". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamsmeetingbroadcastpolicy + + + + + + Get-CsTeamsMobilityPolicy + Get + CsTeamsMobilityPolicy + + The TeamsMobilityPolicy allows Admins to control Teams mobile usage for users. + + + + The TeamsMobilityPolicy allows Admins to control Teams mobile usage for users. + The Get-CsTeamsMobilityPolicy cmdlet allows administrators to get all teams mobility policies. + NOTE: Please note that this cmdlet was deprecated and then removed from this PowerShell module. This reference will continue to be listed here for legacy purposes. + + + + Get-CsTeamsMobilityPolicy + + Filter + + Enables you to use wildcard characters when indicating the policy (or policies) to be returned. For example, to return a collection of all the per-user policies, use this syntax: -Filter "tag:". + + String + + String + + + None + + + + Get-CsTeamsMobilityPolicy + + Identity + + Specify the unique name of a policy you would like to retrieve + + XdsIdentity + + XdsIdentity + + + None + + + + + + Filter + + Enables you to use wildcard characters when indicating the policy (or policies) to be returned. For example, to return a collection of all the per-user policies, use this syntax: -Filter "tag:". + + String + + String + + + None + + + Identity + + Specify the unique name of a policy you would like to retrieve + + XdsIdentity + + XdsIdentity + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsTeamsMobilityPolicy + + Retrieve all teams mobility policies that are available in your organization + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamsmobilitypolicy + + + + + + Get-CsTeamsNetworkRoamingPolicy + Get + CsTeamsNetworkRoamingPolicy + + Get-CsTeamsNetworkRoamingPolicy allows IT Admins to view policies for the Network Roaming and Bandwidth Control experiences in Microsoft Teams. + + + + Returns information about the Teams Network Roaming Policies configured for use in your organization. + The TeamsNetworkRoamingPolicy cmdlets enable administrators to provide specific settings from the TeamsMeetingPolicy to be rendered dynamically based upon the location of the Teams client. The TeamsNetworkRoamingPolicy cannot be granted to a user but instead can be assigned to a network site. The settings from the TeamsMeetingPolicy included are AllowIPVideo and MediaBitRateKb. When a Teams client is connected to a network site where a CsTeamRoamingPolicy is assigned, these two settings from the TeamsRoamingPolicy will be used instead of the settings from the TeamsMeetingPolicy. + More on the impact of bit rate setting on bandwidth can be found here (https://learn.microsoft.com/microsoftteams/prepare-network). + To enable the network roaming policy for users who are not Enterprise Voice enabled, you must also enable the AllowNetworkConfigurationSettingsLookup setting in TeamsMeetingPolicy. This setting is off by default. See Set-TeamsMeetingPolicy for more information on how to enable AllowNetworkConfigurationSettingsLookup for users who are not Enterprise Voice enabled. + + + + Get-CsTeamsNetworkRoamingPolicy + + Identity + + Unique identifier of the policy to be returned. If this parameter is omitted, then all the Teams Network Roaming Policies configured for use in your organization will be returned. + + XdsIdentity + + XdsIdentity + + + None + + + Tenant + + + + Guid + + Guid + + + None + + + Filter + + Enables you to use wildcard characters when indicating the policy (or policies) to be returned. + + String + + String + + + None + + + LocalStore + + + + + SwitchParameter + + + False + + + + + + Identity + + Unique identifier of the policy to be returned. If this parameter is omitted, then all the Teams Network Roaming Policies configured for use in your organization will be returned. + + XdsIdentity + + XdsIdentity + + + None + + + Tenant + + + + Guid + + Guid + + + None + + + Filter + + Enables you to use wildcard characters when indicating the policy (or policies) to be returned. + + String + + String + + + None + + + LocalStore + + + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsTeamsNetworkRoamingPolicy + + In Example 1, Get-CsTeamsNetworkRoamingPolicy is called without any additional parameters; this returns a collection of all the teams network roaming policies configured for use in your organization. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Get-CsTeamsNetworkRoamingPolicy -Identity OfficePolicy + + In Example 2, Get-CsTeamsNetworkRoamingPolicy is used to return the network roaming policy that has an Identity OfficePolicy. Because identities are unique, this command will never return more than one item. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamsnetworkroamingpolicy + + + + + + Get-CsTeamsShiftsConnection + Get + CsTeamsShiftsConnection + + This cmdlet returns the list of existing workforce management (WFM) connections. It can also return the configuration details for a given WFM connection. + + + + This cmdlet returns the list of existing connections. It can also return the configuration details for a given connection. + + + + Get-CsTeamsShiftsConnection + + Break + + Wait for .NET debugger to attach. + + + SwitchParameter + + + False + + + ConnectionId + + The connection ID. + + String + + String + + + None + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + Proxy + + The URI for the proxy server to use. + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call. + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy. + + + SwitchParameter + + + False + + + + Get-CsTeamsShiftsConnection + + Break + + Wait for .NET debugger to attach. + + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + InputObject + + Identity Parameter. + + IConfigApiBasedCmdletsIdentity + + IConfigApiBasedCmdletsIdentity + + + None + + + Proxy + + The URI for the proxy server to use. + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call. + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy. + + + SwitchParameter + + + False + + + + + + Break + + Wait for .NET debugger to attach. + + SwitchParameter + + SwitchParameter + + + False + + + ConnectionId + + The connection ID. + + String + + String + + + None + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + InputObject + + Identity Parameter. + + IConfigApiBasedCmdletsIdentity + + IConfigApiBasedCmdletsIdentity + + + None + + + Proxy + + The URI for the proxy server to use. + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call. + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy. + + SwitchParameter + + SwitchParameter + + + False + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity + + + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IWfmConnectionResponse + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IErrorDetailsResponse + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsTeamsShiftsConnection | Format-List + +ConnectorId : 6A51B888-FF44-4FEA-82E1-839401E00000 +ConnectorSpecificSettingAdminApiUrl : https://www.contoso.com/retail/data/wfmadmin/api/v1-beta3 +ConnectorSpecificSettingApiUrl : +ConnectorSpecificSettingAppKey : +ConnectorSpecificSettingClientId : +ConnectorSpecificSettingCookieAuthUrl : https://www.contoso.com/retail/data/login +ConnectorSpecificSettingEssApiUrl : https://www.contoso.com/retail/data/wfmess/api/v1-beta2 +ConnectorSpecificSettingFederatedAuthUrl : https://www.contoso.com/retail/data/login +ConnectorSpecificSettingRetailWebApiUrl : https://www.contoso.com/retail/data/retailwebapi/api/v1 +ConnectorSpecificSettingSiteManagerUrl : https://www.contoso.com/retail/data/wfmsm/api/v1-beta4 +ConnectorSpecificSettingSsoUrl : +CreatedDateTime : 24/03/2023 04:58:23 +Etag : "5b00dd1b-0000-0400-0000-641d2df00000" +Id : 4dae9db0-0841-412c-8d6b-f5684bfebdd7 +LastModifiedDateTime : 24/03/2023 04:58:23 +Name : My connection 1 +State : Active +TenantId : dfd24b34-ccb0-47e1-bdb7-000000000000 + +ConnectorId : 95BF2848-2DDA-4425-B0EE-D62AEED4C0A0 +ConnectorSpecificSettingAdminApiUrl : +ConnectorSpecificSettingApiUrl : https://www.contoso.com/api +ConnectorSpecificSettingAppKey : +ConnectorSpecificSettingClientId : Es5Q2fB4PXweCyto6Ms6J2kRB7uwAc3W +ConnectorSpecificSettingCookieAuthUrl : +ConnectorSpecificSettingEssApiUrl : +ConnectorSpecificSettingFederatedAuthUrl : +ConnectorSpecificSettingRetailWebApiUrl : +ConnectorSpecificSettingSiteManagerUrl : +ConnectorSpecificSettingSsoUrl : https://www.contoso.com/sso +CreatedDateTime : 06/04/2023 11:05:39 +Etag : "3100fd6e-0000-0400-0000-642ea7840000" +Id : a2d1b091-5140-4dd2-987a-98a8b5338744 +LastModifiedDateTime : 06/04/2023 11:05:39 +Name : My connection 2 +State : Active +TenantId : dfd24b34-ccb0-47e1-bdb7-000000000000 + + Returns the list of connections. + + + + -------------------------- Example 2 -------------------------- + PS C:\> $connection = Get-CsTeamsShiftsConnection -ConnectionId a2d1b091-5140-4dd2-987a-98a8b5338744 +PS C:\> $connection.ToJsonString() + +{ + "connectorSpecificSettings": { + "apiUrl": "https://www.contoso.com/api", + "ssoUrl": "https://www.contoso.com/sso", + "clientId": "Es5Q2fB4PXweCyto6Ms6J2kRB7uwAc3W" + }, + "id": "a2d1b091-5140-4dd2-987a-98a8b5338744", + "tenantId": "dfd24b34-ccb0-47e1-bdb7-000000000000", + "connectorId": "95BF2848-2DDA-4425-B0EE-D62AEED4C0A0", + "name": "My connection 2", + "etag": "\"3100fd6e-0000-0400-0000-642ea7840000\"", + "createdDateTime": "2023-04-06T11:05:39.8790000Z", + "lastModifiedDateTime": "2023-04-06T11:05:39.8790000Z", + "state": "Active" +} + + Returns the connection with the specified -ConnectionId. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamsshiftsconnection + + + New-CsTeamsShiftsConnection + + + + Set-CsTeamsShiftsConnection + + + + Update-CsTeamsShiftsConnection + + + + + + + Get-CsTeamsShiftsConnectionConnector + Get + CsTeamsShiftsConnectionConnector + + This cmdlet supports retrieving the available Shifts Connectors. + + + + This cmdlet shows the available list of Shifts Connectors that can be used to synchronize a third-party workforce management system with Teams and the types of data that can be synchronized. + + + + Get-CsTeamsShiftsConnectionConnector + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsTeamsShiftsConnectionConnector | Format-List + +Id : 6A51B888-FF44-4FEA-82E1-839401E9CD74 +Name : Contoso V1 +SupportedSyncScenarioOfferShiftRequest : {Disabled, FromWfmToShifts, TwoWay} +SupportedSyncScenarioOpenShift : {Disabled, FromWfmToShifts} +SupportedSyncScenarioOpenShiftRequest : {Disabled, FromWfmToShifts, TwoWay} +SupportedSyncScenarioShift : {Disabled, FromWfmToShifts} +SupportedSyncScenarioSwapRequest : {Disabled, FromWfmToShifts, TwoWay} +SupportedSyncScenarioTimeCard : {Disabled, FromWfmToShifts, TwoWay} +SupportedSyncScenarioTimeOff : {Disabled, FromWfmToShifts} +SupportedSyncScenarioTimeOffRequest : {Disabled, FromWfmToShifts, TwoWay} +SupportedSyncScenarioUserShiftPreference : {Disabled, FromWfmToShifts, TwoWay} +Version : 2020.3 - 2021.1 + + Get the list of Shifts Connectors available on the tenant. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamsshiftsconnectionconnector + + + New-CsTeamsShiftsConnection + + + + New-CsTeamsShiftsConnectionInstance + + + + Set-CsTeamsShiftsConnectionInstance + + + + Test-CsTeamsShiftsConnectionValidate + + + + + + + Get-CsTeamsShiftsConnectionErrorReport + Get + CsTeamsShiftsConnectionErrorReport + + This cmdlet returns the list of all the team mapping error reports. It can also return the configuration details of one mapping error report with its ID provided or other filter parameters. + + + + This cmdlet returns the list of existing team mapping error reports. It can also return the configuration details for mapping result with given ID or other filters. + + + + Get-CsTeamsShiftsConnectionErrorReport + + + Get-CsTeamsShiftsConnectionErrorReport + + + Get-CsTeamsShiftsConnectionErrorReport + + ErrorReportId + + The ID of the error report. + + String + + String + + + None + + + Activeness + + The flag indicating results should have which activeness. Set this to `ActiveOnly` to get Error reports that are not resolved. Set this to `InactiveOnly` to get Error reports that are resolved. Set this to `Both` to get both active and inactive Error reports. + + String + + String + + + None + + + ConnectionId + + The UUID of a WFM connection. + + String + + String + + + None + + + ConnectorInstanceId + + The UUID of a connector instance. + + String + + String + + + None + + + TeamId + + The UUID of a team in Graph. + + String + + String + + + None + + + Operation + + The name of the action of the controller or the name of the command. + + String + + String + + + None + + + Procedure + + The name of the executing function or procedure. + + String + + String + + + None + + + Code + + The enum value of error code, human readable string defined in codebase. + + String + + String + + + None + + + Before + + The timestamp indicating results should be before which date and time. + + String + + String + + + None + + + After + + The timestamp indicating results should be after which date and time. + + String + + String + + + None + + + + + + ErrorReportId + + The ID of the error report. + + String + + String + + + None + + + Activeness + + The flag indicating results should have which activeness. Set this to `ActiveOnly` to get Error reports that are not resolved. Set this to `InactiveOnly` to get Error reports that are resolved. Set this to `Both` to get both active and inactive Error reports. + + String + + String + + + None + + + ConnectionId + + The UUID of a WFM connection. + + String + + String + + + None + + + ConnectorInstanceId + + The UUID of a connector instance. + + String + + String + + + None + + + TeamId + + The UUID of a team in Graph. + + String + + String + + + None + + + Operation + + The name of the action of the controller or the name of the command. + + String + + String + + + None + + + Procedure + + The name of the executing function or procedure. + + String + + String + + + None + + + Code + + The enum value of error code, human readable string defined in codebase. + + String + + String + + + None + + + Before + + The timestamp indicating results should be before which date and time. + + String + + String + + + None + + + After + + The timestamp indicating results should be after which date and time. + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsTeamsShiftsConnectionErrorReport + +Code ConnectionId CreatedAt Culture ErrorNotificationSent ErrorType Id IntermediateIncident Message +---- ------------ --------- ------- --------------------- --------- -- -------------------- ------- +WFMAuthError 30/09/2022 14:14:08 en-US False WFMAuthErrorMessageType 74091f69-29b7-4884-aab9-ee5d705f36e3 1042 The workforce management system account credentials you've ... +WFMAuthError 17/10/2022 19:42:15 en-US False WFMAuthErrorMessageType b0d04444-d80b-490a-a573-ae3bb7f871bc 40 The workforce management system account credentials you've ... +WFMAuthError 17/10/2022 20:27:31 en-US False WFMAuthErrorMessageType 91ca35d9-1abc-4ded-bcda-dbf58a155930 94 The workforce management system account credentials you've ... +GraphUserAuthError 18/10/2022 04:46:57 en-US False GraphUserAuthErrorMessageType 4d26df1c-7133-4477-9266-5d7ffb70aa88 0 Authentication failed. Ensure that you've entered valid cre... +UserMappingError 18/10/2022 04:47:15 en-US False UserMappingErrorMessageType 6a90b796-9cda-4cc9-a74c-499de91073f9 0 Mapping failed for some users: 3 succeeded, 0 failed AAD us... +BatchTeamMappingError 06/04/2023 15:24:22 en-US False BatchTeamMappingErrorMessageType bf1bc3ea-1e40-483b-b6cc-669f22f24c48 1 This designated actor profile doesn't have team ownership p... + + Returns the list of all the error reports. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Get-CsTeamsShiftsConnectionErrorReport -ErrorReportId 74091f69-29b7-4884-aab9-ee5d705f36e3 | Format-List + +Code : WFMAuthError +ConnectionId : +CreatedAt : 30/09/2022 14:14:08 +Culture : en-US +ErrorNotificationSent : False +ErrorType : WFMAuthErrorMessageType +Id : 74091f69-29b7-4884-aab9-ee5d705f36e3 +IntermediateIncident : 1042 +Message : The workforce management system account credentials you've provided are invalid or this account doesn't have the required permissions. +Operation : SyncSwapShiftRequestCommand +Parameter : +Procedure : ExecuteAsync +ReferenceLink : +ResolvedAt : +ResolvedNotificationSentOn : +RevisitIntervalInMinute : 1440 +RevisitedAt : +ScheduleSequenceNumber : 310673843 +Severity : Critical +TeamId : +TenantId : dfd24b34-ccb0-47e1-bdb7-e49db9c7c14a +TotalIncident : 1042 +Ttl : 2505600 +WfmConnectorInstanceId : WCI-6f8eb424-c347-46b4-a50b-118af8d3d546 + + Returns the error report with ID `18b3e490-e6ed-4c2e-9925-47e36609dff3`. + + + + -------------------------- Example 3 -------------------------- + PS C:\> Get-CsTeamsShiftsConnectionErrorReport -Code UserMappingError + +Code ConnectionId CreatedAt Culture ErrorNotificationSent ErrorType Id IntermediateIncident Message +---- ------------ --------- ------- --------------------- --------- -- -------------------- ------- +UserMappingError 18/10/2022 04:47:15 en-US False UserMappingErrorMessageType 6a90b796-9cda-4cc9-a74c-499de91073f9 0 Mapping failed for some users: 3 succeeded, 0 failed AAD user(s) and ... +UserMappingError 18/10/2022 04:47:28 en-US False UserMappingErrorMessageType 005c4a9d-552e-4ea1-9d6a-c0316d272bc9 0 Mapping failed for some users: 3 succeeded, 0 failed AAD user(s) and ... +UserMappingError 18/10/2022 04:48:25 en-US False UserMappingErrorMessageType 841e00b5-c4e5-4e24-89d2-703d79250516 0 Mapping failed for some users: 4 succeeded, 0 failed AAD user(s) and ... +UserMappingError 18/10/2022 04:54:05 en-US False UserMappingErrorMessageType 0e10d036-c071-4db2-9cac-22e520f929d9 0 Mapping failed for some users: 5 succeeded, 0 failed AAD user(s) and ... + + Returns the error report with error code `UserMappingError`. + + + + -------------------------- Example 4 -------------------------- + PS C:\> Get-CsTeamsShiftsConnectionErrorReport -Operation UserMappingHandler + +Code ConnectionId CreatedAt Culture ErrorNotificationSent ErrorType Id IntermediateIncident Message +---- ------------ --------- ------- --------------------- --------- -- -------------------- ------- +UserMappingError 18/10/2022 04:47:15 en-US False UserMappingErrorMessageType 6a90b796-9cda-4cc9-a74c-499de91073f9 0 Mapping failed for some users: 3 succeeded, 0 failed AAD user(s) and ... +UserMappingError 18/10/2022 04:47:28 en-US False UserMappingErrorMessageType 005c4a9d-552e-4ea1-9d6a-c0316d272bc9 0 Mapping failed for some users: 3 succeeded, 0 failed AAD user(s) and ... +UserMappingError 18/10/2022 04:48:25 en-US False UserMappingErrorMessageType 841e00b5-c4e5-4e24-89d2-703d79250516 0 Mapping failed for some users: 4 succeeded, 0 failed AAD user(s) and ... +UserMappingError 18/10/2022 04:54:05 en-US False UserMappingErrorMessageType 0e10d036-c071-4db2-9cac-22e520f929d9 0 Mapping failed for some users: 5 succeeded, 0 failed AAD user(s) and ... + + Returns the error report with operation `UserMappingHandler`. + + + + -------------------------- Example 5 -------------------------- + PS C:\> Get-CsTeamsShiftsConnectionErrorReport -After 2022-12-12T19:11:39.073Z + +Code ConnectionId CreatedAt Culture ErrorNotificationSent ErrorType Id IntermediateIncident Message +---- ------------ --------- ------- --------------------- --------- -- -------------------- ------- +UserMappingError 26/01/2023 14:42:27 en-US True UserMappingErrorMessageType d7ab9ab4-b60c-44d3-8c12-d8ee64a67ce8 172 Mapping failed for some users: 1 succeeded, 2 failed AAD us... +WFMAuthError 26/01/2023 16:08:31 en-US False WFMAuthErrorMessageType 7adc3e4e-124e-4613-855c-9ac1b338400a 1 The workforce management system account credentials you've ... + + Returns the error report created after `2022-12-12T19:11:39.073Z`. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamsshiftsconnectionerrorreport + + + Disable-CsTeamsShiftsConnectionErrorReport + + + + + + + Get-CsTeamsShiftsConnectionInstance + Get + CsTeamsShiftsConnectionInstance + + This cmdlet returns the list of existing connection instances. It can also return the configuration details for a given connection instance. + + + + This cmdlet returns the list of existing connections. It can also return the configuration details for a given connection instance. + + + + Get-CsTeamsShiftsConnectionInstance + + Break + + Wait for .NET debugger to attach + + + SwitchParameter + + + False + + + ConnectorInstanceId + + The connector instance id + + String + + String + + + None + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + Proxy + + The URI for the proxy server to use + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy + + + SwitchParameter + + + False + + + + Get-CsTeamsShiftsConnectionInstance + + Break + + Wait for .NET debugger to attach + + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + InputObject + + Identity Parameter + + IConfigApiBasedCmdletsIdentity + + IConfigApiBasedCmdletsIdentity + + + None + + + Proxy + + The URI for the proxy server to use + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy + + + SwitchParameter + + + False + + + + + + Break + + Wait for .NET debugger to attach + + SwitchParameter + + SwitchParameter + + + False + + + ConnectorInstanceId + + The connector instance id + + String + + String + + + None + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + InputObject + + Identity Parameter + + IConfigApiBasedCmdletsIdentity + + IConfigApiBasedCmdletsIdentity + + + None + + + Proxy + + The URI for the proxy server to use + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy + + SwitchParameter + + SwitchParameter + + + False + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity + + + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConnectorInstanceResponse + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IErrorDetailsResponse + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsTeamsShiftsConnectionInstance | Format-List + +ConnectionId : a2d1b091-5140-4dd2-987a-98a8b5338744 +ConnectorAdminEmail : {testAdmin@contoso.com} +ConnectorId : 95BF2848-2DDA-4425-B0EE-D62AEED4C0A0 +CreatedDateTime : 07/04/2023 10:53:59 +DesignatedActorId : ec1a4edb-1a5f-4b2d-b2a4-37aaf3acd231 +Etag : "4f00c221-0000-0400-0000-642ff6480000" +Id : WCI-b58d7a98-ab2c-473f-99a5-e0627d54c062 +LastModifiedDateTime : 07/04/2023 10:53:59 +Name : My connection instance 1 +State : Active +SyncFrequencyInMin : 10 +SyncScenarioOfferShiftRequest : FromWfmToShifts +SyncScenarioOpenShift : FromWfmToShifts +SyncScenarioOpenShiftRequest : FromWfmToShifts +SyncScenarioShift : FromWfmToShifts +SyncScenarioSwapRequest : FromWfmToShifts +SyncScenarioTimeCard : FromWfmToShifts +SyncScenarioTimeOff : FromWfmToShifts +SyncScenarioTimeOffRequest : FromWfmToShifts +SyncScenarioUserShiftPreference : FromWfmToShifts +TenantId : dfd24b34-ccb0-47e1-bdb7-e49db9c7c14a +WorkforceIntegrationId : WFI_2ab21992-b9b1-464a-b9cd-e0de1fac95b1 + +ConnectionId : a2d1b091-5140-4dd2-987a-98a8b5338744 +ConnectorAdminEmail : {} +ConnectorId : 95BF2848-2DDA-4425-B0EE-D62AEED4C0A0 +CreatedDateTime : 07/04/2023 10:54:01 +DesignatedActorId : ec1a4edb-1a5f-4b2d-b2a4-37aab6ebd231 +Etag : "4f005d22-0000-0400-0000-642ff64a0000" +Id : WCI-eba2865f-6cac-46f9-8733-e0631a4536e1 +LastModifiedDateTime : 07/04/2023 10:54:01 +Name : My connection instance 2 +State : Active +SyncFrequencyInMin : 30 +SyncScenarioOfferShiftRequest : FromWfmToShifts +SyncScenarioOpenShift : FromWfmToShifts +SyncScenarioOpenShiftRequest : FromWfmToShifts +SyncScenarioShift : FromWfmToShifts +SyncScenarioSwapRequest : Disabled +SyncScenarioTimeCard : Disabled +SyncScenarioTimeOff : FromWfmToShifts +SyncScenarioTimeOffRequest : FromWfmToShifts +SyncScenarioUserShiftPreference : Disabled +TenantId : dfd24b34-ccb0-47e1-bdb7-e49db9c7c14a +WorkforceIntegrationId : WFI_6b225907-b476-4d40-9773-08b86db7b11b + + Returns the list of connection instances. + + + + -------------------------- Example 2 -------------------------- + PS C:\> $ci = Get-CsTeamsShiftsConnectionInstance -ConnectorInstanceId WCI-78F5116E-9098-45F5-B595-1153DF9D6F70 +PS C:\> $ci.ToJsonString() + +{ + "syncScenarios": { + "offerShiftRequest": "FromWfmToShifts", + "openShift": "FromWfmToShifts", + "openShiftRequest": "FromWfmToShifts", + "shift": "FromWfmToShifts", + "swapRequest": "Disabled", + "timeCard": "Disabled", + "timeOff": "FromWfmToShifts", + "timeOffRequest": "FromWfmToShifts", + "userShiftPreferences": "Disabled" + }, + "id": "WCI-78F5116E-9098-45F5-B595-1153DF9D6F70", + "tenantId": "dfd24b34-ccb0-47e1-bdb7-e49db9c7c14a", + "connectionId": "a2d1b091-5140-4dd2-987a-98a8b5338744", + "connectorAdminEmails": [ ], + "connectorId": "95BF2848-2DDA-4425-B0EE-D62AEED4C0A0", + "designatedActorId": "ec1a4edb-1a5f-4b2d-b2a4-37aab6ebd231", + "name": "My connection instance 2", + "syncFrequencyInMin": 30, + "workforceIntegrationId": "WFI_6b225907-b476-4d40-9773-08b86db7b11b", + "etag": "\"4f005d22-0000-0400-0000-642ff64a0000\"", + "createdDateTime": "2023-04-07T10:54:01.8170000Z", + "lastModifiedDateTime": "2023-04-07T10:54:01.8170000Z", + "state": "Active" +} + + Returns the connection instance with the specified -ConnectorInstanceId. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamsshiftsconnectioninstance + + + New-CsTeamsShiftsConnectionInstance + + + + Set-CsTeamsShiftsConnectionInstance + + + + Remove-CsTeamsShiftsConnectionInstance + + + + + + + Get-CsTeamsShiftsConnectionOperation + Get + CsTeamsShiftsConnectionOperation + + This cmdlet gets the requested batch mapping operation. The batch mapping operation can be submitted by running New-CsTeamsShiftsConnectionBatchTeamMap (New-CsTeamsShiftsConnectionBatchTeamMap.md). + + + + This cmdlet returns the details of a specific batch team mapping operation. + + + + Get-CsTeamsShiftsConnectionOperation + + Id + + The ID of the batch mapping operation. + + String + + String + + + None + + + + + + Id + + The ID of the batch mapping operation. + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsTeamsShiftsConnectionOperation -OperationId c79131b7-9ecb-484b-a8df-2959c7c1e5f2 + +CreatedDateTime LastActionDateTime Id Status TenantId Type WfmConnectorInstanceId +--------------- ------------------ ----------- ------ -------- ---- ---------------------- +12/6/2021 7:28:51 PM 12/6/2021 7:28:51 PM c79131b7-9ecb-484b-a8df-2959c7c1e5f2 NotStarted dfd24b34-ccb0-47e1-bdb7-e49db9c7c14a TeamsMappingOperation WCI-2afeb8ec-a0f6-4580-8f1e-85fd4a113e01 + + Returns the details of batch mapping operation with ID `c79131b7-9ecb-484b-a8df-2959c7c1e5f2`. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamsshiftsconnectionoperation + + + New-CsTeamsShiftsConnectionBatchTeamMap + + + + + + + Get-CsTeamsShiftsConnectionSyncResult + Get + CsTeamsShiftsConnectionSyncResult + + This cmdlet supports retrieving the list of user details in the mapped teams of last sync. + + + + This cmdlet supports retrieving the list of successful and failed users in the mapped teams of last sync. + + + + Get-CsTeamsShiftsConnectionSyncResult + + ConnectorInstanceId + + The ID of the connection instance. It can be retrieved by running Get-CsTeamsShiftsConnectionInstance (Get-CsTeamsShiftsConnectionInstance.md). + + String + + String + + + None + + + TeamId + + The Teams team ID. It can be retrieved by visiting AzureAAD (https://portal.azure.com/#blade/Microsoft_AAD_IAM/GroupsManagementMenuBlade/AllGroups). + + String + + String + + + None + + + + + + ConnectorInstanceId + + The ID of the connection instance. It can be retrieved by running Get-CsTeamsShiftsConnectionInstance (Get-CsTeamsShiftsConnectionInstance.md). + + String + + String + + + None + + + TeamId + + The Teams team ID. It can be retrieved by visiting AzureAAD (https://portal.azure.com/#blade/Microsoft_AAD_IAM/GroupsManagementMenuBlade/AllGroups). + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsTeamsShiftsConnectionSyncResult -ConnectorInstanceId "WCI-d1addd70-2684-4723-b8f2-7fa2230648c9" -TeamId "12345d29-7ee1-4259-8999-946953feb79e" + +FailedAadUser FailedWfmUser SuccessfulUser +------------- ------------- -------------- +{LABRO} {FRPET, WAROS, JOREE} {user3@contoso.com, user2@contoso.comm, user@contoso.com} + + Returns the successful and failed users in the team mapping of Teams `12345d29-7ee1-4259-8999-946953feb79e` in the instance with ID `WCI-d1addd70-2684-4723-b8f2-7fa2230648c9`. `LABRO` in FailedAadUser column shows the list of users who failed to sync from Teams to Wfm. `FRPET, WAROS, JOREE` in FailedWfmUser column shows the list of users who failed to sync from Wfm to Teams. `user3@contoso.com, user2@contoso.comm, user@contoso.com` in SuccessfulUser column shows the list of users who synced in both Wfm and Teams. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamsshiftsconnectionsyncresult + + + Get-CsTeamsShiftsConnectionInstance + + + + + + + Get-CsTeamsShiftsConnectionTeamMap + Get + CsTeamsShiftsConnectionTeamMap + + This cmdlet supports retrieving the list of team mappings. + + + + Workforce management (WFM) systems have locations / sites that are mapped to a Microsoft Teams team for synchronization of shifts data. This cmdlet shows the list of mapped teams inside the connection instance. Instance IDs can be found by running Get-CsTeamsShiftsConnectionInstance (Get-CsTeamsShiftsConnectionInstance.md). + + + + Get-CsTeamsShiftsConnectionTeamMap + + ConnectorInstanceId + + The ID of the connection instance. + + String + + String + + + None + + + + + + ConnectorInstanceId + + The ID of the connection instance. + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsTeamsShiftsConnectionTeamMap -ConnectorInstanceId "WCI-d1addd70-2684-4723-b8f2-7fa2230648c9" + +TeamId TeamName TimeZone WfmTeamId WfmTeamName +------ -------- -------- --------- ----------- +12344689-758c-4598-9206-3e23416da8c2 America/Los_Angeles 1000107 + + Returns the list of team mappings in the instance with ID `WCI-d1addd70-2684-4723-b8f2-7fa2230648c9`. + In case of error, we can capture the error response as following: + * Hold the cmdlet output in a variable: `$result=<CMDLET>` + * To get the entire error message in Json: `$result.ToJsonString()` + * To get the error object and object details: `$result, $result.Detail` + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamsshiftsconnectionteammap + + + Remove-CsTeamsShiftsConnectionTeamMap + + + + Get-CsTeamsShiftsConnectionInstance + + + + + + + Get-CsTeamsShiftsConnectionWfmTeam + Get + CsTeamsShiftsConnectionWfmTeam + + This cmdlet supports retrieving the list of available Workforce management (WFM) teams in the connection instance. + + + + This cmdlet shows the WFM teams that are not currently mapped to a Microsoft Teams team, and thus can be mapped to a Microsoft Teams team in the connection instance. + + + + Get-CsTeamsShiftsConnectionWfmTeam + + ConnectorInstanceId + + The ID of the connection instance. You can retrieve it by running Get-CsTeamsShiftsConnectionInstance (Get-CsTeamsShiftsConnectionInstance.md). + + String + + String + + + None + + + ConnectionId + + The ID of the connection. You can retrieve it by running Get-CsTeamsShiftsConnection (Get-CsTeamsShiftsConnection.md). + + String + + String + + + None + + + + + + ConnectorInstanceId + + The ID of the connection instance. You can retrieve it by running Get-CsTeamsShiftsConnectionInstance (Get-CsTeamsShiftsConnectionInstance.md). + + String + + String + + + None + + + ConnectionId + + The ID of the connection. You can retrieve it by running Get-CsTeamsShiftsConnection (Get-CsTeamsShiftsConnection.md). + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsTeamsShiftsConnectionWfmTeam -ConnectorInstanceId "WCI-4c231dd2-4451-45bd-8eea-bd68b40bab8b" + +Id Name +-- ---- +1000105 0002 - Bucktown +1000106 0003 - West Town +1000107 0005 - Old Town +1000108 0004 - River North +1000109 0001 - Wicker Park +1000111 2055 +1000112 2056 +1000114 1004 +1000115 1003 +1000116 1002 +1000122 0010 +1000124 0300 +1000125 1000 +1000126 4500 +1000128 0006 - WFM Team 1 +1000129 Test + + Returns the WFM teams for the connection instance with ID `WCI-4c231dd2-4451-45bd-8eea-bd68b40bab8b`. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Get-CsTeamsShiftsConnectionWfmTeam -ConnectionId "a2d1b091-5140-4dd2-987a-98a8b5338744" + +Id Name +-- ---- +1000105 0002 - Bucktown +1000106 0003 - West Town +1000107 0005 - Old Town +1000108 0004 - River North +1000109 0001 - Wicker Park +1000111 2055 +1000112 2056 +1000114 1004 +1000115 1003 +1000116 1002 +1000122 0010 +1000124 0300 +1000125 1000 +1000126 4500 +1000128 0006 - WFM Team 1 +1000129 Test + + Returns the WFM teams for the WFM connection with ID `a2d1b091-5140-4dd2-987a-98a8b5338744`. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamsshiftsconnectionwfmteam + + + Get-CsTeamsShiftsConnection + + + + Get-CsTeamsShiftsConnectionInstance + + + + Get-CsTeamsShiftsConnectionWfmUser + + + + + + + Get-CsTeamsShiftsConnectionWfmUser + Get + CsTeamsShiftsConnectionWfmUser + + This cmdlet shows the list of Workforce management (WFM) users in a specified WFM team. + + + + This cmdlet shows the list of Workforce management (WFM) users in a specified WFM team. + + + + Get-CsTeamsShiftsConnectionWfmUser + + ConnectorInstanceId + + The ID of the connection instance. It can be retrieved by running Get-CsTeamsShiftsConnectionInstance (Get-CsTeamsShiftsConnectionInstance.md). + + String + + String + + + None + + + WfmTeamId + + The Teams team ID. It can be retrieved by running Get-CsTeamsShiftsConnectionWfmTeam (Get-CsTeamsShiftsConnectionWfmTeam.md). + + String + + String + + + None + + + + + + ConnectorInstanceId + + The ID of the connection instance. It can be retrieved by running Get-CsTeamsShiftsConnectionInstance (Get-CsTeamsShiftsConnectionInstance.md). + + String + + String + + + None + + + WfmTeamId + + The Teams team ID. It can be retrieved by running Get-CsTeamsShiftsConnectionWfmTeam (Get-CsTeamsShiftsConnectionWfmTeam.md). + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsTeamsShiftsConnectionWfmUser -ConnectorInstanceId "WCI-4c231dd2-4451-45bd-8eea-bd68b40bab8b" -WfmTeamId "1000107" + +Id Name +-- ---- +1000111 FRPET +1000121 WAROS +1000123 LABRO +1000125 JOREE +1006068 ABC +1006069 XYZ +1006095 DEF + + Returns the users in the WFM team with ID `1000107` in the connection instances with ID `WCI-4c231dd2-4451-45bd-8eea-bd68b40bab8b`. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamsshiftsconnectionwfmuser + + + Get-CsTeamsShiftsConnectionInstance + + + + Get-CsTeamsShiftsConnectionWfmTeam + + + + + + + Get-CsTeamsTranslationRule + Get + CsTeamsTranslationRule + + Cmdlet to get an existing number manipulation rule (or list of rules). + + + + You can use this cmdlet to get an existing number manipulation rule (or list of rules). The rule can be used, for example, in the settings of your SBC (Set-CSOnlinePSTNGateway) to convert a callee or caller number to a desired format before entering or leaving Microsoft Phone System. + + + + Get-CsTeamsTranslationRule + + Identity + + Identifier of the specific translation rule to display. + + String + + String + + + None + + + + Get-CsTeamsTranslationRule + + Filter + + The filter to use against the Identity of translation rules. + + String + + String + + + None + + + + + + Identity + + Identifier of the specific translation rule to display. + + String + + String + + + None + + + Filter + + The filter to use against the Identity of translation rules. + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsTeamsTranslationRule + + This command will show all translation rules that exist in the tenant. Identity, Name, Description, Pattern, and Translation parameters are listed for each rule. + + + + -------------------------- Example 2 -------------------------- + Get-CsTeamsTranslationRule -Identity AddPlus1 + + This command will show Identity, Name, Description, Pattern, and Translation parameters for the "AddPlus1" rule. + + + + -------------------------- Example 3 -------------------------- + Get-CsTeamsTranslationRule -Filter 'Add*' + + This command will show Identity, Name, Description, Pattern, and Translation parameters for all rules with Identity starting with Add. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamstranslationrule + + + New-CsTeamsTranslationRule + + + + Test-CsTeamsTranslationRule + + + + Set-CsTeamsTranslationRule + + + + Remove-CsTeamsTranslationRule + + + + + + + Get-CsTeamsUnassignedNumberTreatment + Get + CsTeamsUnassignedNumberTreatment + + Displays a specific or all treatments for how calls to an unassigned number range should be routed. + + + + + This cmdlet displays a specific or all treatments for how calls to an unassigned number range should be routed. + + + + Get-CsTeamsUnassignedNumberTreatment + + Filter + + Enables you to limit the returned data by filtering on the Identity attribute. + + String + + String + + + None + + + + Get-CsTeamsUnassignedNumberTreatment + + Identity + + The Id of the specific treatment to show. + + System.String + + System.String + + + None + + + + + + Filter + + Enables you to limit the returned data by filtering on the Identity attribute. + + String + + String + + + None + + + Identity + + The Id of the specific treatment to show. + + System.String + + System.String + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + The cmdlet is available in Teams PS module 2.5.1 or later. + + + + + -------------------------- Example 1 -------------------------- + Get-CsTeamsUnassignedNumberTreatment -Identity MainAA + + This example displays the treatment MainAA. + + + + -------------------------- Example 2 -------------------------- + Get-CsTeamsUnassignedNumberTreatment + + This example displays all configured treatments. + + + + -------------------------- Example 3 -------------------------- + Get-CsTeamsUnassignedNumberTreatment -Filter Ann* + + This example displays all configured treatments with an Identity starting with Ann. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamsunassignednumbertreatment + + + Remove-CsTeamsUnassignedNumberTreatment + + + + New-CsTeamsUnassignedNumberTreatment + + + + Set-CsTeamsUnassignedNumberTreatment + + + + + + + Get-CsTeamsUpgradePolicy + Get + CsTeamsUpgradePolicy + + TeamsUpgradePolicy allows administrators to manage the transition from Skype for Business to Teams. + > [!IMPORTANT] > It can take up to 24 hours for a change to TeamsUpgradePolicy to take effect. Before then, user presence status may not be correct (may show as Unknown ). + + + + TeamsUpgradePolicy allows administrators to manage the transition from Skype for Business to Teams. This cmdlet returns the set of instances of this policy. As an organization with Skype for Business starts to adopt Teams, administrators can manage the user experience in their organization using the concept of coexistence "mode". Mode defines in which client incoming chats and calls land as well as in what service (Teams or Skype for Business) new meetings are scheduled in. Mode also governs whether chat, calling, and meeting scheduling functionality are available in the Teams client. Finally, prior to upgrading to TeamsOnly mode administrators can use TeamsUpgradePolicy to trigger notifications in the Skype for Business client to inform users of the pending upgrade. + NOTES: - Except for on-premise versions of Skype for Business Server, all relevant instances of TeamsUpgradePolicy are built into the system, so there is no corresponding New cmdlet. - If you are using Skype for Business Server, there are no built-in instances and you'll need to create one. Also, only the NotifySfBUsers property is available. Mode is not present. - Using TeamsUpgradePolicy in an on-premises environmention requires Skype for Business Server 2015 with CU8 or later. + You can also find more guidance here: Migration and interoperability guidance for organizations using Teams together with Skype for Business (https://learn.microsoft.com/microsoftteams/migration-interop-guidance-for-teams-with-skype). + + + + Get-CsTeamsUpgradePolicy + + Identity + + If identity parameter is passed, this will return a specific instance. If no identity parameter is specified, the cmdlet returns all instances. + + XdsIdentity + + XdsIdentity + + + None + + + Filter + + {{Fill Filter Description}} + + String + + String + + + None + + + Tenant + + {{Fill Tenant Description}} + + Guid + + Guid + + + None + + + + + + Identity + + If identity parameter is passed, this will return a specific instance. If no identity parameter is specified, the cmdlet returns all instances. + + XdsIdentity + + XdsIdentity + + + None + + + Filter + + {{Fill Filter Description}} + + String + + String + + + None + + + Tenant + + {{Fill Tenant Description}} + + Guid + + Guid + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + Example 1: List all instances of TeamsUpgradePolicy (Skype for Business Online) + PS C:\> Get-CsTeamsUpgradePolicy + +Identity : Global +Description : Users can use either Skype for Business client or Teams client +Mode : Islands +NotifySfbUsers : False + +Identity : Tag:UpgradeToTeams +Description : Use Teams Only +Mode : TeamsOnly +NotifySfbUsers : False + +Identity : Tag:Islands +Description : Use either Skype for Business client or Teams client +Mode : Islands +NotifySfbUsers : False +Action : None + +Identity : Tag:IslandsWithNotify +Description : Use either Skype for Business client or Teams client +Mode : Islands +NotifySfbUsers : True + +Identity : Tag:SfBOnly +Description : Use only Skype for Business +Mode : SfBOnly +NotifySfbUsers : False + +Identity : Tag:SfBOnlyWithNotify +Description : Use only Skype for Business +Mode : SfBOnly +NotifySfbUsers : True + +Identity : Tag:SfBWithTeamsCollab +Description : Use Skype for Business and use Teams only for group collaboration +Mode : SfBWithTeamsCollab +NotifySfbUsers : False + +Identity : Tag:SfBWithTeamsCollabWithNotify +Description : Use Skype for Business and use Teams only for group collaboration +Mode : SfBWithTeamsCollab +NotifySfbUsers : True + +Identity : Tag:SfBWithTeamsCollabAndMeetings +Description : Use Skype for Business and use Teams only for group collaboration +Mode : SfBWithTeamsCollabAndMeetings +NotifySfbUsers : False + +Identity : Tag:SfBWithTeamsCollabAndMeetingsWithNotify +Description : Use Skype for Business and use Teams only for group collaboration +Mode : SfBWithTeamsCollabAndMeetings +NotifySfbUsers : True + + List all instances of TeamsUpgradePolicy + + + + Example 2: List the global instance of TeamsUpgradePolicy (which applies to all users in a tenant unless they are explicitly assigned an instance of this policy) + PS C:\> Get-CsTeamsUpgradePolicy -Identity Global + +Identity : Global +Description : Users can use either Skype for Business client or Teams client +Mode : Islands +NotifySfbUsers : False + + List the global instance of TeamsUpgradePolicy + + + + Example 3: List all instances of TeamsUpgradePolicy in an on-premises environment + PS C:\> Get-CsTeamsUpgradePolicy -Identity Global + +Identity : Global +Description : Notifications are disabled +NotifySfbUsers : False + + List all on-premises instances (if any) of TeamsUpgradePolicy. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/skype/get-csteamsupgradepolicy + + + Get-CsTeamsUpgradeConfiguration + + + + Set-CsTeamsUpgradeConfiguration + + + + Grant-CsTeamsUpgradePolicy + + + + Migration and interoperability guidance for organizations using Teams together with Skype for Business + https://learn.microsoft.com/MicrosoftTeams/migration-interop-guidance-for-teams-with-skype + + + + + + Get-CsTeamsVideoInteropServicePolicy + Get + CsTeamsVideoInteropServicePolicy + + Cloud Video Interop for Teams enables 3rd party VTC devices to be able to join Teams meetings. You can use the TeamsVideoInteropServicePolicy cmdlets to enable Cloud Video Interop for particular users or for your entire organization. + + + + Cloud Video Interop for Teams enables 3rd party VTC devices to be able to join Teams meetings. You can use the TeamsVideoInteropServicePolicy cmdlets to enable Cloud Video Interop for particular users or for your entire organization. Microsoft provides pre-constructed policies for each of our supported partners that allow you to designate which partner(s) to use for cloud video interop. +The Get-CsTeamsVideoInteropServicePolicy cmdlet allows you to identify the pre-constructed policies that you can use in your organization. You can assign this policy to one or more of your users leveraging the Grant-CsTeamsVideoInteropServicePolicy cmdlet. + + + + Get-CsTeamsVideoInteropServicePolicy + + Filter + + If you don't know what policies have been pre-constructed, you can use filter to identify all policies available. This is a regex string against the name (Identity) of the pre-constructed policies. + + String + + String + + + None + + + LocalStore + + Internal Microsoft use only. + + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + + Get-CsTeamsVideoInteropServicePolicy + + Identity + + Specify the known name of a policy that has been pre-constructed for you to use. + + XdsIdentity + + XdsIdentity + + + None + + + LocalStore + + Internal Microsoft use only. + + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + + + + Filter + + If you don't know what policies have been pre-constructed, you can use filter to identify all policies available. This is a regex string against the name (Identity) of the pre-constructed policies. + + String + + String + + + None + + + Identity + + Specify the known name of a policy that has been pre-constructed for you to use. + + XdsIdentity + + XdsIdentity + + + None + + + LocalStore + + Internal Microsoft use only. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsTeamsVideoInteropServicePolicy -Filter "*enabled*" + + This example returns all of the policies that have been pre-constructed for you to use when turning on Cloud Video Interop with one of our supported partners. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamsvideointeropservicepolicy + + + + + + Get-CsTeamTemplate + Get + CsTeamTemplate + + This cmdlet supports retrieving details of a team template available to your tenant given the team template uri. + NOTE: The returned template definition is a PowerShell object formatted as a JSON for readability. Please refer to the examples for suggested interaction flows for template management. + + + + This cmdlet supports retrieving details of a team template available to your tenant given the team template uri. + + + + Get-CsTeamTemplate + + OdataId + + A composite URI of a template. + + String + + String + + + None + + + Break + + Wait for .NET debugger to attach + + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + Proxy + + The URI for the proxy server to use + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy + + + SwitchParameter + + + False + + + + Get-CsTeamTemplate + + InputObject + + Identity Parameter To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + + IConfigApiBasedCmdletsIdentity + + IConfigApiBasedCmdletsIdentity + + + None + + + Break + + Wait for .NET debugger to attach + + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + Proxy + + The URI for the proxy server to use + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy + + + SwitchParameter + + + False + + + + + + OdataId + + A composite URI of a template. + + String + + String + + + None + + + InputObject + + Identity Parameter To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + + IConfigApiBasedCmdletsIdentity + + IConfigApiBasedCmdletsIdentity + + + None + + + Break + + Wait for .NET debugger to attach + + SwitchParameter + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + Proxy + + The URI for the proxy server to use + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy + + SwitchParameter + + SwitchParameter + + + False + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity + + + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplate + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IErrorObject + + + + + + + + + COMPLEX PARAMETER PROPERTIES + To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + INPUTOBJECT <IConfigApiBasedCmdletsIdentity>: Identity Parameter - `[Bssid <String>]`: - `[ChassisId <String>]`: - `[CivicAddressId <String>]`: Civic address id. - `[Country <String>]`: - `[GroupId <String>]`: The ID of a group whose policy assignments will be returned. - `[Id <String>]`: - `[Identity <String>]`: - `[Locale <String>]`: - `[LocationId <String>]`: Location id. - `[OdataId <String>]`: A composite URI of a template. - `[OperationId <String>]`: The ID of a batch policy assignment operation. - `[OrderId <String>]`: - `[PackageName <String>]`: The name of a specific policy package - `[PolicyType <String>]`: The policy type for which group policy assignments will be returned. - `[Port <String>]`: - `[PortInOrderId <String>]`: - `[PublicTemplateLocale <String>]`: Language and country code for localization of publicly available templates. - `[SubnetId <String>]`: - `[TenantId <String>]`: - `[UserId <String>]`: UserId. Supports Guid. Eventually UPN and SIP. + + + + + -------------------------- EXAMPLE 1 -------------------------- + PS C:> (Get-CsTeamTemplateList -PublicTemplateLocale en-US) | where Name -like 'test' | ForEach-Object {Get-CsTeamTemplate -OdataId $_.OdataId} + + Within the universe of templates the admin's tenant has access to, returns a template definition object (displayed as a JSON by default) for every custom and every Microsoft en-US template which names include 'test'. + + + + -------------------------- EXAMPLE 2 -------------------------- + PS C:> Get-CsTeamTemplate -OdataId '/api/teamtemplates/v1.0/cefcf333-91a9-43d0-919f-bbca5b7d2b24/Tenant/en-US' > 'config.json' + + Saves the template with specified template ID as a JSON file. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamtemplate + + + Get-CsTeamTemplateList + + + + Get-CsTeamTemplate + + + + New-CsTeamTemplate + + + + Update-CsTeamTemplate + + + + Remove-CsTeamTemplate + + + + + + + Get-CsTeamTemplateList + Get + CsTeamTemplateList + + This cmdlet supports retrieving information of all team templates available to your tenant, including both first party Microsoft team templates as well as custom templates. The templates information retrieved includes OData Id, template name, short description, count of channels and count of applications. +Note: All custom templates will be retrieved, regardless of the locale specification. If you have hidden templates in the admin center, you will still be able to see the hidden templates here. + + + + Get a list of available team templates + + + + Get-CsTeamTemplateList + + PublicTemplateLocale + + The language and country code of templates localization for Microsoft team templates. This will not be applied to your tenant custom team templates. Defaults to en-US. + + String + + String + + + 'en-US' + + + + Get-CsTeamTemplateList + + InputObject + + Identity Parameter To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + + IConfigApiBasedCmdletsIdentity + + IConfigApiBasedCmdletsIdentity + + + None + + + + + + PublicTemplateLocale + + The language and country code of templates localization for Microsoft team templates. This will not be applied to your tenant custom team templates. Defaults to en-US. + + String + + String + + + 'en-US' + + + InputObject + + Identity Parameter To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + + IConfigApiBasedCmdletsIdentity + + IConfigApiBasedCmdletsIdentity + + + None + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity + + + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IErrorObject + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplateSummary + + + + + + + + + COMPLEX PARAMETER PROPERTIES + To create the parameters described below, construct a hash table containing the appropriate properties.\ For information on hash tables, run Get-Help about_Hash_Tables.\ \ INPUTOBJECT <IConfigApiBasedCmdletsIdentity>: Identity Parameter\ [Bssid <String>]:\ [ChassisId <String>]:\ [CivicAddressId <String>]: Civic address id.\ [Country <String>]:\ [GroupId <String>]: The ID of a group whose policy assignments will be returned.\ [Id <String>]:\ [Identity <String>]:\ [Locale <String>]: The language and country code of templates localization.\ [LocationId <String>]: Location id.\ [OdataId <String>]: A composite URI of a template.\ [OperationId <String>]: The ID of a batch policy assignment operation.\ [OrderId <String>]:\ [PackageName <String>]: The name of a specific policy package\ [PolicyType <String>]: The policy type for which group policy assignments will be returned.\ [Port <String>]:\ [PortInOrderId <String>]:\ [SubnetId <String>]:\ [TenantId <String>]:\ [UserId <String>]: UserId.\ Supports Guid.\ Eventually UPN and SIP. + + + + + -------------------------- EXAMPLE 1 -------------------------- + PS C:> Get-CsTeamTemplateList + + Returns all en-US templates within the universe of templates the admin's tenant has access to. + Note: All 1P Microsoft templates will always be returned in the specified locale. If the locale is not specified, en-US will be used. + + + + -------------------------- EXAMPLE 2 -------------------------- + PS C:> (Get-CsTeamTemplateList -PublicTemplateLocale en-US) | where ChannelCount -GT 3 + + Returns all en-US templates that have 3 channels within the universe of templates the admin's tenant has access to. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamtemplatelist + + + Get-CsTeamTemplateList + + + + Get-CsTeamTemplate + + + + New-CsTeamTemplate + + + + Update-CsTeamTemplate + + + + Remove-CsTeamTemplate + + + + + + + Get-CsTenant + Get + CsTenant + + Returns information about the Microsoft Teams or Skype for Business Online tenants that have been configured for use in your organization. Tenants represent groups of online users. + + + + In Microsoft Teams or Skype for Business Online, tenants are groups of users who have accounts homed on the service. Organizations will typically have a single tenant in which to house all their user accounts. + In the Teams PowerShell Module version 3.0.0 or later, the following attributes have been deprecated for organizations with Teams users: + - AdminDescription + - AllowedDataLocation + - AssignedLicenses + - DefaultDataLocation + - DefaultPoolFqdn + - Description + - DisableExoPlanProvisioning + - DistinguishedName + - DomainUrlMap + - ExperiencePolicy + - Guid + - HostedVoiceMail + - HostedVoiceMailNotProvisioned + - Id + - Identity + - IsByPassValidation + - IsMNC + - IsO365MNC + - IsReadinessUploaded + - IsUpgradeReady + - IsValid + - LastSubProvisionTimeStamp + - MNCEnableTimeStamp + - Name + - NonPrimarySource + - ObjectCategory + - ObjectClass + - ObjectId + - ObjectState + - OcoDomainTracked + - OnPremisesImmutableId + - OnPremisesUserPrincipalName + - OnPremSamAccountName + - OnPremSecurityIdentifier + - OriginalRegistrarPool + - OriginatingServer + - PendingDeletion + - Phone + - ProvisioningCounter + - ProvisioningStamp + - ProvisionType + - PublicProvider + - PublishingCounter + - PublishingStamp + - RegistrarPool + - RemoteMachine + - SubProvisioningCounter + - SubProvisioningStamp + - SyncingCounter + - TeamsUpgradeEligible + - TelehealthEnabled + - TenantNotified + - TenantPoolExtension + - UpgradeRetryCounter + - UserRoutingGroupIds + - XForestMovePolicy + + In the Teams PowerShell Module version 3.0.0 or later, the following attributes have been renamed for TeamsOnly customers: + - CountryAbbreviation is now CountryLetterCode + - CountryOrRegionDisplayName is now Country + - StateOrProvince is now State + + + + Get-CsTenant + + Identity + + Note: This parameter has been deprecated from the Teams PowerShell Module version 3.0.0 or later. + Unique identifier for the tenant. For example: + -Identity "bf19b7db-6960-41e5-a139-2aa373474354" + If you do not include either the Identity or the Filter parameter then the `Get-CsTenant` cmdlet will return information about all your tenants. + + OUIdParameter + + OUIdParameter + + + None + + + DomainController + + This parameter is not used with Skype for Business Online and will be deprecated in the near future. + + Fqdn + + Fqdn + + + None + + + Filter + + Note: This parameter has been deprecated from the Teams PowerShell Module version 3.0.0 or later. + + Enables you to return data by using Active Directory attributes and without having to specify the full Active Directory distinguished name. For example, to retrieve a tenant by using the tenant display name, use syntax similar to this: + Get-CsTenant -Filter {DisplayName -eq "FabrikamTenant"} + To return all tenants that use a Fabrikam domain use this syntax: + Get-CsTenant -Filter {Domains -like " fabrikam "} + The Filter parameter uses the same Windows PowerShell filtering syntax is used by the `Where-Object` cmdlet. + You cannot use both the Identity parameter and the Filter parameter in the same command. + + String + + String + + + None + + + ResultSize + + Note: This parameter has been deprecated from the Teams PowerShell Module version 3.0.0 or later. + Enables you to limit the number of records returned by the cmdlet. For example, to return seven tenants (regardless of the number of tenants that are in your forest) include the ResultSize parameter and set the parameter value to 7. Note that there is no way to guarantee which 7 users will be returned. + The result size can be set to any whole number between 0 and 2147483647, inclusive. If set to 0 the command will run, but no data will be returned. If you set the tenants to 7 but you have only three contacts in your forest, the command will return those three tenants and then complete without error. + + Int32 + + Int32 + + + None + + + + + + DomainController + + This parameter is not used with Skype for Business Online and will be deprecated in the near future. + + Fqdn + + Fqdn + + + None + + + Filter + + Note: This parameter has been deprecated from the Teams PowerShell Module version 3.0.0 or later. + + Enables you to return data by using Active Directory attributes and without having to specify the full Active Directory distinguished name. For example, to retrieve a tenant by using the tenant display name, use syntax similar to this: + Get-CsTenant -Filter {DisplayName -eq "FabrikamTenant"} + To return all tenants that use a Fabrikam domain use this syntax: + Get-CsTenant -Filter {Domains -like " fabrikam "} + The Filter parameter uses the same Windows PowerShell filtering syntax is used by the `Where-Object` cmdlet. + You cannot use both the Identity parameter and the Filter parameter in the same command. + + String + + String + + + None + + + Identity + + Note: This parameter has been deprecated from the Teams PowerShell Module version 3.0.0 or later. + Unique identifier for the tenant. For example: + -Identity "bf19b7db-6960-41e5-a139-2aa373474354" + If you do not include either the Identity or the Filter parameter then the `Get-CsTenant` cmdlet will return information about all your tenants. + + OUIdParameter + + OUIdParameter + + + None + + + ResultSize + + Note: This parameter has been deprecated from the Teams PowerShell Module version 3.0.0 or later. + Enables you to limit the number of records returned by the cmdlet. For example, to return seven tenants (regardless of the number of tenants that are in your forest) include the ResultSize parameter and set the parameter value to 7. Note that there is no way to guarantee which 7 users will be returned. + The result size can be set to any whole number between 0 and 2147483647, inclusive. If set to 0 the command will run, but no data will be returned. If you set the tenants to 7 but you have only three contacts in your forest, the command will return those three tenants and then complete without error. + + Int32 + + Int32 + + + None + + + + + + Microsoft.Rtc.Management.ADConnect.Schema.TenantObject or String + + + The `Get-CsTenant` cmdlet accepts pipelined instances of the Microsoft.Rtc.Management.ADConnect.Schema.TenantObject object as well as string values representing the Identity of the tenant (for example "bf19b7db-6960-41e5-a139-2aa373474354"). + + + + + + + Microsoft.Rtc.Management.ADConnect.Schema.TenantObject + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsTenant + + The command shown in Example 1 returns information about your tenant. Organizations will have only one tenant. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-cstenant + + + + + + Get-CsTenantBlockedCallingNumbers + Get + CsTenantBlockedCallingNumbers + + Use the Get-CsTenantBlockedCallingNumbers cmdlet to retrieve tenant blocked calling numbers setting. + + + + Microsoft Direct Routing, Operator Connect and Calling Plans supports blocking of inbound calls from the public switched telephone network (PSTN). This feature allows a tenant-global list of number patterns to be defined so that the caller ID of every incoming PSTN call to the tenant can be checked against the list for a match. If a match is made, an incoming call is rejected. + The tenant blocked calling numbers includes a list of inbound blocked number patterns. Number patterns are managed through the CsInboundBlockedNumberPattern commands New, Get, Set, and Remove. You can manage a given pattern by using these cmdlets, including the ability to toggle the activation of a given pattern. + You can also configure a list of number patterns to be exempt from call blocking. Exempt number patterns are managed through the CsInboundExemptNumberPattern commands New, Get, Set, and Remove. + You can test your call blocking by using the command Test-CsInboundBlockedNumberPattern. + The scope of tenant blocked calling numbers is global across the given tenant. + + + + Get-CsTenantBlockedCallingNumbers + + Identity + + The Identity parameter is a unique identifier that designates the scope, and for per-user scope a name, which identifies the TenantBlockedCallingNumbers to retrieve. + + Object + + Object + + + None + + + Filter + + The Filter parameter allows you to limit the number of results based on filters you specify. + + Object + + Object + + + None + + + LocalStore + + This parameter is reserved for internal Microsoft use. + + + SwitchParameter + + + False + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Object + + Object + + + None + + + + + + Filter + + The Filter parameter allows you to limit the number of results based on filters you specify. + + Object + + Object + + + None + + + Identity + + The Identity parameter is a unique identifier that designates the scope, and for per-user scope a name, which identifies the TenantBlockedCallingNumbers to retrieve. + + Object + + Object + + + None + + + LocalStore + + This parameter is reserved for internal Microsoft use. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Object + + Object + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsTenantBlockedCallingNumbers + + This example returns the tenant global settings for blocked calling numbers. It includes a list of inbound blocked number patterns and exempt number patterns. + + + + + + Set-CsTenantBlockedCallingNumbers + + + + Test-CsInboundBlockedNumberPattern + + + + + + + Get-CsTenantDialPlan + Get + CsTenantDialPlan + + Use the Get-CsTenantDialPlan cmdlet to retrieve a tenant dial plan. + + + + The Get-CsTenantDialPlan cmdlet returns information about one or more tenant dial plans (also known as a location profiles) in an organization. Tenant dial plans provide required information to let Enterprise Voice users make telephone calls. The Conferencing Attendant application also uses tenant dial plans for dial-in conferencing. A tenant dial plan determines such things as which normalization rules are applied. + You can use the Get-CsTenantDialPlan cmdlet to retrieve specific information about the normalization rules of a tenant dial plan. + + + + Get-CsTenantDialPlan + + Filter + + The Filter parameter allows you to limit the number of results based on filters you specify. + + String + + String + + + None + + + + Get-CsTenantDialPlan + + Identity + + The Identity parameter is a unique identifier that designates the name of the tenant dial plan to retrieve. + + String + + String + + + None + + + + + + Filter + + The Filter parameter allows you to limit the number of results based on filters you specify. + + String + + String + + + None + + + Identity + + The Identity parameter is a unique identifier that designates the name of the tenant dial plan to retrieve. + + String + + String + + + None + + + + + + + The ExternalAccessPrefix and OptimizeDeviceDialing parameters have been removed from New-CsTenantDialPlan and Set-CsTenantDialPlan cmdlet since they are no longer used. External access dialing is now handled implicitly using normalization rules of the dial plans. The Get-CsTenantDialPlan will still show the external access prefix in the form of a normalization rule of the dial plan. + + + + + -------------------------- Example 1 -------------------------- + Get-CsTenantDialPlan + + This example retrieves all existing tenant dial plans. + + + + -------------------------- Example 2 -------------------------- + Get-CsTenantDialPlan -Identity Vt1TenantDialPlan2 + + This example retrieves the tenant dial plan that has an identity of Vt1TenantDialplan2. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-cstenantdialplan + + + Grant-CsTenantDialPlan + + + + New-CsTenantDialPlan + + + + Set-CsTenantDialPlan + + + + Remove-CsTenantDialPlan + + + + + + + Get-CsTenantFederationConfiguration + Get + CsTenantFederationConfiguration + + Returns information about the federation configuration settings for your Skype for Business Online tenants. Federation configuration settings are used to determine which domains (if any) your users are allowed to communicate with. + + + + Federation is a service that enables users to exchange IM and presence information with users from other domains. With Skype for Business Online, administrators can use the federation configuration settings to govern: + Whether or not users can communicate with people from other domains and, if so, which domains they are allowed to communicate with. + Whether or not users can communicate with people who have accounts on public IM and presence providers such as Windows Live, AOL, and Yahoo. + The Get-CsTenantFederationConfiguration cmdlet provides a way for administrators to return federation information for their Skype for Business Online tenants. This cmdlet can also be used to review the allowed and blocked lists, lists which are used to specify domains that users can and cannot communicate with. However, administrators must use the Get-CsTenantPublicProvider cmdlet in order to see which public IM and presence providers users are allowed to communicate with. + + + + Get-CsTenantFederationConfiguration + + Identity + + Specifies the collection of tenant federation configuration settings to be returned. Because each tenant is limited to a single, global collection of federation settings there is no need include this parameter when calling the Get-CsTenantFederationConfiguration cmdlet. If you do choose to use the Identity parameter you must also include the Tenant parameter. For example: + `Get-CsTenantFederationConfiguration -Tenant "bf19b7db-6960-41e5-a139-2aa373474354" -Identity "global"` + + XdsIdentity + + XdsIdentity + + + None + + + Filter + + Enables you to use wildcard characters in order to return a collection of tenant federation configuration settings. Because each tenant is limited to a single, global collection of federation configuration settings there is no need to use the Filter parameter. However, this is valid syntax for the Get-CsTenantFederationConfiguration cmdlet: + `Get-CsTenantFederationConfiguration -Tenant "bf19b7db-6960-41e5-a139-2aa373474354" -Filter "g*"` + + String + + String + + + None + + + LocalStore + + This parameter is not used with Skype for Business Online. + + + SwitchParameter + + + False + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose federation settings are being returned. For example: + `-Tenant "38aad667-af54-4397-aaa7-e94c79ec2308"` + You can return the tenant ID for each of your tenants by running this command: + `Get-CsTenant | Select-Object DisplayName, TenantID` + If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + Guid + + Guid + + + None + + + + + + Filter + + Enables you to use wildcard characters in order to return a collection of tenant federation configuration settings. Because each tenant is limited to a single, global collection of federation configuration settings there is no need to use the Filter parameter. However, this is valid syntax for the Get-CsTenantFederationConfiguration cmdlet: + `Get-CsTenantFederationConfiguration -Tenant "bf19b7db-6960-41e5-a139-2aa373474354" -Filter "g*"` + + String + + String + + + None + + + Identity + + Specifies the collection of tenant federation configuration settings to be returned. Because each tenant is limited to a single, global collection of federation settings there is no need include this parameter when calling the Get-CsTenantFederationConfiguration cmdlet. If you do choose to use the Identity parameter you must also include the Tenant parameter. For example: + `Get-CsTenantFederationConfiguration -Tenant "bf19b7db-6960-41e5-a139-2aa373474354" -Identity "global"` + + XdsIdentity + + XdsIdentity + + + None + + + LocalStore + + This parameter is not used with Skype for Business Online. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose federation settings are being returned. For example: + `-Tenant "38aad667-af54-4397-aaa7-e94c79ec2308"` + You can return the tenant ID for each of your tenants by running this command: + `Get-CsTenant | Select-Object DisplayName, TenantID` + If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + Guid + + Guid + + + None + + + + + + None + + + + + + + + + + Microsoft.Rtc.Management.WritableConfig.Settings.Edge.TenantFederationSettings + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsTenantFederationConfiguration + + The command shown in Exercise 1 returns federation configuration information for the current tenant: + + + + -------------------------- Example 2 -------------------------- + Get-CsTenantFederationConfiguration | Select-Object -ExpandProperty AllowedDomains + + In Example 2, information is returned for all the allowed domains found on the federation configuration for the current tenant (This list represents all the domains that the tenant is allowed to federate with). To do this, the command first calls the Get-CsTenantFederationConfiguration cmdlet to return federation information for the specified tenant. That information is then piped to the Select-Object cmdlet, which uses the ExpandProperty to "expand" the property AllowedDomains. Expanding a property simply means displaying all the information stored in that property onscreen, and in an easy-to-read format. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-cstenantfederationconfiguration + + + Set-CsTenantFederationConfiguration + + + + + + + Get-CsTenantLicensingConfiguration + Get + CsTenantLicensingConfiguration + + Indicates whether licensing information for the specified tenant is available in the Teams admin center. + + + + The Get-CsTenantLicensingConfiguration cmdlet indicates whether licensing information for the specified tenant is available in the Teams admin center. The cmdlet returns information similar to this: + Identity : GlobalStatus : Enabled + If the Status is equal to Enabled then licensing information is available in the admin center. If not, then licensing information is not available in the admin center. + + + + Get-CsTenantLicensingConfiguration + + Filter + + Enables you to use wildcard characters in order to return a collection of tenant licensing configuration settings. Because each tenant is limited to a single, global collection of licensing configuration settings there is no need to use the Filter parameter. + + String + + String + + + None + + + MsftInternalProcessingMode + + For internal use only. + + String + + String + + + None + + + + Get-CsTenantLicensingConfiguration + + Identity + + Specifies the collection of tenant licensing configuration settings to be returned. Because each tenant is limited to a single, global collection of licensing settings there is no need include this parameter when calling the Get-CsTenantLicensingConfiguration cmdlet. + + XdsIdentity + + XdsIdentity + + + None + + + MsftInternalProcessingMode + + For internal use only. + + String + + String + + + None + + + + + + Filter + + Enables you to use wildcard characters in order to return a collection of tenant licensing configuration settings. Because each tenant is limited to a single, global collection of licensing configuration settings there is no need to use the Filter parameter. + + String + + String + + + None + + + Identity + + Specifies the collection of tenant licensing configuration settings to be returned. Because each tenant is limited to a single, global collection of licensing settings there is no need include this parameter when calling the Get-CsTenantLicensingConfiguration cmdlet. + + XdsIdentity + + XdsIdentity + + + None + + + MsftInternalProcessingMode + + For internal use only. + + String + + String + + + None + + + + + + None + + + + + + + + + + Deserialized.Microsoft.Rtc.Management.WritableConfig.Settings.TenantConfiguration.TenantLicensingConfiguration + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsTenantLicensingConfiguration + + The command shown in Example 1 returns licensing configuration information for the current tenant: + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-cstenantlicensingconfiguration + + + Get-CsTenant + + + + + + + Get-CsTenantMigrationConfiguration + Get + CsTenantMigrationConfiguration + + Use the Get-CsTenantMigrationConfiguration cmdlet to check if Meeting Migration Service (MMS) is enabled in your organization. + + + + Meeting Migration Service (MMS) is a Skype for Business service that runs in the background and automatically updates Skype for Business and Microsoft Teams meetings for users. MMS is designed to eliminate the need for users to run the Meeting Migration Tool to update their Skype for Business and Microsoft Teams meetings. This tool does not migrate Skype for Business meetings into Microsoft Teams meetings. + The Get-CsTenantMigrationConfiguration cmdlet retrieves the Meeting Migration Service configuration in your organization. + + + + Get-CsTenantMigrationConfiguration + + Identity + + This parameter is reserved for internal Microsoft use. + + XdsIdentity + + XdsIdentity + + + None + + + Filter + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + LocalStore + + This parameter is reserved for internal Microsoft use. + + + SwitchParameter + + + False + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + + + + Filter + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + Identity + + This parameter is reserved for internal Microsoft use. + + XdsIdentity + + XdsIdentity + + + None + + + LocalStore + + This parameter is reserved for internal Microsoft use. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsTenantMigrationConfiguration + + This example shows the MMS configuration in your organization. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-cstenantmigrationconfiguration + + + Set-CsTenantMigrationConfiguration + + + + + + + Get-CsTenantNetworkRegion + Get + CsTenantNetworkRegion + + Returns information about the network region setting in the tenant. Tenant network region is used for Location Based Routing. + + + + A network region interconnects various parts of a network across multiple geographic areas. + A network region contains a collection of network sites. For example, if your organization has many sites located in India, then you may choose to designate "India" as a network region. + Location-Based Routing is a feature that allows PSTN toll bypass to be restricted for users based on policy and the user's geographic location at the time of an incoming or outgoing PSTN call. + Location-Based Routing leverages the same network regions, sites, and subnets concept that is available in Skype for Business Server. It is now available in Microsoft 365 for Teams clients. For toll bypass restricted locations, each IP subnet and PSTN gateway for that location are associated to a network site by the administrator. A user's location is determined by the IP subnet which the user's Teams endpoint(s) is connected to at the time of a PSTN call. A user may have multiple Teams clients located at different sites, in which case Location-Based Routing will enforce each client's routing separately depending on the location of its endpoint. + + + + Get-CsTenantNetworkRegion + + Filter + + The Filter parameter allows you to limit the number of results based on filters you specify. + + String + + String + + + None + + + + Get-CsTenantNetworkRegion + + Identity + + The Identity parameter is a unique identifier that designates the scope. It specifies the collection of tenant network region to be returned. + + String + + String + + + None + + + + + + Filter + + The Filter parameter allows you to limit the number of results based on filters you specify. + + String + + String + + + None + + + Identity + + The Identity parameter is a unique identifier that designates the scope. It specifies the collection of tenant network region to be returned. + + String + + String + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsTenantNetworkRegion + + The command shown in Example 1 returns the list of network regions for the current tenant. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Get-CsTenantNetworkRegion -Identity RedmondRegion + + The command shown in Example 2 returns the network region within the scope of RedmondRegion. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-cstenantnetworkregion + + + New-CsTenantNetworkRegion + + + + Remove-CsTenantNetworkRegion + + + + Set-CsTenantNetworkRegion + + + + + + + Get-CsTenantNetworkSubnet + Get + CsTenantNetworkSubnet + + Returns information about the network subnet setting in the tenant. Tenant network subnet is used for Location Based Routing. + + + + IP subnets at the location where Teams endpoints can connect to the network must be defined and associated to a defined network in order to enforce toll bypass. + Multiple subnets may be associated with the same network site, but multiple sites may not be associated with a same subnet. This association of subnets enables Location-Based routing to locate the endpoints geographically to determine if a given PSTN call should be allowed. Both IPv4 and IPv6 subnets are supported. When determining if a Teams endpoint is located at a site an IPv6 address will be checked for a match first. + Location Based Routing is a feature which allows PSTN toll bypass to be restricted for users based upon policy and the user's geographic location at the time of an incoming or outgoing PSTN call. + Location-Based Routing leverages the same network regions, sites, and subnets concept that is available in Skype for Business Server. It is now available in O365 for Teams clients. For toll bypass restricted locations, each IP subnet and PSTN gateway for that location are associated to a network site by the administrator. A user's location is determined by the IP subnet which the user's Teams endpoint(s) is connected to at the time of a PSTN call. A user may have multiple Teams clients located at different sites, in which case Location-Based Routing will enforce each client's routing separately depending on the location of its endpoint. + + + + Get-CsTenantNetworkSubnet + + Identity + + The Identity parameter is a unique identifier that designates the scope. It specifies the collection of tenant network subnets to be returned. + + String + + String + + + None + + + + Get-CsTenantNetworkSubnet + + Filter + + The Filter parameter allows you to limit the number of results based on filters you specify. + + String + + String + + + None + + + + + + Identity + + The Identity parameter is a unique identifier that designates the scope. It specifies the collection of tenant network subnets to be returned. + + String + + String + + + None + + + Filter + + The Filter parameter allows you to limit the number of results based on filters you specify. + + String + + String + + + None + + + + + + None + + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsTenantNetworkSubnet + + The command shown in Example 1 returns the list of network subnets for the current tenant. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Get-CsTenantNetworkSubnet -Identity '2001:4898:e8:25:844e:926f:85ad:dd70' + + The command shown in Example 2 returns the IPv6 format network subnet within the scope of '2001:4898:e8:25:844e:926f:85ad:dd70'. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-cstenantnetworksubnet + + + New-CsTenantNetworkSubnet + + + + Remove-CsTenantNetworkSubnet + + + + Set-CsTenantNetworkSubnet + + + + + + + Get-CsTenantTrustedIPAddress + Get + CsTenantTrustedIPAddress + + Returns information about the external trusted IPs in the tenant. Trusted IP address from user's endpoint will be checked to determine which internal subnet the user's endpoint is located. + + + + External trusted IPs are the Internet external IPs of the enterprise network and are used to determine if the user's endpoint is inside the corporate network before checking for a specific site match. Trusted IP addresses in both IPv4 and IPv6 formats are accepted. + If the user's external IP matches one defined in the trusted list, then Location-Based Routing will check to determine which internal subnet the user's endpoint is located. If the user's external IP doesn't match one defined in the trusted list, the endpoint will be classified as being at an unknown and any PSTN calls to/from an LBR enabled user are blocked. + Location Based Routing is a feature which allows PSTN toll bypass to be restricted for users based upon policy and the user's geographic location at the time of an incoming or outgoing PSTN call. + Location-Based Routing leverages the same network regions, sites, and subnets concept that is available in Skype for Business Server. It is now available in O365 for Teams clients. For toll bypass restricted locations, each IP subnet and PSTN gateway for that location are associated to a network site by the administrator. A user's location is determined by the IP subnet which the user's Teams endpoint(s) is connected to at the time of a PSTN call. A user may have multiple Teams clients located at different sites, in which case Location-Based Routing will enforce each client's routing separately depending on the location of its endpoint. + + + + Get-CsTenantTrustedIPAddress + + Filter + + The Filter parameter allows you to limit the number of results based on filters you specify. + + String + + String + + + None + + + LocalStore + + PARAMVALUE: SwitchParameter + + + SwitchParameter + + + False + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose trusted IP addresses are being returned. + + System.Guid + + System.Guid + + + None + + + + Get-CsTenantTrustedIPAddress + + Identity + + The Identity parameter is a unique identifier that designates the scope. It specifies the collection of trusted IP address to be returned. + + XdsGlobalRelativeIdentity + + XdsGlobalRelativeIdentity + + + None + + + LocalStore + + PARAMVALUE: SwitchParameter + + + SwitchParameter + + + False + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose trusted IP addresses are being returned. + + System.Guid + + System.Guid + + + None + + + + + + Filter + + The Filter parameter allows you to limit the number of results based on filters you specify. + + String + + String + + + None + + + Identity + + The Identity parameter is a unique identifier that designates the scope. It specifies the collection of trusted IP address to be returned. + + XdsGlobalRelativeIdentity + + XdsGlobalRelativeIdentity + + + None + + + LocalStore + + PARAMVALUE: SwitchParameter + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose trusted IP addresses are being returned. + + System.Guid + + System.Guid + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsTenantTrustedIPAddress + + The command shown in Example 1 returns the list of trusted IP addresses for the current tenant. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Get-CsTenantTrustedIPAddress -Identity '2001:4898:e8:25:8440::' + + The command shown in Example 2 returns the IPv6 format trusted IP address detail of '2001:4898:e8:25:8440::'. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-cstenanttrustedipaddress + + + + + + Get-CsUserCallingSettings + Get + CsUserCallingSettings + + This cmdlet will show the call forwarding, simultaneous ringing, call group and delegation settings for a user. + + + + This cmdlet shows the call forwarding, simultaneous ringing, call group and delegation settings for a user. It will also show any call groups the user is a member of and if someone else has added the user as a delegate. + + + + Get-CsUserCallingSettings + + Identity + + The Identity of the user to show call forwarding, simultaneous ringing, call group and delegation settings for. Can be specified using the ObjectId or the SIP address. + + System.String + + System.String + + + None + + + + + + Identity + + The Identity of the user to show call forwarding, simultaneous ringing, call group and delegation settings for. Can be specified using the ObjectId or the SIP address. + + System.String + + System.String + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + The cmdlet is available in Teams PowerShell module 4.0.0 or later. + + + + + -------------------------- Example 1 -------------------------- + Get-CsUserCallingSettings -Identity user1@contoso.com + +SipUri : sip:user1@contoso.com +IsForwardingEnabled : True +ForwardingType : Immediate +ForwardingTarget : +ForwardingTargetType : Voicemail +IsUnansweredEnabled : False +UnansweredTarget : +UnansweredTargetType : Voicemail +UnansweredDelay : 00:00:20 +Delegates : +Delegators : +CallGroupOrder : InOrder +CallGroupTargets : {} +GroupMembershipDetails : +GroupNotificationOverride : + + This example shows that user1@contoso.com has immediate call forwarding set (IsForwardingEnabled and ForwardingType) to route all incoming calls to voicemail (ForwardingTargetType). + + + + -------------------------- Example 2 -------------------------- + Get-CsUserCallingSettings -Identity user2@contoso.com + +SipUri : sip:user2@contoso.com +IsForwardingEnabled : True +ForwardingType : Simultaneous +ForwardingTarget : sip:user3@contoso.com +ForwardingTargetType : SingleTarget +IsUnansweredEnabled : True +UnansweredTarget : +UnansweredTargetType : Voicemail +UnansweredDelay : 00:00:20 +Delegates : +Delegators : +CallGroupOrder : InOrder +CallGroupTargets : {} +GroupMembershipDetails : +GroupNotificationOverride : + + This example shows that user2@contoso.com has simultaneous ringing set (IsForwardingEnabled and ForwardingType) to user3@contoso.com (ForwardingTarget and ForwardingTargetType) and if the call has not been answered (IsUnansweredEnabled) within 20 seconds (UnansweredDelay) the call is routed to voicemail (UnansweredTargetType). + + + + -------------------------- Example 3 -------------------------- + Get-CsUserCallingSettings -Identity user4@contoso.com + +SipUri : sip:user4@contoso.com +IsForwardingEnabled : True +ForwardingType : Simultaneous +ForwardingTarget : +ForwardingTargetType : Group +IsUnansweredEnabled : True +UnansweredTarget : +UnansweredTargetType : Voicemail +UnansweredDelay : 00:00:20 +Delegates : +Delegators : +CallGroupOrder : InOrder +CallGroupTargets : {sip:user5@contoso.com} +GroupMembershipDetails : CallGroupOwnerId:sip:user6@contoso.com +GroupNotificationOverride : Mute + +(Get-CsUserCallingSettings -Identity user4@contoso.com).GroupMembershipDetails + +CallGroupOwnerId NotificationSetting +---------------- ------------------- +sip:user6@contoso.com Ring + + This example shows that user4@contoso.com has simultaneous ringing set to his/her call group (ForwardingTargetType) and that the call group contains user5@contoso.com (CallGroupTargets). The call group is defined to ring members in the order listed in the call group (CallGroupOrder). + You can also see that user4@contoso.com is a member of user6@contoso.com's call group (GroupMembershipDetails), that user6@contoso.com defined the call group with Ring notification for user4@contoso.com (NotificationSetting) and that user4@contoso.com has decided to turn off call notification for call group calls (GroupNotificationOverride). + + + + -------------------------- Example 4 -------------------------- + Get-CsUserCallingSettings -Identity user7@contoso.com + +SipUri : sip:opr7@contoso.com +IsForwardingEnabled : True +ForwardingType : Simultaneous +ForwardingTarget : +ForwardingTargetType : MyDelegates +IsUnansweredEnabled : True +UnansweredTarget : +UnansweredTargetType : Voicemail +UnansweredDelay : 00:00:20 +Delegates : Id:sip:user8@contoso.com +Delegators : +CallGroupOrder : InOrder +CallGroupTargets : {} +GroupMembershipDetails : +GroupNotificationOverride : Ring + +(Get-CsUserCallingSettings -Identity user7@contoso.com).Delegates + +Id : sip:user8@contoso.com +MakeCalls : True +ManageSettings : True +ReceiveCalls : True + + This example shows that user7@contoso.com has simultaneous ringing set to his/her delegates (ForwardingTargetType). User8@contoso.com is the only delegate (Delegates) and that user has all the permissions you can have as a delegate (Delegates). + + + + -------------------------- Example 5 -------------------------- + Get-CsUserCallingSettings -Identity user9@contoso.com + +SipUri : sip:user9@contoso.com +IsForwardingEnabled : False +ForwardingType : Immediate +ForwardingTarget : +ForwardingTargetType : Voicemail +IsUnansweredEnabled : True +UnansweredTarget : +UnansweredTargetType : Voicemail +UnansweredDelay : 00:00:20 +Delegates : +Delegators : Id:sip:user10@contoso.com +CallGroupOrder : InOrder +CallGroupTargets : {} +GroupMembershipDetails : +GroupNotificationOverride : Ring + +(Get-CsUserCallingSettings -Identity user9@contoso.com).Delegators + +Id : sip:user10@contoso.com +MakeCalls : True +ManageSettings : True +ReceiveCalls : True + + This example shows that user9@contoso.com is a delegate of user10@contoso.com (Delegators) and that user10@contoso.com has given user9@contoso.com all the permissions you can have as a delegate (Delegators). + + + + -------------------------- Example 6 -------------------------- + Get-CsUserCallingSettings -Identity user11@contoso.com + +SipUri : sip:user11@contoso.com +IsForwardingEnabled : +ForwardingType : +ForwardingTarget : +ForwardingTargetType : +IsUnansweredEnabled : +UnansweredTarget : +UnansweredTargetType : +UnansweredDelay : 00:00:20 +Delegates : +Delegators : +CallGroupOrder : Simultaneous +CallGroupTargets : {} +GroupMembershipDetails : +GroupNotificationOverride : + + This example shows the default settings for a user that has never changed the call forward settings via Microsoft Teams. Note that for users with settings as shown here, unanswered calls will by default be forwarded to voicemail after 30 seconds. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csusercallingsettings + + + Set-CsUserCallingSettings + + + + New-CsUserCallingDelegate + + + + Set-CsUserCallingDelegate + + + + Remove-CsUserCallingDelegate + + + + + + + Get-CsUserPolicyAssignment + Get + CsUserPolicyAssignment + + This cmdlet is used to return the policy assignments for a user, both directly assigned and inherited from a group. + + + + This cmdlets returns the effective policies for a user, based on either direct policy assignment or inheritance from a group policy assignment. For a given policy type, if an effective policy is not returned, this indicates that the effective policy for the user is either the tenant global default policy (if set) or the system global default policy. + This cmdlet does not currently support returning policies for multiple users. + + + + Get-CsUserPolicyAssignment + + Identity + + The identify of the user whose policy assignments will be returned. + The -Identity parameter can be in the form of the users ObjectID (taken from Microsoft Entra ID) or in the form of the UPN (a.smith@example.com) + + String + + String + + + None + + + PolicyType + + Use to filter to a specific policy type. + + String + + String + + + None + + + Break + + Wait for .NET debugger to attach + + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + Proxy + + The URI for the proxy server to use + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy + + + SwitchParameter + + + False + + + + Get-CsUserPolicyAssignment + + InputObject + + Identity Parameter To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + + IIc3AdminConfigRpPolicyIdentity + + IIc3AdminConfigRpPolicyIdentity + + + None + + + PolicyType + + Use to filter to a specific policy type. + + String + + String + + + None + + + Break + + Wait for .NET debugger to attach + + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + Proxy + + The URI for the proxy server to use + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy + + + SwitchParameter + + + False + + + + + + Identity + + The identify of the user whose policy assignments will be returned. + The -Identity parameter can be in the form of the users ObjectID (taken from Microsoft Entra ID) or in the form of the UPN (a.smith@example.com) + + String + + String + + + None + + + InputObject + + Identity Parameter To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + + IIc3AdminConfigRpPolicyIdentity + + IIc3AdminConfigRpPolicyIdentity + + + None + + + PolicyType + + Use to filter to a specific policy type. + + String + + String + + + None + + + Break + + Wait for .NET debugger to attach + + SwitchParameter + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + Proxy + + The URI for the proxy server to use + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy + + SwitchParameter + + SwitchParameter + + + False + + + + + + Microsoft.Teams.Config.Cmdlets.Models.IIc3AdminConfigRpPolicyIdentity + + + + + + + + + + Microsoft.Teams.Config.Cmdlets.Models.IEffectivePolicy + + + + + + + + + COMPLEX PARAMETER PROPERTIES + To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + INPUTOBJECT <IIc3AdminConfigRpPolicyIdentity>: Identity Parameter [GroupId <String>]: The ID of a group whose policy assignments will be returned. [Identity <String>]: [OperationId <String>]: The ID of a batch policy assignment operation. [PolicyType <String>]: The policy type for which group policy assignments will be returned. + + + + + + -------------------------- Example 1 -------------------------- + Get-CsUserPolicyAssignment -Identity f0d9c148-27c1-46f5-9685-544d20170ea1 + +PolicyType PolicyName PolicySource +---------- ---------- ------------ +TeamsMeetingPolicy Kiosk {Kiosk, Kiosk} +MeetingPolicy BposSAllModality {BposSAllModality} +ExternalAccessPolicy FederationAndPICDefault {FederationAndPICDefault} +TeamsMeetingBroadcastPolicy Vendor Live Events {Vendor Live Events, Employees Events} +TeamsCallingPolicy AllowCalling {AllowCalling} + + + + + + -------------------------- Example 2 -------------------------- + Get-CsUserPolicyAssignment -Identity 3b90faad-9056-49ff-8357-0b53b1d45d39 -PolicyType TeamsMeetingBroadcastPolicy | select -ExpandProperty PolicySource + +AssignmentType PolicyName Reference +-------------- ---------- --------- +Direct Employees Events +Group Vendor Live Events 566b8d39-5c5c-4aaa-bc07-4f36278a1b38 + + + + + + -------------------------- Example 3 -------------------------- + Get-CsUserPolicyAssignment -Identity 3b90faad-9056-49ff-8357-0b53b1d45d39 -PolicyType TeamsMeetingPolicy | select -ExpandProperty PolicySource + +AssignmentType PolicyName Reference +-------------- ---------- --------- +Group AllOn d8ebfa45-0f28-4d2d-9bcc-b158a49e2d17 +Group Kiosk 566b8d39-5c5c-4aaa-bc07-4f36278a1b38 + + +Get-CsGroupPolicyAssignment -PolicyType TeamsMeetingPolicy + +GroupId PolicyType PolicyName Rank CreatedTime CreatedBy +------- ---------- ---------- ---- ----------- --------- +d8ebfa45-0f28-4d2d-9bcc-b158a49e2d17 TeamsMeetingPolicy AllOn 1 10/29/2019 3:57:27 AM aeb7c0e7-2f6d-43ef-bf33-bfbcb93fdc64 +566b8d39-5c5c-4aaa-bc07-4f36278a1b38 TeamsMeetingPolicy kiosk 2 11/2/2019 12:14:41 AM aeb7c0e7-2f6d-43ef-bf33-bfbcb93fdc64 + + + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csuserpolicyassignment + + + New-CsGroupPolicyAssignment + + + + Set-CsGroupPolicyAssignment + + + + Remove-CsGroupPolicyAssignment + + + + + + + Get-CsUserPolicyPackage + Get + CsUserPolicyPackage + + This cmdlet supports retrieving the policy package that's assigned to a user. + + + + This cmdlet supports retrieving the policy package that's assigned to a user. Provide the identity of a user to retrieve the definition of their assigned policy package. For more information on policy packages, please review https://learn.microsoft.com/MicrosoftTeams/manage-policy-packages. + + + + Get-CsUserPolicyPackage + + Identity + + The user that will get their assigned policy package. + + String + + String + + + None + + + + + + Identity + + The user that will get their assigned policy package. + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsUserPolicyPackage -Identity johndoe@example.com + + Returns the policy package that's assigned to johndoe@example.com. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csuserpolicypackage + + + Get-CsPolicyPackage + + + + Get-CsUserPolicyPackageRecommendation + + + + Grant-CsUserPolicyPackage + + + + + + + Get-CsUserPolicyPackageRecommendation + Get + CsUserPolicyPackageRecommendation + + This cmdlet supports retrieving recommendations for which policy packages are best suited for a given user. + + + + This cmdlet supports retrieving recommendations for which policy packages are best suited for a given user. This recommendation is based on tenant and user information such as license types. For more information on policy packages, please review https://learn.microsoft.com/MicrosoftTeams/manage-policy-packages. + + + + Get-CsUserPolicyPackageRecommendation + + Identity + + The user that will receive policy package recommendations. + + String + + String + + + None + + + + + + Identity + + The user that will receive policy package recommendations. + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsUserPolicyPackageRecommendation -Identity johndoe@example.com + + Returns recommendations for which policy packages are best suited for johndoe@example.com. The recommendation value per package can either be none, weak, or strong based on how confident the existing signals (e.g. license type) imply a user role. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csuserpolicypackagerecommendation + + + Get-CsPolicyPackage + + + + Get-CsUserPolicyPackage + + + + Grant-CsUserPolicyPackage + + + + + + + Get-CsVideoInteropServiceProvider + Get + CsVideoInteropServiceProvider + + Cloud Video Interop for Teams enables 3rd party VTC devices to be able to join Teams meetings. The CsVideoInteropServiceProvider cmdlets allow you to designate provider/tenant specific information about the connection to the provider. + + + + Cloud Video Interop for Teams enables 3rd party VTC devices to be able to join Teams meetings. The CsVideoInteropServiceProvider cmdlets allow you to designate provider/tenant specific information about the connection to the provider. + + + + Get-CsVideoInteropServiceProvider + + Filter + + A regex string filter on the providers that have been set up for use within the organization. + + String + + String + + + None + + + LocalStore + + Internal Microsoft use only. + + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + + Get-CsVideoInteropServiceProvider + + Identity + + Retrieve the specific provider information by name if is known - returns only those providers that have already been set within the tenant. + + XdsGlobalRelativeIdentity + + XdsGlobalRelativeIdentity + + + None + + + LocalStore + + Internal Microsoft use only. + + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + + + + Filter + + A regex string filter on the providers that have been set up for use within the organization. + + String + + String + + + None + + + Identity + + Retrieve the specific provider information by name if is known - returns only those providers that have already been set within the tenant. + + XdsGlobalRelativeIdentity + + XdsGlobalRelativeIdentity + + + None + + + LocalStore + + Internal Microsoft use only. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Get-CsVideoInteropServiceProvider + + Get all of the providers that have been configured for use within the organization. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csvideointeropserviceprovider + + + + + + Grant-CsApplicationAccessPolicy + Grant + CsApplicationAccessPolicy + + Assigns a per-user application access policy to one or more users. After assigning an application access policy to a user, the applications configured in the policy will be authorized to access online meetings on behalf of that user. + + + + This cmdlet assigns a per-user application access policy to one or more users. After assigning an application access policy to a user, the applications configured in the policy will be authorized to access online meetings on behalf of that user. Note: You can assign only 1 application access policy at a time to a particular user. Assigning a new application access policy to a user will override the existing application access policy if any. + + + + Grant-CsApplicationAccessPolicy + + Identity + + Indicates the user (object) ID of the user account to be assigned the per-user application access policy. + + UserIdParameter + + UserIdParameter + + + None + + + PolicyName + + Name of the policy to be assigned. The PolicyName is simply the policy Identity without the policy scope (the "tag:" prefix). For example, a policy with the Identity tag:ASimplePolicy has a PolicyName equal to ASimplePolicy. + + PSListModifier + + PSListModifier + + + None + + + Global + + When you use this cmdlet without specifying a user identity, the policy applies to all users in your tenant, except any that have an explicit policy assignment. For example, if the user already have application access policy "A" assigned, and tenant admin assigns "B" globally, then application access policy "A" will take effect for the user. + + + SwitchParameter + + + False + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + + + + Identity + + Indicates the user (object) ID of the user account to be assigned the per-user application access policy. + + UserIdParameter + + UserIdParameter + + + None + + + PolicyName + + Name of the policy to be assigned. The PolicyName is simply the policy Identity without the policy scope (the "tag:" prefix). For example, a policy with the Identity tag:ASimplePolicy has a PolicyName equal to ASimplePolicy. + + PSListModifier + + PSListModifier + + + None + + + Global + + When you use this cmdlet without specifying a user identity, the policy applies to all users in your tenant, except any that have an explicit policy assignment. For example, if the user already have application access policy "A" assigned, and tenant admin assigns "B" globally, then application access policy "A" will take effect for the user. + + SwitchParameter + + SwitchParameter + + + False + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + + + + + + + + + + -------- Assign an application access policy to a user -------- + PS C:\> Grant-CsApplicationAccessPolicy -Identity "dc17674c-81d9-4adb-bfb2-8f6a442e4624" -PolicyName "ASimplePolicy" + + The command shown above assigns the per-user application access policy "ASimplePolicy" to the user with object ID "dc17674c-81d9-4adb-bfb2-8f6a442e4624". + + + + ------ Unassign an application access policy from a user ------ + PS C:\> Grant-CsApplicationAccessPolicy -Identity "dc17674c-81d9-4adb-bfb2-8f6a442e4624" -PolicyName $Null + + In the command shown above, any per-user application access policy previously assigned to the user with user (object) ID "dc17674c-81d9-4adb-bfb2-8f6a442e4624" is unassigned from that user; as a result, applications configured in the policy can no longer access online meetings on behalf of that user. To unassign a per-user policy, set the PolicyName to a null value ($Null). + + + + Assign an application access policy to all users in the tenant + PS C:\> Get-CsOnlineUser | Grant-CsApplicationAccessPolicy -PolicyName "ASimplePolicy" + + The command shown above assigns the per-user application access policy ASimplePolicy to all the users in the tenant. To do this, the command first calls the `Get-CsOnlineUser` cmdlet to get all user accounts enabled for Microsoft Teams or Skype for Business Online. Those user accounts are then piped to the `Grant-CsApplicationAccessPolicy` cmdlet, which assigns each user the application access policy "ASimplePolicy". + + + + Assign an application access policy to users who have not been assigned one + PS C:\> Grant-CsApplicationAccessPolicy -PolicyName "ASimplePolicy" -Global + + The command shown above assigns the per-user application access policy "ASimplePolicy" to all the users in the tenant, except any that have an explicit policy assignment. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/grant-csapplicationaccesspolicy + + + New-CsApplicationAccessPolicy + + + + Get-CsApplicationAccessPolicy + + + + Set-CsApplicationAccessPolicy + + + + Remove-CsApplicationAccessPolicy + + + + + + + Grant-CsCallingLineIdentity + Grant + CsCallingLineIdentity + + Use the `Grant-CsCallingLineIdentity` cmdlet to apply a Caller ID policy to a user account, to a group of users, or to set the tenant Global instance. + + + + You can either assign a Caller ID policy to a specific user, to a group of users, or you can set the Global policy instance. + + + + Grant-CsCallingLineIdentity + + PolicyName + + The name (Identity) of the Caller ID policy to be assigned. To remove an existing user level policy assignment, specify PolicyName as $null. + + String + + String + + + None + + + Global + + Sets the parameters of the Global policy instance to the values in the specified policy instance. + + + SwitchParameter + + + False + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user being assigned the policy. By default, the Grant-CsCallingLineIdentity cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + + SwitchParameter + + + False + + + Confirm + + The Confirm switch causes the command to pause processing and requires confirmation to proceed. + + + SwitchParameter + + + False + + + + Grant-CsCallingLineIdentity + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + PolicyName + + The name (Identity) of the Caller ID policy to be assigned. To remove an existing user level policy assignment, specify PolicyName as $null. + + String + + String + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user being assigned the policy. By default, the Grant-CsCallingLineIdentity cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + + SwitchParameter + + + False + + + Confirm + + The Confirm switch causes the command to pause processing and requires confirmation to proceed. + + + SwitchParameter + + + False + + + + Grant-CsCallingLineIdentity + + Identity + + The Identity of the user to whom the policy is being assigned. User Identities can be specified using the user's SIP address, the user's user principal name (UPN), or the user's ObjectId/Identity. + + String + + String + + + None + + + PolicyName + + The name (Identity) of the Caller ID policy to be assigned. To remove an existing user level policy assignment, specify PolicyName as $null. + + String + + String + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user being assigned the policy. By default, the Grant-CsCallingLineIdentity cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + + SwitchParameter + + + False + + + Confirm + + The Confirm switch causes the command to pause processing and requires confirmation to proceed. + + + SwitchParameter + + + False + + + + + + Global + + Sets the parameters of the Global policy instance to the values in the specified policy instance. + + SwitchParameter + + SwitchParameter + + + False + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user being assigned the policy. By default, the Grant-CsCallingLineIdentity cmdlet does not pass objects through the pipeline. + + SwitchParameter + + SwitchParameter + + + False + + + PolicyName + + The name (Identity) of the Caller ID policy to be assigned. To remove an existing user level policy assignment, specify PolicyName as $null. + + String + + String + + + None + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + Identity + + The Identity of the user to whom the policy is being assigned. User Identities can be specified using the user's SIP address, the user's user principal name (UPN), or the user's ObjectId/Identity. + + String + + String + + + None + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + The Confirm switch causes the command to pause processing and requires confirmation to proceed. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + The GrantToGroup syntax is supported in Teams PowerShell Module 4.5.1-preview or later. + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Grant-CsCallingLineIdentity -Identity Ken.Myer@contoso.com -PolicyName CallerIDRedmond + + This example assigns the Caller ID policy with the Identity CallerIDRedmond to the user Ken.Myer@contoso.com + + + + -------------------------- Example 2 -------------------------- + Grant-CsCallingLineIdentity -PolicyName CallerIDSeattle -Global + + This example copies the Caller ID policy CallerIDSeattle to the Global policy instance. + + + + -------------------------- Example 3 -------------------------- + Grant-CsCallingLineIdentity -Group sales@contoso.com -PolicyName CallerIDSeattle -Rank 10 + + This example assigns the Caller ID policy with the Identity CallerIDSeattle to the members of the group sales@contoso.com. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/grant-cscallinglineidentity + + + Set-CsCallingLineIdentity + + + + Get-CsCallingLineIdentity + + + + Remove-CsCallingLineIdentity + + + + New-CsCallingLineIdentity + + + + + + + Grant-CsDialoutPolicy + Grant + CsDialoutPolicy + + Use the `Grant-CsDialoutPolicy` cmdlet to assign the tenant global, a group of users, or a per-user outbound calling restriction policy to one or more users. + + + + In Microsoft Teams, outbound calling restriction policies are used to restrict the type of audio conferencing and end user PSTN calls that can be made by users in your organization. The policies apply to all the different PSTN connectivity options for Microsoft Teams; Calling Plan, Direct Routing, and Operator Connect. + To get all the available policies in your organization run `Get-CsOnlineDialOutPolicy`. + + + + Grant-CsDialoutPolicy + + PolicyName + + "Name" of the policy to be assigned. The PolicyName is simply the policy Identity minus the policy scope (the "tag:" prefix). For example, a policy with the Identity tag:DialoutCPCZoneAPSTNDomestic has a PolicyName equal to DialoutCPCZoneAPSTNDomestic. + To unassign a per-user policy previously assigned to a user, set the PolicyName to a null value ($Null). + + String + + String + + + None + + + Global + + This parameter sets the tenant global policy instance. This is the policy that all users in the tenant will get unless they have a specific policy instance assigned. + + + SwitchParameter + + + False + + + PassThru + + Returns the results of the command. By default, this cmdlet does not generate any output. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + Grant-CsDialoutPolicy + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + PolicyName + + "Name" of the policy to be assigned. The PolicyName is simply the policy Identity minus the policy scope (the "tag:" prefix). For example, a policy with the Identity tag:DialoutCPCZoneAPSTNDomestic has a PolicyName equal to DialoutCPCZoneAPSTNDomestic. + To unassign a per-user policy previously assigned to a user, set the PolicyName to a null value ($Null). + + String + + String + + + None + + + PassThru + + Returns the results of the command. By default, this cmdlet does not generate any output. + + + SwitchParameter + + + False + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + Grant-CsDialoutPolicy + + Identity + + Specifies the Identity of the user account to be to be modified. A user identity can be specified by using one of three formats: 1) the user's SIP address; 2) the user's user principal name (UPN); 3) the user's ObjectId/Identity. + + String + + String + + + None + + + PolicyName + + "Name" of the policy to be assigned. The PolicyName is simply the policy Identity minus the policy scope (the "tag:" prefix). For example, a policy with the Identity tag:DialoutCPCZoneAPSTNDomestic has a PolicyName equal to DialoutCPCZoneAPSTNDomestic. + To unassign a per-user policy previously assigned to a user, set the PolicyName to a null value ($Null). + + String + + String + + + None + + + PassThru + + Returns the results of the command. By default, this cmdlet does not generate any output. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Global + + This parameter sets the tenant global policy instance. This is the policy that all users in the tenant will get unless they have a specific policy instance assigned. + + SwitchParameter + + SwitchParameter + + + False + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Identity + + Specifies the Identity of the user account to be to be modified. A user identity can be specified by using one of three formats: 1) the user's SIP address; 2) the user's user principal name (UPN); 3) the user's ObjectId/Identity. + + String + + String + + + None + + + PassThru + + Returns the results of the command. By default, this cmdlet does not generate any output. + + SwitchParameter + + SwitchParameter + + + False + + + PolicyName + + "Name" of the policy to be assigned. The PolicyName is simply the policy Identity minus the policy scope (the "tag:" prefix). For example, a policy with the Identity tag:DialoutCPCZoneAPSTNDomestic has a PolicyName equal to DialoutCPCZoneAPSTNDomestic. + To unassign a per-user policy previously assigned to a user, set the PolicyName to a null value ($Null). + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + System.Object + + + + + + + + + The GrantToGroup syntax is supported in Teams PowerShell Module 4.5.1-preview or later. + The cmdlet is not supported for Teams resource accounts. + + + + + -------------------------- Example 1 -------------------------- + Grant-CsDialoutPolicy -Identity "ken.myer@contoso.com" -PolicyName "DialoutCPCandPSTNInternational" + + This example assigns the per-user outbound calling restriction policy DialoutCPCandPSTNInternational to the user with the User Principal Name "ken.myer@contoso.com". + + + + -------------------------- Example 2 -------------------------- + Grant-CsDialoutPolicy -Identity "ken.myer@contoso.com" -PolicyName $Null + + In this example, any per-user outbound calling restriction policy previously assigned to the user ken.myer@contoso.com is unassigned from that user; as a result, Ken Myer will be managed by the global outbound calling restriction policy. To unassign a per-user policy, set the PolicyName to a null value ($Null). + + + + -------------------------- Example 3 -------------------------- + Get-CsOnlineUser | Grant-CsDialoutPolicy -PolicyName "DialoutCPCInternationalPSTNDisabled" + + This example assigns the per-user outbound calling restriction policy DialoutCPCInternationalPSTNDisabled to all the users in your organization. + + + + -------------------------- Example 4 -------------------------- + Grant-CsDialoutPolicy -Global -PolicyName "DialoutCPCandPSTNInternational" + + This example sets the tenant global policy instance to DialoutCPCandPSTNInternational. + + + + -------------------------- Example 5 -------------------------- + Grant-CsDialoutPolicy -Group support@contoso.com -Rank 10 -PolicyName "DialoutCPCandPSTNInternational" + + This example assigns the policy instance "DialoutCPCandPSTNInternational" to the members of the group support@contoso.com. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/grant-csdialoutpolicy + + + Get-CsOnlineDialOutPolicy + + + + + + + Grant-CsGroupPolicyPackageAssignment + Grant + CsGroupPolicyPackageAssignment + + This cmdlet assigns a policy package to a group in a tenant. + + + + This cmdlet assigns a policy package to a group in a tenant. The available policy packages and their definitions can be found by running Get-CsPolicyPackage. For more information on policy packages, please review Manage policy packages in Microsoft Teams (https://learn.microsoft.com/MicrosoftTeams/manage-policy-packages). + Policy rankings can be optionally specified for each policy type in the package to determine which policies will be assigned to the user in case they belong to two or more groups. If policy rankings for a policy type is not specified, one of two things can happen: + - If the policy type was previously assigned to the group, the ranking for the policy type will not change. + - If the policy type was not previously assigned to the group, the ranking for the policy type will be ranked last. + + Finally, if a user was directly assigned a package, direct assignment takes precedence over group assignment. For more information on policy rankings and group policy assignments, please review the description section under New-CsGroupPolicyAssignment (https://learn.microsoft.com/powershell/module/teams/new-csgrouppolicyassignment#description). + + + + Grant-CsGroupPolicyPackageAssignment + + GroupId + + A group id in the tenant. It can either be a group's object id or a group's email address. + + String + + String + + + None + + + PackageName + + The name of a policy package. All policy package names can be found by running Get-CsPolicyPackage. To reset the currently assigned package value for the group, use $null or an empty string "". This will not remove any existing policy assignments to the group. + + String + + String + + + None + + + PolicyRankings + + The policy rankings for each of the policy types in the package. To specify the policy rankings, follow this format: "<PolicyType>, <PolicyRank>". Delimiters of ' ', '.', ':', '\t' are also acceptable. Supported policy types are listed here (https://learn.microsoft.com/MicrosoftTeams/manage-policy-packages#what-is-a-policy-package). Policy rank must be a number greater than or equal to 1. + + String[] + + String[] + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + GroupId + + A group id in the tenant. It can either be a group's object id or a group's email address. + + String + + String + + + None + + + PackageName + + The name of a policy package. All policy package names can be found by running Get-CsPolicyPackage. To reset the currently assigned package value for the group, use $null or an empty string "". This will not remove any existing policy assignments to the group. + + String + + String + + + None + + + PolicyRankings + + The policy rankings for each of the policy types in the package. To specify the policy rankings, follow this format: "<PolicyType>, <PolicyRank>". Delimiters of ' ', '.', ':', '\t' are also acceptable. Supported policy types are listed here (https://learn.microsoft.com/MicrosoftTeams/manage-policy-packages#what-is-a-policy-package). Policy rank must be a number greater than or equal to 1. + + String[] + + String[] + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Grant-CsGroupPolicyPackageAssignment -GroupId 1bc0b35f-095a-4a37-a24c-c4b6049816ab -PackageName Education_PrimaryStudent + + Assigns the Education_PrimaryStudent policy package to the group. The group will receive the lowest policy ranking for each policy type in the Education_PrimaryStudent package if the policy type is newly assigned to the group. If a policy type was already assigned to the group, the group will receive the same policy ranking as before. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Grant-CsGroupPolicyPackageAssignment -GroupId 1bc0b35f-095a-4a37-a24c-c4b6049816ab -PackageName Education_Teacher -PolicyRankings "TeamsMessagingPolicy, 1", "TeamsMeetingPolicy, 1", "TeamsCallingPolicy, 2" + + Assigns the Education_Teacher policy package to the group. The group will receive a policy ranking of 1 for TeamsMessagingPolicy policy type, a policy ranking of 1 for TeamsMeetingPolicy policy type and a policy ranking of 2 for TeamsCallingPolicy policy type. For each unspecified policy type in the package, the group will receive the lowest policy ranking if it is newly assigned to the group. If a policy type was already assigned to the group, the group will receive the same policy ranking as before. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/grant-csgrouppolicypackageassignment + + + Get-CsPolicyPackage + + + + New-CsGroupPolicyAssignment + + + + + + + Grant-CsOnlineVoicemailPolicy + Grant + CsOnlineVoicemailPolicy + + Assigns an online voicemail policy to a user account, to a group of users, or set the tenant Global instance. Online voicemail policies manage usages for Voicemail service. + + + + This cmdlet assigns an existing user-specific online voicemail policy to a user, a group of users, or the Global policy instance. + + + + Grant-CsOnlineVoicemailPolicy + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + PolicyName + + A unique identifier(name) of the policy. + + String + + String + + + None + + + Global + + Sets the parameters of the Global policy instance to the values in the specified policy instance. + + String + + String + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user being assigned the policy. By default, the Grant-CsOnlineVoicemailPolicy cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + Identity + + The Identity parameter represents the ID of the specific user in your organization; this can be either a SIP address or an Object ID. + + System.String + + System.String + + + None + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before executing the command. + + + SwitchParameter + + + False + + + + + + Global + + Sets the parameters of the Global policy instance to the values in the specified policy instance. + + String + + String + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user being assigned the policy. By default, the Grant-CsOnlineVoicemailPolicy cmdlet does not pass objects through the pipeline. + + SwitchParameter + + SwitchParameter + + + False + + + PolicyName + + A unique identifier(name) of the policy. + + String + + String + + + None + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + Identity + + The Identity parameter represents the ID of the specific user in your organization; this can be either a SIP address or an Object ID. + + System.String + + System.String + + + None + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + The GrantToGroup syntax is supported in Teams PowerShell Module 4.5.1-preview or later. + + + + + -------------------------- Example 1 -------------------------- + Grant-CsOnlineVoicemailPolicy -Identity "user@contoso.com" -PolicyName TranscriptionDisabled + + The command shown in Example 1 assigns the per-user online voicemail policy TranscriptionDisabled to a single user user@contoso.com. + + + + -------------------------- Example 2 -------------------------- + Grant-CsOnlineVoicemailPolicy -Group sales@contoso.com -Rank 10 -PolicyName TranscriptionDisabled + + The command shown in Example 2 assigns the online voicemail policy TranscriptionDisabled to the members of the group sales@contoso.com. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/grant-csonlinevoicemailpolicy + + + Get-CsOnlineVoicemailPolicy + + + + Set-CsOnlineVoicemailPolicy + + + + New-CsOnlineVoicemailPolicy + + + + Remove-CsOnlineVoicemailPolicy + + + + + + + Grant-CsOnlineVoiceRoutingPolicy + Grant + CsOnlineVoiceRoutingPolicy + + Assigns a per-user online voice routing policy to one user, a group of users, or sets the Global policy instance. Online voice routing policies manage online PSTN usages for Phone System users. + + + + Online voice routing policies are used in Microsoft Phone System Direct Routing scenarios. Assigning your Teams users an online voice routing policy enables those users to receive and to place phone calls to the public switched telephone network by using your on-premises SIP trunks. + Note that simply assigning a user an online voice routing policy will not enable them to make PSTN calls via Teams. Among other things, you will also need to enable those users for Phone System and will need to assign them an appropriate online voice policy. + + + + Grant-CsOnlineVoiceRoutingPolicy + + Identity + + Indicates the Identity of the user account to be assigned the per-user online voice routing policy. User Identities can be specified using one of the following formats: the user's SIP address, the user's user principal name (UPN), or the user's Active Directory display name (for example, Ken Myer). + + String + + String + + + None + + + PolicyName + + Name of the policy to be assigned. The PolicyName is simply the policy Identity minus the policy scope (the "tag:" prefix). For example, a policy with the Identity tag:Redmond has a PolicyName equal to Redmond; likewise, a policy with the Identity tag:RedmondOnlineVoiceRoutingPolicy has a PolicyName equal to RedmondOnlineVoiceRoutingPolicy. + To unassign a per-user policy previously assigned to a user, set the PolicyName to a null value ($Null). + + String + + String + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user account being assigned the online voice routing policy. By default, the `Grant-CsOnlineVoiceRoutingPolicy` cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + Grant-CsOnlineVoiceRoutingPolicy + + PolicyName + + Name of the policy to be assigned. The PolicyName is simply the policy Identity minus the policy scope (the "tag:" prefix). For example, a policy with the Identity tag:Redmond has a PolicyName equal to Redmond; likewise, a policy with the Identity tag:RedmondOnlineVoiceRoutingPolicy has a PolicyName equal to RedmondOnlineVoiceRoutingPolicy. + To unassign a per-user policy previously assigned to a user, set the PolicyName to a null value ($Null). + + String + + String + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user account being assigned the online voice routing policy. By default, the `Grant-CsOnlineVoiceRoutingPolicy` cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + Global + + When you use this cmdlet without specifying a user identity, the policy applies to all users in your tenant, except any that have an explicit policy assignment. To skip a warning when you do this operation, specify this parameter. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + Grant-CsOnlineVoiceRoutingPolicy + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + PolicyName + + Name of the policy to be assigned. The PolicyName is simply the policy Identity minus the policy scope (the "tag:" prefix). For example, a policy with the Identity tag:Redmond has a PolicyName equal to Redmond; likewise, a policy with the Identity tag:RedmondOnlineVoiceRoutingPolicy has a PolicyName equal to RedmondOnlineVoiceRoutingPolicy. + To unassign a per-user policy previously assigned to a user, set the PolicyName to a null value ($Null). + + String + + String + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user account being assigned the online voice routing policy. By default, the `Grant-CsOnlineVoiceRoutingPolicy` cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Identity + + Indicates the Identity of the user account to be assigned the per-user online voice routing policy. User Identities can be specified using one of the following formats: the user's SIP address, the user's user principal name (UPN), or the user's Active Directory display name (for example, Ken Myer). + + String + + String + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user account being assigned the online voice routing policy. By default, the `Grant-CsOnlineVoiceRoutingPolicy` cmdlet does not pass objects through the pipeline. + + SwitchParameter + + SwitchParameter + + + False + + + PolicyName + + Name of the policy to be assigned. The PolicyName is simply the policy Identity minus the policy scope (the "tag:" prefix). For example, a policy with the Identity tag:Redmond has a PolicyName equal to Redmond; likewise, a policy with the Identity tag:RedmondOnlineVoiceRoutingPolicy has a PolicyName equal to RedmondOnlineVoiceRoutingPolicy. + To unassign a per-user policy previously assigned to a user, set the PolicyName to a null value ($Null). + + String + + String + + + None + + + Global + + When you use this cmdlet without specifying a user identity, the policy applies to all users in your tenant, except any that have an explicit policy assignment. To skip a warning when you do this operation, specify this parameter. + + SwitchParameter + + SwitchParameter + + + False + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + System.Object + + + + + + + + + The GrantToGroup syntax is supported in Teams PowerShell Module 4.5.1-preview or later. + + + + + -------------------------- Example 1 -------------------------- + Grant-CsOnlineVoiceRoutingPolicy -Identity Ken.Myer@contoso.com -PolicyName "RedmondOnlineVoiceRoutingPolicy" + + The command shown in Example 1 assigns the per-user online voice routing policy RedmondOnlineVoiceRoutingPolicy to the user ken.myer@contoso.com. + + + + -------------------------- Example 2 -------------------------- + Grant-CsOnlineVoiceRoutingPolicy -Identity Ken.Myer@contoso.com -PolicyName $Null + + In Example 2, any per-user online voice routing policy previously assigned to the user Ken Myer is unassigned from that user; as a result, Ken Myer will be managed by the global online voice routing policy. To unassign a per-user policy, set the PolicyName to a null value ($null). + + + + -------------------------- Example 3 -------------------------- + Get-CsOnlineUser | Grant-CsOnlineVoiceRoutingPolicy -PolicyName "RedmondOnlineVoiceRoutingPolicy" + + Example 3 assigns the per-user online voice routing policy RedmondOnlineVoiceRoutingPolicy to all the users in the tenant. To do this, the command first calls the `Get-CsOnlineUser` cmdlet to get all user accounts enabled for Microsoft Teams or Skype for Business Online. Those user accounts are then piped to the `Grant-CsOnlineVoiceRoutingPolicy` cmdlet, which assigns each user the online voice routing policy RedmondOnlineVoiceRoutingPolicy. + + + + -------------------------- Example 4 -------------------------- + Grant-CsOnlineVoiceRoutingPolicy -PolicyName "RedmondOnlineVoiceRoutingPolicy" -Global + + Example 4 assigns the per-user online voice routing policy RedmondOnlineVoiceRoutingPolicy as the global online voice routing policy. This affects all the users in the tenant, except any that have an explicit policy assignment. + + + + -------------------------- Example 5 -------------------------- + Grant-CsOnlineVoiceRoutingPolicy -Group sales@contoso.com -Rank 10 -PolicyName "RedmondOnlineVoiceRoutingPolicy" + + Example 5 assigns the online voice routing policy RedmondOnlineVoiceRoutingPolicy to all members of the group sales@contoso.com. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/grant-csonlinevoiceroutingpolicy + + + New-CsOnlineVoiceRoutingPolicy + + + + Get-CsOnlineVoiceRoutingPolicy + + + + Set-CsOnlineVoiceRoutingPolicy + + + + Remove-CsOnlineVoiceRoutingPolicy + + + + + + + Grant-CsTeamsAudioConferencingPolicy + Grant + CsTeamsAudioConferencingPolicy + + Assigns a Teams audio-conferencing policy at the per-user scope. Audio conferencing policies are used to manage audio conferencing toll- and toll-free numbers to be displayed in meeting invites created by users within your organization. + + + + Granular control over which audio conferencing features your users can or cannot use is an important feature for many organizations. This cmdlet lets you assign a teams audio conferencing policy at the per-user scope. Audio conferencing policies determine the audio-conferencing toll- and toll-free numbers to be displayed in meeting invites created by users within your organization. + + + + Grant-CsTeamsAudioConferencingPolicy + + PolicyName + + The name of the custom policy that is being assigned to the user. To remove a specific assignment and fall back to the default tenant policy, you can assign to $Null. + + String + + String + + + None + + + Global + + When you use this cmdlet without specifying a user identity, the policy applies to all users in your tenant, except any that have an explicit policy assignment. To skip a warning when you do this operation, specify this parameter. + + + SwitchParameter + + + False + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user account being assigned the online voice routing policy. Enables you to pass a user object through the pipeline that represents the user account being assigned the online voice routing policy. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Grant-CsTeamsAudioConferencingPolicy + + Identity + + Indicates the Identity of the user account to be assigned the per-user online voice routing policy. User Identities can be specified using one of the following formats: 1) the user's SIP address; 2) the user's user principal name (UPN); or, 3) the user's Active Directory display name (for example, Ken Myer). + + String + + String + + + None + + + PolicyName + + The name of the custom policy that is being assigned to the user. To remove a specific assignment and fall back to the default tenant policy, you can assign to $Null. + + String + + String + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user account being assigned the online voice routing policy. Enables you to pass a user object through the pipeline that represents the user account being assigned the online voice routing policy. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Grant-CsTeamsAudioConferencingPolicy + + PolicyName + + The name of the custom policy that is being assigned to the user. To remove a specific assignment and fall back to the default tenant policy, you can assign to $Null. + + String + + String + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user account being assigned the online voice routing policy. Enables you to pass a user object through the pipeline that represents the user account being assigned the online voice routing policy. + + + SwitchParameter + + + False + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Global + + When you use this cmdlet without specifying a user identity, the policy applies to all users in your tenant, except any that have an explicit policy assignment. To skip a warning when you do this operation, specify this parameter. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Indicates the Identity of the user account to be assigned the per-user online voice routing policy. User Identities can be specified using one of the following formats: 1) the user's SIP address; 2) the user's user principal name (UPN); or, 3) the user's Active Directory display name (for example, Ken Myer). + + String + + String + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user account being assigned the online voice routing policy. Enables you to pass a user object through the pipeline that represents the user account being assigned the online voice routing policy. + + SwitchParameter + + SwitchParameter + + + False + + + PolicyName + + The name of the custom policy that is being assigned to the user. To remove a specific assignment and fall back to the default tenant policy, you can assign to $Null. + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + String + + + + + + + + + + Object + + + + + + + + + + + + + + -------------------------- EXAMPLE 1 -------------------------- + PS C:\> Grant-CsTeamsAudioCOnferencingPolicy -identity "Ken Myer" -PolicyName "Emea Users" + + In this example, a user with identity "Ken Myer" is being assigned the "Emea Users" policy. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/grant-csteamsaudioconferencingpolicy + + + Get-CsTeamsAudioConferencingPolicy + + + + Set-CsTeamsAudioConferencingPolicy + + + + Remove-CsTeamsAudioConferencingPolicy + + + + + + + Grant-CsTeamsCallHoldPolicy + Grant + CsTeamsCallHoldPolicy + + Assigns a per-user Teams call hold policy to one or more users. The Teams call hold policy is used to customize the call hold experience for Teams clients. + + + + Teams call hold policies are used to customize the call hold experience for teams clients. When Microsoft Teams users participate in calls, they have the ability to hold a call and have the other entity in the call listen to an audio file during the duration of the hold. + Assigning a teams call hold policy to a user sets an audio file to be played during the duration of the hold. + + + + Grant-CsTeamsCallHoldPolicy + + Identity + + Indicates the Identity of the user account to be assigned the per-user Teams call hold policy. User Identities can be specified using one of the following formats: + - The user's SIP address; + - The user's user principal name (UPN); + - The user's Active Directory display name (for example, Ken Myer). + + String + + String + + + None + + + PolicyName + + Name of the policy to be assigned. The PolicyName is simply the policy Identity without the policy scope, i.e. the "Tag:" prefix. + For example, a policy with the Identity Tag:ContosoPartnerCallHoldPolicy has a PolicyName equal to ContosoPartnerCallHoldPolicy. + To revoke a per-user policy previously assigned to a user, set the PolicyName to a null value ($null). + + String + + String + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user account being assigned the Teams call hold policy. + By default, the Grant-CsTeamsCallHoldPoly cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + Grant-CsTeamsCallHoldPolicy + + PolicyName + + Name of the policy to be assigned. The PolicyName is simply the policy Identity without the policy scope, i.e. the "Tag:" prefix. + For example, a policy with the Identity Tag:ContosoPartnerCallHoldPolicy has a PolicyName equal to ContosoPartnerCallHoldPolicy. + To revoke a per-user policy previously assigned to a user, set the PolicyName to a null value ($null). + + String + + String + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user account being assigned the Teams call hold policy. + By default, the Grant-CsTeamsCallHoldPoly cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + Global + + When you use this cmdlet without specifying a user identity, the policy applies to all users in your tenant. To skip a warning when you do this operation, specify "-Global". + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + Grant-CsTeamsCallHoldPolicy + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + PolicyName + + Name of the policy to be assigned. The PolicyName is simply the policy Identity without the policy scope, i.e. the "Tag:" prefix. + For example, a policy with the Identity Tag:ContosoPartnerCallHoldPolicy has a PolicyName equal to ContosoPartnerCallHoldPolicy. + To revoke a per-user policy previously assigned to a user, set the PolicyName to a null value ($null). + + String + + String + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user account being assigned the Teams call hold policy. + By default, the Grant-CsTeamsCallHoldPoly cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Identity + + Indicates the Identity of the user account to be assigned the per-user Teams call hold policy. User Identities can be specified using one of the following formats: + - The user's SIP address; + - The user's user principal name (UPN); + - The user's Active Directory display name (for example, Ken Myer). + + String + + String + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user account being assigned the Teams call hold policy. + By default, the Grant-CsTeamsCallHoldPoly cmdlet does not pass objects through the pipeline. + + SwitchParameter + + SwitchParameter + + + False + + + PolicyName + + Name of the policy to be assigned. The PolicyName is simply the policy Identity without the policy scope, i.e. the "Tag:" prefix. + For example, a policy with the Identity Tag:ContosoPartnerCallHoldPolicy has a PolicyName equal to ContosoPartnerCallHoldPolicy. + To revoke a per-user policy previously assigned to a user, set the PolicyName to a null value ($null). + + String + + String + + + None + + + Global + + When you use this cmdlet without specifying a user identity, the policy applies to all users in your tenant. To skip a warning when you do this operation, specify "-Global". + + SwitchParameter + + SwitchParameter + + + False + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + System.Object + + + + + + + + + The GrantToGroup syntax is supported in Teams PowerShell Module 4.5.1-preview or later. + + + + + -------------------------- Example 1 -------------------------- + Grant-CsTeamsCallHoldPolicy -Identity 'KenMyer@contoso.com' -PolicyName 'ContosoPartnerTeamsCallHoldPolicy' + + The command shown in Example 1 assigns the per-user Teams call hold policy, ContosoPartnerTeamsCallHoldPolicy, to the user with the user principal name (UPN) "KenMyer@contoso.com". + + + + -------------------------- Example 2 -------------------------- + Grant-CsTeamsCallHoldPolicy -Identity 'Ken Myer' -PolicyName 'ContosoPartnerTeamsCallHoldPolicy' + + The command shown in Example 2 assigns the per-user Teams call hold policy, ContosoPartnerTeamsCallHoldPolicy, to the user with the display name "Ken Myer". + + + + -------------------------- Example 3 -------------------------- + Grant-CsTeamsCallHoldPolicy -Identity 'Ken Myer' -PolicyName $null + + In Example 3, any per-user Teams call hold policy previously assigned to the user "Ken Myer" is revoked. As a result, the user will be managed by the global Teams call hold policy. + + + + -------------------------- Example 4 -------------------------- + Grant-CsTeamsCallHoldPolicy -Global -PolicyName 'ContosoPartnerTeamsCallHoldPolicy' + + The command shown in Example 4 sets the Teams call hold policy, ContosoPartnerTeamsCallHoldPolicy, as the Global policy which will apply to all users in your tenant. + + + + -------------------------- Example 5 -------------------------- + Grant-CsTeamsCallHoldPolicy -Group sales@contoso.com -Rank 10 -PolicyName 'ContosoPartnerTeamsCallHoldPolicy' + + The command shown in Example 5 sets the Teams call hold policy, ContosoPartnerTeamsCallHoldPolicy, to the members of the group sales@contoso.com. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/grant-csteamscallholdpolicy + + + New-CsTeamsCallHoldPolicy + + + + Get-CsTeamsCallHoldPolicy + + + + Set-CsTeamsCallHoldPolicy + + + + Remove-CsTeamsCallHoldPolicy + + + + + + + Grant-CsTeamsCallParkPolicy + Grant + CsTeamsCallParkPolicy + + The TeamsCallParkPolicy controls whether or not users are able to leverage the call park feature in Microsoft Teams. Call park allows enterprise voice customers to place a call on hold and then perform a number of actions on that call: transfer to another department, retrieve via the same phone, or retrieve via a different Teams phone. The Grant-CsTeamsCallParkPolicy cmdlet lets you assign a custom policy to a specific user. + NOTE: the call park feature currently only available in desktop, web clients and mobile clients. Call Park functionality is currently on the roadmap for Teams IP Phones. Supported with TeamsOnly mode for users with the Phone System license + + + + The TeamsCallParkPolicy controls whether or not users are able to leverage the call park feature in Microsoft Teams. Call park allows enterprise voice customers to place a call on hold and then perform a number of actions on that call: transfer to another department, retrieve via the same phone, or retrieve via a different phone. The Grant-CsTeamsCallParkPolicy cmdlet lets you assign a custom policy to a specific user. + + + + Grant-CsTeamsCallParkPolicy + + Identity + + The User ID of the user to whom the policy is being assigned. + + String + + String + + + None + + + PolicyName + + Name of the policy to be assigned. The PolicyName is simply the policy Identity minus the policy scope ("tag:"). For example, a policy that has the Identity tag:Redmond has a PolicyName equal to Redmond; a policy with the Identity tag:RedmondConferencingPolicy has a PolicyName equal to RedmondConferencingPolicy. + If you set PolicyName to a null value, the command will unassign any per-user policy assigned to the user. + + String + + String + + + None + + + PassThru + + If present, causes the cmdlet to pass the user object (or objects) through the Windows PowerShell pipeline. By default, the cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + Grant-CsTeamsCallParkPolicy + + PolicyName + + Name of the policy to be assigned. The PolicyName is simply the policy Identity minus the policy scope ("tag:"). For example, a policy that has the Identity tag:Redmond has a PolicyName equal to Redmond; a policy with the Identity tag:RedmondConferencingPolicy has a PolicyName equal to RedmondConferencingPolicy. + If you set PolicyName to a null value, the command will unassign any per-user policy assigned to the user. + + String + + String + + + None + + + PassThru + + If present, causes the cmdlet to pass the user object (or objects) through the Windows PowerShell pipeline. By default, the cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + Global + + Sets the parameters of the Global policy instance to the values in the specified policy instance. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + Grant-CsTeamsCallParkPolicy + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + PolicyName + + Name of the policy to be assigned. The PolicyName is simply the policy Identity minus the policy scope ("tag:"). For example, a policy that has the Identity tag:Redmond has a PolicyName equal to Redmond; a policy with the Identity tag:RedmondConferencingPolicy has a PolicyName equal to RedmondConferencingPolicy. + If you set PolicyName to a null value, the command will unassign any per-user policy assigned to the user. + + String + + String + + + None + + + PassThru + + If present, causes the cmdlet to pass the user object (or objects) through the Windows PowerShell pipeline. By default, the cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Identity + + The User ID of the user to whom the policy is being assigned. + + String + + String + + + None + + + PassThru + + If present, causes the cmdlet to pass the user object (or objects) through the Windows PowerShell pipeline. By default, the cmdlet does not pass objects through the pipeline. + + SwitchParameter + + SwitchParameter + + + False + + + PolicyName + + Name of the policy to be assigned. The PolicyName is simply the policy Identity minus the policy scope ("tag:"). For example, a policy that has the Identity tag:Redmond has a PolicyName equal to Redmond; a policy with the Identity tag:RedmondConferencingPolicy has a PolicyName equal to RedmondConferencingPolicy. + If you set PolicyName to a null value, the command will unassign any per-user policy assigned to the user. + + String + + String + + + None + + + Global + + Sets the parameters of the Global policy instance to the values in the specified policy instance. + + SwitchParameter + + SwitchParameter + + + False + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + System.Object + + + + + + + + + The GrantToGroup syntax is supported in Teams PowerShell Module 4.5.1-preview or later. + + + + + -------------------------- Example 1 -------------------------- + Grant-CsTeamsCallParkPolicy -PolicyName SalesPolicy -Identity Ken.Myer@contoso.com + + Assigns a custom policy "Sales Policy" to the user Ken Myer. + + + + -------------------------- Example 2 -------------------------- + Grant-CsTeamsCallParkPolicy -Group sales@contoso.com -Rank 10 -PolicyName SalesPolicy + + Assigns a custom policy "Sales Policy" to the members of the group sales@contoso.com. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/grant-csteamscallparkpolicy + + + Set-CsTeamsCallParkPolicy + + + + Get-CsTeamsCallParkPolicy + + + + New-CsTeamsCallParkPolicy + + + + Remove-CsTeamsCallParkPolicy + + + + + + + Grant-CsTeamsChannelsPolicy + Grant + CsTeamsChannelsPolicy + + The CsTeamsChannelsPolicy allows you to manage features related to the Teams & Channels experience within the Teams application. + + + + The CsTeamsChannelsPolicy allows you to manage features related to the Teams & Channels experience within the Teams application. The Grant-CsTeamsChannelsPolicy allows you to assign specific policies to users that have been created in your tenant. + + + + Grant-CsTeamsChannelsPolicy + + PolicyName + + Specify the policy that should be granted to the user + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + DomainController + + Internal Microsoft usage only. + + Fqdn + + Fqdn + + + None + + + Global + + Use the -Global flag to convert the values of the Global policy to the values of the specified policy. + + + SwitchParameter + + + False + + + PassThru + + + + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Grant-CsTeamsChannelsPolicy + + Identity + + Specify the user to whom the policy is being assigned. + + UserIdParameter + + UserIdParameter + + + None + + + PolicyName + + Specify the policy that should be granted to the user + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + DomainController + + Internal Microsoft usage only. + + Fqdn + + Fqdn + + + None + + + PassThru + + + + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Grant-CsTeamsChannelsPolicy + + PolicyName + + Specify the policy that should be granted to the user + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + DomainController + + Internal Microsoft usage only. + + Fqdn + + Fqdn + + + None + + + PassThru + + + + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + DomainController + + Internal Microsoft usage only. + + Fqdn + + Fqdn + + + None + + + Global + + Use the -Global flag to convert the values of the Global policy to the values of the specified policy. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Specify the user to whom the policy is being assigned. + + UserIdParameter + + UserIdParameter + + + None + + + PassThru + + + + SwitchParameter + + SwitchParameter + + + False + + + PolicyName + + Specify the policy that should be granted to the user + + String + + String + + + None + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + + + + Microsoft.Rtc.Management.AD.UserIdParameter + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Grant-CsTeamsChannelsPolicy -Identity studentaccount@company.com -PolicyName StudentPolicy + + Assigns a custom policy to a specific user in an organization. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/grant-csteamschannelspolicy + + + + + + Grant-CsTeamsComplianceRecordingPolicy + Grant + CsTeamsComplianceRecordingPolicy + + Assigns a per-user Teams recording policy to one or more users. This policy is used to govern automatic policy-based recording in your tenant. Automatic policy-based recording is only applicable to Microsoft Teams users. + + + + Teams recording policies are used in automatic policy-based recording scenarios. When Microsoft Teams users participate in meetings or make or receive calls, the policy-based recording applications i.e. bots associated with the user's Teams recording policy are invited into the call or meeting to record audio, video and video-based screen sharing activity. + Note that simply assigning a Teams recording policy to a Microsoft Teams user will not activate automatic policy-based recording for all Microsoft Teams calls and meetings that the user participates in. Among other things, you will need to create an application instance of a policy-based recording application i.e. a bot in your tenant and will then need to assign an appropriate policy to the user. + Please work with your Microsoft certified policy-based recording application provider to obtain an instance of their recording application. Please refer to the documentation of the CsOnlineApplicationInstance cmdlets for information on how to create an application instance of a policy-based recording application. + Assigning your Microsoft Teams users a Teams recording policy activates automatic policy-based recording for all new Microsoft Teams calls and meetings that the users participate in. The system will load the recording application and join it to appropriate calls and meetings in order for it to enforce compliance with the administrative set policy. Existing calls and meetings are unaffected. + + + + Grant-CsTeamsComplianceRecordingPolicy + + Identity + + Indicates the Identity of the user account to be assigned the per-user Teams recording policy. User Identities can be specified using one of the following formats: 1) the user's SIP address; 2) the user's user principal name (UPN); 3) the user's Active Directory display name (for example, Ken Myer). + + UserIdParameter + + UserIdParameter + + + None + + + PolicyName + + Name of the policy to be assigned. The PolicyName is simply the policy Identity without the policy scope i.e. the "Tag:" prefix. For example, a policy with the Identity Tag:ContosoPartnerComplianceRecordingPolicy has a PolicyName equal to ContosoPartnerComplianceRecordingPolicy. + To revoke a per-user policy previously assigned to a user, set the PolicyName to a null value ($null). + + String + + String + + + None + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose Teams recording policies are being queried. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + If you are using a remote session of Windows PowerShell and are connected only to Microsoft Teams or Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + System.Guid + + System.Guid + + + None + + + DomainController + + This parameter is reserved for internal Microsoft use. + + Fqdn + + Fqdn + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user account being assigned the Teams recording policy. By default, the Grant-CsTeamsComplianceRecordingPolicy cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Grant-CsTeamsComplianceRecordingPolicy + + PolicyName + + Name of the policy to be assigned. The PolicyName is simply the policy Identity without the policy scope i.e. the "Tag:" prefix. For example, a policy with the Identity Tag:ContosoPartnerComplianceRecordingPolicy has a PolicyName equal to ContosoPartnerComplianceRecordingPolicy. + To revoke a per-user policy previously assigned to a user, set the PolicyName to a null value ($null). + + String + + String + + + None + + + Global + + When you use this cmdlet without specifying a user identity, the policy applies to all users in your tenant. To skip a warning when you do this operation, specify "-Global". + + + SwitchParameter + + + False + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose Teams recording policies are being queried. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + If you are using a remote session of Windows PowerShell and are connected only to Microsoft Teams or Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + System.Guid + + System.Guid + + + None + + + DomainController + + This parameter is reserved for internal Microsoft use. + + Fqdn + + Fqdn + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user account being assigned the Teams recording policy. By default, the Grant-CsTeamsComplianceRecordingPolicy cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Grant-CsTeamsComplianceRecordingPolicy + + PolicyName + + Name of the policy to be assigned. The PolicyName is simply the policy Identity without the policy scope i.e. the "Tag:" prefix. For example, a policy with the Identity Tag:ContosoPartnerComplianceRecordingPolicy has a PolicyName equal to ContosoPartnerComplianceRecordingPolicy. + To revoke a per-user policy previously assigned to a user, set the PolicyName to a null value ($null). + + String + + String + + + None + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose Teams recording policies are being queried. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + If you are using a remote session of Windows PowerShell and are connected only to Microsoft Teams or Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + System.Guid + + System.Guid + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + DomainController + + This parameter is reserved for internal Microsoft use. + + Fqdn + + Fqdn + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user account being assigned the Teams recording policy. By default, the Grant-CsTeamsComplianceRecordingPolicy cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Identity + + Indicates the Identity of the user account to be assigned the per-user Teams recording policy. User Identities can be specified using one of the following formats: 1) the user's SIP address; 2) the user's user principal name (UPN); 3) the user's Active Directory display name (for example, Ken Myer). + + UserIdParameter + + UserIdParameter + + + None + + + Global + + When you use this cmdlet without specifying a user identity, the policy applies to all users in your tenant. To skip a warning when you do this operation, specify "-Global". + + SwitchParameter + + SwitchParameter + + + False + + + PolicyName + + Name of the policy to be assigned. The PolicyName is simply the policy Identity without the policy scope i.e. the "Tag:" prefix. For example, a policy with the Identity Tag:ContosoPartnerComplianceRecordingPolicy has a PolicyName equal to ContosoPartnerComplianceRecordingPolicy. + To revoke a per-user policy previously assigned to a user, set the PolicyName to a null value ($null). + + String + + String + + + None + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose Teams recording policies are being queried. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + If you are using a remote session of Windows PowerShell and are connected only to Microsoft Teams or Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + System.Guid + + System.Guid + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + DomainController + + This parameter is reserved for internal Microsoft use. + + Fqdn + + Fqdn + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user account being assigned the Teams recording policy. By default, the Grant-CsTeamsComplianceRecordingPolicy cmdlet does not pass objects through the pipeline. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + Microsoft.Rtc.Management.AD.UserIdParameter + + + + + + + + + + System.Object + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Grant-CsTeamsComplianceRecordingPolicy -Identity 'Ken Myer' -PolicyName 'ContosoPartnerComplianceRecordingPolicy' + + The command shown in Example 1 assigns the per-user Teams recording policy ContosoPartnerComplianceRecordingPolicy to the user with the display name "Ken Myer". + + + + -------------------------- Example 2 -------------------------- + PS C:\> Grant-CsTeamsComplianceRecordingPolicy -Identity 'Ken Myer' -PolicyName $null + + In Example 2, any per-user Teams recording policy previously assigned to the user "Ken Myer" is revoked. As a result, the user will be managed by the global Teams recording policy. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/grant-csteamscompliancerecordingpolicy + + + Get-CsTeamsComplianceRecordingPolicy + + + + New-CsTeamsComplianceRecordingPolicy + + + + Set-CsTeamsComplianceRecordingPolicy + + + + Remove-CsTeamsComplianceRecordingPolicy + + + + Get-CsTeamsComplianceRecordingApplication + + + + New-CsTeamsComplianceRecordingApplication + + + + Set-CsTeamsComplianceRecordingApplication + + + + Remove-CsTeamsComplianceRecordingApplication + + + + New-CsTeamsComplianceRecordingPairedApplication + + + + + + + Grant-CsTeamsCortanaPolicy + Grant + CsTeamsCortanaPolicy + + The CsTeamsCortanaPolicy cmdlets enable administrators to control settings for Cortana voice assistant in Microsoft Teams. + + + + The CsTeamsCortanaPolicy cmdlets enable administrators to control settings for Cortana voice assistant in Microsoft Teams. Specifically, these specify if a user can use Cortana voice assistant in Microsoft Teams and Cortana invocation behavior via CortanaVoiceInvocationMode parameter - * Disabled - Cortana voice assistant is disabled + * PushToTalkUserOverride - Cortana voice assistant is enabled but without wake-word ("Hey Cortana") invocation + * WakeWordPushToTalkUserOverride - Cortana voice assistant is enabled with wake-word ("Hey Cortana") invocation on devices where wake-word is supported + + This cmdlet lets you assign a Teams Cortana policy at the per-user scope. + + + + Grant-CsTeamsCortanaPolicy + + PolicyName + + The name of the custom policy that is being assigned to the user. To remove a specific assignment and fall back to the default tenant policy, you can assign to $Null. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + DomainController + + + + Fqdn + + Fqdn + + + None + + + Global + + + + + SwitchParameter + + + False + + + PassThru + + + + + SwitchParameter + + + False + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose external user communication policy are being created. For example: -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" You can return your tenant ID by running this command: Get-CsTenant | Select-Object DisplayName, TenantID + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Grant-CsTeamsCortanaPolicy + + Identity + + Indicates the identity of the user account the policy should be assigned to. User identities can be specified using one of four formats: 1) the user's SIP address; 2) the user principal name (UPN); 3) the user's domain name and logon name, in the form domain\logon (for example, litwareinc\kenmyer); and, 4) the user's Active Directory display name (for example, Ken Myer). User Identities can also be referenced by using the user's Active Directory distinguished name. + + UserIdParameter + + UserIdParameter + + + None + + + PolicyName + + The name of the custom policy that is being assigned to the user. To remove a specific assignment and fall back to the default tenant policy, you can assign to $Null. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + DomainController + + + + Fqdn + + Fqdn + + + None + + + PassThru + + + + + SwitchParameter + + + False + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose external user communication policy are being created. For example: -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" You can return your tenant ID by running this command: Get-CsTenant | Select-Object DisplayName, TenantID + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Grant-CsTeamsCortanaPolicy + + PolicyName + + The name of the custom policy that is being assigned to the user. To remove a specific assignment and fall back to the default tenant policy, you can assign to $Null. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + DomainController + + + + Fqdn + + Fqdn + + + None + + + PassThru + + + + + SwitchParameter + + + False + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose external user communication policy are being created. For example: -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" You can return your tenant ID by running this command: Get-CsTenant | Select-Object DisplayName, TenantID + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + DomainController + + + + Fqdn + + Fqdn + + + None + + + Global + + + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Indicates the identity of the user account the policy should be assigned to. User identities can be specified using one of four formats: 1) the user's SIP address; 2) the user principal name (UPN); 3) the user's domain name and logon name, in the form domain\logon (for example, litwareinc\kenmyer); and, 4) the user's Active Directory display name (for example, Ken Myer). User Identities can also be referenced by using the user's Active Directory distinguished name. + + UserIdParameter + + UserIdParameter + + + None + + + PassThru + + + + SwitchParameter + + SwitchParameter + + + False + + + PolicyName + + The name of the custom policy that is being assigned to the user. To remove a specific assignment and fall back to the default tenant policy, you can assign to $Null. + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose external user communication policy are being created. For example: -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" You can return your tenant ID by running this command: Get-CsTenant | Select-Object DisplayName, TenantID + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + Microsoft.Rtc.Management.AD.UserIdParameter + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Grant-CsTeamsCortanaPolicy -identity "Ken Myer" -PolicyName MyCortanaPolicy + + In this example, a user with identity "Ken Myer" is being assigned the MyCortanaPolicy + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamscortanapolicy + + + + + + Grant-CsTeamsEmergencyCallingPolicy + Grant + CsTeamsEmergencyCallingPolicy + + This cmdlet assigns a Teams Emergency Calling policy. + + + + This cmdlet assigns a Teams Emergency Calling policy to a user, a group of users, or to the Global policy instance. Emergency Calling policy is used for the life cycle of emergency calling experience for the security desk and Teams client location experience. + + + + Grant-CsTeamsEmergencyCallingPolicy + + PolicyName + + The Identity of the Teams Emergency Calling policy to apply to the user. To remove an existing user level policy assignment, specify PolicyName as $null. + + String + + String + + + None + + + Global + + Sets the parameters of the Global policy instance to the values in the specified policy instance. + + + SwitchParameter + + + False + + + PassThru + + Including this parameter (which does not take a value) displays the user information when the cmdlet completes. Normally there is no output when this cmdlet is run. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + Grant-CsTeamsEmergencyCallingPolicy + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + PolicyName + + The Identity of the Teams Emergency Calling policy to apply to the user. To remove an existing user level policy assignment, specify PolicyName as $null. + + String + + String + + + None + + + PassThru + + Including this parameter (which does not take a value) displays the user information when the cmdlet completes. Normally there is no output when this cmdlet is run. + + + SwitchParameter + + + False + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + Grant-CsTeamsEmergencyCallingPolicy + + Identity + + Indicates the Identity of the user account the policy should be assigned to. + + String + + String + + + None + + + PolicyName + + The Identity of the Teams Emergency Calling policy to apply to the user. To remove an existing user level policy assignment, specify PolicyName as $null. + + String + + String + + + None + + + PassThru + + Including this parameter (which does not take a value) displays the user information when the cmdlet completes. Normally there is no output when this cmdlet is run. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Global + + Sets the parameters of the Global policy instance to the values in the specified policy instance. + + SwitchParameter + + SwitchParameter + + + False + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Identity + + Indicates the Identity of the user account the policy should be assigned to. + + String + + String + + + None + + + PassThru + + Including this parameter (which does not take a value) displays the user information when the cmdlet completes. Normally there is no output when this cmdlet is run. + + SwitchParameter + + SwitchParameter + + + False + + + PolicyName + + The Identity of the Teams Emergency Calling policy to apply to the user. To remove an existing user level policy assignment, specify PolicyName as $null. + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + System.Object + + + + + + + + + The GrantToGroup syntax is supported in Teams PowerShell Module version 4.5.1-preview or later. + + + + + -------------------------- Example 1 -------------------------- + Grant-CsTeamsEmergencyCallingPolicy -Identity user1 -PolicyName TestTECP + + This example assigns the Teams Emergency Calling policy TestTECP to a user + + + + -------------------------- Example 2 -------------------------- + Grant-CsTeamsEmergencyCallingPolicy -Global -PolicyName SalesTECP + + Assigns the Teams Emergency Calling policy called "SalesTECP" to the Global policy instance. This sets the parameters in the Global policy instance to the values found in the SalesTECP instance. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/grant-csteamsemergencycallingpolicy + + + New-CsTeamsEmergencyCallingPolicy + + + + Get-CsTeamsEmergencyCallingPolicy + + + + Remove-CsTeamsEmergencyCallingPolicy + + + + Set-CsTeamsEmergencyCallingPolicy + + + + + + + Grant-CsTeamsEmergencyCallRoutingPolicy + Grant + CsTeamsEmergencyCallRoutingPolicy + + This cmdlet assigns a Teams Emergency Call Routing policy. + + + + This cmdlet assigns a Teams Emergency Call Routing policy to a user, a group of users, or to the Global policy instance. Teams Emergency Call Routing policy is used for the life cycle of emergency call routing - emergency numbers and routing configuration. + + + + Grant-CsTeamsEmergencyCallRoutingPolicy + + PolicyName + + The Identity of the Teams Emergency Call Routing policy to apply. + + String + + String + + + None + + + Global + + Sets the parameters of the Global policy instance to the values in the specified policy instance. + + + SwitchParameter + + + False + + + PassThru + + Including this parameter (which does not take a value) displays the user information when the cmdlet completes. Normally there is no output when this cmdlet is run. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + Grant-CsTeamsEmergencyCallRoutingPolicy + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + PolicyName + + The Identity of the Teams Emergency Call Routing policy to apply. + + String + + String + + + None + + + PassThru + + Including this parameter (which does not take a value) displays the user information when the cmdlet completes. Normally there is no output when this cmdlet is run. + + + SwitchParameter + + + False + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + Grant-CsTeamsEmergencyCallRoutingPolicy + + Identity + + Indicates the Identity of the user account the policy should be assigned to. + + String + + String + + + None + + + PolicyName + + The Identity of the Teams Emergency Call Routing policy to apply. + + String + + String + + + None + + + PassThru + + Including this parameter (which does not take a value) displays the user information when the cmdlet completes. Normally there is no output when this cmdlet is run. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Global + + Sets the parameters of the Global policy instance to the values in the specified policy instance. + + SwitchParameter + + SwitchParameter + + + False + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Identity + + Indicates the Identity of the user account the policy should be assigned to. + + String + + String + + + None + + + PassThru + + Including this parameter (which does not take a value) displays the user information when the cmdlet completes. Normally there is no output when this cmdlet is run. + + SwitchParameter + + SwitchParameter + + + False + + + PolicyName + + The Identity of the Teams Emergency Call Routing policy to apply. + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + The GrantToGroup syntax is supported in Teams PowerShell Module version 4.5.1-preview or later. + + + + + -------------------------- Example 1 -------------------------- + Grant-CsTeamsEmergencyCallRoutingPolicy -Identity user1 -PolicyName Test + + This example assigns a Teams Emergency Call Routing policy (Test) to a user (user1). + + + + -------------------------- Example 2 -------------------------- + Grant-CsTeamsEmergencyCallRoutingPolicy -Group sales@contoso.com -Rank 10 -PolicyName Test + + This example assigns the Teams Emergency Call Routing policy (Test) to the members of the group sales@contoso.com. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/grant-csteamsemergencycallroutingpolicy + + + New-CsTeamsEmergencyCallRoutingPolicy + + + + Set-CsTeamsEmergencyCallRoutingPolicy + + + + Get-CsTeamsEmergencyCallRoutingPolicy + + + + Remove-CsTeamsEmergencyCallRoutingPolicy + + + + + + + Grant-CsTeamsEnhancedEncryptionPolicy + Grant + CsTeamsEnhancedEncryptionPolicy + + Cmdlet to assign a specific Teams enhanced encryption Policy to a user. + + + + Cmdlet to assign a specific Teams enhanced encryption Policy to a user. + The TeamsEnhancedEncryptionPolicy enables administrators to determine which users in your organization can use the enhanced encryption settings in Teams, setting for End-to-end encryption in ad-hoc 1-to-1 VOIP calls is the parameter supported by this policy currently. + + + + Grant-CsTeamsEnhancedEncryptionPolicy + + Identity + + Unique identifier assigned to the Teams enhanced encryption policy. + + XdsIdentity + + XdsIdentity + + + None + + + PolicyName + + Specifies the name of the policy to be assigned. The PolicyName is the policy identity minus the policy scope ("tag:"). A policy that has an identity of "Tag:ContosoPartnerTeamsEnhancedEncryptionPolicy" has a PolicyName of "ContosoPartnerTeamsEnhancedEncryptionPolicy". If you set PolicyName to a null value, then the command will unassign any individual policy assigned to the user. For example: Grant-CsTeamsEnhancedEncryptionPolicy -Identity "Ken Myer" -PolicyName $Null. + + String + + String + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user being assigned the policy. By default, the Grant-CsTeamsEnhancedEncryptionPolicy cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + Grant-CsTeamsEnhancedEncryptionPolicy + + PolicyName + + Specifies the name of the policy to be assigned. The PolicyName is the policy identity minus the policy scope ("tag:"). A policy that has an identity of "Tag:ContosoPartnerTeamsEnhancedEncryptionPolicy" has a PolicyName of "ContosoPartnerTeamsEnhancedEncryptionPolicy". If you set PolicyName to a null value, then the command will unassign any individual policy assigned to the user. For example: Grant-CsTeamsEnhancedEncryptionPolicy -Identity "Ken Myer" -PolicyName $Null. + + String + + String + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user being assigned the policy. By default, the Grant-CsTeamsEnhancedEncryptionPolicy cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + Global + + Use this switch if you want to grant the specified policy to be the default policy for all users in the tenant. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + Grant-CsTeamsEnhancedEncryptionPolicy + + PolicyName + + Specifies the name of the policy to be assigned. The PolicyName is the policy identity minus the policy scope ("tag:"). A policy that has an identity of "Tag:ContosoPartnerTeamsEnhancedEncryptionPolicy" has a PolicyName of "ContosoPartnerTeamsEnhancedEncryptionPolicy". If you set PolicyName to a null value, then the command will unassign any individual policy assigned to the user. For example: Grant-CsTeamsEnhancedEncryptionPolicy -Identity "Ken Myer" -PolicyName $Null. + + String + + String + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user being assigned the policy. By default, the Grant-CsTeamsEnhancedEncryptionPolicy cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user being assigned the policy. By default, the Grant-CsTeamsEnhancedEncryptionPolicy cmdlet does not pass objects through the pipeline. + + SwitchParameter + + SwitchParameter + + + False + + + PolicyName + + Specifies the name of the policy to be assigned. The PolicyName is the policy identity minus the policy scope ("tag:"). A policy that has an identity of "Tag:ContosoPartnerTeamsEnhancedEncryptionPolicy" has a PolicyName of "ContosoPartnerTeamsEnhancedEncryptionPolicy". If you set PolicyName to a null value, then the command will unassign any individual policy assigned to the user. For example: Grant-CsTeamsEnhancedEncryptionPolicy -Identity "Ken Myer" -PolicyName $Null. + + String + + String + + + None + + + Identity + + Unique identifier assigned to the Teams enhanced encryption policy. + + XdsIdentity + + XdsIdentity + + + None + + + Global + + Use this switch if you want to grant the specified policy to be the default policy for all users in the tenant. + + SwitchParameter + + SwitchParameter + + + False + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.Object + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- EXAMPLE 1 -------------------------- + PS C:\> Grant-CsTeamsEnhancedEncryptionPolicy -Identity 'KenMyer@contoso.com' -PolicyName 'ContosoPartnerTeamsEnhancedEncryptionPolicy' + + The command shown in Example 1 assigns the per-user Teams enhanced encryption policy, ContosoPartnerTeamsEnhancedEncryptionPolicy, to the user with the user principal name (UPN) "KenMyer@contoso.com". + + + + -------------------------- EXAMPLE 2 -------------------------- + PS C:\> Grant-CsTeamsEnhancedEncryptionPolicy -Identity 'Ken Myer' -PolicyName $null + + In Example 2, any per-user Teams enhanced encryption policy previously assigned to the user "Ken Myer" is revoked. + As a result, the user will be managed by the global Teams enhanced encryption policy. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/grant-csteamsenhancedencryptionpolicy + + + Get-CsTeamsEnhancedEncryptionPolicy + + + + New-CsTeamsEnhancedEncryptionPolicy + + + + Set-CsTeamsEnhancedEncryptionPolicy + + + + Remove-CsTeamsEnhancedEncryptionPolicy + + + + + + + Grant-CsTeamsEventsPolicy + Grant + CsTeamsEventsPolicy + + Assigns Teams Events policy to a user, group of users, or the entire tenant. Note that this policy is currently still in preview. + + + + Assigns Teams Events policy to a user, group of users, or the entire tenant. + TeamsEventsPolicy is used to configure options for customizing Teams Events experiences. + + + + Grant-CsTeamsEventsPolicy + + PolicyName + + "Name" of the policy to be assigned. The PolicyName is simply the policy Identity minus the policy scope (the "tag:" prefix). For example, a policy with the Identity tag:DisablePublicWebinars has a PolicyName equal to DisablePublicWebinars. + To unassign a per-user policy previously assigned to a user, set the PolicyName to a null value ($Null). + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Global + + Use this switch if you want to grant the specified policy to be the default policy for all users in the tenant. + + + SwitchParameter + + + False + + + PassThru + + Enables passing a user object through the pipeline that represents the user being assigned the policy. By default, the Grant-CsTeamsEventsPolicy cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Grant-CsTeamsEventsPolicy + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + PolicyName + + "Name" of the policy to be assigned. The PolicyName is simply the policy Identity minus the policy scope (the "tag:" prefix). For example, a policy with the Identity tag:DisablePublicWebinars has a PolicyName equal to DisablePublicWebinars. + To unassign a per-user policy previously assigned to a user, set the PolicyName to a null value ($Null). + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + PassThru + + Enables passing a user object through the pipeline that represents the user being assigned the policy. By default, the Grant-CsTeamsEventsPolicy cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Grant-CsTeamsEventsPolicy + + Identity + + Specifies the identity of the target user. Acceptable values include: + Example: jphillips@contoso.com + Example: sip:jphillips@contoso.com + Example: 98403f08-577c-46dd-851a-f0460a13b03d + Use the "Global" Identity if you wish to set the policy for the entire tenant. + + String + + String + + + None + + + PolicyName + + "Name" of the policy to be assigned. The PolicyName is simply the policy Identity minus the policy scope (the "tag:" prefix). For example, a policy with the Identity tag:DisablePublicWebinars has a PolicyName equal to DisablePublicWebinars. + To unassign a per-user policy previously assigned to a user, set the PolicyName to a null value ($Null). + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + PassThru + + Enables passing a user object through the pipeline that represents the user being assigned the policy. By default, the Grant-CsTeamsEventsPolicy cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Global + + Use this switch if you want to grant the specified policy to be the default policy for all users in the tenant. + + SwitchParameter + + SwitchParameter + + + False + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Identity + + Specifies the identity of the target user. Acceptable values include: + Example: jphillips@contoso.com + Example: sip:jphillips@contoso.com + Example: 98403f08-577c-46dd-851a-f0460a13b03d + Use the "Global" Identity if you wish to set the policy for the entire tenant. + + String + + String + + + None + + + PassThru + + Enables passing a user object through the pipeline that represents the user being assigned the policy. By default, the Grant-CsTeamsEventsPolicy cmdlet does not pass objects through the pipeline. + + SwitchParameter + + SwitchParameter + + + False + + + PolicyName + + "Name" of the policy to be assigned. The PolicyName is simply the policy Identity minus the policy scope (the "tag:" prefix). For example, a policy with the Identity tag:DisablePublicWebinars has a PolicyName equal to DisablePublicWebinars. + To unassign a per-user policy previously assigned to a user, set the PolicyName to a null value ($Null). + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.String + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Grant-CsTeamsEventsPolicy -Identity "user1@contoso.com" -Policy DisablePublicWebinars + + The command shown in Example 1 assigns the per-user Teams Events policy, DisablePublicWebinars, to the user with the user principal name (UPN) "user1@contoso.com". + + + + -------------------------- Example 2 -------------------------- + PS C:\> Grant-CsTeamsEventsPolicy -Identity "user1@contoso.com" -Policy $null + + The command shown in Example 2 revokes the per-user Teams Events policy for the user with the user principal name (UPN) "user1@contoso.com". As a result, the user will be managed by the global Teams Events policy. + + + + -------------------------- Example 3 -------------------------- + PS C:\> Grant-CsTeamsEventsPolicy -Group "sales@contoso.com" -Rank 10 -Policy DisablePublicWebinars + + The command shown in Example 3 assigns the Teams Events policy, DisablePublicWebinars, to the members of the group "sales@contoso.com". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/grant-csteamseventspolicy + + + + + + Grant-CsTeamsFeedbackPolicy + Grant + CsTeamsFeedbackPolicy + + Use this cmdlet to grant a specific Teams Feedback policy to a user (the ability to send feedback about Teams to Microsoft and whether they receive the survey). + + + + Grants a specific Teams Feedback policy to a user (the ability to send feedback about Teams to Microsoft and whether they receive the survey) or to set a specific Teams feedback policy the new effective global policy. + + + + Grant-CsTeamsFeedbackPolicy + + PolicyName + + The identity of the policy to be granted. + + Object + + Object + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + DomainController + + Internal Microsoft use. + + Object + + Object + + + None + + + Global + + Use this parameter to make the specified policy in -PolicyName the new effective global policy. + + + SwitchParameter + + + False + + + PassThru + + Including this parameter (which does not take a value) displays the user information when the cmdlet completes. Normally there is no output when this cmdlet is run. + + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use. + + Object + + Object + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Grant-CsTeamsFeedbackPolicy + + Identity + + Indicates the identity of the user account the policy should be assigned to. + + Object + + Object + + + None + + + PolicyName + + The identity of the policy to be granted. + + Object + + Object + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + DomainController + + Internal Microsoft use. + + Object + + Object + + + None + + + PassThru + + Including this parameter (which does not take a value) displays the user information when the cmdlet completes. Normally there is no output when this cmdlet is run. + + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use. + + Object + + Object + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Grant-CsTeamsFeedbackPolicy + + PolicyName + + The identity of the policy to be granted. + + Object + + Object + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + DomainController + + Internal Microsoft use. + + Object + + Object + + + None + + + PassThru + + Including this parameter (which does not take a value) displays the user information when the cmdlet completes. Normally there is no output when this cmdlet is run. + + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use. + + Object + + Object + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + DomainController + + Internal Microsoft use. + + Object + + Object + + + None + + + Global + + Use this parameter to make the specified policy in -PolicyName the new effective global policy. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Indicates the identity of the user account the policy should be assigned to. + + Object + + Object + + + None + + + PassThru + + Including this parameter (which does not take a value) displays the user information when the cmdlet completes. Normally there is no output when this cmdlet is run. + + SwitchParameter + + SwitchParameter + + + False + + + PolicyName + + The identity of the policy to be granted. + + Object + + Object + + + None + + + Tenant + + Internal Microsoft use. + + Object + + Object + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + + + + Microsoft.Rtc.Management.AD.UserIdParameter + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Grant-CsTeamsFeedbackPolicy -PolicyName "New Hire Feedback Policy" -Identity kenmyer@litwareinc.com + + In this example, the policy "New Hire Feedback Policy" is granted to the user kenmyer@litwareinc.com. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/grant-csteamsfeedbackpolicy + + + + + + Grant-CsTeamsIPPhonePolicy + Grant + CsTeamsIPPhonePolicy + + Use the Grant-CsTeamsIPPhonePolicy cmdlet to assign a set of Teams phone policies to a user account or group of user accounts. Teams phone policies determine the features that are available to users of Teams phones. For example, you might enable the hot desking feature for some users while disabling it for others. + + + + Use the Grant-CsTeamsIPPhonePolicy cmdlet to assign a set of Teams phone policies to a phone signed in with an account that may be used by end users, common area phones, or meeting room accounts. + Note: Assigning a per user policy will override any global policy taking effect against the respective user account. + + + + Grant-CsTeamsIPPhonePolicy + + PolicyName + + The Identity of the Teams phone policy to apply to the user. + + XdsIdentity + + XdsIdentity + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + DomainController + + Microsoft Internal Use Only. + + Object + + Object + + + None + + + Global + + Use this parameter to make the specified policy in -PolicyName the new effective global policy. + + + SwitchParameter + + + False + + + PassThru + + Including this parameter (which does not take a value) displays the user information when the cmdlet completes. Normally there is no output when this cmdlet is run. + + + SwitchParameter + + + False + + + Tenant + + Microsoft internal usage only. + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Grant-CsTeamsIPPhonePolicy + + Identity + + Indicates the identity of the user account the policy should be assigned to. + + Object + + Object + + + None + + + PolicyName + + The Identity of the Teams phone policy to apply to the user. + + XdsIdentity + + XdsIdentity + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + DomainController + + Microsoft Internal Use Only. + + Object + + Object + + + None + + + PassThru + + Including this parameter (which does not take a value) displays the user information when the cmdlet completes. Normally there is no output when this cmdlet is run. + + + SwitchParameter + + + False + + + Tenant + + Microsoft internal usage only. + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Grant-CsTeamsIPPhonePolicy + + PolicyName + + The Identity of the Teams phone policy to apply to the user. + + XdsIdentity + + XdsIdentity + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + DomainController + + Microsoft Internal Use Only. + + Object + + Object + + + None + + + PassThru + + Including this parameter (which does not take a value) displays the user information when the cmdlet completes. Normally there is no output when this cmdlet is run. + + + SwitchParameter + + + False + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + Tenant + + Microsoft internal usage only. + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + DomainController + + Microsoft Internal Use Only. + + Object + + Object + + + None + + + Global + + Use this parameter to make the specified policy in -PolicyName the new effective global policy. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Indicates the identity of the user account the policy should be assigned to. + + Object + + Object + + + None + + + PassThru + + Including this parameter (which does not take a value) displays the user information when the cmdlet completes. Normally there is no output when this cmdlet is run. + + SwitchParameter + + SwitchParameter + + + False + + + PolicyName + + The Identity of the Teams phone policy to apply to the user. + + XdsIdentity + + XdsIdentity + + + None + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + Tenant + + Microsoft internal usage only. + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + Microsoft.Rtc.Management.AD.UserIdParameter + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Grant-CsTeamsIPPhonePolicy -Identity Foyer1@contoso.com -PolicyName CommonAreaPhone + + This example shows assignment of the CommonAreaPhone policy to user account Foyer1@contoso.com. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/grant-csteamsipphonepolicy + + + + + + Grant-CsTeamsMediaLoggingPolicy + Grant + CsTeamsMediaLoggingPolicy + + Assigns Teams Media Logging policy to a user or entire tenant. + + + + Assigns Teams Media Logging policy to a user or entire tenant. TeamsMediaLoggingPolicy allows administrators to enable media logging for users. When assigned, it will enable media logging for the user overriding other settings. After unassigning the policy, media logging setting will revert to the previous value. + + + + Grant-CsTeamsMediaLoggingPolicy + + Identity + + Specifies the identity of the target user. Acceptable values include: + Example: jphillips@contoso.com + Example: sip:jphillips@contoso.com + Example: 98403f08-577c-46dd-851a-f0460a13b03d + Use the "Global" Identity if you wish to set the policy for the entire tenant. + + String + + String + + + None + + + PolicyName + + Specifies the name of the policy to be assigned. The PolicyName is the policy identity minus the policy scope ("tag:"), e.g. a policy that has an identity of "Tag:Enabled" has a PolicyName of "Enabled". + Note that Teams Media Logging policy has only one instance that has PolicyName "Enabled". + If you set PolicyName to a null value, the command will unassign any individual policy assigned to the user. + + String + + String + + + None + + + PassThru + + Enables passing a user object through the pipeline that represents the user being assigned the policy. By default, the Grant-CsTeamsMediaLoggingPolicy cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + Grant-CsTeamsMediaLoggingPolicy + + PolicyName + + Specifies the name of the policy to be assigned. The PolicyName is the policy identity minus the policy scope ("tag:"), e.g. a policy that has an identity of "Tag:Enabled" has a PolicyName of "Enabled". + Note that Teams Media Logging policy has only one instance that has PolicyName "Enabled". + If you set PolicyName to a null value, the command will unassign any individual policy assigned to the user. + + String + + String + + + None + + + PassThru + + Enables passing a user object through the pipeline that represents the user being assigned the policy. By default, the Grant-CsTeamsMediaLoggingPolicy cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + Global + + When this cmdlet is used with `-Global` identity, the policy applies to all users in the tenant, except any that have an explicit policy assignment. For example, if the user already has Media Logging policy set to "Enabled", and tenant admin assigns "$null" globally, the user will still have Media Logging policy "Enabled". + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + Grant-CsTeamsMediaLoggingPolicy + + PolicyName + + Specifies the name of the policy to be assigned. The PolicyName is the policy identity minus the policy scope ("tag:"), e.g. a policy that has an identity of "Tag:Enabled" has a PolicyName of "Enabled". + Note that Teams Media Logging policy has only one instance that has PolicyName "Enabled". + If you set PolicyName to a null value, the command will unassign any individual policy assigned to the user. + + String + + String + + + None + + + PassThru + + Enables passing a user object through the pipeline that represents the user being assigned the policy. By default, the Grant-CsTeamsMediaLoggingPolicy cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Identity + + Specifies the identity of the target user. Acceptable values include: + Example: jphillips@contoso.com + Example: sip:jphillips@contoso.com + Example: 98403f08-577c-46dd-851a-f0460a13b03d + Use the "Global" Identity if you wish to set the policy for the entire tenant. + + String + + String + + + None + + + PassThru + + Enables passing a user object through the pipeline that represents the user being assigned the policy. By default, the Grant-CsTeamsMediaLoggingPolicy cmdlet does not pass objects through the pipeline. + + SwitchParameter + + SwitchParameter + + + False + + + PolicyName + + Specifies the name of the policy to be assigned. The PolicyName is the policy identity minus the policy scope ("tag:"), e.g. a policy that has an identity of "Tag:Enabled" has a PolicyName of "Enabled". + Note that Teams Media Logging policy has only one instance that has PolicyName "Enabled". + If you set PolicyName to a null value, the command will unassign any individual policy assigned to the user. + + String + + String + + + None + + + Global + + When this cmdlet is used with `-Global` identity, the policy applies to all users in the tenant, except any that have an explicit policy assignment. For example, if the user already has Media Logging policy set to "Enabled", and tenant admin assigns "$null" globally, the user will still have Media Logging policy "Enabled". + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.String + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- EXAMPLE 1 -------------------------- + PS C:\> Grant-CsTeamsMediaLoggingPolicy -Identity 'KenMyer@contoso.com' -PolicyName Enabled + + Assign Teams Media Logging policy to a single user with the user principal name (UPN) "KenMyer@contoso.com". This will enable media logging for the user. + + + + -------------------------- EXAMPLE 2 -------------------------- + PS C:\> Grant-CsTeamsMediaLoggingPolicy -Identity 'KenMyer@contoso.com' -PolicyName $null + + Unassign Teams Media Logging policy from a single user with the user principal name (UPN) "KenMyer@contoso.com". This will revert media logging setting to the previous value. + + + + -------------------------- EXAMPLE 3 -------------------------- + PS C:\> Grant-CsTeamsMediaLoggingPolicy -Global -PolicyName Enabled + + Assign Teams Media Logging policy to the entire tenant. Note that this will enable logging for every single user in the tenant without a possibility to disable it for individual users. + + + + -------------------------- EXAMPLE 4 -------------------------- + PS C:\> Grant-CsTeamsMediaLoggingPolicy -Global -PolicyName $null + + Unassign Teams Media Logging policy from the entire tenant. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/grant-csteamsmedialoggingpolicy + + + Get-CsTeamsMediaLoggingPolicy + + + + + + + Grant-CsTeamsMeetingBroadcastPolicy + Grant + CsTeamsMeetingBroadcastPolicy + + Grant-CsTeamsMeetingBroadcastPolicy [[-Identity] <UserIdParameter>] [-PolicyName] <string> [-Tenant <guid>] [-DomainController <Fqdn>] [-PassThru] [-WhatIf] [-Confirm] [<CommonParameters>] + Grant-CsTeamsMeetingBroadcastPolicy [-PolicyName] <string> [-Tenant <guid>] [-DomainController <Fqdn>] [-PassThru] [-Global] [-WhatIf] [-Confirm] [<CommonParameters>] + + + + User-level policy for tenant admin to configure meeting broadcast behavior for the broadcast event organizer. Use this cmdlet to assign a policy to a user. + + + + Grant-CsTeamsMeetingBroadcastPolicy + + PolicyName + + The name of the custom policy that is being assigned to the user. To remove a specific assignment and fall back to the default tenant policy, you can assign to $Null. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + DomainController + + Not applicable to online service. + + Fqdn + + Fqdn + + + None + + + Global + + + + + SwitchParameter + + + False + + + PassThru + + + + + SwitchParameter + + + False + + + Tenant + + + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Grant-CsTeamsMeetingBroadcastPolicy + + Identity + + Indicates the Identity of the user account the policy should be assigned to. User Identities can be specified using one of four formats: 1) the user's SIP address; 2) the user principal name (UPN); 3) the user's domain name and logon name, in the form domain\logon (for example, litwareinc\kenmyer); and, 4) the user's Active Directory display name (for example, Ken Myer). User Identities can also be referenced by using the user's Active Directory distinguished name. + + UserIdParameter + + UserIdParameter + + + None + + + PolicyName + + The name of the custom policy that is being assigned to the user. To remove a specific assignment and fall back to the default tenant policy, you can assign to $Null. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + DomainController + + Not applicable to online service. + + Fqdn + + Fqdn + + + None + + + PassThru + + + + + SwitchParameter + + + False + + + Tenant + + + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Grant-CsTeamsMeetingBroadcastPolicy + + PolicyName + + The name of the custom policy that is being assigned to the user. To remove a specific assignment and fall back to the default tenant policy, you can assign to $Null. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + DomainController + + Not applicable to online service. + + Fqdn + + Fqdn + + + None + + + PassThru + + + + + SwitchParameter + + + False + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Tenant + + + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + DomainController + + Not applicable to online service. + + Fqdn + + Fqdn + + + None + + + Global + + + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Indicates the Identity of the user account the policy should be assigned to. User Identities can be specified using one of four formats: 1) the user's SIP address; 2) the user principal name (UPN); 3) the user's domain name and logon name, in the form domain\logon (for example, litwareinc\kenmyer); and, 4) the user's Active Directory display name (for example, Ken Myer). User Identities can also be referenced by using the user's Active Directory distinguished name. + + UserIdParameter + + UserIdParameter + + + None + + + PassThru + + + + SwitchParameter + + SwitchParameter + + + False + + + PolicyName + + The name of the custom policy that is being assigned to the user. To remove a specific assignment and fall back to the default tenant policy, you can assign to $Null. + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Tenant + + + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + Microsoft.Rtc.Management.AD.UserIdParameter + + + + + + + + + + System.Object + + + + + + + + + + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/grant-csteamsmeetingbroadcastpolicy + + + + + + Grant-CsTeamsMeetingPolicy + Grant + CsTeamsMeetingPolicy + + Assigns a teams meeting policy at the per-user scope. The CsTeamsMeetingPolicy cmdlets enable administrators to control the type of meetings that users can create or the features that they can access while in a meeting. It also helps determine how meetings deal with anonymous or external users + + + + Assigns a teams meeting policy at the per-user scope. The CsTeamsMeetingPolicy cmdlets enable administrators to control the type of meetings that users can create or the features that they can access while in a meeting. It also helps determine how meetings deal with anonymous or external users + + + + Grant-CsTeamsMeetingPolicy + + Identity + + Indicates the Identity of the user account the policy should be assigned to. User Identities can be specified using one of four formats: 1) the user's SIP address; 2) the user principal name (UPN); 3) the user's domain name and logon name, in the form domain\logon (for example, litwareinc\kenmyer); and, 4) the user's Active Directory display name (for example, Ken Myer). User Identities can also be referenced by using the user's Active Directory distinguished name. + + UserIdParameter + + UserIdParameter + + + None + + + PolicyName + + The name of the custom policy that is being assigned to the user. To remove a specific assignment and fall back to the default tenant policy, you can assign to $Null. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + DomainController + + + + Fqdn + + Fqdn + + + None + + + PassThru + + + + + SwitchParameter + + + False + + + Global + + When you use this cmdlet without specifying a user identity, the policy applies to all users in your tenant. To skip a warning when you do this operation, specify "-Global". + + + SwitchParameter + + + False + + + Tenant + + + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Grant-CsTeamsMeetingPolicy + + Identity + + Indicates the Identity of the user account the policy should be assigned to. User Identities can be specified using one of four formats: 1) the user's SIP address; 2) the user principal name (UPN); 3) the user's domain name and logon name, in the form domain\logon (for example, litwareinc\kenmyer); and, 4) the user's Active Directory display name (for example, Ken Myer). User Identities can also be referenced by using the user's Active Directory distinguished name. + + UserIdParameter + + UserIdParameter + + + None + + + PolicyName + + The name of the custom policy that is being assigned to the user. To remove a specific assignment and fall back to the default tenant policy, you can assign to $Null. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + DomainController + + + + Fqdn + + Fqdn + + + None + + + PassThru + + + + + SwitchParameter + + + False + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + Tenant + + + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + DomainController + + + + Fqdn + + Fqdn + + + None + + + Identity + + Indicates the Identity of the user account the policy should be assigned to. User Identities can be specified using one of four formats: 1) the user's SIP address; 2) the user principal name (UPN); 3) the user's domain name and logon name, in the form domain\logon (for example, litwareinc\kenmyer); and, 4) the user's Active Directory display name (for example, Ken Myer). User Identities can also be referenced by using the user's Active Directory distinguished name. + + UserIdParameter + + UserIdParameter + + + None + + + PassThru + + + + SwitchParameter + + SwitchParameter + + + False + + + PolicyName + + The name of the custom policy that is being assigned to the user. To remove a specific assignment and fall back to the default tenant policy, you can assign to $Null. + + String + + String + + + None + + + Global + + When you use this cmdlet without specifying a user identity, the policy applies to all users in your tenant. To skip a warning when you do this operation, specify "-Global". + + SwitchParameter + + SwitchParameter + + + False + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + Tenant + + + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + Microsoft.Rtc.Management.AD.UserIdParameter + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Grant-CsTeamsMeetingPolicy -identity "Ken Myer" -PolicyName StudentMeetingPolicy + + In this example, a user with identity "Ken Myer" is being assigned the StudentMeetingPolicy + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/grant-csteamsmeetingpolicy + + + + + + Grant-CsTeamsMessagingPolicy + Grant + CsTeamsMessagingPolicy + + Assigns a teams messaging policy at the per-user scope. Teams messaging policies determine the features and capabilities that can be used in messaging within the teams client. + + + + Granular control over which messaging features your users can or cannot use is an important feature for many organizations. This cmdlet lets you assign a teams messaging policy at the per-user scope. Teams messaging policies determine the features and capabilities that can be used in messaging within the teams client. + + + + Grant-CsTeamsMessagingPolicy + + Identity + + Indicates the Identity of the user account the policy should be assigned to. User Identities can be specified using one of four formats: 1) the user's SIP address; 2) the user principal name (UPN); 3) the user's domain name and logon name, in the form domain\logon (for example, litwareinc\kenmyer); and, 4) the user's Active Directory display name (for example, Ken Myer). User Identities can also be referenced by using the user's Active Directory distinguished name. + + UserIdParameter + + UserIdParameter + + + None + + + PolicyName + + The name of the custom policy that is being assigned to the user. To remove a specific assignment and fall back to the default tenant policy, you can assign to $Null. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + DomainController + + + + Fqdn + + Fqdn + + + None + + + PassThru + + + + + SwitchParameter + + + False + + + Tenant + + + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Grant-CsTeamsMessagingPolicy + + PolicyName + + The name of the custom policy that is being assigned to the user. To remove a specific assignment and fall back to the default tenant policy, you can assign to $Null. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + DomainController + + + + Fqdn + + Fqdn + + + None + + + Global + + When you use this cmdlet without specifying a user identity, the policy applies to all users in your tenant. To skip a warning when you do this operation, specify "-Global". + + + SwitchParameter + + + False + + + PassThru + + + + + SwitchParameter + + + False + + + Tenant + + + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Grant-CsTeamsMessagingPolicy + + PolicyName + + The name of the custom policy that is being assigned to the user. To remove a specific assignment and fall back to the default tenant policy, you can assign to $Null. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + DomainController + + + + Fqdn + + Fqdn + + + None + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + PassThru + + + + + SwitchParameter + + + False + + + Tenant + + + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + DomainController + + + + Fqdn + + Fqdn + + + None + + + Identity + + Indicates the Identity of the user account the policy should be assigned to. User Identities can be specified using one of four formats: 1) the user's SIP address; 2) the user principal name (UPN); 3) the user's domain name and logon name, in the form domain\logon (for example, litwareinc\kenmyer); and, 4) the user's Active Directory display name (for example, Ken Myer). User Identities can also be referenced by using the user's Active Directory distinguished name. + + UserIdParameter + + UserIdParameter + + + None + + + Global + + When you use this cmdlet without specifying a user identity, the policy applies to all users in your tenant. To skip a warning when you do this operation, specify "-Global". + + SwitchParameter + + SwitchParameter + + + False + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + PassThru + + + + SwitchParameter + + SwitchParameter + + + False + + + PolicyName + + The name of the custom policy that is being assigned to the user. To remove a specific assignment and fall back to the default tenant policy, you can assign to $Null. + + String + + String + + + None + + + Tenant + + + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + Microsoft.Rtc.Management.AD.UserIdParameter + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Grant-CsTeamsMessagingPolicy -identity "Ken Myer" -PolicyName StudentMessagingPolicy + + In this example, a user with identity "Ken Myer" is being assigned the StudentMessagingPolicy + + + + -------------------------- Example 2 -------------------------- + PS C:\> Get-CsOnlineUser -Filter {Department -eq 'Executive Management'} | Grant-CsTeamsMessagingPolicy -PolicyName "ExecutivesPolicy" + + In this example, the ExecutivesPolicy is being assigned to a whole department by piping the result of Get-CsOnlineUser cmdlet + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/grant-csteamsmessagingpolicy + + + + + + Grant-CsTeamsMobilityPolicy + Grant + CsTeamsMobilityPolicy + + The TeamsMobilityPolicy allows Admins to control Teams mobile usage for users. + + + + Assigns a teams mobility policy at the per-user scope. + The Grant-CsTeamsMobilityPolicy cmdlet lets an Admin assign a custom teams mobility policy to a user. + + + + Grant-CsTeamsMobilityPolicy + + Identity + + The User Id of the user to whom the policy is being assigned. + + UserIdParameter + + UserIdParameter + + + None + + + PolicyName + + The name of the custom policy that is being assigned to the user. To remove a specific assignment and fall back to the Global policy, you can assign $Null. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user account being assigned the Teams call hold policy. + By default, the cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Grant-CsTeamsMobilityPolicy + + PolicyName + + The name of the custom policy that is being assigned to the user. To remove a specific assignment and fall back to the Global policy, you can assign $Null. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Global + + When you use this cmdlet without specifying a user identity, the policy applies to all users in your tenant. To skip a warning when you do this operation, specify "-Global". + + + SwitchParameter + + + False + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user account being assigned the Teams call hold policy. + By default, the cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Grant-CsTeamsMobilityPolicy + + PolicyName + + The name of the custom policy that is being assigned to the user. To remove a specific assignment and fall back to the Global policy, you can assign $Null. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user account being assigned the Teams call hold policy. + By default, the cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + The User Id of the user to whom the policy is being assigned. + + UserIdParameter + + UserIdParameter + + + None + + + PolicyName + + The name of the custom policy that is being assigned to the user. To remove a specific assignment and fall back to the Global policy, you can assign $Null. + + String + + String + + + None + + + Global + + When you use this cmdlet without specifying a user identity, the policy applies to all users in your tenant. To skip a warning when you do this operation, specify "-Global". + + SwitchParameter + + SwitchParameter + + + False + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user account being assigned the Teams call hold policy. + By default, the cmdlet does not pass objects through the pipeline. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + Microsoft.Rtc.Management.AD.UserIdParameter + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Grant-CsTeamsMobilityPolicy -PolicyName SalesPolicy -Identity "Ken Myer" + + Assigns a custom policy "Sales Policy" to the user "Ken Myer" + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/grant-csteamsmobilitypolicy + + + + + + Grant-CsTeamsUpdateManagementPolicy + Grant + CsTeamsUpdateManagementPolicy + + Use this cmdlet to grant a specific Teams Update Management policy to a user. + + + + Grants a specific Teams Update Management policy to a user or sets a specific Teams Update Management policy as the new effective global policy. + + + + Grant-CsTeamsUpdateManagementPolicy + + PolicyName + + The identity of the policy to be granted. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Global + + Use this parameter to make the specified policy in -PolicyName the new effective global policy. + + + SwitchParameter + + + False + + + PassThru + + Including this parameter (which does not take a value) displays the user information when the cmdlet completes. Normally there is no output when this cmdlet is run. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Grant-CsTeamsUpdateManagementPolicy + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + PolicyName + + The identity of the policy to be granted. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + PassThru + + Including this parameter (which does not take a value) displays the user information when the cmdlet completes. Normally there is no output when this cmdlet is run. + + + SwitchParameter + + + False + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Grant-CsTeamsUpdateManagementPolicy + + Identity + + Indicates the identity of the user account the policy should be assigned to. + + String + + String + + + None + + + PolicyName + + The identity of the policy to be granted. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + PassThru + + Including this parameter (which does not take a value) displays the user information when the cmdlet completes. Normally there is no output when this cmdlet is run. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Global + + Use this parameter to make the specified policy in -PolicyName the new effective global policy. + + SwitchParameter + + SwitchParameter + + + False + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Identity + + Indicates the identity of the user account the policy should be assigned to. + + String + + String + + + None + + + PassThru + + Including this parameter (which does not take a value) displays the user information when the cmdlet completes. Normally there is no output when this cmdlet is run. + + SwitchParameter + + SwitchParameter + + + False + + + PolicyName + + The identity of the policy to be granted. + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.String + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Grant-CsTeamsUpdateManagementPolicy -PolicyName "Campaign Policy" -Identity kenmyer@litwareinc.com + + In this example, the policy "Campaign Policy" is granted to the user kenmyer@litwareinc.com. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/grant-csteamsupdatemanagementpolicy + + + + + + Grant-CsTeamsUpgradePolicy + Grant + CsTeamsUpgradePolicy + + TeamsUpgradePolicy allows administrators to manage the transition from Skype for Business to Teams. + + + + TeamsUpgradePolicy allows administrators to manage the transition from Skype for Business to Teams. As an organization with Skype for Business starts to adopt Teams, administrators can manage the user experience in their organization using the concept of coexistence "mode". Mode defines in which client incoming chats and calls land as well as in what service (Teams or Skype for Business) new meetings are scheduled in. Mode also governs what functionality is available in the Teams client. Finally, prior to upgrading to TeamsOnly mode administrators can use TeamsUpgradePolicy to trigger notifications in the Skype for Business client to inform users of the pending upgrade. + This cmdlet enables admins to apply TeamsUpgradePolicy to either individual users or to set the default for the entire organization. [NOTE] Earlier versions of this cmdlet used to support -MigrateMeetingsToTeams option. This option is removed in later versions of the module. Tenants must run Start-CsExMeetingMigration. See Start-CsExMeetingMigrationService (/powershell/module/skype/start-csexmeetingmigration). + Microsoft Teams provides all relevant instances of TeamsUpgradePolicy via built-in, read-only policies. The built-in instances are as follows: + |Identity|Mode|NotifySfbUsers|Comments| |---|---|---|---| |Islands|Islands|False|Default configuration. Allows a single user to evaluate both clients side by side. Chats and calls can land in either client, so users must always run both clients.| |IslandsWithNotify|Islands|True|Same as Islands and it adds a banner in the Skype for Business client informing the user that Teams will soon replace Skype for Business.| |SfBOnly|SfBOnly|False|Calling, chat functionality and meeting scheduling in the Teams app are disabled.| |SfBOnlyWithNotify|SfBOnly|True|Same as SfBOnly and it adds a banner in the Skype for Business client informing the user that Teams will soon replace Skype for Business.| |SfBWithTeamsCollab|SfBWithTeamsCollab|False|Calling, chat functionality and meeting scheduling in the Teams app are disabled.| |SfBWithTeamsCollabWithNotify|SfBWithTeamsCollab|True|Same as SfBWithTeamsCollab and it adds a banner in the Skype for Business client informing the user that Teams will soon replace Skype for Business.| |SfBWithTeamsCollabAndMeetings|SfBWithTeamsCollabAndMeetings|False|Calling and chat functionality in the Teams app are disabled.| |SfBWithTeamsCollabAndMeetingsWithNotify|SfBWithTeamsCollabAndMeetings|True|Same as SfBWithTeamsCollabAndMeetings and it adds a banner in the Skype for Business client informing the user that Teams will soon replace Skype for Business.| |UpgradeToTeams|TeamsOnly|False|Use this mode to upgrade users to Teams and to prevent chat, calling, and meeting scheduling in Skype for Business.| |Global|Islands|False|| + + >[!IMPORTANT] >TeamsUpgradePolicy can be assigned to any Teams user, whether that user have an on-premises account in Skype for Business Server or not. However, TeamsOnly mode can only be assigned to a user who is already homed in Skype for Business Online . This is because interop with Skype for Business users and federation as well as Microsoft 365 Phone System functionality are only possible if the user is homed in Skype for Business Online. In addition, you cannot assign TeamsOnly mode as the tenant-wide default if you have any Skype for Business on-premises deployment (which is detected by presence of a lyncdiscover DNS record that points to a location other than Office 365. To make these users TeamsOnly you must first move these users individually to the cloud using `Move-CsUser`. Once all users have been moved to the cloud, you can disable hybrid to complete migration to the cloud (https://learn.microsoft.com/skypeforbusiness/hybrid/cloud-consolidation-disabling-hybrid)and then apply TeamsOnly mode at the tenant level to ensure future users are TeamsOnly by default. + + > [!NOTE] > - TeamsUpgradePolicy is available in both Office 365 and in on-premises versions of Skype for Business Server, but there are differences: > > - In Office 365, admins can specify both coexistence mode and whether to trigger notifications of pending upgrade. +> > - In on-premises with Skype for Business Server, the only available option is to trigger notifications. Skype for Business Server 2015 with CU8 or Skype for Business Server 2019 are required. > > - TeamsUpgradePolicy in Office 365 can be granted to users homed on-premises in hybrid deployments of Skype for Business as follows: > > - Coexistence mode is honored by users homed on-premises, however on-premises users cannot be granted the UpgradeToTeams instance (mode=TeamsOnly) of TeamsUpgradePolicy. To be upgraded to TeamsOnly mode, users must be either homed in Skype for Business Online or have no Skype account anywhere. +> > - The NotifySfBUsers setting of Office 365 TeamsUpgradePolicy is not honored by users homed on-premises. Instead, the on-premises version of TeamsUpgradePolicy must be used. > > - In Office 365, all relevant instances of TeamsUpgradePolicy are built into the system, so there is no corresponding New cmdlet available. In contrast, Skype for Business Server does not contain built-in instances, so the New cmdlet is available on-premises. Only NotifySfBUsers property is available in on-premises. > > - When granting a user a policy with mode=TeamsOnly or mode=SfBWithTeamsCollabAndMeetings, by default, meetings organized by that user will be migrated to Teams. For details, see Using the Meeting Migration Service (MMS) (https://learn.microsoft.com/skypeforbusiness/audio-conferencing-in-office-365/setting-up-the-meeting-migration-service-mms). + + When users are in any of the Skype for Business modes (SfBOnly, SfBWithTeamsCollab, SfBWithTeamsCollabAndMeetings), calling and chat functionality in the Teams app are disabled (but chat in the context of a Teams meeting is still allowed). Similarly, when users are in the SfBOnly or SfBWithTeamsCollab modes, meeting scheduling is disabled. For more details, see Migration and interoperability guidance for organizations using Teams together with Skype for Business (https://learn.microsoft.com/microsoftteams/migration-interop-guidance-for-teams-with-skype). + The `Grant-CsTeamsUpgradePolicy` cmdlet checks the configuration of the corresponding settings in TeamsMessagingPolicy, TeamsCallingPolicy, and TeamsMeetingPolicy to determine if those settings would be superceded by TeamsUpgradePolicy and if so, an informational message is provided in PowerShell. It is not necessary to set these other policy settings. This is for informational purposes only. Below is an example of what the PowerShell warning looks like: + `Grant-CsTeamsUpgradePolicy -Identity user1@contoso.com -PolicyName SfBWithTeamsCollab` + `WARNING: The user 'user1@contoso.com' currently has enabled values for: AllowUserChat, AllowPrivateCalling, AllowPrivateMeetingScheduling, AllowChannelMeetingScheduling, however these values will be ignored. This is because you are granting this user TeamsUpgradePolicy with mode=SfBWithTeamsCollab, which causes the Teams client to behave as if they are disabled.` + > [!NOTE] > These warning messages are not affected by the -WarningAction parameter. + + + + Grant-CsTeamsUpgradePolicy + + Identity + + The user you want to grant policy to. This can be specified as SIP address, UserPrincipalName, or ObjectId. + + UserIdParameter + + UserIdParameter + + + None + + + PolicyName + + The name of the policy instance. + + Object + + Object + + + None + + + Global + + Use this switch if you want to grant the specified policy to be the default policy for all users in the tenant. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Tenant + + Do not use. + + Object + + Object + + + None + + + MigrateMeetingsToTeams + + Not supported anymore, see the Description section. + + Boolean + + Boolean + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user account being assigned the Teams call hold policy. + By default, the cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Grant-CsTeamsUpgradePolicy + + PolicyName + + The name of the policy instance. + + Object + + Object + + + None + + + Global + + Use this switch if you want to grant the specified policy to be the default policy for all users in the tenant. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Tenant + + Do not use. + + Object + + Object + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + MigrateMeetingsToTeams + + Not supported anymore, see the Description section. + + Boolean + + Boolean + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user account being assigned the Teams call hold policy. + By default, the cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Grant-CsTeamsUpgradePolicy + + PolicyName + + The name of the policy instance. + + Object + + Object + + + None + + + Global + + Use this switch if you want to grant the specified policy to be the default policy for all users in the tenant. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Tenant + + Do not use. + + Object + + Object + + + None + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + MigrateMeetingsToTeams + + Not supported anymore, see the Description section. + + Boolean + + Boolean + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user account being assigned the Teams call hold policy. + By default, the cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Identity + + The user you want to grant policy to. This can be specified as SIP address, UserPrincipalName, or ObjectId. + + UserIdParameter + + UserIdParameter + + + None + + + PolicyName + + The name of the policy instance. + + Object + + Object + + + None + + + Global + + Use this switch if you want to grant the specified policy to be the default policy for all users in the tenant. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + Do not use. + + Object + + Object + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + MigrateMeetingsToTeams + + Not supported anymore, see the Description section. + + Boolean + + Boolean + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user account being assigned the Teams call hold policy. + By default, the cmdlet does not pass objects through the pipeline. + + SwitchParameter + + SwitchParameter + + + False + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + Microsoft.Rtc.Management.AD.UserIdParameter + + + + + + + + + + System.Object + + + + + + + + + + + + -------- Example 1: Grant Policy to an individual user -------- + PS C:\> Grant-CsTeamsUpgradePolicy -PolicyName UpgradeToTeams -Identity mike@contoso.com + + The above cmdlet assigns the "UpgradeToTeams" policy to user Mike@contoso.com. This effectively upgrades the user to Teams only mode. This command will only succeed if the user does not have an on-premises Skype for Business account. + + + + ------- Example 2: Remove Policy for an individual user ------- + PS C:\> Grant-CsTeamsUpgradePolicy -PolicyName $null -Identity mike@contoso.com + + The above cmdlet removes any policy changes made to user Mike@contoso.com and effectively Inherits the global tenant setting for teams Upgrade. + + + + --------- Example 3: Grant Policy to the entire tenant --------- + PS C:\> Grant-CsTeamsUpgradePolicy -PolicyName SfBOnly -Global + + To grant a policy to all users in the org (except any that have an explicit policy assigned), omit the identity parameter. If you do not specify the -Global parameter, you will be prompted to confirm the operation. + + + + Example 4 Get a report on existing TeamsUpgradePolicy users (Screen Report) + Get-CSOnlineUser | select UserPrincipalName, teamsupgrade* + + + + + + Example 5 Get a report on existing TeamsUpgradePolicy users (CSV Report) + $objUsers = Get-CSOnlineUser | select UserPrincipalName, teamsupgrade* +$objusers | ConvertTo-Csv -NoTypeInformation | Out-File "$env:USERPROFILE\desktop\TeamsUpgrade.csv" + + This will create a CSV file on the Desktop of the current user with the name "TeamsUpgrade.csv" + + + + Example 6 Get a report on existing TeamsUpgradePolicy users (HTML Report) + $objUsers = Get-CSOnlineUser | select UserPrincipalName, teamsupgrade* +$objusers | ConvertTo-Html | Out-File "$env:USERPROFILE\desktop\TeamsUpgrade.html" + + After running these lines will create an HTML file on the Desktop of the current user with the name "TeamUpgrade.html" + + + + Example 7 Get a report on existing TeamsUpgradePolicy users (CSV Report - Oneliner version) + Get-CSOnlineUser | select UserPrincipalName, teamsupgrade* | ConvertTo-Csv -NoTypeInformation | Out-File "$env:USERPROFILE\desktop\TeamsUpgrade.csv" + + This will create a CSV file on the Desktop of the current user with the name "TeamsUpgrade.csv" + + + + Example 8 Get a report on existing TeamsUpgradePolicy users (HTML Report - Oneliner Version) + Get-CSOnlineUser | select UserPrincipalName, teamsupgrade* | ConvertTo-Html | Out-File "$env:USERPROFILE\desktop\TeamsUpgrade.html" + + After running these lines will create an HTML file on the Desktop of the current user with the name "TeamUpgrade.html" + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/skype/grant-csteamsupgradepolicy + + + Migration and interoperability guidance for organizations using Teams together with Skype for Business + https://learn.microsoft.com/MicrosoftTeams/migration-interop-guidance-for-teams-with-skype + + + Using the Meeting Migration Service (MMS) + https://learn.microsoft.com/skypeforbusiness/audio-conferencing-in-office-365/setting-up-the-meeting-migration-service-mms + + + Coexistence with Skype for Business + https://learn.microsoft.com/microsoftteams/coexistence-chat-calls-presence + + + Get-CsTeamsUpgradeConfiguration + + + + Set-CsTeamsUpgradeConfiguration + + + + Get-CsTeamsUpgradePolicy + + + + + + + Grant-CsTeamsVideoInteropServicePolicy + Grant + CsTeamsVideoInteropServicePolicy + + Cloud Video Interop for Teams enables 3rd party VTC devices to be able to join Teams meetings. You can use the TeamsVideoInteropServicePolicy cmdlets to enable Cloud Video Interop for particular users or for your entire organization. + + + + Cloud Video Interop for Teams enables 3rd party VTC devices to be able to join Teams meetings. You can use the TeamsVideoInteropServicePolicy cmdlets to enable Cloud Video Interop for particular users or for your entire organization. Microsoft provides pre-constructed policies for each of our supported partners that allow you to designate which of the partners to use for cloud video interop. +The Grant-CsTeamsVideoInteropServicePolicy cmdlet allows you to assign a pre-constructed policy across your whole organization or only to specific users. + User needs to be assigned one policy from admin to create a CVI meeting. There could be multiple provides in a tenant, but user can only be assigned only one policy(provide). FAQ : + Q: After running `Grant-CsTeamsVideoInteropServicePolicy -PolicyName <Identity of the Policy>` to assign a policy to the whole tenant, the result of `Get-CsOnlineUser -Identity {User Identity} | Format-List TeamsVideoInteropServicePolicy` that checks if the User Policy is empty. + A: Global/Tenant level Policy Assignment can be checked by running `Get-CsTeamsVideoInteropServicePolicy Global`. + Q: I assigned CVI policy to a user, but I can't create a VTC meeting with that policy or I made changes to policy assignment, but it didn't reflect on new meetings I created. + A: The policy is cached for 6 hours. Changes to the policy are updated after the cache expires. Check for your changes after 6 hours. Frequently used commands that can help identify the policy assignment : + - Command to get full list of user along with their CVI policy: `Get-CsOnlineUser | Format-List UserPrincipalName,TeamsVideoInteropServicePolicy` + - Command to get the policy assigned to the whole tenant: `Get-CsTeamsVideoInteropServicePolicy Global` + + + + Grant-CsTeamsVideoInteropServicePolicy + + PolicyName + + Specify the pre-constructed policy that you would like to assign to your tenant or a particular user. You can get the policies available for your organization using the cmdlet Get-CsTeamsVideoInteropServicePolicy. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + DomainController + + Internal Microsoft use only. + + Fqdn + + Fqdn + + + None + + + Global + + Use this flag to override the warning when assigning the global policy for your tenant. + + + SwitchParameter + + + False + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user being assigned the policy. By default, the Grant-CsTeamsVideoInteropServicePolicy cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Grant-CsTeamsVideoInteropServicePolicy + + Identity + + {{Fill Identity Description}} + + UserIdParameter + + UserIdParameter + + + None + + + PolicyName + + Specify the pre-constructed policy that you would like to assign to your tenant or a particular user. You can get the policies available for your organization using the cmdlet Get-CsTeamsVideoInteropServicePolicy. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + DomainController + + Internal Microsoft use only. + + Fqdn + + Fqdn + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user being assigned the policy. By default, the Grant-CsTeamsVideoInteropServicePolicy cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Grant-CsTeamsVideoInteropServicePolicy + + PolicyName + + Specify the pre-constructed policy that you would like to assign to your tenant or a particular user. You can get the policies available for your organization using the cmdlet Get-CsTeamsVideoInteropServicePolicy. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + DomainController + + Internal Microsoft use only. + + Fqdn + + Fqdn + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user being assigned the policy. By default, the Grant-CsTeamsVideoInteropServicePolicy cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + DomainController + + Internal Microsoft use only. + + Fqdn + + Fqdn + + + None + + + Global + + Use this flag to override the warning when assigning the global policy for your tenant. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + {{Fill Identity Description}} + + UserIdParameter + + UserIdParameter + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user being assigned the policy. By default, the Grant-CsTeamsVideoInteropServicePolicy cmdlet does not pass objects through the pipeline. + + SwitchParameter + + SwitchParameter + + + False + + + PolicyName + + Specify the pre-constructed policy that you would like to assign to your tenant or a particular user. You can get the policies available for your organization using the cmdlet Get-CsTeamsVideoInteropServicePolicy. + + String + + String + + + None + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + + + + Microsoft.Rtc.Management.AD.UserIdParameter + + + + + + + + + + System.Object + + + + + + + + + + + + + + ------ Example 1: The whole tenant has the same provider ------ + Grant-CsTeamsVideoInteropServicePolicy -PolicyName <Identity of the Policy | $null> -Global + + Specify the provider for the whole tenant or use the value $null to remove the tenant-level provider and let the whole tenant fall back to the Global policy. + + + + Example 2: The tenant has two (or three) interop service providers + Grant-CsTeamsVideoInteropServicePolicy -PolicyName <Identity of the Policy | $null> -Identity <UserId> + + Specify each user with the Identity parameter, and use Provider-1 or Provider-2 for the value of the PolicyName parameter. Use the value $null to remove the provider and let the user's provider fallback to Global policy. + + + + Example 3: The tenant has a default interop service provider, but specific users (say IT folks) want to pilot another interop provider. + Grant-CsTeamsVideoInteropServicePolicy -PolicyName <Identity of the Policy | ServiceProviderDisabled> [-Identity <UserId>] + + - To assign Provider-1 as the default interop service provider, don't use the Identity parameter and use the value Provider-1 for the PolicyName parameter. + - For specific users to try Provider-2, specify each user with the Identity parameter, and use the value Provider-2 for the PolicyName parameter. + - For specific users who need to disable CVI, specify each user with the Identity parameter and use the value ServiceProviderDisabled for the PolicyName parameter. + + + + Example 4: Cloud Video Interop has been disabled for the entire tenant, except for those users that have an explicit policy assigned to them. + Grant-CsTeamsVideoInteropServicePolicy -PolicyName ServiceProviderDisabled + + + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/grant-csteamsvideointeropservicepolicy + + + + + + Grant-CsTeamsVoiceApplicationsPolicy + Grant + CsTeamsVoiceApplicationsPolicy + + Assigns a per-user Teams voice applications policy to one or more users. TeamsVoiceApplications policy governs what permissions the supervisors/users have over auto attendants and call queues. + + + + TeamsVoiceApplicationsPolicy is used for Supervisor Delegated Administration which allows tenant admins to permit certain users to make changes to auto attendant and call queue configurations. + + + + Grant-CsTeamsVoiceApplicationsPolicy + + Identity + + Indicates the Identity of the user account to be assigned the per-user Teams voice applications policy. User Identities can be specified using one of the following formats: the user's SIP address, the user's user principal name (UPN), or the user's Active Directory display name (for example, Ken Myer). + + String + + String + + + None + + + PolicyName + + "Name" of the policy to be assigned. The PolicyName is simply the policy Identity minus the policy scope (the "tag:" prefix). For example, a policy with the Identity tag:Redmond has a PolicyName equal to Redmond; likewise, a policy with the Identity tag:SDAAllowAllTeamsVoiceApplicationsPolicy has a PolicyName equal to SDAAllowAllTeamsVoiceApplicationsPolicy. + To unassign a per-user policy previously assigned to a user, set the PolicyName to a null value ($Null). + + String + + String + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user account being assigned the Teams voice applications policy. By default, the Grant-CsTeamsVoiceApplicationsPolicy cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + Grant-CsTeamsVoiceApplicationsPolicy + + PolicyName + + "Name" of the policy to be assigned. The PolicyName is simply the policy Identity minus the policy scope (the "tag:" prefix). For example, a policy with the Identity tag:Redmond has a PolicyName equal to Redmond; likewise, a policy with the Identity tag:SDAAllowAllTeamsVoiceApplicationsPolicy has a PolicyName equal to SDAAllowAllTeamsVoiceApplicationsPolicy. + To unassign a per-user policy previously assigned to a user, set the PolicyName to a null value ($Null). + + String + + String + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user account being assigned the Teams voice applications policy. By default, the Grant-CsTeamsVoiceApplicationsPolicy cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + Global + + When you use this cmdlet without specifying a user identity, the policy applies to all users in your tenant, except any that have an explicit policy assignment. To skip a warning when you do this operation, specify this parameter. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + Grant-CsTeamsVoiceApplicationsPolicy + + PolicyName + + "Name" of the policy to be assigned. The PolicyName is simply the policy Identity minus the policy scope (the "tag:" prefix). For example, a policy with the Identity tag:Redmond has a PolicyName equal to Redmond; likewise, a policy with the Identity tag:SDAAllowAllTeamsVoiceApplicationsPolicy has a PolicyName equal to SDAAllowAllTeamsVoiceApplicationsPolicy. + To unassign a per-user policy previously assigned to a user, set the PolicyName to a null value ($Null). + + String + + String + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user account being assigned the Teams voice applications policy. By default, the Grant-CsTeamsVoiceApplicationsPolicy cmdlet does not pass objects through the pipeline. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + + + + Identity + + Indicates the Identity of the user account to be assigned the per-user Teams voice applications policy. User Identities can be specified using one of the following formats: the user's SIP address, the user's user principal name (UPN), or the user's Active Directory display name (for example, Ken Myer). + + String + + String + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user account being assigned the Teams voice applications policy. By default, the Grant-CsTeamsVoiceApplicationsPolicy cmdlet does not pass objects through the pipeline. + + SwitchParameter + + SwitchParameter + + + False + + + PolicyName + + "Name" of the policy to be assigned. The PolicyName is simply the policy Identity minus the policy scope (the "tag:" prefix). For example, a policy with the Identity tag:Redmond has a PolicyName equal to Redmond; likewise, a policy with the Identity tag:SDAAllowAllTeamsVoiceApplicationsPolicy has a PolicyName equal to SDAAllowAllTeamsVoiceApplicationsPolicy. + To unassign a per-user policy previously assigned to a user, set the PolicyName to a null value ($Null). + + String + + String + + + None + + + Global + + When you use this cmdlet without specifying a user identity, the policy applies to all users in your tenant, except any that have an explicit policy assignment. To skip a warning when you do this operation, specify this parameter. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + + + + System.String + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- EXAMPLE 1 -------------------------- + Grant-CsTeamsVoiceApplicationsPolicy -Identity "Ken Myer" -PolicyName "SDA-Allow-All" + + The command shown in Example 1 assigns the per-user Teams voice applications policy SDA-Allow-All to the user with the display name "Ken Myer". + + + + -------------------------- EXAMPLE 2 -------------------------- + Grant-CsTeamsVoiceApplicationsPolicy -PolicyName "SDA-Allow-All" -Global + + Example 2 assigns the per-user online voice routing policy "SDA-Allow-All to all the users in the tenant, except any that have an explicit policy assignment. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/grant-csteamsvoiceapplicationspolicy + + + Get-CsTeamsVoiceApplicationsPolicy + + + + Set-CsTeamsVoiceApplicationsPolicy + + + + Remove-CsTeamsVoiceApplicationsPolicy + + + + New-CsTeamsVoiceApplicationsPolicy + + + + + + + Grant-CsTenantDialPlan + Grant + CsTenantDialPlan + + Use the Grant-CsTenantDialPlan cmdlet to assign an existing tenant dial plan to a user, to a group of users, or to set the Global policy instance. + + + + The Grant-CsTenantDialPlan cmdlet assigns an existing tenant dial plan to a user, a group of users, or sets the Global policy instance. Tenant dial plans provide information that is required for Enterprise Voice users to make telephone calls. Users who do not have a valid tenant dial plan cannot make calls by using Enterprise Voice. A tenant dial plan determines such things as how normalization rules are applied. + You can check whether a user has been granted a per-user tenant dial plan by calling a command in this format: `Get-CsUserPolicyAssignment -Identity "<user name>" -PolicyType TenantDialPlan.` + + + + Grant-CsTenantDialPlan + + PolicyName + + The PolicyName parameter is the name of the tenant dial plan to be assigned. + + String + + String + + + None + + + Global + + Sets the parameters of the Global policy instance to the values in the specified policy instance. + + + SwitchParameter + + + False + + + PassThru + + + + + SwitchParameter + + + False + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + + SwitchParameter + + + False + + + Confirm + + The Confirm switch causes the command to pause processing, and requires confirmation to proceed. + + + SwitchParameter + + + False + + + + Grant-CsTenantDialPlan + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + PolicyName + + The PolicyName parameter is the name of the tenant dial plan to be assigned. + + String + + String + + + None + + + PassThru + + + + + SwitchParameter + + + False + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + + SwitchParameter + + + False + + + Confirm + + The Confirm switch causes the command to pause processing, and requires confirmation to proceed. + + + SwitchParameter + + + False + + + + Grant-CsTenantDialPlan + + Identity + + The Identity parameter identifies the user to whom the policy should be assigned. + + String + + String + + + None + + + PolicyName + + The PolicyName parameter is the name of the tenant dial plan to be assigned. + + String + + String + + + None + + + PassThru + + + + + SwitchParameter + + + False + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + + SwitchParameter + + + False + + + Confirm + + The Confirm switch causes the command to pause processing, and requires confirmation to proceed. + + + SwitchParameter + + + False + + + + + + Global + + Sets the parameters of the Global policy instance to the values in the specified policy instance. + + SwitchParameter + + SwitchParameter + + + False + + + PassThru + + + + SwitchParameter + + SwitchParameter + + + False + + + PolicyName + + The PolicyName parameter is the name of the tenant dial plan to be assigned. + + String + + String + + + None + + + Group + + Specifies the group used for the group policy assignment. + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + Int32 + + Int32 + + + None + + + Identity + + The Identity parameter identifies the user to whom the policy should be assigned. + + String + + String + + + None + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + The Confirm switch causes the command to pause processing, and requires confirmation to proceed. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + The ExternalAccessPrefix and OptimizeDeviceDialing parameters have been removed from New-CsTenantDialPlan and Set-CsTenantDialPlan cmdlet since they are no longer used. External access dialing is now handled implicitly using normalization rules of the dial plans. The Get-CsTenantDialPlan will still show the external access prefix in the form of a normalization rule of the dial plan. + + + + + -------------------------- Example 1 -------------------------- + Grant-CsTenantDialPlan -PolicyName Vt1tenantDialPlan9 -Identity Ken.Myer@contoso.com + + This example grants the Vt1tenantDialPlan9 dial plan to Ken.Meyer@contoso.com. + + + + -------------------------- Example 2 -------------------------- + Grant-CsTenantDialPlan -Identity Ken.Myer@contoso.com -PolicyName $Null + + In Example 2, any dial plan previously assigned to the user Ken Myer is unassigned from that user; as a result, Ken Myer will be managed by the global dial plan. To unassign a custom tenant dial plan, set the PolicyName to a null value ($Null). + + + + -------------------------- Example 3 -------------------------- + Grant-CsTenantDialPlan -Group sales@contoso.com -Rank 10 -PolicyName Vt1tenantDialPlan9 + + This example grants the Vt1tenantDialPlan9 dial plan to members of the group sales@contoso.com. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/grant-cstenantdialplan + + + Set-CsTenantDialPlan + + + + New-CsTenantDialPlan + + + + Remove-CsTenantDialPlan + + + + Get-CsTenantDialPlan + + + + + + + Grant-CsUserPolicyPackage + Grant + CsUserPolicyPackage + + This cmdlet supports applying a policy package to users in a tenant. Note that there is a limit of 20 users you can apply the package to at a time. To apply a policy package to a larger number of users, consider using New-CsBatchPolicyPackageAssignmentOperation. + + + + This cmdlet supports applying a policy package to users in a tenant. Provide one or more user identities to assign the package with all the associated policies. The available policy packages and their definitions can be found by running Get-CsPolicyPackage. The recommended policy package for each user can be found by running Get-CsUserPolicyPackageRecommendation. For more information on policy packages, please review https://learn.microsoft.com/MicrosoftTeams/manage-policy-packages. + + + + Grant-CsUserPolicyPackage + + Identity + + A list of one or more users in the tenant. Note that there is a limit of 20 users you can apply the package to at a time. + + String[] + + String[] + + + None + + + PackageName + + The name of a specific policy package to apply. All possible policy package names can be found by running Get-CsPolicyPackage. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Identity + + A list of one or more users in the tenant. Note that there is a limit of 20 users you can apply the package to at a time. + + String[] + + String[] + + + None + + + PackageName + + The name of a specific policy package to apply. All possible policy package names can be found by running Get-CsPolicyPackage. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Grant-CsUserPolicyPackage -Identity 1bc0b35f-095a-4a37-a24c-c4b6049816ab,johndoe@example.com -PackageName Education_PrimaryStudent + + Applies the Education_PrimaryStudent policy package to two users in the tenant. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/grant-csuserpolicypackage + + + Get-CsPolicyPackage + + + + Get-CsUserPolicyPackageRecommendation + + + + Get-CsUserPolicyPackage + + + + New-CsBatchPolicyPackageAssignmentOperation + + + + + + + Import-CsAutoAttendantHolidays + Import + CsAutoAttendantHolidays + + Use Import-CsAutoAttendantHolidays cmdlet to import holiday schedules of an existing Auto Attendant (AA) that were previously exported using the Export-CsAutoAttendantHolidays cmdlet. + + + + The Export-CsAutoAttendantHolidays cmdlet and the Import-CsAutoAttendantHolidays cmdlet enable you to export holiday schedules in your auto attendant and then later import that information. This can be extremely useful in a situation where you need to configure same holiday sets in multiple auto attendants. + The Export-CsAutoAttendantHolidays cmdlet returns the holiday schedule information in serialized form (as a byte array). The caller can then write the bytes to the disk to obtain a CSV file. Similarly, the Import-CsAutoAttendantHolidays cmdlet accepts the holiday schedule information as a byte array, which can be read from the aforementioned CSV file. The first line of the CSV file is considered a header record and is always ignored. NOTES : + Each line in the CSV file used by Export-CsAutoAttendantHolidays and Import-CsAutoAttendantHolidays cmdlet should be of the following format: + `HolidayName,StartDateTime1,EndDateTime1,StartDateTime2,EndDateTime2,...,StartDateTime10,EndDateTime10` + where + - HolidayName is the name of the holiday to be imported. + - StartDateTimeX and EndDateTimeX specify a date/time range for the holiday and are optional. If no date-time ranges are defined, then the holiday is imported without any date/time ranges. They follow the same format as New-CsOnlineDateTimeRange cmdlet. + - EndDateTimeX is optional. If it is not specified, the end bound of the date time range is set to 00:00 of the day after the start date. + + - The first line of the CSV file is considered a header record and is always ignored by Import-CsAutoAttendantHolidays cmdlet. + - If the destination auto attendant for the import already contains a call flow or schedule by the same name as one of the holidays being imported, the corresponding CSV record is skipped. + - For holidays that are successfully imported, a default call flow is created which is configured without any greeting and simply disconnects the call on being executed. + + + + Import-CsAutoAttendantHolidays + + Identity + + The identity for the AA whose holiday schedules are to be imported. + + System.String + + System.String + + + None + + + Input + + The Input parameter specifies the holiday schedule information that is to be imported. + + System.Byte[] + + System.Byte[] + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + Identity + + The identity for the AA whose holiday schedules are to be imported. + + System.String + + System.String + + + None + + + Input + + The Input parameter specifies the holiday schedule information that is to be imported. + + System.Byte[] + + System.Byte[] + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + System.String + + + The Import-CsAutoAttendantHolidays cmdlet accepts a string as the Identity parameter. + + + + + + + Microsoft.Rtc.Management.Hosted.OAA.Models.HolidayImportResult + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + $bytes = [System.IO.File]::ReadAllBytes("C:\Imports\Holidays.csv") +Import-CsAutoAttendantHolidays -Identity 6abea1cd-904b-520b-be96-1092cc096432 -Input $bytes + + In this example, the Import-CsAutoAttendantHolidays cmdlet is used to import holiday schedule information from a file at path "C:\Imports\Holidays.csv" to an auto attendant with Identity of 6abea1cd-904b-520b-be96-1092cc096432. + + + + -------------------------- Example 2 -------------------------- + $bytes = [System.IO.File]::ReadAllBytes("C:\Imports\Holidays.csv") +Import-CsAutoAttendantHolidays -Identity 6abea1cd-904b-520b-be96-1092cc096432 -Input $bytes | Format-Table -Wrap -AutoSize + + In this example, the Import-CsAutoAttendantHolidays cmdlet is used to import holiday schedule information from a file at path "C:\Imports\Holidays.csv" to an auto attendant with Identity of 6abea1cd-904b-520b-be96-1092cc096432. The result of the import process is formatted as a table. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/import-csautoattendantholidays + + + Export-CsAutoAttendantHolidays + + + + Get-CsAutoAttendantHolidays + + + + + + + Import-CsOnlineAudioFile + Import + CsOnlineAudioFile + + Use the Import-CsOnlineAudioFile cmdlet to upload a new audio file. + + + + The Import-CsOnlineAudioFile cmdlet uploads a new audio file for use with the Auto Attendant (AA), Call Queue (CQ) service or Music on Hold for Microsoft Teams. + + + + Import-CsOnlineAudioFile + + ApplicationId + + The ApplicationId parameter is the identifier for the application which will use this audio file. For example, if the audio file will be used with an Auto Attendant, then it needs to be set to "OrgAutoAttendant". If the audio file will be used with a Call Queue, then it needs to be set to "HuntGroup". If the audio file will be used with Microsoft Teams, then it needs to be set to "TenantGlobal". + Supported values: + - OrgAutoAttendant + - HuntGroup + - TenantGlobal + + System.string + + System.string + + + None + + + FileName + + The FileName parameter is the name of the audio file. For example, the file name for the file C:\Media\Welcome.wav is Welcome.wav. + + System.string + + System.string + + + None + + + Content + + The Content parameter represents the content of the audio file. Supported formats are WAV (uncompressed, linear PCM with 8/16/32-bit depth in mono or stereo), WMA (mono only), and MP3. The audio file content cannot be more 5MB. + + System.Byte[] + + System.Byte[] + + + None + + + + + + ApplicationId + + The ApplicationId parameter is the identifier for the application which will use this audio file. For example, if the audio file will be used with an Auto Attendant, then it needs to be set to "OrgAutoAttendant". If the audio file will be used with a Call Queue, then it needs to be set to "HuntGroup". If the audio file will be used with Microsoft Teams, then it needs to be set to "TenantGlobal". + Supported values: + - OrgAutoAttendant + - HuntGroup + - TenantGlobal + + System.string + + System.string + + + None + + + FileName + + The FileName parameter is the name of the audio file. For example, the file name for the file C:\Media\Welcome.wav is Welcome.wav. + + System.string + + System.string + + + None + + + Content + + The Content parameter represents the content of the audio file. Supported formats are WAV (uncompressed, linear PCM with 8/16/32-bit depth in mono or stereo), WMA (mono only), and MP3. The audio file content cannot be more 5MB. + + System.Byte[] + + System.Byte[] + + + None + + + + + + None + + + + + + + + + + Microsoft.Rtc.Management.Hosted.Online.Models.AudioFile + + + + + + + + + When you import an audio file to be used for Auto Attendant or Call Queue, the audio file will automatically be marked for deletion (as seen by running Get-CsOnlineAudioFile) and it will be deleted after 48 to 72 hours from the time of import, unless the audio file is associated to an Auto Attendant and Call Queue before 48 hours after it was imported. + You are responsible for independently clearing and securing all necessary rights and permissions to use any music or audio file with your Microsoft Teams service, which may include intellectual property and other rights in any music, sound effects, audio, brands, names, and other content in the audio file from all relevant rights holders, which may include artists, actors, performers, musicians, songwriters, composers, record labels, music publishers, unions, guilds, rights societies, collective management organizations and any other parties who own, control or license the music copyrights, sound effects, audio and other intellectual property rights. + + + + + -------------------------- Example 1 -------------------------- + $content = [System.IO.File]::ReadAllBytes('C:\Media\Hello.wav') +$audioFile = Import-CsOnlineAudioFile -ApplicationId "OrgAutoAttendant" -FileName "Hello.wav" -Content $content + + This example creates a new audio file using the WAV content that has a filename of Hello.wav to be used with organizational auto attendants. The stored variable, $audioFile, will be used when running other cmdlets to update the audio file for Auto Attendant, for example New-CsAutoAttendantPrompt (New-CsAutoAttendantPrompt.md). + + + + -------------------------- Example 2 -------------------------- + $content = [System.IO.File]::ReadAllBytes('C:\Media\MOH.wav') +$audioFile = Import-CsOnlineAudioFile -ApplicationId "HuntGroup" -FileName "MOH.wav" -Content $content + + This example creates a new audio file using the WAV content that has a filename of MOH.wav to be used as a Music On Hold file with a Call Queue. The stored variable, $audioFile, will be used with Set-CsCallQueue (Set-CsCallQueue.md)to provide the audio file id. + + + + -------------------------- Example 3 -------------------------- + $content = [System.IO.File]::ReadAllBytes('C:\Media\MOH.wav') +$audioFile = Import-CsOnlineAudioFile -ApplicationId TenantGlobal -FileName "MOH.wav" -Content $content + + This example creates a new audio file using the WAV content that has a filename of MOH.wav to be used as Music On Hold for Microsoft Teams. The stored variable, $audioFile, will be used with New-CsTeamsCallHoldPolicy (New-CsTeamsCallHoldPolicy.md)to provide the audio file id. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/import-csonlineaudiofile + + + Export-CsOnlineAudioFile + + + + Get-CsOnlineAudioFile + + + + Remove-CsOnlineAudioFile + + + + + + + New-CsApplicationAccessPolicy + New + CsApplicationAccessPolicy + + Creates a new application access policy. Application access policy contains a list of application (client) IDs. When granted to a user, those applications will be authorized to access online meetings on behalf of that user. + + + + This cmdlet creates a new application access policy. Application access policy contains a list of application (client) IDs. When granted to a user, those applications will be authorized to access online meetings on behalf of that user. + + + + New-CsApplicationAccessPolicy + + Identity + + Unique identifier assigned to the policy when it was created. + + XdsIdentity + + XdsIdentity + + + None + + + AppIds + + A list of application (client) IDs. For details of application (client) ID, refer to: Get tenant and app ID values for signing in (https://learn.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal#get-tenant-and-app-id-values-for-signing-in). + + PSListModifier + + PSListModifier + + + None + + + Description + + Specifies the description of the policy. + + String + + String + + + None + + + + + + Identity + + Unique identifier assigned to the policy when it was created. + + XdsIdentity + + XdsIdentity + + + None + + + AppIds + + A list of application (client) IDs. For details of application (client) ID, refer to: Get tenant and app ID values for signing in (https://learn.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal#get-tenant-and-app-id-values-for-signing-in). + + PSListModifier + + PSListModifier + + + None + + + Description + + Specifies the description of the policy. + + String + + String + + + None + + + + + + + + + + + + ---- Create a new application access policy with one app ID ---- + PS C:\> New-CsApplicationAccessPolicy -Identity "ASimplePolicy" -AppIds "d39597bf-8407-40ca-92ef-1ec26b885b7b" -Description "Some description" + + The command shown above shows how to create a new policy with one app IDs configured. + + + + - Create a new application access policy with multiple app IDs - + PS C:\> New-CsApplicationAccessPolicy -Identity "ASimplePolicy" -AppIds "d39597bf-8407-40ca-92ef-1ec26b885b71", "57caaef9-5ed0-48d5-8862-e5abfa71b3e1", "dc17674c-81d9-4adb-bfb2-8f6a442e4620" -Description "Some description" + + The command shown above shows how to create a new policy with a list of (three) app IDs configured. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csapplicationaccesspolicy + + + Grant-CsApplicationAccessPolicy + + + + Get-CsApplicationAccessPolicy + + + + Set-CsApplicationAccessPolicy + + + + Remove-CsApplicationAccessPolicy + + + + + + + New-CsAutoAttendant + New + CsAutoAttendant + + Use the New-CsAutoAttendant cmdlet to create a new Auto Attendant (AA). + + + + Auto Attendants (AAs) are a key element in the Office 365 Phone System. Each AA can be associated with phone numbers that allow callers to reach specific people in the organization through a directory lookup. Alternatively, it can route the calls to an operator, a user, another AA, or a call queue. + You can create new AAs by using the New-CsAutoAttendant cmdlet; each newly created AA gets assigned a random string that serves as the identity of the AA. + > [!CAUTION] > The following configuration parameters are currently only available in PowerShell and do not appear in Teams admin center. Saving a call queue configuration through Teams admin center will remove any of these configured items: > > - -HideAuthorizedUsers NOTES : + - To setup your AA for calling, you need to create an application instance first using `New-CsOnlineApplicationInstance` cmdlet , then associate it with your AA configuration using `New-CsOnlineApplicationInstanceAssociation` cmdlet. + - The default call flow has the lowest precedence, and any custom call flow has a higher precedence and is executed if the schedule associated with it is in effect. + - Holiday call flows have higher priority than after-hours call flows. Thus, if a holiday schedule and an after-hours schedule are both in effect at a particular time, the call flow corresponding to the holiday call flow will be rendered. + - The default call flow can be used either as the 24/7 call flow if no other call flows are specified, or as the business hours call flow if an "after hours" call flow was specified together with the corresponding schedule and call handling association. + - If a user is present in both inclusion and exclusion scopes, then exclusion scope always takes priority, i.e., the user will not be able to be contacted through directory lookup feature. + + + + New-CsAutoAttendant + + Name + + The Name parameter is a friendly name that is assigned to the AA. + + System.String + + System.String + + + None + + + LanguageId + + The LanguageId parameter is the language that is used to read text-to-speech (TTS) prompts. + You can query the supported languages using the `Get-CsAutoAttendantSupportedLanguage` (Get-CsAutoAttendantSupportedLanguage.md)cmdlet. + + System.String + + System.String + + + None + + + TimeZoneId + + The TimeZoneId parameter represents the AA time zone. All schedules are evaluated based on this time zone. + You can query the supported timezones using the `Get-CsAutoAttendantSupportedTimeZone` (Get-CsAutoAttendantSupportedTimeZone.md)cmdlet. + + System.String + + System.String + + + None + + + DefaultCallFlow + + The DefaultCallFlow parameter is the flow to be executed when no other call flow is in effect (for example, during business hours). + You can create the DefaultCallFlow by using the `New-CsAutoAttendantCallFlow` (New-CsAutoAttendantCallFlow.md)cmdlet. + + Object + + Object + + + None + + + CallFlows + + The CallFlows parameter represents call flows, which are required if they are referenced in the CallHandlingAssociations parameter. + You can create CallFlows by using the `New-CsAutoAttendantCallFlow` (New-CsAutoAttendantCallFlow.md)cmdlet. + + System.Collections.Generic.List + + System.Collections.Generic.List + + + None + + + CallHandlingAssociations + + The CallHandlingAssociations parameter represents the call handling associations. The AA service uses call handling associations to determine which call flow to execute when a specific schedule is in effect. + You can create CallHandlingAssociations by using the `New-CsAutoAttendantCallHandlingAssociation` cmdlet. + + System.Collections.Generic.List + + System.Collections.Generic.List + + + None + + + Operator + + The Operator parameter represents the SIP address or PSTN number of the operator. + You can create callable entities by using the `New-CsAutoAttendantCallableEntity` cmdlet. + + Object + + Object + + + None + + + VoiceId + + The VoiceId parameter represents the voice that is used to read text-to-speech (TTS) prompts. + You can query the supported voices by using the `Get-CsAutoAttendantSupportedLanguage` cmdlet. You can determine the default voice for a language by issuing the following command: + + $language = Get-CsAutoAttendantSupportedLanguage -Identity "en-US" + $defaultVoice = $language.Voices[0].Id + + System.String + + System.String + + + None + + + EnableVoiceResponse + + The EnableVoiceResponse parameter indicates whether voice response for AA is enabled. + + + SwitchParameter + + + False + + + InclusionScope + + Specifies the users to which call transfers are allowed through directory lookup feature. If not specified, all users in the organization can be reached through directory lookup. + Dial scopes can be created by using the `New-CsAutoAttendantDialScope` (New-CsAutoAttendantDialScope.md)cmdlet. + + Object + + Object + + + None + + + ExclusionScope + + Specifies the users to which call transfers are not allowed through directory lookup feature. If not specified, no user in the organization is excluded from directory lookup. + Dial scopes can be created by using the `New-CsAutoAttendantDialScope` (New-CsAutoAttendantDialScope.md)cmdlet. + + Object + + Object + + + None + + + AuthorizedUsers + + This is a list of GUIDs for users who are authorized to make changes to this call queue. The users must also have a TeamsVoiceApplications policy assigned. The GUID should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). + + List + + List + + + None + + + HideAuthorizedUsers + + Saving a call queue configuration through Teams admin center will *remove* this setting. This is a list of GUIDs of authorized users who should not appear on the list of supervisors for the agents who are members of this queue. The GUID should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). + + List + + List + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + Name + + The Name parameter is a friendly name that is assigned to the AA. + + System.String + + System.String + + + None + + + LanguageId + + The LanguageId parameter is the language that is used to read text-to-speech (TTS) prompts. + You can query the supported languages using the `Get-CsAutoAttendantSupportedLanguage` (Get-CsAutoAttendantSupportedLanguage.md)cmdlet. + + System.String + + System.String + + + None + + + TimeZoneId + + The TimeZoneId parameter represents the AA time zone. All schedules are evaluated based on this time zone. + You can query the supported timezones using the `Get-CsAutoAttendantSupportedTimeZone` (Get-CsAutoAttendantSupportedTimeZone.md)cmdlet. + + System.String + + System.String + + + None + + + DefaultCallFlow + + The DefaultCallFlow parameter is the flow to be executed when no other call flow is in effect (for example, during business hours). + You can create the DefaultCallFlow by using the `New-CsAutoAttendantCallFlow` (New-CsAutoAttendantCallFlow.md)cmdlet. + + Object + + Object + + + None + + + CallFlows + + The CallFlows parameter represents call flows, which are required if they are referenced in the CallHandlingAssociations parameter. + You can create CallFlows by using the `New-CsAutoAttendantCallFlow` (New-CsAutoAttendantCallFlow.md)cmdlet. + + System.Collections.Generic.List + + System.Collections.Generic.List + + + None + + + CallHandlingAssociations + + The CallHandlingAssociations parameter represents the call handling associations. The AA service uses call handling associations to determine which call flow to execute when a specific schedule is in effect. + You can create CallHandlingAssociations by using the `New-CsAutoAttendantCallHandlingAssociation` cmdlet. + + System.Collections.Generic.List + + System.Collections.Generic.List + + + None + + + Operator + + The Operator parameter represents the SIP address or PSTN number of the operator. + You can create callable entities by using the `New-CsAutoAttendantCallableEntity` cmdlet. + + Object + + Object + + + None + + + VoiceId + + The VoiceId parameter represents the voice that is used to read text-to-speech (TTS) prompts. + You can query the supported voices by using the `Get-CsAutoAttendantSupportedLanguage` cmdlet. You can determine the default voice for a language by issuing the following command: + + $language = Get-CsAutoAttendantSupportedLanguage -Identity "en-US" + $defaultVoice = $language.Voices[0].Id + + System.String + + System.String + + + None + + + EnableVoiceResponse + + The EnableVoiceResponse parameter indicates whether voice response for AA is enabled. + + SwitchParameter + + SwitchParameter + + + False + + + InclusionScope + + Specifies the users to which call transfers are allowed through directory lookup feature. If not specified, all users in the organization can be reached through directory lookup. + Dial scopes can be created by using the `New-CsAutoAttendantDialScope` (New-CsAutoAttendantDialScope.md)cmdlet. + + Object + + Object + + + None + + + ExclusionScope + + Specifies the users to which call transfers are not allowed through directory lookup feature. If not specified, no user in the organization is excluded from directory lookup. + Dial scopes can be created by using the `New-CsAutoAttendantDialScope` (New-CsAutoAttendantDialScope.md)cmdlet. + + Object + + Object + + + None + + + AuthorizedUsers + + This is a list of GUIDs for users who are authorized to make changes to this call queue. The users must also have a TeamsVoiceApplications policy assigned. The GUID should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). + + List + + List + + + None + + + HideAuthorizedUsers + + Saving a call queue configuration through Teams admin center will *remove* this setting. This is a list of GUIDs of authorized users who should not appear on the list of supervisors for the agents who are members of this queue. The GUID should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). + + List + + List + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + None + + + + + + + + + + Microsoft.Rtc.Management.OAA.Models.AutoAttendant + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + $operatorObjectId = (Get-CsOnlineUser operator@contoso.com).Identity +$operatorEntity = New-CsAutoAttendantCallableEntity -Identity $operatorObjectId -Type User + +$greetingPrompt = New-CsAutoAttendantPrompt -TextToSpeechPrompt "Welcome to Contoso!" +$menuOptionZero = New-CsAutoAttendantMenuOption -Action TransferCallToOperator -DtmfResponse Tone0 +$menuPrompt = New-CsAutoAttendantPrompt -TextToSpeechPrompt "To reach your party by name, enter it now, followed by the pound sign or press 0 to reach the operator." +$defaultMenu = New-CsAutoAttendantMenu -Name "Default menu" -Prompts @($menuPrompt) -MenuOptions @($menuOptionZero) -EnableDialByName +$defaultCallFlow = New-CsAutoAttendantCallFlow -Name "Default call flow" -Greetings @($greetingPrompt) -Menu $defaultMenu + +$afterHoursGreetingPrompt = New-CsAutoAttendantPrompt -TextToSpeechPrompt "Welcome to Contoso! Unfortunately, you have reached us outside of our business hours. We value your call please call us back Monday to Friday, between 9 A.M. to 12 P.M. and 1 P.M. to 5 P.M. Goodbye!" +$automaticMenuOption = New-CsAutoAttendantMenuOption -Action Disconnect -DtmfResponse Automatic +$afterHoursMenu=New-CsAutoAttendantMenu -Name "After Hours menu" -MenuOptions @($automaticMenuOption) +$afterHoursCallFlow = New-CsAutoAttendantCallFlow -Name "After Hours call flow" -Greetings @($afterHoursGreetingPrompt) -Menu $afterHoursMenu + +$timerange1 = New-CsOnlineTimeRange -Start 09:00 -end 12:00 +$timerange2 = New-CsOnlineTimeRange -Start 13:00 -end 17:00 +$afterHoursSchedule = New-CsOnlineSchedule -Name "After Hours Schedule" -WeeklyRecurrentSchedule -MondayHours @($timerange1, $timerange2) -TuesdayHours @($timerange1, $timerange2) -WednesdayHours @($timerange1, $timerange2) -ThursdayHours @($timerange1, $timerange2) -FridayHours @($timerange1, $timerange2) -Complement + +$afterHoursCallHandlingAssociation = New-CsAutoAttendantCallHandlingAssociation -Type AfterHours -ScheduleId $afterHoursSchedule.Id -CallFlowId $afterHoursCallFlow.Id + +$inclusionScopeGroupIds = @("4c3053a6-20bf-43df-bf7a-156124168856") +$inclusionScope = New-CsAutoAttendantDialScope -GroupScope -GroupIds $inclusionScopeGroupIds + +$aa = New-CsAutoAttendant -Name "Main auto attendant" -DefaultCallFlow $defaultCallFlow -EnableVoiceResponse -CallFlows @($afterHoursCallFlow) -CallHandlingAssociations @($afterHoursCallHandlingAssociation) -LanguageId "en-US" -TimeZoneId "UTC" -Operator $operatorEntity -InclusionScope $inclusionScope + + This example creates a new AA named Main auto attendant that has the following properties: + - It sets a default call flow. + - It sets an after-hours call flow. + - It enables voice response. + - The default language is en-US. + - The time zone is set to UTC. + - An inclusion scope is specified. + + + + -------------------------- Example 2 -------------------------- + $operatorObjectId = (Get-CsOnlineUser operator@contoso.com).Identity +$operatorEntity = New-CsAutoAttendantCallableEntity -Identity $operatorObjectId -Type User + +$dcfGreetingPrompt = New-CsAutoAttendantPrompt -TextToSpeechPrompt "Welcome to Contoso!" +$dcfMenuOptionZero = New-CsAutoAttendantMenuOption -Action TransferCallToOperator -DtmfResponse Tone0 +$dcfMenuPrompt = New-CsAutoAttendantPrompt -TextToSpeechPrompt "To reach your party by name, enter it now, followed by the pound sign or press 0 to reach the operator." +$dcfMenu=New-CsAutoAttendantMenu -Name "Default menu" -Prompts @($dcfMenuPrompt) -MenuOptions @($dcfMenuOptionZero) -EnableDialByName +$defaultCallFlow = New-CsAutoAttendantCallFlow -Name "Default call flow" -Greetings @($dcfGreetingPrompt) -Menu $dcfMenu + +$afterHoursGreetingPrompt = New-CsAutoAttendantPrompt -TextToSpeechPrompt "Welcome to Contoso! Unfortunately, you have reached us outside of our business hours. We value your call please call us back Monday to Friday, between 9 A.M. to 12 P.M. and 1 P.M. to 5 P.M. Goodbye!" +$afterHoursMenuOption = New-CsAutoAttendantMenuOption -Action DisconnectCall -DtmfResponse Automatic +$afterHoursMenu=New-CsAutoAttendantMenu -Name "After Hours menu" -MenuOptions @($afterHoursMenuOption) +$afterHoursCallFlow = New-CsAutoAttendantCallFlow -Name "After Hours call flow" -Greetings @($afterHoursGreetingPrompt) -Menu $afterHoursMenu + +$timerange1 = New-CsOnlineTimeRange -Start 09:00 -end 12:00 +$timerange2 = New-CsOnlineTimeRange -Start 13:00 -end 17:00 +$afterHoursSchedule = New-CsOnlineSchedule -Name "After Hours Schedule" -WeeklyRecurrentSchedule -MondayHours @($timerange1, $timerange2) -TuesdayHours @($timerange1, $timerange2) -WednesdayHours @($timerange1, $timerange2) -ThursdayHours @($timerange1, $timerange2) -FridayHours @($timerange1, $timerange2) -Complement + +$afterHoursCallHandlingAssociation = New-CsAutoAttendantCallHandlingAssociation -Type AfterHours -ScheduleId $afterHoursSchedule.Id -CallFlowId $afterHoursCallFlow.Id + +$christmasGreetingPrompt = New-CsAutoAttendantPrompt -TextToSpeechPrompt "Our offices are closed for Christmas from December 24 to December 26. Please call back later." +$christmasMenuOption = New-CsAutoAttendantMenuOption -Action DisconnectCall -DtmfResponse Automatic +$christmasMenu = New-CsAutoAttendantMenu -Name "Christmas Menu" -MenuOptions @($christmasMenuOption) +$christmasCallFlow = New-CsAutoAttendantCallFlow -Name "Christmas" -Greetings @($christmasGreetingPrompt) -Menu $christmasMenu + +$dtr = New-CsOnlineDateTimeRange -Start "24/12/2017" -End "26/12/2017" +$christmasSchedule = New-CsOnlineSchedule -Name "Christmas" -FixedSchedule -DateTimeRanges @($dtr) + +$christmasCallHandlingAssociation = New-CsAutoAttendantCallHandlingAssociation -Type Holiday -ScheduleId $christmasSchedule.Id -CallFlowId $christmasCallFlow.Id + +$aa = New-CsAutoAttendant -Name "Main auto attendant" -DefaultCallFlow $defaultCallFlow -EnableVoiceResponse -CallFlows @($afterHoursCallFlow, $christmasCallFlow) -CallHandlingAssociations @($afterHoursCallHandlingAssociation, $christmasCallHandlingAssociation) -LanguageId "en-US" -TimeZoneId "UTC" -Operator $operatorEntity + + This example creates a new AA named Main auto attendant that has the following properties: + - It sets a default call flow. + - It sets an after-hours call flow. + - It sets a call flow for Christmas holiday. + - It enables voice response. + - The default language is en-US. + - The time zone is set to UTC. + + + + -------------------------- Example 3 -------------------------- + # Create Christmas Schedule +$dtr = New-CsOnlineDateTimeRange -Start "24/12/2017" -End "26/12/2017" +$christmasSchedule = New-CsOnlineSchedule -Name "Christmas" -FixedSchedule -DateTimeRanges @($dtr) + +# Create First Auto Attendant +$dcfGreetingPrompt = New-CsAutoAttendantPrompt -TextToSpeechPrompt "Welcome to Contoso Customer Support!" +$dcfMenuPrompt = New-CsAutoAttendantPrompt -TextToSpeechPrompt "To reach your party by name, enter it now, followed by the pound sign." +$dcfMenu = New-CsAutoAttendantMenu -Name "Default menu" -Prompts @($dcfMenuPrompt) -EnableDialByName -DirectorySearchMethod ByName +$defaultCallFlow = New-CsAutoAttendantCallFlow -Name "Default call flow" -Greetings @($dcfGreetingPrompt) -Menu $dcfMenu + +$christmasGreetingPrompt = New-CsAutoAttendantPrompt -TextToSpeechPrompt "Our offices are closed for Christmas from December 24 to December 26. Please call back later." +$christmasMenuOption = New-CsAutoAttendantMenuOption -Action DisconnectCall -DtmfResponse Automatic +$christmasMenu = New-CsAutoAttendantMenu -Name "Christmas Menu" -MenuOptions @($christmasMenuOption) +$christmasCallFlow = New-CsAutoAttendantCallFlow -Name "Christmas" -Greetings @($christmasGreetingPrompt) -Menu $christmasMenu + +$christmasCallHandlingAssociation = New-CsAutoAttendantCallHandlingAssociation -Type Holiday -ScheduleId $christmasSchedule.Id -CallFlowId $christmasCallFlow.Id + +New-CsAutoAttendant -Name "Customer Support Auto Attendant" -DefaultCallFlow $defaultCallFlow -EnableVoiceResponse -CallFlows @($afterHoursCallFlow, $christmasCallFlow) -CallHandlingAssociations @($afterHoursCallHandlingAssociation, $christmasCallHandlingAssociation) -LanguageId "en-US" -TimeZoneId "UTC" + +# Id : a65b3434-05a1-48ed-883d-e3ca35a60af8 +# TenantId : f6b89083-a2f8-55cc-9f62-33b73af44164 +# Name : Customer Support Auto Attendant +# LanguageId : en-US +# VoiceId : Female +# DefaultCallFlow : Default call flow +# Operator : +# TimeZoneId : UTC +# VoiceResponseEnabled : True +# CallFlows : Christmas +# Schedules : Christmas +# CallHandlingAssociations : Holiday(1) +# Status : Successful +# DialByNameResourceId : caddaea5-c001-5a09-b997-9d3a33e834f2 +# DirectoryLookupScope : +# ApplicationInstances : + +# Create Second Auto Attendant +$dcfGreetingPrompt = New-CsAutoAttendantPrompt -TextToSpeechPrompt "Welcome to Contoso Store!" +$dcfMenuPrompt = New-CsAutoAttendantPrompt -TextToSpeechPrompt "To reach your party by name, enter it now, followed by the pound sign." +$dcfMenu = New-CsAutoAttendantMenu -Name "Default menu" -Prompts @($dcfMenuPrompt) -EnableDialByName -DirectorySearchMethod ByName +$defaultCallFlow = New-CsAutoAttendantCallFlow -Name "Default call flow" -Greetings @($dcfGreetingPrompt) -Menu $dcfMenu + +$christmasGreetingPrompt = New-CsAutoAttendantPrompt -TextToSpeechPrompt "Our offices are closed for Christmas from December 24 to December 26. Please call back later." +$christmasMenuOption = New-CsAutoAttendantMenuOption -Action DisconnectCall -DtmfResponse Automatic +$christmasMenu = New-CsAutoAttendantMenu -Name "Christmas Menu" -MenuOptions @($christmasMenuOption) +$christmasCallFlow = New-CsAutoAttendantCallFlow -Name "Christmas" -Greetings @($christmasGreetingPrompt) -Menu $christmasMenu + +$christmasCallHandlingAssociation = New-CsAutoAttendantCallHandlingAssociation -Type Holiday -ScheduleId $christmasSchedule.Id -CallFlowId $christmasCallFlow.Id + +New-CsAutoAttendant -Name "Main auto attendant" -DefaultCallFlow $defaultCallFlow -EnableVoiceResponse -CallFlows @($afterHoursCallFlow, $christmasCallFlow) -CallHandlingAssociations @($afterHoursCallHandlingAssociation, $christmasCallHandlingAssociation) -LanguageId "en-US" -TimeZoneId "UTC" + +# Id : 236450c4-9f1e-4c19-80eb-d68819d36a15 +# TenantId : f6b89083-a2f8-55cc-9f62-33b73af44164 +# Name : Main auto attendant +# LanguageId : en-US +# VoiceId : Female +# DefaultCallFlow : Default call flow +# Operator : +# TimeZoneId : UTC +# VoiceResponseEnabled : True +# CallFlows : Christmas +# Schedules : Christmas +# CallHandlingAssociations : Holiday(1) +# Status : Successful +# DialByNameResourceId : 5abfa626-8f80-54ff-97eb-03c2aadcc329 +# DirectoryLookupScope : +# ApplicationInstances : + + +# Show the auto attendants associated with this holiday schedule: +Get-CsOnlineSchedule $christmasSchedule.Id + +# Id : 578745b2-1f94-4a38-844c-6bf6996463ee +# Name : Christmas +# Type : Fixed +# WeeklyRecurrentSchedule : +# FixedSchedule : 24/12/2017 00:00 - 26/12/2017 00:00 +# AssociatedConfigurationIds : a65b3434-05a1-48ed-883d-e3ca35a60af8, 236450c4-9f1e-4c19-80eb-d68819d36a15 + + This example creates two new AAs named Main auto attendant and Customer Support Auto Attendant . Both AAs share the same Christmas holiday schedule. This was done by reusing the Schedule ID of the Christmas holiday when creating the call handling associations for those two AAs using New-CsAutoAttendantCallHandlingAssociation cmdlet. + We can see when we ran the Get-CsOnlineSchedule cmdlet at the end, to get the Christmas Holiday schedule information, that the configuration IDs for the newly created AAs have been added to the `AssociatedConfigurationIds` properties of that schedule. This means any updates made to this schedule would reflect in both associated AAs. + Removing an association between an AA and a schedule is as simple as deleting the CallHandlingAssociation of that schedule in the AA you want to modify. Please refer to Set-CsAutoAttendant (Set-CsAutoAttendant.md)cmdlet documentation for examples on how to do that. + + + + -------------------------- Example 4 -------------------------- + $aaName = "Main Auto Attendant" +$language = "en-US" +$greetingText = "Welcome to Contoso" +$mainMenuText = "To reach your party by name, say it now. To talk to Sales, please press 1. To talk to User2 press 2. Please press 0 for operator" +$afterHoursText = "Sorry Contoso is closed. Please call back during week days from 7AM to 8PM. Goodbye!" +$tz = "Romance Standard Time" +$operatorId = (Get-CsOnlineUser -Identity "sip:user1@contoso.com").Identity +$user1Id = (Get-CsOnlineUser -Identity "sip:user2@contoso.com").Identity +$salesCQappinstance = (Get-CsOnlineUser -Identity "sales@contoso.com").Identity # one of the application instances associated to the Call Queue +$tr1 = New-CsOnlineTimeRange -Start 07:00 -End 20:00 + +# After hours +$afterHoursSchedule = New-CsOnlineSchedule -Name "After Hours" -WeeklyRecurrentSchedule -MondayHours @($tr1) -TuesdayHours @($tr1) -WednesdayHours @($tr1) -ThursdayHours @($tr1) -FridayHours @($tr1) -Complement +$afterHoursGreetingPrompt = New-CsAutoAttendantPrompt -TextToSpeechPrompt $afterHoursText +$afterHoursMenuOption = New-CsAutoAttendantMenuOption -Action DisconnectCall -DtmfResponse Automatic +$afterHoursMenu = New-CsAutoAttendantMenu -Name "AA menu1" -MenuOptions @($afterHoursMenuOption) +$afterHoursCallFlow = New-CsAutoAttendantCallFlow -Name "After Hours" -Menu $afterHoursMenu -Greetings @($afterHoursGreetingPrompt) +$afterHoursCallHandlingAssociation = New-CsAutoAttendantCallHandlingAssociation -Type AfterHours -ScheduleId $afterHoursSchedule.Id -CallFlowId $afterHoursCallFlow.Id + +# Business hours menu options +$operator = New-CsAutoAttendantCallableEntity -Identity $operatorId -Type User +$sales = New-CsAutoAttendantCallableEntity -Identity $salesCQappinstance -Type applicationendpoint +$user1 = New-CsAutoAttendantCallableEntity -Identity $user1Id -Type User +$menuOption0 = New-CsAutoAttendantMenuOption -Action TransferCallToOperator -DtmfResponse Tone0 -CallTarget $operator +$menuOption1 = New-CsAutoAttendantMenuOption -Action TransferCallToTarget -DtmfResponse Tone1 -CallTarget $sales +$menuOption2 = New-CsAutoAttendantMenuOption -Action TransferCallToTarget -DtmfResponse Tone2 -CallTarget $user1 + +# Business hours menu +$greetingPrompt = New-CsAutoAttendantPrompt -TextToSpeechPrompt $greetingText +$menuPrompt = New-CsAutoAttendantPrompt -TextToSpeechPrompt $mainMenuText +$menu = New-CsAutoAttendantMenu -Name "AA menu2" -Prompts @($menuPrompt) -EnableDialByName -MenuOptions @($menuOption0,$menuOption1,$menuOption2) +$callFlow = New-CsAutoAttendantCallFlow -Name "Default" -Menu $menu -Greetings $greetingPrompt + +# Auto attendant +New-CsAutoAttendant -Name $aaName -LanguageId $language -CallFlows @($afterHoursCallFlow) -TimeZoneId $tz -Operator $operator -DefaultCallFlow $callFlow -CallHandlingAssociations @($afterHoursCallHandlingAssociation) -EnableVoiceResponse + + This example creates a new AA named Main auto attendant that has the following properties: + - It sets a default call flow. + - It sets an after-hours call flow. + - It sets a business hours options. + - It references a call queue as a menu option. + - The default language is en-US. + - The time zone is set to Romance Standard. + - It sets user1 as operator. + - It has user2 also as a menu option. + - The Auto Attendant is voice enabled. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csautoattendant + + + New-CsOnlineApplicationInstanceAssociation + + + + Get-CsAutoAttendant + + + + Get-CsAutoAttendantStatus + + + + Get-CsAutoAttendantSupportedLanguage + + + + Get-CsAutoAttendantSupportedTimeZone + + + + New-CsAutoAttendantCallableEntity + + + + New-CsAutoAttendantCallFlow + + + + New-CsAutoAttendantCallHandlingAssociation + + + + New-CsOnlineSchedule + + + + Remove-CsAutoAttendant + + + + Set-CsAutoAttendant + + + + Update-CsAutoAttendant + + + + + + + New-CsAutoAttendantCallableEntity + New + CsAutoAttendantCallableEntity + + The New-CsAutoAttendantCallableEntity cmdlet lets you create a callable entity. + + + + The New-CsAutoAttendantCallableEntity cmdlet lets you create a callable entity for use with call transfers from the Auto Attendant service. Callable entities can be created using either Object ID or TEL URIs and can refer to any of the following entities: + - User + - ApplicationEndpoint + - ExternalPstn + - SharedVoicemail NOTE : In order to setup a shared voicemail, an Office 365 Group that can receive external emails is required. + + + + New-CsAutoAttendantCallableEntity + + Identity + + The Identity parameter represents the ID of the callable entity; this can be either a Object ID or a TEL URI. + - Only the Object IDs of users that have Enterprise Voice enabled are supported. + - Only PSTN numbers that are acquired and assigned through Skype for Business Online are supported. + + System.String + + System.String + + + None + + + Type + + The Type parameter represents the type of the callable entity, which can be any of the following: + - User + - ApplicationEndpoint + - ExternalPstn + - SharedVoicemail + + Object + + Object + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + EnableTranscription + + Enables the email transcription of voicemail, this is only supported with shared voicemail callable entities. + + + SwitchParameter + + + False + + + EnableSharedVoicemailSystemPromptSuppression + + Suppresses the "Please leave a message after the tone" system prompt when transferring to shared voicemail. + + + SwitchParameter + + + False + + + CallPriority --- Private Preview customers only + + The Call Priority of the MenuOption, only applies when the `Type` is `ApplicationEndpoint`. + PARAMVALUE: 1 | 2 | 3 | 4 | 5 + 1 = Very High 2 = High 3 = Normal / Default 4 = Low 5 = Very Low + + Int16 + + Int16 + + + 3 + + + + + + Identity + + The Identity parameter represents the ID of the callable entity; this can be either a Object ID or a TEL URI. + - Only the Object IDs of users that have Enterprise Voice enabled are supported. + - Only PSTN numbers that are acquired and assigned through Skype for Business Online are supported. + + System.String + + System.String + + + None + + + Type + + The Type parameter represents the type of the callable entity, which can be any of the following: + - User + - ApplicationEndpoint + - ExternalPstn + - SharedVoicemail + + Object + + Object + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + EnableTranscription + + Enables the email transcription of voicemail, this is only supported with shared voicemail callable entities. + + SwitchParameter + + SwitchParameter + + + False + + + EnableSharedVoicemailSystemPromptSuppression + + Suppresses the "Please leave a message after the tone" system prompt when transferring to shared voicemail. + + SwitchParameter + + SwitchParameter + + + False + + + CallPriority --- Private Preview customers only + + The Call Priority of the MenuOption, only applies when the `Type` is `ApplicationEndpoint`. + PARAMVALUE: 1 | 2 | 3 | 4 | 5 + 1 = Very High 2 = High 3 = Normal / Default 4 = Low 5 = Very Low + + Int16 + + Int16 + + + 3 + + + + + + None + + + + + + + + + + Microsoft.Rtc.Management.Hosted.OAA.Models.CallableEntity + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + $callableEntity = New-CsAutoAttendantCallableEntity -Identity "9bad1a25-3203-5207-b34d-1bd933b867a5" -Type User + + This example creates a user callable entity. + + + + -------------------------- Example 2 -------------------------- + $callableEntity = New-CsAutoAttendantCallableEntity -Identity "tel:+1234567890" -Type ExternalPSTN + + This example creates an ExternalPSTN callable entity. + + + + -------------------------- Example 3 -------------------------- + $operatorObjectId = (Get-CsOnlineUser operator@contoso.com).ObjectId +$callableEntity = New-CsAutoAttendantCallableEntity -Identity $operatorObjectId -Type User + + This example gets a user object using Get-CsOnlineUser cmdlet. We then use the Microsoft Entra ObjectId of that user object to create a user callable entity. + + + + -------------------------- Example 4 -------------------------- + $callableEntityId = Find-CsOnlineApplicationInstance -SearchQuery "Main Auto Attendant" -MaxResults 1 | Select-Object -Property Id +$callableEntity = New-CsAutoAttendantCallableEntity -Identity $callableEntityId.Id -Type ApplicationEndpoint + + This example gets an application instance by name using Find-CsOnlineApplicationInstance cmdlet. We then use the Microsoft Entra ObjectId of that application instance to create an application endpoint callable entity. + + + + -------------------------- Example 5 -------------------------- + $callableEntityGroup = Find-CsGroup -SearchQuery "Main Auto Attendant" -ExactMatchOnly $true -MailEnabledOnly $true +$callableEntity = New-CsAutoAttendantCallableEntity -Identity $callableEntityGroup -Type SharedVoicemail -EnableTranscription + + This example gets an Office 365 group by name using Find-CsGroup cmdlet. Then the Guid of that group is used to create a shared voicemail callable entity that supports transcription. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csautoattendantcallableentity + + + Get-CsOnlineUser + + + + Find-CsOnlineApplicationInstance + + + + + + + New-CsAutoAttendantCallFlow + New + CsAutoAttendantCallFlow + + Use the New-CsAutoAttendantCallFlow cmdlet to create a new call flow. + + + + The New-CsAutoAttendantCallFlow cmdlet creates a new call flow for use with the Auto Attendant (AA) service. The AA service uses the call flow to handle inbound calls by playing a greeting (if present), and provide callers with actions through a menu. + + + + New-CsAutoAttendantCallFlow + + Name + + The Name parameter represents a unique friendly name for the call flow. + + System.String + + System.String + + + None + + + Menu + + The Menu parameter identifies the menu to render when the call flow is executed. + You can create a new menu by using the `New-CsAutoAttendantMenu` (New-CsAutoAttendantMenu.md)cmdlet. + + System.Object + + System.Object + + + None + + + Greetings + + If present, the prompts specified by the Greetings parameter (either TTS or Audio) are played before the call flow's menu is rendered. + You can create prompts by using the `New-CsAutoAttendantPrompt` (New-CsAutoAttendantPrompt.md)cmdlet. + + System.Collections.Generic.List + + System.Collections.Generic.List + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + ForceListenMenuEnabled + + If specified, DTMF and speech inputs will not be processed while the greeting or menu prompt is playing. It will enforce callers to listen to all menu options before making a selection. + + + SwitchParameter + + + False + + + + + + Name + + The Name parameter represents a unique friendly name for the call flow. + + System.String + + System.String + + + None + + + Menu + + The Menu parameter identifies the menu to render when the call flow is executed. + You can create a new menu by using the `New-CsAutoAttendantMenu` (New-CsAutoAttendantMenu.md)cmdlet. + + System.Object + + System.Object + + + None + + + Greetings + + If present, the prompts specified by the Greetings parameter (either TTS or Audio) are played before the call flow's menu is rendered. + You can create prompts by using the `New-CsAutoAttendantPrompt` (New-CsAutoAttendantPrompt.md)cmdlet. + + System.Collections.Generic.List + + System.Collections.Generic.List + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + ForceListenMenuEnabled + + If specified, DTMF and speech inputs will not be processed while the greeting or menu prompt is playing. It will enforce callers to listen to all menu options before making a selection. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + Microsoft.Rtc.Management.Hosted.OAA.Models.CallFlow + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + $menuPrompt = New-CsAutoAttendantPrompt -TextToSpeechPrompt "To reach your party by name, enter it now, followed by the pound sign." +$menu = New-CsAutoAttendantMenu -Name "Default Menu" -Prompts @($menuPrompt) -EnableDialByName +$callFlow = New-CsAutoAttendantCallFlow -Name "Default Call Flow" -Menu $menu + + This example creates a new call flow that renders the "Default Menu" menu. + + + + -------------------------- Example 2 -------------------------- + $menuPrompt = New-CsAutoAttendantPrompt -TextToSpeechPrompt "To reach your party by name, enter it now, followed by the pound sign." +$menu = New-CsAutoAttendantMenu -Name "Default Menu" -Prompts $menuPrompt -EnableDialByName +$greeting = New-CsAutoAttendantPrompt -TextToSpeechPrompt "Welcome to Contoso!" +$callFlow = New-CsAutoAttendantCallFlow -Name "Default Call Flow" -Menu $menu -Greetings $greeting -ForceListenMenuEnabled + + This example creates a new call flow that plays a greeting before rendering the "Default Menu" menu with Force listen menu enabled. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csautoattendantcallflow + + + New-CsAutoAttendantMenu + + + + New-CsAutoAttendantPrompt + + + + + + + New-CsAutoAttendantCallHandlingAssociation + New + CsAutoAttendantCallHandlingAssociation + + Use the `New-CsAutoAttendantCallHandlingAssociation` cmdlet to create a new call handling association. + + + + The `New-CsAutoAttendantCallHandlingAssociation` cmdlet creates a new call handling association to be used with the Auto Attendant (AA) service. The OAA service uses call handling associations to determine which call flow to execute when a specific schedule is in effect. + + + + New-CsAutoAttendantCallHandlingAssociation + + CallFlowId + + The CallFlowId parameter represents the call flow to be associated with the schedule. + You can create a call flow by using the `New-CsAutoAttendantCallFlow` (New-CsAutoAttendantCallFlow.md)cmdlet. + + String + + String + + + None + + + ScheduleId + + The ScheduleId parameter represents the schedule to be associated with the call flow. + You can create a schedule by using the `New-CsOnlineSchedule` (New-CsOnlineSchedule.md) cmdlet. Additionally, you can use [`Get-CsOnlineSchedule`](Get-CsOnlineSchedule.md)cmdlet to get the schedules configured for your organization. + + System.String + + System.String + + + None + + + Type + + The Type parameter represents the type of the call handling association. Currently, only the following types are supported: + - `AfterHours` + - `Holiday` + + Object + + Object + + + None + + + Disable + + The Disable parameter, if set, establishes that the call handling association is created as disabled. This parameter can only be used when the Type parameter is set to AfterHours. + + + SwitchParameter + + + False + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose external user communication policy are being created. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + Guid + + Guid + + + None + + + + + + CallFlowId + + The CallFlowId parameter represents the call flow to be associated with the schedule. + You can create a call flow by using the `New-CsAutoAttendantCallFlow` (New-CsAutoAttendantCallFlow.md)cmdlet. + + String + + String + + + None + + + ScheduleId + + The ScheduleId parameter represents the schedule to be associated with the call flow. + You can create a schedule by using the `New-CsOnlineSchedule` (New-CsOnlineSchedule.md) cmdlet. Additionally, you can use [`Get-CsOnlineSchedule`](Get-CsOnlineSchedule.md)cmdlet to get the schedules configured for your organization. + + System.String + + System.String + + + None + + + Type + + The Type parameter represents the type of the call handling association. Currently, only the following types are supported: + - `AfterHours` + - `Holiday` + + Object + + Object + + + None + + + Disable + + The Disable parameter, if set, establishes that the call handling association is created as disabled. This parameter can only be used when the Type parameter is set to AfterHours. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose external user communication policy are being created. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + Guid + + Guid + + + None + + + + + + None + + + + + + + + + + Microsoft.Rtc.Management.OAA.Models.CallHandlingAssociation + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + $tr = New-CsOnlineTimeRange -Start 09:00 -End 17:00 +$schedule = New-CsOnlineSchedule -Name "Business Hours" -WeeklyRecurrentSchedule -MondayHours @($tr) -TuesdayHours @($tr) -WednesdayHours @($tr) -ThursdayHours @($tr) -FridayHours @($tr) -Complement +$scheduleId = $schedule.Id + +$menuPrompt = New-CsAutoAttendantPrompt -TextToSpeechPrompt "To reach your party by name, enter it now, followed by the pound sign." +$menu = New-CsAutoAttendantMenu -Name "Default Menu" -Prompts $menuPrompt -EnableDialByName +$callFlow = New-CsAutoAttendantCallFlow -Name "Default Call Flow" -Menu $menu +$callFlowId = $callFlow.Id + +$callHandlingAssociation = New-CsAutoAttendantCallHandlingAssociation -Type AfterHours -ScheduleId $scheduleId -CallFlowId $callFlowId + + This example creates the following: + - a new after-hours schedule + - a new after-hours call flow + - a new after-hours call handling association + + + + -------------------------- Example 2 -------------------------- + $tr = New-CsOnlineTimeRange -Start 09:00 -End 17:00 +$schedule = New-CsOnlineSchedule -Name "Business Hours" -WeeklyRecurrentSchedule -MondayHours @($tr) -TuesdayHours @($tr) -WednesdayHours @($tr) -ThursdayHours @($tr) -FridayHours @($tr) -Complement +$scheduleId = $schedule.Id + +$menuPrompt = New-CsAutoAttendantPrompt -TextToSpeechPrompt "To reach your party by name, enter it now, followed by the pound sign." +$menu = New-CsAutoAttendantMenu -Name "Default Menu" -Prompts $menuPrompt -EnableDialByName +$callFlow = New-CsAutoAttendantCallFlow -Name "Default Call Flow" -Menu $menu +$callFlowId = $callFlow.Id + +$disabledCallHandlingAssociation = New-CsAutoAttendantCallHandlingAssociation -Type AfterHours -ScheduleId $scheduleId -CallFlowId $callFlowId -Disable + + This example creates the following: + - a new after-hours schedule + - a new after-hours call flow + - a disabled after-hours call handling association + + + + -------------------------- Example 3 -------------------------- + $dtr = New-CsOnlineDateTimeRange -Start "24/12/2017" +$schedule = New-CsOnlineSchedule -Name "Christmas" -FixedSchedule -DateTimeRanges @($dtr) +$scheduleId = $schedule.Id + +$menuPrompt = New-CsAutoAttendantPrompt -TextToSpeechPrompt "We are closed for Christmas. Please call back later." +$menuOption = New-CsAutoAttendantMenuOption -DtmfResponse Automatic -Action DisconnectCall +$menu = New-CsAutoAttendantMenu -Name "Christmas Menu" -Prompts @($menuPrompt) -MenuOptions @($menuOption) +$callFlow = New-CsAutoAttendantCallFlow -Name "Christmas" -Greetings @($greeting) -Menu $menu +$callFlowId = $callFlow.Id + +$callHandlingAssociation = New-CsAutoAttendantCallHandlingAssociation -Type Holiday -ScheduleId $scheduleId -CallFlowId $callFlowId + + This example creates the following: + - a new holiday schedule + - a new holiday call flow + - a new holiday call handling association + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csautoattendantcallhandlingassociation + + + New-CsAutoAttendantCallFlow + + + + New-CsOnlineSchedule + + + + Get-CsOnlineSchedule + + + + + + + New-CsAutoAttendantDialScope + New + CsAutoAttendantDialScope + + Use New-CsAutoAttendantDialScope cmdlet to create dial-scopes for use with Auto Attendant (AA) service. + + + + This cmdlet creates a new dial-scope to be used with Auto Attendant (AA) service. AAs use dial-scopes to restrict the scope of call transfers that can be made through directory lookup feature. NOTE : The returned dial-scope model composes a member for the underlying type/implementation, e.g. in case of the group-based dial scope, in order to modify its Group IDs, you can access them through `DialScope.GroupScope.GroupIds`. + + + + New-CsAutoAttendantDialScope + + GroupScope + + Indicates that a dial-scope based on groups (distribution lists, security groups) is to be created. + + + SwitchParameter + + + False + + + GroupIds + + Refers to the IDs of the groups that are to be included in the dial-scope. + Group IDs can be obtained by using the Find-CsGroup cmdlet. + + System.Collections.Generic.List + + System.Collections.Generic.List + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + GroupScope + + Indicates that a dial-scope based on groups (distribution lists, security groups) is to be created. + + SwitchParameter + + SwitchParameter + + + False + + + GroupIds + + Refers to the IDs of the groups that are to be included in the dial-scope. + Group IDs can be obtained by using the Find-CsGroup cmdlet. + + System.Collections.Generic.List + + System.Collections.Generic.List + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + None + + + + + + + + + + Microsoft.Rtc.Management.OAA.Models.DialScope + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + $groupIds = @("00000000-0000-0000-0000-000000000000") +$dialScope = New-CsAutoAttendantDialScope -GroupScope -GroupIds $groupIds + + In Example 1, the New-CsAutoAttendantDialScope cmdlet is used to create a dial-scope with a group whose id is 00000000-0000-0000-0000-000000000000. + + + + -------------------------- Example 2 -------------------------- + $groupIds = Find-CsGroup -SearchQuery "Contoso Sales" | % { $_.Id } +$dialScope = New-CsAutoAttendantDialScope -GroupScope -GroupIds $groupIds + + In Example 2, we use the Find-CsGroup cmdlet to find groups with name "Contoso Sales", and then use the identities of those groups to create an auto attendant dial scope using the New-CsAutoAttendantDialScope cmdlet. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csautoattendantdialscope + + + Find-CsGroup + + + + + + + New-CsAutoAttendantMenu + New + CsAutoAttendantMenu + + The New-CsAutoAttendantMenu cmdlet creates a new menu. + + + + The New-CsAutoAttendantMenu cmdlet creates a new menu for the Auto Attendant (AA) service. The OAA service uses menus to provide callers with choices, and then takes action based on the selection. + + + + New-CsAutoAttendantMenu + + Name + + The Name parameter represents a friendly name for the menu. + + System.String + + System.String + + + None + + + MenuOptions + + The MenuOptions parameter is a list of menu options for this menu. These menu options specify what action to take when the user sends a particular input. + You can create menu options by using the New-CsAutoAttendantMenuOption cmdlet. + + System.Collections.Generic.List + + System.Collections.Generic.List + + + None + + + Prompts + + The Prompts parameter reflects the prompts to play when the menu is activated. + You can create new prompts by using the New-CsAutoAttendantPrompt cmdlet. + + Object + + Object + + + None + + + EnableDialByName + + The EnableDialByName parameter lets users do a directory search by recipient name and get transferred to the party. + + + SwitchParameter + + + False + + + DirectorySearchMethod + + The DirectorySearchMethod parameter lets you define the type of Directory Search Method for the Auto Attendant menu, for more information, see Set up a Cloud auto attendant (https://learn.microsoft.com/MicrosoftTeams/create-a-phone-system-auto-attendant?WT.mc_id=TeamsAdminCenterCSH)Possible values are + - None + - ByName + - ByExtension + + Microsoft.Rtc.Management.Hosted.OAA.Models.DirectorySearchMethod + + Microsoft.Rtc.Management.Hosted.OAA.Models.DirectorySearchMethod + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + Name + + The Name parameter represents a friendly name for the menu. + + System.String + + System.String + + + None + + + MenuOptions + + The MenuOptions parameter is a list of menu options for this menu. These menu options specify what action to take when the user sends a particular input. + You can create menu options by using the New-CsAutoAttendantMenuOption cmdlet. + + System.Collections.Generic.List + + System.Collections.Generic.List + + + None + + + Prompts + + The Prompts parameter reflects the prompts to play when the menu is activated. + You can create new prompts by using the New-CsAutoAttendantPrompt cmdlet. + + Object + + Object + + + None + + + EnableDialByName + + The EnableDialByName parameter lets users do a directory search by recipient name and get transferred to the party. + + SwitchParameter + + SwitchParameter + + + False + + + DirectorySearchMethod + + The DirectorySearchMethod parameter lets you define the type of Directory Search Method for the Auto Attendant menu, for more information, see Set up a Cloud auto attendant (https://learn.microsoft.com/MicrosoftTeams/create-a-phone-system-auto-attendant?WT.mc_id=TeamsAdminCenterCSH)Possible values are + - None + - ByName + - ByExtension + + Microsoft.Rtc.Management.Hosted.OAA.Models.DirectorySearchMethod + + Microsoft.Rtc.Management.Hosted.OAA.Models.DirectorySearchMethod + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + None + + + + + + + + + + Microsoft.Rtc.Management.Hosted.OAA.Models.Menu + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + $menuPrompt = New-CsAutoAttendantPrompt -TextToSpeechPrompt "To reach your party by name, enter it now, followed by the pound sign." +$menu = New-CsAutoAttendantMenu -Name "Default Menu" -Prompts @($menuPrompt) -EnableDialByName -DirectorySearchMethod ByExtension + + This example creates a new menu that allows the caller to reach a target by name, and also defines the Directory Search Method to Dial By Extension. + + + + -------------------------- Example 2 -------------------------- + $menuOptionZero = New-CsAutoAttendantMenuOption -Action TransferCallToOperator -DtmfResponse Tone0 +$menuPrompt = New-CsAutoAttendantPrompt -TextToSpeechPrompt "To reach your party by name, enter it now, followed by the pound sign. For operator, press zero." +$menu = New-CsAutoAttendantMenu -Name "Default Menu" -Prompts @($menuPrompt) -MenuOptions @($menuOptionZero) -EnableDialByName -DirectorySearchMethod ByName + + This example creates a new menu that allows the caller to reach a target by name or the operator by pressing the 0 key, and also defines the Directory Search Method to Dial By Name. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csautoattendantmenu + + + New-CsAutoAttendantMenuOption + + + + New-CsAutoAttendantPrompt + + + + + + + New-CsAutoAttendantMenuOption + New + CsAutoAttendantMenuOption + + Use the New-CsAutoAttendantMenuOption cmdlet to create a new menu option. + + + + The New-CsAutoAttendantMenuOption cmdlet creates a new menu option for the Auto Attendant (AA) service. The AA service uses the menu options to respond to a caller with the appropriate action. + + + + New-CsAutoAttendantMenuOption + + Action + + The Action parameter represents the action to be taken when the menu option is activated. The Action must be set to one of the following values: + - Announcement - plays a defined prompt then returns to the menu + - DisconnectCall - The call is disconnected. + - TransferCallToOperator - the call is transferred to the operator. + - TransferCallToTarget - The call is transferred to the menu option's call target. + + Object + + Object + + + None + + + DtmfResponse + + The DtmfResponse parameter indicates the key on the telephone keypad to be pressed to activate the menu option. The DtmfResponse must be set to one of the following values: + - Tone0 to Tone9 - Corresponds to DTMF tones from 0 to 9. + - ToneStar - Corresponds to DTMF tone *. + - TonePound - Corresponds to DTMF tone #. + - Automatic - The action is executed without user response. + + Object + + Object + + + None + + + VoiceResponses + + The VoiceResponses parameter represents the voice responses to select a menu option when Voice Responses are enabled for the auto attendant. + Voice responses are currently limited to one voice response per menu option. + + System.Collections.Generic.List + + System.Collections.Generic.List + + + None + + + CallTarget + + The CallTarget parameter represents the target for call transfer after the menu option is selected. + CallTarget is required if the action of the menu option is TransferCallToTarget. + Use the New-CsAutoAttendantCallableEntity cmdlet to create new callable entities. + + Object + + Object + + + None + + + Prompt + + The Prompt parameter reflects the prompts to play when the menu option is activated. + You can create new prompts by using the New-CsAutoAttendantPrompt cmdlet. + This parameter is required if the Action is set to Announcement . + + Microsoft.Rtc.Management.Hosted.OAA.Models.Prompt + + Microsoft.Rtc.Management.Hosted.OAA.Models.Prompt + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + Action + + The Action parameter represents the action to be taken when the menu option is activated. The Action must be set to one of the following values: + - Announcement - plays a defined prompt then returns to the menu + - DisconnectCall - The call is disconnected. + - TransferCallToOperator - the call is transferred to the operator. + - TransferCallToTarget - The call is transferred to the menu option's call target. + + Object + + Object + + + None + + + DtmfResponse + + The DtmfResponse parameter indicates the key on the telephone keypad to be pressed to activate the menu option. The DtmfResponse must be set to one of the following values: + - Tone0 to Tone9 - Corresponds to DTMF tones from 0 to 9. + - ToneStar - Corresponds to DTMF tone *. + - TonePound - Corresponds to DTMF tone #. + - Automatic - The action is executed without user response. + + Object + + Object + + + None + + + VoiceResponses + + The VoiceResponses parameter represents the voice responses to select a menu option when Voice Responses are enabled for the auto attendant. + Voice responses are currently limited to one voice response per menu option. + + System.Collections.Generic.List + + System.Collections.Generic.List + + + None + + + CallTarget + + The CallTarget parameter represents the target for call transfer after the menu option is selected. + CallTarget is required if the action of the menu option is TransferCallToTarget. + Use the New-CsAutoAttendantCallableEntity cmdlet to create new callable entities. + + Object + + Object + + + None + + + Prompt + + The Prompt parameter reflects the prompts to play when the menu option is activated. + You can create new prompts by using the New-CsAutoAttendantPrompt cmdlet. + This parameter is required if the Action is set to Announcement . + + Microsoft.Rtc.Management.Hosted.OAA.Models.Prompt + + Microsoft.Rtc.Management.Hosted.OAA.Models.Prompt + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + None + + + + + + + + + + Microsoft.Rtc.Management.Hosted.OAA.Models.MenuOption + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + $menuOption = New-CsAutoAttendantMenuOption -Action TransferCallToOperator -DtmfResponse Tone0 + + This example creates a menu option to call the operator when the 0 key is pressed. + + + + -------------------------- Example 2 -------------------------- + $troubleShootObjectId = (Get-CsOnlineUser troubleShoot@contoso.com).ObjectId +$troubleShootEntity = New-CsAutoAttendantCallableEntity -Identity $troubleShootObjectId -Type ApplicationEndpoint +$menuOption = New-CsAutoAttendantMenuOption -Action TransferCallToTarget -DtmfResponse Tone1 -VoiceResponses "Sales" -CallTarget $troubleShootEntity + + This example creates a menu option to transfer the call to an application endpoint when the caller speaks the word "Sales" or presses the 1 key. + + + + -------------------------- Example 3 -------------------------- + $Prompt = New-CsAutoAttendantPrompt -ActiveType TextToSpeech -TextToSpeechPrompt "Our Office is open from Monday to Friday from 9 AM to 5 PM" +$menuOption = New-CsAutoAttendantMenuOption -Action Announcement -DtmfResponse Tone2 -VoiceResponses "Hours" -Prompt $Prompt + + This example creates a menu option to play an announcement for the defined prompt. After playing the announcement, the Menu Prompt is repeated. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csautoattendantmenuoption + + + New-CsAutoAttendantCallableEntity + + + + + + + New-CsAutoAttendantPrompt + New + CsAutoAttendantPrompt + + Use the New-CsAutoAttendantPrompt cmdlet to create a new prompt. + + + + The New-CsAutoAttendantPrompt cmdlet creates a new prompt for the Auto Attendant (AA) service. A prompt is either an audio file that is played, or text that is read aloud to give callers additional information. A prompt can be disabled by setting the ActiveType to None. + + + + New-CsAutoAttendantPrompt + + ActiveType + + PARAMVALUE: None | TextToSpeech | AudioFile + The ActiveType parameter identifies the active type (modality) of the AA prompt. It can be set to None (the prompt is disabled), TextToSpeech (text-to-speech is played when the prompt is rendered) or AudioFile (audio file data is played when the prompt is rendered). + This is explicitly required if both Audio File and TTS prompts are specified. Otherwise, it is inferred. + + Object + + Object + + + None + + + AudioFilePrompt + + The AudioFilePrompt parameter represents the audio to play when the prompt is activated (rendered). + This parameter is required when audio file prompts are being created. You can create audio files by using the `Import-CsOnlineAudioFile` cmdlet. + + Object + + Object + + + None + + + TextToSpeechPrompt + + The TextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt that is to be read when the prompt is activated. + This parameter is required when text to speech prompts are being created. + + System.String + + System.String + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + New-CsAutoAttendantPrompt + + AudioFilePrompt + + The AudioFilePrompt parameter represents the audio to play when the prompt is activated (rendered). + This parameter is required when audio file prompts are being created. You can create audio files by using the `Import-CsOnlineAudioFile` cmdlet. + + Object + + Object + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + New-CsAutoAttendantPrompt + + TextToSpeechPrompt + + The TextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt that is to be read when the prompt is activated. + This parameter is required when text to speech prompts are being created. + + System.String + + System.String + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + ActiveType + + PARAMVALUE: None | TextToSpeech | AudioFile + The ActiveType parameter identifies the active type (modality) of the AA prompt. It can be set to None (the prompt is disabled), TextToSpeech (text-to-speech is played when the prompt is rendered) or AudioFile (audio file data is played when the prompt is rendered). + This is explicitly required if both Audio File and TTS prompts are specified. Otherwise, it is inferred. + + Object + + Object + + + None + + + AudioFilePrompt + + The AudioFilePrompt parameter represents the audio to play when the prompt is activated (rendered). + This parameter is required when audio file prompts are being created. You can create audio files by using the `Import-CsOnlineAudioFile` cmdlet. + + Object + + Object + + + None + + + TextToSpeechPrompt + + The TextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt that is to be read when the prompt is activated. + This parameter is required when text to speech prompts are being created. + + System.String + + System.String + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + None + + + + + + + + + + Microsoft.Rtc.Management.Hosted.OAA.Models.Prompt + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + $ttsPrompt = New-CsAutoAttendantPrompt -TextToSpeechPrompt "Welcome to Contoso!" + + This example creates a new prompt that reads the supplied text. + + + + -------------------------- Example 2 -------------------------- + $content = [System.IO.File]::ReadAllBytes('C:\Media\hello.wav') +$audioFile = Import-CsOnlineAudioFile -ApplicationId "OrgAutoAttendant" -FileName "hello.wav" -Content $content +$audioFilePrompt = New-CsAutoAttendantPrompt -AudioFilePrompt $audioFile + + This example creates a new prompt that plays the selected audio file. + + + + -------------------------- Example 3 -------------------------- + $content = [System.IO.File]::ReadAllBytes('C:\Media\hello.wav') +$audioFile = Import-CsOnlineAudioFile -ApplicationId "OrgAutoAttendant" -FileName "hello.wav" -Content $content +$dualPrompt = New-CsAutoAttendantPrompt -ActiveType AudioFile -AudioFilePrompt $audioFile -TextToSpeechPrompt "Welcome to Contoso!" + + This example creates a new prompt that has both audio file and text-to-speech data, but will play the audio file when the prompt is activated (rendered). + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csautoattendantprompt + + + Import-CsOnlineAudioFile + + + + + + + New-CsBatchPolicyAssignmentOperation + New + CsBatchPolicyAssignmentOperation + + This cmdlet is used to assign or unassign a policy to a batch of users. + + + + When a policy is assigned to a batch of users, the assignments are performed as an asynchronous operation. The cmdlet returns the operation ID which can be used to track the progress and status of the assignments. + Users can be specified by their object ID (guid) or by their SIP address (user@contoso.com). Note that a user's SIP address often has the same value as the User Principal Name (UPN), but this is not required. If a user is specified using their UPN, but it has a different value than their SIP address, then the policy assignment will fail for the user. + A batch may contain up to 5,000 users. If a batch includes duplicate users, the duplicates will be removed from the batch before processing and status will only be provided for the unique users remaining in the batch. For best results, do not submit more than a few batches at a time. Allow batches to complete processing before submitting more batches. + You must be a Teams service admin, a Teams communication admin, or Global Administrator to run the cmdlet. + Batch policy assignment is currently limited to the following policy types: CallingLineIdentity, ExternalAccessPolicy, OnlineVoiceRoutingPolicy, TeamsAppSetupPolicy, TeamsAppPermissionPolicy, TeamsCallingPolicy, TeamsCallParkPolicy, TeamsChannelsPolicy, TeamsEducationAssignmentsAppPolicy, TeamsEmergencyCallingPolicy, TeamsMeetingBroadcastPolicy, TeamsEmergencyCallRoutingPolicy, TeamsMeetingPolicy, TeamsMessagingPolicy, TeamsTemplatePermissionPolicy, TeamsUpdateManagementPolicy, TeamsUpgradePolicy, TeamsVerticalPackagePolicy, TeamsVideoInteropServicePolicy, TenantDialPlan + + + + New-CsBatchPolicyAssignmentOperation + + Identity + + An array of users, specified either using object IDs (guid) or SIP addresses. There is a maximum of 5,000 users per batch. + + String + + String + + + None + + + PolicyName + + The name of the policy to be assigned to the users. To remove the currently assigned policy, use $null or an empty string "". + + String + + String + + + None + + + PolicyType + + The type of the policy to be assigned to the users. For the list of current policy types accepted by this parameter, see the Description section at the beginning of this article. + + String + + String + + + None + + + OperationName + + An optional name for the batch assignment operation. + + String + + String + + + None + + + AdditionalParameters + + . + + Hashtable + + Hashtable + + + None + + + Break + + Wait for .NET debugger to attach + + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + Proxy + + The URI for the proxy server to use + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy + + + SwitchParameter + + + False + + + + + + Identity + + An array of users, specified either using object IDs (guid) or SIP addresses. There is a maximum of 5,000 users per batch. + + String + + String + + + None + + + PolicyName + + The name of the policy to be assigned to the users. To remove the currently assigned policy, use $null or an empty string "". + + String + + String + + + None + + + PolicyType + + The type of the policy to be assigned to the users. For the list of current policy types accepted by this parameter, see the Description section at the beginning of this article. + + String + + String + + + None + + + OperationName + + An optional name for the batch assignment operation. + + String + + String + + + None + + + AdditionalParameters + + . + + Hashtable + + Hashtable + + + None + + + Break + + Wait for .NET debugger to attach + + SwitchParameter + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + Proxy + + The URI for the proxy server to use + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy + + SwitchParameter + + SwitchParameter + + + False + + + + + + + OperationId + + + The ID of the operation that can be used with the Get-CsBatchPolicyAssignmentOperation cmdlet to get the status of the operation. + + + + + + + + + + + -------------------------- EXAMPLE 1 -------------------------- + $users_ids = @("psmith@contoso.com","tsanchez@contoso.com","bharvest@contoso.com") +New-CsBatchPolicyAssignmentOperation -PolicyType TeamsMeetingPolicy -PolicyName Kiosk -Identity $users_ids -OperationName "Batch assign Kiosk" + + In this example, the batch of users is specified as an array of user SIP addresses. + + + + -------------------------- EXAMPLE 2 -------------------------- + $users_ids = @("2bdb15a9-2cf1-4b27-b2d5-fcc1d13eebc9", "d928e0fc-c957-4685-991b-c9e55a3534c7", "967cc9e4-4139-4057-9b84-1af80f4856fc") +New-CsBatchPolicyAssignmentOperation -PolicyType TeamsMeetingPolicy -PolicyName $null -Identity $users_ids -OperationName "Batch unassign meeting policy" + + In this example, a policy is removed from a batch of users by passing $null as the policy name. + + + + -------------------------- EXAMPLE 3 -------------------------- + $users_ids = Get-Content .\users_ids.txt +New-CsBatchPolicyAssignmentOperation -PolicyType TeamsMeetingPolicy -PolicyName Kiosk -Identity $users_ids -OperationName "Batch assign Kiosk" + + In this example, the batch of users is read from a text file containing user object IDs (guids). + + + + -------------------------- EXAMPLE 4 -------------------------- + Connect-AzureAD +$users = Get-AzureADUser +New-CsBatchPolicyAssignmentOperation -PolicyType TeamsMeetingPolicy -PolicyName Kiosk -Identity $users.SipProxyAddress -OperationName "batch assign kiosk" + + In this example, the batch of users is obtained by connecting to Microsoft Entra ID and retrieving a collection of users and then referencing the SipProxyAddress property. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csbatchpolicyassignmentoperation + + + Get-CsBatchPolicyAssignmentOperation + + + + + + + New-CsBatchPolicyPackageAssignmentOperation + New + CsBatchPolicyPackageAssignmentOperation + + This cmdlet submits an operation that applies a policy package to a batch of users in a tenant. A batch may contain up to 5000 users. + + + + This cmdlet submits an operation that applies a policy package to a batch of users in a tenant. Provide one or more user identities to assign the package with all the associated policies. The available policy packages and their definitions can be found by running Get-CsPolicyPackage. The recommended policy package for each user can be found by running Get-CsUserPolicyPackageRecommendation. For more information on policy packages, please review https://learn.microsoft.com/MicrosoftTeams/manage-policy-packages. + + + + New-CsBatchPolicyPackageAssignmentOperation + + Identity + + A list of one or more users in the tenant. A user identity can either be a user's object id or email address. + + String[] + + String[] + + + None + + + PackageName + + The name of a specific policy package to apply. All policy package names can be found by running Get-CsPolicyPackage. To remove the currently assigned package, use $null or an empty string "". This will not remove any policy assignments, just the package assigned value. + + String + + String + + + None + + + + + + Identity + + A list of one or more users in the tenant. A user identity can either be a user's object id or email address. + + String[] + + String[] + + + None + + + PackageName + + The name of a specific policy package to apply. All policy package names can be found by running Get-CsPolicyPackage. To remove the currently assigned package, use $null or an empty string "". This will not remove any policy assignments, just the package assigned value. + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> New-CsBatchPolicyPackageAssignmentOperation -Identity 1bc0b35f-095a-4a37-a24c-c4b6049816ab,johndoe@example.com,richardroe@example.com -PackageName Education_PrimaryStudent + + Applies the Education_PrimaryStudent policy package to three users in the tenant. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csbatchpolicypackageassignmentoperation + + + Get-CsPolicyPackage + + + + Get-CsUserPolicyPackageRecommendation + + + + Get-CsUserPolicyPackage + + + + + + + New-CsBatchTeamsDeployment + New + CsBatchTeamsDeployment + + This cmdlet is used to run a batch deployment orchestration. + + + + Deploying Teams at scale enables admins to deploy up to 500 teams and add 25 users per team using one Teams PowerShell command and two CSV files. This allows admins to meet your organization's scale needs and significantly reduce deployment time. Admins can also use this solution to add and remove members from existing teams at scale. You can use this cmdlet to: - Create teams using pre-built templates or your own custom templates. + - Add users to teams as owners or members. + - Manage teams at scale by adding or removing users from existing teams. + - Stay notified through email, including completion, status, and errors (if any). You can choose to notify up to five people about the status of each batch of teams you deploy. Team owners and members are automatically notified when they're added to a team. + + + + New-CsBatchTeamsDeployment + + TeamsFilePath + + The path to the CSV file that defines the teams you're creating. For information about the CSV file format, see Deploy Teams at scale for frontline workers (/microsoft-365/frontline/deploy-teams-at-scale). + + String + + String + + + None + + + UsersFilePath + + The path to the CSV file that maps the users you're adding to each team. For information about the CSV file format, see Deploy Teams at scale for frontline workers (/microsoft-365/frontline/deploy-teams-at-scale). + + String + + String + + + None + + + UsersToNotify + + The email addresses of up to five recipients to notify about this deployment. The recipients will receive email notifications about deployment status. The email contains the orchestration ID for the batch you submitted and any errors that may have occurred. + + String + + String + + + None + + + + + + TeamsFilePath + + The path to the CSV file that defines the teams you're creating. For information about the CSV file format, see Deploy Teams at scale for frontline workers (/microsoft-365/frontline/deploy-teams-at-scale). + + String + + String + + + None + + + UsersFilePath + + The path to the CSV file that maps the users you're adding to each team. For information about the CSV file format, see Deploy Teams at scale for frontline workers (/microsoft-365/frontline/deploy-teams-at-scale). + + String + + String + + + None + + + UsersToNotify + + The email addresses of up to five recipients to notify about this deployment. The recipients will receive email notifications about deployment status. The email contains the orchestration ID for the batch you submitted and any errors that may have occurred. + + String + + String + + + None + + + + + + + OrchestrationId + + + The ID of the operation that can be used with the Get-CsBatchTeamsDeploymentStatus cmdlet to get the status of the operation. + + + + + + + + + + + -------------------------- EXAMPLE 1 -------------------------- + New-CsBatchTeamsDeployment -TeamsFilePath "C:\dscale\Teams.csv" -UsersFilePath "C:\dscale\Users.csv" -UsersToNotify "adminteams@contoso.com,adelev@contoso.com" + + This command runs a batch deployment with the provided parameters in the CSV files and emails the status and errors (if any) to adminteams@contoso.com and adelev@contoso.com. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csbatchteamsdeployment + + + Get-CsBatchTeamsDeploymentStatus + + + + + + + New-CsCallingLineIdentity + New + CsCallingLineIdentity + + Use the New-CsCallingLineIdentity cmdlet to create a new Caller ID policy for your organization. + + + + Note : The use of CallingIDSubstitute Service has been deprecated. You are no longer able to create new Caller ID policies using CallingIDSubstitute Service and existing policies using CallingIDSubstitute Service are not being honored. You should use CallingIDSubstitute Resource instead. + You can either change or block the Caller ID (also called a Calling Line ID) for a user. By default, the Teams or Skype for Business Online user's phone number can be seen when that user makes a call to a PSTN phone, or when a call comes in. You can create a Caller ID policy to provide an alternate displayed number, or to block any number from being displayed. + Note: +- Identity must be unique. + - If CallerIdSubstitute is given as "Resource", then ResourceAccount cannot be empty. + + + + New-CsCallingLineIdentity + + Identity + + The Identity parameter identifies the Caller ID policy. + + String + + String + + + None + + + BlockIncomingPstnCallerID + + The BlockIncomingPstnCallerID switch determines whether to block the incoming Caller ID. The default value is false. + The BlockIncomingPstnCallerID switch is specific to incoming calls from a PSTN caller to a user. If this is set to True and if this policy is assigned to a user, then Caller ID for incoming calls is suppressed/anonymous. + + Boolean + + Boolean + + + None + + + CallingIDSubstitute + + Note : The use of CallingIDSubstitute Service will be deprecated and you can't create new Caller ID policies with it. You should use CallingIDSubstitute Resource instead. + The CallingIDSubstitute parameter lets you specify an alternate Caller ID. The default value is LineUri. Supported values are Anonymous, LineUri, and Resource. + + String + + String + + + None + + + CompanyName + + This parameter sets the Calling party name (typically referred to as CNAM) on the outgoing PSTN call. + + String + + String + + + None + + + Description + + The Description parameter briefly describes the Caller ID policy. + + String + + String + + + None + + + EnableUserOverride + + The EnableUserOverride parameter gives Microsoft Teams users the option under Settings and Calls to hide their phone number when making outgoing calls. The CallerID will be Anonymous. + If CallingIDSubstitute is set to Anonymous, the EnableUserOverride parameter has no effect, and the caller ID is always set to Anonymous. + EnableUserOverride has precedence over other settings in the policy unless substitution is set to Anonymous. For example, assume the policy instance has substitution using a resource account and EnableUserOverride is set and enabled by the user. In this case, the outbound caller ID will be blocked and Anonymous will be used. + + Boolean + + Boolean + + + False + + + ResourceAccount + + This parameter specifies the ObjectId of a resource account/online application instance used for Teams Auto Attendant or Call Queue. The outgoing PSTN call will use the phone number defined on the resource account as caller id. For more information about resource accounts please see https://learn.microsoft.com/microsoftteams/manage-resource-accounts + + String + + String + + + None + + + ServiceNumber + + Note : The use of CallingIDSubstitute Service and -ServiceNumber will be deprecated and you can't create new Caller ID policies with it. You should use CallingIDSubstitute Resource and -ResourceAccount instead. + The ServiceNumber parameter lets you add any valid service number for the CallingIdSubstitute. + Note: Do not add '+' to the Service number. For example, if the Service number is +1425-xxx-xxxx then valid input is 1425xxxxxxx + + String + + String + + + None + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + + SwitchParameter + + + False + + + Confirm + + The Confirm switch causes the command to pause processing and requires confirmation to proceed. + + + SwitchParameter + + + False + + + + + + Identity + + The Identity parameter identifies the Caller ID policy. + + String + + String + + + None + + + BlockIncomingPstnCallerID + + The BlockIncomingPstnCallerID switch determines whether to block the incoming Caller ID. The default value is false. + The BlockIncomingPstnCallerID switch is specific to incoming calls from a PSTN caller to a user. If this is set to True and if this policy is assigned to a user, then Caller ID for incoming calls is suppressed/anonymous. + + Boolean + + Boolean + + + None + + + CallingIDSubstitute + + Note : The use of CallingIDSubstitute Service will be deprecated and you can't create new Caller ID policies with it. You should use CallingIDSubstitute Resource instead. + The CallingIDSubstitute parameter lets you specify an alternate Caller ID. The default value is LineUri. Supported values are Anonymous, LineUri, and Resource. + + String + + String + + + None + + + CompanyName + + This parameter sets the Calling party name (typically referred to as CNAM) on the outgoing PSTN call. + + String + + String + + + None + + + Description + + The Description parameter briefly describes the Caller ID policy. + + String + + String + + + None + + + EnableUserOverride + + The EnableUserOverride parameter gives Microsoft Teams users the option under Settings and Calls to hide their phone number when making outgoing calls. The CallerID will be Anonymous. + If CallingIDSubstitute is set to Anonymous, the EnableUserOverride parameter has no effect, and the caller ID is always set to Anonymous. + EnableUserOverride has precedence over other settings in the policy unless substitution is set to Anonymous. For example, assume the policy instance has substitution using a resource account and EnableUserOverride is set and enabled by the user. In this case, the outbound caller ID will be blocked and Anonymous will be used. + + Boolean + + Boolean + + + False + + + ResourceAccount + + This parameter specifies the ObjectId of a resource account/online application instance used for Teams Auto Attendant or Call Queue. The outgoing PSTN call will use the phone number defined on the resource account as caller id. For more information about resource accounts please see https://learn.microsoft.com/microsoftteams/manage-resource-accounts + + String + + String + + + None + + + ServiceNumber + + Note : The use of CallingIDSubstitute Service and -ServiceNumber will be deprecated and you can't create new Caller ID policies with it. You should use CallingIDSubstitute Resource and -ResourceAccount instead. + The ServiceNumber parameter lets you add any valid service number for the CallingIdSubstitute. + Note: Do not add '+' to the Service number. For example, if the Service number is +1425-xxx-xxxx then valid input is 1425xxxxxxx + + String + + String + + + None + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + The Confirm switch causes the command to pause processing and requires confirmation to proceed. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + None + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + New-CsCallingLineIdentity -Identity Anonymous -Description "anonymous policy" -CallingIDSubstitute Anonymous -EnableUserOverride $false + + This example creates a new Caller ID policy that sets the Caller ID to Anonymous. + + + + -------------------------- Example 2 -------------------------- + New-CsCallingLineIdentity -Identity BlockIncomingCLID -BlockIncomingPstnCallerID $true + + This example creates a new Caller ID policy that blocks the incoming Caller ID. + + + + -------------------------- Example 3 -------------------------- + $ObjId = (Get-CsOnlineApplicationInstance -Identity dkcq@contoso.com).ObjectId +New-CsCallingLineIdentity -Identity DKCQ -CallingIDSubstitute Resource -EnableUserOverride $false -ResourceAccount $ObjId -CompanyName "Contoso" + + This example creates a new Caller ID policy that sets the Caller ID to the phone number of the specified resource account and sets the Calling party name to Contoso + + + + -------------------------- Example 4 -------------------------- + New-CsCallingLineIdentity -Identity AllowAnonymousForUsers -EnableUserOverride $true + + This example creates a new Caller ID policy that allows Teams users to make anonymous calls. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-cscallinglineidentity + + + Get-CsCallingLineIdentity + + + + Grant-CsCallingLineIdentity + + + + Remove-CsCallingLineIdentity + + + + Set-CsCallingLineIdentity + + + + + + + New-CsCallQueue + New + CsCallQueue + + Creates new Call Queue in your Skype for Business Online organization. + + + + The New-CsCallQueue cmdlet creates a new Call Queue. + > [!CAUTION] > The following configuration parameters are currently only available in PowerShell and do not appear in Teams admin center. Saving a call queue configuration through Teams admin center will remove any of these configured items: > > - -HideAuthorizedUsers > - -OverflowRedirectPersonTextToSpeechPrompt > - -OverflowRedirectPersonAudioFilePrompt > - -OverflowRedirectVoicemailTextToSpeechPrompt > - -OverflowRedirectVoicemailAudioFilePrompt > - -TimeoutRedirectPersonTextToSpeechPrompt > - -TimeoutRedirectPersonAudioFilePrompt > - -TimeoutRedirectVoicemailTextToSpeechPrompt > - -TimeoutRedirectVoicemailAudioFilePrompt > - -NoAgentRedirectPersonTextToSpeechPrompt > - -NoAgentRedirectPersonAudioFilePrompt > - -NoAgentRedirectVoicemailTextToSpeechPrompt > - -NoAgentRedirectVoicemailAudioFilePrompt > > The following configuration parameters will only work for customers that are participating in the Voice Applications private preview for these features. General Availability for this functionality has not been determined at this time. > > - -OverflowActionCallPriority > - -TimeoutActionCallPriority > - -NoAgentActionCallPriority > - -IsCallbackEnabled > - -CallbackRequestDtmf > - -WaitTimeBeforeOfferingCallbackInSecond > - -NumberOfCallsInQueueBeforeOfferingCallback > - -CallToAgentRatioThresholdBeforeOfferingCallback > - -CallbackOfferAudioFilePromptResourceId > - -CallbackOfferTextToSpeechPrompt > - -CallbackEmailNotificationTarget > - -ServiceLevelThresholdResponseTimeInSecond + + + + New-CsCallQueue + + Name + + The Name parameter specifies a unique name for the Call Queue. + + String + + String + + + None + + + AgentAlertTime + + The AgentAlertTime parameter represents the time (in seconds) that a call can remain unanswered before it is automatically routed to the next agent. The AgentAlertTime can be set to any integer value between 15 and 180 seconds (3 minutes), inclusive. The default value is 30 seconds. + + Int16 + + Int16 + + + 30 + + + AllowOptOut + + The AllowOptOut parameter indicates whether or not agents can opt in or opt out from taking calls from a Call Queue. + + Boolean + + Boolean + + + True + + + DistributionLists + + The DistributionLists parameter lets you add all the members of the distribution lists to the Call Queue. This is a list of distribution list GUIDs. A service wide configurable maximum number of DLs per Call Queue are allowed. Only the first N (service wide configurable) agents from all distribution lists combined are considered for accepting the call. Nested DLs are supported. O365 Groups can also be used to add members to the Call Queue. + + List + + List + + + None + + + Tenant + + This parameter is reserved for Microsoft internal use only. + + Guid + + Guid + + + None + + + UseDefaultMusicOnHold + + The UseDefaultMusicOnHold parameter indicates that this Call Queue uses the default music on hold. This parameter cannot be specified together with MusicOnHoldAudioFileId. + + Boolean + + Boolean + + + None + + + WelcomeMusicAudioFileId + + The WelcomeMusicAudioFileId parameter represents the audio file to play when callers are connected with the Call Queue. This is the unique identifier of the audio file. + + Guid + + Guid + + + None + + + MusicOnHoldAudioFileId + + The MusicOnHoldAudioFileId parameter represents music to play when callers are placed on hold. This is the unique identifier of the audio file. This parameter is required if the UseDefaultMusicOnHold parameter is not specified. + + Guid + + Guid + + + None + + + OverflowAction + + The OverflowAction parameter designates the action to take if the overflow threshold is reached. The OverflowAction property must be set to one of the following values: DisconnectWithBusy, Forward, Voicemail, and SharedVoicemail. The default value is DisconnectWithBusy. + PARAMVALUE: DisconnectWithBusy | Forward | Voicemail | SharedVoicemail + + Object + + Object + + + DisconnectWithBusy + + + OverflowActionTarget + + The OverflowActionTarget parameter represents the target of the overflow action. If the OverFlowAction is set to Forward, this parameter must be set to a Guid or a telephone number with a mandatory 'tel:' prefix. If the OverflowAction is set to SharedVoicemail, this parameter must be set to a group ID (Microsoft 365, Distribution list, or Mail-enabled security). Otherwise, this parameter is optional. + + String + + String + + + None + + + OverflowActionCallPriority + + Private Preview customers only If the OverFlowAction is set to Forward, and the OverflowActionTarget is set to an Auto attendant or Call queue resource account Guid, this parameter must be set to indicate the priority that will be assigned to the call. Otherwise, this parameter is not applicable. + PARAMVALUE: 1 | 2 | 3 | 4 | 5 - 1 = Very High + - 2 = High + - 3 = Normal / Default + - 4 = Low + - 5 = Very Low + + Int16 + + Int16 + + + None + + + OverflowThreshold + + The OverflowThreshold parameter defines the number of calls that can be in the queue at any one time before the overflow action is triggered. The OverflowThreshold can be any integer value between 0 and 200, inclusive. A value of 0 causes calls not to reach agents and the overflow action to be taken immediately. + + Int16 + + Int16 + + + 50 + + + TimeoutAction + + The TimeoutAction parameter defines the action to take if the timeout threshold is reached. The TimeoutAction property must be set to one of the following values: Disconnect, Forward, Voicemail, and SharedVoicemail. The default value is Disconnect. + PARAMVALUE: Disconnect | Forward | Voicemail | SharedVoicemail + + Object + + Object + + + Disconnect + + + TimeoutActionTarget + + The TimeoutActionTarget represents the target of the timeout action. If the TimeoutAction is set to Forward, this parameter must be set to a Guid or a telephone number with a mandatory 'tel:' prefix. If the TimeoutAction is set to SharedVoicemail, this parameter must be set to an Office 365 Group ID. Otherwise, this field is optional. + + String + + String + + + None + + + TimeoutActionCallPriority + + Private Preview customers only If the TimeoutAction is set to Forward, and the TimeoutActionTarget is set to an Auto attendant or Call queue resource account Guid, this parameter must be set to indicate the priority that will be assigned to the call. Otherwise, this parameter is not applicable. + PARAMVALUE: 1 | 2 | 3 | 4 | 5 - 1 = Very High + - 2 = High + - 3 = Normal / Default + - 4 = Low + - 5 = Very Low + + Int16 + + Int16 + + + None + + + TimeoutThreshold + + The TimeoutThreshold parameter defines the time (in seconds) that a call can be in the queue before that call times out. At that point, the system will take the action specified by the TimeoutAction parameter. The TimeoutThreshold can be any integer value between 0 and 2700 seconds (inclusive), and is rounded to the nearest 15th interval. For example, if set to 47 seconds, then it is rounded down to 45. If set to 0, welcome music is played, and then the timeout action will be taken. + + Int16 + + Int16 + + + 1200 + + + NoAgentApplyTo + + The NoAgentApplyTo parameter defines if the NoAgentAction applies to calls already in queue and new calls arriving to the queue, or only new calls that arrive once the No Agents condition occurs. The default value is AllCalls. + PARAMVALUE: AllCalls | NewCalls + + Object + + Object + + + Disconnect + + + NoAgentAction + + The NoAgentAction parameter defines the action to take if the no agents condition is reached. The NoAgentAction property must be set to one of the following values: Queue, Disconnect, Forward, Voicemail, and SharedVoicemail. The default value is Queue. + PARAMVALUE: Queue | Disconnect | Forward | Voicemail | SharedVoicemail + + Object + + Object + + + Disconnect + + + NoAgentActionTarget + + The NoAgentActionTarget represents the target of the no agent action. If the NoAgentAction is set to Forward, this parameter must be set to a GUID or a telephone number with a mandatory 'tel:' prefix. If the NoAgentAction is set to SharedVoicemail, this parameter must be set to a Microsoft 365 Group ID. Otherwise, this field is optional. + + String + + String + + + None + + + NoAgentActionCallPriority + + Private Preview customers only If the NoAgentAction is set to Forward, and the NoAgentActionTarget is set to an Auto attendant or Call queue resource account Guid, this parameter must be set to indicate the priority that will be assigned to the call. Otherwise, this parameter is not applicable. + PARAMVALUE: 1 | 2 | 3 | 4 | 5 - 1 = Very High + - 2 = High + - 3 = Normal / Default + - 4 = Low + - 5 = Very Low + + Int16 + + Int16 + + + None + + + RoutingMethod + + The RoutingMethod parameter defines how agents will be called in a Call Queue. If the routing method is set to Serial, then agents will be called one at a time. If the routing method is set to Attendant, then agents will be called in parallel. If the routing method is set to RoundRobin, the agents will be called using the Round Robin strategy so that all agents share the call load equally. If the routing method is set to LongestIdle, the agents will be called based on their idle time, that is, the agent that has been idle for the longest period will be called. + PARAMVALUE: Attendant | Serial | RoundRobin | LongestIdle + + Object + + Object + + + Attendant + + + PresenceBasedRouting + + The PresenceBasedRouting parameter indicates whether or not presence based routing will be applied while call being routed to Call Queue agents. When set to False, calls will be routed to agents who have opted in to receive calls, regardless of their presence state. When set to True, opted-in agents will receive calls only when their presence state is Available. + + Boolean + + Boolean + + + True + + + ConferenceMode + + The ConferenceMode parameter indicates whether or not Conference mode will be applied on calls for this Call queue. Conference mode significantly reduces the amount of time it takes for a caller to be connected to an agent, after the agent accepts the call. The following bullet points detail the difference between both modes: + - Conference Mode Disabled: CQ call is presented to agent. Agent answers and media streams are setup. Based on geographic location of the CQ call and agent, there may be a slight delay in setting up the media streams which may result in some dead air and the first part of the conversation being cut off. + - Conference Mode Enabled: CQ call is put into conference. Agent answers and is brought into conference. Media streams are already setup when agent is brought into conference thus no dead air, and first bit of conversation will not be cut off. + + Boolean + + Boolean + + + True + + + Users + + The Users parameter lets you add agents to the Call Queue. This parameter expects a list of user unique identifiers (GUID). + + List + + List + + + None + + + LanguageId + + The LanguageId parameter indicates the language that is used to play shared voicemail prompts. This parameter becomes a required parameter if either OverflowAction or TimeoutAction is set to SharedVoicemail. + You can query the supported languages using the Get-CsAutoAttendantSupportedLanguage cmdlet. + + String + + String + + + None + + + LineUri + + This parameter is reserved for Microsoft internal use only. + + String + + String + + + None + + + OboResourceAccountIds + + The OboResourceAccountIds parameter lets you add resource account with phone number to the Call Queue. The agents in the Call Queue will be able to make outbound calls using the phone number on the resource accounts. This is a list of resource account GUIDs. + Only Call Queue managed by a Teams Channel will be able to use this feature. For more information, refer to Manage your support Call Queue in Teams (https://support.microsoft.com/office/manage-your-support-call-queue-in-teams-9f07dabe-91c6-4a9b-a545-8ffdddd2504e). + + List + + List + + + None + + + OverflowDisconnectTextToSpeechPrompt + + The OverflowDisconnectTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being disconnected due to overflow. + + String + + String + + + None + + + OverflowDisconnectAudioFilePrompt + + The OverflowDisconnectAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being disconnected due to overflow. + + Guid + + Guid + + + None + + + OverflowRedirectPersonTextToSpeechPrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The OverflowRedirectPersonTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a person in the organization due to overflow. + + String + + String + + + None + + + OverflowRedirectPersonAudioFilePrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The OverflowRedirectPersonAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a person in the organization due to overflow. + + Guid + + Guid + + + None + + + OverflowRedirectVoiceAppTextToSpeechPrompt + + The OverflowRedirectVoiceAppsTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a voice application due to overflow. + + String + + String + + + None + + + OverflowRedirectVoiceAppAudioFilePrompt + + The OverflowRedirectVoiceAppAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a voice application due to overflow. + + Guid + + Guid + + + None + + + OverflowRedirectPhoneNumberTextToSpeechPrompt + + The OverflowRedirectPhoneNumberTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to an external PSTN phone number due to overflow. + + String + + String + + + None + + + OverflowRedirectPhoneNumberAudioFilePrompt + + The OverflowRedirectPhoneNumberAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to an external PSTN phone number due to overflow. + + Guid + + Guid + + + None + + + OverflowRedirectVoicemailTextToSpeechPrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The OverflowRedirectVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a person's voicemail due to overflow. + + String + + String + + + None + + + OverflowRedirectVoicemailAudioFilePrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The OverflowRedirectVoiceMailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a person's voicemail due to overflow. + + Guid + + Guid + + + None + + + OverflowSharedVoicemailTextToSpeechPrompt + + The OverflowSharedVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when transferred to shared voicemail on overflow. This parameter becomes a required parameter when OverflowAction is SharedVoicemail and OverflowSharedVoicemailAudioFilePrompt is null. + + String + + String + + + None + + + OverflowSharedVoicemailAudioFilePrompt + + The OverflowSharedVoicemailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when transferred to shared voicemail on overflow. This parameter becomes a required parameter when OverflowAction is SharedVoicemail and OverflowSharedVoicemailTextToSpeechPrompt is null. + + Guid + + Guid + + + None + + + EnableOverflowSharedVoicemailTranscription + + The EnableOverflowSharedVoicemailTranscription parameter is used to turn on transcription for voicemails left by a caller on overflow. This parameter is only applicable when OverflowAction is set to SharedVoicemail. + + Boolean + + Boolean + + + False + + + EnableOverflowSharedVoicemailSystemPromptSuppression + + The EnableOverflowSharedVoicemailSystemPromptSuppress parameter is used to turn off the default voicemail system prompts. This parameter is only applicable when OverflowAction is set to SharedVoicemail. + + Boolean + + Boolean + + + False + + + TimeoutDisconnectTextToSpeechPrompt + + The TimeoutDisconnectTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being disconnected due to timeout. + + String + + String + + + None + + + TimeoutDisconnectAudioFilePrompt + + The TimeoutDisconnectAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being disconnected due to timeout. + + Guid + + Guid + + + None + + + TimeoutRedirectPersonTextToSpeechPrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The TimeoutRedirectPersonTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a person in the organization due to timeout. + + String + + String + + + None + + + TimeoutRedirectPersonAudioFilePrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The TimeoutRedirectPersonAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a person in the organization due to timeout. + + Guid + + Guid + + + None + + + TimeoutRedirectVoiceAppTextToSpeechPrompt + + The TimeoutRedirectVoiceAppsTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a voice application due to timeout. + + String + + String + + + None + + + TimeoutRedirectVoiceAppAudioFilePrompt + + The TimeoutRedirectVoiceAppAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a voice application due to timeout. + + Guid + + Guid + + + None + + + TimeoutRedirectPhoneNumberTextToSpeechPrompt + + The TimeoutRedirectPhoneNumberTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to an external PSTN phone number due to timeout. + + String + + String + + + None + + + TimeoutRedirectPhoneNumberAudioFilePrompt + + The TimeoutRedirectPhoneNumberAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to an external PSTN phone number due to timeout. + + Guid + + Guid + + + None + + + TimeoutRedirectVoicemailTextToSpeechPrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The TimeoutRedirectVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a person's voicemail due to timeout. + + String + + String + + + None + + + TimeoutRedirectVoicemailAudioFilePrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The TimeoutRedirectVoiceMailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a person's voicemail due to timeout. + + Guid + + Guid + + + None + + + TimeoutSharedVoicemailTextToSpeechPrompt + + The TimeoutSharedVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when transferred to shared voicemail on timeout. This parameter becomes a required parameter when TimeoutAction is SharedVoicemail and TimeoutSharedVoicemailAudioFilePrompt is null. + + String + + String + + + None + + + TimeoutSharedVoicemailAudioFilePrompt + + The TimeoutSharedVoicemailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when transferred to shared voicemail on timeout. This parameter becomes a required parameter when TimeoutAction is SharedVoicemail and TimeoutSharedVoicemailTextToSpeechPrompt is null. + + Guid + + Guid + + + None + + + EnableTimeoutSharedVoicemailTranscription + + The EnableTimeoutSharedVoicemailTranscription parameter is used to turn on transcription for voicemails left by a caller on timeout. This parameter is only applicable when TimeoutAction is set to SharedVoicemail. + + Boolean + + Boolean + + + False + + + EnableTimeoutSharedVoicemailSystemPromptSuppression + + The EnableTimeoutSharedVoicemailSystemPromptSuppress parameter is used to turn off the default voicemail system prompts. This parameter is only applicable when OverflowAction is set to SharedVoicemail. + + Boolean + + Boolean + + + False + + + NoAgentDisconnectTextToSpeechPrompt + + The NoAgentDisconnectTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being disconnected due to no agents. + + String + + String + + + None + + + NoAgentDisconnectAudioFilePrompt + + The NoAgentDisconnectAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being disconnected due to no agents. + + Guid + + Guid + + + None + + + NoAgentRedirectPersonTextToSpeechPrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The NoAgentRedirectPersonTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a person in the organization due to no agents. + + String + + String + + + None + + + NoAgentRedirectPersonAudioFilePrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The NoAgentRedirectPersonAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a person in the organization due to no agents. + + Guid + + Guid + + + None + + + NoAgentRedirectVoiceAppTextToSpeechPrompt + + The NoAgentRedirectVoiceAppsTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a voice application due to no agents. + + String + + String + + + None + + + NoAgentRedirectVoiceAppAudioFilePrompt + + The NoAgentRedirectVoiceAppAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a voice application due to no agents. + + Guid + + Guid + + + None + + + NoAgentRedirectPhoneNumberTextToSpeechPrompt + + The NoAgentRedirectPhoneNumberTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to an external PSTN phone number due to no agents. + + String + + String + + + None + + + NoAgentRedirectPhoneNumberAudioFilePrompt + + The NoAgentRedirectPhoneNumberAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to an external PSTN phone number due to no agents. + + Guid + + Guid + + + None + + + NoAgentRedirectVoicemailTextToSpeechPrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The NoAgentRedirectVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a person's voicemail due to no agent. + + String + + String + + + None + + + NoAgentRedirectVoicemailAudioFilePrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The NoAgentRedirectVoiceMailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a person's voicemail due to no agent. + + Guid + + Guid + + + None + + + NoAgentSharedVoicemailTextToSpeechPrompt + + The NoAgentSharedVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when transferred to shared voicemail on no agents. This parameter becomes a required parameter when NoAgentAction is SharedVoicemail and NoAgentSharedVoicemailAudioFilePrompt is null. + + String + + String + + + None + + + NoAgentSharedVoicemailAudioFilePrompt + + The NoAgentSharedVoicemailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when transferred to shared voicemail on no agents. This parameter becomes a required parameter when NoAgentAction is SharedVoicemail and NoAgentSharedVoicemailTextToSpeechPrompt is null. + + Guid + + Guid + + + None + + + EnableNoAgentSharedVoicemailTranscription + + The EnableNoAgentSharedVoicemailTranscription parameter is used to turn on transcription for voicemails left by a caller on no agents. This parameter is only applicable when NoAgentAction is set to SharedVoicemail. + + Boolean + + Boolean + + + False + + + EnableNoAgentSharedVoicemailSystemPromptSuppression + + The EnableNoAgentSharedVoicemailSystemPromptSuppress parameter is used to turn off the default voicemail system prompts. This parameter is only applicable when NoAgentAction is set to SharedVoicemail. + + Boolean + + Boolean + + + False + + + ChannelId + + Id of the channel to connect a call queue to. + + String + + String + + + None + + + ChannelUserObjectId + + Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). This is the GUID of one of the owners of the team the channels belongs to. + + Guid + + Guid + + + None + + + AuthorizedUsers + + This is a list of GUIDs for users who are authorized to make changes to this call queue. The users must also have a TeamsVoiceApplications policy assigned. The GUID should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). + + List + + List + + + None + + + HideAuthorizedUsers + + Saving a call queue configuration through Teams admin center will *remove* this setting. This is a list of GUIDs of authorized users who should not appear on the list of supervisors for the agents who are members of this queue. The GUID should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). + + List + + List + + + None + + + WelcomeTextToSpeechPrompt + + This parameter indicates which Text-to-Speech (TTS) prompt is played when callers are connected to the Call Queue. + + String + + String + + + None + + + IsCallbackEnabled + + Private Preview customers only The IsCallbackEnabled parameter is used to turn on/off callback. + + Boolean + + Boolean + + + None + + + CallbackRequestDtmf + + Private Preview customers only The DTMF touch-tone key the caller will be told to press to select callback. The CallbackRequestDtmf must be set to one of the following values: + - Tone0 to Tone9 - Corresponds to DTMF tones from 0 to 9. + - ToneStar - Corresponds to DTMF tone *. + - TonePound - Corresponds to DTMF tone #. + + This parameter becomes a required parameter when IsCallbackEnabled is set to `True`. + + String + + String + + + None + + + WaitTimeBeforeOfferingCallbackInSecond + + Private Preview customers only The number of seconds a call must wait before becoming eligible for callback. This condition applies to calls at the front of the call queue. Set to null ($null) to disable this condition. + At least one of `-WaitTimeBeforeOfferingCallbackInSecond`, `-NumberOfCallsInQueueBeforeOfferingCallback`, or `-CallToAgentRatioThresholdBeforeOfferingCallback` must be set to a value other than null when `-IsCallbackEnabled` is `True`. + + Int16 + + Int16 + + + None + + + NumberOfCallsInQueueBeforeOfferingCallback + + Private Preview customers only The number of calls in queue before a call becomes eligible for callback. This condition applies to calls arriving at the call queue. Set to null ($null) to disable this condition. + At least one of `-WaitTimeBeforeOfferingCallbackInSecond`, `-NumberOfCallsInQueueBeforeOfferingCallback`, or `-CallToAgentRatioThresholdBeforeOfferingCallback` must be set to a value other than null when `-IsCallbackEnabled` is `True`. + + Int16 + + Int16 + + + None + + + CallToAgentRatioThresholdBeforeOfferingCallback + + Private Preview customers only The ratio of calls to agents that must be in queue before a call becomes eligible for callback. This conditon applies to calls arriving at the call queue. Minimum value of 1. Set to null ($null) to disable this condition. + At least one of `-WaitTimeBeforeOfferingCallbackInSecond`, `-NumberOfCallsInQueueBeforeOfferingCallback`, or `-CallToAgentRatioThresholdBeforeOfferingCallback` must be set to a value other than null when `-IsCallbackEnabled` is `True`. + + Int16 + + Int16 + + + None + + + CallbackOfferAudioFilePromptResourceId + + Private Preview customers only The CallbackOfferAudioFilePromptResourceId parameter indicates the unique identifier for the Audio file prompt which is played to calls that are eligible for callback. This message should tell callers which DTMF touch-tone key (CallbackRequestDtmf) to press to select callback. This parameter, or `-CallbackOfferTextToSpeechPrompt`, becomes a required parameter when IsCallbackEnabled is set to `True`. + + Guid + + Guid + + + None + + + CallbackOfferTextToSpeechPrompt + + Private Preview customers only The CallbackOfferTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to calls that are eligible for callback. This message should tell callers which DTMF touch-tone key (CallbackRequestDtmf) to press to select callback. This parameter, or `-CallbackOfferAudioFilePromptResourceId`, becomes a required parameter when IsCallbackEnabled is set to `True`. + + String + + String + + + None + + + CallbackEmailNotificationTarget + + Private Preview customers only The CallbackEmailNotificationTarget parameter must be set to a group ID (Microsoft 365, Distribution list, or Mail-enabled security) that will receive notification if a callback times out of the call queue or can't be completed for some other reason. This parameter becomes a required parameter when IsCallbackEnabled is set to `True`. + + Guid + + Guid + + + None + + + ServiceLevelThresholdResponseTimeInSecond + + Private Preview customers only The target number of seconds calls should be answered in. This number is used to calculate the call queue service level percentage. + A value of `$null` indicates that a service level percentage will not be calculated for this call queue. + + Int16 + + Int16 + + + None + + + ShouldOverwriteCallableChannelProperty + + A Teams Channel can only be linked to one Call Queue at a time. To force reassignment of the Teams Channel to a new Call Queue, set this to $true. + + Boolean + + Boolean + + + False + + + + + + Name + + The Name parameter specifies a unique name for the Call Queue. + + String + + String + + + None + + + AgentAlertTime + + The AgentAlertTime parameter represents the time (in seconds) that a call can remain unanswered before it is automatically routed to the next agent. The AgentAlertTime can be set to any integer value between 15 and 180 seconds (3 minutes), inclusive. The default value is 30 seconds. + + Int16 + + Int16 + + + 30 + + + AllowOptOut + + The AllowOptOut parameter indicates whether or not agents can opt in or opt out from taking calls from a Call Queue. + + Boolean + + Boolean + + + True + + + DistributionLists + + The DistributionLists parameter lets you add all the members of the distribution lists to the Call Queue. This is a list of distribution list GUIDs. A service wide configurable maximum number of DLs per Call Queue are allowed. Only the first N (service wide configurable) agents from all distribution lists combined are considered for accepting the call. Nested DLs are supported. O365 Groups can also be used to add members to the Call Queue. + + List + + List + + + None + + + Tenant + + This parameter is reserved for Microsoft internal use only. + + Guid + + Guid + + + None + + + UseDefaultMusicOnHold + + The UseDefaultMusicOnHold parameter indicates that this Call Queue uses the default music on hold. This parameter cannot be specified together with MusicOnHoldAudioFileId. + + Boolean + + Boolean + + + None + + + WelcomeMusicAudioFileId + + The WelcomeMusicAudioFileId parameter represents the audio file to play when callers are connected with the Call Queue. This is the unique identifier of the audio file. + + Guid + + Guid + + + None + + + MusicOnHoldAudioFileId + + The MusicOnHoldAudioFileId parameter represents music to play when callers are placed on hold. This is the unique identifier of the audio file. This parameter is required if the UseDefaultMusicOnHold parameter is not specified. + + Guid + + Guid + + + None + + + OverflowAction + + The OverflowAction parameter designates the action to take if the overflow threshold is reached. The OverflowAction property must be set to one of the following values: DisconnectWithBusy, Forward, Voicemail, and SharedVoicemail. The default value is DisconnectWithBusy. + PARAMVALUE: DisconnectWithBusy | Forward | Voicemail | SharedVoicemail + + Object + + Object + + + DisconnectWithBusy + + + OverflowActionTarget + + The OverflowActionTarget parameter represents the target of the overflow action. If the OverFlowAction is set to Forward, this parameter must be set to a Guid or a telephone number with a mandatory 'tel:' prefix. If the OverflowAction is set to SharedVoicemail, this parameter must be set to a group ID (Microsoft 365, Distribution list, or Mail-enabled security). Otherwise, this parameter is optional. + + String + + String + + + None + + + OverflowActionCallPriority + + Private Preview customers only If the OverFlowAction is set to Forward, and the OverflowActionTarget is set to an Auto attendant or Call queue resource account Guid, this parameter must be set to indicate the priority that will be assigned to the call. Otherwise, this parameter is not applicable. + PARAMVALUE: 1 | 2 | 3 | 4 | 5 - 1 = Very High + - 2 = High + - 3 = Normal / Default + - 4 = Low + - 5 = Very Low + + Int16 + + Int16 + + + None + + + OverflowThreshold + + The OverflowThreshold parameter defines the number of calls that can be in the queue at any one time before the overflow action is triggered. The OverflowThreshold can be any integer value between 0 and 200, inclusive. A value of 0 causes calls not to reach agents and the overflow action to be taken immediately. + + Int16 + + Int16 + + + 50 + + + TimeoutAction + + The TimeoutAction parameter defines the action to take if the timeout threshold is reached. The TimeoutAction property must be set to one of the following values: Disconnect, Forward, Voicemail, and SharedVoicemail. The default value is Disconnect. + PARAMVALUE: Disconnect | Forward | Voicemail | SharedVoicemail + + Object + + Object + + + Disconnect + + + TimeoutActionTarget + + The TimeoutActionTarget represents the target of the timeout action. If the TimeoutAction is set to Forward, this parameter must be set to a Guid or a telephone number with a mandatory 'tel:' prefix. If the TimeoutAction is set to SharedVoicemail, this parameter must be set to an Office 365 Group ID. Otherwise, this field is optional. + + String + + String + + + None + + + TimeoutActionCallPriority + + Private Preview customers only If the TimeoutAction is set to Forward, and the TimeoutActionTarget is set to an Auto attendant or Call queue resource account Guid, this parameter must be set to indicate the priority that will be assigned to the call. Otherwise, this parameter is not applicable. + PARAMVALUE: 1 | 2 | 3 | 4 | 5 - 1 = Very High + - 2 = High + - 3 = Normal / Default + - 4 = Low + - 5 = Very Low + + Int16 + + Int16 + + + None + + + TimeoutThreshold + + The TimeoutThreshold parameter defines the time (in seconds) that a call can be in the queue before that call times out. At that point, the system will take the action specified by the TimeoutAction parameter. The TimeoutThreshold can be any integer value between 0 and 2700 seconds (inclusive), and is rounded to the nearest 15th interval. For example, if set to 47 seconds, then it is rounded down to 45. If set to 0, welcome music is played, and then the timeout action will be taken. + + Int16 + + Int16 + + + 1200 + + + NoAgentApplyTo + + The NoAgentApplyTo parameter defines if the NoAgentAction applies to calls already in queue and new calls arriving to the queue, or only new calls that arrive once the No Agents condition occurs. The default value is AllCalls. + PARAMVALUE: AllCalls | NewCalls + + Object + + Object + + + Disconnect + + + NoAgentAction + + The NoAgentAction parameter defines the action to take if the no agents condition is reached. The NoAgentAction property must be set to one of the following values: Queue, Disconnect, Forward, Voicemail, and SharedVoicemail. The default value is Queue. + PARAMVALUE: Queue | Disconnect | Forward | Voicemail | SharedVoicemail + + Object + + Object + + + Disconnect + + + NoAgentActionTarget + + The NoAgentActionTarget represents the target of the no agent action. If the NoAgentAction is set to Forward, this parameter must be set to a GUID or a telephone number with a mandatory 'tel:' prefix. If the NoAgentAction is set to SharedVoicemail, this parameter must be set to a Microsoft 365 Group ID. Otherwise, this field is optional. + + String + + String + + + None + + + NoAgentActionCallPriority + + Private Preview customers only If the NoAgentAction is set to Forward, and the NoAgentActionTarget is set to an Auto attendant or Call queue resource account Guid, this parameter must be set to indicate the priority that will be assigned to the call. Otherwise, this parameter is not applicable. + PARAMVALUE: 1 | 2 | 3 | 4 | 5 - 1 = Very High + - 2 = High + - 3 = Normal / Default + - 4 = Low + - 5 = Very Low + + Int16 + + Int16 + + + None + + + RoutingMethod + + The RoutingMethod parameter defines how agents will be called in a Call Queue. If the routing method is set to Serial, then agents will be called one at a time. If the routing method is set to Attendant, then agents will be called in parallel. If the routing method is set to RoundRobin, the agents will be called using the Round Robin strategy so that all agents share the call load equally. If the routing method is set to LongestIdle, the agents will be called based on their idle time, that is, the agent that has been idle for the longest period will be called. + PARAMVALUE: Attendant | Serial | RoundRobin | LongestIdle + + Object + + Object + + + Attendant + + + PresenceBasedRouting + + The PresenceBasedRouting parameter indicates whether or not presence based routing will be applied while call being routed to Call Queue agents. When set to False, calls will be routed to agents who have opted in to receive calls, regardless of their presence state. When set to True, opted-in agents will receive calls only when their presence state is Available. + + Boolean + + Boolean + + + True + + + ConferenceMode + + The ConferenceMode parameter indicates whether or not Conference mode will be applied on calls for this Call queue. Conference mode significantly reduces the amount of time it takes for a caller to be connected to an agent, after the agent accepts the call. The following bullet points detail the difference between both modes: + - Conference Mode Disabled: CQ call is presented to agent. Agent answers and media streams are setup. Based on geographic location of the CQ call and agent, there may be a slight delay in setting up the media streams which may result in some dead air and the first part of the conversation being cut off. + - Conference Mode Enabled: CQ call is put into conference. Agent answers and is brought into conference. Media streams are already setup when agent is brought into conference thus no dead air, and first bit of conversation will not be cut off. + + Boolean + + Boolean + + + True + + + Users + + The Users parameter lets you add agents to the Call Queue. This parameter expects a list of user unique identifiers (GUID). + + List + + List + + + None + + + LanguageId + + The LanguageId parameter indicates the language that is used to play shared voicemail prompts. This parameter becomes a required parameter if either OverflowAction or TimeoutAction is set to SharedVoicemail. + You can query the supported languages using the Get-CsAutoAttendantSupportedLanguage cmdlet. + + String + + String + + + None + + + LineUri + + This parameter is reserved for Microsoft internal use only. + + String + + String + + + None + + + OboResourceAccountIds + + The OboResourceAccountIds parameter lets you add resource account with phone number to the Call Queue. The agents in the Call Queue will be able to make outbound calls using the phone number on the resource accounts. This is a list of resource account GUIDs. + Only Call Queue managed by a Teams Channel will be able to use this feature. For more information, refer to Manage your support Call Queue in Teams (https://support.microsoft.com/office/manage-your-support-call-queue-in-teams-9f07dabe-91c6-4a9b-a545-8ffdddd2504e). + + List + + List + + + None + + + OverflowDisconnectTextToSpeechPrompt + + The OverflowDisconnectTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being disconnected due to overflow. + + String + + String + + + None + + + OverflowDisconnectAudioFilePrompt + + The OverflowDisconnectAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being disconnected due to overflow. + + Guid + + Guid + + + None + + + OverflowRedirectPersonTextToSpeechPrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The OverflowRedirectPersonTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a person in the organization due to overflow. + + String + + String + + + None + + + OverflowRedirectPersonAudioFilePrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The OverflowRedirectPersonAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a person in the organization due to overflow. + + Guid + + Guid + + + None + + + OverflowRedirectVoiceAppTextToSpeechPrompt + + The OverflowRedirectVoiceAppsTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a voice application due to overflow. + + String + + String + + + None + + + OverflowRedirectVoiceAppAudioFilePrompt + + The OverflowRedirectVoiceAppAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a voice application due to overflow. + + Guid + + Guid + + + None + + + OverflowRedirectPhoneNumberTextToSpeechPrompt + + The OverflowRedirectPhoneNumberTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to an external PSTN phone number due to overflow. + + String + + String + + + None + + + OverflowRedirectPhoneNumberAudioFilePrompt + + The OverflowRedirectPhoneNumberAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to an external PSTN phone number due to overflow. + + Guid + + Guid + + + None + + + OverflowRedirectVoicemailTextToSpeechPrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The OverflowRedirectVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a person's voicemail due to overflow. + + String + + String + + + None + + + OverflowRedirectVoicemailAudioFilePrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The OverflowRedirectVoiceMailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a person's voicemail due to overflow. + + Guid + + Guid + + + None + + + OverflowSharedVoicemailTextToSpeechPrompt + + The OverflowSharedVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when transferred to shared voicemail on overflow. This parameter becomes a required parameter when OverflowAction is SharedVoicemail and OverflowSharedVoicemailAudioFilePrompt is null. + + String + + String + + + None + + + OverflowSharedVoicemailAudioFilePrompt + + The OverflowSharedVoicemailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when transferred to shared voicemail on overflow. This parameter becomes a required parameter when OverflowAction is SharedVoicemail and OverflowSharedVoicemailTextToSpeechPrompt is null. + + Guid + + Guid + + + None + + + EnableOverflowSharedVoicemailTranscription + + The EnableOverflowSharedVoicemailTranscription parameter is used to turn on transcription for voicemails left by a caller on overflow. This parameter is only applicable when OverflowAction is set to SharedVoicemail. + + Boolean + + Boolean + + + False + + + EnableOverflowSharedVoicemailSystemPromptSuppression + + The EnableOverflowSharedVoicemailSystemPromptSuppress parameter is used to turn off the default voicemail system prompts. This parameter is only applicable when OverflowAction is set to SharedVoicemail. + + Boolean + + Boolean + + + False + + + TimeoutDisconnectTextToSpeechPrompt + + The TimeoutDisconnectTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being disconnected due to timeout. + + String + + String + + + None + + + TimeoutDisconnectAudioFilePrompt + + The TimeoutDisconnectAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being disconnected due to timeout. + + Guid + + Guid + + + None + + + TimeoutRedirectPersonTextToSpeechPrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The TimeoutRedirectPersonTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a person in the organization due to timeout. + + String + + String + + + None + + + TimeoutRedirectPersonAudioFilePrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The TimeoutRedirectPersonAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a person in the organization due to timeout. + + Guid + + Guid + + + None + + + TimeoutRedirectVoiceAppTextToSpeechPrompt + + The TimeoutRedirectVoiceAppsTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a voice application due to timeout. + + String + + String + + + None + + + TimeoutRedirectVoiceAppAudioFilePrompt + + The TimeoutRedirectVoiceAppAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a voice application due to timeout. + + Guid + + Guid + + + None + + + TimeoutRedirectPhoneNumberTextToSpeechPrompt + + The TimeoutRedirectPhoneNumberTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to an external PSTN phone number due to timeout. + + String + + String + + + None + + + TimeoutRedirectPhoneNumberAudioFilePrompt + + The TimeoutRedirectPhoneNumberAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to an external PSTN phone number due to timeout. + + Guid + + Guid + + + None + + + TimeoutRedirectVoicemailTextToSpeechPrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The TimeoutRedirectVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a person's voicemail due to timeout. + + String + + String + + + None + + + TimeoutRedirectVoicemailAudioFilePrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The TimeoutRedirectVoiceMailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a person's voicemail due to timeout. + + Guid + + Guid + + + None + + + TimeoutSharedVoicemailTextToSpeechPrompt + + The TimeoutSharedVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when transferred to shared voicemail on timeout. This parameter becomes a required parameter when TimeoutAction is SharedVoicemail and TimeoutSharedVoicemailAudioFilePrompt is null. + + String + + String + + + None + + + TimeoutSharedVoicemailAudioFilePrompt + + The TimeoutSharedVoicemailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when transferred to shared voicemail on timeout. This parameter becomes a required parameter when TimeoutAction is SharedVoicemail and TimeoutSharedVoicemailTextToSpeechPrompt is null. + + Guid + + Guid + + + None + + + EnableTimeoutSharedVoicemailTranscription + + The EnableTimeoutSharedVoicemailTranscription parameter is used to turn on transcription for voicemails left by a caller on timeout. This parameter is only applicable when TimeoutAction is set to SharedVoicemail. + + Boolean + + Boolean + + + False + + + EnableTimeoutSharedVoicemailSystemPromptSuppression + + The EnableTimeoutSharedVoicemailSystemPromptSuppress parameter is used to turn off the default voicemail system prompts. This parameter is only applicable when OverflowAction is set to SharedVoicemail. + + Boolean + + Boolean + + + False + + + NoAgentDisconnectTextToSpeechPrompt + + The NoAgentDisconnectTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being disconnected due to no agents. + + String + + String + + + None + + + NoAgentDisconnectAudioFilePrompt + + The NoAgentDisconnectAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being disconnected due to no agents. + + Guid + + Guid + + + None + + + NoAgentRedirectPersonTextToSpeechPrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The NoAgentRedirectPersonTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a person in the organization due to no agents. + + String + + String + + + None + + + NoAgentRedirectPersonAudioFilePrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The NoAgentRedirectPersonAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a person in the organization due to no agents. + + Guid + + Guid + + + None + + + NoAgentRedirectVoiceAppTextToSpeechPrompt + + The NoAgentRedirectVoiceAppsTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a voice application due to no agents. + + String + + String + + + None + + + NoAgentRedirectVoiceAppAudioFilePrompt + + The NoAgentRedirectVoiceAppAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a voice application due to no agents. + + Guid + + Guid + + + None + + + NoAgentRedirectPhoneNumberTextToSpeechPrompt + + The NoAgentRedirectPhoneNumberTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to an external PSTN phone number due to no agents. + + String + + String + + + None + + + NoAgentRedirectPhoneNumberAudioFilePrompt + + The NoAgentRedirectPhoneNumberAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to an external PSTN phone number due to no agents. + + Guid + + Guid + + + None + + + NoAgentRedirectVoicemailTextToSpeechPrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The NoAgentRedirectVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a person's voicemail due to no agent. + + String + + String + + + None + + + NoAgentRedirectVoicemailAudioFilePrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The NoAgentRedirectVoiceMailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a person's voicemail due to no agent. + + Guid + + Guid + + + None + + + NoAgentSharedVoicemailTextToSpeechPrompt + + The NoAgentSharedVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when transferred to shared voicemail on no agents. This parameter becomes a required parameter when NoAgentAction is SharedVoicemail and NoAgentSharedVoicemailAudioFilePrompt is null. + + String + + String + + + None + + + NoAgentSharedVoicemailAudioFilePrompt + + The NoAgentSharedVoicemailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when transferred to shared voicemail on no agents. This parameter becomes a required parameter when NoAgentAction is SharedVoicemail and NoAgentSharedVoicemailTextToSpeechPrompt is null. + + Guid + + Guid + + + None + + + EnableNoAgentSharedVoicemailTranscription + + The EnableNoAgentSharedVoicemailTranscription parameter is used to turn on transcription for voicemails left by a caller on no agents. This parameter is only applicable when NoAgentAction is set to SharedVoicemail. + + Boolean + + Boolean + + + False + + + EnableNoAgentSharedVoicemailSystemPromptSuppression + + The EnableNoAgentSharedVoicemailSystemPromptSuppress parameter is used to turn off the default voicemail system prompts. This parameter is only applicable when NoAgentAction is set to SharedVoicemail. + + Boolean + + Boolean + + + False + + + ChannelId + + Id of the channel to connect a call queue to. + + String + + String + + + None + + + ChannelUserObjectId + + Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). This is the GUID of one of the owners of the team the channels belongs to. + + Guid + + Guid + + + None + + + AuthorizedUsers + + This is a list of GUIDs for users who are authorized to make changes to this call queue. The users must also have a TeamsVoiceApplications policy assigned. The GUID should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). + + List + + List + + + None + + + HideAuthorizedUsers + + Saving a call queue configuration through Teams admin center will *remove* this setting. This is a list of GUIDs of authorized users who should not appear on the list of supervisors for the agents who are members of this queue. The GUID should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). + + List + + List + + + None + + + WelcomeTextToSpeechPrompt + + This parameter indicates which Text-to-Speech (TTS) prompt is played when callers are connected to the Call Queue. + + String + + String + + + None + + + IsCallbackEnabled + + Private Preview customers only The IsCallbackEnabled parameter is used to turn on/off callback. + + Boolean + + Boolean + + + None + + + CallbackRequestDtmf + + Private Preview customers only The DTMF touch-tone key the caller will be told to press to select callback. The CallbackRequestDtmf must be set to one of the following values: + - Tone0 to Tone9 - Corresponds to DTMF tones from 0 to 9. + - ToneStar - Corresponds to DTMF tone *. + - TonePound - Corresponds to DTMF tone #. + + This parameter becomes a required parameter when IsCallbackEnabled is set to `True`. + + String + + String + + + None + + + WaitTimeBeforeOfferingCallbackInSecond + + Private Preview customers only The number of seconds a call must wait before becoming eligible for callback. This condition applies to calls at the front of the call queue. Set to null ($null) to disable this condition. + At least one of `-WaitTimeBeforeOfferingCallbackInSecond`, `-NumberOfCallsInQueueBeforeOfferingCallback`, or `-CallToAgentRatioThresholdBeforeOfferingCallback` must be set to a value other than null when `-IsCallbackEnabled` is `True`. + + Int16 + + Int16 + + + None + + + NumberOfCallsInQueueBeforeOfferingCallback + + Private Preview customers only The number of calls in queue before a call becomes eligible for callback. This condition applies to calls arriving at the call queue. Set to null ($null) to disable this condition. + At least one of `-WaitTimeBeforeOfferingCallbackInSecond`, `-NumberOfCallsInQueueBeforeOfferingCallback`, or `-CallToAgentRatioThresholdBeforeOfferingCallback` must be set to a value other than null when `-IsCallbackEnabled` is `True`. + + Int16 + + Int16 + + + None + + + CallToAgentRatioThresholdBeforeOfferingCallback + + Private Preview customers only The ratio of calls to agents that must be in queue before a call becomes eligible for callback. This conditon applies to calls arriving at the call queue. Minimum value of 1. Set to null ($null) to disable this condition. + At least one of `-WaitTimeBeforeOfferingCallbackInSecond`, `-NumberOfCallsInQueueBeforeOfferingCallback`, or `-CallToAgentRatioThresholdBeforeOfferingCallback` must be set to a value other than null when `-IsCallbackEnabled` is `True`. + + Int16 + + Int16 + + + None + + + CallbackOfferAudioFilePromptResourceId + + Private Preview customers only The CallbackOfferAudioFilePromptResourceId parameter indicates the unique identifier for the Audio file prompt which is played to calls that are eligible for callback. This message should tell callers which DTMF touch-tone key (CallbackRequestDtmf) to press to select callback. This parameter, or `-CallbackOfferTextToSpeechPrompt`, becomes a required parameter when IsCallbackEnabled is set to `True`. + + Guid + + Guid + + + None + + + CallbackOfferTextToSpeechPrompt + + Private Preview customers only The CallbackOfferTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to calls that are eligible for callback. This message should tell callers which DTMF touch-tone key (CallbackRequestDtmf) to press to select callback. This parameter, or `-CallbackOfferAudioFilePromptResourceId`, becomes a required parameter when IsCallbackEnabled is set to `True`. + + String + + String + + + None + + + CallbackEmailNotificationTarget + + Private Preview customers only The CallbackEmailNotificationTarget parameter must be set to a group ID (Microsoft 365, Distribution list, or Mail-enabled security) that will receive notification if a callback times out of the call queue or can't be completed for some other reason. This parameter becomes a required parameter when IsCallbackEnabled is set to `True`. + + Guid + + Guid + + + None + + + ServiceLevelThresholdResponseTimeInSecond + + Private Preview customers only The target number of seconds calls should be answered in. This number is used to calculate the call queue service level percentage. + A value of `$null` indicates that a service level percentage will not be calculated for this call queue. + + Int16 + + Int16 + + + None + + + ShouldOverwriteCallableChannelProperty + + A Teams Channel can only be linked to one Call Queue at a time. To force reassignment of the Teams Channel to a new Call Queue, set this to $true. + + Boolean + + Boolean + + + False + + + + + + + Microsoft.Rtc.Management.Hosted.CallQueue.Models.CallQueue + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + New-CsCallQueue -Name "Help Desk" -UseDefaultMusicOnHold $true + + This example creates a Call Queue for the organization named "Help Desk" using default music on hold. + + + + -------------------------- Example 2 -------------------------- + New-CsCallQueue -Name "Help desk" -RoutingMethod Attendant -DistributionLists @("8521b0e3-51bd-4a4b-a8d6-b219a77a0a6a", "868dccd8-d723-4b4f-8d74-ab59e207c357") -AllowOptOut $false -AgentAlertTime 30 -OverflowThreshold 15 -OverflowAction Forward -OverflowActionTarget 7fd04db1-1c8e-4fdf-9af5-031514ba1358 -TimeoutThreshold 30 -TimeoutAction Disconnect -MusicOnHoldAudioFileId 1e81adaf-7c3e-4db1-9d61-5d135abb1bcc -WelcomeMusicAudioFileId 0b31bbe5-e2a0-4117-9b6f-956bca6023f8 + + This example creates a Call Queue for the organization named "Help Desk" with music on hold and welcome music audio files. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-cscallqueue + + + Create a Phone System Call Queue + https://support.office.com/article/Create-a-Phone-System-call-queue-67ccda94-1210-43fb-a25b-7b9785f8a061 + + + + + + New-CsCloudCallDataConnection + New + CsCloudCallDataConnection + + This cmdlet creates an online call data connection. + + + + This cmdlet creates an online call data connection. If you get an error that the connection already exists, it means that the call data connection already exists for your tenant. In this case, run Get-CsCloudCallDataConnection. + + + + New-CsCloudCallDataConnection + + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + The New-CsCloudCallDataConnection cmdlet is only supported in commercial environments from Teams PowerShell Module versions 4.6.0 or later. + + + + + -------------------------- Example 1 -------------------------- + PS C:\> New-CsCloudCallDataConnection + +Token +----- +00000000-0000-0000-0000-000000000000 + + Returns a token value, which is needed when configuring your on-premises environment with Set-CsCloudCallDataConnector. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-cscloudcalldataconnection + + + Configure Call Data Connector + + + + Get-CsCloudCallDataConnection + + + + + + + New-CsCustomPolicyPackage + New + CsCustomPolicyPackage + + Note: This cmdlet is currently in private preview. + This cmdlet creates a custom policy package. + + + + This cmdlet creates a custom policy package. It allows the admin to create their own policy packages for the tenant. For more information on policy packages and the policy types available, please review https://learn.microsoft.com/MicrosoftTeams/manage-policy-packages. + + + + New-CsCustomPolicyPackage + + Identity + + The name of the custom package. + + String + + String + + + None + + + PolicyList + + A list of one or more policies to be added in the package. To specify the policy list, follow this format: "<PolicyType>, <PolicyName>". Delimiters of ' ', '.', ':', '\t' are also acceptable. Supported policy types are listed here (https://learn.microsoft.com/MicrosoftTeams/manage-policy-packages#what-is-a-policy-package). To get the list of available policy names on your tenant, please use the SkypeForBusiness module and refer to cmdlets such as [Get-CsTeamsMeetingPolicy](Get-CsTeamsMeetingPolicy.md) and [Get-CsTeamsMessagingPolicy](Get-CsTeamsMessagingPolicy.md). + + String[] + + String[] + + + None + + + Description + + The description of the custom package. + + String + + String + + + None + + + + + + Identity + + The name of the custom package. + + String + + String + + + None + + + PolicyList + + A list of one or more policies to be added in the package. To specify the policy list, follow this format: "<PolicyType>, <PolicyName>". Delimiters of ' ', '.', ':', '\t' are also acceptable. Supported policy types are listed here (https://learn.microsoft.com/MicrosoftTeams/manage-policy-packages#what-is-a-policy-package). To get the list of available policy names on your tenant, please use the SkypeForBusiness module and refer to cmdlets such as [Get-CsTeamsMeetingPolicy](Get-CsTeamsMeetingPolicy.md) and [Get-CsTeamsMessagingPolicy](Get-CsTeamsMessagingPolicy.md). + + String[] + + String[] + + + None + + + Description + + The description of the custom package. + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> New-CsCustomPolicyPackage -Identity "MyPackage" -PolicyList "TeamsMessagingPolicy, MyMessagingPolicy" + + Creates a custom package named "MyPackage" with one policy in the package: a messaging policy of name "MyMessagingPolicy". + + + + -------------------------- Example 2 -------------------------- + PS C:\> New-CsCustomPolicyPackage -Identity "MyPackage" -PolicyList "TeamsMessagingPolicy, MyMessagingPolicy", "TeamsMeetingPolicy, MyMeetingPolicy" -Description "My package" + + Creates a custom package named "MyPackage" with description "My package" and two policies in the package: a messaging policy of name "MyMessagingPolicy" and a meeting policy of name "MyMeetingPolicy". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-cscustompolicypackage + + + Update-CsCustomPolicyPackage + + + + Remove-CsCustomPolicyPackage + + + + + + + New-CsEdgeAllowAllKnownDomains + New + CsEdgeAllowAllKnownDomains + + Enables Skype for Business Online federation with all domains except for those domains included on the blocked domains list. + + + + Federation is a service that enables users to exchange IM and presence information with users from other domains. With Skype for Business Online, administrators can use the federation configuration settings to govern: + Whether or not users can communicate with people from other domains and, if so, which domains they are allowed to communicate with. + Whether or not users can communicate with people who have accounts on public IM and presence providers such as Windows Live, AOL, and Yahoo. + Federation is managed, in part, by using allowed domain and blocked domain lists. The allowed domain list specifies the domains that users are allowed to communicate with; the blocked domain list specifies the domains that users are not allowed to communicate with. By default, users can communicate with any domain that does not appear on the blocked list. However, administrators can modify this default setting and limit communication to domains that are on the allowed domains list. + Skype for Business Online does not allow you to directly modify the allowed list or the blocked list; for example, you cannot use a command similar to this one, which passes a string value representing a domain name to the allowed domains list: + `Set-CsTenantFederationConfiguration -AllowedDomains "fabrikam.com"` + Instead, you must use either the New-CsEdgeAllowAllKnownDomains cmdlet or the New-CsEdgeAllowList cmdlet to create a domain object and then pass that domain object to the Set-CsTenantFederationConfiguration cmdlet. The New-CsEdgeAllowAllKnownDomains cmdlet is used if you want to allow users to communicate with all domains except for those expressly specified on the blocked domains list. The New-CsEdgeAllowList cmdlet is used if you want to limit user communication to a specified collection of domains. In that case, users will only be allowed to communicate with domains that appear on the allowed domains list. + To configure federation with all known domains, use a set of commands similar to this: + `$x = New-CsEdgeAllowAllKnownDomains` + `Set-CsTenantFederationConfiguration -AllowedDomains $x` + + + + New-CsEdgeAllowAllKnownDomains + + + + + + + + + + None. The New-CsEdgeAllowAllKnownDomains cmdlet does not accept pipelined input. + + + + + + + + + + The New-CsEdgeAllowAllKnownDomains cmdlet creates new instances of the Microsoft.Rtc.Management.WritableConfig.Settings.Edge.AllowAllKnownDomains object. + + + + + + + + + + + -------------------------- Example 1 -------------------------- + $x = New-CsEdgeAllowAllKnownDomains + +Set-CsTenantFederationConfiguration -AllowedDomains $x + + The two commands shown in Example 1 configure the federation settings for the current tenant to allow all known domains. To do this, the first command in the example uses the New-CsEdgeAllowAllKnownDomains cmdlet to create an instance of the Microsoft.Rtc.Management.WritableConfig.Settings.Edge.AllowAllKnownDomains object; this instance is stored in a variable named $x. In the second command, the Set-CsTenantFederationConfiguration cmdlet is called along with the AllowedDomains parameter; using $x as the parameter value configures the federation settings to allow all known domains. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csedgeallowallknowndomains + + + Set-CsTenantFederationConfiguration + + + + + + + New-CsEdgeAllowList + New + CsEdgeAllowList + + Enables administrators to specify the domains that their users will be allowed to communicate with. The `New-CsEdgeAllowList` cmdlet, which can be used only with Skype for Business Online, must be used in conjunction with the `New-CsEdgeDomainPattern` cmdlet and the `Set-CsTenantFederationConfiguration` cmdlet. + + + + Federation is a service that enables users to exchange IM and presence information with users from other domains. With Skype for Business Online, administrators can use the federation configuration settings to govern: + Whether or not users can communicate with people from other domains and, if so, which domains they are allowed to communicate with. + Whether or not users can communicate with people who have accounts on public IM and presence providers such as Windows Live, AOL, and Yahoo + Federation is managed, in part, by using allowed domain and blocked domain lists. The allowed domain list specifies the domains that users are allowed to communicate with; the blocked domain list specifies the domains that users are not allowed to communicate with. By default, users can communicate with any domain that does not appear on the blocked list. However, administrators can modify this default setting and limit communication to domains that are on the allowed domains list. + Skype for Business Online does not allow you to directly modify the allowed list or the blocked list; for example, you cannot use a command similar to this one, which passes a string value representing a domain name to the allowed domains list: + Set-CsTenantFederationConfiguration -AllowedDomains "fabrikam.com" + Instead, you must use either the `New-CsEdgeAllowAllKnownDomains` cmdlet or the `New-CsEdgeAllowList` cmdlet to create a domain object and then pass that domain object to the `Set-CsTenantFederationConfiguration` cmdlet. The `New-CsEdgeAllowAllKnownDomains` cmdlet is used if you want to allow users to communicate with all domains except for those expressly specified on the blocked domains list. The `New-CsEdgeAllowList` cmdlet is used if you want to limit user communication to a specified collection of domains. In that case, users will only be allowed to communicate with domains that appear on the allowed domains list. + To add a single domain (fabrikam.com) to the allowed domain list, you need to use a set of command similar to these: + $x = New-CsEdgeDomainPattern -Domain "fabrikam.com" + $newAllowList = New-CsEdgeAllowList -AllowedDomain $x + Set-CsTenantFederationConfiguration -AllowedDomains $newAllowList + When this command finishes executing, users will only be allowed to communicate with users from fabrikam.com domain. + + + + New-CsEdgeAllowList + + AllowedDomain + + Object reference to the new domain (or set of domains) to be added to the allowed domain list. Domain object references must be created by using the `New-CsEdgeDomainPattern` cmdlet. Multiple domain objects can be added by separating the object references using commas. For example: + -AllowedDomain $x,$y + + String + + String + + + None + + + + + + AllowedDomain + + Object reference to the new domain (or set of domains) to be added to the allowed domain list. Domain object references must be created by using the `New-CsEdgeDomainPattern` cmdlet. Multiple domain objects can be added by separating the object references using commas. For example: + -AllowedDomain $x,$y + + String + + String + + + None + + + + + + + + + None. The `New-CsEdgeAllowList` cmdlet does not accept pipelined input. + + + + + + + + + + The `New-CsEdgeAllowList` cmdlet creates new instances of the Microsoft.Rtc.Management.WritableConfig.Settings.Edge.AllowList object. + + + + + + + + + + + -------------------------- Example 1 -------------------------- + $x = New-CsEdgeDomainPattern -Domain "fabrikam.com" + +$newAllowList = New-CsEdgeAllowList -AllowedDomain $x + +Set-CsTenantFederationConfiguration -AllowedDomains $newAllowList + + The commands shown in Example 1 assign the domain fabrikam.com to the allowed domains list for the tenant with the TenantId "bf19b7db-6960-41e5-a139-2aa373474354". To do this, the first command in the example uses the `New-CsEdgeDomainPattern` cmdlet to create a domain object for fabrikam.com; this object is stored in a variable named $x. After the domain object has been created, the `New-CsEdgeAllowList` cmdlet is used to create a new allowed list containing only the domain fabrikam.com. + With the allowed domain list created, the final command in the example can then use the `Set-CsTenantFederationConfiguration` cmdlet to configure fabrikam.com as the only domain on the allowed domain list for the current tenant. + + + + -------------------------- Example 2 -------------------------- + $x = New-CsEdgeDomainPattern -Domain "contoso.com" + +$y = New-CsEdgeDomainPattern -Domain "fabrikam.com" + +$newAllowList = New-CsEdgeAllowList -AllowedDomain $x,$y + +Set-CsTenantFederationConfiguration -AllowedDomains $newAllowList + + Example 2 shows how you can add multiple domains to an allowed domains list. This is done by calling the `New-CsEdgeDomainPattern` cmdlet multiple times (one for each domain to be added to the list), and storing the resulting domain objects in separate variables. Each of those variables can then be added to the allow list created by the `New-CsEdgeAllowList` cmdlet simply by using the AllowedDomain parameter and separating the variables name by using commas. + + + + -------------------------- Example 3 -------------------------- + $newAllowList = New-CsEdgeAllowList -AllowedDomain $Null + +Set-CsTenantFederationConfiguration -AllowedDomains $newAllowList + + In Example 3, all domains are removed from the allowed domains list. To do this, the first command in the example uses the `New-CsEdgeAllowList` cmdlet to create a blank list of allowed domains; this is accomplished by setting the AllowedDomain property to a null value ($Null). The resulting object reference ($newAllowList) is then used in conjunction with the `Set-CsTenantFederationConfiguration` cmdlet to remove all the domains from the allowed domain list. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csedgeallowlist + + + New-CsEdgeDomainPattern + + + + Set-CsTenantFederationConfiguration + + + + + + + New-CsEdgeDomainPattern + New + CsEdgeDomainPattern + + Used to specify a domain that will be added or removed from the set of domains enabled for federation or the set of domains disabled for federation. You must use the New-CsEdgeDomainPattern cmdlet when modifying the allowed or blocked domain lists. String values (such as "fabrikam.com") cannot be directly passed to the cmdlets used to manage either of these lists. + + + + Federation is a service that enables users to exchange IM and presence information with users from other domains. With Skype for Business Online, administrators can use the federation configuration settings to govern: + Whether or not users can communicate with people from other domains and, if so, which domains they are allowed to communicate with. + Whether or not users can communicate with people who have accounts on public IM and presence providers such as Windows Live, AOL, and Yahoo. + Federation is managed, in part, by using allowed domain and blocked domain lists. The allowed domain list specifies the domains that users are allowed to communicate with; the blocked domain list specifies the domains that users are not allowed to communicate with. By default, users can communicate with any domain that does not appear on the blocked list. However, administrators can modify this default setting and limit communication to domains that are on the allowed domains list. + Skype for Business Online does not allow you to directly modify the allowed list or the blocked list; for example, you cannot use a command similar to this one, which passes a string value representing a domain name to the blocked domains list: + `Set-CsTenantFederationConfiguration -BlockedDomains "fabrikam.com"` + Instead, you must create a domain object by using the New-CsEdgeDomainPattern cmdlet, store that domain object in a variable (in this example, $x), then pass the variable name to the blocked domains list: + `$x = New-CsEdgeDomainPattern -Domain "fabrikam.com"` + `Set-CsTenantFederationConfiguration -BlockedDomains $x` + + + + New-CsEdgeDomainPattern + + Domain + + Fully qualified domain name of the domain to be added to the allow list. For example: + `-Domain "fabrikam.com"` + Note that you cannot use wildcards when specifying a domain name. + + String + + String + + + None + + + + + + Domain + + Fully qualified domain name of the domain to be added to the allow list. For example: + `-Domain "fabrikam.com"` + Note that you cannot use wildcards when specifying a domain name. + + String + + String + + + None + + + + + + + + + None. The New-CsEdgeDomainPattern cmdlet does not accept pipelined input. + + + + + + + + + + The New-CsEdgeDomainPattern cmdlet creates new instances of the Microsoft.Rtc.Management.WritableConfig.Settings.Edge.DomainPattern object. + + + + + + + + + + + -------------------------- Example 1 -------------------------- + $x = New-CsEdgeDomainPattern -Domain "fabrikam.com" + +Set-CsTenantFederationConfiguration -BlockedDomains $x + + Example 1 demonstrates how you can assign a single domain to the blocked domains list for a specified tenant. To do this, the first command in the example creates a domain object for the domain fabrikam.com; this is done by calling the New-CsEdgeDomainPattern cmdlet and by saving the resulting domain object in a variable named $x. The second command then uses the Set-CsTenantFederationConfiguration cmdlet and the BlockedDomains parameter to configure fabrikam.com as the only domain blocked by the current tenant. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csedgedomainpattern + + + Set-CsTenantFederationConfiguration + + + + + + + New-CsGroupPolicyAssignment + New + CsGroupPolicyAssignment + + This cmdlet is used to assign a policy to a security group or distribution list. + + + + > [!NOTE] > As of May 2023, group policy assignment functionality in Teams PowerShell Module has been extended to support all policy types used in Teams except for the following: > - Teams App Permission Policy > - Teams Network Roaming Policy > - Teams Emergency Call Routing Policy > - Teams Voice Applications Policy > - Teams Upgrade Policy > +> This cmdlet will be deprecated in the future. Going forward, group policy assignment can be performed by using the corresponding Grant-Cs[PolicyType] cmdlet with the '-Group' parameter. + This cmdlet is used to assign a policy to a Microsoft 365 group, a security group, or a distribution list. When creating a group policy assignment, you must specify a rank, which indicates the precedence of that assignment relative to any other group assignments for the same policy type that may exist. The assignment will be applied to users in the group for any user that does not have a direct policy assignment, provided the user does not have any higher-ranking assignments from other groups for the same policy type. + The group policy assignment rank is set at the time a policy is assigned to a group and it is relative to other group policy assignments of the same policy type. For example, if there are two groups, each assigned a Teams Meeting policy, then one of the group assignments will be rank 1 while the other will be rank 2. It's helpful to think of rank as determining the position of each policy assignment in an ordered list, from highest rank to lowest rank. In fact, rank can be specified as any number, but these are converted into sequential values 1, 2, 3, etc. with 1 being the highest rank. When assigning a policy to a group, set the rank to be the position in the list where you want the new group policy assignment to be. If a rank is not specified, the policy assignment will be given the lowest rank, corresponding to the end of the list. Assignments applied directly to a user will be treated like rank 0, having precedence over all assignments applied via groups. + Once a group policy assignment is created, the policy assignment will be propagated to the members of the group, including users that are added to the group after the assignment was created. Propagation time of the policy assignments to members of the group varies based on the number of users in the group. Propagation time for subsequent group membership changes also varies based on the number of users being added or removed from the group. For large groups, propagation to all members may take 24 hours or more. When using group policy assignment, the recommended maximum group membership size is 50,000 users per group. + > [!NOTE] > - A given policy type can be assigned to at most 64 groups, across policy instances for that type. > - Policy assignments are only propagated to users that are direct members of the group; the assignments are not propagated to members of nested groups. > - Direct user assignments of policy take precedence over any group policy assignments for a given policy type. Group PolicyPolicy assignments only take effect to a user if that user does not have a direct policy assignment. > - Get-CsOnlineUser only shows direct assignments of policy. It does not show the effect of group policy assignments. To view a specific user's effective policy, use `Get-CsUserPolicyAssignment`. This cmdlet shows whether the effective policy is from a direct assignment or from a group, as well as the ranked order of each group policy assignment in the case where a user is a member of more than 1 group with a group policy assignment of the same policy type. For example, to view all TeamsMeetingPolicy assignments for a given user, $user, run the following powershell cmdlet: `Get-CsUserPolicyAssignment -Identity $user -PolicyType TeamsMeetingPolicy|select -ExpandProperty PolicySource`. For details, see Get-CsUserPolicyAssignment (Get-CsUserPolicyAssignment.md). > - Group policy assignment is currently not available in the Microsoft 365 DoD deployment. + + + + New-CsGroupPolicyAssignment + + GroupId + + The ID of a batch policy assignment operation. + + String + + String + + + None + + + PolicyType + + The type of policy to be assigned. + + String + + String + + + None + + + PolicyName + + The name of the policy to be assigned. + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + String + + String + + + None + + + PassThru + + Returns true when the command succeeds + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + GroupId + + The ID of a batch policy assignment operation. + + String + + String + + + None + + + PolicyType + + The type of policy to be assigned. + + String + + String + + + None + + + PolicyName + + The name of the policy to be assigned. + + String + + String + + + None + + + Rank + + The rank of the policy assignment, relative to other group policy assignments for the same policy type. + + String + + String + + + None + + + PassThru + + Returns true when the command succeeds + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + New-CsGroupPolicyAssignment -GroupId d8ebfa45-0f28-4d2d-9bcc-b158a49e2d17 -PolicyType TeamsMeetingPolicy -PolicyName AllOn -Rank 1 + +Get-CsGroupPolicyAssignment -PolicyType TeamsMeetingPolicy + +GroupId PolicyType PolicyName Rank CreatedTime CreatedBy +------- ---------- ---------- ---- ----------- --------- +d8ebfa45-0f28-4d2d-9bcc-b158a49e2d17 TeamsMeetingPolicy AllOn 1 10/29/2019 3:57:27 AM aeb7c0e7-2f6d-43ef-bf33-bfbcb93fdc64 + + + + + + -------------------------- Example 2 -------------------------- + New-CsGroupPolicyAssignment -GroupId salesdepartment@contoso.com -PolicyType TeamsMeetingPolicy -PolicyName Kiosk + +Get-CsGroupPolicyAssignment -PolicyType TeamsMeetingPolicy + +GroupId PolicyType PolicyName Rank CreatedTime CreatedBy +------- ---------- ---------- ---- ----------- --------- +d8ebfa45-0f28-4d2d-9bcc-b158a49e2d17 TeamsMeetingPolicy AllOn 1 10/29/2019 3:57:27 AM aeb7c0e7-2f6d-43ef-bf33-bfbcb93fdc64 +566b8d39-5c5c-4aaa-bc07-4f36278a1b38 TeamsMeetingPolicy Kiosk 2 11/2/2019 12:14:41 AM aeb7c0e7-2f6d-43ef-bf33-bfbcb93fdc64 + + + + + + -------------------------- Example 3 -------------------------- + Get-CsGroupPolicyAssignment -PolicyType TeamsMeetingPolicy + +GroupId PolicyType PolicyName Rank CreatedTime CreatedBy +------- ---------- ---------- ---- ----------- --------- +d8ebfa45-0f28-4d2d-9bcc-b158a49e2d17 TeamsMeetingPolicy AllOn 1 10/29/2019 3:57:27 AM aeb7c0e7-2f6d-43ef-bf33-bfbcb93fdc64 +566b8d39-5c5c-4aaa-bc07-4f36278a1b38 TeamsMeetingPolicy Kiosk 2 11/2/2019 12:14:41 AM aeb7c0e7-2f6d-43ef-bf33-bfbcb93fdc64 + +New-CsGroupPolicyAssignment -GroupId e050ce51-54bc-45b7-b3e6-c00343d31274 -PolicyType TeamsMeetingpolicy -PolicyName AllOff -Rank 2 + +Get-CsGroupPolicyAssignment + +GroupId PolicyType PolicyName Rank CreatedTime CreatedBy +------- ---------- ---------- ---- ----------- --------- +d8ebfa45-0f28-4d2d-9bcc-b158a49e2d17 TeamsMeetingPolicy AllOn 1 10/29/2019 3:57:27 AM aeb7c0e7-2f6d-43ef-bf33-bfbcb93fdc64 +e050ce51-54bc-45b7-b3e6-c00343d31274 TeamsMeetingPolicy AllOff 2 11/2/2019 12:20:41 AM aeb7c0e7-2f6d-43ef-bf33-bfbcb93fdc64 +566b8d39-5c5c-4aaa-bc07-4f36278a1b38 TeamsMeetingPolicy Kiosk 3 11/2/2019 12:14:41 AM aeb7c0e7-2f6d-43ef-bf33-bfbcb93fdc64 + + + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csgrouppolicyassignment + + + Get-CsUserPolicyAssignment + + + + Get-CsGroupPolicyAssignment + + + + Remove-CsGroupPolicyAssignment + + + + + + + New-CsHybridTelephoneNumber + New + CsHybridTelephoneNumber + + This cmdlet adds a hybrid telephone number to the tenant. + + + + This cmdlet adds a hybrid telephone number to the tenant that can be used for Audio Conferencing with Direct Routing for GCC High and DoD clouds. + + + + New-CsHybridTelephoneNumber + + TelephoneNumber + + The telephone number to add. The number should be specified with a prefixed "+". The phone number can't have "tel:" prefixed. + + System.String + + System.String + + + None + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + + SwitchParameter + + + False + + + + + + TelephoneNumber + + The telephone number to add. The number should be specified with a prefixed "+". The phone number can't have "tel:" prefixed. + + System.String + + System.String + + + None + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + None + + + + + + + + + The cmdlet is only available in GCC High and DoD cloud instances. + + + + + -------------------------- Example 1 -------------------------- + New-CsHybridTelephoneNumber -TelephoneNumber +14025551234 + + This example adds the hybrid phone number +1 (402) 555-1234. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-cshybridtelephonenumber + + + Remove-CsHybridTelephoneNumber + + + + Get-CsHybridTelephoneNumber + + + + + + + New-CsInboundBlockedNumberPattern + New + CsInboundBlockedNumberPattern + + Adds a blocked number pattern to the tenant list. + + + + This cmdlet adds a blocked number pattern to the tenant list. An inbound PSTN call from a number that matches the blocked number pattern will be blocked. + + + + New-CsInboundBlockedNumberPattern + + Identity + + A unique identifier specifying the blocked number pattern to be created. + + String + + String + + + None + + + Description + + A friendly description for the blocked number pattern to be created. + + String + + String + + + None + + + Enabled + + If this parameter is set to True, the inbound calls matching the pattern will be blocked. + + Boolean + + Boolean + + + True + + + Pattern + + A regular expression that the calling number must match in order to be blocked. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + New-CsInboundBlockedNumberPattern + + Description + + A friendly description for the blocked number pattern to be created. + + String + + String + + + None + + + Enabled + + If this parameter is set to True, the inbound calls matching the pattern will be blocked. + + Boolean + + Boolean + + + True + + + Name + + A displayable name describing the blocked number pattern to be created. + + String + + String + + + None + + + Pattern + + A regular expression that the calling number must match in order to be blocked. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Description + + A friendly description for the blocked number pattern to be created. + + String + + String + + + None + + + Enabled + + If this parameter is set to True, the inbound calls matching the pattern will be blocked. + + Boolean + + Boolean + + + True + + + Identity + + A unique identifier specifying the blocked number pattern to be created. + + String + + String + + + None + + + Name + + A displayable name describing the blocked number pattern to be created. + + String + + String + + + None + + + Pattern + + A regular expression that the calling number must match in order to be blocked. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS> New-CsInboundBlockedNumberPattern -Description "Avoid Unwanted Automatic Call" -Name "BlockAutomatic" -Pattern "^\+11234567890" + + This example adds a blocked number pattern to block inbound calls from +11234567890 number. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csinboundblockednumberpattern + + + Get-CsInboundBlockedNumberPattern + + + + Set-CsInboundBlockedNumberPattern + + + + Remove-CsInboundBlockedNumberPattern + + + + + + + New-CsInboundExemptNumberPattern + New + CsInboundExemptNumberPattern + + This cmdlet lets you configure a new number pattern that is exempt from tenant call blocking. + + + + + + New-CsInboundExemptNumberPattern + + Identity + + Unique identifier for the exempt number pattern to be created. + + String + + String + + + None + + + Description + + Sets the description of the number pattern. + + System.String + + System.String + + + None + + + Enabled + + This parameter determines whether the number pattern is enabled for exemption or not. + + Boolean + + Boolean + + + True + + + Name + + A displayable name describing the exempt number pattern to be created. + + String + + String + + + None + + + Pattern + + A regular expression that the calling number must match in order to be exempt from blocking. It is best practice to start the regular expression with the hat character and end it with the dollar character. You can use various regular expression test sites on the Internet to validate the expression. + + System.String + + System.String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Description + + Sets the description of the number pattern. + + System.String + + System.String + + + None + + + Enabled + + This parameter determines whether the number pattern is enabled for exemption or not. + + Boolean + + Boolean + + + True + + + Identity + + Unique identifier for the exempt number pattern to be created. + + String + + String + + + None + + + Name + + A displayable name describing the exempt number pattern to be created. + + String + + String + + + None + + + Pattern + + A regular expression that the calling number must match in order to be exempt from blocking. It is best practice to start the regular expression with the hat character and end it with the dollar character. You can use various regular expression test sites on the Internet to validate the expression. + + System.String + + System.String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + You can use Test-CsInboundBlockedNumberPattern to test your block and exempt phone number ranges. + + + + + -------------------------- EXAMPLE 1 -------------------------- + PS> New-CsInboundExemptNumberPattern -Identity "AllowContoso1" -Pattern "^\+?1312555888[2|3]$" -Description "Allow Contoso helpdesk" -Enabled $True + + Creates a new inbound exempt number pattern for the numbers 1 (312) 555-88882 and 1 (312) 555-88883 and enables it + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csinboundexemptnumberpattern + + + Get-CsInboundExemptNumberPattern + + + + Set-CsInboundExemptNumberPattern + + + + Remove-CsInboundExemptNumberPattern + + + + Test-CsInboundBlockedNumberPattern + + + + Get-CsTenantBlockedCallingNumbers + + + + + + + New-CsOnlineApplicationInstance + New + CsOnlineApplicationInstance + + Creates an application instance in Microsoft Entra ID. + + + + This cmdlet is used to create an application instance in Microsoft Entra ID. This same cmdlet is also run when creating a new resource account using Teams Admin Center. + + + + New-CsOnlineApplicationInstance + + UserPrincipalName + + The user principal name. It will be used as the SIP URI too. The user principal name should have an online domain. + + System.String + + System.String + + + None + + + ApplicationId + + The application ID. The Microsoft application Auto Attendant has the ApplicationId ce933385-9390-45d1-9512-c8d228074e07 and the Microsoft application Call Queue has the ApplicationId 11cd3e2e-fccb-42ad-ad00-878b93575e07. Third-party applications available in a tenant will use other ApplicationId's. + + System.Guid + + System.Guid + + + None + + + DisplayName + + The display name. + + System.String + + System.String + + + None + + + Force + + This switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If it isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + UserPrincipalName + + The user principal name. It will be used as the SIP URI too. The user principal name should have an online domain. + + System.String + + System.String + + + None + + + ApplicationId + + The application ID. The Microsoft application Auto Attendant has the ApplicationId ce933385-9390-45d1-9512-c8d228074e07 and the Microsoft application Call Queue has the ApplicationId 11cd3e2e-fccb-42ad-ad00-878b93575e07. Third-party applications available in a tenant will use other ApplicationId's. + + System.Guid + + System.Guid + + + None + + + DisplayName + + The display name. + + System.String + + System.String + + + None + + + Force + + This switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If it isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + New-CsOnlineApplicationInstance -UserPrincipalName appinstance01@contoso.com -ApplicationId ce933385-9390-45d1-9512-c8d228074e07 -DisplayName "AppInstance01" + + This example creates a new application instance for an Auto Attendant with UserPrincipalName "appinstance01@contoso.com", ApplicationId "ce933385-9390-45d1-9512-c8d228074e07", DisplayName "AppInstance01" for the tenant. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csonlineapplicationinstance + + + Get-CsOnlineApplicationInstance + + + + Set-CsOnlineApplicationInstance + + + + Find-CsOnlineApplicationInstance + + + + Sync-CsOnlineApplicationInstance + + + + + + + New-CsOnlineApplicationInstanceAssociation + New + CsOnlineApplicationInstanceAssociation + + Use the New-CsOnlineApplicationInstanceAssociation cmdlet to associate either a single or multiple application instances with an application configuration, like auto attendant or call queue. + + + + The New-CsOnlineApplicationInstanceAssociation cmdlet associates either a single or multiple application instances with an application configuration, like auto attendant or call queue. When an association is created between an application instance and an application configuration, calls reaching that application instance would be handled based on the associated application configuration. For more information on how to create Application Instances , check `New-CsOnlineApplicationInstance` cmdlet documentation. + You can get the Identity of the application instance from the ObjectId of the AD object. + + + + New-CsOnlineApplicationInstanceAssociation + + Identities + + The Identities parameter is the identities of application instances to be associated with the provided configuration ID. + + System.String[] + + System.String[] + + + None + + + ConfigurationId + + The ConfigurationId parameter is the identity of the configuration that would be associated with the provided application instances. + + System.string + + System.string + + + None + + + ConfigurationType + + The ConfigurationType parameter denotes the type of the configuration that would be associated with the provided application instances. + It can be one of two values: + - AutoAttendant + - CallQueue + + System.string + + System.string + + + None + + + CallPriority --- Private Preview customers only + + The call priority assigned to calls arriving on this application instance if a priority has not already been assigned. + PARAMVALUE: 1 | 2 | 3 | 4 | 5 + 1 = Very High 2 = High 3 = Normal / Default 4 = Low 5 = Very Low + + Int16 + + Int16 + + + 3 + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + Identities + + The Identities parameter is the identities of application instances to be associated with the provided configuration ID. + + System.String[] + + System.String[] + + + None + + + ConfigurationId + + The ConfigurationId parameter is the identity of the configuration that would be associated with the provided application instances. + + System.string + + System.string + + + None + + + ConfigurationType + + The ConfigurationType parameter denotes the type of the configuration that would be associated with the provided application instances. + It can be one of two values: + - AutoAttendant + - CallQueue + + System.string + + System.string + + + None + + + CallPriority --- Private Preview customers only + + The call priority assigned to calls arriving on this application instance if a priority has not already been assigned. + PARAMVALUE: 1 | 2 | 3 | 4 | 5 + 1 = Very High 2 = High 3 = Normal / Default 4 = Low 5 = Very Low + + Int16 + + Int16 + + + 3 + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + None + + + + + + + + + + Microsoft.Rtc.Management.Hosted.Online.Models.AssociationOperationOutput + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + $applicationInstanceId = (Get-CsOnlineUser "main_auto_attendant@contoso.com").ObjectId # 76afc66a-5fe9-4a3d-ab7a-37c0e37b1f19 +$autoAttendantId = (Get-CsAutoAttendant -NameFilter "Main Auto Attendant").Id # c2ee3e18-b738-5515-a97b-46be52dfc057 + +New-CsOnlineApplicationInstanceAssociation -Identities @($applicationInstanceId) -ConfigurationId $autoAttendantId -ConfigurationType AutoAttendant + +Get-CsAutoAttendant -Identity $autoAttendantId + +# Id : c2ee3e18-b738-5515-a97b-46be52dfc057 +# TenantId : 977c9d5b-2dae-5d82-aada-628bc1c14213 +# Name : Main Auto Attendant +# LanguageId : en-US +# VoiceId : Female +# DefaultCallFlow : Default Call Flow +# Operator : +# TimeZoneId : Pacific Standard Time +# VoiceResponseEnabled : False +# CallFlows : +# Schedules : +# CallHandlingAssociations : +# Status : +# DialByNameResourceId : +# DirectoryLookupScope : +# ApplicationInstances : {76afc66a-5fe9-4a3d-ab7a-37c0e37b1f19} + + This example creates an association between an application instance that we have already created with UPN "main_auto_attendant@contoso.com" whose identity is "76afc66a-5fe9-4a3d-ab7a-37c0e37b1f19", and an auto attendant configuration that we created with display name "Main Auto Attendant" whose identity is "c2ee3e18-b738-5515-a97b-46be52dfc057". Once the association is created, the newly associated application instance would be listed under the `ApplicationInstances` property of the AA. + + + + -------------------------- Example 2 -------------------------- + $applicationInstancesIdentities = (Find-CsOnlineApplicationInstance -SearchQuery "tel:+1206") | Select-Object -Property Id + +# Id +# -- +# fa2f17ec-ebd5-43f8-81ac-959c245620fa +# 56421bbe-5649-4208-a60c-24dbeded6f18 +# c7af9c3c-ae40-455d-a37c-aeec771e623d + +$autoAttendantId = (Get-CsAutoAttendant -NameFilter "Main Auto Attendant").Id # c2ee3e18-b738-5515-a97b-46be52dfc057 + +New-CsOnlineApplicationInstanceAssociation -Identities $applicationInstancesIdentities -ConfigurationId $autoAttendantId -ConfigurationType AutoAttendant + +Get-CsAutoAttendant -Identity $autoAttendantId + +# Id : c2ee3e18-b738-5515-a97b-46be52dfc057 +# TenantId : 977c9d5b-2dae-5d82-aada-628bc1c14213 +# Name : Main Auto Attendant +# LanguageId : en-US +# VoiceId : Female +# DefaultCallFlow : Default Call Flow +# Operator : +# TimeZoneId : Pacific Standard Time +# VoiceResponseEnabled : False +# CallFlows : +# Schedules : +# CallHandlingAssociations : +# Status : +# DialByNameResourceId : +# DirectoryLookupScope : +# ApplicationInstances : {fa2f17ec-ebd5-43f8-81ac-959c245620fa, 56421bbe-5649-4208-a60c-24dbeded6f18, c7af9c3c-ae40-455d-a37c-aeec771e623d} + + This example creates an association between multiple application instances that we had created before and to which we assigned phone numbers starting with "tel:+1206", and an auto attendant configuration that we created with display name "Main Auto Attendant" whose identity is "c2ee3e18-b738-5515-a97b-46be52dfc057". Once the associations are created, the newly associated application instances would listed under the `ApplicationInstances` property of the AA. + + + + -------------------------- Example 3 -------------------------- + $applicationInstancesIdentities = (Find-CsOnlineApplicationInstance -SearchQuery "Main Auto Attendant") | Select-Object -Property Id + +# Id +# -- +# fa2f17ec-ebd5-43f8-81ac-959c245620fa +# 56421bbe-5649-4208-a60c-24dbeded6f18 +# c7af9c3c-ae40-455d-a37c-aeec771e623d + +$autoAttendantId = (Get-CsAutoAttendant -NameFilter "Main Auto Attendant").Id # c2ee3e18-b738-5515-a97b-46be52dfc057 + +New-CsOnlineApplicationInstanceAssociation -Identities $applicationInstancesIdentities -ConfigurationId $autoAttendantId -ConfigurationType AutoAttendant + + This example creates an association between multiple application instances that we had created before with display name starting with "Main Auto Attendant", and an auto attendant configuration that we created with display name "Main Auto Attendant" whose identity is "c2ee3e18-b738-5515-a97b-46be52dfc057". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csonlineapplicationinstanceassociation + + + Get-CsOnlineApplicationInstanceAssociation + + + + Get-CsOnlineApplicationInstanceAssociationStatus + + + + Remove-CsOnlineApplicationInstanceAssociation + + + + + + + New-CsOnlineDateTimeRange + New + CsOnlineDateTimeRange + + Use the New-CsOnlineDateTimeRange cmdlet to create a new date-time range. + + + + The New-CsOnlineDateTimeRange cmdlet creates a new date-time range to be used with the Organizational Auto Attendant (OAA) service. Date time ranges are used to form schedules. NOTE : + - The start bound of the range must be less than its end bound. + - The time part of the range must be aligned with 30/60-minutes boundaries. + - A date time range bound can only be input in the following formats: + - "d/m/yyyy H:mm" - "d/m/yyyy" (the time component of the date-time range is set to 00:00) + + + + New-CsOnlineDateTimeRange + + Start + + The Start parameter represents the start bound of the date-time range. + + System.String + + System.String + + + None + + + End + + The End parameter represents the end bound of the date-time range. + If not present, the end bound of the date time range is set to 00:00 of the day after the start date. + + System.String + + System.String + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + Start + + The Start parameter represents the start bound of the date-time range. + + System.String + + System.String + + + None + + + End + + The End parameter represents the end bound of the date-time range. + If not present, the end bound of the date time range is set to 00:00 of the day after the start date. + + System.String + + System.String + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + None + + + + + + + + + + Microsoft.Rtc.Management.Hosted.Online.Models.DateTimeRange + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + $dtr = New-CsOnlineDateTimeRange -Start "1/1/2017" + + This example creates a date-time range for spanning from January 1, 2017 12AM to January 2, 2017 12AM. + + + + -------------------------- Example 2 -------------------------- + $dtr = New-CsOnlineDateTimeRange -Start "24/12/2017 09:00" -End "27/12/2017 00:00" + + This example creates a date-time range spanning from December 24, 2017 9AM to December 27, 2017 12AM. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csonlinedatetimerange + + + New-CsOnlineSchedule + + + + + + + New-CsOnlineLisCivicAddress + New + CsOnlineLisCivicAddress + + Use the New-CsOnlineLisCivicAddress cmdlet to create a civic address in the Location Information Service (LIS). + + + + Because each civic address needs at least one location to assign to users, creating a new civic address also creates a default location. This is useful in cases where a civic address has no particular sub-locations. In that scenario you can create the civic address using the New -CsOnlineLisCivicAddress cmdlet and use the default location identifier for assignment to users. The example output from the Get-CsOnlineLisCivicAddress below shows the DefaultLocationId property. + CivicAddressId : 51a8a6e3-dae4-4653-9a99-a6e71c4c24ac + HouseNumber : + HouseNumberSuffix : + PreDirectional : + StreetName : + StreetSuffix : + PostDirectional : + City : + PostalCode : + StateOrProvince : + CountryOrRegion : US + Description : + CompanyName : MSFT + DefaultLocationId : 75301b5d-3609-458e-a379-da9a1ab33228 + ValidationStatus : NotValidated + NumberOfVoiceUsers : 0 + + + + New-CsOnlineLisCivicAddress + + CompanyName + + Specifies the name of your organization. + + String + + String + + + None + + + CountryOrRegion + + Specifies the country or region of the new civic address. Needs to be a valid country code as contained in the ISO 3166-1 alpha-2 specification. + + String + + String + + + None + + + City + + Specifies the city of the new civic address. + + String + + String + + + None + + + CityAlias + + Specifies the city alias of the new civic address. + + String + + String + + + None + + + CompanyTaxId + + Specifies the company tax identifier of the new civic address. + + String + + String + + + None + + + Description + + Specifies an administrator defined description of the new civic address. + + String + + String + + + None + + + Elin + + Specifies the Emergency Location Identification Number. This is used in Direct Routing EGW scenarios. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + HouseNumber + + Specifies the numeric portion of the new civic address. + + String + + String + + + None + + + HouseNumberSuffix + + Specifies the numeric suffix of the new civic address. For example, if the property was multiplexed, the HouseNumberSuffix parameter would be the multiplex specifier: "425A Smith Avenue", or "425B Smith Avenue". + + String + + String + + + None + + + Latitude + + Specifies the angular distance of a place north or south of the earth's equator using the decimal degrees format. Required for all countries except Australia and Japan where it's optional. + + String + + String + + + None + + + Longitude + + Specifies the angular distance of a place east or west of the meridian at Greenwich, England, using the decimal degrees format. Required for all countries except Australia and Japan where it's optional. + + String + + String + + + None + + + PostalCode + + Specifies the postal code of the new civic address. + + String + + String + + + None + + + PostDirectional + + Specifies the directional attribute of the new civic address which follows the street name. For example, "425 Smith Avenue NE". + + String + + String + + + None + + + PreDirectional + + Specifies the directional attribute of the new civic address which precedes the street name. For example, "425 NE Smith Avenue". + + String + + String + + + None + + + StateOrProvince + + Specifies the state or province of the new civic address. + + String + + String + + + None + + + StreetName + + Specifies the street name of the new civic address. + + String + + String + + + None + + + StreetSuffix + + Specifies the street type of the new civic address. The street suffix will typically be something like street, avenue, way, or boulevard. + + String + + String + + + None + + + Confidence + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + IsAzureMapValidationRequired + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + ValidationStatus + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + + SwitchParameter + + + False + + + Confirm + + The Confirm switch causes the command to pause processing, and requires confirmation to proceed. + + + SwitchParameter + + + False + + + + + + CompanyName + + Specifies the name of your organization. + + String + + String + + + None + + + CountryOrRegion + + Specifies the country or region of the new civic address. Needs to be a valid country code as contained in the ISO 3166-1 alpha-2 specification. + + String + + String + + + None + + + City + + Specifies the city of the new civic address. + + String + + String + + + None + + + CityAlias + + Specifies the city alias of the new civic address. + + String + + String + + + None + + + CompanyTaxId + + Specifies the company tax identifier of the new civic address. + + String + + String + + + None + + + Description + + Specifies an administrator defined description of the new civic address. + + String + + String + + + None + + + Elin + + Specifies the Emergency Location Identification Number. This is used in Direct Routing EGW scenarios. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + HouseNumber + + Specifies the numeric portion of the new civic address. + + String + + String + + + None + + + HouseNumberSuffix + + Specifies the numeric suffix of the new civic address. For example, if the property was multiplexed, the HouseNumberSuffix parameter would be the multiplex specifier: "425A Smith Avenue", or "425B Smith Avenue". + + String + + String + + + None + + + Latitude + + Specifies the angular distance of a place north or south of the earth's equator using the decimal degrees format. Required for all countries except Australia and Japan where it's optional. + + String + + String + + + None + + + Longitude + + Specifies the angular distance of a place east or west of the meridian at Greenwich, England, using the decimal degrees format. Required for all countries except Australia and Japan where it's optional. + + String + + String + + + None + + + PostalCode + + Specifies the postal code of the new civic address. + + String + + String + + + None + + + PostDirectional + + Specifies the directional attribute of the new civic address which follows the street name. For example, "425 Smith Avenue NE". + + String + + String + + + None + + + PreDirectional + + Specifies the directional attribute of the new civic address which precedes the street name. For example, "425 NE Smith Avenue". + + String + + String + + + None + + + StateOrProvince + + Specifies the state or province of the new civic address. + + String + + String + + + None + + + StreetName + + Specifies the street name of the new civic address. + + String + + String + + + None + + + StreetSuffix + + Specifies the street type of the new civic address. The street suffix will typically be something like street, avenue, way, or boulevard. + + String + + String + + + None + + + Confidence + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + IsAzureMapValidationRequired + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + ValidationStatus + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + The Confirm switch causes the command to pause processing, and requires confirmation to proceed. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + New-CsOnlineLisCivicAddress -HouseNumber 1 -StreetName 'Microsoft Way' -City Redmond -StateorProvince Washington -CountryOrRegion US -PostalCode 98052 -Description "West Coast Headquarters" -CompanyName Contoso -Latitude 47.63952 -Longitude -122.12781 -Elin MICROSOFT_ELIN + + This example creates a new civic address described as "West Coast Headquarters": 1 Microsoft Way, Redmond WA, 98052 and sets the geo-coordinates. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csonlineliscivicaddress + + + Set-CsOnlineLisCivicAddress + + + + Remove-CsOnlineLisCivicAddress + + + + Get-CsOnlineLisCivicAddress + + + + + + + New-CsOnlineLisLocation + New + CsOnlineLisLocation + + Use the New-CsOnlineLisLocation cmdlet to create a new emergency dispatch location within an existing civic address. Typically the civic address designates the building, and locations are specific parts of that building such as a floor, office, or wing. + + + + + + + + New-CsOnlineLisLocation + + CivicAddressId + + Specifies the unique identifier of the civic address that will contain the new location. Civic address identities can be discovered by using the Get-CsOnlineLisCivicAddress cmdlet. + + Guid + + Guid + + + None + + + Location + + Specifies an administrator-defined description of the new location. For example, "2nd Floor Cafe", "Main Lobby", or "Office 250". + + String + + String + + + None + + + CountryOrRegion + + Specifies the country or region of the civic address. Note: This parameter is not supported and is deprecated. + + String + + String + + + None + + + City + + Specifies the city of the civic address. Note: This parameter is not supported and is deprecated. + + String + + String + + + None + + + CityAlias + + Specifies the city alias. Note: This parameter is not supported and is deprecated. + + String + + String + + + None + + + CompanyName + + Specifies the name of your organization. Note: This parameter is not supported and is deprecated. + + String + + String + + + None + + + CompanyTaxId + + The company tax ID. Note: This parameter is not supported and is deprecated. + + String + + String + + + None + + + Confidence + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + Description + + Specifies an administrator defined description of the civic address. Note: This parameter is not supported and is deprecated. + + String + + String + + + None + + + Elin + + Specifies the Emergency Location Identification Number. This is used in Direct Routing EGW scenarios. + + String + + String + + + None + + + HouseNumber + + Specifies the numeric portion of the civic address. Note: This parameter is not supported and is deprecated. + + String + + String + + + None + + + HouseNumberSuffix + + Specifies the numeric suffix of the civic address. For example, if the property was multiplexed, the HouseNumberSuffix parameter would be the multiplex specifier: "425A Smith Avenue", or "425B Smith Avenue". Note: This parameter is not supported and is deprecated. + + String + + String + + + None + + + Latitude + + Specifies the angular distance of a place north or south of the earth's equator using the decimal degrees format. Note: This parameter is not supported and is deprecated. + + String + + String + + + None + + + Longitude + + Specifies the angular distance of a place east or west of the meridian at Greenwich, England, using the decimal degrees format. Note: This parameter is not supported and is deprecated. + + String + + String + + + None + + + PostalCode + + Specifies the postal code of the civic address. Note: This parameter is not supported and is deprecated. + + String + + String + + + None + + + PostDirectional + + Specifies the directional attribute of the civic address which follows the street name. For example, "425 Smith Avenue NE". Note: This parameter is not supported and is deprecated. + + String + + String + + + None + + + PreDirectional + + Specifies the directional attribute of the civic address which precedes the street name. For example, "425 NE Smith Avenue". Note: This parameter is not supported and is deprecated. + + String + + String + + + None + + + StateOrProvince + + Specifies the state or province of the civic address. Note: This parameter is not supported and is deprecated. + + String + + String + + + None + + + StreetName + + Specifies the street name of the civic address. Note: This parameter is not supported and is deprecated. + + String + + String + + + None + + + StreetSuffix + + Specifies the modifier of the street name. The street suffix will typically be something like street, avenue, way, or boulevard. Note: This parameter is not supported and is deprecated. + + String + + String + + + None + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + + SwitchParameter + + + False + + + Confirm + + The Confirm switch causes the command to pause processing, and requires confirmation to proceed. + + + SwitchParameter + + + False + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + + SwitchParameter + + + False + + + + + + CivicAddressId + + Specifies the unique identifier of the civic address that will contain the new location. Civic address identities can be discovered by using the Get-CsOnlineLisCivicAddress cmdlet. + + Guid + + Guid + + + None + + + Location + + Specifies an administrator-defined description of the new location. For example, "2nd Floor Cafe", "Main Lobby", or "Office 250". + + String + + String + + + None + + + CountryOrRegion + + Specifies the country or region of the civic address. Note: This parameter is not supported and is deprecated. + + String + + String + + + None + + + City + + Specifies the city of the civic address. Note: This parameter is not supported and is deprecated. + + String + + String + + + None + + + CityAlias + + Specifies the city alias. Note: This parameter is not supported and is deprecated. + + String + + String + + + None + + + CompanyName + + Specifies the name of your organization. Note: This parameter is not supported and is deprecated. + + String + + String + + + None + + + CompanyTaxId + + The company tax ID. Note: This parameter is not supported and is deprecated. + + String + + String + + + None + + + Confidence + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + Description + + Specifies an administrator defined description of the civic address. Note: This parameter is not supported and is deprecated. + + String + + String + + + None + + + Elin + + Specifies the Emergency Location Identification Number. This is used in Direct Routing EGW scenarios. + + String + + String + + + None + + + HouseNumber + + Specifies the numeric portion of the civic address. Note: This parameter is not supported and is deprecated. + + String + + String + + + None + + + HouseNumberSuffix + + Specifies the numeric suffix of the civic address. For example, if the property was multiplexed, the HouseNumberSuffix parameter would be the multiplex specifier: "425A Smith Avenue", or "425B Smith Avenue". Note: This parameter is not supported and is deprecated. + + String + + String + + + None + + + Latitude + + Specifies the angular distance of a place north or south of the earth's equator using the decimal degrees format. Note: This parameter is not supported and is deprecated. + + String + + String + + + None + + + Longitude + + Specifies the angular distance of a place east or west of the meridian at Greenwich, England, using the decimal degrees format. Note: This parameter is not supported and is deprecated. + + String + + String + + + None + + + PostalCode + + Specifies the postal code of the civic address. Note: This parameter is not supported and is deprecated. + + String + + String + + + None + + + PostDirectional + + Specifies the directional attribute of the civic address which follows the street name. For example, "425 Smith Avenue NE". Note: This parameter is not supported and is deprecated. + + String + + String + + + None + + + PreDirectional + + Specifies the directional attribute of the civic address which precedes the street name. For example, "425 NE Smith Avenue". Note: This parameter is not supported and is deprecated. + + String + + String + + + None + + + StateOrProvince + + Specifies the state or province of the civic address. Note: This parameter is not supported and is deprecated. + + String + + String + + + None + + + StreetName + + Specifies the street name of the civic address. Note: This parameter is not supported and is deprecated. + + String + + String + + + None + + + StreetSuffix + + Specifies the modifier of the street name. The street suffix will typically be something like street, avenue, way, or boulevard. Note: This parameter is not supported and is deprecated. + + String + + String + + + None + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + The Confirm switch causes the command to pause processing, and requires confirmation to proceed. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + New-CsOnlineLisLocation -CivicAddressId b39ff77d-db51-4ce5-8d50-9e9c778e1617 -Location "Office 101, 1st Floor" + + This example creates a new location called "Office 101, 1st Floor" in the civic address specified by its identity. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csonlinelislocation + + + Set-CsOnlineLisLocation + + + + Get-CsOnlineLisLocation + + + + Remove-CsOnlineLisLocation + + + + + + + New-CsOnlinePSTNGateway + New + CsOnlinePSTNGateway + + Creates a new Session Border Controller (SBC) Configuration that describes the settings for the peer entity. This cmdlet was introduced with Microsoft Phone System Direct Routing. + + + + Use this cmdlet to create a new Session Border Controller (SBC) configuration. Each configuration contains specific settings for an SBC. These settings configure such entities as the SIP signaling port, whether media bypass is enabled on this SBC, will the SBC send SIP Options, and specify the limit of maximum concurrent sessions. The cmdlet also lets the administrator drain the SBC by setting parameter -Enabled to $true or $false state. When the Enabled parameter is set to $false, the SBC will continue existing calls, but all new calls will be routed to another SBC in a route (if one exists). + + + + New-CsOnlinePSTNGateway + + Description + + Free-format string to describe the gateway. + + String + + String + + + None + + + Enabled + + Used to enable this SBC for outbound calls. Can be used to temporarily remove the SBC from service while it is being updated or during maintenance. Note if the parameter is not set the SBC will be created as disabled (default value -Enabled $false). + + Boolean + + Boolean + + + $false + + + FailoverResponseCodes + + If Direct Routing receives any 4xx or 6xx SIP error code in response to an outgoing Invite the call is considered completed by default. (Outgoing in this context is a call from a Teams client to the PSTN with traffic flow: Teams Client -> Direct Routing -> SBC -> Telephony network). Setting the SIP codes in this parameter forces Direct Routing on receiving the specified codes try another SBC (if another SBC exists in the voice routing policy of the user). Find more information in the "Reference" section of "Phone System Direct Routing" documentation. + Setting this parameter overwrites the default values, so if you want to include the default values, please add them to string. + + String + + String + + + 408, 503, 504 + + + FailoverTimeSeconds + + When set to 10 (default value), outbound calls that are not answered by the gateway within 10 seconds are routed to the next available trunk; if there are no additional trunks, then the call is automatically dropped. In an organization with slow networks and slow gateway responses, that could potentially result in calls being dropped unnecessarily. The default value is 10. + + Int32 + + Int32 + + + 10 + + + ForwardCallHistory + + Indicates whether call history information will be forwarded to the SBC. If enabled, the Office 365 PSTN Proxy sends two headers: History-info and Referred-By. The default value is False ($False). + + Boolean + + Boolean + + + $false + + + ForwardPai + + Indicates whether the P-Asserted-Identity (PAI) header will be forwarded along with the call. The PAI header provides a way to verify the identity of the caller. The default value is False ($False). Setting this parameter to $true will render the from header anonymous, in accordance of RFC5379 and RFC3325. + + Boolean + + Boolean + + + $false + + + Fqdn + + Limited to 63 characters, the FQDN registered for the SBC. Copied automatically to Identity of the SBC field. + + String + + String + + + None + + + GatewaySiteId + + PSTN Gateway Site Id. + + String + + String + + + None + + + GatewaySiteLbrEnabled + + Used to enable this SBC to report assigned site location. Site location is used for Location Based Routing. When this parameter is enabled ($True), the SBC will report the site name as defined by the tenant administrator. On an incoming call to a Teams user the value of the site assigned to the SBC is compared with the value of the site assigned to the user to make a routing decision. The parameter is mandatory for enabling Location Based Routing feature. The default value is False ($False). + + Boolean + + Boolean + + + $false + + + GatewayLbrEnabledUserOverride + + Allows an LBR enabled user working from a network site outside the corporate network or a network site on the corporate network not configured using a tenant network site to make outbound PSTN calls or receive inbound PSTN calls via an LBR enabled gateway. The default value is False. + + Boolean + + Boolean + + + $false + + + MaxConcurrentSessions + + Used by the alerting system. When any value is set, the alerting system will generate an alert to the tenant administrator when the number of concurrent sessions is 90% or higher than this value. If the parameter is not set, alerts are not generated. However, the monitoring system will report the number of concurrent sessions every 24 hours. + + System.Int32 + + System.Int32 + + + None + + + MediaBypass + + Parameter indicates if the SBC supports Media Bypass and the administrator wants to use it for this SBC. + + Boolean + + Boolean + + + $false + + + MediaRelayRoutingLocationOverride + + Allows selecting path for media manually. Direct Routing assigns a datacenter for media path based on the public IP of the SBC. We always select closest to the SBC datacenter. However, in some cases a public IP from for example a US range can be assigned to an SBC located in Europe. In this case we will be using not optimal media path. We only recommend setting this parameter if the call logs clearly indicate that automatic assignment of the datacenter for media path does not assign the closest to the SBC datacenter. + + String + + String + + + $false + + + SendSipOptions + + Defines if an SBC will or will not send SIP Options messages. If disabled, the SBC will be excluded from the Monitoring and Alerting system. We highly recommend that you enable SIP Options. The default value is True. + + Boolean + + Boolean + + + $true + + + SipSignalingPort + + Listening port used for communicating with Direct Routing services by using the Transport Layer Security (TLS) protocol. Must be value between 1 and 65535. Please note: Spelling of this parameter changed recently from SipSignallingPort to SipSignalingPort. + + Int32 + + Int32 + + + None + + + BypassMode + + Possible values are "None", "Always" and "OnlyForLocalUsers". By setting "Always" mode you indicate that your network is fully routable. If a user usually in site "Seattle", travels to site "Tallinn" and tries to use SBC located in Seattle we will try to deliver the traffic to Seattle assuming that there is connection between Tallinn and Seattle offices. With "OnlyForLocaUsers" you indicate that there is no direct connection between sites. In example above, the traffic will not be send directly from Tallinn to Seattle. + + String + + String + + + None + + + InboundTeamsNumberTranslationRules + + This parameter assigns an ordered list of Teams translation rules, that apply to Teams numbers on inbound direction. + + Object + + Object + + + None + + + InboundPSTNNumberTranslationRules + + Creates an ordered list of Teams translation rules, that apply to PSTN number on inbound direction. + + Object + + Object + + + None + + + OutbundTeamsNumberTranslationRules + + Creates an ordered list of Teams translation rules, that apply to Teams Number on outbound direction. + + Object + + Object + + + None + + + OutboundPSTNNumberTranslationRules + + Assigns an ordered list of Teams translation rules, that apply to PSTN number on outbound direction. + + Object + + Object + + + None + + + PidfloSupported + + Enables PIDF-LO support on the PSTN Gateway. If turned on the .xml body payload is sent to the SBC with the location details of the user. + + Boolean + + Boolean + + + $false + + + ProxySbc + + The FQDN of the proxy SBC. Used in Local Media Optimization configurations. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + New-CsOnlinePSTNGateway + + Identity + + When creating a new SBC, the identity must be identical to the -FQDN parameter, described above. If the parameter is not defined the Identity will be copied from the -FQDN parameter. The Identity parameter is not mandatory. + + String + + String + + + None + + + Description + + Free-format string to describe the gateway. + + String + + String + + + None + + + Enabled + + Used to enable this SBC for outbound calls. Can be used to temporarily remove the SBC from service while it is being updated or during maintenance. Note if the parameter is not set the SBC will be created as disabled (default value -Enabled $false). + + Boolean + + Boolean + + + $false + + + FailoverResponseCodes + + If Direct Routing receives any 4xx or 6xx SIP error code in response to an outgoing Invite the call is considered completed by default. (Outgoing in this context is a call from a Teams client to the PSTN with traffic flow: Teams Client -> Direct Routing -> SBC -> Telephony network). Setting the SIP codes in this parameter forces Direct Routing on receiving the specified codes try another SBC (if another SBC exists in the voice routing policy of the user). Find more information in the "Reference" section of "Phone System Direct Routing" documentation. + Setting this parameter overwrites the default values, so if you want to include the default values, please add them to string. + + String + + String + + + 408, 503, 504 + + + FailoverTimeSeconds + + When set to 10 (default value), outbound calls that are not answered by the gateway within 10 seconds are routed to the next available trunk; if there are no additional trunks, then the call is automatically dropped. In an organization with slow networks and slow gateway responses, that could potentially result in calls being dropped unnecessarily. The default value is 10. + + Int32 + + Int32 + + + 10 + + + ForwardCallHistory + + Indicates whether call history information will be forwarded to the SBC. If enabled, the Office 365 PSTN Proxy sends two headers: History-info and Referred-By. The default value is False ($False). + + Boolean + + Boolean + + + $false + + + ForwardPai + + Indicates whether the P-Asserted-Identity (PAI) header will be forwarded along with the call. The PAI header provides a way to verify the identity of the caller. The default value is False ($False). Setting this parameter to $true will render the from header anonymous, in accordance of RFC5379 and RFC3325. + + Boolean + + Boolean + + + $false + + + GatewaySiteId + + PSTN Gateway Site Id. + + String + + String + + + None + + + GatewaySiteLbrEnabled + + Used to enable this SBC to report assigned site location. Site location is used for Location Based Routing. When this parameter is enabled ($True), the SBC will report the site name as defined by the tenant administrator. On an incoming call to a Teams user the value of the site assigned to the SBC is compared with the value of the site assigned to the user to make a routing decision. The parameter is mandatory for enabling Location Based Routing feature. The default value is False ($False). + + Boolean + + Boolean + + + $false + + + GatewayLbrEnabledUserOverride + + Allows an LBR enabled user working from a network site outside the corporate network or a network site on the corporate network not configured using a tenant network site to make outbound PSTN calls or receive inbound PSTN calls via an LBR enabled gateway. The default value is False. + + Boolean + + Boolean + + + $false + + + MaxConcurrentSessions + + Used by the alerting system. When any value is set, the alerting system will generate an alert to the tenant administrator when the number of concurrent sessions is 90% or higher than this value. If the parameter is not set, alerts are not generated. However, the monitoring system will report the number of concurrent sessions every 24 hours. + + System.Int32 + + System.Int32 + + + None + + + MediaBypass + + Parameter indicates if the SBC supports Media Bypass and the administrator wants to use it for this SBC. + + Boolean + + Boolean + + + $false + + + MediaRelayRoutingLocationOverride + + Allows selecting path for media manually. Direct Routing assigns a datacenter for media path based on the public IP of the SBC. We always select closest to the SBC datacenter. However, in some cases a public IP from for example a US range can be assigned to an SBC located in Europe. In this case we will be using not optimal media path. We only recommend setting this parameter if the call logs clearly indicate that automatic assignment of the datacenter for media path does not assign the closest to the SBC datacenter. + + String + + String + + + $false + + + SendSipOptions + + Defines if an SBC will or will not send SIP Options messages. If disabled, the SBC will be excluded from the Monitoring and Alerting system. We highly recommend that you enable SIP Options. The default value is True. + + Boolean + + Boolean + + + $true + + + SipSignalingPort + + Listening port used for communicating with Direct Routing services by using the Transport Layer Security (TLS) protocol. Must be value between 1 and 65535. Please note: Spelling of this parameter changed recently from SipSignallingPort to SipSignalingPort. + + Int32 + + Int32 + + + None + + + BypassMode + + Possible values are "None", "Always" and "OnlyForLocalUsers". By setting "Always" mode you indicate that your network is fully routable. If a user usually in site "Seattle", travels to site "Tallinn" and tries to use SBC located in Seattle we will try to deliver the traffic to Seattle assuming that there is connection between Tallinn and Seattle offices. With "OnlyForLocaUsers" you indicate that there is no direct connection between sites. In example above, the traffic will not be send directly from Tallinn to Seattle. + + String + + String + + + None + + + InboundTeamsNumberTranslationRules + + This parameter assigns an ordered list of Teams translation rules, that apply to Teams numbers on inbound direction. + + Object + + Object + + + None + + + InboundPSTNNumberTranslationRules + + Creates an ordered list of Teams translation rules, that apply to PSTN number on inbound direction. + + Object + + Object + + + None + + + OutbundTeamsNumberTranslationRules + + Creates an ordered list of Teams translation rules, that apply to Teams Number on outbound direction. + + Object + + Object + + + None + + + OutboundPSTNNumberTranslationRules + + Assigns an ordered list of Teams translation rules, that apply to PSTN number on outbound direction. + + Object + + Object + + + None + + + PidfloSupported + + Enables PIDF-LO support on the PSTN Gateway. If turned on the .xml body payload is sent to the SBC with the location details of the user. + + Boolean + + Boolean + + + $false + + + ProxySbc + + The FQDN of the proxy SBC. Used in Local Media Optimization configurations. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Description + + Free-format string to describe the gateway. + + String + + String + + + None + + + Enabled + + Used to enable this SBC for outbound calls. Can be used to temporarily remove the SBC from service while it is being updated or during maintenance. Note if the parameter is not set the SBC will be created as disabled (default value -Enabled $false). + + Boolean + + Boolean + + + $false + + + FailoverResponseCodes + + If Direct Routing receives any 4xx or 6xx SIP error code in response to an outgoing Invite the call is considered completed by default. (Outgoing in this context is a call from a Teams client to the PSTN with traffic flow: Teams Client -> Direct Routing -> SBC -> Telephony network). Setting the SIP codes in this parameter forces Direct Routing on receiving the specified codes try another SBC (if another SBC exists in the voice routing policy of the user). Find more information in the "Reference" section of "Phone System Direct Routing" documentation. + Setting this parameter overwrites the default values, so if you want to include the default values, please add them to string. + + String + + String + + + 408, 503, 504 + + + FailoverTimeSeconds + + When set to 10 (default value), outbound calls that are not answered by the gateway within 10 seconds are routed to the next available trunk; if there are no additional trunks, then the call is automatically dropped. In an organization with slow networks and slow gateway responses, that could potentially result in calls being dropped unnecessarily. The default value is 10. + + Int32 + + Int32 + + + 10 + + + ForwardCallHistory + + Indicates whether call history information will be forwarded to the SBC. If enabled, the Office 365 PSTN Proxy sends two headers: History-info and Referred-By. The default value is False ($False). + + Boolean + + Boolean + + + $false + + + ForwardPai + + Indicates whether the P-Asserted-Identity (PAI) header will be forwarded along with the call. The PAI header provides a way to verify the identity of the caller. The default value is False ($False). Setting this parameter to $true will render the from header anonymous, in accordance of RFC5379 and RFC3325. + + Boolean + + Boolean + + + $false + + + Fqdn + + Limited to 63 characters, the FQDN registered for the SBC. Copied automatically to Identity of the SBC field. + + String + + String + + + None + + + GatewaySiteId + + PSTN Gateway Site Id. + + String + + String + + + None + + + GatewaySiteLbrEnabled + + Used to enable this SBC to report assigned site location. Site location is used for Location Based Routing. When this parameter is enabled ($True), the SBC will report the site name as defined by the tenant administrator. On an incoming call to a Teams user the value of the site assigned to the SBC is compared with the value of the site assigned to the user to make a routing decision. The parameter is mandatory for enabling Location Based Routing feature. The default value is False ($False). + + Boolean + + Boolean + + + $false + + + GatewayLbrEnabledUserOverride + + Allows an LBR enabled user working from a network site outside the corporate network or a network site on the corporate network not configured using a tenant network site to make outbound PSTN calls or receive inbound PSTN calls via an LBR enabled gateway. The default value is False. + + Boolean + + Boolean + + + $false + + + Identity + + When creating a new SBC, the identity must be identical to the -FQDN parameter, described above. If the parameter is not defined the Identity will be copied from the -FQDN parameter. The Identity parameter is not mandatory. + + String + + String + + + None + + + MaxConcurrentSessions + + Used by the alerting system. When any value is set, the alerting system will generate an alert to the tenant administrator when the number of concurrent sessions is 90% or higher than this value. If the parameter is not set, alerts are not generated. However, the monitoring system will report the number of concurrent sessions every 24 hours. + + System.Int32 + + System.Int32 + + + None + + + MediaBypass + + Parameter indicates if the SBC supports Media Bypass and the administrator wants to use it for this SBC. + + Boolean + + Boolean + + + $false + + + MediaRelayRoutingLocationOverride + + Allows selecting path for media manually. Direct Routing assigns a datacenter for media path based on the public IP of the SBC. We always select closest to the SBC datacenter. However, in some cases a public IP from for example a US range can be assigned to an SBC located in Europe. In this case we will be using not optimal media path. We only recommend setting this parameter if the call logs clearly indicate that automatic assignment of the datacenter for media path does not assign the closest to the SBC datacenter. + + String + + String + + + $false + + + SendSipOptions + + Defines if an SBC will or will not send SIP Options messages. If disabled, the SBC will be excluded from the Monitoring and Alerting system. We highly recommend that you enable SIP Options. The default value is True. + + Boolean + + Boolean + + + $true + + + SipSignalingPort + + Listening port used for communicating with Direct Routing services by using the Transport Layer Security (TLS) protocol. Must be value between 1 and 65535. Please note: Spelling of this parameter changed recently from SipSignallingPort to SipSignalingPort. + + Int32 + + Int32 + + + None + + + BypassMode + + Possible values are "None", "Always" and "OnlyForLocalUsers". By setting "Always" mode you indicate that your network is fully routable. If a user usually in site "Seattle", travels to site "Tallinn" and tries to use SBC located in Seattle we will try to deliver the traffic to Seattle assuming that there is connection between Tallinn and Seattle offices. With "OnlyForLocaUsers" you indicate that there is no direct connection between sites. In example above, the traffic will not be send directly from Tallinn to Seattle. + + String + + String + + + None + + + InboundTeamsNumberTranslationRules + + This parameter assigns an ordered list of Teams translation rules, that apply to Teams numbers on inbound direction. + + Object + + Object + + + None + + + InboundPSTNNumberTranslationRules + + Creates an ordered list of Teams translation rules, that apply to PSTN number on inbound direction. + + Object + + Object + + + None + + + OutbundTeamsNumberTranslationRules + + Creates an ordered list of Teams translation rules, that apply to Teams Number on outbound direction. + + Object + + Object + + + None + + + OutboundPSTNNumberTranslationRules + + Assigns an ordered list of Teams translation rules, that apply to PSTN number on outbound direction. + + Object + + Object + + + None + + + PidfloSupported + + Enables PIDF-LO support on the PSTN Gateway. If turned on the .xml body payload is sent to the SBC with the location details of the user. + + Boolean + + Boolean + + + $false + + + ProxySbc + + The FQDN of the proxy SBC. Used in Local Media Optimization configurations. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> New-CsOnlinePSTNGateway -FQDN sbc.contoso.com -SIPSignalingPort 5061 + + This example creates an SBC with FQDN sbc.contoso.com and signaling port 5061. All others parameters will stay default. Note the SBC will be in the disabled state. + + + + -------------------------- Example 2 -------------------------- + PS C:\> New-CsOnlinePSTNGateway -FQDN sbc.contoso.com -SIPSignalingPort 5061 -ForwardPAI $true -Enabled $true + + This example creates an SBC with FQDN sbc.contoso.com and signaling port 5061. For each outbound to SBC session, the Direct Routing interface will report in P-Asserted-Identity fields the TEL URI and SIP address of the user who made a call. This is useful when a tenant administrator sets the identity of the caller as "Anonymous" or a general number of the company, but for billing purposes the real identity of the user is required. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csonlinepstngateway + + + Set-CsOnlinePSTNGateway + + + + Get-CsOnlinePSTNGateway + + + + Remove-CsOnlinePSTNGateway + + + + + + + New-CsOnlineSchedule + New + CsOnlineSchedule + + Use the New-CsOnlineSchedule cmdlet to create a new schedule. + + + + The New-CsOnlineSchedule cmdlet creates a new schedule for the Auto Attendant (AA) service. The AA service uses schedules to conditionally execute call flows when a specific schedule is in effect. NOTES : + - The type of the schedule cannot be altered after the schedule is created. + - Currently, only two types of schedules can be created: WeeklyRecurrentSchedule or FixedSchedule. + - The schedule types are mutually exclusive. So a weekly recurrent schedule cannot be a fixed schedule and vice versa. + - For a weekly recurrent schedule, at least one day should have time ranges specified. + - You can create a new time range by using New-CsOnlineTimeRange cmdlet. + - A fixed schedule can be created without any date-time ranges. In this case, it would never be in effect. + - For a fixed schedule, at most 10 date-time ranges can be specified. + - You can create a new date-time range for a fixed schedule by using the New-CsOnlineDateTimeRange cmdlet. + - The return type of this cmdlet composes a member for the underlying type/implementation. For example, in case of the weekly recurrent schedule, you can modify Monday's time ranges through the Schedule.WeeklyRecurrentSchedule.MondayHours property. Similarly, date-time ranges of a fixed schedule can be modified by using the Schedule.FixedSchedule.DateTimeRanges property. + - Schedules can then be used by New-CsAutoAttendantCallHandlingAssociation (New-CsAutoAttendantCallHandlingAssociation.md). + + + + New-CsOnlineSchedule + + Name + + The Name parameter represents a unique friendly name for the schedule. + + System.String + + System.String + + + None + + + WeeklyRecurrentSchedule + + The WeeklyRecurrentSchedule parameter indicates that a weekly recurrent schedule is to be created. This parameter is mandatory when a weekly recurrent schedule is to be created. + + + SwitchParameter + + + False + + + MondayHours + + List of time ranges for that day. + + System.Collections.Generic.List + + System.Collections.Generic.List + + + None + + + TuesdayHours + + List of time ranges for that day. + + System.Collections.Generic.List + + System.Collections.Generic.List + + + None + + + WednesdayHours + + List of time ranges for that day. + + System.Collections.Generic.List + + System.Collections.Generic.List + + + None + + + ThursdayHours + + List of time ranges for that day. + + System.Collections.Generic.List + + System.Collections.Generic.List + + + None + + + FridayHours + + List of time ranges for that day. + + System.Collections.Generic.List + + System.Collections.Generic.List + + + None + + + SaturdayHours + + List of time ranges for that day. + + System.Collections.Generic.List + + System.Collections.Generic.List + + + None + + + SundayHours + + List of time ranges for that day. + + System.Collections.Generic.List + + System.Collections.Generic.List + + + None + + + Complement + + The Complement parameter indicates how the schedule is used. When Complement is enabled, the schedule is used as the inverse of the provided configuration. For example, if Complement is enabled and the schedule only contains time ranges of Monday to Friday from 9AM to 5PM, then the schedule is active at all times other than the specified time ranges. + + + SwitchParameter + + + False + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + New-CsOnlineSchedule + + Name + + The Name parameter represents a unique friendly name for the schedule. + + System.String + + System.String + + + None + + + FixedSchedule + + The FixedSchedule parameter indicates that a fixed schedule is to be created. + + + SwitchParameter + + + False + + + DateTimeRanges + + List of date-time ranges for a fixed schedule. At most, 10 date-time ranges can be specified using this parameter. + + System.Collections.Generic.List + + System.Collections.Generic.List + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + Name + + The Name parameter represents a unique friendly name for the schedule. + + System.String + + System.String + + + None + + + WeeklyRecurrentSchedule + + The WeeklyRecurrentSchedule parameter indicates that a weekly recurrent schedule is to be created. This parameter is mandatory when a weekly recurrent schedule is to be created. + + SwitchParameter + + SwitchParameter + + + False + + + MondayHours + + List of time ranges for that day. + + System.Collections.Generic.List + + System.Collections.Generic.List + + + None + + + TuesdayHours + + List of time ranges for that day. + + System.Collections.Generic.List + + System.Collections.Generic.List + + + None + + + WednesdayHours + + List of time ranges for that day. + + System.Collections.Generic.List + + System.Collections.Generic.List + + + None + + + ThursdayHours + + List of time ranges for that day. + + System.Collections.Generic.List + + System.Collections.Generic.List + + + None + + + FridayHours + + List of time ranges for that day. + + System.Collections.Generic.List + + System.Collections.Generic.List + + + None + + + SaturdayHours + + List of time ranges for that day. + + System.Collections.Generic.List + + System.Collections.Generic.List + + + None + + + SundayHours + + List of time ranges for that day. + + System.Collections.Generic.List + + System.Collections.Generic.List + + + None + + + Complement + + The Complement parameter indicates how the schedule is used. When Complement is enabled, the schedule is used as the inverse of the provided configuration. For example, if Complement is enabled and the schedule only contains time ranges of Monday to Friday from 9AM to 5PM, then the schedule is active at all times other than the specified time ranges. + + SwitchParameter + + SwitchParameter + + + False + + + FixedSchedule + + The FixedSchedule parameter indicates that a fixed schedule is to be created. + + SwitchParameter + + SwitchParameter + + + False + + + DateTimeRanges + + List of date-time ranges for a fixed schedule. At most, 10 date-time ranges can be specified using this parameter. + + System.Collections.Generic.List + + System.Collections.Generic.List + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + None + + + + + + + + + + Microsoft.Rtc.Management.Hosted.Online.Models.Schedule + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + $tr1 = New-CsOnlineTimeRange -Start 09:00 -End 12:00 +$tr2 = New-CsOnlineTimeRange -Start 13:00 -End 17:00 +$businessHours = New-CsOnlineSchedule -Name "Business Hours" -WeeklyRecurrentSchedule -MondayHours @($tr1, $tr2) -TuesdayHours @($tr1, $tr2) -WednesdayHours @($tr1, $tr2) -ThursdayHours @($tr1, $tr2) -FridayHours @($tr1, $tr2) + + This example creates a weekly recurrent schedule that is active on Monday-Friday from 9AM-12PM and 1PM-5PM. + + + + -------------------------- Example 2 -------------------------- + $tr1 = New-CsOnlineTimeRange -Start 09:00 -End 12:00 +$tr2 = New-CsOnlineTimeRange -Start 13:00 -End 17:00 +$afterHours = New-CsOnlineSchedule -Name " After Hours" -WeeklyRecurrentSchedule -MondayHours @($tr1, $tr2) -TuesdayHours @($tr1, $tr2) -WednesdayHours @($tr1, $tr2) -ThursdayHours @($tr1, $tr2) -FridayHours @($tr1, $tr2) -Complement + + This example creates a weekly recurrent schedule that is active at all times except Monday-Friday, 9AM-12PM and 1PM-5PM. + + + + -------------------------- Example 3 -------------------------- + $dtr = New-CsOnlineDateTimeRange -Start "24/12/2017" -End "26/12/2017" +$christmasSchedule = New-CsOnlineSchedule -Name "Christmas" -FixedSchedule -DateTimeRanges @($dtr) + + This example creates a fixed schedule that is active from December 24, 2017 to December 26, 2017. + + + + -------------------------- Example 4 -------------------------- + $dtr1 = New-CsOnlineDateTimeRange -Start "24/12/2017" -End "26/12/2017" +$dtr2 = New-CsOnlineDateTimeRange -Start "24/12/2018" -End "26/12/2018" +$christmasSchedule = New-CsOnlineSchedule -Name "Christmas" -FixedSchedule -DateTimeRanges @($dtr1, $dtr2) + + This example creates a fixed schedule that is active from December 24, 2017 to December 26, 2017 and then from December 24, 2018 to December 26, 2018. + + + + -------------------------- Example 5 -------------------------- + $notInEffectSchedule = New-CsOnlineSchedule -Name "NotInEffect" -FixedSchedule + + This example creates a fixed schedule that is never active. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csonlineschedule + + + New-CsOnlineTimeRange + + + + New-CsOnlineDateTimeRange + + + + New-CsAutoAttendantCallFlow + + + + New-CsAutoAttendantCallHandlingAssociation + + + + New-CsAutoAttendant + + + + + + + New-CsOnlineTelephoneNumberOrder + New + CsOnlineTelephoneNumberOrder + + Use the `New-CsOnlineTelephoneNumberOrder` cmdlet to create a telephone number search order. The telephone numbers can then be used to set up calling features for users and services in your organization. + + + + Use the `New-CsOnlineTelephoneNumberOrder` cmdlet to create a telephone number search order. The telephone numbers can then be used to set up calling features for users and services in your organization. Use the `Get-CsOnlineTelephoneNumberType` cmdlet to find out the supported types of searches for each NumberType and construct the search request demonstrated below: + Telephone numbers can be created with 3 ways: + - Civic Address Search : A telephone number search order can be created base on a given civic address ID. The service will look up the address and fulfill the search order using available telephone numbers local to the given address. For civic address based search, the parameter `CivicAddressId` is required. + - Number Prefix Search : A telephone number search order can be created base on a given number prefix. The number prefix search allow the tenant to acquire telephone numbers with a fixed number prefix. For number prefix based search, the parameter `NumberPrefix` is required. + - Area Code Selection Search : A telephone number search order can be created base on a give area code. Certain service numbers are only offered with a dedicated set of area codes. With area code selection search, the tenant can acquire the desired telephone numbers by area code. For area code selection based search, the parameter `AreaCode` is required. + + + + New-CsOnlineTelephoneNumberOrder + + Name + + Specifies the telephone number search order name. + + String + + String + + + None + + + Description + + Specifies the telephone number search order description. + + String + + String + + + None + + + Country + + Specifies the telephone number search order country/region. Use `Get-CsOnlineTelephoneNumberCountry` to find the supported countries/regions. + + String + + String + + + None + + + NumberType + + Specifies the telephone number search order number type. Use `Get-CsOnlineTelephoneNumberType` to find the supported number types. + + String + + String + + + None + + + Quantity + + Specifies the telephone number search order quantity. The number of allowed quantity is based on the tenant licenses. + + Integer + + Integer + + + None + + + CivicAddressId + + Specifies the telephone number search order civic address. CivicAddressId is required for civic address based search and when RequiresCivicAddress is true for a given NumberType. + + String + + String + + + None + + + NumberPrefix + + Specifies the telephone number search order number prefix. NumberPrefix is required for number prefix based search. + + Integer + + Integer + + + None + + + AreaCode + + Specifies the telephone number search order number area code. AreaCode is required for area code selection based search. + + Integer + + Integer + + + None + + + + + + Name + + Specifies the telephone number search order name. + + String + + String + + + None + + + Description + + Specifies the telephone number search order description. + + String + + String + + + None + + + Country + + Specifies the telephone number search order country/region. Use `Get-CsOnlineTelephoneNumberCountry` to find the supported countries/regions. + + String + + String + + + None + + + NumberType + + Specifies the telephone number search order number type. Use `Get-CsOnlineTelephoneNumberType` to find the supported number types. + + String + + String + + + None + + + Quantity + + Specifies the telephone number search order quantity. The number of allowed quantity is based on the tenant licenses. + + Integer + + Integer + + + None + + + CivicAddressId + + Specifies the telephone number search order civic address. CivicAddressId is required for civic address based search and when RequiresCivicAddress is true for a given NumberType. + + String + + String + + + None + + + NumberPrefix + + Specifies the telephone number search order number prefix. NumberPrefix is required for number prefix based search. + + Integer + + Integer + + + None + + + AreaCode + + Specifies the telephone number search order number area code. AreaCode is required for area code selection based search. + + Integer + + Integer + + + None + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> $orderId = New-CsOnlineTelephoneNumberOrder -Name "Example 1" -Description "Civic address search example" -Country "US" -NumberType "UserSubscriber" -Quantity 1 -CivicAddressId 3b175352-4131-431e-970c-273226b8fb46 +PS C:\> $order = Get-CsOnlineTelephoneNumberOrder -OrderId $orderId + +AreaCode : +CivicAddressId : 3b175352-4131-431e-970c-273226b8fb46 +CountryCode : US +CreatedAt : 8/23/2021 5:43:44 PM +Description : Civic address search example +ErrorCode : NoError +Id : 1efd85ca-dd46-41b3-80a0-2e4c5f87c912 +InventoryType : Subscriber +IsManual : False +Name : Example 1 +NumberPrefix : +NumberType : UserSubscriber +Quantity : 1 +ReservationExpiryDate : 8/23/2021 5:59:45 PM +SearchType : CivicAddress +SendToServiceDesk : False +Status : Reserved +TelephoneNumber : {Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TelephoneNumberSearchResult} + +PS C:\> $order.TelephoneNumber + +Location TelephoneNumber +-------- --------------- +New York City +17182000004 + + This example demonstrates a civic address based telephone number search. Telephone number +17182000004 is found to belong to the given address and is reserved for purchase. + + + + -------------------------- Example 2 -------------------------- + PS C:\> $orderId = New-CsOnlineTelephoneNumberOrder -Name "Example 2" -Description "Number prefix search example" -Country "US" -NumberType "UserSubscriber" -Quantity 1 -NumberPrefix 1425 +PS C:\> $order = Get-CsOnlineTelephoneNumberOrder -OrderId $orderId + +AreaCode : +CivicAddressId : +CountryCode : US +CreatedAt : 8/23/2021 5:43:44 PM +Description : Number prefix search example +ErrorCode : NoError +Id : 1efd85ca-dd46-41b3-80a0-2e4c5f87c912 +InventoryType : Subscriber +IsManual : False +Name : Example 2 +NumberPrefix : +NumberType : UserSubscriber +Quantity : 1 +ReservationExpiryDate : 8/23/2021 5:59:45 PM +SearchType : Prefix +SendToServiceDesk : False +Status : Reserved +TelephoneNumber : {Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TelephoneNumberSearchResult} + +PS C:\> $order.TelephoneNumber + +Location TelephoneNumber +-------- --------------- +Bellevue +14252000004 + + This example demonstrates a number prefix based telephone number search. Telephone number +14252000004 is found to have the desired number prefix and is reserved for purchase. + + + + -------------------------- Example 3 -------------------------- + PS C:\> $orderId = New-CsOnlineTelephoneNumberOrder -Name "Example 3" -Description "Area code selection search example" -Country "US" -NumberType "ConferenceTollFree" -Quantity 1 -AreaCode 800 +PS C:\> $order = Get-CsOnlineTelephoneNumberOrder -OrderId $orderId + +AreaCode : +CivicAddressId : +CountryCode : US +CreatedAt : 8/23/2021 5:43:44 PM +Description : Area code selection search example +ErrorCode : NoError +Id : 1efd85ca-dd46-41b3-80a0-2e4c5f87c912 +InventoryType : Service +IsManual : False +Name : Example 3 +NumberPrefix : +NumberType : ConferenceTollFree +Quantity : 1 +ReservationExpiryDate : 8/23/2021 5:59:45 PM +SearchType : AreaCodeSelection +SendToServiceDesk : False +Status : Reserved +TelephoneNumber : {Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TelephoneNumberSearchResult} + +PS C:\> $order.TelephoneNumber + +Location TelephoneNumber +-------- --------------- +Toll Free +18002000004 + + This example demonstrates an area code selection based telephone number search. Telephone number +18002000004 is found to have the desired area code and is reserved for purchase. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csonlinetelephonenumberorder + + + Get-CsOnlineTelephoneNumberCountry + + + + Get-CsOnlineTelephoneNumberType + + + + New-CsOnlineTelephoneNumberOrder + + + + Get-CsOnlineTelephoneNumberOrder + + + + Complete-CsOnlineTelephoneNumberOrder + + + + Clear-CsOnlineTelephoneNumberOrder + + + + + + + New-CsOnlineTimeRange + New + CsOnlineTimeRange + + The New-CsOnlineTimeRange cmdlet creates a new time range. + + + + The New-CsOnlineTimeRange cmdlet creates a new time range to be used with the Auto Attendant (AA) service. Time ranges are used to form schedules. NOTES : + - The start bound of the range must be less than its end bound. + - Time ranges within a weekly recurrent schedule must align with 15-minute boundaries. + + + + New-CsOnlineTimeRange + + Start + + The Start parameter represents the start bound of the time range. + + System.TimeSpan + + System.TimeSpan + + + None + + + End + + The End parameter represents the end bound of the time range. + + System.TimeSpan + + System.TimeSpan + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + Start + + The Start parameter represents the start bound of the time range. + + System.TimeSpan + + System.TimeSpan + + + None + + + End + + The End parameter represents the end bound of the time range. + + System.TimeSpan + + System.TimeSpan + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + None + + + + + + + + + + Microsoft.Rtc.Management.Hosted.Online.Models.TimeRange + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + $workdayTimeRange = New-CsOnlineTimeRange -Start 09:00 -End 17:00 + + This example creates a time range for a 9AM to 5PM work day. + + + + -------------------------- Example 2 -------------------------- + $allDayTimeRange = New-CsOnlineTimeRange -Start 00:00 -End 1.00:00 + + This example creates a 24-hour time range. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csonlinetimerange + + + + + + New-CsOnlineVoiceRoute + New + CsOnlineVoiceRoute + + Creates a new online voice route. Online voice routes contain instructions that tell Skype for Business Online how to route calls from Office 365 users to phone numbers on the public switched telephone network (PSTN) or a private branch exchange (PBX). + + + + Use this cmdlet to create a new online voice route. All online voice routes are created at the Global scope. However, multiple global voice routes can be defined. This is accomplished through the Identity parameter, which requires a unique route name. + Voice routes are associated with online voice policies through online PSTN usages. A voice route includes a regular expression that identifies which phone numbers will be routed through a given voice route: phone numbers matching the regular expression will be routed through this route. + This cmdlet is used when configuring Microsoft Phone System Direct Routing. + + + + New-CsOnlineVoiceRoute + + Identity + + A name that uniquely identifies the online voice route. Voice routes can be defined only at the global scope, so the identity is simply the name you want to give the route. (You can have spaces in the route name, for instance Test Route, but you must enclose the full string in double quotes in the call to the New-CsOnlineVoiceRoute cmdlet.) + If Identity is specified, the Name must be left blank. The value of the Identity will be assigned to the Name. + + String + + String + + + None + + + BridgeSourcePhoneNumber + + BridgeSourcePhoneNumber is an E.164 formatted Operator Connect Conferencing phone number assigned to your Audio Conferencing Bridge. Using BridgeSourcePhoneNumber in an online voice route is mutually exclusive with using OnlinePstnGatewayList in the same online voice route. + When using BridgeSourcePhoneNumber in an online voice route, the OnlinePstnUsages used in the online voice route should only be used in a corresponding OnlineAudioConferencingRoutingPolicy. The same OnlinePstnUsages should not be used in online voice routes that are not using BridgeSourcePhoneNumber. + For more information about Operator Connect Conferencing, please see Configure Operator Connect Conferencing (https://learn.microsoft.com/microsoftteams/operator-connect-conferencing-configure). + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Description + + A description of what this online voice route is for. + + String + + String + + + None + + + NumberPattern + + A regular expression that specifies the phone numbers to which this route applies. Numbers matching this pattern will be routed according to the rest of the routing settings. + Default: [0-9]{10} + + String + + String + + + None + + + OnlinePstnGatewayList + + This parameter contains a list of online gateways associated with this online voice route. Each member of this list must be the service Identity of the online PSTN gateway. The service Identity is the fully qualified domain name (FQDN) of the pool or the IP address of the server. For example, redmondpool.litwareinc.com. + By default this list is empty. However, if you leave this parameter blank when creating a new voice route, you'll receive a warning message. + + PSListModifier + + PSListModifier + + + None + + + OnlinePstnUsages + + A list of online PSTN usages (such as Local, Long Distance, etc.) that can be applied to this online voice route. The PSTN usage must be an existing usage (PSTN usages can be retrieved by calling the Get-CsOnlinePstnUsage cmdlet). + By default this list is empty. However, if you leave this parameter blank when creating a new online voice route, you'll receive a warning message. + + PSListModifier + + PSListModifier + + + None + + + Priority + + A number could resolve to multiple online voice routes. The priority determines the order in which the routes will be applied if more than one route is possible. The lowest priority will be applied first and then in ascendant order. + + Int32 + + Int32 + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + New-CsOnlineVoiceRoute + + BridgeSourcePhoneNumber + + BridgeSourcePhoneNumber is an E.164 formatted Operator Connect Conferencing phone number assigned to your Audio Conferencing Bridge. Using BridgeSourcePhoneNumber in an online voice route is mutually exclusive with using OnlinePstnGatewayList in the same online voice route. + When using BridgeSourcePhoneNumber in an online voice route, the OnlinePstnUsages used in the online voice route should only be used in a corresponding OnlineAudioConferencingRoutingPolicy. The same OnlinePstnUsages should not be used in online voice routes that are not using BridgeSourcePhoneNumber. + For more information about Operator Connect Conferencing, please see Configure Operator Connect Conferencing (https://learn.microsoft.com/microsoftteams/operator-connect-conferencing-configure). + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Description + + A description of what this online voice route is for. + + String + + String + + + None + + + Name + + The unique name of the voice route. If this parameter is set, the value will be automatically applied to the online voice route Identity. You cannot specify both an Identity and a Name. + + String + + String + + + None + + + NumberPattern + + A regular expression that specifies the phone numbers to which this route applies. Numbers matching this pattern will be routed according to the rest of the routing settings. + Default: [0-9]{10} + + String + + String + + + None + + + OnlinePstnGatewayList + + This parameter contains a list of online gateways associated with this online voice route. Each member of this list must be the service Identity of the online PSTN gateway. The service Identity is the fully qualified domain name (FQDN) of the pool or the IP address of the server. For example, redmondpool.litwareinc.com. + By default this list is empty. However, if you leave this parameter blank when creating a new voice route, you'll receive a warning message. + + PSListModifier + + PSListModifier + + + None + + + OnlinePstnUsages + + A list of online PSTN usages (such as Local, Long Distance, etc.) that can be applied to this online voice route. The PSTN usage must be an existing usage (PSTN usages can be retrieved by calling the Get-CsOnlinePstnUsage cmdlet). + By default this list is empty. However, if you leave this parameter blank when creating a new online voice route, you'll receive a warning message. + + PSListModifier + + PSListModifier + + + None + + + Priority + + A number could resolve to multiple online voice routes. The priority determines the order in which the routes will be applied if more than one route is possible. The lowest priority will be applied first and then in ascendant order. + + Int32 + + Int32 + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + BridgeSourcePhoneNumber + + BridgeSourcePhoneNumber is an E.164 formatted Operator Connect Conferencing phone number assigned to your Audio Conferencing Bridge. Using BridgeSourcePhoneNumber in an online voice route is mutually exclusive with using OnlinePstnGatewayList in the same online voice route. + When using BridgeSourcePhoneNumber in an online voice route, the OnlinePstnUsages used in the online voice route should only be used in a corresponding OnlineAudioConferencingRoutingPolicy. The same OnlinePstnUsages should not be used in online voice routes that are not using BridgeSourcePhoneNumber. + For more information about Operator Connect Conferencing, please see Configure Operator Connect Conferencing (https://learn.microsoft.com/microsoftteams/operator-connect-conferencing-configure). + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Description + + A description of what this online voice route is for. + + String + + String + + + None + + + Identity + + A name that uniquely identifies the online voice route. Voice routes can be defined only at the global scope, so the identity is simply the name you want to give the route. (You can have spaces in the route name, for instance Test Route, but you must enclose the full string in double quotes in the call to the New-CsOnlineVoiceRoute cmdlet.) + If Identity is specified, the Name must be left blank. The value of the Identity will be assigned to the Name. + + String + + String + + + None + + + Name + + The unique name of the voice route. If this parameter is set, the value will be automatically applied to the online voice route Identity. You cannot specify both an Identity and a Name. + + String + + String + + + None + + + NumberPattern + + A regular expression that specifies the phone numbers to which this route applies. Numbers matching this pattern will be routed according to the rest of the routing settings. + Default: [0-9]{10} + + String + + String + + + None + + + OnlinePstnGatewayList + + This parameter contains a list of online gateways associated with this online voice route. Each member of this list must be the service Identity of the online PSTN gateway. The service Identity is the fully qualified domain name (FQDN) of the pool or the IP address of the server. For example, redmondpool.litwareinc.com. + By default this list is empty. However, if you leave this parameter blank when creating a new voice route, you'll receive a warning message. + + PSListModifier + + PSListModifier + + + None + + + OnlinePstnUsages + + A list of online PSTN usages (such as Local, Long Distance, etc.) that can be applied to this online voice route. The PSTN usage must be an existing usage (PSTN usages can be retrieved by calling the Get-CsOnlinePstnUsage cmdlet). + By default this list is empty. However, if you leave this parameter blank when creating a new online voice route, you'll receive a warning message. + + PSListModifier + + PSListModifier + + + None + + + Priority + + A number could resolve to multiple online voice routes. The priority determines the order in which the routes will be applied if more than one route is possible. The lowest priority will be applied first and then in ascendant order. + + Int32 + + Int32 + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> New-CsOnlineVoiceRoute -Identity Route1 + + The command in this example creates a new online voice route with an Identity of Route1. All other properties will be set to the default values. + + + + -------------------------- Example 2 -------------------------- + PS C:\> New-CsOnlineVoiceRoute -Identity Route1 -OnlinePstnUsages @{add="Long Distance"} -OnlinePstnGatewayList @{add="sbc1.litwareinc.com"} + + The command in this example creates a new online voice route with an Identity of Route1. It also adds the online PSTN usage Long Distance to the list of usages and the service ID PstnGateway sbc1.litwareinc.com to the list of online PSTN gateways. + + + + -------------------------- Example 3 -------------------------- + PS C:\> $x = (Get-CsOnlinePstnUsage).Usage + +New-CsOnlineVoiceRoute -Identity Route1 -OnlinePstnUsages @{add=$x} + + This example creates a new online voice route named Route1 and populates that route's list of PSTN usages with all the existing usages for the organization. The first command in this example retrieves the list of global online PSTN usages. Notice that the call to the `Get-CsOnlinePstnUsage` cmdlet is in parentheses; this means that we first retrieve an object containing PSTN usage information. (Because there is only one, global, online PSTN usage, only one object will be retrieved.) The command then retrieves the Usage property of this object. That property, which contains a list of usages, is assigned to the variable $x. In the second line of this example, the `New-CsOnlineVoiceRoute` cmdlet is called to create a new online voice route. This voice route will have an identity of Route1. Notice the value passed to the OnlinePstnUsages parameter: @{add=$x}. This value says to add the contents of $x, which contain the phone usages list retrieved in line 1, to the list of online PSTN usages for this route. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csonlinevoiceroute + + + Get-CsOnlineVoiceRoute + + + + Set-CsOnlineVoiceRoute + + + + Remove-CsOnlineVoiceRoute + + + + + + + New-CsOnlineVoiceRoutingPolicy + New + CsOnlineVoiceRoutingPolicy + + Creates a new online voice routing policy. Online voice routing policies manage online PSTN usages for Phone System users. + + + + Online voice routing policies are used in Microsoft Phone System Direct Routing scenarios. Assigning your Teams users an online voice routing policy enables those users to receive and to place phone calls to the public switched telephone network by using your on-premises SIP trunks. + Note that simply assigning a user an online voice routing policy will not enable them to make PSTN calls via Teams. Among other things, you will also need to enable those users for Phone System and will need to assign them an appropriate online voice policy. + + + + New-CsOnlineVoiceRoutingPolicy + + Identity + + Unique identifier assigned to the policy when it was created. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Description + + Enables administrators to provide explanatory text to accompany an online voice routing policy. For example, the Description might include information about the users the policy should be assigned to. + + String + + String + + + None + + + OnlinePstnUsages + + A list of online PSTN usages (such as Local or Long Distance) that can be applied to this online voice routing policy. The online PSTN usage must be an existing usage (PSTN usages can be retrieved by calling the `Get-CsOnlinePstnUsage` cmdlet). + + Object + + Object + + + None + + + RouteType + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Description + + Enables administrators to provide explanatory text to accompany an online voice routing policy. For example, the Description might include information about the users the policy should be assigned to. + + String + + String + + + None + + + Identity + + Unique identifier assigned to the policy when it was created. + + String + + String + + + None + + + OnlinePstnUsages + + A list of online PSTN usages (such as Local or Long Distance) that can be applied to this online voice routing policy. The online PSTN usage must be an existing usage (PSTN usages can be retrieved by calling the `Get-CsOnlinePstnUsage` cmdlet). + + Object + + Object + + + None + + + RouteType + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> New-CsOnlineVoiceRoutingPolicy -Identity "RedmondOnlineVoiceRoutingPolicy" -OnlinePstnUsages "Long Distance" + + The command shown in Example 1 creates a new online per-user voice routing policy with the Identity RedmondOnlineVoiceRoutingPolicy. This policy is assigned a single online PSTN usage: Long Distance. + + + + -------------------------- Example 2 -------------------------- + PS C:\> New-CsOnlineVoiceRoutingPolicy -Identity "RedmondOnlineVoiceRoutingPolicy" -OnlinePstnUsages "Long Distance", "Local", "Internal" + + Example 2 is a variation of the command shown in Example 1; in this case, however, the new policy is assigned three online PSTN usages: Long Distance; Local; Internal. Multiple usages can be assigned simply by separating each usage using a comma. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csonlinevoiceroutingpolicy + + + Get-CsOnlineVoiceRoutingPolicy + + + + Set-CsOnlineVoiceRoutingPolicy + + + + Grant-CsOnlineVoiceRoutingPolicy + + + + Remove-CsOnlineVoiceRoutingPolicy + + + + + + + New-CsTeamsAudioConferencingPolicy + New + CsTeamsAudioConferencingPolicy + + + + + + The New-CsTeamsAudioConferencingPolicy cmdlet enables administrators to control audio conferencing toll- and toll-free numbers to be displayed in meeting invites created by users within your organization. This cmdlet creates a new Teams audio conferencing policy. Custom policies can then be assigned to users using the Grant-CsTeamsAudioConferencingPolicy cmdlet. + + + + New-CsTeamsAudioConferencingPolicy + + Identity + + Specify the name of the policy that you are creating + + String + + String + + + None + + + AllowTollFreeDialin + + Determines whether users of the Policy can have Toll free numbers + + Boolean + + Boolean + + + True + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes. + + + SwitchParameter + + + False + + + InMemory + + Creates an object reference without actually committing the object as a permanent change. If you assign the output of this cmdlet called with this parameter to a variable, you can make changes to the properties of the object reference and then commit those changes by calling this cmdlet's matching Set- cmdlet. + + + SwitchParameter + + + False + + + MeetingInvitePhoneNumbers + + Determines the list of audio-conferencing Toll- and Toll-free telephone numbers that will be included in meetings invites created by users of this policy. + + Object + + Object + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + AllowTollFreeDialin + + Determines whether users of the Policy can have Toll free numbers + + Boolean + + Boolean + + + True + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Specify the name of the policy that you are creating + + String + + String + + + None + + + InMemory + + Creates an object reference without actually committing the object as a permanent change. If you assign the output of this cmdlet called with this parameter to a variable, you can make changes to the properties of the object reference and then commit those changes by calling this cmdlet's matching Set- cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + MeetingInvitePhoneNumbers + + Determines the list of audio-conferencing Toll- and Toll-free telephone numbers that will be included in meetings invites created by users of this policy. + + Object + + Object + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + Object + + + + + + + + + + + + + + -------------------------- EXAMPLE 1 -------------------------- + PS C:\> New-CsTeamsAudioConferencingPolicy -Identity "EMEA Users" -AllowTollFreeDialin $False + + The command shown in Example 1 uses the New-CsTeamsAudioConferencingPolicy cmdlet to create a new audio-conferencing policy with the Identity "EMEA users". This policy will use all the default values for a meeting policy except one: AllowTollFreeDialin; in this example, meetings created by users with this policy cannot include Toll Free phone numbers. + + + + -------------------------- EXAMPLE 2 -------------------------- + PS C:\> New-CsTeamsAudioConferencingPolicy -Identity "EMEA Users" -AllowTollFreeDialin $True -MeetingInvitePhoneNumbers "+49695095XXXXX","+353156YYYYY","+1800856ZZZZZ" + + The command shown in Example 2 uses the New-CsTeamsAudioConferencingPolicy cmdlet to create a new audio-conferencing policy with the Identity "EMEA users". This policy will use all the default values for a meeting policy except one: MeetingInvitePhoneNumbers; in this example, meetings created by users with this policy will include the following toll and toll free phone numbers "+49695095XXXXX","+353156YYYYY","+1800856ZZZZZ". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csteamsaudioconferencingpolicy + + + Get-CsTeamsAudioConferencingPolicy + + + + Set-CsTeamsAudioConferencingPolicy + + + + Grant-CsTeamsAudioConferencingPolicy + + + + + + + New-CsTeamsCallParkPolicy + New + CsTeamsCallParkPolicy + + The TeamsCallParkPolicy controls whether or not users are able to leverage the call park feature in Microsoft Teams. Call park allows enterprise voice customers to place a call on hold and then perform a number of actions on that call: transfer to another department, retrieve via the same phone, or retrieve via a different Teams phone. The New-CsTeamsCallParkPolicy cmdlet lets you create a new custom policy that can then be assigned to one or more specific users. + NOTE: The call park feature currently available in desktop. mobile and web clients. Supported with TeamsOnly mode. + + + + The TeamsCallParkPolicy controls whether or not users are able to leverage the call park feature in Microsoft Teams. Call park allows enterprise voice customers to place a call on hold and then perform a number of actions on that call: transfer to another department, retrieve via the same phone, or retrieve via a different phone. The New-CsTeamsCallParkPolicy cmdlet lets you create a new custom policy that can then be assigned to one or more specific users. + + + + New-CsTeamsCallParkPolicy + + Identity + + A unique identifier for the policy - this will be used to retrieve the policy later on to assign it to specific users. + + XdsIdentity + + XdsIdentity + + + None + + + AllowCallPark + + If set to true, customers will be able to leverage the call park feature to place calls on hold and then decide how the call should be handled - transferred to another department, retrieved using the same phone, or retrieved using a different phone. + + Boolean + + Boolean + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Suppress all non-fatal errors. + + + SwitchParameter + + + False + + + PickupRangeEnd + + Specify the maximum value that a rendered pickup code can take. Value can be from 10 to 9999. + Note: PickupRangeStart must be smaller than PickupRangeEnd. + + Integer + + Integer + + + 99 + + + ParkTimeoutSeconds + + Specify the number of seconds to wait before ringing the parker when the parked call hasn't been picked up. Value can be from 120 to 1800 (seconds). + + Integer + + Integer + + + 300 + + + PickupRangeStart + + Specify the minimum value that a rendered pickup code can take. Value can be from 10 to 9999. + Note: PickupRangeStart must be smaller than PickupRangeEnd. + + Integer + + Integer + + + 10 + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + AllowCallPark + + If set to true, customers will be able to leverage the call park feature to place calls on hold and then decide how the call should be handled - transferred to another department, retrieved using the same phone, or retrieved using a different phone. + + Boolean + + Boolean + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + Suppress all non-fatal errors. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + A unique identifier for the policy - this will be used to retrieve the policy later on to assign it to specific users. + + XdsIdentity + + XdsIdentity + + + None + + + PickupRangeEnd + + Specify the maximum value that a rendered pickup code can take. Value can be from 10 to 9999. + Note: PickupRangeStart must be smaller than PickupRangeEnd. + + Integer + + Integer + + + 99 + + + ParkTimeoutSeconds + + Specify the number of seconds to wait before ringing the parker when the parked call hasn't been picked up. Value can be from 120 to 1800 (seconds). + + Integer + + Integer + + + 300 + + + PickupRangeStart + + Specify the minimum value that a rendered pickup code can take. Value can be from 10 to 9999. + Note: PickupRangeStart must be smaller than PickupRangeEnd. + + Integer + + Integer + + + 10 + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> New-CsTeamsCallParkPolicy -Identity "SalesPolicy" -AllowCallPark $true + + Create a new custom policy that has call park enabled. This policy can then be assigned to individual users. + + + + -------------------------- Example 2 -------------------------- + PS C:\> New-CsTeamsCallParkPolicy -Identity "SalesPolicy" -AllowCallPark $true -PickupRangeStart 500 -PickupRangeEnd 1500 + + Create a new custom policy that has call park enabled. This policy will generate pickup numbers starting from 500 and up until 1500. + + + + -------------------------- Example 3 -------------------------- + PS C:\> New-CsTeamsCallParkPolicy -Identity "SalesPolicy" -AllowCallPark $true -ParkTimeoutSeconds 600 + + Create a new custom call park policy which will ring back the parker after 600 seconds if the parked call is unanswered + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csteamscallparkpolicy + + + + + + New-CsTeamsCortanaPolicy + New + CsTeamsCortanaPolicy + + The CsTeamsCortanaPolicy cmdlets enable administrators to control settings for Cortana voice assistant in Microsoft Teams. + + + + The CsTeamsCortanaPolicy cmdlets enable administrators to control settings for Cortana voice assistant in Microsoft Teams. Specifically, these specify if a user can use Cortana voice assistant in Microsoft Teams and Cortana invocation behavior via CortanaVoiceInvocationMode parameter - * Disabled - Cortana voice assistant is disabled + * PushToTalkUserOverride - Cortana voice assistant is enabled but without wake-word ("Hey Cortana") invocation + * WakeWordPushToTalkUserOverride - Cortana voice assistant is enabled with wake-word ("Hey Cortana") invocation on devices where wake-word is supported + + This cmdlet creates a new Teams Cortana policy. Custom policies can then be assigned to users using the Grant-CsTeamsCortanaPolicy cmdlet. + + + + New-CsTeamsCortanaPolicy + + Identity + + Unique identifier for Teams cortana policy you're creating. + + XdsIdentity + + XdsIdentity + + + None + + + AllowCortanaAmbientListening + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + AllowCortanaInContextSuggestions + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + AllowCortanaVoiceInvocation + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + CortanaVoiceInvocationMode + + The value of this field indicates if Cortana is enabled and mode of invocation. * Disabled - Cortana voice assistant is turned off and cannot be used. + * PushToTalkUserOverride - Cortana voice assistant is enabled but without wake-word ("Hey Cortana") invocation + * WakeWordPushToTalkUserOverride - Cortana voice assistant is enabled with wake-word ("Hey Cortana") invocation on devices where wake-word is supported + + String + + String + + + None + + + Description + + Provide a description of your policy to identify purpose of creating it. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + InMemory + + Creates an object reference without actually committing the object as a permanent change. If you assign the output of this cmdlet called with this parameter to a variable, you can make changes to the properties of the object reference and then commit those changes by calling this cmdlet's matching Set-. + + + SwitchParameter + + + False + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose external user communication policy are being created. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + AllowCortanaAmbientListening + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + AllowCortanaInContextSuggestions + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + AllowCortanaVoiceInvocation + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + CortanaVoiceInvocationMode + + The value of this field indicates if Cortana is enabled and mode of invocation. * Disabled - Cortana voice assistant is turned off and cannot be used. + * PushToTalkUserOverride - Cortana voice assistant is enabled but without wake-word ("Hey Cortana") invocation + * WakeWordPushToTalkUserOverride - Cortana voice assistant is enabled with wake-word ("Hey Cortana") invocation on devices where wake-word is supported + + String + + String + + + None + + + Description + + Provide a description of your policy to identify purpose of creating it. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Unique identifier for Teams cortana policy you're creating. + + XdsIdentity + + XdsIdentity + + + None + + + InMemory + + Creates an object reference without actually committing the object as a permanent change. If you assign the output of this cmdlet called with this parameter to a variable, you can make changes to the properties of the object reference and then commit those changes by calling this cmdlet's matching Set-. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose external user communication policy are being created. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> New-CsTeamsCortanaPolicy -Identity MyCortanaPolicy -CortanaVoiceInvocationMode PushToTalkUserOverride + + In this example, a new Teams Cortana Policy is created. Cortana voice invocation mode is set to 'push to talk' i.e. Cortana in Teams can be invoked by tapping on the Cortana mic button only. Wake word ("Hey Cortana") invocation is not allowed. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamscortanapolicy + + + + + + New-CsTeamsEmergencyCallRoutingPolicy + New + CsTeamsEmergencyCallRoutingPolicy + + This cmdlet creates a new Teams Emergency Call Routing policy with one or more emergency number. + + + + This cmdlet creates a new Teams Emergency Call Routing policy with one or more emergency numbers. Teams Emergency Call Routing policy is used for the life cycle of emergency call routing - emergency numbers and routing configuration. + + + + New-CsTeamsEmergencyCallRoutingPolicy + + Identity + + The Identity parameter is a unique identifier that designates the name of the policy. + + String + + String + + + None + + + AllowEnhancedEmergencyServices + + Flag to enable Enhanced Emergency Services. + + Boolean + + Boolean + + + None + + + Description + + The Description parameter describes the Teams Emergency Call Routing policy - what it's for, what type of user it applies to and any other information that helps to identify the purpose of this policy. Maximum characters: 512. + + String + + String + + + None + + + EmergencyNumbers + + One or more emergency number objects obtained from the New-CsTeamsEmergencyNumber (new-csteamsemergencynumber.md)cmdlet. + + Object + + Object + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Identity + + The Identity parameter is a unique identifier that designates the name of the policy. + + String + + String + + + None + + + AllowEnhancedEmergencyServices + + Flag to enable Enhanced Emergency Services. + + Boolean + + Boolean + + + None + + + Description + + The Description parameter describes the Teams Emergency Call Routing policy - what it's for, what type of user it applies to and any other information that helps to identify the purpose of this policy. Maximum characters: 512. + + String + + String + + + None + + + EmergencyNumbers + + One or more emergency number objects obtained from the New-CsTeamsEmergencyNumber (new-csteamsemergencynumber.md)cmdlet. + + Object + + Object + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + $en1 = New-CsTeamsEmergencyNumber -EmergencyDialString "911" -EmergencyDialMask "933" -OnlinePSTNUsage "USE911" +New-CsTeamsEmergencyCallRoutingPolicy -Identity "Test" -EmergencyNumbers @{add=$en1} -AllowEnhancedEmergencyServices:$true -Description "test" + + This example first creates a new Teams emergency number object and then creates a Teams Emergency Call Routing policy with this emergency number object. Note that the OnlinePSTNUsage specified in the first command must previously exist. Note that the resulting object from the New-CsTeamsEmergencyNumber only exists in memory, so you must apply it to a policy to be used. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csteamsemergencycallroutingpolicy + + + Set-CsTeamsEmergencyCallRoutingPolicy + + + + Grant-CsTeamsEmergencyCallRoutingPolicy + + + + Remove-CsTeamsEmergencyCallRoutingPolicy + + + + Get-CsTeamsEmergencyCallRoutingPolicy + + + + New-CsTeamsEmergencyNumber + + + + + + + New-CsTeamsEmergencyNumber + New + CsTeamsEmergencyNumber + + + + + + This cmdlet supports creating multiple Teams emergency numbers. Used with TeamsEmergencyCallRoutingPolicy and only relevant for Direct Routing. + + + + New-CsTeamsEmergencyNumber + + EmergencyDialMask + + For each Teams emergency number, you can specify zero or more emergency dial masks. A dial mask is a number that you want to translate into the value of the emergency dial number value when it is dialed. Dial mask must be list of numbers separated by semicolon. Each number string must be made of the digits 0 through 9 and can be from 1 to 10 digits in length. + + String + + String + + + None + + + EmergencyDialString + + Specifies the emergency phone number + + String + + String + + + None + + + OnlinePSTNUsage + + Specify the online public switched telephone network (PSTN) usage + + String + + String + + + None + + + + + + EmergencyDialMask + + For each Teams emergency number, you can specify zero or more emergency dial masks. A dial mask is a number that you want to translate into the value of the emergency dial number value when it is dialed. Dial mask must be list of numbers separated by semicolon. Each number string must be made of the digits 0 through 9 and can be from 1 to 10 digits in length. + + String + + String + + + None + + + EmergencyDialString + + Specifies the emergency phone number + + String + + String + + + None + + + OnlinePSTNUsage + + Specify the online public switched telephone network (PSTN) usage + + String + + String + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:> New-CsTeamsEmergencyNumber -EmergencyDialString 911 -EmergencyDialMask 933 -OnlinePSTNUsage "US911" + + Create a new Teams emergency number + + + + -------------------------- Example 2 -------------------------- + PS C:> New-CsTeamsEmergencyNumber -EmergencyDialString "112" -EmergencyDialMask "117;897" -OnlinePSTNUsage "EU112" + + Create a new Teams emergency number with multiple emergency dial masks. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csteamsemergencynumber + + + Set-CsTeamsEmergencyCallRoutingPolicy + + + + New-CsTeamsEmergencyCallRoutingPolicy + + + + + + + New-CsTeamsEnhancedEncryptionPolicy + New + CsTeamsEnhancedEncryptionPolicy + + Use this cmdlet to create a new Teams enhanced encryption policy. + + + + Use this cmdlet to create a new Teams enhanced encryption policy. + The TeamsEnhancedEncryptionPolicy enables administrators to determine which users in your organization can use the enhanced encryption settings in Teams, setting for end-to-end encryption in ad-hoc 1-to-1 VOIP calls is the parameter supported by this policy currently. + + + + New-CsTeamsEnhancedEncryptionPolicy + + Identity + + Unique identifier assigned to the Teams enhanced encryption policy. + + XdsIdentity + + XdsIdentity + + + None + + + Description + + Enables administrators to provide explanatory text to accompany a Teams enhanced encryption policy. + + For example, the Description might include information about the users the policy should be assigned to. + + String + + String + + + None + + + CallingEndtoEndEncryptionEnabledType + + Determines whether end-to-end encrypted calling is available for the user in Teams. Set this to DisabledUserOverride to allow user to turn on end-to-end encrypted calls. Set this to Disabled to prohibit. + + Enum + + Enum + + + Disabled + + + MeetingEndToEndEncryption + + Determines whether end-to-end encrypted meetings are available in Teams ( requires a Teams Premium license (https://www.microsoft.com/en-us/microsoft-teams/premium)). Set this to DisabledUserOverride to allow users to schedule end-to-end encrypted meetings. Set this to Disabled to prohibit. + + Enum + + Enum + + + Disabled + + + InMemory + + Creates an object reference without actually committing the object as a permanent change. If you assign the output of this cmdlet called with this parameter to a variable, you can make changes to the properties of the object reference and then commit those changes by calling Set-CsTeamsEnhancedEncryptionPolicy. + + + SwitchParameter + + + False + + + Force + + Suppresses all non-fatal errors. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Description + + Enables administrators to provide explanatory text to accompany a Teams enhanced encryption policy. + + For example, the Description might include information about the users the policy should be assigned to. + + String + + String + + + None + + + CallingEndtoEndEncryptionEnabledType + + Determines whether end-to-end encrypted calling is available for the user in Teams. Set this to DisabledUserOverride to allow user to turn on end-to-end encrypted calls. Set this to Disabled to prohibit. + + Enum + + Enum + + + Disabled + + + MeetingEndToEndEncryption + + Determines whether end-to-end encrypted meetings are available in Teams ( requires a Teams Premium license (https://www.microsoft.com/en-us/microsoft-teams/premium)). Set this to DisabledUserOverride to allow users to schedule end-to-end encrypted meetings. Set this to Disabled to prohibit. + + Enum + + Enum + + + Disabled + + + Identity + + Unique identifier assigned to the Teams enhanced encryption policy. + + XdsIdentity + + XdsIdentity + + + None + + + InMemory + + Creates an object reference without actually committing the object as a permanent change. If you assign the output of this cmdlet called with this parameter to a variable, you can make changes to the properties of the object reference and then commit those changes by calling Set-CsTeamsEnhancedEncryptionPolicy. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + Suppresses all non-fatal errors. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- EXAMPLE 1 -------------------------- + PS C:\> New-CsTeamsEnhancedEncryptionPolicy -Identity ContosoPartnerTeamsEnhancedEncryptionPolicy + + Creates a new instance of TeamsEnhancedEncryptionPolicy called ContosoPartnerTeamsEnhancedEncryptionPolicy and applies the default values to its settings. + + + + -------------------------- EXAMPLE 2 -------------------------- + PS C:\> New-CsTeamsEnhancedEncryptionPolicy -Identity ContosoPartnerTeamsEnhancedEncryptionPolicy -CallingEndtoEndEncryptionEnabledType DisabledUserOverride -MeetingEndToEndEncryption DisabledUserOverride + + Creates a new instance of TeamsEnhancedEncryptionPolicy called ContosoPartnerTeamsEnhancedEncryptionPolicy and applies the provided values to its settings. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csteamsenhancedencryptionpolicy + + + Get-CsTeamsEnhancedEncryptionPolicy + + + + Set-CsTeamsEnhancedEncryptionPolicy + + + + Remove-CsTeamsEnhancedEncryptionPolicy + + + + Grant-CsTeamsEnhancedEncryptionPolicy + + + + + + + New-CsTeamsEventsPolicy + New + CsTeamsEventsPolicy + + This cmdlet allows you to create a new TeamsEventsPolicy instance and set its properties. Note that this policy is currently still in preview. + + + + TeamsEventsPolicy is used to configure options for customizing Teams Events experiences. + + + + New-CsTeamsEventsPolicy + + Identity + + Unique identifier assigned to the Teams Events policy. + + String + + String + + + None + + + AllowWebinars + + This setting governs if a user can create webinars using Teams Events. Possible values are: - Enabled : Enables creating webinars. - Disabled : Disables creating webinars. + + String + + String + + + Enabled + + + UseMicrosoftECDN + + This setting governs whether the global admin disables this property and prevents the organizers from creating town halls that use Microsoft eCDN even though they have been assigned a Teams Premium license. + + String + + String + + + None + + + AllowTownhalls + + This setting governs if a user can create town halls using Teams Events. Possible values are: - Enabled : Enables creating town halls. - Disabled : Disables creating town hall. + + String + + String + + + Enabled + + + AllowEmailEditing + + This setting governs if a user is allowed to edit the communication emails in Teams Town Hall or Teams Webinar events. Possible values are: - Enabled : Enables editing of communication emails. - Disabled : Disables editing of communication emails. + + String + + String + + + Enabled + + + EventAccessType + + This setting governs which users can access the Town hall event and access the event registration page or the event site to register for a Webinar. It also governs which user type is allowed to join the session or sessions in the event for both event types. + Possible values are: - Everyone : Enables creating events to allow in-tenant, guests, federated, and anonymous (external to the tenant) users to register and join the event. + - EveryoneInCompanyExcludingGuests : For Webinar - enables creating events to allow only in-tenant users to register and join the event. For Town hall - enables creating events to allow only in-tenant users to join the event (Note: for Town hall, in-tenant users include guests; this parameter will disable public Town halls). + + String + + String + + + Everyone + + + Confirm + + The Confirm switch does not work with this cmdlet. + + + SwitchParameter + + + False + + + Description + + Enables administrators to provide explanatory text to accompany a Teams Events policy. + + String + + String + + + None + + + WhatIf + + The WhatIf switch does not work with this cmdlet. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + AllowWebinars + + This setting governs if a user can create webinars using Teams Events. Possible values are: - Enabled : Enables creating webinars. - Disabled : Disables creating webinars. + + String + + String + + + Enabled + + + UseMicrosoftECDN + + This setting governs whether the global admin disables this property and prevents the organizers from creating town halls that use Microsoft eCDN even though they have been assigned a Teams Premium license. + + String + + String + + + None + + + AllowTownhalls + + This setting governs if a user can create town halls using Teams Events. Possible values are: - Enabled : Enables creating town halls. - Disabled : Disables creating town hall. + + String + + String + + + Enabled + + + AllowEmailEditing + + This setting governs if a user is allowed to edit the communication emails in Teams Town Hall or Teams Webinar events. Possible values are: - Enabled : Enables editing of communication emails. - Disabled : Disables editing of communication emails. + + String + + String + + + Enabled + + + EventAccessType + + This setting governs which users can access the Town hall event and access the event registration page or the event site to register for a Webinar. It also governs which user type is allowed to join the session or sessions in the event for both event types. + Possible values are: - Everyone : Enables creating events to allow in-tenant, guests, federated, and anonymous (external to the tenant) users to register and join the event. + - EveryoneInCompanyExcludingGuests : For Webinar - enables creating events to allow only in-tenant users to register and join the event. For Town hall - enables creating events to allow only in-tenant users to join the event (Note: for Town hall, in-tenant users include guests; this parameter will disable public Town halls). + + String + + String + + + Everyone + + + Confirm + + The Confirm switch does not work with this cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Description + + Enables administrators to provide explanatory text to accompany a Teams Events policy. + + String + + String + + + None + + + Identity + + Unique identifier assigned to the Teams Events policy. + + String + + String + + + None + + + WhatIf + + The WhatIf switch does not work with this cmdlet. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> New-CsTeamsEventsPolicy -Identity DisablePublicWebinars -AllowWebinars Enabled -EventAccessType EveryoneInCompanyExcludingGuests + + The command shown in Example 1 creates a new per-user Teams Events policy with the Identity DisablePublicWebinars. This policy disables a user from creating public webinars. + + + + -------------------------- Example 2 -------------------------- + PS C:\> New-CsTeamsEventsPolicy -Identity DisableWebinars -AllowWebinars Disabled + + The command shown in Example 2 creates a new per-user Teams Events policy with the Identity DisableWebinars. This policy disables a user from creating webinars. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csteamseventspolicy + + + + + + New-CsTeamsIPPhonePolicy + New + CsTeamsIPPhonePolicy + + New-CsTeamsIPPhonePolicy allows you to create a policy to manage features related to Teams phone experiences. Teams phone policies determine the features that are available to users. + + + + The New-CsTeamsIPPhonePolicy cmdlet allows you to create a policy to manage features related to Teams phone experiences assigned to a user account used to sign into a Teams phone. + + + + New-CsTeamsIPPhonePolicy + + Identity + + The identity of the policy that you want to create. + + XdsIdentity + + XdsIdentity + + + None + + + AllowBetterTogether + + Determines whether Better Together mode is enabled, phones can lock and unlock in an integrated fashion when connected to their Windows PC running a 64-bit Teams desktop client. Possible values this parameter can take: + - Enabled + - Disabled + + String + + String + + + Enabled + + + AllowHomeScreen + + Determines whether the Home Screen feature of the Teams IP Phones is enabled. Possible values this parameter can take: + - Enabled + - EnabledUserOverride + - Disabled + + String + + String + + + EnabledUserOverride + + + AllowHotDesking + + Determines whether hot desking mode is enabled. Set this to TRUE to enable. Set this to FALSE to disable hot desking mode. + + Boolean + + Boolean + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Description + + Free form text that can be used by administrators as desired. + + String + + String + + + None + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes and suppresses the display of any non-fatal error message that might arise when running the command. + + + SwitchParameter + + + False + + + HotDeskingIdleTimeoutInMinutes + + Determines the idle timeout value in minutes for the signed in user account. When the timeout is reached, the account is logged out. + + String + + String + + + None + + + SearchOnCommonAreaPhoneMode + + Determines whether a user can search the Global Address List in Common Area Phone Mode. Set this to ENABLED to enable the feature. Set this to DISABLED to disable the feature. + + Object + + Object + + + None + + + SignInMode + + Determines the sign in mode for the device when signing in to Teams. Possible Values: - 'UserSignIn: Enables the individual user's Teams experience on the phone' + - 'CommonAreaPhoneSignIn: Enables a Common Area Phone experience on the phone' + - 'MeetingSignIn: Enables the meeting/conference room experience on the phone' + + String + + String + + + None + + + Tenant + + Internal Microsoft use only. + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + AllowBetterTogether + + Determines whether Better Together mode is enabled, phones can lock and unlock in an integrated fashion when connected to their Windows PC running a 64-bit Teams desktop client. Possible values this parameter can take: + - Enabled + - Disabled + + String + + String + + + Enabled + + + AllowHomeScreen + + Determines whether the Home Screen feature of the Teams IP Phones is enabled. Possible values this parameter can take: + - Enabled + - EnabledUserOverride + - Disabled + + String + + String + + + EnabledUserOverride + + + AllowHotDesking + + Determines whether hot desking mode is enabled. Set this to TRUE to enable. Set this to FALSE to disable hot desking mode. + + Boolean + + Boolean + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Description + + Free form text that can be used by administrators as desired. + + String + + String + + + None + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes and suppresses the display of any non-fatal error message that might arise when running the command. + + SwitchParameter + + SwitchParameter + + + False + + + HotDeskingIdleTimeoutInMinutes + + Determines the idle timeout value in minutes for the signed in user account. When the timeout is reached, the account is logged out. + + String + + String + + + None + + + Identity + + The identity of the policy that you want to create. + + XdsIdentity + + XdsIdentity + + + None + + + SearchOnCommonAreaPhoneMode + + Determines whether a user can search the Global Address List in Common Area Phone Mode. Set this to ENABLED to enable the feature. Set this to DISABLED to disable the feature. + + Object + + Object + + + None + + + SignInMode + + Determines the sign in mode for the device when signing in to Teams. Possible Values: - 'UserSignIn: Enables the individual user's Teams experience on the phone' + - 'CommonAreaPhoneSignIn: Enables a Common Area Phone experience on the phone' + - 'MeetingSignIn: Enables the meeting/conference room experience on the phone' + + String + + String + + + None + + + Tenant + + Internal Microsoft use only. + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> New-CsTeamsIPPhonePolicy -Identity CommonAreaPhone -SignInMode CommonAreaPhoneSignin + + This example shows a new policy being created called "CommonAreaPhone" setting the SignInMode as "CommonAreaPhoneSignIn". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csteamsipphonepolicy + + + + + + New-CsTeamsMeetingBroadcastPolicy + New + CsTeamsMeetingBroadcastPolicy + + New-CsTeamsMeetingBroadcastPolicy [-Identity] <XdsIdentity> [-Tenant <guid>] [-Description <string>] [-AllowBroadcastScheduling <bool>] [-AllowBroadcastTranscription <bool>] [-BroadcastAttendeeVisibilityMode <string>] [-BroadcastRecordingMode <string>] [-InMemory] [-Force] [-WhatIf] [-Confirm] [<CommonParameters>] + + + + User-level policy for tenant admin to configure meeting broadcast behavior for the broadcast event organizer. Use this cmdlet to create a new policy. + + + + New-CsTeamsMeetingBroadcastPolicy + + Identity + + Specifies the name of the policy being created + + XdsIdentity + + XdsIdentity + + + None + + + AllowBroadcastScheduling + + Specifies whether this user can create broadcast events in Teams. This setting impacts broadcasts that use both self-service and external encoder production methods. + + Boolean + + Boolean + + + None + + + AllowBroadcastTranscription + + Specifies whether real-time transcription and translation can be enabled in the broadcast event. Note: this setting is applicable to broadcast events that use Teams Meeting production only and does not apply when external encoder is used as production method. + + Boolean + + Boolean + + + None + + + BroadcastAttendeeVisibilityMode + + Specifies the attendee visibility mode of the broadcast events created by this user. This setting controls who can watch the broadcast event - e.g. anyone can watch this event including anonymous users or only authenticated users in my company can watch the event. Note: this setting is applicable to broadcast events that use Teams Meeting production only and does not apply when external encoder is used as production method. + + String + + String + + + None + + + BroadcastRecordingMode + + Specifies whether broadcast events created by this user are always recorded, never recorded or user can choose whether to record or not. Note: this setting is applicable to broadcast events that use Teams Meeting production only and does not apply when external encoder is used as production method. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Description + + Specifies why this policy is being created. + + String + + String + + + None + + + Force + + Suppresses the display of any non-fatal error message that might occur when running the command. + + + SwitchParameter + + + False + + + InMemory + + Creates an object reference without actually committing the object as a permanent change. If you assign the output of this cmdlet called with this parameter to a variable, you can make changes to the properties of the object reference and then commit those changes by calling this cmdlet's matching Set- cmdlet. + + + SwitchParameter + + + False + + + Tenant + + Not applicable, you can only specify policies for your own logged-in tenant. + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + AllowBroadcastScheduling + + Specifies whether this user can create broadcast events in Teams. This setting impacts broadcasts that use both self-service and external encoder production methods. + + Boolean + + Boolean + + + None + + + AllowBroadcastTranscription + + Specifies whether real-time transcription and translation can be enabled in the broadcast event. Note: this setting is applicable to broadcast events that use Teams Meeting production only and does not apply when external encoder is used as production method. + + Boolean + + Boolean + + + None + + + BroadcastAttendeeVisibilityMode + + Specifies the attendee visibility mode of the broadcast events created by this user. This setting controls who can watch the broadcast event - e.g. anyone can watch this event including anonymous users or only authenticated users in my company can watch the event. Note: this setting is applicable to broadcast events that use Teams Meeting production only and does not apply when external encoder is used as production method. + + String + + String + + + None + + + BroadcastRecordingMode + + Specifies whether broadcast events created by this user are always recorded, never recorded or user can choose whether to record or not. Note: this setting is applicable to broadcast events that use Teams Meeting production only and does not apply when external encoder is used as production method. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Description + + Specifies why this policy is being created. + + String + + String + + + None + + + Force + + Suppresses the display of any non-fatal error message that might occur when running the command. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Specifies the name of the policy being created + + XdsIdentity + + XdsIdentity + + + None + + + InMemory + + Creates an object reference without actually committing the object as a permanent change. If you assign the output of this cmdlet called with this parameter to a variable, you can make changes to the properties of the object reference and then commit those changes by calling this cmdlet's matching Set- cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + Not applicable, you can only specify policies for your own logged-in tenant. + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> New-CsTeamsMeetingBroadcastPolicy -Identity Students -AllowBroadcastScheduling $false + + Creates a new MeetingBroadcastPolicy with broadcast scheduling disabled, which can then be assigned to individual users using the corresponding grant- command. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csteamsmeetingbroadcastpolicy + + + + + + New-CsTeamsMobilityPolicy + New + CsTeamsMobilityPolicy + + The TeamsMobilityPolicy allows Admins to control Teams mobile usage for users. + + + + The TeamsMobilityPolicy allows Admins to control Teams mobile usage for users. + The New-CsTeamsMobilityPolicy cmdlet lets an Admin create a custom teams mobility policy to assign to particular sets of users. + + + + New-CsTeamsMobilityPolicy + + Identity + + Specify the name of the policy that you are creating. + + XdsIdentity + + XdsIdentity + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Description + + Enables administrators to provide explanatory text about the policy. For example, the Description might indicate the users the policy should be assigned to. + + String + + String + + + None + + + Force + + Suppress all non-fatal errors. + + + SwitchParameter + + + False + + + IPAudioMobileMode + + When set to WifiOnly, prohibits the user from making and receiving calls or joining meetings using VoIP calls on the mobile device while on a cellular data connection. Possible values are: WifiOnly, AllNetworks. + + String + + String + + + None + + + IPVideoMobileMode + + When set to WifiOnly, prohibits the user from making and receiving video calls or enabling video in meetings using VoIP calls on the mobile device while on a cellular data connection. Possible values are: WifiOnly, AllNetworks. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + MobileDialerPreference + + Determines the mobile dialer preference, possible values are: Teams, Native, UserOverride. For more information, see Manage user incoming calling policies (/microsoftteams/operator-connect-mobile-configure#manage-user-incoming-calling-policies). + + String + + String + + + None + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Description + + Enables administrators to provide explanatory text about the policy. For example, the Description might indicate the users the policy should be assigned to. + + String + + String + + + None + + + Force + + Suppress all non-fatal errors. + + SwitchParameter + + SwitchParameter + + + False + + + IPAudioMobileMode + + When set to WifiOnly, prohibits the user from making and receiving calls or joining meetings using VoIP calls on the mobile device while on a cellular data connection. Possible values are: WifiOnly, AllNetworks. + + String + + String + + + None + + + IPVideoMobileMode + + When set to WifiOnly, prohibits the user from making and receiving video calls or enabling video in meetings using VoIP calls on the mobile device while on a cellular data connection. Possible values are: WifiOnly, AllNetworks. + + String + + String + + + None + + + Identity + + Specify the name of the policy that you are creating. + + XdsIdentity + + XdsIdentity + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + MobileDialerPreference + + Determines the mobile dialer preference, possible values are: Teams, Native, UserOverride. For more information, see Manage user incoming calling policies (/microsoftteams/operator-connect-mobile-configure#manage-user-incoming-calling-policies). + + String + + String + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> New-CsTeamsMobilityPolicy -Identity SalesMobilityPolicy -IPAudioMobileMode "WifiOnly" + + The command shown in Example 1 uses the New-CsTeamsMobilityPolicy cmdlet to create a new Teams Mobility Policy with the Identity SalesMobilityPolicy and IPAudioMobileMode equal to WifiOnly. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csteamsmobilitypolicy + + + + + + New-CsTeamsNetworkRoamingPolicy + New + CsTeamsNetworkRoamingPolicy + + New-CsTeamsNetworkRoamingPolicy allows IT Admins to create policies for Network Roaming and Bandwidth Control experiences in Microsoft Teams. + + + + Creates new Teams Network Roaming Policies configured for use in your organization. + The TeamsNetworkRoamingPolicy cmdlets enable administrators to provide specific settings from the TeamsMeetingPolicy to be rendered dynamically based upon the location of the Teams client. The TeamsNetworkRoamingPolicy cannot be granted to a user but instead can be assigned to a network site. The settings from the TeamsMeetingPolicy included are AllowIPVideo and MediaBitRateKb. When a Teams client is connected to a network site where a CsTeamRoamingPolicy is assigned, these two settings from the TeamsRoamingPolicy will be used instead of the settings from the TeamsMeetingPolicy. + More on the impact of bit rate setting on bandwidth can be found here (https://learn.microsoft.com/microsoftteams/prepare-network). + To enable the network roaming policy for users who are not Enterprise Voice enabled, you must also enable the AllowNetworkConfigurationSettingsLookup setting in TeamsMeetingPolicy. This setting is off by default. See Set-TeamsMeetingPolicy for more information on how to enable AllowNetworkConfigurationSettingsLookup for users who are not Enterprise Voice enabled. + + + + New-CsTeamsNetworkRoamingPolicy + + Identity + + Unique identifier of the policy to be created. + + XdsIdentity + + XdsIdentity + + + None + + + AllowIPVideo + + Determines whether video is enabled in a user's meetings or calls. Set this to TRUE to allow the user to share their video. Set this to FALSE to prohibit the user from sharing their video. + + Boolean + + Boolean + + + True + + + MediaBitRateKb + + Determines the media bit rate for audio/video/app sharing transmissions in meetings. + + Integer + + Integer + + + 50000 + + + Description + + Description of the new policy to be created. + + String + + String + + + None + + + + + + Identity + + Unique identifier of the policy to be created. + + XdsIdentity + + XdsIdentity + + + None + + + AllowIPVideo + + Determines whether video is enabled in a user's meetings or calls. Set this to TRUE to allow the user to share their video. Set this to FALSE to prohibit the user from sharing their video. + + Boolean + + Boolean + + + True + + + MediaBitRateKb + + Determines the media bit rate for audio/video/app sharing transmissions in meetings. + + Integer + + Integer + + + 50000 + + + Description + + Description of the new policy to be created. + + String + + String + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> New-CsTeamsNetworkRoamingPolicy -Identity "RedmondRoaming" -AllowIPVideo $true -MediaBitRateKb 2000 -Description "Redmond campus roaming policy" + + The command shown in Example 1 creates a new teams network roaming policy with Identity "RedmondRoaming" with IP Video feature enabled, and the maximum media bit rate is capped at 2000 Kbps. + + + + -------------------------- Example 2 -------------------------- + PS C:\> New-CsTeamsNetworkRoamingPolicy -Identity "RemoteRoaming" + + The command shown in Example 2 creates a new teams network roaming policy with Identity "RemoteRoaming" with IP Video feature enabled, and the maximum media bit rate is capped at 50000 Kbps by default. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csteamsnetworkroamingpolicy + + + + + + New-CsTeamsShiftsConnection + New + CsTeamsShiftsConnection + + This cmdlet creates a new workforce management (WFM) connection. + + + + This cmdlet creates a Shifts WFM connection. It allows the admin to set up the environment for creating connection instances. + + + + New-CsTeamsShiftsConnection + + Body + + The request body. + + IConnectorInstanceRequest + + IConnectorInstanceRequest + + + None + + + Break + + Wait for .NET debugger to attach. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + Proxy + + The URI for the proxy server to use + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call. + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + New-CsTeamsShiftsConnection + + Break + + Wait for .NET debugger to attach. + + + SwitchParameter + + + False + + + ConnectorId + + The WFM connector ID. + + String + + String + + + None + + + Name + + The connection name. + + String + + String + + + None + + + ConnectorSpecificSettings + + The connection name. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConnectorSpecificSettingsRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConnectorSpecificSettingsRequest + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + Proxy + + The URI for the proxy server to use + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call. + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy. + + + SwitchParameter + + + False + + + State + + The state of the connection. Valid values are "Active" and "Disabled". A third value, "ErrorDisabled", signifies an error in the connection. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Body + + The request body. + + IConnectorInstanceRequest + + IConnectorInstanceRequest + + + None + + + Break + + Wait for .NET debugger to attach. + + SwitchParameter + + SwitchParameter + + + False + + + ConnectorId + + The WFM connector ID. + + String + + String + + + None + + + Name + + The connection name. + + String + + String + + + None + + + ConnectorSpecificSettings + + The connection name. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConnectorSpecificSettingsRequest + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConnectorSpecificSettingsRequest + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + Proxy + + The URI for the proxy server to use + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call. + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy. + + SwitchParameter + + SwitchParameter + + + False + + + State + + The state of the connection. Valid values are "Active" and "Disabled". A third value, "ErrorDisabled", signifies an error in the connection. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IWfmConnectionRequest + + + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IWfmConnectionResponse + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IErrorDetailsResponse + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> $result = New-CsTeamsShiftsConnection ` + -connectorId "6A51B888-FF44-4FEA-82E1-839401E00000" ` + -name "Cmdlet test connection" ` + -connectorSpecificSettings (New-Object Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConnectorSpecificBlueYonderSettingsRequest ` + -Property @{ + adminApiUrl = "https://contoso.com/retail/data/wfmadmin/api/v1-beta2" + siteManagerUrl = "https://contoso.com/retail/data/wfmsm/api/v1-beta2" + essApiUrl = "https://contoso.com/retail/data/wfmess/api/v1-beta1" + retailWebApiUrl = "https://contoso.com/retail/data/retailwebapi/api/v1" + cookieAuthUrl = "https://contoso.com/retail/data/login" + federatedAuthUrl = "https://contoso.com/retail/data/login" + LoginUserName = "PlaceholderForUsername" + LoginPwd = "PlaceholderForPassword" + }) ` + -state "Active" +PS C:\> $result | Format-List + +{ +ConnectorId : 6A51B888-FF44-4FEA-82E1-839401E00000 +ConnectorSpecificSettingAdminApiUrl : https://www.contoso.com/retail/data/wfmadmin/api/v1-beta2 +ConnectorSpecificSettingApiUrl : +ConnectorSpecificSettingAppKey : +ConnectorSpecificSettingClientId : +ConnectorSpecificSettingCookieAuthUrl : https://www.contoso.com/retail/data/login +ConnectorSpecificSettingEssApiUrl : https://www.contoso.com/retail/data/wfmess/api/v1-beta2 +ConnectorSpecificSettingFederatedAuthUrl : https://www.contoso.com/retail/data/login +ConnectorSpecificSettingRetailWebApiUrl : https://www.contoso.com/retail/data/retailwebapi/api/v1 +ConnectorSpecificSettingSiteManagerUrl : https://www.contoso.com/retail/data/wfmsm/api/v1-beta2 +ConnectorSpecificSettingSsoUrl : +CreatedDateTime : 24/03/2023 04:58:23 +Etag : "5b00dd1b-0000-0400-0000-641d2df00000" +Id : 4dae9db0-0841-412c-8d6b-f5684bfebdd7 +LastModifiedDateTime : 24/03/2023 04:58:23 +Name : Cmdlet test connection +State : Active +TenantId : 3FDCAAF2-863A-4520-97BA-DFA211595876 +} + + Returns the object of the created connection. + In case of an error, we can capture the error response as follows: + * Hold the cmdlet output in a variable: `$result=<CMDLET>` + * To get the entire error message in Json: `$result.ToJsonString()` + * To get the error object and object details: `$result, $result.Detail` + + + + -------------------------- Example 2 -------------------------- + PS C:\> $result = New-CsTeamsShiftsConnection ` + -connectorId "95BF2848-2DDA-4425-B0EE-D62AEED4C0A0" ` + -name "Cmdlet test connection" ` + -connectorSpecificSettings (New-Object Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConnectorSpecificUkgDimensionsSettingsRequest ` + -Property @{ + apiUrl = "https://www.contoso.com/api" + ssoUrl = "https://www.contoso.com/sso" + appKey = "PlaceholderForAppKey" + clientId = "Es5Q2fB4PXweCyto6Ms6J2kRB7uwAc3W" + clientSecret = "PlaceholderForClientSecret" + LoginUserName = "PlaceholderForUsername" + LoginPwd = "PlaceholderForPassword" + }) ` + -state "Active" +PS C:\> $result | Format-List + +ConnectorId : 95BF2848-2DDA-4425-B0EE-D62AEED4C0A0 +ConnectorSpecificSettingAdminApiUrl : +ConnectorSpecificSettingApiUrl : https://www.contoso.com/api +ConnectorSpecificSettingAppKey : +ConnectorSpecificSettingClientId : Es5Q2fB4PXweCyto6Ms6J2kRB7uwAc3W +ConnectorSpecificSettingCookieAuthUrl : +ConnectorSpecificSettingEssApiUrl : +ConnectorSpecificSettingFederatedAuthUrl : +ConnectorSpecificSettingRetailWebApiUrl : +ConnectorSpecificSettingSiteManagerUrl : +ConnectorSpecificSettingSsoUrl : https://www.contoso.com/sso +CreatedDateTime : 06/04/2023 11:05:39 +Etag : "3100fd6e-0000-0400-0000-642ea7840000" +Id : a2d1b091-5140-4dd2-987a-98a8b5338744 +LastModifiedDateTime : 06/04/2023 11:05:39 +Name : Cmdlet test connection +State : Active +TenantId : 3FDCAAF2-863A-4520-97BA-DFA211595876 + + + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csteamsshiftsconnection + + + Get-CsTeamsShiftsConnection + + + + Set-CsTeamsShiftsConnection + + + + Update-CsTeamsShiftsConnection + + + + Get-CsTeamsShiftsConnectionConnector + + + + Test-CsTeamsShiftsConnectionValidate + + + + + + + New-CsTeamsShiftsConnectionBatchTeamMap + New + CsTeamsShiftsConnectionBatchTeamMap + + This cmdlet submits an operation connecting multiple Microsoft Teams teams and Workforce management (WFM) teams. + + + + This cmdlet connects multiple Microsoft Teams teams and WFM teams to allow for synchronization of shifts related data. It initiates an asynchronous job to map the WFM teams to the Microsoft Teams teams. You can check the operation status by running Get-CsTeamsShiftsConnectionOperation (Get-CsTeamsShiftsConnectionOperation.md). + + + + New-CsTeamsShiftsConnectionBatchTeamMap + + ConnectorInstanceId + + The connection instance ID used to map teams. + + String + + String + + + None + + + TeamMapping + + The Teams mapping object list. + + TeamMap[] + + TeamMap[] + + + None + + + + + + ConnectorInstanceId + + The connection instance ID used to map teams. + + String + + String + + + None + + + TeamMapping + + The Teams mapping object list. + + TeamMap[] + + TeamMap[] + + + None + + + + + + + Please check the example section for the format of TeamMap. + + + + + -------------------------- Example 1 -------------------------- + PS C:\> $map1 = @{ +teamId = 'eddc3b94-21d5-4ef0-a76a-2e4d6f4a50be' +wfmTeamId = 1000553 +timeZone = "America/Los_Angeles" +} + +$map2 = @{ +teamId = '1d8f6288-0459-4c53-8e98-9de7b781844a' +wfmTeamId = 1000555 +timeZone = "America/Los_Angeles" +} + +New-CsTeamsShiftsConnectionBatchTeamMap -ConnectorInstanceId WCI-2afeb8ec-a0f6-4580-8f1e-85fd4a343e01 -TeamMapping @($map1, $map2) + +CreatedDateTime LastActionDateTime OperationId Status +--------------- ------------------ ----------- ------ +12/6/2021 7:28:51 PM 12/6/2021 7:28:51 PM c79131b7-9ecb-484b-a8df-2639c7c1e5f0 NotStarted + + Sends 2 team mappings: one maps the Teams team with ID `eddc3b94-21d5-4ef0-a76a-2e4d6f4a50be` and WFM team with ID `1000553` and the other maps the Teams team with ID `1d8f6288-0459-4c53-8e98-9de7b781844a` and WFM team with ID `1000555` in the instance with ID `WCI-2afeb8ec-a0f6-4580-8f1e-85fd4a343e01`. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csteamsshiftsconnectionbatchteammap + + + Get-CsTeamsShiftsConnectionOperation + + + + + + + New-CsTeamsShiftsConnectionInstance + New + CsTeamsShiftsConnectionInstance + + This cmdlet creates a Shifts connection instance. + + + + This cmdlet creates a Shifts connection instance. It allows the admin to set up the environment for further connection settings. + + + + New-CsTeamsShiftsConnectionInstance + + Body + + The request body + + IConnectorInstanceRequest + + IConnectorInstanceRequest + + + None + + + Break + + Wait for .NET debugger to attach + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + Proxy + + The URI for the proxy server to use. + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call. + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + New-CsTeamsShiftsConnectionInstance + + Break + + Wait for .NET debugger to attach + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + ConnectorAdminEmail + + Gets or sets the list of connector admin email addresses. + + String[] + + String[] + + + None + + + ConnectionId + + Gets or sets the WFM connection ID for the new instance. This can be retrieved by running Get-CsTeamsShiftsConnection (Get-CsTeamsShiftsConnection.md). + + String + + String + + + None + + + DesignatedActorId + + Gets or sets the designated actor ID that App acts as for Shifts Graph Api calls. + + String + + String + + + None + + + SyncScenarioOfferShiftRequest + + The sync state for the offer shift request scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioOpenShift + + The sync state for the open shift scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioOpenShiftRequest + + The sync state for the open shift request scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioShift + + The sync state for the shift scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioSwapRequest + + The sync state for the swap shift request scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioTimeCard + + The sync state for the time card scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioTimeOff + + The sync state for the time off scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioTimeOffRequest + + The sync state for the time off request scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioUserShiftPreference + + The sync state for the user shift preferences scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + Name + + The connector instance name. + + String + + String + + + None + + + Proxy + + The URI for the proxy server to use. + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call. + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy. + + + SwitchParameter + + + False + + + State + + The state of the connection instance. Valid values are "Active" and "Disabled". A third value, "ErrorDisabled", signifies an error in the connection instance. + + String + + String + + + None + + + SyncFrequencyInMin + + The sync frequency in minutes. + + Int32 + + Int32 + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Body + + The request body + + IConnectorInstanceRequest + + IConnectorInstanceRequest + + + None + + + Break + + Wait for .NET debugger to attach + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + ConnectorAdminEmail + + Gets or sets the list of connector admin email addresses. + + String[] + + String[] + + + None + + + ConnectionId + + Gets or sets the WFM connection ID for the new instance. This can be retrieved by running Get-CsTeamsShiftsConnection (Get-CsTeamsShiftsConnection.md). + + String + + String + + + None + + + DesignatedActorId + + Gets or sets the designated actor ID that App acts as for Shifts Graph Api calls. + + String + + String + + + None + + + SyncScenarioOfferShiftRequest + + The sync state for the offer shift request scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioOpenShift + + The sync state for the open shift scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioOpenShiftRequest + + The sync state for the open shift request scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioShift + + The sync state for the shift scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioSwapRequest + + The sync state for the swap shift request scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioTimeCard + + The sync state for the time card scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioTimeOff + + The sync state for the time off scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioTimeOffRequest + + The sync state for the time off request scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioUserShiftPreference + + The sync state for the user shift preferences scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + Name + + The connector instance name. + + String + + String + + + None + + + Proxy + + The URI for the proxy server to use. + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call. + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy. + + SwitchParameter + + SwitchParameter + + + False + + + State + + The state of the connection instance. Valid values are "Active" and "Disabled". A third value, "ErrorDisabled", signifies an error in the connection instance. + + String + + String + + + None + + + SyncFrequencyInMin + + The sync frequency in minutes. + + Int32 + + Int32 + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConnectorInstanceRequest + + + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConnectorInstanceResponse + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IErrorDetailsResponse + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> $result = New-CsTeamsShiftsConnectionInstance ` +-connectionId "79964000-286a-4216-ac60-c795a426d61a" ` +-name "Cmdlet test instance" ` +-connectorAdminEmail @("admin@contoso.com", "superadmin@contoso.com") ` +-designatedActorId "93f85765-47db-412d-8f06-9844718762a1" ` +-State "Active" ` +-syncFrequencyInMin "10" ` +-SyncScenarioOfferShiftRequest "FromWfmToShifts" ` +-SyncScenarioOpenShift "FromWfmToShifts" ` +-SyncScenarioOpenShiftRequest "FromWfmToShifts" ` +-SyncScenarioShift "FromWfmToShifts" ` +-SyncScenarioSwapRequest "FromWfmToShifts" ` +-SyncScenarioTimeCard "FromWfmToShifts" ` +-SyncScenarioTimeOff "FromWfmToShifts" ` +-SyncScenarioTimeOffRequest "FromWfmToShifts" ` +-SyncScenarioUserShiftPreference "Disabled" +PS C:\> $result.ToJsonString() + +{ + "syncScenarios": { + "offerShiftRequest": "FromWfmToShifts", + "openShift": "FromWfmToShifts", + "openShiftRequest": "FromWfmToShifts", + "shift": "FromWfmToShifts", + "swapRequest": "FromWfmToShifts", + "timeCard": "FromWfmToShifts", + "timeOff": "FromWfmToShifts", + "timeOffRequest": "FromWfmToShifts", + "userShiftPreferences": "Disabled" + }, + "id": "WCI-eba2865f-6cac-46f9-8733-e0631a4536e1", + "tenantId": "dfd24b34-ccb0-47e1-bdb7-e49db9c7c14a", + "connectionId": "79964000-286a-4216-ac60-c795a426d61a", + "connectorAdminEmails": [ "admin@contoso.com", "superadmin@contoso.com" ], + "connectorId": "95BF2848-2DDA-4425-B0EE-D62AEED4C0A0", + "designatedActorId": "ec1a4edb-1a5f-4b2d-b2a4-37aab6ebd231", + "name": "Cmdlet test instance", + "syncFrequencyInMin": 10, + "workforceIntegrationId": "WFI_6b225907-b476-4d40-9773-08b86db7b11b", + "etag": "\"4f005d22-0000-0400-0000-642ff64a0000\"", + "createdDateTime": "2023-04-07T10:54:01.8170000Z", + "lastModifiedDateTime": "2023-04-07T10:54:01.8170000Z", + "state": "Active" +} + + Returns the object of created connector instance. + In case of an error, we can capture the error response as follows: + * Hold the cmdlet output in a variable: `$result=<CMDLET>` + * To get the entire error message in Json: `$result.ToJsonString()` + * To get the error object and object details: `$result, $result.Detail` + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csteamsshiftsconnectioninstance + + + Get-CsTeamsShiftsConnectionInstance + + + + Set-CsTeamsShiftsConnectionInstance + + + + Remove-CsTeamsShiftsConnectionInstance + + + + Get-CsTeamsShiftsConnectionConnector + + + + Test-CsTeamsShiftsConnectionValidate + + + + + + + New-CsTeamsTranslationRule + New + CsTeamsTranslationRule + + Cmdlet to create a new telephone number manipulation rule. + + + + You can use this cmdlet to create a new number manipulation rule. The rule can be used, for example, in the settings of your SBC (Set-CSOnlinePSTNGateway) to convert a callee or caller number to a desired format before entering or leaving Microsoft Phone System + + + + New-CsTeamsTranslationRule + + Identity + + The Identifier of the rule. This parameter is required and later used to assign the rule to the Inbound or Outbound Trunk Normalization policy. + + String + + String + + + None + + + Description + + A friendly description of the normalization rule. + + String + + String + + + None + + + Pattern + + A regular expression that caller or callee number must match in order for this rule to be applied. + + String + + String + + + None + + + Translation + + The regular expression pattern that will be applied to the number to convert it. + + String + + String + + + None + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + New-CsTeamsTranslationRule + + Description + + A friendly description of the normalization rule. + + String + + String + + + None + + + Pattern + + A regular expression that caller or callee number must match in order for this rule to be applied. + + String + + String + + + None + + + Translation + + The regular expression pattern that will be applied to the number to convert it. + + String + + String + + + None + + + Name + + The name of the rule. + + String + + String + + + None + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Identity + + The Identifier of the rule. This parameter is required and later used to assign the rule to the Inbound or Outbound Trunk Normalization policy. + + String + + String + + + None + + + Description + + A friendly description of the normalization rule. + + String + + String + + + None + + + Pattern + + A regular expression that caller or callee number must match in order for this rule to be applied. + + String + + String + + + None + + + Translation + + The regular expression pattern that will be applied to the number to convert it. + + String + + String + + + None + + + Name + + The name of the rule. + + String + + String + + + None + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + New-CsTeamsTranslationRule -Identity 'AddPlus1' -Pattern '^(\d{10})$' -Translation '+1$1' + + This example creates a rule that adds +1 to any ten digits number. For example, 2065555555 will be translated to +1206555555 + + + + -------------------------- Example 2 -------------------------- + New-CsTeamsTranslationRule -Identity 'StripPlus1' -Pattern '^\+1(\d{10})$' -Translation '$1' + + This example creates a rule that strips +1 from any E.164 eleven digits number. For example, +12065555555 will be translated to 206555555 + + + + -------------------------- Example 3 -------------------------- + New-CsTeamsTranslationRule -Identity 'AddE164SeattleAreaCode' -Pattern '^(\d{4})$' -Translation '+120655$1' + + This example creates a rule that adds +1206555 to any four digits number (converts it to E.164number). For example, 5555 will be translated to +1206555555 + + + + -------------------------- Example 4 -------------------------- + New-CsTeamsTranslationRule -Identity 'AddSeattleAreaCode' -Pattern '^(\d{4})$' -Translation '425555$1' + + This example creates a rule that adds 425555 to any four digits number (converts to non-E.164 ten digits number). For example, 5555 will be translated to 4255555555 + + + + -------------------------- Example 5 -------------------------- + New-CsTeamsTranslationRule -Identity 'StripE164SeattleAreaCode' -Pattern '^\+1206555(\d{4})$' -Translation '$1' + + This example creates a rule that strips +1206555 from any E.164 ten digits number. For example, +12065555555 will be translated to 5555 + + + + -------------------------- Example 6 -------------------------- + New-CsTeamsTranslationRule -Identity 'GenerateFullNumber' -Pattern '^\+1206555(\d{4})$' -Translation '+1206555$1;ext=$1' + + This example creates a rule that adds the last four digits of a phone number starting with +1206555 as the extension. For example, +12065551234 will be translated to +12065551234;ext=1234. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csteamstranslationrule + + + Test-CsTeamsTranslationRule + + + + Get-CsTeamsTranslationRule + + + + Set-CsTeamsTranslationRule + + + + Remove-CsTeamsTranslationRule + + + + + + + New-CsTeamsUnassignedNumberTreatment + New + CsTeamsUnassignedNumberTreatment + + Creates a new treatment for how calls to an unassigned number range should be routed. The call can be routed to a user, an application or to an announcement service where a custom message will be played to the caller. + + + + + This cmdlet creates a treatment for how calls to an unassigned number range should be routed. + + + + New-CsTeamsUnassignedNumberTreatment + + Description + + Free format description of this treatment. + + System.String + + System.String + + + None + + + Identity + + The Id of the treatment. + + System.String + + System.String + + + None + + + Pattern + + A regular expression that the called number must match in order for the treatment to take effect. It is best practice to start the regular expression with the hat character and end it with the dollar character. You can use various regular expression test sites on the Internet to validate the expression. + + System.String + + System.String + + + None + + + Target + + The identity of the destination the call should be routed to. Depending on the TargetType it should either be the ObjectId of the user or application instance/resource account or the AudioFileId of the uploaded audio file. + + System.Guid + + System.Guid + + + None + + + TargetType + + The type of target used for the treatment. Allowed values are User, ResourceAccount and Announcement. + + System.String + + System.String + + + None + + + TreatmentPriority + + The priority of the treatment. Used to distinguish identical patterns. The lower the priority the higher preference. The priority needs to be unique. + + System.Integer + + System.Integer + + + None + + + + New-CsTeamsUnassignedNumberTreatment + + Description + + Free format description of this treatment. + + System.String + + System.String + + + None + + + Pattern + + A regular expression that the called number must match in order for the treatment to take effect. It is best practice to start the regular expression with the hat character and end it with the dollar character. You can use various regular expression test sites on the Internet to validate the expression. + + System.String + + System.String + + + None + + + Target + + The identity of the destination the call should be routed to. Depending on the TargetType it should either be the ObjectId of the user or application instance/resource account or the AudioFileId of the uploaded audio file. + + System.Guid + + System.Guid + + + None + + + TargetType + + The type of target used for the treatment. Allowed values are User, ResourceAccount and Announcement. + + System.String + + System.String + + + None + + + TreatmentId + + The identity of the treatment. + + System.String + + System.String + + + None + + + TreatmentPriority + + The priority of the treatment. Used to distinguish identical patterns. The lower the priority the higher preference. The priority needs to be unique. + + System.Integer + + System.Integer + + + None + + + + + + Description + + Free format description of this treatment. + + System.String + + System.String + + + None + + + Identity + + The Id of the treatment. + + System.String + + System.String + + + None + + + Pattern + + A regular expression that the called number must match in order for the treatment to take effect. It is best practice to start the regular expression with the hat character and end it with the dollar character. You can use various regular expression test sites on the Internet to validate the expression. + + System.String + + System.String + + + None + + + Target + + The identity of the destination the call should be routed to. Depending on the TargetType it should either be the ObjectId of the user or application instance/resource account or the AudioFileId of the uploaded audio file. + + System.Guid + + System.Guid + + + None + + + TargetType + + The type of target used for the treatment. Allowed values are User, ResourceAccount and Announcement. + + System.String + + System.String + + + None + + + TreatmentId + + The identity of the treatment. + + System.String + + System.String + + + None + + + TreatmentPriority + + The priority of the treatment. Used to distinguish identical patterns. The lower the priority the higher preference. The priority needs to be unique. + + System.Integer + + System.Integer + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + The cmdlet is available in Teams PS module 2.5.1 or later. + The parameters Identity and TreatmentId are mutually exclusive. + To route calls to unassigned Microsoft Calling Plan subscriber numbers, your tenant needs to have available Communications Credits. + To route calls to unassigned Microsoft Calling Plan service numbers, your tenant needs to have at least one Microsoft Teams Phone Resource Account license. + Both inbound calls to Microsoft Teams and outbound calls from Microsoft Teams will have the called number checked against the unassigned number range. + If a specified pattern/range contains phone numbers that are assigned to a user or resource account in the tenant, calls to these phone numbers will be routed to the appropriate target and not routed to the specified unassigned number treatment. There are no other checks of the numbers in the range. If the range contains a valid external phone number, outbound calls from Microsoft Teams to that phone number will be routed according to the treatment. + + + + + -------------------------- Example 1 -------------------------- + $RAObjectId = (Get-CsOnlineApplicationInstance -Identity aa@contoso.com).ObjectId +New-CsTeamsUnassignedNumberTreatment -Identity MainAA -Pattern "^\+15552223333$" -TargetType ResourceAccount -Target $RAObjectId -TreatmentPriority 1 + + This example creates a treatment that will route all calls to the number +1 (555) 222-3333 to the resource account aa@contoso.com. That resource account is associated with an Auto Attendant (not part of the example). + + + + -------------------------- Example 2 -------------------------- + $Content = Get-Content "C:\Media\MainAnnoucement.wav" -Encoding byte -ReadCount 0 +$AudioFile = Import-CsOnlineAudioFile -FileName "MainAnnouncement.wav" -Content $Content +$Fid=[System.Guid]::Parse($audioFile.Id) +New-CsTeamsUnassignedNumberTreatment -Identity TR1 -Pattern "^\+1555333\d{4}$" -TargetType Announcement -Target $Fid.Guid -TreatmentPriority 2 + + This example creates a treatment that will route all calls to unassigned numbers in the range +1 (555) 333-0000 to +1 (555) 333-9999 to the announcement service, where the audio file MainAnnouncement.wav will be played to the caller. + + + + -------------------------- Example 3 -------------------------- + $UserObjectId = (Get-CsOnlineUser -Identity user@contoso.com).Identity +New-CsTeamsUnassignedNumberTreatment -Identity TR2 -Pattern "^\+15552224444$" -TargetType User -Target $UserObjectId -TreatmentPriority 3 + + This example creates a treatment that will route all calls to the number +1 (555) 222-4444 to the user user@contoso.com. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csteamsunassignednumbertreatment + + + Import-CsOnlineAudioFile + + + + Get-CsTeamsUnassignedNumberTreatment + + + + Remove-CsTeamsUnassignedNumberTreatment + + + + Set-CsTeamsUnassignedNumberTreatment + + + + Test-CsTeamsUnassignedNumberTreatment + + + + + + + New-CsTeamTemplate + New + CsTeamTemplate + + This cmdlet lets you provision a new team template for use in Microsoft Teams. To learn more about team templates, see Get started with Teams templates in the admin center (/MicrosoftTeams/get-started-with-teams-templates-in-the-admin-console). + + NOTE: The response is a PowerShell object formatted as a JSON for readability. Please refer to the examples for suggested interaction flows for template management. + + + + + + New-CsTeamTemplate + + App + + Gets or sets the set of applications that should be installed in teams created based on the template.The app catalog is the main directory for information about each app; this set is intended only as a reference. To construct, see NOTES section for APP properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamsAppTemplate[] + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamsAppTemplate[] + + + None + + + Category + + Gets or sets list of categories. + + System.String[] + + System.String[] + + + None + + + Channel + + Gets or sets the set of channel templates included in the team template. To construct, see NOTES section for CHANNEL properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IChannelTemplate[] + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IChannelTemplate[] + + + None + + + Classification + + Gets or sets the team's classification.Tenant admins configure Microsoft Entra ID with the set of possible values. + + System.String + + System.String + + + None + + + Description + + Gets or sets the team's Description. + + System.String + + System.String + + + None + + + DiscoverySetting + + Governs discoverability of a team. To construct, see NOTES section for DISCOVERYSETTING properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamDiscoverySettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamDiscoverySettings + + + None + + + DisplayName + + Gets or sets the team's DisplayName. + + System.String + + System.String + + + None + + + FunSetting + + Governs use of fun media like giphy and stickers in the team. To construct, see NOTES section for FUNSETTING properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamFunSettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamFunSettings + + + None + + + GuestSetting + + Guest role settings for the team. To construct, see NOTES section for GUESTSETTING properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamGuestSettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamGuestSettings + + + None + + + Icon + + Gets or sets template icon. + + System.String + + System.String + + + None + + + IsMembershipLimitedToOwner + + Gets or sets whether to limit the membership of the team to owners in the Microsoft Entra group until an owner "activates" the team. + + + System.Management.Automation.SwitchParameter + + + False + + + Locale + + + + System.String + + System.String + + + None + + + MemberSetting + + Member role settings for the team. To construct, see NOTES section for MEMBERSETTING properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamMemberSettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamMemberSettings + + + None + + + MessagingSetting + + Governs use of messaging features within the teamThese are settings the team owner should be able to modify from UI after team creation. To construct, see NOTES section for MESSAGINGSETTING properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamMessagingSettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamMessagingSettings + + + None + + + OwnerUserObjectId + + Gets or sets the Microsoft Entra user object id of the user who should be set as the owner of the new team.Only to be used when an application or administrative user is making the request on behalf of the specified user. + + System.String + + System.String + + + None + + + PublishedBy + + Gets or sets published name. + + System.String + + System.String + + + None + + + ShortDescription + + Gets or sets template short description. + + System.String + + System.String + + + None + + + Specialization + + The specialization or use case describing the team.Used for telemetry/BI, part of the team context exposed to app developers, and for legacy implementations of differentiated features for education. + + System.String + + System.String + + + None + + + TemplateId + + Gets or sets the id of the base template for the team.Either a Microsoft base template or a custom template. + + System.String + + System.String + + + None + + + Uri + + Gets or sets uri to be used for GetTemplate api call. + + System.String + + System.String + + + None + + + Visibility + + Used to control the scope of users who can view a group/team and its members, and ability to join. + + System.String + + System.String + + + None + + + Break + + Wait for .NET debugger to attach + + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + Proxy + + The URI for the proxy server to use + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + New-CsTeamTemplate + + App + + Gets or sets the set of applications that should be installed in teams created based on the template.The app catalog is the main directory for information about each app; this set is intended only as a reference. To construct, see NOTES section for APP properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamsAppTemplate[] + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamsAppTemplate[] + + + None + + + Category + + Gets or sets list of categories. + + System.String[] + + System.String[] + + + None + + + Channel + + Gets or sets the set of channel templates included in the team template. To construct, see NOTES section for CHANNEL properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IChannelTemplate[] + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IChannelTemplate[] + + + None + + + Classification + + Gets or sets the team's classification.Tenant admins configure Microsoft Entra ID with the set of possible values. + + System.String + + System.String + + + None + + + Description + + Gets or sets the team's Description. + + System.String + + System.String + + + None + + + DiscoverySetting + + Governs discoverability of a team. To construct, see NOTES section for DISCOVERYSETTING properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamDiscoverySettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamDiscoverySettings + + + None + + + DisplayName + + Gets or sets the team's DisplayName. + + System.String + + System.String + + + None + + + FunSetting + + Governs use of fun media like giphy and stickers in the team. To construct, see NOTES section for FUNSETTING properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamFunSettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamFunSettings + + + None + + + GuestSetting + + Guest role settings for the team. To construct, see NOTES section for GUESTSETTING properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamGuestSettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamGuestSettings + + + None + + + Icon + + Gets or sets template icon. + + System.String + + System.String + + + None + + + InputObject + + Identity Parameter To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity + + + None + + + IsMembershipLimitedToOwner + + Gets or sets whether to limit the membership of the team to owners in the Microsoft Entra group until an owner "activates" the team. + + + System.Management.Automation.SwitchParameter + + + False + + + MemberSetting + + Member role settings for the team. To construct, see NOTES section for MEMBERSETTING properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamMemberSettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamMemberSettings + + + None + + + MessagingSetting + + Governs use of messaging features within the teamThese are settings the team owner should be able to modify from UI after team creation. To construct, see NOTES section for MESSAGINGSETTING properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamMessagingSettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamMessagingSettings + + + None + + + OwnerUserObjectId + + Gets or sets the Microsoft Entra user object id of the user who should be set as the owner of the new team.Only to be used when an application or administrative user is making the request on behalf of the specified user. + + System.String + + System.String + + + None + + + PublishedBy + + Gets or sets published name. + + System.String + + System.String + + + None + + + ShortDescription + + Gets or sets template short description. + + System.String + + System.String + + + None + + + Specialization + + The specialization or use case describing the team.Used for telemetry/BI, part of the team context exposed to app developers, and for legacy implementations of differentiated features for education. + + System.String + + System.String + + + None + + + TemplateId + + Gets or sets the id of the base template for the team.Either a Microsoft base template or a custom template. + + System.String + + System.String + + + None + + + Uri + + Gets or sets uri to be used for GetTemplate api call. + + System.String + + System.String + + + None + + + Visibility + + Used to control the scope of users who can view a group/team and its members, and ability to join. + + System.String + + System.String + + + None + + + Break + + Wait for .NET debugger to attach + + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + Proxy + + The URI for the proxy server to use + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + New-CsTeamTemplate + + Body + + The client input for a request to create a template. Only admins from Config Api can perform this request. To construct, see NOTES section for BODY properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplate + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplate + + + None + + + Locale + + + + System.String + + System.String + + + None + + + Break + + Wait for .NET debugger to attach + + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + Proxy + + The URI for the proxy server to use + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + New-CsTeamTemplate + + Body + + The client input for a request to create a template. Only admins from Config Api can perform this request. To construct, see NOTES section for BODY properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplate + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplate + + + None + + + InputObject + + Identity Parameter To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity + + + None + + + Break + + Wait for .NET debugger to attach + + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + Proxy + + The URI for the proxy server to use + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + App + + Gets or sets the set of applications that should be installed in teams created based on the template.The app catalog is the main directory for information about each app; this set is intended only as a reference. To construct, see NOTES section for APP properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamsAppTemplate[] + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamsAppTemplate[] + + + None + + + Body + + The client input for a request to create a template. Only admins from Config Api can perform this request. To construct, see NOTES section for BODY properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplate + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplate + + + None + + + Category + + Gets or sets list of categories. + + System.String[] + + System.String[] + + + None + + + Channel + + Gets or sets the set of channel templates included in the team template. To construct, see NOTES section for CHANNEL properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IChannelTemplate[] + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IChannelTemplate[] + + + None + + + Classification + + Gets or sets the team's classification.Tenant admins configure Microsoft Entra ID with the set of possible values. + + System.String + + System.String + + + None + + + Description + + Gets or sets the team's Description. + + System.String + + System.String + + + None + + + DiscoverySetting + + Governs discoverability of a team. To construct, see NOTES section for DISCOVERYSETTING properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamDiscoverySettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamDiscoverySettings + + + None + + + DisplayName + + Gets or sets the team's DisplayName. + + System.String + + System.String + + + None + + + FunSetting + + Governs use of fun media like giphy and stickers in the team. To construct, see NOTES section for FUNSETTING properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamFunSettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamFunSettings + + + None + + + GuestSetting + + Guest role settings for the team. To construct, see NOTES section for GUESTSETTING properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamGuestSettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamGuestSettings + + + None + + + Icon + + Gets or sets template icon. + + System.String + + System.String + + + None + + + InputObject + + Identity Parameter To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity + + + None + + + IsMembershipLimitedToOwner + + Gets or sets whether to limit the membership of the team to owners in the Microsoft Entra group until an owner "activates" the team. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + Locale + + + + System.String + + System.String + + + None + + + MemberSetting + + Member role settings for the team. To construct, see NOTES section for MEMBERSETTING properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamMemberSettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamMemberSettings + + + None + + + MessagingSetting + + Governs use of messaging features within the teamThese are settings the team owner should be able to modify from UI after team creation. To construct, see NOTES section for MESSAGINGSETTING properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamMessagingSettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamMessagingSettings + + + None + + + OwnerUserObjectId + + Gets or sets the Microsoft Entra user object id of the user who should be set as the owner of the new team.Only to be used when an application or administrative user is making the request on behalf of the specified user. + + System.String + + System.String + + + None + + + PublishedBy + + Gets or sets published name. + + System.String + + System.String + + + None + + + ShortDescription + + Gets or sets template short description. + + System.String + + System.String + + + None + + + Specialization + + The specialization or use case describing the team.Used for telemetry/BI, part of the team context exposed to app developers, and for legacy implementations of differentiated features for education. + + System.String + + System.String + + + None + + + TemplateId + + Gets or sets the id of the base template for the team.Either a Microsoft base template or a custom template. + + System.String + + System.String + + + None + + + Uri + + Gets or sets uri to be used for GetTemplate api call. + + System.String + + System.String + + + None + + + Visibility + + Used to control the scope of users who can view a group/team and its members, and ability to join. + + System.String + + System.String + + + None + + + Break + + Wait for .NET debugger to attach + + SwitchParameter + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + Proxy + + The URI for the proxy server to use + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplate + + + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateTemplateResponse + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplateErrorResponse + + + + + + + + + ALIASES + COMPLEX PARAMETER PROPERTIES + To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + APP <ITeamsAppTemplate[]>: Gets or sets the set of applications that should be installed in teams created based on the template.The app catalog is the main directory for information about each app; this set is intended only as a reference. + - `[Id <String>]`: Gets or sets the app's ID in the global apps catalog. + BODY <ITeamTemplate>: The client input for a request to create a template. Only admins from Config Api can perform this request. + - `DisplayName <String>`: Gets or sets the team's DisplayName. + - `ShortDescription <String>`: Gets or sets template short description. + - `[App <ITeamsAppTemplate[]>]`: Gets or sets the set of applications that should be installed in teams created based on the template. The app catalog is the main directory for information about each app; this set is intended only as a reference. + - `[Id <String>]`: Gets or sets the app's ID in the global apps catalog. - `[Category <String[]>]`: Gets or sets list of categories. + - `[Channel <IChannelTemplate[]>]`: Gets or sets the set of channel templates included in the team template. + - `[Description <String>]`: Gets or sets channel description as displayed to users. - `[DisplayName <String>]`: Gets or sets channel name as displayed to users. - `[Id <String>]`: Gets or sets identifier for the channel template. - `[IsFavoriteByDefault <Boolean?>]`: Gets or sets a value indicating whether new members of the team should automatically favorite the channel, pinning it for visibility in the UI and using resources to make switching to the channel faster. - `[Tab <IChannelTabTemplate[]>]`: Gets or sets collection of tabs that should be added to the channel. - `[Configuration <ITeamsTabConfiguration>]`: Represents the configuration of a tab. - `[ContentUrl <String>]`: Gets or sets the Url used for rendering tab contents in Teams. - `[EntityId <String>]`: Gets or sets the identifier for the entity hosted by the tab provider. - `[RemoveUrl <String>]`: Gets or sets the Url that is invoked when the user tries to remove a tab from the FE client. - `[WebsiteUrl <String>]`: Gets or sets the Url for showing tab contents outside of Teams. - `[Id <String>]`: Gets or sets identifier for the channel tab template. - `[Key <String>]`: Gets a unique identifier. - `[MessageId <String>]`: Gets or sets id used to identify the chat message associated with the tab. - `[Name <String>]`: Gets or sets the tab name displayed to users. - `[SortOrderIndex <String>]`: Gets or sets index of the order used for sorting tabs. - `[TeamsAppId <String>]`: Gets or sets the app's id in the global apps catalog. - `[WebUrl <String>]`: Gets or sets the deep link url of the tab instance. - `[Classification <String>]`: Gets or sets the team's classification. Tenant admins configure Microsoft Entra ID with the set of possible values. + - `[Description <String>]`: Gets or sets the team's Description. + - `[DiscoverySetting <ITeamDiscoverySettings>]`: Governs discoverability of a team. + - `ShowInTeamsSearchAndSuggestion <Boolean>`: Gets or sets value indicating if team is visible within search and suggestions in Teams clients. - `[FunSetting <ITeamFunSettings>]`: Governs use of fun media like giphy and stickers in the team. - `AllowCustomMeme <Boolean>`: Gets or sets a value indicating whether users are allowed to create and post custom meme images in team conversations. - `AllowGiphy <Boolean>`: Gets or sets a value indicating whether users can post giphy content in team conversations. - `AllowStickersAndMeme <Boolean>`: Gets or sets a value indicating whether users can post stickers and memes in team conversations. - `GiphyContentRating <String>`: Gets or sets the rating filter on giphy content. - `[GuestSetting <ITeamGuestSettings>]`: Guest role settings for the team. - `AllowCreateUpdateChannel <Boolean>`: Gets or sets a value indicating whether guests can create or edit channels in the team. - `AllowDeleteChannel <Boolean>`: Gets or sets a value indicating whether guests can delete team channels. - `[Icon <String>]`: Gets or sets template icon. + - `[IsMembershipLimitedToOwner <Boolean?>]`: Gets or sets whether to limit the membership of the team to owners in the Microsoft Entra group until an owner "activates" the team. + - `[MemberSetting <ITeamMemberSettings>]`: Member role settings for the team. + - `AllowAddRemoveApp <Boolean>`: Gets or sets a value indicating whether members can add or remove apps in the team. - `AllowCreatePrivateChannel <Boolean>`: Gets or Sets a value indicating whether members can create Private channels. - `AllowCreateUpdateChannel <Boolean>`: Gets or sets a value indicating whether members can create or edit channels in the team. - `AllowCreateUpdateRemoveConnector <Boolean>`: Gets or sets a value indicating whether members can add, edit, or remove connectors in the team. - `AllowCreateUpdateRemoveTab <Boolean>`: Gets or sets a value indicating whether members can add, edit or remove pinned tabs in the team. - `AllowDeleteChannel <Boolean>`: Gets or sets a value indicating whether members can delete team channels. - `UploadCustomApp <Boolean>`: Gets or sets a value indicating is allowed to upload custom apps. - `[MessagingSetting <ITeamMessagingSettings>]`: Governs use of messaging features within the team These are settings the team owner should be able to modify from UI after team creation. - `AllowChannelMention <Boolean>`: Gets or sets a value indicating whether team members can at-mention entire channels in team conversations. - `AllowOwnerDeleteMessage <Boolean>`: Gets or sets a value indicating whether team owners can delete anyone's messages in team conversations. - `AllowTeamMention <Boolean>`: Gets or sets a value indicating whether team members can at-mention the entire team in team conversations. - `AllowUserDeleteMessage <Boolean>`: Gets or sets a value indicating whether team members can delete their own messages in team conversations. - `AllowUserEditMessage <Boolean>`: Gets or sets a value indicating whether team members can edit their own messages in team conversations. - `[OwnerUserObjectId <String>]`: Gets or sets the Microsoft Entra user object id of the user who should be set as the owner of the new team. Only to be used when an application or administrative user is making the request on behalf of the specified user. + - `[PublishedBy <String>]`: Gets or sets published name. + - `[Specialization <String>]`: The specialization or use case describing the team. Used for telemetry/BI, part of the team context exposed to app developers, and for legacy implementations of differentiated features for education. + - `[TemplateId <String>]`: Gets or sets the id of the base template for the team. Either a Microsoft base template or a custom template. + - `[Uri <String>]`: Gets or sets uri to be used for GetTemplate api call. + - `[Visibility <String>]`: Used to control the scope of users who can view a group/team and its members, and ability to join. + + CHANNEL <IChannelTemplate[]>: Gets or sets the set of channel templates included in the team template. + - `[Description <String>]`: Gets or sets channel description as displayed to users. + - `[DisplayName <String>]`: Gets or sets channel name as displayed to users. + - `[Id <String>]`: Gets or sets identifier for the channel template. + - `[IsFavoriteByDefault <Boolean?>]`: Gets or sets a value indicating whether new members of the team should automatically favorite the channel, pinning it for visibility in the UI and using resources to make switching to the channel faster. + - `[Tab <IChannelTabTemplate[]>]`: Gets or sets collection of tabs that should be added to the channel. + - `[Configuration <ITeamsTabConfiguration>]`: Represents the configuration of a tab. - `[ContentUrl <String>]`: Gets or sets the Url used for rendering tab contents in Teams. - `[EntityId <String>]`: Gets or sets the identifier for the entity hosted by the tab provider. - `[RemoveUrl <String>]`: Gets or sets the Url that is invoked when the user tries to remove a tab from the FE client. - `[WebsiteUrl <String>]`: Gets or sets the Url for showing tab contents outside of Teams. - `[Id <String>]`: Gets or sets identifier for the channel tab template. - `[Key <String>]`: Gets a unique identifier. - `[MessageId <String>]`: Gets or sets id used to identify the chat message associated with the tab. - `[Name <String>]`: Gets or sets the tab name displayed to users. - `[SortOrderIndex <String>]`: Gets or sets index of the order used for sorting tabs. - `[TeamsAppId <String>]`: Gets or sets the app's id in the global apps catalog. - `[WebUrl <String>]`: Gets or sets the deep link url of the tab instance. + DISCOVERYSETTING <ITeamDiscoverySettings>: Governs discoverability of a team. + - `ShowInTeamsSearchAndSuggestion <Boolean>`: Gets or sets value indicating if team is visible within search and suggestions in Teams clients. + FUNSETTING <ITeamFunSettings>: Governs use of fun media like giphy and stickers in the team. + - `AllowCustomMeme <Boolean>`: Gets or sets a value indicating whether users are allowed to create and post custom meme images in team conversations. + - `AllowGiphy <Boolean>`: Gets or sets a value indicating whether users can post giphy content in team conversations. + - `AllowStickersAndMeme <Boolean>`: Gets or sets a value indicating whether users can post stickers and memes in team conversations. + - `GiphyContentRating <String>`: Gets or sets the rating filter on giphy content. + + GUESTSETTING <ITeamGuestSettings>: Guest role settings for the team. + - `AllowCreateUpdateChannel <Boolean>`: Gets or sets a value indicating whether guests can create or edit channels in the team. + - `AllowDeleteChannel <Boolean>`: Gets or sets a value indicating whether guests can delete team channels. + + INPUTOBJECT <IConfigApiBasedCmdletsIdentity>: Identity Parameter + - `[Bssid <String>]`: + - `[ChassisId <String>]`: + - `[CivicAddressId <String>]`: Civic address id. + - `[Country <String>]`: + - `[GroupId <String>]`: The ID of a group whose policy assignments will be returned. + - `[Id <String>]`: + - `[Identity <String>]`: + - `[Locale <String>]`: + - `[LocationId <String>]`: Location id. + - `[OdataId <String>]`: A composite URI of a template. + - `[OperationId <String>]`: The ID of a batch policy assignment operation. + - `[OrderId <String>]`: + - `[PackageName <String>]`: The name of a specific policy package + - `[PolicyType <String>]`: The policy type for which group policy assignments will be returned. + - `[Port <String>]`: + - `[PortInOrderId <String>]`: + - `[PublicTemplateLocale <String>]`: Language and country code for localization of publicly available templates. + - `[SubnetId <String>]`: + - `[TenantId <String>]`: + - `[UserId <String>]`: UserId. Supports Guid. Eventually UPN and SIP. + + MEMBERSETTING <ITeamMemberSettings>: Member role settings for the team. + - `AllowAddRemoveApp <Boolean>`: Gets or sets a value indicating whether members can add or remove apps in the team. + - `AllowCreatePrivateChannel <Boolean>`: Gets or Sets a value indicating whether members can create Private channels. + - `AllowCreateUpdateChannel <Boolean>`: Gets or sets a value indicating whether members can create or edit channels in the team. + - `AllowCreateUpdateRemoveConnector <Boolean>`: Gets or sets a value indicating whether members can add, edit, or remove connectors in the team. + - `AllowCreateUpdateRemoveTab <Boolean>`: Gets or sets a value indicating whether members can add, edit or remove pinned tabs in the team. + - `AllowDeleteChannel <Boolean>`: Gets or sets a value indicating whether members can delete team channels. + - `UploadCustomApp <Boolean>`: Gets or sets a value indicating is allowed to upload custom apps. + + MESSAGINGSETTING <ITeamMessagingSettings>: Governs use of messaging features within the teamThese are settings the team owner should be able to modify from UI after team creation. + - `AllowChannelMention <Boolean>`: Gets or sets a value indicating whether team members can at-mention entire channels in team conversations. + - `AllowOwnerDeleteMessage <Boolean>`: Gets or sets a value indicating whether team owners can delete anyone's messages in team conversations. + - `AllowTeamMention <Boolean>`: Gets or sets a value indicating whether team members can at-mention the entire team in team conversations. + - `AllowUserDeleteMessage <Boolean>`: Gets or sets a value indicating whether team members can delete their own messages in team conversations. + - `AllowUserEditMessage <Boolean>`: Gets or sets a value indicating whether team members can edit their own messages in team conversations. + + ## RELATED LINKS + - [Get-CsTeamTemplateList](Get-CsTeamTemplateList.md) + - [Get-CsTeamTemplate](Get-CsTeamTemplate.md) + - [New-CsTeamTemplate](New-CsTeamTemplate.md) + - [Update-CsTeamTemplate](Update-CsTeamTemplate.md) + - [Remove-CsTeamTemplate](Remove-CsTeamTemplate.md) + + + + + -------------------------- EXAMPLE 1 -------------------------- + PS C:> (Get-CsTeamTemplate -OdataId '/api/teamtemplates/v1.0/com.microsoft.teams.template.AdoptOffice365/Public/en-US') > input.json +# open json in your favorite editor, make changes + +PS C:> New-CsTeamTemplate -Locale en-US -Body (Get-Content '.input.json' | Out-String) + + Step 1: Create new template from copy of existing template. Gets the template JSON file of Template with specified OData ID, creates a JSON file user can make edits in. Step 2: Create a new template from the JSON file named "input". + + + + -------------------------- EXAMPLE 2 -------------------------- + PS C:> $template = Get-CsTeamTemplate -OdataId '/api/teamtemplates/v1.0/com.microsoft.teams.template.AdoptOffice365/Public/en-US' +PS C:> $template | Format-List # show the output object as it would be accessed + +PS C:> $template.Category = $null # unset category to copy from public template +PS C:> $template.DisplayName = 'New Template from object' +PS C:> $template.Channel[1].DisplayName += ' modified' +## add a new channel to the channel list +PS C:> $template.Channel += ` +@{ ` + displayName="test"; ` + id="b82b7d0a-6bc9-4fd8-bf09-d432e4ea0475"; ` + isFavoriteByDefault=$false; ` +} + +PS C:> New-CsTeamTemplate -Locale en-US -Body $template + + Create a template using a complex object syntax. + + + + -------------------------- EXAMPLE 3 -------------------------- + PS C:> $template = New-Object Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TeamTemplate -Property @{` +DisplayName='New Template';` +ShortDescription='Short Definition';` +Description='New Description';` +App=@{id='feda49f8-b9f2-4985-90f0-dd88a8f80ee1'}, @{id='1d71218a-92ad-4254-be15-c5ab7a3e4423'};` +Channel=@{` + displayName = "General";` + id= "General";` + isFavoriteByDefault= $true` + },` + @{` + displayName= "test";` + id= "b82b7d0a-6bc9-4fd8-bf09-d432e4ea0475";` + isFavoriteByDefault= $false` + }` +} + +PS C:> New-CsTeamTemplate -Locale en-US -Body $template + + Create template from scratch + > [!Note] > It can take up to 24 hours for Teams users to see a custom template change in the gallery. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csteamtemplate + + + + + + New-CsTenantDialPlan + New + CsTenantDialPlan + + Use the `New-CsTenantDialPlan` cmdlet to create a new tenant dial plan. + + + + You can use this cmdlet to create a new tenant dial plan. Tenant dial plans provide required information to let Enterprise Voice users make telephone calls. The Conferencing Attendant application also uses tenant dial plans for dial-in conferencing. A tenant dial plan determines such things as which normalization rules are applied. + You can add new normalization rules to a tenant dial plan by calling the New-CsVoiceNormalizationRule (New-CsVoiceNormalizationRule.md)cmdlet. + + + + New-CsTenantDialPlan + + Identity + + The Identity parameter is a unique identifier that designates the name of the tenant dial plan. Identity is an alphanumeric string that cannot exceed 49 characters. Valid characters are alphabetic or numeric characters, hyphen (-) and dot (.). The value should not begin with a (.) + + String + + String + + + None + + + Confirm + + The Confirm switch causes the command to pause processing and requires confirmation to proceed. + + + SwitchParameter + + + False + + + Description + + The Description parameter describes the tenant dial plan - what it's for, what type of user it applies to and any other information that helps to identify the purpose of the tenant dial plan. Maximum characters: 1040. + + String + + String + + + None + + + NormalizationRules + + The NormalizationRules parameter is a list of normalization rules that are applied to this dial plan. Although this list and these rules can be created directly by using this cmdlet, we recommend that you create the normalization rules by the New-CsVoiceNormalizationRule (New-CsVoiceNormalizationRule.md) cmdlet, which creates the rule and then assign it to the specified tenant dial plan using [Set-CsTenantDialPlan](Set-CsTenantDialPlan.md)cmdlet. + Each time a new tenant dial plan is created, a new voice normalization rule with default settings is also created for that site, service, or per-user tenant dial plan. By default, the Identity of the new voice normalization rule is the tenant dial plan Identity followed by a slash and then followed by the name Prefix All. (For example, TAG:Redmond/Prefix All.) The number of normalization rules cannot exceed 50 per TenantDialPlan. + You can create a new normalization rule by calling the New-CsVoiceNormalizationRule (New-CsVoiceNormalizationRule.md)cmdlet. + + List + + List + + + None + + + SimpleName + + The SimpleName parameter is a display name for the tenant dial plan. This name must be unique among all tenant dial plans. + This string can be up to 49 characters long. Valid characters are alphabetic or numeric characters, hyphen (-), dot (.) and parentheses (()). + This parameter must contain a value. However, if you don't provide a value, a default value matching the Identity of the tenant dial plan will be supplied. + + String + + String + + + None + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + + SwitchParameter + + + False + + + + + + Identity + + The Identity parameter is a unique identifier that designates the name of the tenant dial plan. Identity is an alphanumeric string that cannot exceed 49 characters. Valid characters are alphabetic or numeric characters, hyphen (-) and dot (.). The value should not begin with a (.) + + String + + String + + + None + + + Confirm + + The Confirm switch causes the command to pause processing and requires confirmation to proceed. + + SwitchParameter + + SwitchParameter + + + False + + + Description + + The Description parameter describes the tenant dial plan - what it's for, what type of user it applies to and any other information that helps to identify the purpose of the tenant dial plan. Maximum characters: 1040. + + String + + String + + + None + + + NormalizationRules + + The NormalizationRules parameter is a list of normalization rules that are applied to this dial plan. Although this list and these rules can be created directly by using this cmdlet, we recommend that you create the normalization rules by the New-CsVoiceNormalizationRule (New-CsVoiceNormalizationRule.md) cmdlet, which creates the rule and then assign it to the specified tenant dial plan using [Set-CsTenantDialPlan](Set-CsTenantDialPlan.md)cmdlet. + Each time a new tenant dial plan is created, a new voice normalization rule with default settings is also created for that site, service, or per-user tenant dial plan. By default, the Identity of the new voice normalization rule is the tenant dial plan Identity followed by a slash and then followed by the name Prefix All. (For example, TAG:Redmond/Prefix All.) The number of normalization rules cannot exceed 50 per TenantDialPlan. + You can create a new normalization rule by calling the New-CsVoiceNormalizationRule (New-CsVoiceNormalizationRule.md)cmdlet. + + List + + List + + + None + + + SimpleName + + The SimpleName parameter is a display name for the tenant dial plan. This name must be unique among all tenant dial plans. + This string can be up to 49 characters long. Valid characters are alphabetic or numeric characters, hyphen (-), dot (.) and parentheses (()). + This parameter must contain a value. However, if you don't provide a value, a default value matching the Identity of the tenant dial plan will be supplied. + + String + + String + + + None + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + The ExternalAccessPrefix and OptimizeDeviceDialing parameters have been removed from New-CsTenantDialPlan and Set-CsTenantDialPlan cmdlet since they are no longer used. External access dialing is now handled implicitly using normalization rules of the dial plans. The Get-CsTenantDialPlan will still show the external access prefix in the form of a normalization rule of the dial plan. + + + + + -------------------------- Example 1 -------------------------- + New-CsTenantDialPlan -Identity vt1tenantDialPlan9 + + This example creates a tenant dial plan that has an Identity of vt1tenantDialPlan9. + + + + -------------------------- Example 2 -------------------------- + $nr2 = New-CsVoiceNormalizationRule -Identity Global/NR2 -Description "TestNR1" -Pattern '^(d{11})$' -Translation '+1' -InMemory +New-CsTenantDialPlan -Identity vt1tenantDialPlan91 -NormalizationRules @{Add=$nr2} + + This example creates a new normalization rule and then applies that rule to a new tenant dial plan. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-cstenantdialplan + + + Grant-CsTenantDialPlan + + + + Get-CsTenantDialPlan + + + + Set-CsTenantDialPlan + + + + Remove-CsTenantDialPlan + + + + + + + New-CsTenantNetworkRegion + New + CsTenantNetworkRegion + + As an admin, you can use the Teams PowerShell command, New-CsTenantNetworkRegion to define network regions. A network region interconnects various parts of a network across multiple geographic areas. The RegionID parameter is a logical name that represents the geography of the region and has no dependencies or restrictions. The organization's network region is used for Location-Based Routing. + + + + Location-Based Routing leverages the same network regions, sites, and subnets concept that is available in Skype for Business Server. A network region contains a collection of network sites. For example, if your organization has many sites located in Redmond, then you may choose to designate "Redmond" as a network region. + + + + New-CsTenantNetworkRegion + + Identity + + Unique identifier for the network region to be created. + + String + + String + + + None + + + BypassID + + This parameter is not used. + + String + + String + + + None + + + CentralSite + + This parameter is not used. + + String + + String + + + None + + + Description + + Provide a description of the network region to identify purpose of creating it. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + New-CsTenantNetworkRegion + + BypassID + + This parameter is not used. + + String + + String + + + None + + + CentralSite + + This parameter is not used. + + String + + String + + + None + + + Description + + Provide a description of the network region to identify purpose of creating it. + + String + + String + + + None + + + NetworkRegionID + + The name of the network region. This must be a string that is unique. You cannot specify an NetworkRegionID and an Identity at the same time. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Identity + + Unique identifier for the network region to be created. + + String + + String + + + None + + + BypassID + + This parameter is not used. + + String + + String + + + None + + + CentralSite + + This parameter is not used. + + String + + String + + + None + + + Description + + Provide a description of the network region to identify purpose of creating it. + + String + + String + + + None + + + NetworkRegionID + + The name of the network region. This must be a string that is unique. You cannot specify an NetworkRegionID and an Identity at the same time. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> New-CsTenantNetworkRegion -NetworkRegionID "RegionA" + + The command shown in Example 1 creates the network region 'RegionA' with no description. Identity and CentralSite will both be set identically to NetworkRegionID. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-cstenantnetworkregion + + + Get-CsTenantNetworkRegion + + + + Remove-CsTenantNetworkRegion + + + + Set-CsTenantNetworkRegion + + + + + + + New-CsTenantNetworkSite + New + CsTenantNetworkSite + + As an admin, you can use the Teams PowerShell command, New-CsTenantNetworkSite to define network sites. Network sites are defined as a collection of IP subnets. Each network site must be associated with a network region. The organization's network site is used for Location-Based Routing. + + + + A network site represents a location where your organization has a physical venue, such as offices, a set of buildings, or a campus. Network sites are defined as a collection of IP subnets. Each network site must be associated with a network region. + A best practice for Location Based Routing (LBR) is to create a separate site for each location which has unique PSTN connectivity. Sites may be created as LBR or non-LBR enabled. A non-LBR enabled site may be created to allow LBR enabled users to make PSTN calls when they roam to that site. Note that network sites may also be used for emergency calling enablement and configuration. In addition, network sites can also be used for configuring Network Roaming Policy capabilities. + + + + New-CsTenantNetworkSite + + Identity + + Unique identifier for the network site to be created. + + String + + String + + + None + + + Description + + Provide a description of the network site to identify purpose of creating it. + + String + + String + + + None + + + EmergencyCallRoutingPolicy + + This parameter is used to assign a custom emergency call routing policy to a network site. For more information, see Assign a custom emergency call routing policy to a network site (/microsoftteams/manage-emergency-call-routing-policies#assign-a-custom-emergency-call-routing-policy-to-a-network-site). + + String + + String + + + None + + + EmergencyCallingPolicy + + This parameter is used to assign a custom emergency calling policy to a network site. For more information see Assign a custom emergency calling policy to a network site (https://learn.microsoft.com/microsoftteams/manage-emergency-calling-policies#assign-a-custom-emergency-calling-policy-to-a-network-site). + + String + + String + + + None + + + EnableLocationBasedRouting + + This parameter determines whether the current site is enabled for Location-Based Routing. + + Boolean + + Boolean + + + None + + + LocationPolicy + + This parameter is reserved for Microsoft internal use. + + String + + String + + + None + + + NetworkRegionID + + NetworkRegionID is the identifier for the network region to which the current network site is associated to. + + String + + String + + + None + + + NetworkRoamingPolicy + + NetworkRoamingPolicy is the identifier for the network roaming policy to which the network site will associate to. + + String + + String + + + None + + + SiteAddress + + This parameter is not used. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + New-CsTenantNetworkSite + + Description + + Provide a description of the network site to identify purpose of creating it. + + String + + String + + + None + + + EmergencyCallRoutingPolicy + + This parameter is used to assign a custom emergency call routing policy to a network site. For more information, see Assign a custom emergency call routing policy to a network site (/microsoftteams/manage-emergency-call-routing-policies#assign-a-custom-emergency-call-routing-policy-to-a-network-site). + + String + + String + + + None + + + EmergencyCallingPolicy + + This parameter is used to assign a custom emergency calling policy to a network site. For more information see Assign a custom emergency calling policy to a network site (https://learn.microsoft.com/microsoftteams/manage-emergency-calling-policies#assign-a-custom-emergency-calling-policy-to-a-network-site). + + String + + String + + + None + + + EnableLocationBasedRouting + + This parameter determines whether the current site is enabled for Location-Based Routing. + + Boolean + + Boolean + + + None + + + LocationPolicy + + This parameter is reserved for Microsoft internal use. + + String + + String + + + None + + + NetworkRegionID + + NetworkRegionID is the identifier for the network region to which the current network site is associated to. + + String + + String + + + None + + + NetworkRoamingPolicy + + NetworkRoamingPolicy is the identifier for the network roaming policy to which the network site will associate to. + + String + + String + + + None + + + NetworkSiteID + + The name of the network site. This must be a string that is unique. You cannot specify an NetworkSiteID and an Identity at the same time. + + String + + String + + + None + + + SiteAddress + + This parameter is not used. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Identity + + Unique identifier for the network site to be created. + + String + + String + + + None + + + Description + + Provide a description of the network site to identify purpose of creating it. + + String + + String + + + None + + + EmergencyCallRoutingPolicy + + This parameter is used to assign a custom emergency call routing policy to a network site. For more information, see Assign a custom emergency call routing policy to a network site (/microsoftteams/manage-emergency-call-routing-policies#assign-a-custom-emergency-call-routing-policy-to-a-network-site). + + String + + String + + + None + + + EmergencyCallingPolicy + + This parameter is used to assign a custom emergency calling policy to a network site. For more information see Assign a custom emergency calling policy to a network site (https://learn.microsoft.com/microsoftteams/manage-emergency-calling-policies#assign-a-custom-emergency-calling-policy-to-a-network-site). + + String + + String + + + None + + + EnableLocationBasedRouting + + This parameter determines whether the current site is enabled for Location-Based Routing. + + Boolean + + Boolean + + + None + + + LocationPolicy + + This parameter is reserved for Microsoft internal use. + + String + + String + + + None + + + NetworkRegionID + + NetworkRegionID is the identifier for the network region to which the current network site is associated to. + + String + + String + + + None + + + NetworkRoamingPolicy + + NetworkRoamingPolicy is the identifier for the network roaming policy to which the network site will associate to. + + String + + String + + + None + + + NetworkSiteID + + The name of the network site. This must be a string that is unique. You cannot specify an NetworkSiteID and an Identity at the same time. + + String + + String + + + None + + + SiteAddress + + This parameter is not used. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> New-CsTenantNetworkSite -NetworkSiteID "MicrosoftSite1" -NetworkRegionID "RegionRedmond" + + The command shown in Example 1 created the network site 'MicrosoftSite1' with no description. Identity will be set identical with NetworkSiteID. + The network region 'RegionRedmond' is created beforehand and 'MicrosoftSite1' will be associated with 'RegionRedmond'. + NetworkSites can exist without all parameters excepts NetworkSiteID. NetworkRegionID can be left blank. + + + + -------------------------- Example 2 -------------------------- + PS C:\> New-CsTenantNetworkSite -NetworkSiteID "site2" -Description "site 2" -NetworkRegionID "RedmondRegion" -LocationPolicy "TestLocationPolicy" -EnableLocationBasedRouting $true + + The command shown in Example 2 creates the network site 'site2' with the description 'site 2'. This site is enabled for LBR, and associates with network region 'RedmondRegion' and with location policy 'TestLocationPolicy'. + + + + -------------------------- Example 3 -------------------------- + PS C:\> New-CsTenantNetworkSite -NetworkSiteID "site3" -Description "site 3" -NetworkRegionID "RedmondRegion" -NetworkRoamingPolicy "TestNetworkRoamingPolicy" + + The command shown in Example 3 creates the network site 'site3' with the description 'site 3'. This site is enabled for network roaming capabilities. The example associates the site with network region 'RedmondRegion' and network roaming policy 'TestNetworkRoamingPolicy'. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-cstenantnetworksite + + + Get-CsTenantNetworkSite + + + + Remove-CsTenantNetworkSite + + + + Set-CsTenantNetworkSite + + + + + + + New-CsTenantNetworkSubnet + New + CsTenantNetworkSubnet + + As an Admin, you can use the Windows PowerShell command, New-CsTenantNetworkSubnet to define network subnets and assign them to network sites. Each internal subnet may only be associated with one site. Tenant network subnet is used for Location Based Routing. + + + + IP subnets at the location where Teams endpoints can connect to the network must be defined and associated to a defined network in order to enforce toll bypass. Multiple subnets may be associated with the same network site, but multiple sites may not be associated with a same subnet. This association of subnets enables Location-Based routing to locate the endpoints geographically to determine if a given PSTN call should be allowed. Both IPv4 and IPv6 subnets are supported. When determining if a Teams endpoint is located at a site an IPv6 address will be checked for a match first. + When the client is sending the network subnet, please make sure we have already whitelisted the IP address by running this command-let, otherwise the request will be rejected. If you are only adding the IPv4 address by running this command-let, but your client are only sending and IPv6 address, it will be rejected. + + + + New-CsTenantNetworkSubnet + + Identity + + Unique identifier for the network subnet to be created. + + String + + String + + + None + + + MaskBits + + This parameter determines the length of bits to mask to the subnet. + IPv4 format subnet accepts maskbits from 0 to 32 inclusive. IPv6 format subnet accepts maskbits from 0 to 128 inclusive. + + Int32 + + Int32 + + + None + + + Description + + Provide a description of the network subnet to identify the purpose of creating it. + + String + + String + + + None + + + NetworkSiteID + + NetworkSiteID is the identifier for the network site which the current network subnet is associating to. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + New-CsTenantNetworkSubnet + + MaskBits + + This parameter determines the length of bits to mask to the subnet. + IPv4 format subnet accepts maskbits from 0 to 32 inclusive. IPv6 format subnet accepts maskbits from 0 to 128 inclusive. + + Int32 + + Int32 + + + None + + + Description + + Provide a description of the network subnet to identify the purpose of creating it. + + String + + String + + + None + + + NetworkSiteID + + NetworkSiteID is the identifier for the network site which the current network subnet is associating to. + + String + + String + + + None + + + SubnetID + + The name of the network subnet. This must be a unique and valid IPv4 or IPv6 address. You cannot specify an NetworkSubnetID and an Identity at the same time. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Identity + + Unique identifier for the network subnet to be created. + + String + + String + + + None + + + MaskBits + + This parameter determines the length of bits to mask to the subnet. + IPv4 format subnet accepts maskbits from 0 to 32 inclusive. IPv6 format subnet accepts maskbits from 0 to 128 inclusive. + + Int32 + + Int32 + + + None + + + Description + + Provide a description of the network subnet to identify the purpose of creating it. + + String + + String + + + None + + + NetworkSiteID + + NetworkSiteID is the identifier for the network site which the current network subnet is associating to. + + String + + String + + + None + + + SubnetID + + The name of the network subnet. This must be a unique and valid IPv4 or IPv6 address. You cannot specify an NetworkSubnetID and an Identity at the same time. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> New-CsTenantNetworkSubnet -SubnetID "192.168.0.1" -MaskBits "24" -NetworkSiteID "site1" + + The command shown in Example 1 created the network subnet '192.168.0.1' with no description. The subnet is IPv4 format, and the subnet is assigned to network site 'site1'. The maskbits is set to 24. + IPv4 format subnet accepts maskbits from 0 to 32 inclusive. + + + + -------------------------- Example 2 -------------------------- + PS C:\> New-CsTenantNetworkSubnet -SubnetID "2001:4898:e8:25:844e:926f:85ad:dd8e" -MaskBits "120" -NetworkSiteID "site1" + + The command shown in Example 2 created the network subnet '2001:4898:e8:25:844e:926f:85ad:dd8e' with no description. The subnet is IPv6 format, and the subnet is assigned to network site 'site1'. The maskbits is set to 120. + IPv6 format subnet accepts maskbits from 0 to 128 inclusive. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-cstenantnetworksubnet + + + Get-CsTenantNetworkSubnet + + + + Remove-CsTenantNetworkSubnet + + + + Set-CsTenantNetworkSubnet + + + + + + + New-CsTenantTrustedIPAddress + New + CsTenantTrustedIPAddress + + As an Admin, you can use the Windows PowerShell command, New-CsTenantTrustedIPAddress to define external subnets and assign them to the tenant. You can define an unlimited number of external subnets for a tenant. + + + + External trusted IPs are the Internet external IPs of the enterprise network and are used to determine if the user's endpoint is inside the corporate network before checking for a specific site match. If the user's external IP matches one defined in the trusted list, then Location-Based Routing will check to determine which internal subnet the user's endpoint is located. If the user's external IP doesn't match one defined in the trusted list, the endpoint will be classified as being at an unknown and any PSTN calls to/from an LBR enabled user are blocked. + Both IPv4 and IPv6 trusted IP addresses are supported. + + + + New-CsTenantTrustedIPAddress + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Description + + Provide a description of the trusted IP address to identify purpose of creating it. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + IPAddress + + The name of the IP address. This must be a unique and valid IPv4 or IPv6 address. You cannot specify an IP address and an Identity at the same time. + + String + + String + + + None + + + InMemory + + PARAMVALUE: SwitchParameter + + + SwitchParameter + + + False + + + MaskBits + + This parameter determines the length of bits to mask to the subnet. + IPv4 format IP address accepts maskbits from 0 to 32 inclusive. If not provided, the value is set to 32. + IPv6 format IP address accepts maskbits from 0 to 128 inclusive. If not provided, the value is set to 128. + + System.Int32 + + System.Int32 + + + None + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose IP addresses are being created. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + New-CsTenantTrustedIPAddress + + Identity + + Unique identifier for the IP address to be created. + + XdsGlobalRelativeIdentity + + XdsGlobalRelativeIdentity + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Description + + Provide a description of the trusted IP address to identify purpose of creating it. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + InMemory + + PARAMVALUE: SwitchParameter + + + SwitchParameter + + + False + + + MaskBits + + This parameter determines the length of bits to mask to the subnet. + IPv4 format IP address accepts maskbits from 0 to 32 inclusive. If not provided, the value is set to 32. + IPv6 format IP address accepts maskbits from 0 to 128 inclusive. If not provided, the value is set to 128. + + System.Int32 + + System.Int32 + + + None + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose IP addresses are being created. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Description + + Provide a description of the trusted IP address to identify purpose of creating it. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + IPAddress + + The name of the IP address. This must be a unique and valid IPv4 or IPv6 address. You cannot specify an IP address and an Identity at the same time. + + String + + String + + + None + + + Identity + + Unique identifier for the IP address to be created. + + XdsGlobalRelativeIdentity + + XdsGlobalRelativeIdentity + + + None + + + InMemory + + PARAMVALUE: SwitchParameter + + SwitchParameter + + SwitchParameter + + + False + + + MaskBits + + This parameter determines the length of bits to mask to the subnet. + IPv4 format IP address accepts maskbits from 0 to 32 inclusive. If not provided, the value is set to 32. + IPv6 format IP address accepts maskbits from 0 to 128 inclusive. If not provided, the value is set to 128. + + System.Int32 + + System.Int32 + + + None + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose IP addresses are being created. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> New-CsTenantTrustedIPAddress -IPAddress "192.168.0.1" + + The command shown in Example 1 created the IP address '192.168.0.1' with no description. The IP address is in IPv4 format, and the maskbits is set to 32 by default. + + + + -------------------------- Example 2 -------------------------- + PS C:\> New-CsTenantTrustedIPAddress -IPAddress "192.168.2.0" -MaskBits "24" + + The command shown in Example 2 created the IP address '192.168.2.0' with no description. The IP address is in IPv4 format, and the maskbits is set to 24. + IPv4 format IP address accepts maskbits from 0 to 32 inclusive. + + + + -------------------------- Example 3 -------------------------- + PS C:\> New-CsTenantTrustedIPAddress -IPAddress "2001:4898:e8:25:844e:926f:85ad:dd8e" -Description "IPv6 IP address" + + The command shown in Example 3 created the IP address '2001:4898:e8:25:844e:926f:85ad:dd8e' with description. The IP address is in IPv6 format, and the maskbits is set to 128 by default. + IPv6 format IP address accepts maskbits from 0 to 128 inclusive. + + + + + + + + New-CsUserCallingDelegate + New + CsUserCallingDelegate + + This cmdlet will add a new delegate for calling in Microsoft Teams. + + + + This cmdlet adds a new delegate with given permissions for the specified user. + + + + New-CsUserCallingDelegate + + Delegate + + The Identity of the delegate to add. Can be specified using the ObjectId or the SIP address. + A user can have up to 25 delegates. + + System.String + + System.String + + + None + + + Identity + + The Identity of the user to add a delegate for. Can be specified using the ObjectId or the SIP address. + + System.String + + System.String + + + None + + + MakeCalls + + Specifies whether delegate is allowed to make calls on behalf of the specified user. + + System.Boolean + + System.Boolean + + + False + + + ManageSettings + + Specifies whether delegate is allowed to change the delegate and calling settings for the specified user. + + System.Boolean + + System.Boolean + + + False + + + ReceiveCalls + + Specifies whether delegate is allowed to receive calls on behalf of the specified user. + + System.Boolean + + System.Boolean + + + False + + + + + + Delegate + + The Identity of the delegate to add. Can be specified using the ObjectId or the SIP address. + A user can have up to 25 delegates. + + System.String + + System.String + + + None + + + Identity + + The Identity of the user to add a delegate for. Can be specified using the ObjectId or the SIP address. + + System.String + + System.String + + + None + + + MakeCalls + + Specifies whether delegate is allowed to make calls on behalf of the specified user. + + System.Boolean + + System.Boolean + + + False + + + ManageSettings + + Specifies whether delegate is allowed to change the delegate and calling settings for the specified user. + + System.Boolean + + System.Boolean + + + False + + + ReceiveCalls + + Specifies whether delegate is allowed to receive calls on behalf of the specified user. + + System.Boolean + + System.Boolean + + + False + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + The cmdlet is available in Teams PowerShell module 4.0.0 or later. + The specified user need to have the Microsoft Phone System license assigned. + You can see the delegate of a user by using the Get-CsUserCallingSettings cmdlet. + + + + + -------------------------- Example 1 -------------------------- + New-CsUserCallingDelegate -Identity user1@contoso.com -Delegate user2@contoso.com -MakeCalls $true -ReceiveCalls $true -ManageSettings $true + + + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csusercallingdelegate + + + Get-CsUserCallingSettings + + + + Set-CsUserCallingDelegate + + + + Remove-CsUserCallingDelegate + + + + + + + New-CsVideoInteropServiceProvider + New + CsVideoInteropServiceProvider + + Cloud Video Interop for Teams enables 3rd party VTC devices to be able to join Teams meetings. The CsVideoInteropServiceProvider cmdlets allow you to designate provider/tenant specific information about the connection to the provider. + + + + Cloud Video Interop for Teams enables 3rd party VTC devices to be able to join Teams meetings. The CsVideoInteropServiceProvider cmdlets allow you to designate provider/tenant specific information about the connection to the provider. + Use the New-CsVideoInteropServiceProvider to specify information about a supported CVI partner your organization would like to use. + Important note: New-CsVideoInteropServiceProvider does not do a check on the -Identity to be one of the Identity (without tag:) from the Get-CsTeamsVideoInteropServicePolicy, however if this is not set to match, the VTC coordinates will not added to the meetings correctly. Make sure that your "Identity" matches a valid policy identity. + + + + New-CsVideoInteropServiceProvider + + Identity + + This is mandatory parameter and can have only one of the 6 values PolycomServiceProviderEnabled PexipServiceProviderEnabled BlueJeansServiceProviderEnabled + PolycomServiceProviderDisabled PexipServiceProviderDisabled BlueJeansServiceProviderDisabled + + XdsGlobalRelativeIdentity + + XdsGlobalRelativeIdentity + + + None + + + AadApplicationIds + + This is an optional parameter. A semicolon separated list of Microsoft Entra AppIds of the CVI partner bots can be specified in this parameter. This parameter works in conjunction with AllowAppGuestJoinsAsAuthenticated. When AllowAppGuestJoinsAsAuthenticated is set to true, a VTC device joining anonymously using any of these bots, is shown in the meeting as an authenticated tenant entity. + + String + + String + + + None + + + AllowAppGuestJoinsAsAuthenticated + + This is an optional parameter. Default = false. This parameter works in conjunction with AadApplicationIds. When AllowAppGuestJoinsAsAuthenticated is set to true, a VTC device joining anonymously using any of the bots Microsoft Entra application ids specified in AadApplicationIds, is shown in the meeting as an authenticated tenant entity. + + Boolean + + Boolean + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Bypass all non-fatal errors. + + + SwitchParameter + + + False + + + InMemory + + Create a provider object in memory without committing it to the service. + + + SwitchParameter + + + False + + + InstructionUri + + InstructionUri provides additional VTC dialin options. This field shows up in the Teams meeting when a CVI enabled user schedules a meeting. This TenantKey is used to dial into the partner's IVR for the partner CVI service. The partner will provide you this information when you sign up for CVI service through any of our partners + + String + + String + + + None + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + TenantKey + + Tenantkey shows up in the Teams meeting when a CVI enabled user schedules a meeting. This TenantKey is used to dial into the partner's IVR for the partner CVI service. The partner will provide you this information when you sign up for CVI service through any of our partners. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + New-CsVideoInteropServiceProvider + + AadApplicationIds + + This is an optional parameter. A semicolon separated list of Microsoft Entra AppIds of the CVI partner bots can be specified in this parameter. This parameter works in conjunction with AllowAppGuestJoinsAsAuthenticated. When AllowAppGuestJoinsAsAuthenticated is set to true, a VTC device joining anonymously using any of these bots, is shown in the meeting as an authenticated tenant entity. + + String + + String + + + None + + + AllowAppGuestJoinsAsAuthenticated + + This is an optional parameter. Default = false. This parameter works in conjunction with AadApplicationIds. When AllowAppGuestJoinsAsAuthenticated is set to true, a VTC device joining anonymously using any of the bots Microsoft Entra application ids specified in AadApplicationIds, is shown in the meeting as an authenticated tenant entity. + + Boolean + + Boolean + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Bypass all non-fatal errors. + + + SwitchParameter + + + False + + + InMemory + + Create a provider object in memory without committing it to the service. + + + SwitchParameter + + + False + + + InstructionUri + + InstructionUri provides additional VTC dialin options. This field shows up in the Teams meeting when a CVI enabled user schedules a meeting. This TenantKey is used to dial into the partner's IVR for the partner CVI service. The partner will provide you this information when you sign up for CVI service through any of our partners + + String + + String + + + None + + + Name + + This is mandatory parameter and can have only one of the 4 values + Polycom BlueJeans Pexip Cisco + + String + + String + + + DefaultProvider + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + TenantKey + + Tenantkey shows up in the Teams meeting when a CVI enabled user schedules a meeting. This TenantKey is used to dial into the partner's IVR for the partner CVI service. The partner will provide you this information when you sign up for CVI service through any of our partners. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + AadApplicationIds + + This is an optional parameter. A semicolon separated list of Microsoft Entra AppIds of the CVI partner bots can be specified in this parameter. This parameter works in conjunction with AllowAppGuestJoinsAsAuthenticated. When AllowAppGuestJoinsAsAuthenticated is set to true, a VTC device joining anonymously using any of these bots, is shown in the meeting as an authenticated tenant entity. + + String + + String + + + None + + + AllowAppGuestJoinsAsAuthenticated + + This is an optional parameter. Default = false. This parameter works in conjunction with AadApplicationIds. When AllowAppGuestJoinsAsAuthenticated is set to true, a VTC device joining anonymously using any of the bots Microsoft Entra application ids specified in AadApplicationIds, is shown in the meeting as an authenticated tenant entity. + + Boolean + + Boolean + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + Bypass all non-fatal errors. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + This is mandatory parameter and can have only one of the 6 values PolycomServiceProviderEnabled PexipServiceProviderEnabled BlueJeansServiceProviderEnabled + PolycomServiceProviderDisabled PexipServiceProviderDisabled BlueJeansServiceProviderDisabled + + XdsGlobalRelativeIdentity + + XdsGlobalRelativeIdentity + + + None + + + InMemory + + Create a provider object in memory without committing it to the service. + + SwitchParameter + + SwitchParameter + + + False + + + InstructionUri + + InstructionUri provides additional VTC dialin options. This field shows up in the Teams meeting when a CVI enabled user schedules a meeting. This TenantKey is used to dial into the partner's IVR for the partner CVI service. The partner will provide you this information when you sign up for CVI service through any of our partners + + String + + String + + + None + + + Name + + This is mandatory parameter and can have only one of the 4 values + Polycom BlueJeans Pexip Cisco + + String + + String + + + DefaultProvider + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + TenantKey + + Tenantkey shows up in the Teams meeting when a CVI enabled user schedules a meeting. This TenantKey is used to dial into the partner's IVR for the partner CVI service. The partner will provide you this information when you sign up for CVI service through any of our partners. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> New-CsVideoInteropServiceProvider + + {{ Add example description here }} + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csvideointeropserviceprovider + + + + + + New-CsVoiceNormalizationRule + New + CsVoiceNormalizationRule + + Creates a new voice normalization rule. + Voice normalization rules are used to convert a telephone dialing requirement (for example, dialing 9 to access an outside line) to the E.164 phone number format used by Skype for Business Server or Microsoft Teams. + This cmdlet was introduced in Lync Server 2010. + + + + This cmdlet creates a named voice normalization rule. These rules are a required part of phone authorization and call routing. They define the requirements for converting (or translating) numbers from an internal format to a standard (E.164) format. An understanding of regular expressions is helpful in order to define number patterns that will be translated. + For Lync or Skype for Business Server, rules that are created by using this cmdlet are part of the dial plan and in addition to being accessible through the `Get-CsVoiceNormalizationRule` cmdlet can also be accessed through the NormalizationRules property returned by a call to the `Get-CsDialPlan` cmdlet. You cannot create a normalization rule unless a dial plan with an Identity matching the scope specified in the normalization rule Identity already exists. For example, you can't create a normalization rule with the Identity site:Redmond/RedmondNormalizationRule unless a dial plan for site:Redmond already exists. + For Microsoft Teams, rules that are created by using this cmdlet can only be created with the InMemory switch and should be added to a tenant dial plan using the `New-CsTenantDialPlan` or `Set-CsTenantDialPlan` cmdlets. + + + + New-CsVoiceNormalizationRule + + Identity + + A unique identifier for the rule. The Identity specified must include the scope followed by a slash and then the name; for example: site:Redmond/Rule1, where site:Redmond is the scope and Rule1 is the name. The name portion will automatically be stored in the Name property. You cannot specify values for Identity and Name in the same command. + For Lync and Skype for Business Server, voice normalization rules can be created at the following scopes: global, site, service (Registrar and PSTNGateway only) and per user. A dial plan with an Identity matching the scope of the normalization rule must already exist before a new rule can be created. (To retrieve a list of dial plans, call the `Get-CsDialPlan` cmdlet.) + For Microsoft Teams, voice normalization rules can be created at the following scopes: global and tag. + The Identity parameter is required unless the Parent parameter is specified. You cannot include the Identity parameter and the Parent parameter in the same command. + + XdsIdentity + + XdsIdentity + + + None + + + Parent + + The scope at which the new normalization rule will be created. This value must be global; site:<sitename>, where <sitename> is the name of the Skype for Business Server site; PSTN gateway or Registrar service, such as PSTNGateway:redmond.litwareinc.com; or a string designating a per user rule. A dial plan with the specified scope must already exist or the command will fail. + The Parent parameter is required unless the Identity parameter is specified. You cannot include the Identity parameter and the Parent parameter in the same command. If you include the Parent parameter, the Name parameter is also required. + + String + + String + + + None + + + Description + + A friendly description of the normalization rule. + Maximum string length: 512 characters. + + String + + String + + + None + + + IsInternalExtension + + If True, the result of applying this rule will be a number internal to the organization. If False, applying the rule results in an external number. This value is ignored if the value of the OptimizeDeviceDialing property of the associated dial plan/tenant dial plan is set to False. + Default: False + + Boolean + + Boolean + + + None + + + Pattern + + A regular expression that the dialed number must match in order for this rule to be applied. + Default: ^(\d{11})$ (The default represents any set of numbers up to 11 digits.) + + String + + String + + + None + + + Priority + + The order in which rules are applied. A phone number might match more than one rule. This parameter sets the order in which the rules are tested against the number. + + Int32 + + Int32 + + + None + + + Translation + + The regular expression pattern that will be applied to the number to convert it to E.164 format. + Default: +$1 (The default prefixes the number with a plus sign [+].) + + String + + String + + + None + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes. + + + SwitchParameter + + + False + + + InMemory + + Creates an object reference without actually committing the object as a permanent change. + For Lync or Skype for Business Server, if you assign the output of this cmdlet called with this parameter to a variable, you can make changes to the properties of the object reference and then commit those changes by calling this cmdlet's matching Set-<cmdlet>. + + + SwitchParameter + + + False + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before executing the command. + + + SwitchParameter + + + False + + + Tenant + + For internal Microsoft usage. + + Guid + + Guid + + + None + + + + New-CsVoiceNormalizationRule + + Name + + The name of the rule. This parameter is required if a value has been specified for the Parent parameter. If no value has been specified for the Parent parameter, Name defaults to the name specified in the Identity parameter. For example, if a rule is created with the Identity site:Redmond/RedmondRule, the Name will default to RedmondRule. The Name parameter and the Identity parameter cannot be used in the same command. + + String + + String + + + None + + + Parent + + The scope at which the new normalization rule will be created. This value must be global; site:<sitename>, where <sitename> is the name of the Skype for Business Server site; PSTN gateway or Registrar service, such as PSTNGateway:redmond.litwareinc.com; or a string designating a per user rule. A dial plan with the specified scope must already exist or the command will fail. + The Parent parameter is required unless the Identity parameter is specified. You cannot include the Identity parameter and the Parent parameter in the same command. If you include the Parent parameter, the Name parameter is also required. + + String + + String + + + None + + + Description + + A friendly description of the normalization rule. + Maximum string length: 512 characters. + + String + + String + + + None + + + IsInternalExtension + + If True, the result of applying this rule will be a number internal to the organization. If False, applying the rule results in an external number. This value is ignored if the value of the OptimizeDeviceDialing property of the associated dial plan/tenant dial plan is set to False. + Default: False + + Boolean + + Boolean + + + None + + + Pattern + + A regular expression that the dialed number must match in order for this rule to be applied. + Default: ^(\d{11})$ (The default represents any set of numbers up to 11 digits.) + + String + + String + + + None + + + Priority + + The order in which rules are applied. A phone number might match more than one rule. This parameter sets the order in which the rules are tested against the number. + + Int32 + + Int32 + + + None + + + Translation + + The regular expression pattern that will be applied to the number to convert it to E.164 format. + Default: +$1 (The default prefixes the number with a plus sign [+].) + + String + + String + + + None + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes. + + + SwitchParameter + + + False + + + InMemory + + Creates an object reference without actually committing the object as a permanent change. + For Lync or Skype for Business Server, if you assign the output of this cmdlet called with this parameter to a variable, you can make changes to the properties of the object reference and then commit those changes by calling this cmdlet's matching Set-<cmdlet>. + + + SwitchParameter + + + False + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before executing the command. + + + SwitchParameter + + + False + + + Tenant + + For internal Microsoft usage. + + Guid + + Guid + + + None + + + + + + Identity + + A unique identifier for the rule. The Identity specified must include the scope followed by a slash and then the name; for example: site:Redmond/Rule1, where site:Redmond is the scope and Rule1 is the name. The name portion will automatically be stored in the Name property. You cannot specify values for Identity and Name in the same command. + For Lync and Skype for Business Server, voice normalization rules can be created at the following scopes: global, site, service (Registrar and PSTNGateway only) and per user. A dial plan with an Identity matching the scope of the normalization rule must already exist before a new rule can be created. (To retrieve a list of dial plans, call the `Get-CsDialPlan` cmdlet.) + For Microsoft Teams, voice normalization rules can be created at the following scopes: global and tag. + The Identity parameter is required unless the Parent parameter is specified. You cannot include the Identity parameter and the Parent parameter in the same command. + + XdsIdentity + + XdsIdentity + + + None + + + Name + + The name of the rule. This parameter is required if a value has been specified for the Parent parameter. If no value has been specified for the Parent parameter, Name defaults to the name specified in the Identity parameter. For example, if a rule is created with the Identity site:Redmond/RedmondRule, the Name will default to RedmondRule. The Name parameter and the Identity parameter cannot be used in the same command. + + String + + String + + + None + + + Parent + + The scope at which the new normalization rule will be created. This value must be global; site:<sitename>, where <sitename> is the name of the Skype for Business Server site; PSTN gateway or Registrar service, such as PSTNGateway:redmond.litwareinc.com; or a string designating a per user rule. A dial plan with the specified scope must already exist or the command will fail. + The Parent parameter is required unless the Identity parameter is specified. You cannot include the Identity parameter and the Parent parameter in the same command. If you include the Parent parameter, the Name parameter is also required. + + String + + String + + + None + + + Description + + A friendly description of the normalization rule. + Maximum string length: 512 characters. + + String + + String + + + None + + + IsInternalExtension + + If True, the result of applying this rule will be a number internal to the organization. If False, applying the rule results in an external number. This value is ignored if the value of the OptimizeDeviceDialing property of the associated dial plan/tenant dial plan is set to False. + Default: False + + Boolean + + Boolean + + + None + + + Pattern + + A regular expression that the dialed number must match in order for this rule to be applied. + Default: ^(\d{11})$ (The default represents any set of numbers up to 11 digits.) + + String + + String + + + None + + + Priority + + The order in which rules are applied. A phone number might match more than one rule. This parameter sets the order in which the rules are tested against the number. + + Int32 + + Int32 + + + None + + + Translation + + The regular expression pattern that will be applied to the number to convert it to E.164 format. + Default: +$1 (The default prefixes the number with a plus sign [+].) + + String + + String + + + None + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes. + + SwitchParameter + + SwitchParameter + + + False + + + InMemory + + Creates an object reference without actually committing the object as a permanent change. + For Lync or Skype for Business Server, if you assign the output of this cmdlet called with this parameter to a variable, you can make changes to the properties of the object reference and then commit those changes by calling this cmdlet's matching Set-<cmdlet>. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + For internal Microsoft usage. + + Guid + + Guid + + + None + + + + + + + + + None. + + + + + + + + + + This cmdlet creates an object of type Microsoft.Rtc.Management.WritableConfig.Policy.Voice.NormalizationRule. + + + + + + + + + + + -------------------------- Example 1 -------------------------- + New-CsVoiceNormalizationRule -Identity "site:Redmond/Prefix Redmond" + + This example creates a new voice normalization rule for site Redmond named Prefix Redmond. Because no other parameters are specified, the rule is created with the default values. Notice that the value passed to the Identity parameter is in double quotes; this is because the name of the rule (Prefix Redmond) contains a space. If the rule name does not contain a space you don't need to enclose the Identity in double quotes. + Keep in mind that a dial plan for the Redmond site must exist for this command to succeed. You can create a new dial plan by calling the `New-CsDialPlan` cmdlet. + + + + -------------------------- Example 2 -------------------------- + New-CsVoiceNormalizationRule -Parent SeattleUser -Name SeattleFourDigit -Description "Dialing with internal four-digit extension" -Pattern '^(\d{4})$' -Translation '+1206555$1' + + This example creates a new voice normalization rule named SeattleFourDigit that applies to the per-user dial plan with the Identity SeattleUser. (Note: Rather than specifying a Parent and a Name, we could have instead created this same rule by specifying -Identity SeattleUser/SeattleFourDigit.) We've included a Description explaining that this rule is for translating numbers dialed internally with only a 4-digit extension. In addition, Pattern and Translation values have been specified. These values translate a four-digit number (specified by the regular expression in the Pattern) to the same four-digit number, but prefixed by the Translation value (+1206555). For example, if the extension 1234 was entered, this rule would translate that extension to the number +12065551234. + Note the single quotes around the Pattern and Translation values. Single quotes are required for these values; double quotes (or no quotes) will not work in this instance. + As in Example 1, a dial plan with the given scope must exist. In this case, that means a dial plan with the Identity SeattleUser must already exist. + + + + -------------------------- Example 3 -------------------------- + $nr1=New-CsVoiceNormalizationRule -Identity dp1/nr1 -Description "Dialing with internal four-digit extension" -Pattern '^(\d{4})$' -Translation '+1206555$1' -InMemory +New-CsTenantDialPlan -Identity DP1 -NormalizationRules @{Add=$nr1} + + This example creates a new in-memory voice normalization rule and then adds it to a new tenant dial plan DP1 to be used for Microsoft Teams users. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/new-csvoicenormalizationrule + + + Test-CsVoiceNormalizationRule + + + + Get-CsDialPlan + + + + New-CsTenantDialPlan + + + + Set-CsTenantDialPlan + + + + + + + Register-CsOnlineDialInConferencingServiceNumber + Register + CsOnlineDialInConferencingServiceNumber + + When you buy Audio Conferencing licenses, Microsoft is hosting your audio conferencing bridge for your organization. The audio conferencing bridge gives out dial-in phone numbers from different locations so that meeting organizers and participants can use them to join Microsoft Teams meetings using a phone. In addition to the phone numbers already assigned to your conferencing bridge, you can get additional service numbers (toll and toll-free numbers used for audio conferencing) from other locations, and then assign them to the conferencing bridge so you can expand coverage for your users. The Register-CsOnlineDialInConferencingServiceNumber command allows you to assign any additional service number that you may have acquired to your conference bridge. + + + + The Register-CsOnlineDialInConferencingServiceNumber command allows you to assign any additional service number that you may have acquired to your conference bridge. + + + + Register-CsOnlineDialInConferencingServiceNumber + + Identity + + PARAMVALUE: String + + String + + String + + + None + + + Instance + + PARAMVALUE: ConferencingServiceNumber + + ConferencingServiceNumber + + ConferencingServiceNumber + + + None + + + BridgeId + + PARAMVALUE: Guid + + Guid + + Guid + + + None + + + BridgeName + + PARAMVALUE: String + + String + + String + + + None + + + DomainController + + PARAMVALUE: Fqdn + + Fqdn + + Fqdn + + + None + + + Force + + PARAMVALUE: SwitchParameter + + + SwitchParameter + + + False + + + Tenant + + PARAMVALUE: Guid + + Guid + + Guid + + + None + + + TenantDomain + + PARAMVALUE: String + + String + + String + + + None + + + + + + Identity + + PARAMVALUE: String + + String + + String + + + None + + + Instance + + PARAMVALUE: ConferencingServiceNumber + + ConferencingServiceNumber + + ConferencingServiceNumber + + + None + + + BridgeId + + PARAMVALUE: Guid + + Guid + + Guid + + + None + + + BridgeName + + PARAMVALUE: String + + String + + String + + + None + + + DomainController + + PARAMVALUE: Fqdn + + Fqdn + + Fqdn + + + None + + + Force + + PARAMVALUE: SwitchParameter + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + PARAMVALUE: Guid + + Guid + + Guid + + + None + + + TenantDomain + + PARAMVALUE: String + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Register-CsOnlineDialinConferencingServiceNumber -Identity +1425555XXX -BridgeId fb91u3e9-5c2a-42c3-8yy5-ec02beexxx09 + + This command registers the telephone number +1425555XXX to your conference bridge. To find the bridge ID associated with your conference bridge you can use the command Get-CsOnlineDialInConferencingBridge. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/register-csonlinedialinconferencingservicenumber + + + + + + Remove-CsApplicationAccessPolicy + Remove + CsApplicationAccessPolicy + + Deletes an existing application access policy. + + + + This cmdlet deletes an existing application access policy. + + + + Remove-CsApplicationAccessPolicy + + Identity + + Unique identifier assigned to the policy when it was created. + + XdsIdentity + + XdsIdentity + + + None + + + + + + Identity + + Unique identifier assigned to the policy when it was created. + + XdsIdentity + + XdsIdentity + + + None + + + + + + + + + + + + ------------- Remove an application access policy ------------- + PS C:\> Remove-CsApplicationAccessPolicy -Identity "ASimplePolicy" + + The command shown above deletes the application access policy ASimplePolicy. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csapplicationaccesspolicy + + + New-CsApplicationAccessPolicy + + + + Grant-CsApplicationAccessPolicy + + + + Get-CsApplicationAccessPolicy + + + + Set-CsApplicationAccessPolicy + + + + + + + Remove-CsAutoAttendant + Remove + CsAutoAttendant + + Use the Remove-CsAutoAttendant cmdlet to delete an Auto Attendant (AA). + > [!NOTE] > Remove any associated resource accounts with Remove-CsOnlineApplicationInstanceAssociation (Remove-CsOnlineApplicationInstanceAssociation.md) before attempting to delete the Auto Attendant (AA). + + + + The Remove-CsAutoAttendant cmdlet deletes an AA that is specified by the Identity parameter. + + + + Remove-CsAutoAttendant + + Identity + + The identity for the AA to be removed. + + System.String + + System.String + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + Identity + + The identity for the AA to be removed. + + System.String + + System.String + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + String + + + The Remove-CsAutoAttendant cmdlet accepts a string as the Identity parameter. + + + + + + + None + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Remove-CsAutoAttendant -Identity "fa9081d6-b4f3-5c96-baec-0b00077709e5" + + This example deletes the AA that has an identity of fa9081d6-b4f3-5c96-baec-0b00077709e5. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csautoattendant + + + New-CsAutoAttendant + + + + Get-CsAutoAttendant + + + + Set-CsAutoAttendant + + + + + + + Remove-CsCallingLineIdentity + Remove + CsCallingLineIdentity + + Use the `Remove-CsCallingLineIdentity` cmdlet to remove a Caller ID policy from your organization. + + + + This cmdlet will remove a Caller ID policy from your organization or resets the Global policy instance to the default values. + + + + Remove-CsCallingLineIdentity + + Identity + + The Identity parameter identifies the Caller ID policy. + + String + + String + + + None + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + + SwitchParameter + + + False + + + Confirm + + The Confirm switch causes the command to pause processing, and requires confirmation to proceed. + + + SwitchParameter + + + False + + + + + + Identity + + The Identity parameter identifies the Caller ID policy. + + String + + String + + + None + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + The Confirm switch causes the command to pause processing, and requires confirmation to proceed. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Remove-CsCallingLineIdentity -Identity Anonymous + + This example removes a Caller ID policy. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-cscallinglineidentity + + + Get-CsCallingLineIdentity + + + + Grant-CsCallingLineIdentity + + + + New-CsCallingLineIdentity + + + + Set-CsCallingLineIdentity + + + + + + + Remove-CsCallQueue + Remove + CsCallQueue + + The Remove-CsCallQueue cmdlet deletes an existing Call Queue. + + + + The Remove-CsCallQueue cmdlet deletes an existing Call Queue specified by the Identity parameter. The removal will fail if there are any ApplicationInstances still associated with the Call Queue. + + + + Remove-CsCallQueue + + Identity + + PARAMVALUE: Guid + + Guid + + Guid + + + None + + + Tenant + + PARAMVALUE: Guid + + Guid + + Guid + + + None + + + + + + Identity + + PARAMVALUE: Guid + + Guid + + Guid + + + None + + + Tenant + + PARAMVALUE: Guid + + Guid + + Guid + + + None + + + + + + Identity + + + Represents the unique identifier of a Call Queue. + + + + + + + Microsoft.Rtc.Management.Hosted.CallQueue.Models.CallQueue + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Remove-CsCallQueue -Identity 5e3a575e-1faa-49ff-83c2-5cf1c36c0e01 + + This example removes the Call Queue with the identity 5e3a575e-1faa-49ff-83c2-5cf1c36c0e01. If no Call Queue exists with the identity 5e3a575e-1faa-49ff-83c2-5cf1c36c0e01, then this example generates an error. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-cscallqueue + + + + + + Remove-CsCustomPolicyPackage + Remove + CsCustomPolicyPackage + + This cmdlet deletes a custom policy package. + + + + This cmdlet deletes a custom policy package. All available package names can be found by running Get-CsPolicyPackage. + + + + Remove-CsCustomPolicyPackage + + Identity + + The name of the custom package. + + String + + String + + + None + + + + + + Identity + + The name of the custom package. + + String + + String + + + None + + + + + + + Default packages created by Microsoft cannot be deleted. + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Remove-CsCustomPolicyPackage -Identity "MyPackage" + + Deletes a custom package named "MyPackage". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-cscustompolicypackage + + + Get-CsPolicyPackage + + + + New-CsCustomPolicyPackage + + + + Update-CsCustomPolicyPackage + + + + + + + Remove-CsGroupPolicyAssignment + Remove + CsGroupPolicyAssignment + + This cmdlet is used to remove a group policy assignment. + + + + This cmdlet removes the policy of a specific type from a group. A group can only be assigned one policy of a given type, so the name of the policy to be removed does not need to be specified. + When a policy assignment is removed from a group, any other group policy assignments of the same type that have lower rank will be updated. For example, if the policy assignment with rank 2 is removed, then the rank 3 and 4 policy assignments will be updated to rank 2 and 3 respectively. + + + + Remove-CsGroupPolicyAssignment + + GroupId + + The ID of the group from which the assignment will be removed. + + String + + String + + + None + + + PolicyType + + The policy type of the assignment to be removed from the group. + + String + + String + + + None + + + Break + + Wait for .NET debugger to attach + + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + PassThru + + Returns true when the command succeeds + + + SwitchParameter + + + False + + + Proxy + + The URI for the proxy server to use + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + GroupId + + The ID of the group from which the assignment will be removed. + + String + + String + + + None + + + PolicyType + + The policy type of the assignment to be removed from the group. + + String + + String + + + None + + + Break + + Wait for .NET debugger to attach + + SwitchParameter + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + PassThru + + Returns true when the command succeeds + + SwitchParameter + + SwitchParameter + + + False + + + Proxy + + The URI for the proxy server to use + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + + + + -------------------------- EXAMPLE 1 -------------------------- + Get-CsGroupPolicyAssignment -PolicyType TeamsMeetingPolicy + +GroupId PolicyType PolicyName Rank CreatedTime CreatedBy +------- ---------- ---------- ---- ----------- --------- +d8ebfa45-0f28-4d2d-9bcc-b158a49e2d17 TeamsMeetingPolicy AllOn 1 10/29/2019 3:57:27 AM aeb7c0e7-2f6d-43ef-bf33-bfbcb93fdc64 +e050ce51-54bc-45b7-b3e6-c00343d31274 TeamsMeetingPolicy AllOff 2 11/2/2019 12:20:41 AM aeb7c0e7-2f6d-43ef-bf33-bfbcb93fdc64 +566b8d39-5c5c-4aaa-bc07-4f36278a1b38 TeamsMeetingPolicy Kiosk 3 11/2/2019 12:14:41 AM aeb7c0e7-2f6d-43ef-bf33-bfbcb93fdc64 + +Remove-CsGroupPolicyAssignment -GroupId e050ce51-54bc-45b7-b3e6-c00343d31274 -PolicyType TeamsMeetingPolicy + +Get-CsGroupPolicyAssignment -PolicyType TeamsMeetingPolicy + +GroupId PolicyType PolicyName Rank CreatedTime CreatedBy +------- ---------- ---------- ---- ----------- --------- +d8ebfa45-0f28-4d2d-9bcc-b158a49e2d17 TeamsMeetingPolicy AllOn 1 10/29/2019 3:57:27 AM aeb7c0e7-2f6d-43ef-bf33-bfbcb93fdc64 +566b8d39-5c5c-4aaa-bc07-4f36278a1b38 TeamsMeetingPolicy Kiosk 2 11/2/2019 12:14:41 AM aeb7c0e7-2f6d-43ef-bf33-bfbcb93fdc64 + + In this example, the policy assignment with rank 2 is removed. As a result, the policy assignment with rank 3 is updated to rank 2. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csgrouppolicyassignment + + + New-CsGroupPolicyAssignment + + + + Get-CsGroupPolicyAssignment + + + + Set-CsGroupPolicyAssignment + + + + + + + Remove-CsHybridTelephoneNumber + Remove + CsHybridTelephoneNumber + + This cmdlet removes a hybrid telephone number. + + + + This cmdlet removes a hybrid telephone number used for Audio Conferencing with Direct Routing for GCC High and DoD clouds. + + + + Remove-CsHybridTelephoneNumber + + TelephoneNumber + + The telephone number to remove. The number should be specified without a prefixed "+". The phone number can't have "tel:" prefixed. + + System.String + + System.String + + + None + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + TelephoneNumber + + The telephone number to remove. The number should be specified without a prefixed "+". The phone number can't have "tel:" prefixed. + + System.String + + System.String + + + None + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + None + + + + + + + + + The cmdlet is only available in GCC High and DoD cloud instances. + + + + + -------------------------- Example 1 -------------------------- + Remove-CsHybridTelephoneNumber -TelephoneNumber 14025551234 + + This example removes the hybrid phone number +1 (402) 555-1234. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-cshybridtelephonenumber + + + New-CsHybridTelephoneNumber + + + + Get-CsHybridTelephoneNumber + + + + + + + Remove-CsInboundBlockedNumberPattern + Remove + CsInboundBlockedNumberPattern + + Removes a blocked number pattern from the tenant list. + + + + This cmdlet removes a blocked number pattern from the tenant list. + + + + Remove-CsInboundBlockedNumberPattern + + Identity + + A unique identifier specifying the blocked number pattern to be removed. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Identity + + A unique identifier specifying the blocked number pattern to be removed. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS> Remove-CsInboundBlockedNumberPattern -Identity "BlockAutomatic" + + This example removes a blocked number pattern identified as "BlockAutomatic". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csinboundblockednumberpattern + + + New-CsInboundBlockedNumberPattern + + + + Set-CsInboundBlockedNumberPattern + + + + Get-CsInboundBlockedNumberPattern + + + + + + + Remove-CsInboundExemptNumberPattern + Remove + CsInboundExemptNumberPattern + + Removes a number pattern exempt from call blocking. + + + + This cmdlet removes a specific exempt number pattern from the tenant list for call blocking. + + + + Remove-CsInboundExemptNumberPattern + + Identity + + Unique identifier for the exempt number pattern to be listed. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Identity + + Unique identifier for the exempt number pattern to be listed. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + You can use Test-CsInboundBlockedNumberPattern to test your call block and exempt phone number ranges. + + + + + -------------------------- Example 1 -------------------------- + PS>Remove-CsInboundExemptNumberPattern -Identity "Exempt1" + + This removes the exempt number patterns with Identity Exempt1. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csinboundexemptnumberpattern + + + New-CsInboundExemptNumberPattern + + + + Set-CsInboundExemptNumberPattern + + + + Get-CsInboundExemptNumberPattern + + + + Test-CsInboundBlockedNumberPattern + + + + Get-CsTenantBlockedCallingNumbers + + + + + + + Remove-CsOnlineApplicationInstanceAssociation + Remove + CsOnlineApplicationInstanceAssociation + + Use the Remove-CsOnlineApplicationInstanceAssociation cmdlet to remove the association between an application instance and the associated application configuration. + + + + Use the Remove-CsOnlineApplicationInstanceAssociation cmdlet to remove the association between an application instance and the associated application configuration. + This is useful when you want to associate this application instance with another application configuration for handling incoming calls. + + + + Remove-CsOnlineApplicationInstanceAssociation + + Identities + + The identities for the application instances whose configuration associations are to be removed. + + System.String + + System.String + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + Identities + + The identities for the application instances whose configuration associations are to be removed. + + System.String + + System.String + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + System.String[] + + + The Remove-CsOnlineApplicationInstanceAssociation cmdlet accepts a string array as the Identities parameter. + + + + + + + Microsoft.Rtc.Management.Hosted.Online.Models.AssociationOperationOutput + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Remove-CsOnlineApplicationInstanceAssociation -Identities "f7a821dc-2d69-5ae8-8525-bcb4a4556093" + + This example removes the configuration association for the application instance that has the identity of "f7a821dc-2d69-5ae8-8525-bcb4a4556093". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csonlineapplicationinstanceassociation + + + Get-CsOnlineApplicationInstanceAssociation + + + + Get-CsOnlineApplicationInstanceAssociationStatus + + + + New-CsOnlineApplicationInstanceAssociation + + + + + + + Remove-CsOnlineAudioFile + Remove + CsOnlineAudioFile + + Marks an audio file of application type TenantGlobal for deletion and later removal (within 24 hours). + + + + This cmdlet marks an audio file of application type TenantGlobal for deletion and later removal. + + + + Remove-CsOnlineAudioFile + + Identity + + The Id of the specific audio file that you would like to mark for deletion. + + System.String + + System.String + + + None + + + + + + Identity + + The Id of the specific audio file that you would like to mark for deletion. + + System.String + + System.String + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + Please note that using this cmdlet on other application types like OrgAutoAttendant and HuntGroup does not mark the audio file for deletion. These kinds of audio files will automatically be deleted, when + the corresponding Auto Attendant or Call Queue is deleted. + The cmdlet is available in Teams PS module 2.4.0-preview or later. + + + + + -------------------------- Example 1 -------------------------- + Remove-CsOnlineAudioFile -Identity dcfcc31daa9246f29d94d0a715ef877e + + This cmdlet marks the audio file with Id dcfcc31daa9246f29d94d0a715ef877e for deletion and later removal. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csonlineaudiofile + + + Export-CsOnlineAudioFile + + + + Get-CsOnlineAudioFile + + + + Import-CsOnlineAudioFile + + + + + + + Remove-CsOnlineDialInConferencingTenantSettings + Remove + CsOnlineDialInConferencingTenantSettings + + Use the `Remove-CsOnlineDialInConferencingTenantSettings` cmdlet to revert the tenant level dial-in conferencing settings to their original defaults. + + + + There is always a single instance of the dial-in conferencing settings per tenant. You can modify the settings using `Set-CsOnlineDialInConferencingTenantSettings` and revert those settings to their defaults by using `Remove-CsOnlineDialInConferencingTenantSettings`. + + + + Remove-CsOnlineDialInConferencingTenantSettings + + Identity + + This parameter is reserved for internal Microsoft use. + + XdsIdentity + + XdsIdentity + + + None + + + Confirm + + The Confirm switch causes the command to pause processing and requires confirmation to proceed. + + + SwitchParameter + + + False + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + + SwitchParameter + + + False + + + + + + Identity + + This parameter is reserved for internal Microsoft use. + + XdsIdentity + + XdsIdentity + + + None + + + Confirm + + The Confirm switch causes the command to pause processing and requires confirmation to proceed. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + None + + + + + + + + + + None + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Remove-CsOnlineDialInConferencingTenantSettings + + This example reverts the tenant level dial-in conferencing settings to their original defaults. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csonlinedialinconferencingtenantsettings + + + + + + Remove-CsOnlineLisCivicAddress + Remove + CsOnlineLisCivicAddress + + Use the Remove-CsOnlineLisCivicAddress cmdlet to delete an existing civic address from the Location Information Server (LIS). + You can't remove a civic address if any of its associated locations are assigned to users or phone numbers. + + + + Removes the specified emergency address or addresses. + + + + Remove-CsOnlineLisCivicAddress + + CivicAddressId + + Specifies the unique identifier of the civic address to be deleted. You can find civic address identifiers by using the Get-CsOnlineLisCivicAddress cmdlet. + + Guid + + Guid + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + + SwitchParameter + + + False + + + Confirm + + The Confirm switch causes the command to pause processing and requires confirmation to proceed. + + + SwitchParameter + + + False + + + + + + CivicAddressId + + Specifies the unique identifier of the civic address to be deleted. You can find civic address identifiers by using the Get-CsOnlineLisCivicAddress cmdlet. + + Guid + + Guid + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + The Confirm switch causes the command to pause processing and requires confirmation to proceed. + + SwitchParameter + + SwitchParameter + + + False + + + + + + This cmdlet accepts pipelined input from the Get-CsOnlineLisCivicAddress cmdlet. + + + + + + + + + + None + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Remove-CsOnlineLisCivicAddress -CivicAddressId ee38d9a5-33dc-4a32-9fb8-f234cedb91ac + + This example removes the emergency civic address with the specified identification. + + + + -------------------------- Example 2 -------------------------- + Get-CsOnlineLisCivicAddress -City Redmond | Remove-CsOnlineLisCivicAddress + + This example removes all the emergency civic addresses in the city of Redmond. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csonlineliscivicaddress + + + Set-CsOnlineLisCivicAddress + + + + New-CsOnlineLisCivicAddress + + + + Get-CsOnlineLisCivicAddress + + + + + + + Remove-CsOnlineLisLocation + Remove + CsOnlineLisLocation + + Use the Remove-CsOnlineLisLocation cmdlet to remove an existing emergency location from the Location Information Service (LIS). + You can only remove locations that have no assigned users or phone numbers. You can't remove the default location, you will have to delete the associated civic address which will delete the default location. + + + + If the location specified for removal is assigned to users, the cmdlet will fail until the users assignments are removed. + + + + Remove-CsOnlineLisLocation + + LocationId + + Specifies the unique identifier of the location to be deleted. Location identities can be discovered by using the Get-CsOnlineLisLocation cmdlet. + + Guid + + Guid + + + None + + + Confirm + + The Confirm switch causes the command to pause processing and requires confirmation to proceed. + + + SwitchParameter + + + False + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + + SwitchParameter + + + False + + + + + + LocationId + + Specifies the unique identifier of the location to be deleted. Location identities can be discovered by using the Get-CsOnlineLisLocation cmdlet. + + Guid + + Guid + + + None + + + Confirm + + The Confirm switch causes the command to pause processing and requires confirmation to proceed. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + SwitchParameter + + SwitchParameter + + + False + + + + + + This cmdlet supports pipelined input from the Get-CsOnlineLisLocation cmdlet. + + + + + + + + + + None + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Remove-CsOnlineLisLocation -LocationId 788dd820-c136-4255-9f61-24b880ad0763 + + This example removes the location specified by its identity. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csonlinelislocation + + + Set-CsOnlineLisLocation + + + + Get-CsOnlineLisLocation + + + + New-CsOnlineLisLocation + + + + + + + Remove-CsOnlineLisPort + Remove + CsOnlineLisPort + + Removes an association between a Location port and a location. This association is used in an Enhanced 9-1-1 (E9-1-1) Enterprise Voice implementation to notify an emergency services operator of the caller's location. + + + + Enhanced 9-1-1 allows an emergency operator to identify the location of a caller without having to ask the caller for that information. In the case where a caller is calling from a Voice over Internet Protocol (VoIP) connection, that information must be extracted based on various connection factors. The VoIP administrator must configure a location map (called a wiremap) that will determine a caller's location. This cmdlet removes an association between a physical location and a port through which calls will be routed by removing the port from the location configuration database. + Removing a port location will not remove the actual location of the port; it removes only the port. + + + + Remove-CsOnlineLisPort + + ChassisID + + The Media Access Control (MAC) address of the port's switch. This value will be in the form nn-nn-nn-nn-nn-nn, such as 12-34-56-78-90-ab. + + String + + String + + + None + + + PortID + + This parameter identifies the ID of the port. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + IsDebug + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + NCSApiUrl + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + TargetStore + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + ChassisID + + The Media Access Control (MAC) address of the port's switch. This value will be in the form nn-nn-nn-nn-nn-nn, such as 12-34-56-78-90-ab. + + String + + String + + + None + + + PortID + + This parameter identifies the ID of the port. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + IsDebug + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + NCSApiUrl + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + TargetStore + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.String + + + + + + + + System.String + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Remove-CsOnlineLisPort -PortID 12174 -ChassisID 0B-23-CD-16-AA-CC + + Example 1 removes the location information for port 12174 with ChassisID 0B-23-CD-16-AA-CC. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csonlinelisport + + + Set-CsOnlineLisPort + + + + Get-CsOnlineLisPort + + + + + + + Remove-CsOnlineLisSubnet + Remove + CsOnlineLisSubnet + + Removes a Location Information Server (LIS) subnet. + + + + Enhanced 9-1-1 (E9-1-1) allows an emergency operator to identify the location of a caller without having to ask the caller for that information. In the case where a caller is calling from a Voice over Internet Protocol (VoIP) connection, that information must be extracted based on various connection factors. The VoIP administrator must configure a location map (called a wiremap) that will determine a caller's location. This cmdlet removes a subnet from the location configuration database. Removing the subnet will not remove the location associated with that subnet. Use the `Remove-CsOnlineLisLocation` cmdlet to remove a location. + + + + Remove-CsOnlineLisSubnet + + TenantId + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + Subnet + + The IP address of the subnet. This value can be either IPv4 or IPv6 format. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + IsDebug + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + NCSApiUrl + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + TargetStore + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + IsDebug + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + NCSApiUrl + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + Subnet + + The IP address of the subnet. This value can be either IPv4 or IPv6 format. + + String + + String + + + None + + + TargetStore + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + TenantId + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.Guid + + + + + + + + System.String + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Remove-CsOnlineLisSubnet -Subnet 10.10.10.10 + + Example 1 removes the Location Information Service subnet "10.10.10.10". + + + + -------------------------- Example 2 -------------------------- + Remove-CsOnlineLisSubnet -Subnet 2001:4898:e8:6c:90d2:28d4:76a4:ec5e + + Example 1 removes the Location Information Service subnet "2001:4898:e8:6c:90d2:28d4:76a4:ec5e". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csonlinelissubnet + + + + + + Remove-CsOnlineLisSwitch + Remove + CsOnlineLisSwitch + + Removes a Location Information Server (LIS) network switch. + + + + Enhanced 9-1-1 (E9-1-1) allows an emergency operator to identify the location of a caller without having to ask the caller for that information. In the case where a caller is calling from a Voice over Internet Protocol (VoIP) connection, that information must be extracted based on various connection factors. The VoIP administrator must configure a location map (called a wiremap) that will determine a caller's location. This cmdlet removes a switch from the location configuration database. Removing a switch will not remove the actual location; it removes only the switch. To remove the location, call the `Remove-CsLisOnlineLocation` cmdlet. + + + + Remove-CsOnlineLisSwitch + + ChassisID + + The Media Access Control (MAC) address of the port's switch. This value will be in the form nn-nn-nn-nn-nn-nn, such as 12-34-56-78-90-ab. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + IsDebug + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + NCSApiUrl + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + TargetStore + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + ChassisID + + The Media Access Control (MAC) address of the port's switch. This value will be in the form nn-nn-nn-nn-nn-nn, such as 12-34-56-78-90-ab. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + IsDebug + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + NCSApiUrl + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + TargetStore + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.String + + + + + + + + System.String + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Remove-CsOnlineLisSwitch -ChassisID 0B-23-CD-16-AA-CC + + Example 1 removes the switch with Chassis ID "0B-23-CD-16-AA-CC". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csonlinelisswitch + + + Set-CsOnlineLisSwitch + + + + Get-CsOnlineLisSwitch + + + + + + + Remove-CsOnlineLisWirelessAccessPoint + Remove + CsOnlineLisWirelessAccessPoint + + Removes a Location Information Server (LIS) wireless access point (WAP). + + + + Enhanced 9-1-1 allows an emergency operator to identify the location of a caller without having to ask the caller for that information. In the case where a caller is calling from a Voice over Internet Protocol (VoIP) connection, that information must be extracted based on various connection factors. The VoIP administrator must configure a location map (called a wiremap) that will determine a caller's location. This cmdlet removes a WAP from the location configuration database. Removing the WAP will not remove the location associated with that WAP. Use the `Remove-CsLisOnlineLocation` cmdlet to remove a location. + The BSSID (Basic Service Set Identifiers) is used to describe sections of a wireless local area network. It is the MAC of the 802.11 side of the access point. The BSSID parameter in this command also supports the wildcard format to cover all BSSIDs in a range which are sharing the same description and Location ID. The wildcard '*' can be on either the last one or two character(s). + If a BSSID with wildcard format is already exists, the request for removing a single BSSID which is within this wildcard range and with the same location ID will not be accepted. + + + + Remove-CsOnlineLisWirelessAccessPoint + + BSSID + + The Basic Service Set Identifier (BSSID) of the wireless access point. This value must be in the form nn-nn-nn-nn-nn-nn, such as 12-34-56-78-90-ab. It can be presented in wildcard format. The wildcard '*' can be on either the last one or two character(s). + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + IsDebug + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + NCSApiUrl + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + TargetStore + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + BSSID + + The Basic Service Set Identifier (BSSID) of the wireless access point. This value must be in the form nn-nn-nn-nn-nn-nn, such as 12-34-56-78-90-ab. It can be presented in wildcard format. The wildcard '*' can be on either the last one or two character(s). + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + IsDebug + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + NCSApiUrl + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + TargetStore + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.String + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Remove-CsOnlineLisWirelessAccessPoint -BSSID F0-6E-0B-C2-03-23 + + Example 1 removes the Location Information Server (LIS) wireless access point with BSS ID "F0-6E-0B-C2-03-23". + + + + -------------------------- Example 2 -------------------------- + Remove-CsOnlineLisWirelessAccessPoint -BSSID F0-6E-0B-C2-04-* + + Example 2 removes the Location Information Server (LIS) wireless access point with BSS ID "F0-6E-0B-C2-04-*". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csonlineliswirelessaccesspoint + + + Set-CsOnlineLisWirelessAccessPoint + + + + Get-CsOnlineLisWirelessAccessPoint + + + + + + + Remove-CsOnlinePSTNGateway + Remove + CsOnlinePSTNGateway + + Removes the configuration of the previously defined Session Border Controller(s) (SBC(s)) that describes the settings for the peer entity. This cmdlet was introduced with Microsoft Phone System Direct Routing. + + + + Use this cmdlet to remove the configuration of the previously created Session Border Controller(s) (SBC(s)) configuration. Note the SBC must be removed from all voice routes before executing this cmdlet. + + + + Remove-CsOnlinePSTNGateway + + Identity + + The parameter is mandatory for the cmdlet. The Identity is the same as the SBC FQDN. + + String + + String + + + None + + + + + + Identity + + The parameter is mandatory for the cmdlet. The Identity is the same as the SBC FQDN. + + String + + String + + + None + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Remove-CsOnlinePSTNGateway -Identity sbc.contoso.com + + This example removes SBC with Identity (and FQDN) sbc.contoso.com. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csonlinepstngateway + + + Set-CsOnlinePSTNGateway + + + + New-CsOnlinePSTNGateway + + + + Get-CsOnlinePSTNGateway + + + + + + + Remove-CsOnlineSchedule + Remove + CsOnlineSchedule + + Use the Remove-CsOnlineSchedule cmdlet to remove a schedule. + + + + The Remove-CsOnlineSchedule cmdlet deletes a schedule that is specified by using the Id parameter. + + + + Remove-CsOnlineSchedule + + Id + + The Id for the schedule to be removed. + + System.String + + System.String + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + Id + + The Id for the schedule to be removed. + + System.String + + System.String + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + System.String + + + The Remove-CsOnlineSchedule cmdlet accepts a string as the Id parameter. + + + + + + + System.Void + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Remove-CsOnlineSchedule -Id "fa9081d6-b4f3-5c96-baec-0b00077709e5" + + This example deletes the schedule that has an Id of fa9081d6-b4f3-5c96-baec-0b00077709e5. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csonlineschedule + + + New-CsOnlineSchedule + + + + Set-CsOnlineSchedule + + + + + + + Remove-CsOnlineVoiceRoute + Remove + CsOnlineVoiceRoute + + Removes an online voice route. Online voice routes contain instructions that tell Skype for Business Online how to route calls from Office 365 users to phone numbers on the public switched telephone network (PSTN) or a private branch exchange (PBX). + + + + Use this cmdlet to remove an existing online voice route. Online voice routes are associated with online voice policies through online PSTN usages, so removing an online voice route does not change any values relating to an online voice policy, it simply changes the routing for the numbers that had matched the pattern for the deleted online voice route. + This cmdlet is used when configuring Microsoft Phone System Direct Routing. + + + + Remove-CsOnlineVoiceRoute + + Identity + + The unique identity of the online voice route. (If the route name contains a space, such as Test Route, you must enclose the full string in parentheses.) + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + The unique identity of the online voice route. (If the route name contains a space, such as Test Route, you must enclose the full string in parentheses.) + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Remove-CsOnlineVoiceRoute -Identity Route1 + + Removes the settings for the online voice route with the identity Route1. + + + + -------------------------- Example 2 -------------------------- + PS C:\ Get-CsOnlineVoiceRoute | Remove-CsOnlineVoiceRoute + + This command removes all online voice routes from the organization. First all online voice routes are retrieved by the `Get-CsOnlineVoiceRoute` cmdlet. These online voice routes are then piped to the `Remove-CsOnlineVoiceRoute` cmdlet, which removes each one. + + + + -------------------------- Example 3 -------------------------- + PS C:\ Get-CsOnlineVoiceRoute -Filter *Redmond* | Remove-CsOnlineVoiceRoute + + This command removes all online voice routes with an identity that includes the string "Redmond". First the `Get-CsOnlineVoiceRoute` cmdlet is called with the Filter parameter. The value of the Filter parameter is the string Redmond surrounded by wildcard characters (*), which specifies that the string can be anywhere within the Identity. After all of the online voice routes with identities that include the string Redmond are retrieved, these online voice routes are piped to the `Remove-CsOnlineVoiceRoute` cmdlet, which removes each one. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csonlinevoiceroute + + + Get-CsOnlineVoiceRoute + + + + New-CsOnlineVoiceRoute + + + + Set-CsOnlineVoiceRoute + + + + + + + Remove-CsOnlineVoiceRoutingPolicy + Remove + CsOnlineVoiceRoutingPolicy + + Deletes an existing online voice routing policy. Online voice routing policies manage online PSTN usages for Phone System users. + + + + Online voice routing policies are used in Microsoft Phone System Direct Routing scenarios. Assigning your Teams users an online voice routing policy enables those users to receive and to place phone calls to the public switched telephone network by using your on-premises SIP trunks. + Note that simply assigning a user an online voice routing policy will not enable them to make PSTN calls via Teams. Among other things, you will also need to enable those users for Phone System and will need to assign them an appropriate online voice policy. + + + + Remove-CsOnlineVoiceRoutingPolicy + + Identity + + Unique identifier assigned to the policy when it was created. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Identity + + Unique identifier assigned to the policy when it was created. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Remove-CsOnlineVoiceRoutingPolicy -Identity "RedmondOnlineVoiceRoutingPolicy" + + The command shown in Example 1 deletes the online voice routing policy RedmondOnlineVoiceRoutingPolicy. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Get-CsOnlineVoiceRoutingPolicy -Filter "tag:*" | Remove-CsOnlineVoiceRoutingPolicy + + In Example 2, all the online voice routing policies configured at the per-user scope are removed. To do this, the command first calls the `Get-CsOnlineVoiceRoutingPolicy` cmdlet along with the Filter parameter; the filter value "tag:*" limits the returned data to online voice routing policies configured at the per-user scope. Those per-user policies are then piped to and removed by, the `Remove-CsOnlineVoiceRoutingPolicy` cmdlet. + + + + -------------------------- Example 3 -------------------------- + PS C:\> Get-CsOnlineVoiceRoutingPolicy | Where-Object {$_.OnlinePstnUsages -contains "Long Distance"} | Remove-CsOnlineVoiceRoutingPolicy + + In Example 3, all the online voice routing polices that include the online PSTN usage "Long Distance" are removed. To carry out this task, the `Get-CsOnlineVoiceRoutingPolicy` cmdlet is first called without any parameters in order to return a collection of all the available online voice routing policies. That collection is then piped to the Where-Object cmdlet, which picks out only those policies where the OnlinePstnUsages property includes (-contains) the usage "Long Distance". Policies that meet that criterion are then piped to the `Remove-CsOnlineVoiceRoutingPolicy`, which removes each online voice routing policy that includes the online PSTN usage "Long Distance". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csonlinevoiceroutingpolicy + + + New-CsOnlineVoiceRoutingPolicy + + + + Get-CsOnlineVoiceRoutingPolicy + + + + Set-CsOnlineVoiceRoutingPolicy + + + + Grant-CsOnlineVoiceRoutingPolicy + + + + + + + Remove-CsPhoneNumberAssignment + Remove + CsPhoneNumberAssignment + + This cmdlet will remove/unassign a phone number from a user or a resource account (online application instance). + + + + + This cmdlet removes/unassigns a phone number from a user or resource account. The phone number continues to be available in the tenant. + Unassigning a phone number from a user or resource account will automatically set EnterpriseVoiceEnabled to False. + If the cmdlet executes successfully, no result object will be returned. If the cmdlet fails for any reason, a result object will be returned that contains a Code string parameter and a Message string parameter with additional details of the failure. Note : In Teams PowerShell Module 4.2.1-preview and later we are changing how the cmdlet reports errors. Instead of using a result object, we will be generating an exception in case of an error and we will be appending the exception to the $Error automatic variable. The cmdlet will also now support the -ErrorAction parameter to control the execution after an error has occurred. + + + + Remove-CsPhoneNumberAssignment + + Identity + + The Identity of the specific user or resource account. Can be specified using the value in the ObjectId, the SipProxyAddress, or the UserPrincipalName attribute of the user or resource account. + + System.String + + System.String + + + None + + + PhoneNumber + + The phone number to unassign from the user or resource account. Supports E.164 format and non-E.164 format. Needs to be without the prefixed "tel:". + + System.String + + System.String + + + None + + + PhoneNumberType + + The type of phone number to unassign from the user or resource account. The supported values are DirectRouting, CallingPlan and OperatorConnect. + + System.String + + System.String + + + None + + + + Remove-CsPhoneNumberAssignment + + Identity + + The Identity of the specific user or resource account. Can be specified using the value in the ObjectId, the SipProxyAddress, or the UserPrincipalName attribute of the user or resource account. + + System.String + + System.String + + + None + + + RemoveAll + + Unassigns the phone number from the user or resource account. + + + SwitchParameter + + + False + + + + + + Identity + + The Identity of the specific user or resource account. Can be specified using the value in the ObjectId, the SipProxyAddress, or the UserPrincipalName attribute of the user or resource account. + + System.String + + System.String + + + None + + + PhoneNumber + + The phone number to unassign from the user or resource account. Supports E.164 format and non-E.164 format. Needs to be without the prefixed "tel:". + + System.String + + System.String + + + None + + + PhoneNumberType + + The type of phone number to unassign from the user or resource account. The supported values are DirectRouting, CallingPlan and OperatorConnect. + + System.String + + System.String + + + None + + + RemoveAll + + Unassigns the phone number from the user or resource account. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + The cmdlet is available in Teams PowerShell module 3.0.0 or later. + The cmdlet is only available in commercial and GCC cloud instances. + + + + + -------------------------- Example 1 -------------------------- + Remove-CsPhoneNumberAssignment -Identity user1@contoso.com -PhoneNumber +12065551234 -PhoneNumberType CallingPlan + + This example removes/unassigns the Microsoft Calling Plan phone number +1 (206) 555-1234 from the user user1@contoso.com. + + + + -------------------------- Example 2 -------------------------- + Remove-CsPhoneNumberAssignment -Identity user2@contoso.com -RemoveAll + + This example removes/unassigns the phone number from user2@contoso.com. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csphonenumberassignment + + + Set-CsPhoneNumberAssignment + + + + Get-CsPhoneNumberAssignment + + + + + + + Remove-CsTeamsAudioConferencingPolicy + Remove + CsTeamsAudioConferencingPolicy + + Deletes a custom Teams audio conferencing policy. Audio conferencing policies are used to manage audio conferencing toll- and toll-free numbers to be displayed in meeting invites created by users within your organization. + + + + Deletes a previously created TeamsAudioConferencingPolicy. Any users with no explicitly assigned policies will then fall back to the default (Global) policy in the organization. You cannot delete the global policy from the organization. + + + + Remove-CsTeamsAudioConferencingPolicy + + Identity + + Unique identifier for the TeamsAudioConferencingPolicy to be removed. To remove global policy, use this syntax: -Identity global. (Note that the global policy cannot be removed. Instead, all the policy properties will be reset to their default values.) To remove a custom policy, use this syntax: `-Identity "<policy name>"`. + + String + + String + + + None + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes. Suppresses any confirmation prompts that would otherwise be displayed before making changes. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes. Suppresses any confirmation prompts that would otherwise be displayed before making changes. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Unique identifier for the TeamsAudioConferencingPolicy to be removed. To remove global policy, use this syntax: -Identity global. (Note that the global policy cannot be removed. Instead, all the policy properties will be reset to their default values.) To remove a custom policy, use this syntax: `-Identity "<policy name>"`. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + String + + + + + + + + + + Object + + + + + + + + + + + + + + -------------------------- EXAMPLE 1 -------------------------- + PS C:\> Remove-CsTeamsAudioCOnferencingPolicy -Identity "Emea Users" + + In the example shown above, the command will delete the "Emea Users" audio conferencing policy from the organization's list of policies. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csteamsaudioconferencingpolicy + + + Get-CsTeamsAudioConferencingPolicy + + + + Set-CsTeamsAudioConferencingPolicy + + + + Grant-CsTeamsAudioConferencingPolicy + + + + + + + Remove-CsTeamsCallParkPolicy + Remove + CsTeamsCallParkPolicy + + The TeamsCallParkPolicy controls whether or not users are able to leverage the call park feature in Microsoft Teams. Call park allows enterprise voice customers to place a call on hold and then perform a number of actions on that call: transfer to another department, retrieve via the same phone, or retrieve via a different Teams phone. The Remove-CsTeamsCallParkPolicy cmdlet lets delete a custom policy that has been configured in your organization. + + + + The TeamsCallParkPolicy controls whether or not users are able to leverage the call park feature in Microsoft Teams. Call park allows enterprise voice customers to place a call on hold and then perform a number of actions on that call: transfer to another department, retrieve via the same phone, or retrieve via a different phone. The Remove-CsTeamsCallParkPolicy cmdlet lets delete a custom policy that has been configured in your organization. + If you run Remove-CsTeamsCallParkPolicy on the Global policy, it will be reset to the defaults provided for new organizations. + + + + Remove-CsTeamsCallParkPolicy + + Identity + + Unique identifier for the client policy to be removed. To "remove" the global policy, use the following syntax: `-Identity global`. (Note that the global policy cannot actually be removed. Instead, all the properties in that policy will be reset to their default values.) To remove a per-user policy, use syntax similar to this: `-Identity "SalesDepartmentPolicy"`. You cannot use wildcards when specifying a policy Identity. + + XdsIdentity + + XdsIdentity + + + None + + + Force + + Suppresses all non-fatal errors. + + + SwitchParameter + + + False + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before executing the command. + + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use only. + + Guid + + Guid + + + None + + + + + + Identity + + Unique identifier for the client policy to be removed. To "remove" the global policy, use the following syntax: `-Identity global`. (Note that the global policy cannot actually be removed. Instead, all the properties in that policy will be reset to their default values.) To remove a per-user policy, use syntax similar to this: `-Identity "SalesDepartmentPolicy"`. You cannot use wildcards when specifying a policy Identity. + + XdsIdentity + + XdsIdentity + + + None + + + Force + + Suppresses all non-fatal errors. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use only. + + Guid + + Guid + + + None + + + + + + Microsoft.Rtc.Management.Xds.XdsIdentity + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Remove-CsTeamsCallParkPolicy -Identity SalesPolicy + + Deletes a custom policy that has already been created in the organization. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csteamscallparkpolicy + + + + + + Remove-CsTeamsCortanaPolicy + Remove + CsTeamsCortanaPolicy + + The CsTeamsCortanaPolicy cmdlets enable administrators to control settings for Cortana voice assistant in Microsoft Teams. + + + + Deletes a previously created TeamsCortanaPolicy. Any users with no explicitly assigned policies will then fall back to the default policy in the organization. You cannot delete the global policy from the organization. + + + + Remove-CsTeamsCortanaPolicy + + Identity + + Identity for the policy you're modifying. To modify the global policy, use this syntax: -Identity global. To modify a per-user policy, use syntax similar to this: -Identity MyCortanaPolicy. If you do not specify an Identity the Set-CsTeamsCortanaPolicy cmdlet will automatically modify the global policy. + + XdsIdentity + + XdsIdentity + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose external user communication policy are being created. For example: -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" You can return your tenant ID by running this command: Get-CsTenant | Select-Object DisplayName, TenantID + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Identity for the policy you're modifying. To modify the global policy, use this syntax: -Identity global. To modify a per-user policy, use syntax similar to this: -Identity MyCortanaPolicy. If you do not specify an Identity the Set-CsTeamsCortanaPolicy cmdlet will automatically modify the global policy. + + XdsIdentity + + XdsIdentity + + + None + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose external user communication policy are being created. For example: -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" You can return your tenant ID by running this command: Get-CsTenant | Select-Object DisplayName, TenantID + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + Microsoft.Rtc.Management.Xds.XdsIdentity + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Remove-CsTeamsCortanaPolicy -Identity MyCortanaPolicy + + In the example shown above, the command will delete the MyCortanaPolicy from the organization's list of policies. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamscortanapolicy + + + + + + Remove-CsTeamsEmergencyCallRoutingPolicy + Remove + CsTeamsEmergencyCallRoutingPolicy + + This cmdlet removes an existing Teams Emergency Call Routing policy instance. + + + + This cmdlet removes an existing Teams Emergency Call Routing policy instance. + + + + Remove-CsTeamsEmergencyCallRoutingPolicy + + Identity + + The Identity parameter is the unique identifier of the Teams Emergency Call Routing policy to remove. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Identity + + The Identity parameter is the unique identifier of the Teams Emergency Call Routing policy to remove. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Remove-CsTeamsEmergencyCallRoutingPolicy -Identity Test + + This example removes Teams Emergency Call Routing policy with identity Test. + + + + -------------------------- Example 2 -------------------------- + Remove-CsTeamsEmergencyCallRoutingPolicy -Identity Global + + This example resets the Teams Emergency Call Routing Global policy instance to its default values. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csteamsemergencycallroutingpolicy + + + New-CsTeamsEmergencyCallRoutingPolicy + + + + Grant-CsTeamsEmergencyCallRoutingPolicy + + + + Set-CsTeamsEmergencyCallRoutingPolicy + + + + Get-CsTeamsEmergencyCallRoutingPolicy + + + + + + + Remove-CsTeamsEnhancedEncryptionPolicy + Remove + CsTeamsEnhancedEncryptionPolicy + + Use this cmdlet to remove an existing Teams enhanced encryption policy. + + + + Use this cmdlet to remove an existing Teams enhanced encryption policy. + The TeamsEnhancedEncryptionPolicy enables administrators to determine which users in your organization can use the enhanced encryption settings in Teams, setting for End-to-end encryption in ad-hoc 1-to-1 VOIP calls is the parameter supported by this policy currently. + + + + Remove-CsTeamsEnhancedEncryptionPolicy + + Identity + + Unique identifier assigned to the Teams enhanced encryption policy. + + XdsIdentity + + XdsIdentity + + + None + + + Force + + Suppresses all non-fatal errors. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Identity + + Unique identifier assigned to the Teams enhanced encryption policy. + + XdsIdentity + + XdsIdentity + + + None + + + Force + + Suppresses all non-fatal errors. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.Object + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- EXAMPLE 1 -------------------------- + PS C:\> Remove-CsTeamsEnhancedEncryptionPolicy -Identity 'ContosoPartnerTeamsEnhancedEncryptionPolicy' + + The command shown in Example 1 deletes the Teams enhanced encryption policy ContosoPartnerTeamsEnhancedEncryptionPolicy. + + + + -------------------------- EXAMPLE 2 -------------------------- + PS C:\> Get-CsTeamsEnhancedEncryptionPolicy -Filter 'Tag:*' | Remove-CsTeamsEnhancedEncryptionPolicy + + In Example 2, all the Teams enhanced encryption policies configured at the per-user scope are removed. The Filter value "Tag:*" limits the returned data to Teams enhanced encryption policies configured at the per-user scope. Those per-user policies are then removed. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csteamsenhancedencryptionpolicy + + + Get-CsTeamsEnhancedEncryptionPolicy + + + + New-CsTeamsEnhancedEncryptionPolicy + + + + Set-CsTeamsEnhancedEncryptionPolicy + + + + Grant-CsTeamsEnhancedEncryptionPolicy + + + + + + + Remove-CsTeamsEventsPolicy + Remove + CsTeamsEventsPolicy + + The CsTeamsEventsPolicy cmdlets removes a previously created TeamsEventsPolicy. Note that this policy is currently still in preview. + + + + Deletes a previously created TeamsEventsPolicy. Any users with no explicitly assigned policies will then fall back to the default policy in the organization. You cannot delete the global policy from the organization. + + + + Remove-CsTeamsEventsPolicy + + Identity + + Unique identifier for the teams events policy to be removed. To remove the global policy, use this syntax: -Identity Global. (Note that the global policy cannot actually be removed. Instead, all the policy properties will be reset to their default values.) To remove a custom policy DisablePublicWebinars, use this syntax: -Identity DisablePublicWebinars. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Unique identifier for the teams events policy to be removed. To remove the global policy, use this syntax: -Identity Global. (Note that the global policy cannot actually be removed. Instead, all the policy properties will be reset to their default values.) To remove a custom policy DisablePublicWebinars, use this syntax: -Identity DisablePublicWebinars. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.String + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Remove-CsTeamsEventsPolicy -Identity DisablePublicWebinars + + In this example, the command will delete the DisablePublicWebinars policy from the organization's list of policies. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csteamseventspolicy + + + + + + Remove-CsTeamsIPPhonePolicy + Remove + CsTeamsIPPhonePolicy + + Use the Remove-CsTeamsIPPhonePolicy cmdlet to remove a custom policy that's been created for controlling Teams phone experiences. + + + + Use the Remove-CsTeamsIPPhonePolicy cmdlet to remove a custom policy that's been created for controlling Teams IP Phones experiences. + Note: Ensure the policy is not assigned to any users or the policy deletion will fail. + + + + Remove-CsTeamsIPPhonePolicy + + Identity + + Specify the name of the TeamsIPPhonePolicy that you would like to remove. + + XdsIdentity + + XdsIdentity + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes and suppresses the display of any non-fatal error message that might arise when running the command. + + + SwitchParameter + + + False + + + Tenant + + Internal Microsoft use only. + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes and suppresses the display of any non-fatal error message that might arise when running the command. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Specify the name of the TeamsIPPhonePolicy that you would like to remove. + + XdsIdentity + + XdsIdentity + + + None + + + Tenant + + Internal Microsoft use only. + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + Microsoft.Rtc.Management.Xds.XdsIdentity + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Remove-CsTeamsIPPhonePolicy -Identity CommonAreaPhone + + This example shows the deletion of the policy CommonAreaPhone. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csteamsipphonepolicy + + + + + + Remove-CsTeamsMeetingBroadcastPolicy + Remove + CsTeamsMeetingBroadcastPolicy + + Remove-CsTeamsMeetingBroadcastPolicy [-Identity] <XdsIdentity> [-Tenant <guid>] [-Force] [-WhatIf] [-Confirm] [<CommonParameters>] + + + + User-level policy for tenant admin to configure meeting broadcast behavior for the broadcast event organizer. Use this cmdlet to delete an existing policy. + + + + Remove-CsTeamsMeetingBroadcastPolicy + + Identity + + Unique identifier for the policy to be removed. Policies can be configured at the global or per-user scopes. To remove the global policy, use this syntax: -Identity global. (Note that the global policy cannot actually be removed. Instead, all the policy properties will be reset to their default values.) + To remove a per-user policy, use syntax similar to this: -Identity SalesPolicy. + Wildcards are not allowed when specifying an Identity. + + XdsIdentity + + XdsIdentity + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Suppress all non-fatal errors when running this command. + + + SwitchParameter + + + False + + + Tenant + + Not applicable to online service. + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + Suppress all non-fatal errors when running this command. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Unique identifier for the policy to be removed. Policies can be configured at the global or per-user scopes. To remove the global policy, use this syntax: -Identity global. (Note that the global policy cannot actually be removed. Instead, all the policy properties will be reset to their default values.) + To remove a per-user policy, use syntax similar to this: -Identity SalesPolicy. + Wildcards are not allowed when specifying an Identity. + + XdsIdentity + + XdsIdentity + + + None + + + Tenant + + Not applicable to online service. + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + Microsoft.Rtc.Management.Xds.XdsIdentity + + + + + + + + + + System.Object + + + + + + + + + + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csteamsmeetingbroadcastpolicy + + + + + + Remove-CsTeamsMobilityPolicy + Remove + CsTeamsMobilityPolicy + + The TeamsMobilityPolicy allows Admins to control Teams mobile usage for users. + + + + + The TeamsMobilityPolicy allows Admins to control Teams mobile usage for users. + The Remove-CsTeamsMobilityPolicy cmdlet lets an Admin delete a custom teams mobility policy that has been created. + + + + Remove-CsTeamsMobilityPolicy + + Identity + + Unique identifier for the client policy to be removed. To "remove" the global policy, use the following syntax: -Identity global. (Note that the global policy cannot actually be removed. Instead, all the properties in that policy will be reset to their default values.) To remove a per-user policy, use syntax similar to this: -Identity "SalesDepartmentPolicy". You cannot use wildcards when specifying a policy Identity. + + XdsIdentity + + XdsIdentity + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Suppresses all non-fatal errors. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + Suppresses all non-fatal errors. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Unique identifier for the client policy to be removed. To "remove" the global policy, use the following syntax: -Identity global. (Note that the global policy cannot actually be removed. Instead, all the properties in that policy will be reset to their default values.) To remove a per-user policy, use syntax similar to this: -Identity "SalesDepartmentPolicy". You cannot use wildcards when specifying a policy Identity. + + XdsIdentity + + XdsIdentity + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + Microsoft.Rtc.Management.Xds.XdsIdentity + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Remove-CsTeamsMobilityPolicy -Identity SalesPolicy + + Deletes a custom policy that has already been created in the organization. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csteamsmobilitypolicy + + + + + + Remove-CsTeamsNetworkRoamingPolicy + Remove + CsTeamsNetworkRoamingPolicy + + Remove-CsTeamsNetworkRoamingPolicy allows IT Admins to delete policies for Network Roaming and Bandwidth Control experiences in Microsoft Teams. + + + + Deletes the Teams Network Roaming Policies configured for use in your organization. + The TeamsNetworkRoamingPolicy cmdlets enable administrators to provide specific settings from the TeamsMeetingPolicy to be rendered dynamically based upon the location of the Teams client. The TeamsNetworkRoamingPolicy cannot be granted to a user but instead can be assigned to a network site. The settings from the TeamsMeetingPolicy included are AllowIPVideo and MediaBitRateKb. When a Teams client is connected to a network site where a CsTeamRoamingPolicy is assigned, these two settings from the TeamsRoamingPolicy will be used instead of the settings from the TeamsMeetingPolicy. + More on the impact of bit rate setting on bandwidth can be found here (https://learn.microsoft.com/microsoftteams/prepare-network). + + + + Remove-CsTeamsNetworkRoamingPolicy + + Identity + + Unique identifier of the policy to be removed. + + XdsIdentity + + XdsIdentity + + + None + + + Tenant + + + + Guid + + Guid + + + None + + + + + + Identity + + Unique identifier of the policy to be removed. + + XdsIdentity + + XdsIdentity + + + None + + + Tenant + + + + Guid + + Guid + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Remove-CsTeamsNetworkRoamingPolicy -Identity OfficePolicy + + In Example 1, Remove-CsTeamsNetworkRoamingPolicy is used to delete the network roaming policy that has an Identity OfficePolicy. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csteamsnetworkroamingpolicy + + + + + + Remove-CsTeamsShiftsConnection + Remove + CsTeamsShiftsConnection + + This cmdlet deletes a Shifts connection. + + + + This cmdlet deletes a connection. All available connections can be found by running Get-CsTeamsShiftsConnection (Get-CsTeamsShiftsConnection.md). + + + + Remove-CsTeamsShiftsConnection + + ConnectionId + + The ID of the connection that you want to delete. + + String + + String + + + None + + + + + + ConnectionId + + The ID of the connection that you want to delete. + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Remove-CsTeamsShiftsConnection -ConnectionId 43cd0e23-b62d-44e8-9321-61cb5fcfae85 + + Deletes the connection with ID `43cd0e23-b62d-44e8-9321-61cb5fcfae85`. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csteamsshiftsconnection + + + Get-CsTeamsShiftsConnection + + + + New-CsTeamsShiftsConnection + + + + Set-CsTeamsShiftsConnection + + + + + + + Remove-CsTeamsShiftsConnectionInstance + Remove + CsTeamsShiftsConnectionInstance + + This cmdlet deletes a Shifts connection instance. + + + + This cmdlet deletes a connection instance. All available instances can be found by running Get-CsTeamsShiftsConnectionInstance (Get-CsTeamsShiftsConnectionInstance.md). + + + + Remove-CsTeamsShiftsConnectionInstance + + ConnectorInstanceId + + The ID of the connection instance that you want to delete. + + String + + String + + + None + + + + + + ConnectorInstanceId + + The ID of the connection instance that you want to delete. + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Remove-CsTeamsShiftsConnectionInstance -ConnectorInstanceId WCI-4c231dd2-4451-45bd-8eea-bd68b40bab8b + + Deletes the connection instance with ID `WCI-4c231dd2-4451-45bd-8eea-bd68b40bab8b`. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csteamsshiftsconnectioninstance + + + Get-CsTeamsShiftsConnectionInstance + + + + Set-CsTeamsShiftsConnectionInstance + + + + Remove-CsTeamsShiftsConnectionInstance + + + + + + + Remove-CsTeamsShiftsConnectionTeamMap + Remove + CsTeamsShiftsConnectionTeamMap + + This cmdlet removes the mapping between the Microsoft Teams team and workforce management (WFM) team. + + + + This cmdlet removes the mapping between the Microsoft Teams team and WFM team. All team mappings can be found by running Get-CsTeamsShiftsConnectionTeamMap (Get-CsTeamsShiftsConnectionTeamMap.md). + + + + Remove-CsTeamsShiftsConnectionTeamMap + + ConnectorInstanceId + + The ID of the connection instance that you want to delete. + + String + + String + + + None + + + TeamId + + The ID of the connection instance that you want to delete. + + String + + String + + + None + + + + + + ConnectorInstanceId + + The ID of the connection instance that you want to delete. + + String + + String + + + None + + + TeamId + + The ID of the connection instance that you want to delete. + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Remove-CsTeamsShiftsConnectionTeamMap -ConnectorInstanceId "WCI-4c231dd2-4451-45bd-8eea-bd68b40bab8b" -TeamId "30b625bd-f0f7-4d5c-8793-9ccef5a63119" + + Unmaps the Teams team with ID "30b625bd-f0f7-4d5c-8793-9ccef5a63119" in the instance with ID "WCI-4c231dd2-4451-45bd-8eea-bd68b40bab8b". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csteamsshiftsconnectionteammap + + + Get-CsTeamsShiftsConnectionTeamMap + + + + New-CsTeamsShiftsConnectionBatchTeamMap + + + + + + + Remove-CsTeamsShiftsScheduleRecord + Remove + CsTeamsShiftsScheduleRecord + + This cmdlet enqueues the clear schedule message. + + + + This cmdlet sends a request of removing Shifts schedule with specified time range. + + + + Remove-CsTeamsShiftsScheduleRecord + + ClearSchedulingGroup + + A value indicating whether to clear schedule group. + + + SwitchParameter + + + False + + + DateRangeEndDate + + The end date of removing schedule record. + + String + + String + + + None + + + DateRangeStartDate + + The start date of removing schedule record. + + String + + String + + + None + + + DesignatedActorId + + The user ID of designated actor. + + String + + String + + + None + + + EntityType + + The entity types. + + String[] + + String[] + + + None + + + TeamId + + The Teams team ID where you want to remove schedule record. + + String + + String + + + None + + + + + + ClearSchedulingGroup + + A value indicating whether to clear schedule group. + + SwitchParameter + + SwitchParameter + + + False + + + DateRangeEndDate + + The end date of removing schedule record. + + String + + String + + + None + + + DateRangeStartDate + + The start date of removing schedule record. + + String + + String + + + None + + + DesignatedActorId + + The user ID of designated actor. + + String + + String + + + None + + + EntityType + + The entity types. + + String[] + + String[] + + + None + + + TeamId + + The Teams team ID where you want to remove schedule record. + + String + + String + + + None + + + + + + + The parameters of start time, end time and designated actor ID are optional only when removing the schedule record of a linked team. + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Remove-CsTeamsShiftsScheduleRecord -TeamId "eddc3b94-21d5-4ef0-a76a-2e4d632e50be" -DateRangeStartDate "2021-09-30T00:00:00" -DateRangeEndDate "2021-10-01T00:00:00" -ClearSchedulingGroup:$false -EntityType "swapRequest", "openShiftRequest" -DesignatedActorId "683af6f2-4f72-4770-b8e1-4ec31836156ad" + + Removes the Shifts schedule record of swapRequest and openShiftRequest scenarios in the team with ID `eddc3b94-21d5-4ef0-a76a-2e4d632e50be` from 09/30/2021 to 10/01/2021. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csteamsshiftsschedulerecord + + + + + + Remove-CsTeamsTranslationRule + Remove + CsTeamsTranslationRule + + Cmdlet to remove an existing number manipulation rule (or list of rules). + + + + You can use this cmdlet to remove an existing number manipulation rule (or list of rules). The rule can be used, for example, in the settings of your SBC (Set-CsOnlinePSTNGateway) to convert a callee or caller number to a desired format before entering or leaving Microsoft Phone System. + + + + Remove-CsTeamsTranslationRule + + Identity + + Identifier of the rule. This parameter is required. + + String + + String + + + None + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Identity + + Identifier of the rule. This parameter is required. + + String + + String + + + None + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Remove-CsTeamsTranslationRule -Identity AddPlus1 + + This example removes the "AddPlus1" translation rule. As the rule can be used in some places, integrity check is preformed to ensure that the rule is not in use. If the rule is in use an error thrown with specifying which SBC use this rule. + + + + -------------------------- Example 2 -------------------------- + Get-CsTeamsTranslationRule -Filter 'tst*' | Remove-CsTeamsTranslationRule + + This example removes all translation rules with Identifier starting with tst. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csteamstranslationrule + + + New-CsTeamsTranslationRule + + + + Get-CsTeamsTranslationRule + + + + Set-CsTeamsTranslationRule + + + + Test-CsTeamsTranslationRule + + + + + + + Remove-CsTeamsUnassignedNumberTreatment + Remove + CsTeamsUnassignedNumberTreatment + + Removes a treatment for how calls to an unassigned number range should be routed. + + + + This cmdlet removes a treatment for how calls to an unassigned number range should be routed. + + + + Remove-CsTeamsUnassignedNumberTreatment + + Identity + + The Id of the specific treatment to remove. + + System.String + + System.String + + + None + + + + + + Identity + + The Id of the specific treatment to remove. + + System.String + + System.String + + + None + + + + + + System.Object + + + + + + + + + + System.Object + + + + + + + + + The cmdlet is available in Teams PS module 2.5.1 or later. + + + + + -------------------------- Example 1 -------------------------- + Remove-CsTeamsUnassignedNumberTreatment -Identity MainAA + + This example removes the treatment MainAA. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csteamsunassignednumbertreatment + + + Get-CsTeamsUnassignedNumberTreatment + + + + New-CsTeamsUnassignedNumberTreatment + + + + Set-CsTeamsUnassignedNumberTreatment + + + + Test-CsTeamsUnassignedNumberTreatment + + + + + + + Remove-CsTeamTemplate + Remove + CsTeamTemplate + + This cmdlet deletes a specified Team Template from Microsoft Teams. + + + + + + Remove-CsTeamTemplate + + InputObject + + Identity Parameter To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity + + + None + + + Break + + Wait for .NET debugger to attach + + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + Proxy + + The URI for the proxy server to use + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Remove-CsTeamTemplate + + OdataId + + A composite URI of a template. + + System.String + + System.String + + + None + + + Break + + Wait for .NET debugger to attach + + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + Proxy + + The URI for the proxy server to use + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + InputObject + + Identity Parameter To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity + + + None + + + OdataId + + A composite URI of a template. + + System.String + + System.String + + + None + + + Break + + Wait for .NET debugger to attach + + SwitchParameter + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + Proxy + + The URI for the proxy server to use + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity + + + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IAny + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IErrorObject + + + + + + + + + ALIASES + COMPLEX PARAMETER PROPERTIES + To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + INPUTOBJECT <IConfigApiBasedCmdletsIdentity>: Identity Parameter + - `[Bssid <String>]`: + - `[ChassisId <String>]`: + - `[CivicAddressId <String>]`: Civic address id. + - `[Country <String>]`: + - `[GroupId <String>]`: The ID of a group whose policy assignments will be returned. + - `[Id <String>]`: + - `[Identity <String>]`: + - `[Locale <String>]`: + - `[LocationId <String>]`: Location id. + - `[OdataId <String>]`: A composite URI of a template. + - `[OperationId <String>]`: The ID of a batch policy assignment operation. + - `[OrderId <String>]`: + - `[PackageName <String>]`: The name of a specific policy package + - `[PolicyType <String>]`: The policy type for which group policy assignments will be returned. + - `[Port <String>]`: + - `[PortInOrderId <String>]`: + - `[PublicTemplateLocale <String>]`: Language and country code for localization of publicly available templates. + - `[SubnetId <String>]`: + - `[TenantId <String>]`: + - `[UserId <String>]`: UserId. Supports Guid. Eventually UPN and SIP. + + + + + -------------------------- EXAMPLE 1 -------------------------- + PS C:> Remove-CsTeamTemplate -OdataId '/api/teamtemplates/v1.0/b24f8ba6-0949-452e-ad4b-a353f38ed8af/Tenant/en-US' + + Removes template with OData Id '/api/teamtemplates/v1.0/b24f8ba6-0949-452e-ad4b-a353f38ed8af/Tenant/en-US'. + + + + -------------------------- EXAMPLE 2 -------------------------- + PS C:> (Get-CsTeamTemplateList -PublicTemplateLocale en-US) | where Name -like 'test' | ForEach-Object {Remove-CsTeamTemplate -OdataId $_.OdataId} + + Removes template that meets the following specifications: 1) Locale set to en-US. 2) Name contains 'test'. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csteamtemplate + + + Get-CsTeamTemplateList + + + + Get-CsTeamTemplate + + + + New-CsTeamTemplate + + + + Update-CsTeamTemplate + + + + Remove-CsTeamTemplate + + + + + + + Remove-CsTenantDialPlan + Remove + CsTenantDialPlan + + Use the `Remove-CsTenantDialPlan` cmdlet to remove a tenant dial plan. + + + + The `Remove-CsTenantDialPlan` cmdlet removes an existing tenant dial plan (also known as a location profile). Tenant dial plans provide required information to allow Enterprise Voice users to make telephone calls. The Conferencing Attendant application also uses tenant dial plans for dial-in conferencing. A tenant dial plan determines such things as which normalization rules are applied. + Removing a tenant dial plan also removes any associated normalization rules. If no tenant dial plan is assigned to an organization, the Global dial plan is used. + + + + Remove-CsTenantDialPlan + + Identity + + The Identity parameter is the unique identifier of the tenant dial plan to remove. + + String + + String + + + None + + + Confirm + + The Confirm parameter prompts you for confirmation before the command is executed. + + + SwitchParameter + + + False + + + WhatIf + + The WhatIf parameter describes what would happen if you executed the command, without actually executing the command. + + + SwitchParameter + + + False + + + + + + Identity + + The Identity parameter is the unique identifier of the tenant dial plan to remove. + + String + + String + + + None + + + Confirm + + The Confirm parameter prompts you for confirmation before the command is executed. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + The WhatIf parameter describes what would happen if you executed the command, without actually executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + The ExternalAccessPrefix and OptimizeDeviceDialing parameters have been removed from New-CsTenantDialPlan and Set-CsTenantDialPlan cmdlet since they are no longer used. External access dialing is now handled implicitly using normalization rules of the dial plans. The Get-CsTenantDialPlan will still show the external access prefix in the form of a normalization rule of the dial plan. + + + + + -------------------------- Example 1 -------------------------- + Remove-CsTenantDialPlan -Identity Vt1TenantDialPlan2 + + This example removes the Vt1TenantDialPlan2. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-cstenantdialplan + + + Grant-CsTenantDialPlan + + + + New-CsTenantDialPlan + + + + Set-CsTenantDialPlan + + + + Get-CsTenantDialPlan + + + + + + + Remove-CsTenantNetworkRegion + Remove + CsTenantNetworkRegion + + Use the `Remove-CsTenantNetworkRegion` cmdlet to remove a tenant network region. + + + + The `Remove-CsTenantNetworkRegion` cmdlet removes an existing tenant network region. + A network region contains a collection of network sites. + + + + Remove-CsTenantNetworkRegion + + Identity + + Unique identifier for the network region to be removed. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Identity + + Unique identifier for the network region to be removed. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Remove-CsTenantNetworkRegion -Identity "RedmondRegion" + + The command shown in Example 1 removes 'RedmondRegion'. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-cstenantnetworkregion + + + New-CsTenantNetworkRegion + + + + Get-CsTenantNetworkRegion + + + + Set-CsTenantNetworkRegion + + + + + + + Remove-CsTenantNetworkSite + Remove + CsTenantNetworkSite + + Use the `Remove-CsTenantNetworkSite` cmdlet to remove a tenant network site. + + + + The `Remove-CsTenantNetworkSite` cmdlet removes an existing tenant network site. + A network site represents a location where your organization has a physical venue, such as offices, a set of buildings, or a campus. Network sites are defined as a collection of IP subnets. + + + + Remove-CsTenantNetworkSite + + Identity + + Unique identifier for the network site to be removed. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Identity + + Unique identifier for the network site to be removed. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Remove-CsTenantNetworkSite -Identity "site1" + + The command shown in Example 1 removes 'site1'. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-cstenantnetworksite + + + New-CsTenantNetworkSite + + + + Get-CsTenantNetworkSite + + + + Set-CsTenantNetworkSite + + + + + + + Remove-CsTenantNetworkSubnet + Remove + CsTenantNetworkSubnet + + Use the `Remove-CsTenantNetworkSubnet` cmdlet to remove a tenant network subnet. + + + + The `Remove-CsTenantNetworkSubnet` cmdlet removes an existing tenant network subnet. + IP subnets at the location where Teams endpoints can connect to the network must be defined and associated to a defined network in order to enforce toll bypass. Multiple subnets may be associated with the same network site, but multiple sites may not be associated with a same subnet. This association of subnets enables Location-Based routing to locate the endpoints geographically to determine if a given PSTN call should be allowed. + + + + Remove-CsTenantNetworkSubnet + + Identity + + Unique identifier for the network subnet to be removed. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Identity + + Unique identifier for the network subnet to be removed. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Remove-CsTenantNetworkSubnet -Identity "192.168.0.1" + + The command shown in Example 1 removes '192.168.0.1'. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-cstenantnetworksubnet + + + New-CsTenantNetworkSubnet + + + + Get-CsTenantNetworkSubnet + + + + Set-CsTenantNetworkSubnet + + + + + + + Remove-CsTenantTrustedIPAddress + Remove + CsTenantTrustedIPAddress + + Use the `Remove-CsTenantTrustedIPAddress` cmdlet to remove a tenant trusted IP address. + + + + The `Remove-CsTenantTrustedIPAddress` cmdlet removes an existing tenant trusted IP address. + External trusted IPs are the Internet external IPs of the enterprise network and are used to determine if the user's endpoint is inside the corporate network before checking for a specific site match. If the user's external IP matches one defined in the trusted list, then Location-Based Routing will check to determine which internal subnet the user's endpoint is located. If the user's external IP doesn't match one defined in the trusted list, the endpoint will be classified as being at an unknown and any PSTN calls to/from an LBR enabled user are blocked. + + + + Remove-CsTenantTrustedIPAddress + + Identity + + Unique identifier for the trusted IP address to be removed. + + XdsGlobalRelativeIdentity + + XdsGlobalRelativeIdentity + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose trusted IP address are being removed. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Unique identifier for the trusted IP address to be removed. + + XdsGlobalRelativeIdentity + + XdsGlobalRelativeIdentity + + + None + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose trusted IP address are being removed. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + Microsoft.Rtc.Management.Xds.XdsGlobalRelativeIdentity + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Remove-CsTenantTrustedIPAddress -Identity "192.168.0.1" + + The command shown in Example 1 removes '192.168.0.1'. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-cstenanttrustedipaddress + + + + + + Remove-CsUserCallingDelegate + Remove + CsUserCallingDelegate + + This cmdlet will remove a delegate for calling in Microsoft Teams. + + + + This cmdlet will remove a delegate for the specified user. + + + + Remove-CsUserCallingDelegate + + Delegate + + The Identity of the delegate to remove. Can be specified using the ObjectId or the SIP address. + + System.String + + System.String + + + None + + + Identity + + The Identity of the user to remove a delegate for. Can be specified using the ObjectId or the SIP address. + + System.String + + System.String + + + None + + + + + + Delegate + + The Identity of the delegate to remove. Can be specified using the ObjectId or the SIP address. + + System.String + + System.String + + + None + + + Identity + + The Identity of the user to remove a delegate for. Can be specified using the ObjectId or the SIP address. + + System.String + + System.String + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + The cmdlet is available in Teams PowerShell module 4.0.0 or later. + The specified user need to have the Microsoft Phone System license assigned. + You can see the delegate of a user by using the Get-CsUserCallingSettings cmdlet. + + + + + -------------------------- Example 1 -------------------------- + Remove-CsUserCallingDelegate -Identity user1@contoso.com -Delegate user2@contoso.com + + This example shows removing the delegate user2@contoso.com. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csusercallingdelegate + + + Get-CsUserCallingSettings + + + + New-CsUserCallingDelegate + + + + Set-CsUserCallingDelegate + + + + + + + Remove-CsUserLicenseGracePeriod + Remove + CsUserLicenseGracePeriod + + The `CsUserLicenseGracePeriod` cmdlet expedites the delicensing operation for the assigned plan(s) of a user/resource account by removing the grace period, permanently deleting the assigned plan(s). Note that this cmdlet is to be used only by tenants with license resiliency enabled. (License resiliency is currently under private preview and not available for everyone.) + + + + The command removes the grace period of the assigned plan(s) against the specified user(s)/resource account(s), permanently deleting the plan(s). Permanently deletes all/specified plans belonging to the user, which has a grace period assosciated with it. Assigned plans with no subsequent grace period will see no change. + If you want to verify the grace period of any assigned plan against a user, you can return that information by using this command: + `Get-CsOnlineUser -Identity bf19b7db-6960-41e5-a139-2aa373474354` + + + + Remove-CsUserLicenseGracePeriod + + Identity + + Specifies the Identity (GUID) of the user account whose assigned plan grace period needs to be removed, permanently deleting the subsequent plan. + + String + + String + + + None + + + Capability + + Denotes the plan(s) assigned to the specified user, which are to be permanently deleted if they are currently serving their grace period. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Identity + + Specifies the Identity (GUID) of the user account whose assigned plan grace period needs to be removed, permanently deleting the subsequent plan. + + String + + String + + + None + + + Capability + + Denotes the plan(s) assigned to the specified user, which are to be permanently deleted if they are currently serving their grace period. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Remove-CsUserLicenseGracePeriod -Identity bf19b7db-6960-41e5-a139-2aa373474354 + + In Example 1, the command removes the grace period of all assigned plan(s) against the specified user ID, marking the subsequent assigned plan(s) as deleted. Assigned plans with no subsequent grace period will see no change. + + + + -------------------------- Example 2 -------------------------- + Remove-CsUserLicenseGracePeriod -Identity bf19b7db-6960-41e5-a139-2aa373474354 -Capability 'MCOEV,MCOMEETADD' + + In Example 2, the capability specified refers to plans assigned to the user(s) under AssignedPlans. The command removes the grace period of the specified assigned plans, marking the subsequent plan(s) as deleted. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/skype/remove-csuserlicensegraceperiod + + + Get-CsOnlineUser + + + + + + + Remove-CsVideoInteropServiceProvider + Remove + CsVideoInteropServiceProvider + + Cloud Video Interop for Teams enables 3rd party VTC devices to be able to join Teams meetings. The CsVideoInteropServiceProvider cmdlets allow you to designate provider/tenant specific information about the connection to the provider. + + + + Cloud Video Interop for Teams enables 3rd party VTC devices to be able to join Teams meetings. The CsVideoInteropServiceProvider cmdlets allow you to designate provider/tenant specific information about the connection to the provider. + Use the Remove-CsVideoInteropServiceProvider to remove all provider information about a provider that your organization no longer uses. The only input is Identity - the provider you wish to remove. + + + + Remove-CsVideoInteropServiceProvider + + Identity + + Specify the VideoInteropServiceProvider to be removed. + + XdsGlobalRelativeIdentity + + XdsGlobalRelativeIdentity + + + None + + + + + + Identity + + Specify the VideoInteropServiceProvider to be removed. + + XdsGlobalRelativeIdentity + + XdsGlobalRelativeIdentity + + + None + + + + + + Microsoft.Rtc.Management.Xds.XdsGlobalRelativeIdentity + + + + + + + + + + System.Object + + + + + + + + + + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/remove-csvideointeropserviceprovider + + + + + + Set-CsApplicationAccessPolicy + Set + CsApplicationAccessPolicy + + Modifies an existing application access policy. + + + + This cmdlet modifies an existing application access policy. + + + + Set-CsApplicationAccessPolicy + + Identity + + Unique identifier assigned to the policy when it was created. + + XdsIdentity + + XdsIdentity + + + None + + + AppIds + + A list of application (client) IDs. For details of application (client) ID, refer to: Get tenant and app ID values for signing in (https://learn.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal#get-tenant-and-app-id-values-for-signing-in). + + PSListModifier + + PSListModifier + + + None + + + + + + Identity + + Unique identifier assigned to the policy when it was created. + + XdsIdentity + + XdsIdentity + + + None + + + AppIds + + A list of application (client) IDs. For details of application (client) ID, refer to: Get tenant and app ID values for signing in (https://learn.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal#get-tenant-and-app-id-values-for-signing-in). + + PSListModifier + + PSListModifier + + + None + + + + + + + + + + + + ----------------- Add new app ID to the policy ----------------- + PS C:\> Set-CsApplicationAccessPolicy -Identity "ASimplePolicy" -AppIds @{Add="5817674c-81d9-4adb-bfb2-8f6a442e4622"} + + The command shown above adds a new app ID "5817674c-81d9-4adb-bfb2-8f6a442e4622" to the per-user application access policy ASimplePolicy. + + + + ---------------- Remove app IDs from the policy ---------------- + PS C:\> Set-CsApplicationAccessPolicy -Identity "ASimplePolicy" -AppIds @{Remove="5817674c-81d9-4adb-bfb2-8f6a442e4622"} + + The command shown above removes the app ID "5817674c-81d9-4adb-bfb2-8f6a442e4622" from the per-user application access policy ASimplePolicy. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csapplicationaccesspolicy + + + New-CsApplicationAccessPolicy + + + + Grant-CsApplicationAccessPolicy + + + + Get-CsApplicationAccessPolicy + + + + Remove-CsApplicationAccessPolicy + + + + + + + Set-CsApplicationMeetingConfiguration + Set + CsApplicationMeetingConfiguration + + Modifies an existing application meeting configuration for the tenant. + + + + This cmdlet modifies an existing application meeting configuration for the tenant. + + + + Set-CsApplicationMeetingConfiguration + + Identity + + Unique identifier of the application meeting configuration settings to be returned. Because you can only have a single, global instance of these settings, you do not have to include the Identity when calling the Set-CsApplicationMeetingConfiguration cmdlet. However, you can use the following syntax to retrieve the global settings: -Identity global. + + XdsIdentity + + XdsIdentity + + + None + + + Instance + + Allows you to pass a reference to an object to the cmdlet rather than set individual parameter values. + + PSObject + + PSObject + + + None + + + AllowRemoveParticipantAppIds + + A list of application (client) IDs. For details of application (client) ID, refer to: Get tenant and app ID values for signing in (https://learn.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal#get-tenant-and-app-id-values-for-signing-in). + + PSListModifier + + PSListModifier + + + None + + + Force + + Suppresses the display of any non-fatal error message that might occur when running the command. + + + SwitchParameter + + + False + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before executing the command. + + + SwitchParameter + + + False + + + + + + Identity + + Unique identifier of the application meeting configuration settings to be returned. Because you can only have a single, global instance of these settings, you do not have to include the Identity when calling the Set-CsApplicationMeetingConfiguration cmdlet. However, you can use the following syntax to retrieve the global settings: -Identity global. + + XdsIdentity + + XdsIdentity + + + None + + + Instance + + Allows you to pass a reference to an object to the cmdlet rather than set individual parameter values. + + PSObject + + PSObject + + + None + + + AllowRemoveParticipantAppIds + + A list of application (client) IDs. For details of application (client) ID, refer to: Get tenant and app ID values for signing in (https://learn.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal#get-tenant-and-app-id-values-for-signing-in). + + PSListModifier + + PSListModifier + + + None + + + Force + + Suppresses the display of any non-fatal error message that might occur when running the command. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + None. The `Set-CsApplicationMeetingConfiguration` cmdlet does not accept pipelined input. + + + + + + + + + + The `Set-CsApplicationMeetingConfiguration` cmdlet does not return any objects or values. + + + + + + + + + + + Add new app ID to the configuration to allow remove participant for the tenant + PS C:\> Set-CsApplicationMeetingConfiguration -AllowRemoveParticipantAppIds @{Add="5817674c-81d9-4adb-bfb2-8f6a442e4622"} + + The command shown above adds a new app ID "5817674c-81d9-4adb-bfb2-8f6a442e4622" to the application meeting configuration settings for the tenant to allow it to remove participant. + + + + Remove app IDs from the configuration to allow remove participant for the tenant + PS C:\> Set-CsApplicationMeetingConfiguration -AllowRemoveParticipantAppIds @{Remove="5817674c-81d9-4adb-bfb2-8f6a442e4622"} + + The command shown above removes the app ID "5817674c-81d9-4adb-bfb2-8f6a442e4622" from the application meeting configuration settings for the tenant to disallow it to remove participant. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-CsApplicationMeetingConfiguration + + + Get-CsApplicationMeetingConfiguration + + + + + + + Set-CsAutoAttendant + Set + CsAutoAttendant + + Use the Set-CsAutoAttendant cmdlet to modify the properties of an existing Auto Attendant (AA). + + + + The Set-CsAutoAttendant cmdlet lets you modify the properties of an auto attendant. For example, you can change the operator, the greeting, or the menu prompts. + + + + Set-CsAutoAttendant + + Instance + + The Instance parameter is the object reference to the AA to be modified. + You can retrieve an object reference to an existing AA by using the Get-CsAutoAttendant cmdlet and assigning the returned value to a variable. + + Object + + Object + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + Instance + + The Instance parameter is the object reference to the AA to be modified. + You can retrieve an object reference to an existing AA by using the Get-CsAutoAttendant cmdlet and assigning the returned value to a variable. + + Object + + Object + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + Microsoft.Rtc.Management.Hosted.OAA.Models.AutoAttendant + + + The Set-CsAutoAttendant cmdlet accepts a `Microsoft.Rtc.Management.Hosted.OAA.Models.AutoAttendant` object as the Instance parameter. + + + + + + + Microsoft.Rtc.Management.Hosted.OAA.Models.AutoAttendant + + + The modified instance of the `Microsoft.Rtc.Management.Hosted.OAA.Models.AutoAttendant` object. + + + + + + + + + + + -------------------------- Example 1 -------------------------- + $autoAttendant = Get-CsAutoAttendant -Identity "fa9081d6-b4f3-5c96-baec-0b00077709e5" + +$christmasGreetingPrompt = New-CsAutoAttendantPrompt -TextToSpeechPrompt "Our offices are closed for Christmas from December 24 to December 26. Please call back later." +$christmasMenuOption = New-CsAutoAttendantMenuOption -Action DisconnectCall -DtmfResponse Automatic +$christmasMenu = New-CsAutoAttendantMenu -Name "Christmas Menu" -MenuOptions @($christmasMenuOption) +$christmasCallFlow = New-CsAutoAttendantCallFlow -Name "Christmas" -Greetings @($christmasGreetingPrompt) -Menu $christmasMenu + +$dtr = New-CsOnlineDateTimeRange -Start "24/12/2017" -End "26/12/2017" +$christmasSchedule = New-CsOnlineSchedule -Name "Christmas" -FixedSchedule -DateTimeRanges @($dtr) + +$christmasCallHandlingAssociation = New-CsAutoAttendantCallHandlingAssociation -Type Holiday -ScheduleId $christmasSchedule.Id -CallFlowId $christmasCallFlow.Id + +$autoAttendant.CallFlows += @($christmasCallFlow) +$autoAttendant.CallHandlingAssociations += @($christmasCallHandlingAssociation) + +Set-CsAutoAttendant -Instance $autoAttendant + + This example adds a Christmas holiday to an AA that has an Identity of fa9081d6-b4f3-5c96-baec-0b00077709e5. + + + + -------------------------- Example 2 -------------------------- + $autoAttendant = Get-CsAutoAttendant -Identity "fa9081d6-b4f3-5c96-baec-0b00077709e5" + +$autoAttendant.CallFlows + +# Id : e68dfc2f-587b-42ee-98c7-b9c9ebd46fd1 +# Name : After hours +# Greetings : +# Menu : After Hours Menu + +# Id : 8ab460f0-770c-4d30-a2ff-a6469718844f +# Name : Christmas CallFlow +# Greetings : +# Menu : Christmas Menu + +$autoAttendant.CallFlows[1].Greetings + +# ActiveType : TextToSpeech +# TextToSpeechPrompt : We are closed for Christmas. Please call back later. +# AudioFilePrompt : + +$christmasGreetingPrompt = New-CsAutoAttendantPrompt -TextToSpeechPrompt "Our offices are closed for Christmas from December 24 to December 26. Please call back later." +$autoAttendant.CallFlows[1].Greetings = @($christmasGreetingPrompt) + +Set-CsAutoAttendant -Instance $autoAttendant + + This example modifies the Christmas holiday greeting for the AA that has an Identity of fa9081d6-b4f3-5c96-baec-0b00077709e5. + + + + -------------------------- Example 3 -------------------------- + $autoAttendant = Get-CsAutoAttendant -Identity "fa9081d6-b4f3-5c96-baec-0b00077709e5" +$autoAttendant.CallHandlingAssociations + +# Type : Holiday +# ScheduleId : 578745b2-1f94-4a38-844c-6bf6996463ee +# CallFlowId : a661e694-e2df-4aaa-a183-67bf819c3cac +# Enabled : True + +# Type : AfterHours +# ScheduleId : c2f160ca-119d-55d8-818c-def2bcb85515 +# CallFlowId : e7dd255b-ee20-57f0-8a2b-fc403321e284 +# Enabled : True + +$autoAttendant.CallHandlingAssociations = $autoAttendant.CallHandlingAssociations | where-object {$_.ScheduleId -ne "578745b2-1f94-4a38-844c-6bf6996463ee"} + +$autoAttendant.CallFlows + +# Id : e68dfc2f-587b-42ee-98c7-b9c9ebd46fd1 +# Name : After hours +# Greetings : +# Menu : After Hours Menu + +# Id : 8ab460f0-770c-4d30-a2ff-a6469718844f +# Name : Christmas CallFlow +# Greetings : +# Menu : Christmas Menu + +$autoAttendant.CallFlows = $autoAttendant.CallFlows | where-object {$_.Id -ne "8ab460f0-770c-4d30-a2ff-a6469718844f"} + +Set-CsAutoAttendant -Instance $autoAttendant + + This example modifies an existing AA, removing the Christmas holiday call handling. We removed the call handling association for Christmas holiday, along with the related call flow. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csautoattendant + + + New-CsAutoAttendant + + + + Get-CsAutoAttendant + + + + Get-CsAutoAttendantStatus + + + + Remove-CsAutoAttendant + + + + Update-CsAutoAttendant + + + + + + + Set-CsCallingLineIdentity + Set + CsCallingLineIdentity + + Use the `Set-CsCallingLineIdentity` cmdlet to modify a Caller ID policy in your organization. + + + + Note : The use of CallingIDSubstitute Service has been deprecated. Existing policies using CallingIDSubstitute Service are not being honored. You should use CallingIDSubstitute Resource instead. + You can either change or block the Caller ID (also called a Calling Line ID) for a user. By default, the Microsoft Teams or Skype for Business Online user's phone number can be seen when that user makes a call to a PSTN phone, or when a call comes in. You can modify a Caller ID policy to provide an alternate displayed number, or to block any number from being displayed. + Note: +- Identity must be unique. + - ServiceNumber must be a valid Service Number in the tenant telephone number inventory. + - If CallerIdSubstitute is given as "Service", then ServiceNumber cannot be empty. + - If CallerIdSubstitute is given as "Resource", then ResourceAccount cannot be empty. + + + + Set-CsCallingLineIdentity + + Identity + + The Identity parameter identifies the Caller ID policy. + + String + + String + + + None + + + BlockIncomingPstnCallerID + + The BlockIncomingPstnCallerID switch determines whether to block the incoming Caller ID. The default value is false. + The BlockIncomingPstnCallerID switch is specific to incoming calls from a PSTN caller to a user. If this is set to True and if this policy is assigned to a Teams user, then Caller ID for incoming calls is suppressed/anonymous. + + Boolean + + Boolean + + + None + + + CallingIDSubstitute + + Note : The use of CallingIDSubstitute Service will be deprecated. You should start using CallingIDSubstitute Resource as soon as possible. + The CallingIDSubstitute parameter lets you specify an alternate Caller ID. The possible values are Anonymous, Service, LineUri and Resource. + + CallingIDSubstituteType + + CallingIDSubstituteType + + + None + + + CompanyName + + This parameter sets the Calling party name (typically referred to as CNAM) on the outgoing PSTN call. + + String + + String + + + None + + + Description + + The Description parameter briefly describes the Caller ID policy. + + String + + String + + + None + + + EnableUserOverride + + The EnableUserOverride parameter gives Microsoft Teams users the option under Settings and Calls to hide their phone number when making outgoing calls. The CallerID will be Anonymous. + If CallingIDSubstitute is set to Anonymous, the EnableUserOverride parameter has no effect, and the caller ID is always set to Anonymous. + EnableUserOverride has precedence over other settings in the policy unless substitution is set to Anonymous. For example, assume the policy instance has substitution using a resource account and EnableUserOverride is set and enabled by the user. In this case, the outbound caller ID will be blocked and Anonymous will be used. + + Boolean + + Boolean + + + False + + + ResourceAccount + + This parameter specifies the ObjectId of a resource account/online application instance used for Teams Auto Attendant or Call Queue. The outgoing PSTN call will use the phone number defined on the resource account as caller id. For more information about resource accounts please see https://learn.microsoft.com/microsoftteams/manage-resource-accounts. + + Guid + + Guid + + + None + + + ServiceNumber + + The ServiceNumber parameter lets you add any valid service number for the CallingIdSubstitute. + Note: Do not add '+' to the Service number. For example, if the Service number is +1425-xxx-xxxx then valid input is 1425xxxxxxx. + + String + + String + + + None + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + + SwitchParameter + + + False + + + Confirm + + The Confirm switch causes the command to pause processing, and requires confirmation to proceed. + + + SwitchParameter + + + False + + + + + + BlockIncomingPstnCallerID + + The BlockIncomingPstnCallerID switch determines whether to block the incoming Caller ID. The default value is false. + The BlockIncomingPstnCallerID switch is specific to incoming calls from a PSTN caller to a user. If this is set to True and if this policy is assigned to a Teams user, then Caller ID for incoming calls is suppressed/anonymous. + + Boolean + + Boolean + + + None + + + CallingIDSubstitute + + Note : The use of CallingIDSubstitute Service will be deprecated. You should start using CallingIDSubstitute Resource as soon as possible. + The CallingIDSubstitute parameter lets you specify an alternate Caller ID. The possible values are Anonymous, Service, LineUri and Resource. + + CallingIDSubstituteType + + CallingIDSubstituteType + + + None + + + CompanyName + + This parameter sets the Calling party name (typically referred to as CNAM) on the outgoing PSTN call. + + String + + String + + + None + + + Description + + The Description parameter briefly describes the Caller ID policy. + + String + + String + + + None + + + EnableUserOverride + + The EnableUserOverride parameter gives Microsoft Teams users the option under Settings and Calls to hide their phone number when making outgoing calls. The CallerID will be Anonymous. + If CallingIDSubstitute is set to Anonymous, the EnableUserOverride parameter has no effect, and the caller ID is always set to Anonymous. + EnableUserOverride has precedence over other settings in the policy unless substitution is set to Anonymous. For example, assume the policy instance has substitution using a resource account and EnableUserOverride is set and enabled by the user. In this case, the outbound caller ID will be blocked and Anonymous will be used. + + Boolean + + Boolean + + + False + + + Identity + + The Identity parameter identifies the Caller ID policy. + + String + + String + + + None + + + ResourceAccount + + This parameter specifies the ObjectId of a resource account/online application instance used for Teams Auto Attendant or Call Queue. The outgoing PSTN call will use the phone number defined on the resource account as caller id. For more information about resource accounts please see https://learn.microsoft.com/microsoftteams/manage-resource-accounts. + + Guid + + Guid + + + None + + + ServiceNumber + + The ServiceNumber parameter lets you add any valid service number for the CallingIdSubstitute. + Note: Do not add '+' to the Service number. For example, if the Service number is +1425-xxx-xxxx then valid input is 1425xxxxxxx. + + String + + String + + + None + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + The Confirm switch causes the command to pause processing, and requires confirmation to proceed. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-CsCallingLineIdentity -Identity "MyBlockingPolicy" -BlockIncomingPstnCallerID $true + + This example blocks the incoming caller ID. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Set-CsCallingLineIdentity -Identity Anonymous -Description "anonymous policy" -CallingIDSubstitute Anonymous -EnableUserOverride $false -BlockIncomingPstnCallerID $true + + This example modifies the new Anonymous Caller ID policy to block the incoming Caller ID. + + + + -------------------------- Example 3 -------------------------- + $ObjId = (Get-CsOnlineApplicationInstance -Identity dkcq@contoso.com).ObjectId +Set-CsCallingLineIdentity -Identity DKCQ -CallingIDSubstitute Resource -ResourceAccount $ObjId -CompanyName "Contoso" + + This example modifies the Caller ID policy that sets the Caller ID to the phone number of the specified resource account and sets the Calling party name to Contoso + + + + -------------------------- Example 4 -------------------------- + Set-CsCallingLineIdentity -Identity AllowAnonymousForUsers -EnableUserOverride $true + + This example modifies the Caller ID policy and allows Teams users to make anonymous calls. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-cscallinglineidentity + + + Get-CsCallingLineIdentity + + + + Grant-CsCallingLineIdentity + + + + New-CsCallingLineIdentity + + + + Remove-CsCallingLineIdentity + + + + + + + Set-CsCallQueue + Set + CsCallQueue + + Updates a Call Queue in your Skype for Business Online or Teams organization. + + + + Set-CsCallQueue cmdlet provides a way for you to modify the properties of an existing Call Queue; for example, you can change the name for the Call Queue, the distribution lists associated with the Call Queue, or the welcome audio file. + The Set-CsCallQueue cmdlet may suggest additional steps required to complete the Call Queue setup. + Note that this cmdlet is in the Skype for Business Online PowerShell module and also affects Teams. The reason the "Applies To:" is stated as Skype for Business Online is because it must match the actual module name of the cmdlet. To learn how this cmdlet is used with Skype for Business Online and Teams, see https://learn.microsoft.com/microsoftteams/create-a-phone-system-call-queue. + > [!CAUTION] > The following configuration parameters are currently only available in PowerShell and do not appear in Teams admin center. Saving a call queue configuration through Teams admin center will remove any of these configured items. > > - -HideAuthorizedUsers > - -OverflowRedirectPersonTextToSpeechPrompt > - -OverflowRedirectPersonAudioFilePrompt > - -OverflowRedirectVoicemailTextToSpeechPrompt > - -OverflowRedirectVoicemailAudioFilePrompt > - -TimeoutRedirectPersonTextToSpeechPrompt > - -TimeoutRedirectPersonAudioFilePrompt > - -TimeoutRedirectVoicemailTextToSpeechPrompt > - -TimeoutRedirectVoicemailAudioFilePrompt > - -NoAgentRedirectPersonTextToSpeechPrompt > - -NoAgentRedirectPersonAudioFilePrompt > - -NoAgentRedirectVoicemailTextToSpeechPrompt > - -NoAgentRedirectVoicemailAudioFilePrompt > > The following configuration parameters will only work for customers that are participating in the Voice Applications private preview for these features. General Availability for this functionality has not been determined at this time. > > - -OverflowActionCallPriority > - -TimeoutActionCallPriority > - -NoAgentActionCallPriority > - -IsCallbackEnabled > - -CallbackRequestDtmf > - -WaitTimeBeforeOfferingCallbackInSecond > - -NumberOfCallsInQueueBeforeOfferingCallback > - -CallToAgentRatioThresholdBeforeOfferingCallback > - -CallbackOfferAudioFilePromptResourceId > - -CallbackOfferTextToSpeechPrompt > - -CallbackEmailNotificationTarget > - - + + + + Set-CsCallQueue + + Identity + + PARAMVALUE: Guid + + Object + + Object + + + None + + + AgentAlertTime + + The AgentAlertTime parameter represents the time (in seconds) that a call can remain unanswered before it is automatically routed to the next agent. The AgentAlertTime can be set to any integer value between 15 and 180 seconds (3 minutes), inclusive. + + Int16 + + Int16 + + + 30 + + + AllowOptOut + + The AllowOptOut parameter indicates whether or not agents can opt in or opt out from taking calls from a Call Queue. + + Boolean + + Boolean + + + True + + + DistributionLists + + The DistributionLists parameter lets you add all the members of the distribution lists to the Call Queue. This is a list of distribution list GUIDs. A service wide configurable maximum number of DLs per Call Queue are allowed. Only the first N (service wide configurable) agents from all distribution lists combined are considered for accepting the call. Nested DLs are supported. O365 Groups can also be used to add members to the Call Queue. + + List + + List + + + None + + + MusicOnHoldAudioFileId + + The MusicOnHoldFileContent parameter represents music to play when callers are placed on hold. This is the unique identifier of the audio file. This parameter is required if the UseDefaultMusicOnHold parameter is not specified. + + Guid + + Guid + + + None + + + Name + + The Name parameter specifies a unique name for the Call Queue. + + String + + String + + + None + + + OboResourceAccountIds + + The OboResourceAccountIds parameter lets you add resource account with phone number to the Call Queue. The agents in the Call Queue will be able to make outbound calls using the phone number on the resource accounts. This is a list of resource account GUIDs. + + List + + List + + + None + + + OverflowAction + + The OverflowAction parameter designates the action to take if the overflow threshold is reached. The OverflowAction property must be set to one of the following values: DisconnectWithBusy, Forward, Voicemail, and SharedVoicemail. The default value is DisconnectWithBusy. + PARAMVALUE: DisconnectWithBusy | Forward | Voicemail | SharedVoicemail + + Object + + Object + + + DisconnectWithBusy + + + OverflowActionTarget + + The OverflowActionTarget parameter represents the target of the overflow action. If the OverFlowAction is set to Forward, this parameter must be set to a Guid or a telephone number with a mandatory 'tel:' prefix. If the OverflowAction is set to SharedVoicemail, this parameter must be set to a group ID (Microsoft 365, Distribution list, or Mail-enabled security). Otherwise, this parameter is optional. + + String + + String + + + None + + + OverflowActionCallPriority + + Private Preview customers only If the OverflowAction is set to Forward, and the OverflowActionTarget is set to an Auto attendant or Call queue resource account Guid, this parameter must be set to indicate the priority that will be assigned to the call. Otherwise, this parameter is not applicable. + PARAMVALUE: 1 | 2 | 3 | 4 | 5 - 1 = Very High + - 2 = High + - 3 = Normal / Default + - 4 = Low + - 5 = Very Low + + Int16 + + Int16 + + + None + + + OverflowThreshold + + The OverflowThreshold parameter defines the number of calls that can be in the queue at any one time before the overflow action is triggered. The OverflowThreshold can be any integer value between 0 and 200, inclusive. A value of 0 causes calls not to reach agents and the overflow action to be taken immediately. + + Int16 + + Int16 + + + 50 + + + RoutingMethod + + The RoutingMethod defines how agents will be called in a Call Queue. If the routing method is set to Serial, then agents will be called one at a time. If the routing method is set to Attendant, then agents will be called in parallel. If routing method is set to RoundRobin, the agents will be called using Round Robin strategy so that all agents share the call-load equally. If routing method is set to LongestIdle, the agents will be called based on their idle time, i.e., the agent that has been idle for the longest period will be called. + PARAMVALUE: Attendant | Serial | RoundRobin | LongestIdle + + Object + + Object + + + Attendant + + + TimeoutAction + + The TimeoutAction parameter defines the action to take if the timeout threshold is reached. The TimeoutAction property must be set to one of the following values: Disconnect, Forward, Voicemail, and SharedVoicemail. The default value is Disconnect. + PARAMVALUE: Disconnect | Forward | Voicemail | SharedVoicemail + + Object + + Object + + + Disconnect + + + TimeoutActionTarget + + The TimeoutActionTarget represents the target of the timeout action. If the TimeoutAction is set to Forward, this parameter must be set to a Guid or a telephone number with a mandatory 'tel:' prefix. If the TimeoutAction is set to SharedVoicemail, this parameter must be set to an Office 365 Group ID. Otherwise, this field is optional. + + String + + String + + + None + + + TimeoutActionCallPriority + + Private Preview customers only If the TimeoutAction is set to Forward, and the TimeoutActionTarget is set to an Auto attendant or Call queue resource account Guid, this parameter must be set to indicate the priority that will be assigned to the call. Otherwise, this parameter is not applicable. + PARAMVALUE: 1 | 2 | 3 | 4 | 5 - 1 = Very High + - 2 = High + - 3 = Normal / Default + - 4 = Low + - 5 = Very Low + + Int16 + + Int16 + + + None + + + TimeoutThreshold + + The TimeoutThreshold parameter defines the time (in seconds) that a call can be in the queue before that call times out. At that point, the system will take the action specified by the TimeoutAction parameter. The TimeoutThreshold can be any integer value between 0 and 2700 seconds (inclusive), and is rounded to the nearest 15th interval. For example, if set to 47 seconds, then it is rounded down to 45. If set to 0, welcome music is played, and then the timeout action will be taken. + + Int16 + + Int16 + + + 1200 + + + NoAgentApplyTo + + The NoAgentApplyTo parameter defines if the NoAgentAction applies to calls already in queue and new calls arriving to the queue, or only new calls that arrive once the No Agents condition occurs. The default value is AllCalls. + PARAMVALUE: AllCalls | NewCalls + + Object + + Object + + + Disconnect + + + NoAgentAction + + The NoAgentAction parameter defines the action to take if the no agents condition is reached. The NoAgentAction property must be set to one of the following values: Queue, Disconnect, Forward, Voicemail, and SharedVoicemail. The default value is Queue. + PARAMVALUE: Queue | Disconnect | Forward | Voicemail | SharedVoicemail + + Object + + Object + + + Disconnect + + + NoAgentActionTarget + + The NoAgentActionTarget represents the target of the no agent action. If the NoAgentAction is set to Forward, this parameter must be set to a Guid or a telephone number with a mandatory 'tel:' prefix. If the NoAgentAction is set to SharedVoicemail, this parameter must be set to a group ID (Microsoft 365, Distribution list, or Mail-enabled security). Otherwise, this field is optional. + + String + + String + + + None + + + NoAgentActionCallPriority + + Private Preview customers only If the NoAgentAction is set to Forward, and the NoAgentActionTarget is set to an Auto attendant or Call queue resource account Guid, this parameter must be set to indicate the priority that will be assigned to the call. Otherwise, this parameter is not applicable. + PARAMVALUE: 1 | 2 | 3 | 4 | 5 - 1 = Very High + - 2 = High + - 3 = Normal / Default + - 4 = Low + - 5 = Very Low + + Int16 + + Int16 + + + None + + + UseDefaultMusicOnHold + + The UseDefaultMusicOnHold parameter indicates that this Call Queue uses the default music on hold. This parameter cannot be specified together with MusicOnHoldAudioFileId. + + Boolean + + Boolean + + + None + + + WelcomeMusicAudioFileId + + The WelcomeMusicAudioFileId parameter represents the audio file to play when callers are connected with the Call Queue. This is the unique identifier of the audio file. + + Guid + + Guid + + + None + + + PresenceBasedRouting + + The PresenceBasedRouting parameter indicates whether or not presence based routing will be applied while call being routed to Call Queue agents. When set to False, calls will be routed to agents who have opted in to receive calls, regardless of their presence state. When set to True, opted-in agents will receive calls only when their presence state is Available. + + Boolean + + Boolean + + + False + + + ConferenceMode + + The ConferenceMode parameter indicates whether or not Conference mode will be applied on calls for this Call queue. Conference mode significantly reduces the amount of time it takes for a caller to be connected to an agent, after the agent accepts the call. The following bullet points detail the difference between both modes: + - Conference Mode Disabled: CQ call is presented to agent. Agent answers and media streams are setup. Based on geographic location of the CQ call and agent, there may be a slight delay in setting up the media streams which may result in some dead air and the first part of the conversation being cut off. + - Conference Mode Enabled: CQ call is put into conference. Agent answers and is brought into conference. Media streams are already setup when agent is brought into conference thus no dead air, and first bit of conversation will not be cut off. + + Boolean + + Boolean + + + False + + + Users + + The User parameter lets you add agents to the Call Queue. This parameter expects a list of user unique identifiers (GUID). + + List + + List + + + None + + + Tenant + + This parameter is reserved for Microsoft internal use only. + + Guid + + Guid + + + None + + + LanguageId + + The LanguageId parameter indicates the language that is used to play shared voicemail prompts. This parameter becomes a required parameter If either OverflowAction or TimeoutAction is set to SharedVoicemail. + You can query the supported languages using the Get-CsAutoAttendantSupportedLanguage cmdlet. + + String + + String + + + None + + + LineUri + + This parameter is reserved for Microsoft internal use only. + + String + + String + + + None + + + OverflowDisconnectAudioFilePrompt + + The OverflowDisconnectAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being disconnected due to overflow. + + Guid + + Guid + + + None + + + OverflowDisconnectTextToSpeechPrompt + + The OverflowDisconnectTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being disconnected due to overflow. + + String + + String + + + None + + + OverflowRedirectPersonAudioFilePrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The OverflowRedirectPersonAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a person in the organization due to overflow. + + Guid + + Guid + + + None + + + OverflowRedirectPersonTextToSpeechPrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The OverflowRedirectPersonTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a person in the organization due to overflow. + + String + + String + + + None + + + OverflowRedirectVoiceAppAudioFilePrompt + + The OverflowRedirectVoiceAppAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a voice application due to overflow. + + Guid + + Guid + + + None + + + OverflowRedirectVoiceAppTextToSpeechPrompt + + The OverflowRedirectVoiceAppsTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a voice application due to overflow. + + String + + String + + + None + + + OverflowRedirectPhoneNumberAudioFilePrompt + + The OverflowRedirectPhoneNumberAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to an external PSTN phone number due to overflow. + + Guid + + Guid + + + None + + + OverflowRedirectPhoneNumberTextToSpeechPrompt + + The OverflowRedirectPhoneNumberTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to an external PSTN phone number due to overflow. + + String + + String + + + None + + + OverflowRedirectVoicemailAudioFilePrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The OverflowRedirectVoiceMailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a person's voicemail due to overflow. + + Guid + + Guid + + + None + + + OverflowRedirectVoicemailTextToSpeechPrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The OverflowRedirectVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a person's voicemail due to overflow. + + String + + String + + + None + + + OverflowSharedVoicemailTextToSpeechPrompt + + The OverflowSharedVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when transferred to shared voicemail on overflow. This parameter becomes a required parameter when OverflowAction is SharedVoicemail and OverflowSharedVoicemailAudioFilePrompt is null. + + String + + String + + + None + + + OverflowSharedVoicemailAudioFilePrompt + + The OverflowSharedVoicemailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when transferred to shared voicemail on overflow. This parameter becomes a required parameter when OverflowAction is SharedVoicemail and OverflowSharedVoicemailTextToSpeechPrompt is null. + + Guid + + Guid + + + None + + + EnableOverflowSharedVoicemailTranscription + + The EnableOverflowSharedVoicemailTranscription parameter is used to turn on transcription for voicemails left by a caller on overflow. This parameter is only applicable when OverflowAction is set to SharedVoicemail. + + Boolean + + Boolean + + + False + + + EnableOverflowSharedVoicemailSystemPromptSuppression + + The EnableOverflowSharedVoicemailSystemPromptSuppress parameter is used to turn off the default voicemail system prompts. This parameter is only applicable when OverflowAction is set to SharedVoicemail. + + Boolean + + Boolean + + + False + + + TimeoutDisconnectAudioFilePrompt + + The TimeoutDisconnectAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being disconnected due to timeout. + + Guid + + Guid + + + None + + + TimeoutDisconnectTextToSpeechPrompt + + The TimeoutDisconnectTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being disconnected due to timeout. + + String + + String + + + None + + + TimeoutRedirectPersonAudioFilePrompt + + The TimeoutRedirectPersonAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a person in the organization due to timeout. + + Guid + + Guid + + + None + + + TimeoutRedirectPersonTextToSpeechPrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The TimeoutRedirectPersonTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a person in the organization due to timeout. + + String + + String + + + None + + + TimeoutRedirectVoiceAppAudioFilePrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The TimeoutRedirectVoiceAppAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a voice application due to timeout. + + Guid + + Guid + + + None + + + TimeoutRedirectVoiceAppTextToSpeechPrompt + + The TimeoutRedirectVoiceAppsTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a voice application due to timeout. + + String + + String + + + None + + + TimeoutRedirectPhoneNumberAudioFilePrompt + + The TimeoutRedirectPhoneNumberAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to an external PSTN phone number due to timeout. + + Guid + + Guid + + + None + + + TimeoutRedirectPhoneNumberTextToSpeechPrompt + + The TimeoutRedirectPhoneNumberTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to an external PSTN phone number due to timeout. + + String + + String + + + None + + + TimeoutRedirectVoicemailAudioFilePrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The TimeoutRedirectVoiceMailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a person's voicemail due to timeout. + + Guid + + Guid + + + None + + + TimeoutRedirectVoicemailTextToSpeechPrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The TimeoutRedirectVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a person's voicemail due to timeout. + + String + + String + + + None + + + TimeoutSharedVoicemailTextToSpeechPrompt + + The TimeoutSharedVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when transferred to shared voicemail on timeout. This parameter becomes a required parameter when TimeoutAction is SharedVoicemail and TimeoutSharedVoicemailAudioFilePrompt is null. + + String + + String + + + None + + + TimeoutSharedVoicemailAudioFilePrompt + + The TimeoutSharedVoicemailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when transferred to shared voicemail on timeout. This parameter becomes a required parameter when TimeoutAction is SharedVoicemail and TimeoutSharedVoicemailTextToSpeechPrompt is null. + + Guid + + Guid + + + None + + + EnableTimeoutSharedVoicemailTranscription + + The EnableTimeoutSharedVoicemailTranscription parameter is used to turn on transcription for voicemails left by a caller on timeout. This parameter is only applicable when TimeoutAction is set to SharedVoicemail. + + Boolean + + Boolean + + + False + + + EnableTimeoutSharedVoicemailSystemPromptSuppression + + The EnableTimeoutSharedVoicemailSystemPromptSuppression parameter is used to turn off the default voicemail system prompts. This parameter is only applicable when OverflowAction is set to SharedVoicemail. + + Boolean + + Boolean + + + False + + + NoAgentDisconnectTextToSpeechPrompt + + The NoAgentDisconnectTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being disconnected due to no agents. + + String + + String + + + None + + + NoAgentDisconnectAudioFilePrompt + + The NoAgentDisconnectAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being disconnected due to no agents. + + Guid + + Guid + + + None + + + NoAgentRedirectPersonTextToSpeechPrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The NoAgentRedirectPersonTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a person in the organization due to no agents. + + String + + String + + + None + + + NoAgentRedirectPersonAudioFilePrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The NoAgentRedirectPersonAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a person in the organization due to no agents. + + Guid + + Guid + + + None + + + NoAgentRedirectVoiceAppTextToSpeechPrompt + + The NoAgentRedirectVoiceAppsTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a voice application due to no agents. + + String + + String + + + None + + + NoAgentRedirectVoiceAppAudioFilePrompt + + The NoAgentRedirectVoiceAppAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a voice application due to no agents. + + Guid + + Guid + + + None + + + NoAgentRedirectPhoneNumberTextToSpeechPrompt + + The NoAgentRedirectPhoneNumberTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to an external PSTN phone number due to no agents. + + String + + String + + + None + + + NoAgentRedirectPhoneNumberAudioFilePrompt + + The NoAgentRedirectPhoneNumberAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to an external PSTN phone number due to no agents. + + Guid + + Guid + + + None + + + NoAgentRedirectVoicemailTextToSpeechPrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The NoAgentRedirectVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a person's voicemail due to no agent. + + String + + String + + + None + + + NoAgentRedirectVoicemailAudioFilePrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The NoAgentRedirectVoiceMailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a person's voicemail due to no agent. + + Guid + + Guid + + + None + + + NoAgentSharedVoicemailTextToSpeechPrompt + + The NoAgentSharedVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when transferred to shared voicemail on no agents. This parameter becomes a required parameter when NoAgentAction is SharedVoicemail and NoAgentSharedVoicemailAudioFilePrompt is null. + + String + + String + + + None + + + NoAgentSharedVoicemailAudioFilePrompt + + The NoAgentSharedVoicemailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when transferred to shared voicemail on no agents. This parameter becomes a required parameter when NoAgentAction is SharedVoicemail and NoAgentSharedVoicemailTextToSpeechPrompt is null. + + Guid + + Guid + + + None + + + EnableNoAgentSharedVoicemailTranscription + + The EnableNoAgentSharedVoicemailTranscription parameter is used to turn on transcription for voicemails left by a caller on no agents. This parameter is only applicable when NoAgentAction is set to SharedVoicemail. + + Boolean + + Boolean + + + False + + + EnableNoAgentSharedVoicemailSystemPromptSuppression + + The EnableNoAgentSharedVoicemailSystemPromptSuppression parameter is used to turn off the default voicemail system prompts. This parameter is only applicable when NoAgentAction is set to SharedVoicemail. + + Boolean + + Boolean + + + False + + + ChannelId + + Id of the channel to connect a call queue to. + + String + + String + + + None + + + ChannelUserObjectId + + The GUID should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). This is the GUID of one of the owners of the team that the channel belongs to. + + Guid + + Guid + + + None + + + AuthorizedUsers + + This is a list of GUIDs for users who are authorized to make changes to this call queue. The users must also have a TeamsVoiceApplications policy assigned. The GUID should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). + + List + + List + + + None + + + HideAuthorizedUsers + + Saving a call queue configuration through Teams admin center will *remove* this setting. This is a list of GUIDs of authorized users who should not appear on the list of supervisors for the agents who are members of this queue. The GUID should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). + + List + + List + + + None + + + WelcomeTextToSpeechPrompt + + This parameter indicates which Text-to-Speech (TTS) prompt is played when callers are connected to the Call Queue. + + String + + String + + + None + + + IsCallbackEnabled + + Private Preview customers only The IsCallbackEnabled parameter is used to turn on/off callback. + + Boolean + + Boolean + + + None + + + CallbackRequestDtmf + + Private Preview customers only The DTMF touch-tone key the caller will be told to press to select callback. The CallbackRequestDtmf must be set to one of the following values: + - Tone0 to Tone9 - Corresponds to DTMF tones from 0 to 9. + - ToneStar - Corresponds to DTMF tone *. + - TonePound - Corresponds to DTMF tone #. + + This parameter becomes a required parameter when IsCallbackEnabled is set to `True`. + + String + + String + + + None + + + WaitTimeBeforeOfferingCallbackInSecond + + Private Preview customers only The number of seconds a call must wait before becoming eligible for callback. This condition applies to calls at the front of the call queue. Set to null ($null) to disable this condition. + At least one of `-WaitTimeBeforeOfferingCallbackInSecond`, `-NumberOfCallsInQueueBeforeOfferingCallback`, or `-CallToAgentRatioThresholdBeforeOfferingCallback` must be set to a value other than null when `-IsCallbackEnabled` is `True`. + + Int16 + + Int16 + + + None + + + NumberOfCallsInQueueBeforeOfferingCallback + + Private Preview customers only The number of calls in queue before a call becomes eligible for callback. This condition applies to calls arriving at the call queue. Set to null ($null) to disable this condition. + At least one of `-WaitTimeBeforeOfferingCallbackInSecond`, `-NumberOfCallsInQueueBeforeOfferingCallback`, or `-CallToAgentRatioThresholdBeforeOfferingCallback` must be set to a value other than null when `-IsCallbackEnabled` is `True`. + + Int16 + + Int16 + + + None + + + CallToAgentRatioThresholdBeforeOfferingCallback + + Private Preview customers only The ratio of calls to agents that must be in queue before a call becomes eligible for callback. This conditon applies to calls arriving at the call queue. Minimum value of one (1). Set to null ($null) to disable this condition. + At least one of `-WaitTimeBeforeOfferingCallbackInSecond`, `-NumberOfCallsInQueueBeforeOfferingCallback`, or `-CallToAgentRatioThresholdBeforeOfferingCallback` must be set to a value other than null when `-IsCallbackEnabled` is `True`. + + Int16 + + Int16 + + + None + + + CallbackOfferAudioFilePromptResourceId + + Private Preview customers only The CallbackOfferAudioFilePromptResourceId parameter indicates the unique identifier for the Audio file prompt which is played to calls that are eligible for callback. This message should tell callers which DTMF touch-tone key (CallbackRequestDtmf) to press to select callback. This parameter, or `-CallbackOfferTextToSpeechPrompt`, becomes a required parameter when IsCallbackEnabled is set to `True`. + + Guid + + Guid + + + None + + + CallbackOfferTextToSpeechPrompt + + Private Preview customers only The CallbackOfferTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to calls that are eligible for callback. This message should tell callers which DTMF touch-tone key (CallbackRequestDtmf) to press to select callback. This parameter, or `-CallbackOfferAudioFilePromptResourceId`, becomes a required parameter when IsCallbackEnabled is set to `True`. + + String + + String + + + None + + + CallbackEmailNotificationTarget + + Private Preview customers only The CallbackEmailNotificationTarget parameter must be set to a group ID (Microsoft 365, Distribution list, or Mail-enabled security) that will receive notification if a callback times out of the call queue or can't be completed for some other reason. This parameter becomes a required parameter when IsCallbackEnabled is set to `True`. + + Guid + + Guid + + + None + + + + + Private Preview customers only The target number of seconds calls should be answered in. This number is used to calculate the call queue service level percentage. + A value of `$null` indicates that a service level percentage will not be calculated for this call queue. + + Int16 + + Int16 + + + None + + + ShouldOverwriteCallableChannelProperty + + A Teams Channel can only be linked to one Call Queue at a time. To force reassignment of the Teams Channel to a new Call Queue, set this to $true. + + Boolean + + Boolean + + + False + + + + + + Identity + + PARAMVALUE: Guid + + Object + + Object + + + None + + + AgentAlertTime + + The AgentAlertTime parameter represents the time (in seconds) that a call can remain unanswered before it is automatically routed to the next agent. The AgentAlertTime can be set to any integer value between 15 and 180 seconds (3 minutes), inclusive. + + Int16 + + Int16 + + + 30 + + + AllowOptOut + + The AllowOptOut parameter indicates whether or not agents can opt in or opt out from taking calls from a Call Queue. + + Boolean + + Boolean + + + True + + + DistributionLists + + The DistributionLists parameter lets you add all the members of the distribution lists to the Call Queue. This is a list of distribution list GUIDs. A service wide configurable maximum number of DLs per Call Queue are allowed. Only the first N (service wide configurable) agents from all distribution lists combined are considered for accepting the call. Nested DLs are supported. O365 Groups can also be used to add members to the Call Queue. + + List + + List + + + None + + + MusicOnHoldAudioFileId + + The MusicOnHoldFileContent parameter represents music to play when callers are placed on hold. This is the unique identifier of the audio file. This parameter is required if the UseDefaultMusicOnHold parameter is not specified. + + Guid + + Guid + + + None + + + Name + + The Name parameter specifies a unique name for the Call Queue. + + String + + String + + + None + + + OboResourceAccountIds + + The OboResourceAccountIds parameter lets you add resource account with phone number to the Call Queue. The agents in the Call Queue will be able to make outbound calls using the phone number on the resource accounts. This is a list of resource account GUIDs. + + List + + List + + + None + + + OverflowAction + + The OverflowAction parameter designates the action to take if the overflow threshold is reached. The OverflowAction property must be set to one of the following values: DisconnectWithBusy, Forward, Voicemail, and SharedVoicemail. The default value is DisconnectWithBusy. + PARAMVALUE: DisconnectWithBusy | Forward | Voicemail | SharedVoicemail + + Object + + Object + + + DisconnectWithBusy + + + OverflowActionTarget + + The OverflowActionTarget parameter represents the target of the overflow action. If the OverFlowAction is set to Forward, this parameter must be set to a Guid or a telephone number with a mandatory 'tel:' prefix. If the OverflowAction is set to SharedVoicemail, this parameter must be set to a group ID (Microsoft 365, Distribution list, or Mail-enabled security). Otherwise, this parameter is optional. + + String + + String + + + None + + + OverflowActionCallPriority + + Private Preview customers only If the OverflowAction is set to Forward, and the OverflowActionTarget is set to an Auto attendant or Call queue resource account Guid, this parameter must be set to indicate the priority that will be assigned to the call. Otherwise, this parameter is not applicable. + PARAMVALUE: 1 | 2 | 3 | 4 | 5 - 1 = Very High + - 2 = High + - 3 = Normal / Default + - 4 = Low + - 5 = Very Low + + Int16 + + Int16 + + + None + + + OverflowThreshold + + The OverflowThreshold parameter defines the number of calls that can be in the queue at any one time before the overflow action is triggered. The OverflowThreshold can be any integer value between 0 and 200, inclusive. A value of 0 causes calls not to reach agents and the overflow action to be taken immediately. + + Int16 + + Int16 + + + 50 + + + RoutingMethod + + The RoutingMethod defines how agents will be called in a Call Queue. If the routing method is set to Serial, then agents will be called one at a time. If the routing method is set to Attendant, then agents will be called in parallel. If routing method is set to RoundRobin, the agents will be called using Round Robin strategy so that all agents share the call-load equally. If routing method is set to LongestIdle, the agents will be called based on their idle time, i.e., the agent that has been idle for the longest period will be called. + PARAMVALUE: Attendant | Serial | RoundRobin | LongestIdle + + Object + + Object + + + Attendant + + + TimeoutAction + + The TimeoutAction parameter defines the action to take if the timeout threshold is reached. The TimeoutAction property must be set to one of the following values: Disconnect, Forward, Voicemail, and SharedVoicemail. The default value is Disconnect. + PARAMVALUE: Disconnect | Forward | Voicemail | SharedVoicemail + + Object + + Object + + + Disconnect + + + TimeoutActionTarget + + The TimeoutActionTarget represents the target of the timeout action. If the TimeoutAction is set to Forward, this parameter must be set to a Guid or a telephone number with a mandatory 'tel:' prefix. If the TimeoutAction is set to SharedVoicemail, this parameter must be set to an Office 365 Group ID. Otherwise, this field is optional. + + String + + String + + + None + + + TimeoutActionCallPriority + + Private Preview customers only If the TimeoutAction is set to Forward, and the TimeoutActionTarget is set to an Auto attendant or Call queue resource account Guid, this parameter must be set to indicate the priority that will be assigned to the call. Otherwise, this parameter is not applicable. + PARAMVALUE: 1 | 2 | 3 | 4 | 5 - 1 = Very High + - 2 = High + - 3 = Normal / Default + - 4 = Low + - 5 = Very Low + + Int16 + + Int16 + + + None + + + TimeoutThreshold + + The TimeoutThreshold parameter defines the time (in seconds) that a call can be in the queue before that call times out. At that point, the system will take the action specified by the TimeoutAction parameter. The TimeoutThreshold can be any integer value between 0 and 2700 seconds (inclusive), and is rounded to the nearest 15th interval. For example, if set to 47 seconds, then it is rounded down to 45. If set to 0, welcome music is played, and then the timeout action will be taken. + + Int16 + + Int16 + + + 1200 + + + NoAgentApplyTo + + The NoAgentApplyTo parameter defines if the NoAgentAction applies to calls already in queue and new calls arriving to the queue, or only new calls that arrive once the No Agents condition occurs. The default value is AllCalls. + PARAMVALUE: AllCalls | NewCalls + + Object + + Object + + + Disconnect + + + NoAgentAction + + The NoAgentAction parameter defines the action to take if the no agents condition is reached. The NoAgentAction property must be set to one of the following values: Queue, Disconnect, Forward, Voicemail, and SharedVoicemail. The default value is Queue. + PARAMVALUE: Queue | Disconnect | Forward | Voicemail | SharedVoicemail + + Object + + Object + + + Disconnect + + + NoAgentActionTarget + + The NoAgentActionTarget represents the target of the no agent action. If the NoAgentAction is set to Forward, this parameter must be set to a Guid or a telephone number with a mandatory 'tel:' prefix. If the NoAgentAction is set to SharedVoicemail, this parameter must be set to a group ID (Microsoft 365, Distribution list, or Mail-enabled security). Otherwise, this field is optional. + + String + + String + + + None + + + NoAgentActionCallPriority + + Private Preview customers only If the NoAgentAction is set to Forward, and the NoAgentActionTarget is set to an Auto attendant or Call queue resource account Guid, this parameter must be set to indicate the priority that will be assigned to the call. Otherwise, this parameter is not applicable. + PARAMVALUE: 1 | 2 | 3 | 4 | 5 - 1 = Very High + - 2 = High + - 3 = Normal / Default + - 4 = Low + - 5 = Very Low + + Int16 + + Int16 + + + None + + + UseDefaultMusicOnHold + + The UseDefaultMusicOnHold parameter indicates that this Call Queue uses the default music on hold. This parameter cannot be specified together with MusicOnHoldAudioFileId. + + Boolean + + Boolean + + + None + + + WelcomeMusicAudioFileId + + The WelcomeMusicAudioFileId parameter represents the audio file to play when callers are connected with the Call Queue. This is the unique identifier of the audio file. + + Guid + + Guid + + + None + + + PresenceBasedRouting + + The PresenceBasedRouting parameter indicates whether or not presence based routing will be applied while call being routed to Call Queue agents. When set to False, calls will be routed to agents who have opted in to receive calls, regardless of their presence state. When set to True, opted-in agents will receive calls only when their presence state is Available. + + Boolean + + Boolean + + + False + + + ConferenceMode + + The ConferenceMode parameter indicates whether or not Conference mode will be applied on calls for this Call queue. Conference mode significantly reduces the amount of time it takes for a caller to be connected to an agent, after the agent accepts the call. The following bullet points detail the difference between both modes: + - Conference Mode Disabled: CQ call is presented to agent. Agent answers and media streams are setup. Based on geographic location of the CQ call and agent, there may be a slight delay in setting up the media streams which may result in some dead air and the first part of the conversation being cut off. + - Conference Mode Enabled: CQ call is put into conference. Agent answers and is brought into conference. Media streams are already setup when agent is brought into conference thus no dead air, and first bit of conversation will not be cut off. + + Boolean + + Boolean + + + False + + + Users + + The User parameter lets you add agents to the Call Queue. This parameter expects a list of user unique identifiers (GUID). + + List + + List + + + None + + + Tenant + + This parameter is reserved for Microsoft internal use only. + + Guid + + Guid + + + None + + + LanguageId + + The LanguageId parameter indicates the language that is used to play shared voicemail prompts. This parameter becomes a required parameter If either OverflowAction or TimeoutAction is set to SharedVoicemail. + You can query the supported languages using the Get-CsAutoAttendantSupportedLanguage cmdlet. + + String + + String + + + None + + + LineUri + + This parameter is reserved for Microsoft internal use only. + + String + + String + + + None + + + OverflowDisconnectAudioFilePrompt + + The OverflowDisconnectAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being disconnected due to overflow. + + Guid + + Guid + + + None + + + OverflowDisconnectTextToSpeechPrompt + + The OverflowDisconnectTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being disconnected due to overflow. + + String + + String + + + None + + + OverflowRedirectPersonAudioFilePrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The OverflowRedirectPersonAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a person in the organization due to overflow. + + Guid + + Guid + + + None + + + OverflowRedirectPersonTextToSpeechPrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The OverflowRedirectPersonTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a person in the organization due to overflow. + + String + + String + + + None + + + OverflowRedirectVoiceAppAudioFilePrompt + + The OverflowRedirectVoiceAppAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a voice application due to overflow. + + Guid + + Guid + + + None + + + OverflowRedirectVoiceAppTextToSpeechPrompt + + The OverflowRedirectVoiceAppsTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a voice application due to overflow. + + String + + String + + + None + + + OverflowRedirectPhoneNumberAudioFilePrompt + + The OverflowRedirectPhoneNumberAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to an external PSTN phone number due to overflow. + + Guid + + Guid + + + None + + + OverflowRedirectPhoneNumberTextToSpeechPrompt + + The OverflowRedirectPhoneNumberTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to an external PSTN phone number due to overflow. + + String + + String + + + None + + + OverflowRedirectVoicemailAudioFilePrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The OverflowRedirectVoiceMailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a person's voicemail due to overflow. + + Guid + + Guid + + + None + + + OverflowRedirectVoicemailTextToSpeechPrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The OverflowRedirectVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a person's voicemail due to overflow. + + String + + String + + + None + + + OverflowSharedVoicemailTextToSpeechPrompt + + The OverflowSharedVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when transferred to shared voicemail on overflow. This parameter becomes a required parameter when OverflowAction is SharedVoicemail and OverflowSharedVoicemailAudioFilePrompt is null. + + String + + String + + + None + + + OverflowSharedVoicemailAudioFilePrompt + + The OverflowSharedVoicemailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when transferred to shared voicemail on overflow. This parameter becomes a required parameter when OverflowAction is SharedVoicemail and OverflowSharedVoicemailTextToSpeechPrompt is null. + + Guid + + Guid + + + None + + + EnableOverflowSharedVoicemailTranscription + + The EnableOverflowSharedVoicemailTranscription parameter is used to turn on transcription for voicemails left by a caller on overflow. This parameter is only applicable when OverflowAction is set to SharedVoicemail. + + Boolean + + Boolean + + + False + + + EnableOverflowSharedVoicemailSystemPromptSuppression + + The EnableOverflowSharedVoicemailSystemPromptSuppress parameter is used to turn off the default voicemail system prompts. This parameter is only applicable when OverflowAction is set to SharedVoicemail. + + Boolean + + Boolean + + + False + + + TimeoutDisconnectAudioFilePrompt + + The TimeoutDisconnectAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being disconnected due to timeout. + + Guid + + Guid + + + None + + + TimeoutDisconnectTextToSpeechPrompt + + The TimeoutDisconnectTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being disconnected due to timeout. + + String + + String + + + None + + + TimeoutRedirectPersonAudioFilePrompt + + The TimeoutRedirectPersonAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a person in the organization due to timeout. + + Guid + + Guid + + + None + + + TimeoutRedirectPersonTextToSpeechPrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The TimeoutRedirectPersonTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a person in the organization due to timeout. + + String + + String + + + None + + + TimeoutRedirectVoiceAppAudioFilePrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The TimeoutRedirectVoiceAppAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a voice application due to timeout. + + Guid + + Guid + + + None + + + TimeoutRedirectVoiceAppTextToSpeechPrompt + + The TimeoutRedirectVoiceAppsTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a voice application due to timeout. + + String + + String + + + None + + + TimeoutRedirectPhoneNumberAudioFilePrompt + + The TimeoutRedirectPhoneNumberAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to an external PSTN phone number due to timeout. + + Guid + + Guid + + + None + + + TimeoutRedirectPhoneNumberTextToSpeechPrompt + + The TimeoutRedirectPhoneNumberTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to an external PSTN phone number due to timeout. + + String + + String + + + None + + + TimeoutRedirectVoicemailAudioFilePrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The TimeoutRedirectVoiceMailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a person's voicemail due to timeout. + + Guid + + Guid + + + None + + + TimeoutRedirectVoicemailTextToSpeechPrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The TimeoutRedirectVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a person's voicemail due to timeout. + + String + + String + + + None + + + TimeoutSharedVoicemailTextToSpeechPrompt + + The TimeoutSharedVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when transferred to shared voicemail on timeout. This parameter becomes a required parameter when TimeoutAction is SharedVoicemail and TimeoutSharedVoicemailAudioFilePrompt is null. + + String + + String + + + None + + + TimeoutSharedVoicemailAudioFilePrompt + + The TimeoutSharedVoicemailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when transferred to shared voicemail on timeout. This parameter becomes a required parameter when TimeoutAction is SharedVoicemail and TimeoutSharedVoicemailTextToSpeechPrompt is null. + + Guid + + Guid + + + None + + + EnableTimeoutSharedVoicemailTranscription + + The EnableTimeoutSharedVoicemailTranscription parameter is used to turn on transcription for voicemails left by a caller on timeout. This parameter is only applicable when TimeoutAction is set to SharedVoicemail. + + Boolean + + Boolean + + + False + + + EnableTimeoutSharedVoicemailSystemPromptSuppression + + The EnableTimeoutSharedVoicemailSystemPromptSuppression parameter is used to turn off the default voicemail system prompts. This parameter is only applicable when OverflowAction is set to SharedVoicemail. + + Boolean + + Boolean + + + False + + + NoAgentDisconnectTextToSpeechPrompt + + The NoAgentDisconnectTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being disconnected due to no agents. + + String + + String + + + None + + + NoAgentDisconnectAudioFilePrompt + + The NoAgentDisconnectAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being disconnected due to no agents. + + Guid + + Guid + + + None + + + NoAgentRedirectPersonTextToSpeechPrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The NoAgentRedirectPersonTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a person in the organization due to no agents. + + String + + String + + + None + + + NoAgentRedirectPersonAudioFilePrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The NoAgentRedirectPersonAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a person in the organization due to no agents. + + Guid + + Guid + + + None + + + NoAgentRedirectVoiceAppTextToSpeechPrompt + + The NoAgentRedirectVoiceAppsTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a voice application due to no agents. + + String + + String + + + None + + + NoAgentRedirectVoiceAppAudioFilePrompt + + The NoAgentRedirectVoiceAppAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a voice application due to no agents. + + Guid + + Guid + + + None + + + NoAgentRedirectPhoneNumberTextToSpeechPrompt + + The NoAgentRedirectPhoneNumberTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to an external PSTN phone number due to no agents. + + String + + String + + + None + + + NoAgentRedirectPhoneNumberAudioFilePrompt + + The NoAgentRedirectPhoneNumberAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to an external PSTN phone number due to no agents. + + Guid + + Guid + + + None + + + NoAgentRedirectVoicemailTextToSpeechPrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The NoAgentRedirectVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a person's voicemail due to no agent. + + String + + String + + + None + + + NoAgentRedirectVoicemailAudioFilePrompt + + Saving a call queue configuration through Teams admin center will *remove* this setting. The NoAgentRedirectVoiceMailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a person's voicemail due to no agent. + + Guid + + Guid + + + None + + + NoAgentSharedVoicemailTextToSpeechPrompt + + The NoAgentSharedVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when transferred to shared voicemail on no agents. This parameter becomes a required parameter when NoAgentAction is SharedVoicemail and NoAgentSharedVoicemailAudioFilePrompt is null. + + String + + String + + + None + + + NoAgentSharedVoicemailAudioFilePrompt + + The NoAgentSharedVoicemailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when transferred to shared voicemail on no agents. This parameter becomes a required parameter when NoAgentAction is SharedVoicemail and NoAgentSharedVoicemailTextToSpeechPrompt is null. + + Guid + + Guid + + + None + + + EnableNoAgentSharedVoicemailTranscription + + The EnableNoAgentSharedVoicemailTranscription parameter is used to turn on transcription for voicemails left by a caller on no agents. This parameter is only applicable when NoAgentAction is set to SharedVoicemail. + + Boolean + + Boolean + + + False + + + EnableNoAgentSharedVoicemailSystemPromptSuppression + + The EnableNoAgentSharedVoicemailSystemPromptSuppression parameter is used to turn off the default voicemail system prompts. This parameter is only applicable when NoAgentAction is set to SharedVoicemail. + + Boolean + + Boolean + + + False + + + ChannelId + + Id of the channel to connect a call queue to. + + String + + String + + + None + + + ChannelUserObjectId + + The GUID should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). This is the GUID of one of the owners of the team that the channel belongs to. + + Guid + + Guid + + + None + + + AuthorizedUsers + + This is a list of GUIDs for users who are authorized to make changes to this call queue. The users must also have a TeamsVoiceApplications policy assigned. The GUID should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). + + List + + List + + + None + + + HideAuthorizedUsers + + Saving a call queue configuration through Teams admin center will *remove* this setting. This is a list of GUIDs of authorized users who should not appear on the list of supervisors for the agents who are members of this queue. The GUID should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). + + List + + List + + + None + + + WelcomeTextToSpeechPrompt + + This parameter indicates which Text-to-Speech (TTS) prompt is played when callers are connected to the Call Queue. + + String + + String + + + None + + + IsCallbackEnabled + + Private Preview customers only The IsCallbackEnabled parameter is used to turn on/off callback. + + Boolean + + Boolean + + + None + + + CallbackRequestDtmf + + Private Preview customers only The DTMF touch-tone key the caller will be told to press to select callback. The CallbackRequestDtmf must be set to one of the following values: + - Tone0 to Tone9 - Corresponds to DTMF tones from 0 to 9. + - ToneStar - Corresponds to DTMF tone *. + - TonePound - Corresponds to DTMF tone #. + + This parameter becomes a required parameter when IsCallbackEnabled is set to `True`. + + String + + String + + + None + + + WaitTimeBeforeOfferingCallbackInSecond + + Private Preview customers only The number of seconds a call must wait before becoming eligible for callback. This condition applies to calls at the front of the call queue. Set to null ($null) to disable this condition. + At least one of `-WaitTimeBeforeOfferingCallbackInSecond`, `-NumberOfCallsInQueueBeforeOfferingCallback`, or `-CallToAgentRatioThresholdBeforeOfferingCallback` must be set to a value other than null when `-IsCallbackEnabled` is `True`. + + Int16 + + Int16 + + + None + + + NumberOfCallsInQueueBeforeOfferingCallback + + Private Preview customers only The number of calls in queue before a call becomes eligible for callback. This condition applies to calls arriving at the call queue. Set to null ($null) to disable this condition. + At least one of `-WaitTimeBeforeOfferingCallbackInSecond`, `-NumberOfCallsInQueueBeforeOfferingCallback`, or `-CallToAgentRatioThresholdBeforeOfferingCallback` must be set to a value other than null when `-IsCallbackEnabled` is `True`. + + Int16 + + Int16 + + + None + + + CallToAgentRatioThresholdBeforeOfferingCallback + + Private Preview customers only The ratio of calls to agents that must be in queue before a call becomes eligible for callback. This conditon applies to calls arriving at the call queue. Minimum value of one (1). Set to null ($null) to disable this condition. + At least one of `-WaitTimeBeforeOfferingCallbackInSecond`, `-NumberOfCallsInQueueBeforeOfferingCallback`, or `-CallToAgentRatioThresholdBeforeOfferingCallback` must be set to a value other than null when `-IsCallbackEnabled` is `True`. + + Int16 + + Int16 + + + None + + + CallbackOfferAudioFilePromptResourceId + + Private Preview customers only The CallbackOfferAudioFilePromptResourceId parameter indicates the unique identifier for the Audio file prompt which is played to calls that are eligible for callback. This message should tell callers which DTMF touch-tone key (CallbackRequestDtmf) to press to select callback. This parameter, or `-CallbackOfferTextToSpeechPrompt`, becomes a required parameter when IsCallbackEnabled is set to `True`. + + Guid + + Guid + + + None + + + CallbackOfferTextToSpeechPrompt + + Private Preview customers only The CallbackOfferTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to calls that are eligible for callback. This message should tell callers which DTMF touch-tone key (CallbackRequestDtmf) to press to select callback. This parameter, or `-CallbackOfferAudioFilePromptResourceId`, becomes a required parameter when IsCallbackEnabled is set to `True`. + + String + + String + + + None + + + CallbackEmailNotificationTarget + + Private Preview customers only The CallbackEmailNotificationTarget parameter must be set to a group ID (Microsoft 365, Distribution list, or Mail-enabled security) that will receive notification if a callback times out of the call queue or can't be completed for some other reason. This parameter becomes a required parameter when IsCallbackEnabled is set to `True`. + + Guid + + Guid + + + None + + + + + Private Preview customers only The target number of seconds calls should be answered in. This number is used to calculate the call queue service level percentage. + A value of `$null` indicates that a service level percentage will not be calculated for this call queue. + + Int16 + + Int16 + + + None + + + ShouldOverwriteCallableChannelProperty + + A Teams Channel can only be linked to one Call Queue at a time. To force reassignment of the Teams Channel to a new Call Queue, set this to $true. + + Boolean + + Boolean + + + False + + + + + + + Microsoft.Rtc.Management.Hosted.CallQueue.Models.CallQueue + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-CsCallQueue -Identity e7e00636-47da-449c-a36b-1b3d6ee04440 -UseDefaultMusicOnHold $true + + This example updates the Call Queue with identity e7e00636-47da-449c-a36b-1b3d6ee04440 by making it use the default music on hold. + + + + -------------------------- Example 2 -------------------------- + Set-CsCallQueue -Identity e7e00636-47da-449c-a36b-1b3d6ee04440 -DistributionLists @("8521b0e3-51bd-4a4b-a8d6-b219a77a0a6a", "868dccd8-d723-4b4f-8d74-ab59e207c357") -MusicOnHoldAudioFileId $audioFile.Id + + This example updates the Call Queue with new distribution lists and references a new music on hold audio file using the audio file ID from the stored variable $audioFile created with the Import-CsOnlineAudioFile cmdlet (Import-CsOnlineAudioFile.md) + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-cscallqueue + + + + + + Set-CsInboundBlockedNumberPattern + Set + CsInboundBlockedNumberPattern + + Modifies one or more parameters of a blocked number pattern in the tenant list. + + + + This cmdlet modifies one or more parameters of a blocked number pattern in the tenant list. + + + + Set-CsInboundBlockedNumberPattern + + Identity + + A unique identifier specifying the blocked number pattern to be modified. + + String + + String + + + None + + + Description + + A friendly description for the blocked number pattern to be modified. + + String + + String + + + None + + + Enabled + + If this parameter is set to True, the inbound calls matching the pattern will be blocked. + + Boolean + + Boolean + + + None + + + Pattern + + A regular expression that the calling number must match in order to be blocked. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Description + + A friendly description for the blocked number pattern to be modified. + + String + + String + + + None + + + Enabled + + If this parameter is set to True, the inbound calls matching the pattern will be blocked. + + Boolean + + Boolean + + + None + + + Identity + + A unique identifier specifying the blocked number pattern to be modified. + + String + + String + + + None + + + Pattern + + A regular expression that the calling number must match in order to be blocked. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS> Set-CsInboundBlockedNumberPattern -Identity "BlockAutomatic" -Pattern "^\+11234567890" + + This example modifies a blocked number pattern to block inbound calls from +11234567890 number. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csinboundblockednumberpattern + + + New-CsInboundBlockedNumberPattern + + + + Get-CsInboundBlockedNumberPattern + + + + Remove-CsInboundBlockedNumberPattern + + + + + + + Set-CsInboundExemptNumberPattern + Set + CsInboundExemptNumberPattern + + Modifies one or more parameters of an exempt number pattern in the tenant list. + + + + This cmdlet modifies one or more parameters of an exempt number pattern in the tenant list. + + + + Set-CsInboundExemptNumberPattern + + Identity + + Unique identifier for the exempt number pattern to be changed. + + String + + String + + + None + + + Description + + Sets the description of the number pattern. + + String + + String + + + None + + + Enabled + + This parameter determines whether the number pattern is enabled for exemption or not. + + Boolean + + Boolean + + + True + + + Pattern + + A regular expression that the calling number must match in order to be exempt from blocking. It is best practice to start the regular expression with the hat character and end it with the dollar character. You can use various regular expression test sites on the Internet to validate the expression. + + System.String + + System.String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Description + + Sets the description of the number pattern. + + String + + String + + + None + + + Enabled + + This parameter determines whether the number pattern is enabled for exemption or not. + + Boolean + + Boolean + + + True + + + Identity + + Unique identifier for the exempt number pattern to be changed. + + String + + String + + + None + + + Pattern + + A regular expression that the calling number must match in order to be exempt from blocking. It is best practice to start the regular expression with the hat character and end it with the dollar character. You can use various regular expression test sites on the Internet to validate the expression. + + System.String + + System.String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + You can use Test-CsInboundBlockedNumberPattern to test your block and exempt phone number ranges. + + + + + -------------------------- EXAMPLE 1 -------------------------- + PS> Set-CsInboundExemptNumberPattern -Identity "AllowContoso1" -Pattern "^\+?1312555888[2|3]$" + + Sets the inbound exempt number pattern for AllowContoso1 + + + + -------------------------- EXAMPLE 2 -------------------------- + PS> Set-CsInboundExemptNumberPattern -Identity "AllowContoso1" -Enabled $False + + Disables the exempt number pattern from usage in call blocking + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csinboundexemptnumberpattern + + + Get-CsInboundExemptNumberPattern + + + + New-CsInboundExemptNumberPattern + + + + Remove-CsInboundExemptNumberPattern + + + + Test-CsInboundBlockedNumberPattern + + + + Get-CsTenantBlockedCallingNumbers + + + + + + + Set-CsOnlineApplicationInstance + Set + CsOnlineApplicationInstance + + Updates an application instance in Microsoft Entra ID. Note : The use of this cmdlet for assigning phone numbers in commercial and GCC cloud instances has been deprecated. Use the new Set-CsPhoneNumberAssignment (/powershell/module/teams/set-csphonenumberassignment) and [Remove-CsPhoneNumberAssignment](/powershell/module/teams/remove-csphonenumberassignment)cmdlets instead. + + + + This cmdlet is used to update an application instance in Microsoft Entra ID. + + + + Set-CsOnlineApplicationInstance + + Identity + + The URI or ID of the application instance to update. + + System.String + + System.String + + + None + + + OnpremPhoneNumber + + Note : Using this parameter has been deprecated in commercial and GCC cloud instances. Use the new Set-CsPhoneNumberAssignment cmdlet instead. + Assigns a hybrid (on-premise) telephone number to the application instance. + + System.String + + System.String + + + None + + + ApplicationId + + The application ID. The Microsoft application Auto Attendant has the ApplicationId ce933385-9390-45d1-9512-c8d228074e07 and the Microsoft application Call Queue has the ApplicationId 11cd3e2e-fccb-42ad-ad00-878b93575e07. Third-party applications available in a tenant will use other ApplicationId's. + + System.Guid + + System.Guid + + + None + + + AcsResourceId + + The ACS Resource ID. The unique identifier assigned to an instance of Azure Communication Services within the Azure cloud infrastructure. + + System.Guid + + System.Guid + + + None + + + DisplayName + + The display name. + + System.String + + System.String + + + None + + + Force + + This switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If it isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Identity + + The URI or ID of the application instance to update. + + System.String + + System.String + + + None + + + OnpremPhoneNumber + + Note : Using this parameter has been deprecated in commercial and GCC cloud instances. Use the new Set-CsPhoneNumberAssignment cmdlet instead. + Assigns a hybrid (on-premise) telephone number to the application instance. + + System.String + + System.String + + + None + + + ApplicationId + + The application ID. The Microsoft application Auto Attendant has the ApplicationId ce933385-9390-45d1-9512-c8d228074e07 and the Microsoft application Call Queue has the ApplicationId 11cd3e2e-fccb-42ad-ad00-878b93575e07. Third-party applications available in a tenant will use other ApplicationId's. + + System.Guid + + System.Guid + + + None + + + AcsResourceId + + The ACS Resource ID. The unique identifier assigned to an instance of Azure Communication Services within the Azure cloud infrastructure. + + System.Guid + + System.Guid + + + None + + + DisplayName + + The display name. + + System.String + + System.String + + + None + + + Force + + This switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If it isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-CsOnlineApplicationInstance -Identity appinstance01@contoso.com -ApplicationId ce933385-9390-45d1-9512-c8d228074e07 -DisplayName "AppInstance01" + + This example shows updated ApplicationId and DisplayName information for an existing Auto Attendant application instance with Identity "appinstance01@contoso.com". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csonlineapplicationinstance + + + Get-CsOnlineApplicationInstance + + + + New-CsOnlineApplicationInstance + + + + Find-CsOnlineApplicationInstance + + + + Sync-CsOnlineApplicationInstance + + + + + + + Set-CsOnlineDialInConferencingBridge + Set + CsOnlineDialInConferencingBridge + + Use the `Set-CsOnlineDialInConferencingBridge` cmdlet to modify the settings of a Microsoft audio conferencing bridge. + + + + The `Set-CsOnlineDialInConferencingBridge` cmdlet can be used to set the default dial-in service phone number for a given audio conferencing bridge. + + + + Set-CsOnlineDialInConferencingBridge + + Identity + + Specifies the globally-unique identifier (GUID) for the audio conferencing bridge to be modified. + + Guid + + Guid + + + None + + + Instance + + Allows you to pass a reference to a Microsoft audio conferencing bridge object to the cmdlet rather than set individual parameter values. + + ConferencingBridge + + ConferencingBridge + + + None + + + Name + + Specifies the name of the audio conferencing bridge to be modified. + + String + + String + + + None + + + Confirm + + The Confirm switch causes the command to pause processing, and requires confirmation to proceed. + + + SwitchParameter + + + False + + + DefaultServiceNumber + + Specifies the default phone number to be used on the Microsoft audio conferencing bridge. The default number is used in meeting invitations. + The DefaultServiceNumber must be assigned to the audio conferencing bridge. Also, when the default service number is changed, the service number of existing users will not be changed. + + String + + String + + + None + + + DomainController + + Specifies the domain controller that's used by the cmdlet to read or write the specified data. Valid inputs for this parameter include: + Fully qualified domain name (FQDN): -DomainController atl-cs-001.Contoso.com. + Computer name: -DomainController atl-cs-001 + + Fqdn + + Fqdn + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + SetDefault + + PARAMVALUE: SwitchParameter + + + SwitchParameter + + + False + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + TenantDomain + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + + SwitchParameter + + + False + + + + + + Identity + + Specifies the globally-unique identifier (GUID) for the audio conferencing bridge to be modified. + + Guid + + Guid + + + None + + + Instance + + Allows you to pass a reference to a Microsoft audio conferencing bridge object to the cmdlet rather than set individual parameter values. + + ConferencingBridge + + ConferencingBridge + + + None + + + Name + + Specifies the name of the audio conferencing bridge to be modified. + + String + + String + + + None + + + Confirm + + The Confirm switch causes the command to pause processing, and requires confirmation to proceed. + + SwitchParameter + + SwitchParameter + + + False + + + DefaultServiceNumber + + Specifies the default phone number to be used on the Microsoft audio conferencing bridge. The default number is used in meeting invitations. + The DefaultServiceNumber must be assigned to the audio conferencing bridge. Also, when the default service number is changed, the service number of existing users will not be changed. + + String + + String + + + None + + + DomainController + + Specifies the domain controller that's used by the cmdlet to read or write the specified data. Valid inputs for this parameter include: + Fully qualified domain name (FQDN): -DomainController atl-cs-001.Contoso.com. + Computer name: -DomainController atl-cs-001 + + Fqdn + + Fqdn + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + SetDefault + + PARAMVALUE: SwitchParameter + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + TenantDomain + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-CsOnlineDialInConferencingBridge -Name "Conference Bridge" -DefaultServiceNumber 14255551234 + + This example sets the default dial-in phone number to 14255551234 for the audio conferencing bridge named "Conference Bridge". + + + + -------------------------- Example 2 -------------------------- + $bridge = Get-CsOnlineDialInConferencingBridge -Name "Conference Bridge" + +$Bridge.Name = "O365 Bridge" + +Set-CsOnlineDialInConferencingBridge -Instance $bridge + + This example changes the name of a conference bridge by creating a conference bridge instance, changing the instance's name and then setting the conference bridge to the instance. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csonlinedialinconferencingbridge + + + + + + Set-CsOnlineDialInConferencingServiceNumber + Set + CsOnlineDialInConferencingServiceNumber + + Use the `Set-CsOnlineDialInConferencingServiceNumber` cmdlet to modify the properties of a dial-in or audio conferencing service number that is used by callers when they dial in to a meeting. + + + + The `Set-CsOnlineDialInConferencingServiceNumber` cmdlet enables you to set the primary and secondary languages or restore the default languages for a given service number. The primary language will be used for the prompts that callers will listen to when they are entering a meeting. The secondary languages (up to 4) will be available as options in the case the caller wants the prompts read in a different language. The following languages are supported for PSTN conferencing: + Arabic + Chinese (Simplified) + Chinese (Traditional) + Danish + Dutch + English (Australia) + English (United Kingdom) + English (United States) + Finnish + French (Canada) + French (France) + German + Hebrew + Italian + Japanese + Korean + Norwegian (Bokmal) + Portuguese + Russian + Spanish (Mexico) + Spanish (Spain) + Swedish + Turkish + Ukrainian + + + + Set-CsOnlineDialInConferencingServiceNumber + + Identity + + Specifies the default dial-in service number string. The service number can be specified in the following formats: E.164 number, +<E.164 number> and tel:<E.164 number>. + + String + + String + + + None + + + Instance + + Allows you to pass a reference to the Office 365 audio service number object to the cmdlet rather than set individual parameter values. + + ConferencingServiceNumber + + ConferencingServiceNumber + + + None + + + Confirm + + The Confirm switch causes the command to pause processing, and requires confirmation to proceed. + + + SwitchParameter + + + False + + + DomainController + + Specifies the domain controller that's used by the cmdlet to read or write the specified data. Valid inputs for this parameter include: + Fully qualified domain name (FQDN): -DomainController atl-cs-001.Contoso.com. + Computer name: -DomainController atl-cs-001 + + Fqdn + + Fqdn + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + PrimaryLanguage + + Specifies the primary language that is used when users call into a meeting. The culture ID is used. For example, en-US for US English, ja-JP for Japanese, or es-ES for Spanish. + Use the `Get-CsOnlineDialInConferencingLanguagesSupported` cmdlet to get a list of the available languages. + + String + + String + + + None + + + RestoreDefaultLanguages + + Including this switch restores all of the default languages for the audio conferencing service number. + + + SwitchParameter + + + False + + + SecondaryLanguages + + Specifies the secondary languages that can be used when users call into a meeting. The culture ID is used. For example, en-US for US English, ja-JP for Japanese, or es-ES for Spanish. The order you provide will be the order that will be presented to users that are calling into the meeting. There is a maximum of 4 languages that can be used as secondary languages. + Use the `Get-CsOnlineDialInConferencingLanguagesSupported` cmdlet to get a list of the available languages. + + String + + String + + + None + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + + SwitchParameter + + + False + + + + + + Identity + + Specifies the default dial-in service number string. The service number can be specified in the following formats: E.164 number, +<E.164 number> and tel:<E.164 number>. + + String + + String + + + None + + + Instance + + Allows you to pass a reference to the Office 365 audio service number object to the cmdlet rather than set individual parameter values. + + ConferencingServiceNumber + + ConferencingServiceNumber + + + None + + + Confirm + + The Confirm switch causes the command to pause processing, and requires confirmation to proceed. + + SwitchParameter + + SwitchParameter + + + False + + + DomainController + + Specifies the domain controller that's used by the cmdlet to read or write the specified data. Valid inputs for this parameter include: + Fully qualified domain name (FQDN): -DomainController atl-cs-001.Contoso.com. + Computer name: -DomainController atl-cs-001 + + Fqdn + + Fqdn + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + PrimaryLanguage + + Specifies the primary language that is used when users call into a meeting. The culture ID is used. For example, en-US for US English, ja-JP for Japanese, or es-ES for Spanish. + Use the `Get-CsOnlineDialInConferencingLanguagesSupported` cmdlet to get a list of the available languages. + + String + + String + + + None + + + RestoreDefaultLanguages + + Including this switch restores all of the default languages for the audio conferencing service number. + + SwitchParameter + + SwitchParameter + + + False + + + SecondaryLanguages + + Specifies the secondary languages that can be used when users call into a meeting. The culture ID is used. For example, en-US for US English, ja-JP for Japanese, or es-ES for Spanish. The order you provide will be the order that will be presented to users that are calling into the meeting. There is a maximum of 4 languages that can be used as secondary languages. + Use the `Get-CsOnlineDialInConferencingLanguagesSupported` cmdlet to get a list of the available languages. + + String + + String + + + None + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-CsOnlineDialInConferencingServiceNumber -Identity +14255551234 -PrimaryLanguage de-de -SecondaryLanguages en-us, ja-jp, en-gb + + This example sets the primary language to German (Germany) and the secondary languages to US English, Japanese, and UK English for the dial-in service number +14255551234. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csonlinedialinconferencingservicenumber + + + + + + Set-CsOnlineDialInConferencingTenantSettings + Set + CsOnlineDialInConferencingTenantSettings + + Use the `Set-CsOnlineDialInConferencingTenantSettings` to modify the tenant level settings of dial-in conferencing. Dial-in conferencing tenant settings control the conference experience of users and manage some conferencing administrative functions. + + + + Dial-in conferencing tenant settings control what functions are available during a conference call. For example, whether or not entries and exits from the call are announced. The settings also manage some of the administrative functions, such as when users get notification of administrative actions, like a PIN change. By contrast, the higher level dial-in conferencing configuration only maintains a flag for whether dial-in conferencing is enabled for your organization. For more information, see `Get-CsOnlineDialinConferencingTenantConfiguration`. + There is always a single instance of the dial-in conferencing settings per tenant. You can modify the settings using `Set-CsOnlineDialInConferencingTenantSettings` and revert those settings to their defaults by using `Remove-CsOnlineDialInConferencingTenantSettings`. + The following parameters are not applicable to Teams: EnableDialOutJoinConfirmation, IncludeTollFreeNumberInMeetingInvites, MigrateServiceNumbersOnCrossForestMove, and UseUniqueConferenceIds + + + + Set-CsOnlineDialInConferencingTenantSettings + + Identity + + This parameter is reserved for internal Microsoft use. + + XdsIdentity + + XdsIdentity + + + None + + + AllowPSTNOnlyMeetingsByDefault + + Specifies the default value that gets assigned to the "AllowPSTNOnlyMeetings" setting of users when they are enabled for dial-in conferencing, or when a user's dial-in conferencing provider is set to Microsoft. If set to $true, the "AllowPSTNOnlyMeetings" setting of the user will also be set to true. If $false, the user setting will be false. The default value for AllowPSTNOnlyMeetingsByDefault is $false. + When AllowPSTNOnlyMeetingsByDefault is changed, the value of the "AllowPSTNOnlyMeetings" setting of currently enabled users doesn't change. The new default value will only be applied to users that are subsequently enabled for dial-in conferencing, or whose provider is changed to Microsoft. + The "AllowPSTNOnlyMeetings" setting of a user defines if unauthenticated callers can start a meeting if they are the first person to join. An unauthenticated caller is defined as a participant who joins a meeting over the phone and doesn't provide the organizer PIN when joining the meeting. + For more information on the "AllowPSTNOnlyMeetings" user setting, see `Set-CsOnlineDialInConferencingUser`. + + Boolean + + Boolean + + + None + + + AutomaticallyMigrateUserMeetings + + PARAMVALUE: $true | $false + + Boolean + + Boolean + + + None + + + AutomaticallyReplaceAcpProvider + + PARAMVALUE: $true | $false + + Boolean + + Boolean + + + None + + + AutomaticallySendEmailsToUsers + + Specifies whether advisory emails will be sent to users when the events listed below occur. Setting the parameter to $true enables the emails to be sent, $false disables the emails. The default is $true. + User is enabled or disabled for dial-in conferencing. + The dial-in conferencing provider is changed either to Microsoft, or from Microsoft to another provider, or none. + The dial-in conferencing PIN is reset by the tenant administrator. + Changes to either the user's conference ID, or the user's default dial-in conference number. + + Boolean + + Boolean + + + None + + + Confirm + + The Confirm switch causes the command to pause processing and requires confirmation to proceed. + + + SwitchParameter + + + False + + + EnableEntryExitNotifications + + Specifies if, by default, announcements are made as users enter and exit a conference call. Set to $true to enable notifications, $false to disable notifications. The default is $true. + This setting can be overridden on a meeting by meeting basis when a user joins a meeting via a Skype for Business client and modifies the Announce when people enter or leave setting on the Skype Meeting Options menu of a meeting. + + Boolean + + Boolean + + + None + + + EnableNameRecording + + Specifies whether the name of a user is recorded on entry to the conference. This recording is used during entry and exit notifications. Set to $true to enable name recording, set to $false to bypass name recording. The default is $true. + + Boolean + + Boolean + + + None + + + EntryExitAnnouncementsType + + PARAMVALUE: UseNames | ToneOnly + + EntryExitAnnouncementsType + + EntryExitAnnouncementsType + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + IncludeTollFreeNumberInMeetingInvites + + This parameter is obsolete and not functional. + + Boolean + + Boolean + + + None + + + Instance + + Allows you to pass a reference to an object to the cmdlet rather than set individual parameter values. + + PSObject + + PSObject + + + None + + + MigrateServiceNumbersOnCrossForestMove + + PARAMVALUE: $true | $false + + Boolean + + Boolean + + + None + + + PinLength + + Specifies the number of digits in the automatically generated PINs. Organizers can enter their PIN to start a meeting they scheduled if they join via phone and are the first person to join. The minimum value is 4, the maximum is 12, and the default is 5. + A user's PIN will only authenticate them as leaders for a meeting they scheduled. The PIN of a user that did not schedule the meeting will not enable that user to lead the meeting. + + UInt32 + + UInt32 + + + None + + + SendEmailFromAddress + + Specifies the email address to use in the "From" contact information on emails that are sent to users to notify them of their dial-in conferencing settings, or when their settings change. The email address needs to be in the form <UserAlias>@<Domain>. For example, "KenMyer@Contoso.com" or "Admin@Contoso.com". + The SendEmailFromAddress value is used only if the SendEmailFromDisplayName setting is specified, and the SendEmailFromOverride setting is $true. + Note: The parameter has been deprecated and may be removed in future versions. + + String + + String + + + None + + + SendEmailFromDisplayName + + Specifies the display name to use in the "From" contact information on emails that are sent to users to notify them of their dial-in conferencing settings, or when their settings change. + The SendEmailFromDisplayName value is used only if the SendEmailFromDisplayName setting is specified, and the SendEmailFromOverride setting is $true. + Note: The parameter has been deprecated and may be removed in future versions. + + String + + String + + + None + + + SendEmailFromOverride + + Specifies if the contact information on dial-in conferencing notifications will be the default generated by Office 365, or administrator defined values. Setting SendEmailFromOverride to $true enables the system to use the SendEmailFromAddress and SendEmailFromDisplayName parameter inputs as the "From" contact information. Setting this parameter to $false will cause email notifications to be sent with the system generated default. The default is $false. + SendEmailFromOverride can't be $true if SendEmailFromAddress and SendEmailFromDisplayName aren't specified. + If you want to change the email address information, you need to make sure that your inbound email policies allow for emails that come from the address specified by the SendEmailFromAddress parameter. + Note: The parameter has been deprecated and may be removed in future versions. + + Boolean + + Boolean + + + None + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Object + + Object + + + None + + + UseUniqueConferenceIds + + PARAMVALUE: $true | $false + + Boolean + + Boolean + + + None + + + MaskPstnNumbersType + + This parameter allows tenant administrators to configure masking of PSTN participant phone numbers in the roster view for Microsoft Teams meetings enabled for Audio Conferencing, scheduled within the organization. + Possible values are: - MaskedForExternalUsers (masked to external users) + - MaskedForAllUsers (masked for everyone) + - NoMasking (visible to everyone) + + String + + String + + + MaskedForExternalUsers + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + + SwitchParameter + + + False + + + + + + AllowPSTNOnlyMeetingsByDefault + + Specifies the default value that gets assigned to the "AllowPSTNOnlyMeetings" setting of users when they are enabled for dial-in conferencing, or when a user's dial-in conferencing provider is set to Microsoft. If set to $true, the "AllowPSTNOnlyMeetings" setting of the user will also be set to true. If $false, the user setting will be false. The default value for AllowPSTNOnlyMeetingsByDefault is $false. + When AllowPSTNOnlyMeetingsByDefault is changed, the value of the "AllowPSTNOnlyMeetings" setting of currently enabled users doesn't change. The new default value will only be applied to users that are subsequently enabled for dial-in conferencing, or whose provider is changed to Microsoft. + The "AllowPSTNOnlyMeetings" setting of a user defines if unauthenticated callers can start a meeting if they are the first person to join. An unauthenticated caller is defined as a participant who joins a meeting over the phone and doesn't provide the organizer PIN when joining the meeting. + For more information on the "AllowPSTNOnlyMeetings" user setting, see `Set-CsOnlineDialInConferencingUser`. + + Boolean + + Boolean + + + None + + + AutomaticallyMigrateUserMeetings + + PARAMVALUE: $true | $false + + Boolean + + Boolean + + + None + + + AutomaticallyReplaceAcpProvider + + PARAMVALUE: $true | $false + + Boolean + + Boolean + + + None + + + AutomaticallySendEmailsToUsers + + Specifies whether advisory emails will be sent to users when the events listed below occur. Setting the parameter to $true enables the emails to be sent, $false disables the emails. The default is $true. + User is enabled or disabled for dial-in conferencing. + The dial-in conferencing provider is changed either to Microsoft, or from Microsoft to another provider, or none. + The dial-in conferencing PIN is reset by the tenant administrator. + Changes to either the user's conference ID, or the user's default dial-in conference number. + + Boolean + + Boolean + + + None + + + Confirm + + The Confirm switch causes the command to pause processing and requires confirmation to proceed. + + SwitchParameter + + SwitchParameter + + + False + + + EnableEntryExitNotifications + + Specifies if, by default, announcements are made as users enter and exit a conference call. Set to $true to enable notifications, $false to disable notifications. The default is $true. + This setting can be overridden on a meeting by meeting basis when a user joins a meeting via a Skype for Business client and modifies the Announce when people enter or leave setting on the Skype Meeting Options menu of a meeting. + + Boolean + + Boolean + + + None + + + EnableNameRecording + + Specifies whether the name of a user is recorded on entry to the conference. This recording is used during entry and exit notifications. Set to $true to enable name recording, set to $false to bypass name recording. The default is $true. + + Boolean + + Boolean + + + None + + + EntryExitAnnouncementsType + + PARAMVALUE: UseNames | ToneOnly + + EntryExitAnnouncementsType + + EntryExitAnnouncementsType + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + This parameter is reserved for internal Microsoft use. + + XdsIdentity + + XdsIdentity + + + None + + + IncludeTollFreeNumberInMeetingInvites + + This parameter is obsolete and not functional. + + Boolean + + Boolean + + + None + + + Instance + + Allows you to pass a reference to an object to the cmdlet rather than set individual parameter values. + + PSObject + + PSObject + + + None + + + MigrateServiceNumbersOnCrossForestMove + + PARAMVALUE: $true | $false + + Boolean + + Boolean + + + None + + + PinLength + + Specifies the number of digits in the automatically generated PINs. Organizers can enter their PIN to start a meeting they scheduled if they join via phone and are the first person to join. The minimum value is 4, the maximum is 12, and the default is 5. + A user's PIN will only authenticate them as leaders for a meeting they scheduled. The PIN of a user that did not schedule the meeting will not enable that user to lead the meeting. + + UInt32 + + UInt32 + + + None + + + SendEmailFromAddress + + Specifies the email address to use in the "From" contact information on emails that are sent to users to notify them of their dial-in conferencing settings, or when their settings change. The email address needs to be in the form <UserAlias>@<Domain>. For example, "KenMyer@Contoso.com" or "Admin@Contoso.com". + The SendEmailFromAddress value is used only if the SendEmailFromDisplayName setting is specified, and the SendEmailFromOverride setting is $true. + Note: The parameter has been deprecated and may be removed in future versions. + + String + + String + + + None + + + SendEmailFromDisplayName + + Specifies the display name to use in the "From" contact information on emails that are sent to users to notify them of their dial-in conferencing settings, or when their settings change. + The SendEmailFromDisplayName value is used only if the SendEmailFromDisplayName setting is specified, and the SendEmailFromOverride setting is $true. + Note: The parameter has been deprecated and may be removed in future versions. + + String + + String + + + None + + + SendEmailFromOverride + + Specifies if the contact information on dial-in conferencing notifications will be the default generated by Office 365, or administrator defined values. Setting SendEmailFromOverride to $true enables the system to use the SendEmailFromAddress and SendEmailFromDisplayName parameter inputs as the "From" contact information. Setting this parameter to $false will cause email notifications to be sent with the system generated default. The default is $false. + SendEmailFromOverride can't be $true if SendEmailFromAddress and SendEmailFromDisplayName aren't specified. + If you want to change the email address information, you need to make sure that your inbound email policies allow for emails that come from the address specified by the SendEmailFromAddress parameter. + Note: The parameter has been deprecated and may be removed in future versions. + + Boolean + + Boolean + + + None + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Object + + Object + + + None + + + UseUniqueConferenceIds + + PARAMVALUE: $true | $false + + Boolean + + Boolean + + + None + + + MaskPstnNumbersType + + This parameter allows tenant administrators to configure masking of PSTN participant phone numbers in the roster view for Microsoft Teams meetings enabled for Audio Conferencing, scheduled within the organization. + Possible values are: - MaskedForExternalUsers (masked to external users) + - MaskedForAllUsers (masked for everyone) + - NoMasking (visible to everyone) + + String + + String + + + MaskedForExternalUsers + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + None + + + + + + + + + + None. + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-CsOnlineDialInConferencingTenantSettings -EnableEntryExitNotifications $True -EnableNameRecording $True -PinLength 7 + + This example sets the tenant's conferencing settings to enable entry and exit notifications supported by name recording. The PIN length is set to 7. + + + + -------------------------- Example 2 -------------------------- + Set-CsOnlineDialInConferencingTenantSettings -SendEmailFromOverride $true -SendEmailFromAddress admin@contoso.com -SendEmailFromDisplayName "Conferencing Administrator" + + This example defines the contact information to be used in dial-in conferencing email notifications and enables the default address to be overridden. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csonlinedialinconferencingtenantsettings + + + + + + Set-CsOnlineDialInConferencingUser + Set + CsOnlineDialInConferencingUser + + > [!NOTE] > The AllowPSTNOnlyMeetings, ResetConferenceId, and ConferenceId parameters will be deprecated on Jan 31, 2022. To allow Teams meeting participants joining via the PSTN to bypass the lobby, use the AllowPSTNUsersToBypassLobby of the Set-CsTeamsMeetingPolicy cmdlet (Set-CsTeamsMeetingPolicy.md). The capabilities associated with the ResetConferenceId and ConferenceId parameters are no longer supported. + Use the `Set-CsOnlineDialInConferencingUser` cmdlet to modify the properties of a user that has been enabled for Microsoft's audio conferencing service. + + + + The `Set-CsOnlineDialInConferencingUser` cmdlet is used to modify properties for a Microsoft audio conferencing user. This cmdlet will not work for users with third-party conferencing providers. The cmdlet will verify that the correct license is assigned to the user. + + + + Set-CsOnlineDialInConferencingUser + + Identity + + Specifies the Identity of the user account to be to be modified. A user identity can be specified by using one of four formats: 1) the user's SIP address; 2) the user's user principal name (UPN); 3) the user's domain name and logon name, in the form domain\logon (for example, litwareinc\kenmyer) and 4) the user's Active Directory display name (for example, Ken Myer). You can also reference a user account by using the user's Active Directory distinguished name. + + UserIdParameter + + UserIdParameter + + + None + + + TenantDomain + + Specifies the domain name for the tenant or organization. + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + AllowPSTNOnlyMeetings + + If true, non-authenticated users can start meetings. If false, non-authenticated callers wait in the lobby until an authenticated user joins, thereby starting the meeting. An authenticated user is a user who joins the meeting using a Skype for Business client, or the organizer that joined the meeting via dial-in conferencing and was authenticated by a PIN number. The default is false. + + Boolean + + Boolean + + + None + + + BridgeId + + Specifies the globally-unique identifier (GUID) for the audio conferencing bridge. + + Guid + + Guid + + + None + + + BridgeName + + Specifies the name of the audio conferencing bridge. + + String + + String + + + None + + + Confirm + + The Confirm switch causes the command to pause processing and requires confirmation to proceed. + + + SwitchParameter + + + False + + + DomainController + + Specifies the domain controller that's used by the cmdlet to read or write the specified data. Valid inputs for this parameter include: + Fully qualified domain name (FQDN): `-DomainController atl-cs-001.Contoso.com` + Computer name: `-DomainController atl-cs-001` + This parameter is reserved for internal Microsoft use. + + Fqdn + + Fqdn + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + ResetLeaderPin + + Specifies whether to reset the meeting organizer or leaders PIN for meetings. + + + SwitchParameter + + + False + + + SendEmail + + Send an email to the user containing their Audio Conference information. + + + SwitchParameter + + + False + + + SendEmailFromAddress + + You can specify the From Address to send the email that contains the Audio Conference information. This parameter must be used together with -SendEmailFromDisplayName and -SendEmail. + + String + + String + + + None + + + SendEmailFromDisplayName + + You can specify the Display Name to send the email that contains the Audio Conference information. This parameter must be used together with -SendEmailFromAddress and -SendEmail. + + String + + String + + + None + + + SendEmailToAddress + + You can specify the To Address to send the email that contains the Audio Conference information. This parameter must be used together with -SendEmail. + + String + + String + + + None + + + ServiceNumber + + Specifies the default service number for the user. The default number is used in meeting invitations. The cmdlet will verify that the service number is assigned to the user's current conference bridge, or the one the user is being assigned to. + The service number can be specified in the following formats: E.164 number, +<E.164 number> and tel:<E.164 number>. + + String + + String + + + None + + + Tenant + + Specifies the globally unique identifier (GUID) of your Skype for Business Online tenant account. For example: `-Tenant "38aad667-af54-4397-aaa7-e94c79ec2308"`. You can find your tenant ID by running this command: `Get-CsTenant | Select-Object DisplayName, TenantID` + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + TollFreeServiceNumber + + Specifies a toll-free phone number to be used by the user. This number is then used in meeting invitations. The toll-free number can be specified in the following formats: E.164 number, +<E.164 number> and tel:<E.164 number>. + + String + + String + + + None + + + WhatIf + + The WhatIf parameter is not implemented for this cmdlet. + + + SwitchParameter + + + False + + + AllowTollFreeDialIn + + If toll-free numbers are available in your Microsoft Audio Conferencing bridge, this parameter controls if they can be used to join the meetings of a given user. This setting can ONLY be managed using the TeamsAudioConferencingPolicy. By default, AllowTollFreeDialin is always set to True. + + Boolean + + Boolean + + + None + + + + + + Identity + + Specifies the Identity of the user account to be to be modified. A user identity can be specified by using one of four formats: 1) the user's SIP address; 2) the user's user principal name (UPN); 3) the user's domain name and logon name, in the form domain\logon (for example, litwareinc\kenmyer) and 4) the user's Active Directory display name (for example, Ken Myer). You can also reference a user account by using the user's Active Directory distinguished name. + + UserIdParameter + + UserIdParameter + + + None + + + TenantDomain + + Specifies the domain name for the tenant or organization. + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + AllowPSTNOnlyMeetings + + If true, non-authenticated users can start meetings. If false, non-authenticated callers wait in the lobby until an authenticated user joins, thereby starting the meeting. An authenticated user is a user who joins the meeting using a Skype for Business client, or the organizer that joined the meeting via dial-in conferencing and was authenticated by a PIN number. The default is false. + + Boolean + + Boolean + + + None + + + BridgeId + + Specifies the globally-unique identifier (GUID) for the audio conferencing bridge. + + Guid + + Guid + + + None + + + BridgeName + + Specifies the name of the audio conferencing bridge. + + String + + String + + + None + + + Confirm + + The Confirm switch causes the command to pause processing and requires confirmation to proceed. + + SwitchParameter + + SwitchParameter + + + False + + + DomainController + + Specifies the domain controller that's used by the cmdlet to read or write the specified data. Valid inputs for this parameter include: + Fully qualified domain name (FQDN): `-DomainController atl-cs-001.Contoso.com` + Computer name: `-DomainController atl-cs-001` + This parameter is reserved for internal Microsoft use. + + Fqdn + + Fqdn + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + ResetLeaderPin + + Specifies whether to reset the meeting organizer or leaders PIN for meetings. + + SwitchParameter + + SwitchParameter + + + False + + + SendEmail + + Send an email to the user containing their Audio Conference information. + + SwitchParameter + + SwitchParameter + + + False + + + SendEmailFromAddress + + You can specify the From Address to send the email that contains the Audio Conference information. This parameter must be used together with -SendEmailFromDisplayName and -SendEmail. + + String + + String + + + None + + + SendEmailFromDisplayName + + You can specify the Display Name to send the email that contains the Audio Conference information. This parameter must be used together with -SendEmailFromAddress and -SendEmail. + + String + + String + + + None + + + SendEmailToAddress + + You can specify the To Address to send the email that contains the Audio Conference information. This parameter must be used together with -SendEmail. + + String + + String + + + None + + + ServiceNumber + + Specifies the default service number for the user. The default number is used in meeting invitations. The cmdlet will verify that the service number is assigned to the user's current conference bridge, or the one the user is being assigned to. + The service number can be specified in the following formats: E.164 number, +<E.164 number> and tel:<E.164 number>. + + String + + String + + + None + + + Tenant + + Specifies the globally unique identifier (GUID) of your Skype for Business Online tenant account. For example: `-Tenant "38aad667-af54-4397-aaa7-e94c79ec2308"`. You can find your tenant ID by running this command: `Get-CsTenant | Select-Object DisplayName, TenantID` + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + TollFreeServiceNumber + + Specifies a toll-free phone number to be used by the user. This number is then used in meeting invitations. The toll-free number can be specified in the following formats: E.164 number, +<E.164 number> and tel:<E.164 number>. + + String + + String + + + None + + + WhatIf + + The WhatIf parameter is not implemented for this cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + AllowTollFreeDialIn + + If toll-free numbers are available in your Microsoft Audio Conferencing bridge, this parameter controls if they can be used to join the meetings of a given user. This setting can ONLY be managed using the TeamsAudioConferencingPolicy. By default, AllowTollFreeDialin is always set to True. + + Boolean + + Boolean + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-CsOnlineDialInConferencingUser -Identity "Ken Meyers" -ResetLeaderPin -ServiceNumber 14255037265 + + This example shows how to reset the meeting leader's PIN and set the audio conferencing provider default meeting phone number. + + + + -------------------------- Example 2 -------------------------- + Set-CsOnlineDialInConferencingUser -Identity "Ken Meyers" -BridgeName "Conference Bridge" + + This example sets a user's conference bridge assignment. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csonlinedialinconferencinguser + + + Get-CsTeamsAudioConferencingPolicy + + + + New-CsTeamsAudioConferencingPolicy + + + + + + + Set-CsOnlineDialInConferencingUserDefaultNumber + Set + CsOnlineDialInConferencingUserDefaultNumber + + Replace the default toll or toll-free number for all users. + > [!IMPORTANT] >This command is being deprecated and will not be available after July 7, 2024. If you are using this command to bulk update Audio conferencing Toll or Toll free phone numbers for users in your organization you can do that using the following alternative methods. > 1. Use a custom Teams audio conferencing policy - Audio Conferencing toll-free number policies - Microsoft Teams | Microsoft Learn (https://learn.microsoft.com/en-us/microsoftteams/audio-conferencing-toll-free-numbers-policy)> 2. Use Set-CsOnlineDialinConferencingUser - Set-CsOnlineDialInConferencingUser (MicrosoftTeamsPowerShell) | Microsoft Learn (https://learn.microsoft.com/en-us/powershell/module/teams/set-csonlinedialinconferencinguser?view=teams-ps)> >If you need assistance in using any of the above methods to achieve what you previously did with the Set-CsOnlineDialInConferencingUserDefaultNumber command, please open a support case with our customer support team. + + + + Provide the detailed description here. + + + + Set-CsOnlineDialInConferencingUserDefaultNumber + + BridgeId + + The Bridge Id results from running Get-CsOnlineDialInConferencingBridge (https://learn.microsoft.com/powershell/module/skype/get-csonlinedialinconferencingbridge)For example "9884626f-dcfb-49f4-8025-912f5bc68fdc". You can either specify BridgeName or BridgeId. + + Guid + + Guid + + + None + + + BridgeName + + The Bridge Name results from running Get-CsOnlineDialInConferencingBridge (https://learn.microsoft.com/powershell/module/skype/get-csonlinedialinconferencingbridge)For example "Conference Bridge". You can either specify BridgeName or BridgeId. + + String + + String + + + None + + + CountryOrRegion + + A String representing the Country or Region this Dial In Conferencing Default number belongs to. + + String + + String + + + None + + + FromNumber + + The current default number defined. $null if no number defined. + + String + + String + + + None + + + NumberType + + The type of number this Dial In Conferencing Default number has. Valid values are + - Toll + - TollFree + + String + + String + + + None + + + ToNumber + + The new number to assign, without the + sign, for example 14255550101. + + String + + String + + + None + + + AreaOrState + + A String representing the Area or State this Dial In Conferencing Default number belongs to. + + String + + String + + + None + + + CapitalOrMajorCity + + A String representing the Capital or Major City this Dial In Conferencing Default number belongs to. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before executing the command. + + + SwitchParameter + + + False + + + DomainController + + This parameter is reserved for internal Microsoft use. + + Fqdn + + Fqdn + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + RescheduleMeetings + + Sends e-mail notifications to Meeting attendees with the updated settings. + + + SwitchParameter + + + False + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + TenantDomain + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + + SwitchParameter + + + False + + + + + + BridgeId + + The Bridge Id results from running Get-CsOnlineDialInConferencingBridge (https://learn.microsoft.com/powershell/module/skype/get-csonlinedialinconferencingbridge)For example "9884626f-dcfb-49f4-8025-912f5bc68fdc". You can either specify BridgeName or BridgeId. + + Guid + + Guid + + + None + + + BridgeName + + The Bridge Name results from running Get-CsOnlineDialInConferencingBridge (https://learn.microsoft.com/powershell/module/skype/get-csonlinedialinconferencingbridge)For example "Conference Bridge". You can either specify BridgeName or BridgeId. + + String + + String + + + None + + + CountryOrRegion + + A String representing the Country or Region this Dial In Conferencing Default number belongs to. + + String + + String + + + None + + + FromNumber + + The current default number defined. $null if no number defined. + + String + + String + + + None + + + NumberType + + The type of number this Dial In Conferencing Default number has. Valid values are + - Toll + - TollFree + + String + + String + + + None + + + ToNumber + + The new number to assign, without the + sign, for example 14255550101. + + String + + String + + + None + + + AreaOrState + + A String representing the Area or State this Dial In Conferencing Default number belongs to. + + String + + String + + + None + + + CapitalOrMajorCity + + A String representing the Capital or Major City this Dial In Conferencing Default number belongs to. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + DomainController + + This parameter is reserved for internal Microsoft use. + + Fqdn + + Fqdn + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + RescheduleMeetings + + Sends e-mail notifications to Meeting attendees with the updated settings. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + TenantDomain + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-CsOnlineDialInConferencingUserDefaultNumber -FromNumber 14255550100 -ToNumber 14255550101 -NumberType Toll -RescheduleMeetings -BridgeId 9884626f-dcfb-49f4-8025-912f5bc68fdc + + This example replaces the default toll or toll-free number for all users who have the number 14255550100 as a default number to the number 14255550101 and starts the process of rescheduling their meetings. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/skype/set-csonlinedialinconferencinguserdefaultnumber + + + + + + Set-CsOnlineEnhancedEmergencyServiceDisclaimer + Set + CsOnlineEnhancedEmergencyServiceDisclaimer + + When using Microsoft Teams PSTN Calling Services you need to record your organization's acceptance of the enhanced emergency service terms and conditions. This is done per country/region and it needs to be done before you can provide PSTN calling services to Microsoft Teams users in the country/region. + You can record your organization's acceptance using the Set-CsOnlineEnhancedEmergencyServiceDisclaimer cmdlet at any time. If you haven't accepted it for a given country/region you will be prompted to do so by warning information in the Teams PS Module, when you try to assign a phone number to a Microsoft Teams user, or in the Teams admin center, when you create an emergency address in a country/region. + Any tenant administrator can accept the terms and conditions and it only needs to be done once per country/region. + As the output the cmdlet will show the emergency service disclaimer and that it has been accepted. You can use Get-CsOnlineEnhancedEmergencyServiceDisclaimer to see the status of the emergency service disclaimer. + + + + You must run this cmdlet prior to assigning Microsoft Calling Plan phone numbers and locations to voice enabled users or accept the similar disclaimer in the Teams admin center. + Microsoft Calling Plan phone numbers are available in several countries/regions, see Country and region availability for Audio Conferencing and Calling Plans (https://learn.microsoft.com/MicrosoftTeams/country-and-region-availability-for-audio-conferencing-and-calling-plans/country-and-region-availability-for-audio-conferencing-and-calling-plans) + + + + Set-CsOnlineEnhancedEmergencyServiceDisclaimer + + CountryOrRegion + + Specifies the region or country whose terms and conditions you wish to accept. You need to use the ISO 31661-1 alpha-2 2 letter code for the country. For example for the United States it must be specified as "US" and for Denmark it must be specified as "DK". + + String + + String + + + None + + + Confirm + + The Confirm switch causes the command to pause processing and requires confirmation to proceed. + + + SwitchParameter + + + False + + + DomainController + + This parameter is reserved for internal Microsoft use. + + Fqdn + + Fqdn + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + ForceAccept + + This parameter is reserved for internal Microsoft use. + + + SwitchParameter + + + False + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + Version + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + + SwitchParameter + + + False + + + + + + CountryOrRegion + + Specifies the region or country whose terms and conditions you wish to accept. You need to use the ISO 31661-1 alpha-2 2 letter code for the country. For example for the United States it must be specified as "US" and for Denmark it must be specified as "DK". + + String + + String + + + None + + + Confirm + + The Confirm switch causes the command to pause processing and requires confirmation to proceed. + + SwitchParameter + + SwitchParameter + + + False + + + DomainController + + This parameter is reserved for internal Microsoft use. + + Fqdn + + Fqdn + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + ForceAccept + + This parameter is reserved for internal Microsoft use. + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + Version + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + None + + + + + + + + + + None + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-CsOnlineEnhancedEmergencyServiceDisclaimer -CountryOrRegion US + + This example accepts the U.S. version of the enhanced emergency service terms and conditions. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csonlineenhancedemergencyservicedisclaimer + + + Get-CsOnlineEnhancedEmergencyServiceDisclaimer + + + + + + + Set-CsOnlineLisCivicAddress + Set + CsOnlineLisCivicAddress + + Use the `Set-CsOnlineLisCivicAddress` cmdlet to modify an existing civic address which has not been validated. Validated civic addresses cannot be modified. Note: This cmdlet is only available for Microsoft internal use. + + + + Use the `Set-CsOnlineLisCivicAddress` cmdlet to modify an existing civic address which has not been validated. Validated civic addresses cannot be modified. + + + + Set-CsOnlineLisCivicAddress + + CivicAddressId + + Specifies the unique identifier of the civic address to be modified. + + Guid + + Guid + + + None + + + City + + Specifies a new city for the civic address. + + String + + String + + + None + + + CityAlias + + Short form of the city name. + + String + + String + + + None + + + CompanyName + + Specifies a new company name for the civic address. + + String + + String + + + None + + + CompanyTaxId + + Used to store TaxId for regulatory reasons. + + String + + String + + + None + + + Confirm + + The Confirm switch causes the command to pause processing and requires confirmation to proceed. + + + SwitchParameter + + + False + + + CountryOrRegion + + Specifies a new country or region for the civic address. + + String + + String + + + None + + + Description + + Specifies a new description for the civic address. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + HouseNumber + + Specifies the new numeric portion of the civic address. + + String + + String + + + None + + + HouseNumberSuffix + + Specifies the new numeric suffix of the new civic address. For example, if the property was multiplexed, the HouseNumberSuffix parameter would be the multiplex specifier: "425A Smith Avenue", or "425B Smith Avenue". + + String + + String + + + None + + + PostalCode + + Specifies the new postal code of the civic address. + + String + + String + + + None + + + PostDirectional + + Specifies the new directional attribute of the civic address which follows the street name. For example, "425 Smith Avenue NE". + + String + + String + + + None + + + PreDirectional + + Specifies the new directional attribute of the civic address which precedes the street name. For example, "425 NE Smith Avenue ". + + String + + String + + + None + + + StateOrProvince + + Specifies the new state or province of the civic address. + + String + + String + + + None + + + StreetName + + Specifies the new street name of the civic address. + + String + + String + + + None + + + StreetSuffix + + Specifies the new modifier of the street name of the new civic address. The street suffix will typically be something like street, avenue, way, or boulevard. + + String + + String + + + None + + + ValidationStatus + + Microsoft internal use only + + String + + String + + + None + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + + SwitchParameter + + + False + + + Confidence + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + Elin + + Specifies the Emergency Location Identification Number. This is used in Direct Routing EGW scenarios. + + String + + String + + + None + + + Latitude + + Specifies the angular distance of a place north or south of the earth's equator in the decimal degrees format. + + String + + String + + + None + + + Longitude + + Specifies the angular distance of a place east or west of the meridian at Greenwich, England, in the decimal degrees format. + + String + + String + + + None + + + IsAzureMapValidationRequired + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + + + + CivicAddressId + + Specifies the unique identifier of the civic address to be modified. + + Guid + + Guid + + + None + + + City + + Specifies a new city for the civic address. + + String + + String + + + None + + + CityAlias + + Short form of the city name. + + String + + String + + + None + + + CompanyName + + Specifies a new company name for the civic address. + + String + + String + + + None + + + CompanyTaxId + + Used to store TaxId for regulatory reasons. + + String + + String + + + None + + + Confirm + + The Confirm switch causes the command to pause processing and requires confirmation to proceed. + + SwitchParameter + + SwitchParameter + + + False + + + CountryOrRegion + + Specifies a new country or region for the civic address. + + String + + String + + + None + + + Description + + Specifies a new description for the civic address. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + HouseNumber + + Specifies the new numeric portion of the civic address. + + String + + String + + + None + + + HouseNumberSuffix + + Specifies the new numeric suffix of the new civic address. For example, if the property was multiplexed, the HouseNumberSuffix parameter would be the multiplex specifier: "425A Smith Avenue", or "425B Smith Avenue". + + String + + String + + + None + + + PostalCode + + Specifies the new postal code of the civic address. + + String + + String + + + None + + + PostDirectional + + Specifies the new directional attribute of the civic address which follows the street name. For example, "425 Smith Avenue NE". + + String + + String + + + None + + + PreDirectional + + Specifies the new directional attribute of the civic address which precedes the street name. For example, "425 NE Smith Avenue ". + + String + + String + + + None + + + StateOrProvince + + Specifies the new state or province of the civic address. + + String + + String + + + None + + + StreetName + + Specifies the new street name of the civic address. + + String + + String + + + None + + + StreetSuffix + + Specifies the new modifier of the street name of the new civic address. The street suffix will typically be something like street, avenue, way, or boulevard. + + String + + String + + + None + + + ValidationStatus + + Microsoft internal use only + + String + + String + + + None + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + SwitchParameter + + SwitchParameter + + + False + + + Confidence + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + Elin + + Specifies the Emergency Location Identification Number. This is used in Direct Routing EGW scenarios. + + String + + String + + + None + + + Latitude + + Specifies the angular distance of a place north or south of the earth's equator in the decimal degrees format. + + String + + String + + + None + + + Longitude + + Specifies the angular distance of a place east or west of the meridian at Greenwich, England, in the decimal degrees format. + + String + + String + + + None + + + IsAzureMapValidationRequired + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-CsOnlineLisCivicAddress -CivicAddressid a363a9b8-1acd-41de-916a-296c7998a024 -Description "City Center" -CompanyName Contoso + + This example modifies the description and company name of the civic address with the identity a363a9b8-1acd-41de-916a-296c7998a024. + + + + -------------------------- Example 2 -------------------------- + Set-CsOnlineLisCivicAddress -CivicAddressid a363a9b8-1acd-41de-916a-296c7998a024 -Latitude 47.63952 -Longitude -122.12781 -ELIN MICROSOFT_ELIN + + This example modifies the latitude, longitude and ELIN name of the civic address with the identity a363a9b8-1acd-41de-916a-296c7998a024. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csonlineliscivicaddress + + + Get-CsOnlineLisCivicAddress + + + + New-CsOnlineLisCivicAddress + + + + Remove-CsOnlineLisCivicAddress + + + + + + + Set-CsOnlineLisLocation + Set + CsOnlineLisLocation + + Use the `Set-CsOnlineLisLocation` cmdlet to modify an existing emergency dispatch location. There can be multiple locations in a civic address. Typically the civic address designates the building, and locations are specific parts of that building such as a floor, office, or wing. + + + + + + + + Set-CsOnlineLisLocation + + CivicAddressId + + Specifies the unique identifier of the civic address that contains the location to be modified. Civic address identities can be discovered by using the `Get-CsOnlineLisCivicAddress` cmdlet. Note: This parameter is not supported and will be deprecated. + + Guid + + Guid + + + None + + + City + + Specifies the city of the civic address. Note: This parameter is not supported and will be deprecated. + + String + + String + + + None + + + CityAlias + + Note: This parameter has been deprecated from the Teams PowerShell Module version 3.0.0 or later. + + String + + String + + + None + + + CompanyName + + Specifies the name of your organization. Note: This parameter is not supported and will be deprecated. + + String + + String + + + None + + + CompanyTaxId + + The company tax ID. Note: This parameter is not supported and will be deprecated. + + String + + String + + + None + + + Confidence + + Note: This parameter is not supported and will be deprecated. + + String + + String + + + None + + + CountryOrRegion + + Specifies the country or region of the civic address. Note: This parameter is not supported and will be deprecated. + + String + + String + + + None + + + Description + + Specifies an administrator defined description of the civic address. Note: This parameter is not supported and will be deprecated. + + String + + String + + + None + + + Elin + + Specifies the Emergency Location Identification Number. This is used in Direct Routing EGW scenarios. Note: You can set or change the ELIN, but you can't clear its value. If you need to clear the value, you should recreate the location. + + String + + String + + + None + + + HouseNumber + + Specifies the numeric portion of the civic address. Note: This parameter is not supported and will be deprecated. + + String + + String + + + None + + + HouseNumberSuffix + + Specifies the numeric suffix of the civic address. For example, if the property was multiplexed, the HouseNumberSuffix parameter would be the multiplex specifier: "425A Smith Avenue", or "425B Smith Avenue". Note: This parameter is not supported and will be deprecated. + + String + + String + + + None + + + Latitude + + Specifies the angular distance of a place north or south of the earth's equator using the decimal degrees format. Note: This parameter is not supported and will be deprecated. + + String + + String + + + None + + + Longitude + + Specifies the angular distance of a place east or west of the meridian at Greenwich, England, using the decimal degrees format. Note: This parameter is not supported and will be deprecated. + + String + + String + + + None + + + PostalCode + + Specifies the postal code of the civic address. Note: This parameter is not supported and will be deprecated. + + String + + String + + + None + + + PostDirectional + + Specifies the directional attribute of the civic address which follows the street name. For example, "425 Smith Avenue NE". Note: This parameter is not supported and will be deprecated. + + String + + String + + + None + + + PreDirectional + + Specifies the directional attribute of the civic address which precedes the street name. For example, "425 NE Smith Avenue ". Note: This parameter is not supported and will be deprecated. + + String + + String + + + None + + + StateOrProvince + + Specifies the state or province of the civic address. Note: This parameter is not supported and will be deprecated. + + String + + String + + + None + + + StreetName + + Specifies the street name of the civic address. Note: This parameter is not supported and will be deprecated. + + String + + String + + + None + + + StreetSuffix + + Specifies a modifier of the street name of the civic address. The street suffix will typically be something like street, avenue, way, or boulevard. Note: This parameter is not supported and will be deprecated. + + String + + String + + + None + + + IsAzureMapValidationRequired + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + + SwitchParameter + + + False + + + Confirm + + The Confirm switch causes the command to pause processing and requires confirmation to proceed. + + + SwitchParameter + + + False + + + + Set-CsOnlineLisLocation + + LocationId + + Specifies the unique identifier of the location to be modified. Location identities can be discovered by using the `Get-CsOnlineLisLocation` cmdlet. + + Guid + + Guid + + + None + + + CityAlias + + Note: This parameter has been deprecated from the Teams PowerShell Module version 3.0.0 or later. + + String + + String + + + None + + + Confidence + + Note: This parameter is not supported and will be deprecated. + + String + + String + + + None + + + Elin + + Specifies the Emergency Location Identification Number. This is used in Direct Routing EGW scenarios. Note: You can set or change the ELIN, but you can't clear its value. If you need to clear the value, you should recreate the location. + + String + + String + + + None + + + Latitude + + Specifies the angular distance of a place north or south of the earth's equator using the decimal degrees format. Note: This parameter is not supported and will be deprecated. + + String + + String + + + None + + + Longitude + + Specifies the angular distance of a place east or west of the meridian at Greenwich, England, using the decimal degrees format. Note: This parameter is not supported and will be deprecated. + + String + + String + + + None + + + Location + + Specifies an administrator defined description of the new location. For example, "2nd Floor Cafe", "Main Lobby", or "Office 250". + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + + SwitchParameter + + + False + + + Confirm + + The Confirm switch causes the command to pause processing and requires confirmation to proceed. + + + SwitchParameter + + + False + + + + + + CivicAddressId + + Specifies the unique identifier of the civic address that contains the location to be modified. Civic address identities can be discovered by using the `Get-CsOnlineLisCivicAddress` cmdlet. Note: This parameter is not supported and will be deprecated. + + Guid + + Guid + + + None + + + LocationId + + Specifies the unique identifier of the location to be modified. Location identities can be discovered by using the `Get-CsOnlineLisLocation` cmdlet. + + Guid + + Guid + + + None + + + City + + Specifies the city of the civic address. Note: This parameter is not supported and will be deprecated. + + String + + String + + + None + + + CityAlias + + Note: This parameter has been deprecated from the Teams PowerShell Module version 3.0.0 or later. + + String + + String + + + None + + + CompanyName + + Specifies the name of your organization. Note: This parameter is not supported and will be deprecated. + + String + + String + + + None + + + CompanyTaxId + + The company tax ID. Note: This parameter is not supported and will be deprecated. + + String + + String + + + None + + + Confidence + + Note: This parameter is not supported and will be deprecated. + + String + + String + + + None + + + CountryOrRegion + + Specifies the country or region of the civic address. Note: This parameter is not supported and will be deprecated. + + String + + String + + + None + + + Description + + Specifies an administrator defined description of the civic address. Note: This parameter is not supported and will be deprecated. + + String + + String + + + None + + + Elin + + Specifies the Emergency Location Identification Number. This is used in Direct Routing EGW scenarios. Note: You can set or change the ELIN, but you can't clear its value. If you need to clear the value, you should recreate the location. + + String + + String + + + None + + + HouseNumber + + Specifies the numeric portion of the civic address. Note: This parameter is not supported and will be deprecated. + + String + + String + + + None + + + HouseNumberSuffix + + Specifies the numeric suffix of the civic address. For example, if the property was multiplexed, the HouseNumberSuffix parameter would be the multiplex specifier: "425A Smith Avenue", or "425B Smith Avenue". Note: This parameter is not supported and will be deprecated. + + String + + String + + + None + + + Latitude + + Specifies the angular distance of a place north or south of the earth's equator using the decimal degrees format. Note: This parameter is not supported and will be deprecated. + + String + + String + + + None + + + Longitude + + Specifies the angular distance of a place east or west of the meridian at Greenwich, England, using the decimal degrees format. Note: This parameter is not supported and will be deprecated. + + String + + String + + + None + + + Location + + Specifies an administrator defined description of the new location. For example, "2nd Floor Cafe", "Main Lobby", or "Office 250". + + String + + String + + + None + + + PostalCode + + Specifies the postal code of the civic address. Note: This parameter is not supported and will be deprecated. + + String + + String + + + None + + + PostDirectional + + Specifies the directional attribute of the civic address which follows the street name. For example, "425 Smith Avenue NE". Note: This parameter is not supported and will be deprecated. + + String + + String + + + None + + + PreDirectional + + Specifies the directional attribute of the civic address which precedes the street name. For example, "425 NE Smith Avenue ". Note: This parameter is not supported and will be deprecated. + + String + + String + + + None + + + StateOrProvince + + Specifies the state or province of the civic address. Note: This parameter is not supported and will be deprecated. + + String + + String + + + None + + + StreetName + + Specifies the street name of the civic address. Note: This parameter is not supported and will be deprecated. + + String + + String + + + None + + + StreetSuffix + + Specifies a modifier of the street name of the civic address. The street suffix will typically be something like street, avenue, way, or boulevard. Note: This parameter is not supported and will be deprecated. + + String + + String + + + None + + + IsAzureMapValidationRequired + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + The Confirm switch causes the command to pause processing and requires confirmation to proceed. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-CsOnlineLisLocation -LocationId 5aa884e8-d548-4b8e-a289-52bfd5265a6e -Location "B5 2nd Floor" + + This example changes the location description of the location specified by its location identity. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csonlinelislocation + + + New-CsOnlineLisLocation + + + + Get-CsOnlineLisLocation + + + + Remove-CsOnlineLisLocation + + + + + + + Set-CsOnlineLisPort + Set + CsOnlineLisPort + + Creates a Location Information Server (LIS) port, creates an association between a port and a location, or modifies an existing port and its associated location. The association between a port and location is used in an Enhanced 9-1-1 (E9-1-1) Enterprise Voice implementation to notify an emergency services operator of the caller's location. + + + + Enhanced 9-1-1 allows an emergency operator to identify the location of a caller without having to ask the caller for that information. In the case where a caller is calling from a Voice over Internet Protocol (VoIP) connection, that information must be extracted based on various connection factors. The VoIP administrator must configure a location map (called a wiremap) that will determine a caller's location. This cmdlet allows the administrator to map physical locations to the port through which the client is connected. + + + + Set-CsOnlineLisPort + + ChassisID + + If ChassisID sub type is a MAC Address then this value must be in a string format in the following representation nn-nn-nn-nn-nn-nn, such as 12-34-56-78-90-ab. Otherwise, (different sub type, such as Interface Name), then this value must be in a string format as set on the switch + + String + + String + + + None + + + LocationId + + Specifies the unique identifier of the location to be modified. + + Guid + + Guid + + + None + + + PortID + + If the PortID subtype is a MAC Address, this value must be in a string format in the following representation nn-nn-nn-nn-nn-nn, such as 12-34-56-78-90-ab. Otherwise (different subtype, such as Interface Name), this value must be in a string format as set on the switch. + + String + + String + + + None + + + Description + + Specifies the administrator defined description of the port. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + IsDebug + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + NCSApiUrl + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + TargetStore + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + ChassisID + + If ChassisID sub type is a MAC Address then this value must be in a string format in the following representation nn-nn-nn-nn-nn-nn, such as 12-34-56-78-90-ab. Otherwise, (different sub type, such as Interface Name), then this value must be in a string format as set on the switch + + String + + String + + + None + + + LocationId + + Specifies the unique identifier of the location to be modified. + + Guid + + Guid + + + None + + + PortID + + If the PortID subtype is a MAC Address, this value must be in a string format in the following representation nn-nn-nn-nn-nn-nn, such as 12-34-56-78-90-ab. Otherwise (different subtype, such as Interface Name), this value must be in a string format as set on the switch. + + String + + String + + + None + + + Description + + Specifies the administrator defined description of the port. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + IsDebug + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + NCSApiUrl + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + TargetStore + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.Guid + + + + + + + + System.String + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-CsOnlineLisPort -PortID 12174 -ChassisID 0B-23-CD-16-AA-CC -Description "LisPort 12174" -LocationId efd7273e-3092-4a56-8541-f5c896bb6fee + + Example 1 creates the association between port "12174" and LocationId "efd7273e-3092-4a56-8541-f5c896bb6fee". + + + + -------------------------- Example 2 -------------------------- + Set-CsOnlineLisPort -PortID 0A-25-55-AB-CD-FF -ChassisID 0B-23-CD-16-AA-CC -Description "LisPort 0A-25-55-AB-CD-FF" -LocationId efd7273e-3092-4a56-8541-f5c896bb6fee + + Example 2 creates the association between port "0A-25-55-AB-CD-FF" and LocationId "efd7273e-3092-4a56-8541-f5c896bb6fee". + + + + -------------------------- Example 3 -------------------------- + Set-CsOnlineLisPort -PortID 12174 -ChassisID 55123 -Description "LisPort 12174" -LocationId efd7273e-3092-4a56-8541-f5c896bb6fee + + Example 3 creates the association between port "12174" and LocationId "efd7273e-3092-4a56-8541-f5c896bb6fee". (Note: in this example, ChassisID sub-type is InterfaceName) + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csonlinelisport + + + Get-CsOnlineLisPort + + + + Remove-CsOnlineLisPort + + + + + + + Set-CsOnlineLisSubnet + Set + CsOnlineLisSubnet + + Creates a Location Information Server (LIS) subnet, creates an association between a subnet and a location, or modifies an existing subnet and its associated location. The association between a subnet and location is used in an Enhanced 9-1-1 (E9-1-1) Enterprise Voice implementation to notify an emergency services operator of the caller's location. + + + + Enhanced 9-1-1 allows an emergency operator to identify the location of a caller without having to ask the caller for that information. In the case where a caller is calling from a Voice over Internet Protocol (VoIP) connection, that information must be extracted based on various connection factors. The VoIP administrator must configure a location map (called a wiremap) that will determine a caller's location. This cmdlet allows the administrator to map physical locations to the subnet through which the client is connected. + The location ID which is associating with the subnet is not required to be the existing location. + LIS subnets must be defined by the Network ID matching the subnet IP range assigned to clients. For example, the network ID for a client IP/mask of 10.10.10.150/25 is 10.10.10.128. For more information, see Understand TCP/IP addressing and subnetting basics (/troubleshoot/windows-client/networking/tcpip-addressing-and-subnetting). + + + + Set-CsOnlineLisSubnet + + TenantId + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + Subnet + + The IP address of the subnet. This value can be either IPv4 or IPv6 format. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Description + + Specifies the administrator defined description of the Location Information Service subnet. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + IsDebug + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + LocationId + + Specifies the unique identifier of the location to be modified. + + Guid + + Guid + + + None + + + NCSApiUrl + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + TargetStore + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Description + + Specifies the administrator defined description of the Location Information Service subnet. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + IsDebug + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + LocationId + + Specifies the unique identifier of the location to be modified. + + Guid + + Guid + + + None + + + NCSApiUrl + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + Subnet + + The IP address of the subnet. This value can be either IPv4 or IPv6 format. + + String + + String + + + None + + + TargetStore + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + TenantId + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.Guid + + + + + + + + System.String + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-CsOnlineLisSubnet -Subnet 10.10.10.128 -LocationId f037a9ad-4334-455a-a1c5-3838ec0f5d02 -Description "Subnet 10.10.10.128" + + Example 1 creates the Location Information Service subnet "10.10.10.128" associated to Location ID "f037a9ad-4334-455a-a1c5-3838ec0f5d02". + + + + -------------------------- Example 2 -------------------------- + Set-CsOnlineLisSubnet -Subnet 2001:4898:e8:6c:90d2:28d4:76a4:ec5e -LocationId f037a9ad-4334-455a-a1c5-3838ec0f5d02 -Description "Subnet 2001:4898:e8:6c:90d2:28d4:76a4:ec5e" + + Example 2 creates the Location Information Service subnet in IPv6 format "2001:4898:e8:6c:90d2:28d4:76a4:ec5e" associated to Location ID "f037a9ad-4334-455a-a1c5-3838ec0f5d02". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csonlinelissubnet + + + + + + Set-CsOnlineLisSwitch + Set + CsOnlineLisSwitch + + Creates a Location Information Server (LIS) switch, creates an association between a switch and a location, or modifies an existing switch and its associated location. The association between a switch and location is used in an Enhanced 9-1-1 (E9-1-1) Enterprise Voice implementation to notify an emergency services operator of the caller's location. + + + + Enhanced 9-1-1 allows an emergency operator to identify the location of a caller without having to ask the caller for that information. In the case where a caller is calling from a Voice over Internet Protocol (VoIP) connection, that information must be extracted based on various connection factors. The VoIP administrator must configure a location map (called a wiremap) that will determine a caller's location. This cmdlet allows the administrator to map physical locations to the network switch through which the client is connected. + + + + Set-CsOnlineLisSwitch + + ChassisID + + If ChassisID sub type is a MAC Address then this value must be in a string format in the following representation nn-nn-nn-nn-nn-nn, such as 12-34-56-78-90-ab. Otherwise, (different sub type, such as Interface Name), then this value must be in a string format as set on the switch + + String + + String + + + None + + + LocationId + + The name for this location. + + Guid + + Guid + + + None + + + Description + + Specifies the administrator defined description of the switch. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + IsDebug + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + NCSApiUrl + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + TargetStore + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + ChassisID + + If ChassisID sub type is a MAC Address then this value must be in a string format in the following representation nn-nn-nn-nn-nn-nn, such as 12-34-56-78-90-ab. Otherwise, (different sub type, such as Interface Name), then this value must be in a string format as set on the switch + + String + + String + + + None + + + LocationId + + The name for this location. + + Guid + + Guid + + + None + + + Description + + Specifies the administrator defined description of the switch. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + IsDebug + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + NCSApiUrl + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + TargetStore + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.Guid + + + + + + + + System.String + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-CsOnlineLisSwitch -ChassisID B8-BE-BF-4A-A3-00 -Description "DKSwitch1" -LocationId 9905bca0-6fb0-11ec-84a4-25019013784a + + Example 1 creates a switch with Chassis ID "B8-BE-BF-4A-A3-00", and associates it with location ID 9905bca0-6fb0-11ec-84a4-25019013784a. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csonlinelisswitch + + + Get-CsOnlineLisSwitch + + + + Remove-CsOnlineLisSwitch + + + + + + + Set-CsOnlineLisWirelessAccessPoint + Set + CsOnlineLisWirelessAccessPoint + + Creates a Location Information Server (LIS) wireless access point (WAP), creates an association between a WAP and a location, or modifies an existing WAP and its associated location. The association between a WAP and location is used in an Enhanced 9-1-1 (E9-1-1) Enterprise Voice implementation to notify an emergency services operator of the caller's location. + + + + Enhanced 9-1-1 allows an emergency operator to identify the location of a caller without having to ask the caller for that information. In the case where a caller is calling from a Voice over Internet Protocol (VoIP) connection, that information must be extracted based on various connection factors. The VoIP administrator must configure a location map (called a wiremap) that will determine a caller's location. This cmdlet allows the administrator to map physical locations to the WAP through which calls will be routed. + The BSSID (Basic Service Set Identifiers) is used to describe sections of a wireless local area network. It is the MAC of the 802.11 side of the access point. The BSSID parameter in this command also supports the wildcard format to cover all BSSIDs in a range which share the same description and Location ID. The wildcard '*' can be on either the last one or two character(s). + If a BSSID with wildcard format is already existing, the request for adding one more new BSSID which is within this wildcard range and with the same location ID will not be accepted. + + + + Set-CsOnlineLisWirelessAccessPoint + + BSSID + + The Basic Service Set Identifier (BSSID) of the wireless access point. This value must be in the form nn-nn-nn-nn-nn-nn, such as 12-34-56-78-90-ab. If an entry with the specified BSSID value does not exist, a new WAP will be created. If an entry with the specified BSSID already exists, that entry will be replaced. It can be presented in wildcard format. The wildcard '*' can be on either the last one or two character(s). + + String + + String + + + None + + + LocationId + + The name for this location. + + Guid + + Guid + + + None + + + Description + + Specifies the administrator defined description of the WAP. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + IsDebug + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + NCSApiUrl + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + TargetStore + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + BSSID + + The Basic Service Set Identifier (BSSID) of the wireless access point. This value must be in the form nn-nn-nn-nn-nn-nn, such as 12-34-56-78-90-ab. If an entry with the specified BSSID value does not exist, a new WAP will be created. If an entry with the specified BSSID already exists, that entry will be replaced. It can be presented in wildcard format. The wildcard '*' can be on either the last one or two character(s). + + String + + String + + + None + + + LocationId + + The name for this location. + + Guid + + Guid + + + None + + + Description + + Specifies the administrator defined description of the WAP. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + IsDebug + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + NCSApiUrl + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + TargetStore + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.String + + + + + + + + System.Guid + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-CsOnlineLisWirelessAccessPoint -BSSID F0-6E-0B-C2-03-23 -Description "USWAP1" -LocationId d7714269-ee52-4635-97b0-d7c228801d24 + + Example 1 creates the wireless access point with BSSID "F0-6E-0B-C2-03-23", associated with location ID d7714269-ee52-4635-97b0-d7c228801d24. + + + + -------------------------- Example 2 -------------------------- + Set-CsOnlineLisWirelessAccessPoint -BSSID F0-6E-0B-C2-04-* -LocationId b2804a1a-e4cf-47df-8964-3eaf6fe1ae3a -Description 'SEWAPs' + + Example 2 creates the wireless access point with Chassis ID "F0-6E-0B-C2-04- ", associated with location ID b2804a1a-e4cf-47df-8964-3eaf6fe1ae3a. BSSID "F0-6E-0B-C2-04- " is in wildcard format which is equivalent to adding all BSSIDs with the same LocationID in the range "F0-6E-0B-C2-04-[0-9A-F][0-9A-F]". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csonlineliswirelessaccesspoint + + + Get-CsOnlineLisWirelessAccessPoint + + + + Remove-CsOnlineLisWirelessAccessPoint + + + + + + + Set-CsOnlinePSTNGateway + Set + CsOnlinePSTNGateway + + Modifies the previously defined Session Border Controller (SBC) Configuration that describes the settings for the peer entity. This cmdlet was introduced with Microsoft Phone System Direct Routing. + + + + Use this cmdlet to modify the configuration of the previously created Session Border Controller (SBC) configuration. Each configuration contains specific settings for an SBC. These settings configure such entities as SIP signaling port, whether media bypass is enabled on this SBC, will the SBC send SIP options, specify the limit of maximum concurrent sessions, The cmdlet also let drain the SBC by setting parameter -Enabled to true or false state. When the Enabled parameter set to $false, the SBC will continue existing calls, but all new calls routed to another SBC in a route (if exists). + + + + Set-CsOnlinePSTNGateway + + Identity + + The parameter is mandatory when modifying an existing SBC. + + String + + String + + + None + + + Description + + Free-format string to describe the gateway. + + String + + String + + + None + + + Enabled + + Used to enable this SBC for outbound calls. Can be used to temporarily remove the SBC from service while it is being updated or during maintenance. Note if the parameter is not set the SBC will be created as disabled (default value -Enabled $false). + + Boolean + + Boolean + + + $false + + + FailoverResponseCodes + + If Direct Routing receives any 4xx or 6xx SIP error code in response on outgoing Invite (outgoing means call from a Teams client to PSTN with traffic flow :Teams Client -> Direct Routing -> SBC -> Telephony network) the call is considered completed by default. Setting the SIP codes in this parameter forces Direct Routing on receiving the specified codes try another SBC (if another SBC exists in the voice routing policy of the user). Please find more in "Reference" section of "Phone System Direct Routing" documentation + Setting this parameter overwrites the default values, so if you want to include the default values, please add them to string. + + String + + String + + + 408, 503, 504 + + + FailoverTimeSeconds + + When set to 10 (default value), outbound calls that are not answered by the gateway within 10 seconds are routed to the next available trunk; if there are no additional trunks, then the call is automatically dropped. In an organization with slow networks and slow gateway responses, that could potentially result in calls being dropped unnecessarily. The default value is 10. + + Int32 + + Int32 + + + 10 + + + ForwardCallHistory + + Indicates whether call history information will be forwarded through the trunk. If enabled, the Office 365 PSTN Proxy sends two headers: History-info and Referred-By. The default value is False ($False). + + Boolean + + Boolean + + + $false + + + ForwardPai + + Indicates whether the P-Asserted-Identity (PAI) header will be forwarded along with the call. The PAI header provides a way to verify the identity of the caller. The default value is False ($False). Setting this parameter to $true will render the from header anonymous, in accordance of RFC5379 and RFC3325. + + Boolean + + Boolean + + + $false + + + GatewaySiteId + + PSTN Gateway Site Id. + + String + + String + + + None + + + GatewayLbrEnabledUserOverride + + Allows an LBR enabled user working from a network site outside the corporate network or a network site on the corporate network not configured using a tenant network site to make outbound PSTN calls or receive inbound PSTN calls via an LBR enabled gateway. The default value is False. + + Boolean + + Boolean + + + $false + + + GatewaySiteLbrEnabled + + Used to enable this SBC to report assigned site location. Site location is used for Location Based Routing. When this parameter is turned on, the SBC will report the site name as defined by tenant administrator. On incoming call to a Teams user the value of the site assigned to the SBC is compared with the value of the site assigned to the user to make a routing decision. The parameter is mandatory for enabling Location Based Routing feature. The default value is False ($False). + + Boolean + + Boolean + + + $false + + + MaxConcurrentSessions + + Used by the alerting system. When any value is set, the alerting system will generate an alert to the tenant administrator when the number of concurrent session is 90% or higher than this value. If this parameter is not set, the alerts are not generated. However, the monitoring system will report the number of concurrent sessions every 24 hours. + + System.Int32 + + System.Int32 + + + None + + + MediaBypass + + Parameter indicated of the SBC supports Media Bypass and the administrator wants to use it for this SBC. + + Boolean + + Boolean + + + $false + + + MediaRelayRoutingLocationOverride + + Allows selecting path for media manually. Direct Routing assigns a datacenter for media path based on the public IP of the SBC. We always select closest to the SBC datacenter. However, in some cases a public IP from for example a US range can be assigned to an SBC located in Europe. In this case we will be using not optimal media path. We only recommend setting this parameter if the call logs clearly indicate that automatic assignment of the datacenter for media path does not assign the closest to the SBC datacenter. + + String + + String + + + $false + + + SendSipOptions + + Defines if an SBC will or will not send the SIP options. If disabled, the SBC will be excluded from Monitoring and Alerting system. We highly recommend that you enable SIP options. Default value is True. + + Boolean + + Boolean + + + $true + + + SipSignalingPort + + Listening port used for communicating with Direct Routing services by using the Transport Layer Security (TLS) protocol. The value must be between 1 and 65535. + + Int32 + + Int32 + + + None + + + BypassMode + + Possible values are "None", "Always" and "OnlyForLocalUsers". By setting "Always" mode you indicate that your network is fully routable. If a user usually in site "Seattle", travels to site "Tallinn" and tries to use SBC located in Seattle we will try to deliver the traffic to Seattle assuming that there is connection between Tallinn and Seattle offices. With "OnlyForLocaUsers" you indicate that there is no direct connection between sites. In example above, the traffic will not be send directly from Tallinn to Seattle. + + String + + String + + + None + + + InboundTeamsNumberTranslationRules + + This parameter assigns an ordered list of Teams translation rules, that apply to Teams numbers on inbound direction. + + Object + + Object + + + None + + + InboundPSTNNumberTranslationRules + + Creates an ordered list of Teams translation rules, that apply to PSTN number on inbound direction. + + Object + + Object + + + None + + + OutboundTeamsNumberTranslationRules + + Creates an ordered list of Teams translation rules, that apply to Teams Number on outbound direction. + + Object + + Object + + + None + + + OutboundPSTNNumberTranslationRules + + Assigns an ordered list of Teams translation rules, that apply to PSTN number on outbound direction. + + Object + + Object + + + None + + + PidfloSupported + + Enables PIDF-LO support on the PSTN Gateway. If turned on the .xml body payload is sent to the SBC with the location details of the user. + + Boolean + + Boolean + + + $false + + + ProxySbc + + The FQDN of the proxy SBC. Used in Local Media Optimization configurations. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Description + + Free-format string to describe the gateway. + + String + + String + + + None + + + Enabled + + Used to enable this SBC for outbound calls. Can be used to temporarily remove the SBC from service while it is being updated or during maintenance. Note if the parameter is not set the SBC will be created as disabled (default value -Enabled $false). + + Boolean + + Boolean + + + $false + + + FailoverResponseCodes + + If Direct Routing receives any 4xx or 6xx SIP error code in response on outgoing Invite (outgoing means call from a Teams client to PSTN with traffic flow :Teams Client -> Direct Routing -> SBC -> Telephony network) the call is considered completed by default. Setting the SIP codes in this parameter forces Direct Routing on receiving the specified codes try another SBC (if another SBC exists in the voice routing policy of the user). Please find more in "Reference" section of "Phone System Direct Routing" documentation + Setting this parameter overwrites the default values, so if you want to include the default values, please add them to string. + + String + + String + + + 408, 503, 504 + + + FailoverTimeSeconds + + When set to 10 (default value), outbound calls that are not answered by the gateway within 10 seconds are routed to the next available trunk; if there are no additional trunks, then the call is automatically dropped. In an organization with slow networks and slow gateway responses, that could potentially result in calls being dropped unnecessarily. The default value is 10. + + Int32 + + Int32 + + + 10 + + + ForwardCallHistory + + Indicates whether call history information will be forwarded through the trunk. If enabled, the Office 365 PSTN Proxy sends two headers: History-info and Referred-By. The default value is False ($False). + + Boolean + + Boolean + + + $false + + + ForwardPai + + Indicates whether the P-Asserted-Identity (PAI) header will be forwarded along with the call. The PAI header provides a way to verify the identity of the caller. The default value is False ($False). Setting this parameter to $true will render the from header anonymous, in accordance of RFC5379 and RFC3325. + + Boolean + + Boolean + + + $false + + + GatewaySiteId + + PSTN Gateway Site Id. + + String + + String + + + None + + + GatewayLbrEnabledUserOverride + + Allows an LBR enabled user working from a network site outside the corporate network or a network site on the corporate network not configured using a tenant network site to make outbound PSTN calls or receive inbound PSTN calls via an LBR enabled gateway. The default value is False. + + Boolean + + Boolean + + + $false + + + GatewaySiteLbrEnabled + + Used to enable this SBC to report assigned site location. Site location is used for Location Based Routing. When this parameter is turned on, the SBC will report the site name as defined by tenant administrator. On incoming call to a Teams user the value of the site assigned to the SBC is compared with the value of the site assigned to the user to make a routing decision. The parameter is mandatory for enabling Location Based Routing feature. The default value is False ($False). + + Boolean + + Boolean + + + $false + + + Identity + + The parameter is mandatory when modifying an existing SBC. + + String + + String + + + None + + + MaxConcurrentSessions + + Used by the alerting system. When any value is set, the alerting system will generate an alert to the tenant administrator when the number of concurrent session is 90% or higher than this value. If this parameter is not set, the alerts are not generated. However, the monitoring system will report the number of concurrent sessions every 24 hours. + + System.Int32 + + System.Int32 + + + None + + + MediaBypass + + Parameter indicated of the SBC supports Media Bypass and the administrator wants to use it for this SBC. + + Boolean + + Boolean + + + $false + + + MediaRelayRoutingLocationOverride + + Allows selecting path for media manually. Direct Routing assigns a datacenter for media path based on the public IP of the SBC. We always select closest to the SBC datacenter. However, in some cases a public IP from for example a US range can be assigned to an SBC located in Europe. In this case we will be using not optimal media path. We only recommend setting this parameter if the call logs clearly indicate that automatic assignment of the datacenter for media path does not assign the closest to the SBC datacenter. + + String + + String + + + $false + + + SendSipOptions + + Defines if an SBC will or will not send the SIP options. If disabled, the SBC will be excluded from Monitoring and Alerting system. We highly recommend that you enable SIP options. Default value is True. + + Boolean + + Boolean + + + $true + + + SipSignalingPort + + Listening port used for communicating with Direct Routing services by using the Transport Layer Security (TLS) protocol. The value must be between 1 and 65535. + + Int32 + + Int32 + + + None + + + BypassMode + + Possible values are "None", "Always" and "OnlyForLocalUsers". By setting "Always" mode you indicate that your network is fully routable. If a user usually in site "Seattle", travels to site "Tallinn" and tries to use SBC located in Seattle we will try to deliver the traffic to Seattle assuming that there is connection between Tallinn and Seattle offices. With "OnlyForLocaUsers" you indicate that there is no direct connection between sites. In example above, the traffic will not be send directly from Tallinn to Seattle. + + String + + String + + + None + + + InboundTeamsNumberTranslationRules + + This parameter assigns an ordered list of Teams translation rules, that apply to Teams numbers on inbound direction. + + Object + + Object + + + None + + + InboundPSTNNumberTranslationRules + + Creates an ordered list of Teams translation rules, that apply to PSTN number on inbound direction. + + Object + + Object + + + None + + + OutboundTeamsNumberTranslationRules + + Creates an ordered list of Teams translation rules, that apply to Teams Number on outbound direction. + + Object + + Object + + + None + + + OutboundPSTNNumberTranslationRules + + Assigns an ordered list of Teams translation rules, that apply to PSTN number on outbound direction. + + Object + + Object + + + None + + + PidfloSupported + + Enables PIDF-LO support on the PSTN Gateway. If turned on the .xml body payload is sent to the SBC with the location details of the user. + + Boolean + + Boolean + + + $false + + + ProxySbc + + The FQDN of the proxy SBC. Used in Local Media Optimization configurations. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-CsOnlinePSTNGateway -Identity sbc.contoso.com -Enabled $true + + This example enables previously created SBC with Identity (and FQDN) sbc.contoso.com. All others parameters will stay default. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Set-CsOnlinePSTNGateway -Identity sbc.contoso.com -SIPSignalingPort 5064 -ForwardPAI $true -Enabled $true + + This example modifies the configuration of an SBC with identity (and FQDN) sbc.contoso.com. It changes the SIPSignalingPort to 5064 and enabled P-Asserted-Identity field on outbound connections (outbound from Direct Routing to SBC). For each outbound to SBC session, the Direct Routing interface will report in P-Asserted-Identity fields the TEL URI and SIP address of the user who made a call. This is useful when a tenant administrator set identity of the caller as "Anonymous" or a general number of the company, but for the billing purposes the real identity of the user should be reported. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csonlinepstngateway + + + New-CsOnlinePSTNGateway + + + + Get-CsOnlinePSTNGateway + + + + Remove-CsOnlinePSTNGateway + + + + + + + Set-CsOnlinePstnUsage + Set + CsOnlinePstnUsage + + Modifies a set of strings that identify the allowed online public switched telephone network (PSTN) usages. This cmdlet can be used to add usages to the list of online PSTN usages or remove usages from the list. + + + + Online PSTN usages are string values that are used for call authorization. An online PSTN usage links an online voice policy to a route. The `Set-CsOnlinePstnUsage` cmdlet is used to add or remove phone usages to or from the usage list. This list is global so it can be used by policies and routes throughout the tenant. + This cmdlet is used when configuring Microsoft Phone System Direct Routing. + + + + Set-CsOnlinePstnUsage + + Identity + + The scope at which these settings are applied. The Identity for this cmdlet is always Global. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Usage + + Contains a list of allowable usage strings. These entries can be any string value. + + Object + + Object + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + The scope at which these settings are applied. The Identity for this cmdlet is always Global. + + String + + String + + + None + + + Usage + + Contains a list of allowable usage strings. These entries can be any string value. + + Object + + Object + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.Management.Automation.PSObject + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-CsOnlinePstnUsage -Identity global -Usage @{add="International"} + + This command adds the string "International" to the current list of available PSTN usages. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Set-CsOnlinePstnUsage -Identity global -Usage @{remove="Local"} + + This command removes the string "Local" from the list of available PSTN usages. + + + + -------------------------- Example 3 -------------------------- + PS C:\> Set-CsOnlinePstnUsage -Usage @{remove="Local"} + + The command in this example performs the exact same action as the command in Example 2: it removes the "Local" PSTN usage. This example shows the command without the Identity parameter specified. The only Identity available to the Set-CsOnlinePstnUsage cmdlet is the Global identity; omitting the Identity parameter defaults to Global. + + + + -------------------------- Example 4 -------------------------- + PS C:\> Set-CsOnlinePstnUsage -Usage @{replace="International","Restricted"} + + This command replaces everything in the usage list with the values International and Restricted. All previously existing usages are removed. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csonlinepstnusage + + + Get-CsOnlinePstnUsage + + + + + + + Set-CsOnlineSchedule + Set + CsOnlineSchedule + + Use the Set-CsOnlineSchedule cmdlet to update a schedule. + + + + The Set-CsOnlineSchedule cmdlet lets you modify the properties of a schedule. + + + + Set-CsOnlineSchedule + + Instance + + The Instance parameter is the object reference to the schedule to be modified. + + Object + + Object + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + Instance + + The Instance parameter is the object reference to the schedule to be modified. + + Object + + Object + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + Microsoft.Rtc.Management.Hosted.Online.Models.Schedule + + + The modified instance of the `Microsoft.Rtc.Management.Hosted.Online.Models.Schedule` object. + + + + + + + System.Void + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + $schedule = Get-CsOnlineSchedule -Id "fa9081d6-b4f3-5c96-baec-0b00077709e5" +$schedule.Name = "Christmas Holiday" +Set-CsOnlineSchedule -Instance $schedule + + This example modifies the name of the schedule that has a Id of fa9081d6-b4f3-5c96-baec-0b00077709e5. + + + + -------------------------- Example 2 -------------------------- + $schedule = Get-CsOnlineSchedule -Id "fa9081d6-b4f3-5c96-baec-0b00077709e5" + +$schedule + + Id : 5d3e0315-533b-473d-8524-36c954d1fc93 + Name : Thanksgiving + Type : Fixed + WeeklyRecurrentSchedule : + FixedSchedule : 22/11/2018 00:00 - 23/11/2018 00:00, 28/11/2019 00:00 - 29/11/2019 00:00, 26/11/2020 00:00 - 27/11/2020 00:00 + +# Add a new Date Time Range +$schedule.FixedSchedule.DateTimeRanges += New-CsOnlineDateTimeRange -Start "25/11/2021" -End "26/11/2021" + +Set-CsOnlineSchedule -Instance $schedule + + This example updates an existing holiday schedule, adding a new date/time range to it. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csonlineschedule + + + New-CsOnlineSchedule + + + + Remove-CsOnlineSchedule + + + + + + + Set-CsOnlineVoiceApplicationInstance + Set + CsOnlineVoiceApplicationInstance + + The `Set-CsOnlineVoiceApplicationInstance` modifies an application instance in Microsoft Entra ID. Note : This cmdlet has been deprecated. Use the new Set-CsPhoneNumberAssignment (/powershell/module/teams/set-csphonenumberassignment)and Remove-CsPhoneNumberAssignment (/powershell/module/teams/remove-csphonenumberassignment)cmdlets instead. + + + + This cmdlet is used to modify an application instance in Microsoft Entra ID. + + + + Set-CsOnlineVoiceApplicationInstance + + Identity + + The user principal name (UPN) of the resource account in Microsoft Entra ID. + + Object + + Object + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + DomainController + + This parameter is reserved for internal Microsoft use. + + Object + + Object + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + TelephoneNumber + + The phone number to be assigned to the resource account. + + Object + + Object + + + None + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose external user communication policy are being created. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + Object + + Object + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + DomainController + + This parameter is reserved for internal Microsoft use. + + Object + + Object + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + The user principal name (UPN) of the resource account in Microsoft Entra ID. + + Object + + Object + + + None + + + TelephoneNumber + + The phone number to be assigned to the resource account. + + Object + + Object + + + None + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose external user communication policy are being created. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + Object + + Object + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-CsOnlineVoiceApplicationInstance -Identity testra1@contoso.com -TelephoneNumber +14255550100 + + This example sets a phone number to the resource account testra1@contoso.com. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csonlinevoiceapplicationinstance + + + New-CsOnlineApplicationInstance + + + + + + + Set-CsOnlineVoicemailUserSettings + Set + CsOnlineVoicemailUserSettings + + Use the Set-CsOnlineVoicemailUserSettings cmdlet to modify the online voicemail user settings of a specific user. New online voicemail user settings of the user would be returned after executing. + + + + The Set-CsOnlineVoicemailUserSettings cmdlet lets tenant admin modify the online voicemail user settings of a specific user in the organization. New online voicemail user settings of the user would be returned after executing. For example, tenant admin could enable/disable voicemail, change voicemail prompt language, modify out-of-office voicemail greeting settings, or setup simple call answer rules. Only those properties that tenant admin have actually provided with be modified. If an online voicemail user setting was not set by tenant admin, it would remain the old value after this cmdlet has been executed. + + + + Set-CsOnlineVoicemailUserSettings + + Identity + + The Identity parameter represents the ID of the specific user in your organization; this can be either a SIP URI or an Object ID. + + System.String + + System.String + + + None + + + CallAnswerRule + + The CallAnswerRule parameter represents the value of the call answer rule, which can be any of the following: + - DeclineCall + - PromptOnly + - PromptOnlyWithTransfer + - RegularVoicemail + - VoicemailWithTransferOption + + Object + + Object + + + None + + + DefaultGreetingPromptOverwrite + + The DefaultGreetingPromptOverwrite parameter represents the contents that overwrite the default normal greeting prompt. If the user's normal custom greeting is not set and DefaultGreetingPromptOverwrite is not empty, the voicemail service will play this overwrite greeting instead of the default normal greeting in the voicemail deposit scenario. + + System.String + + System.String + + + None + + + DefaultOofGreetingPromptOverwrite + + The DefaultOofGreetingPromptOverwrite parameter represents the contents that overwrite the default out-of-office greeting prompt. If the user's out-of-office custom greeting is not set and DefaultOofGreetingPromptOverwrite is not empty, the voicemail service will play this overwrite greeting instead of the default out-of-office greeting in the voicemail deposit scenario. + + System.String + + System.String + + + None + + + Force + + Specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + OofGreetingEnabled + + The OofGreetingEnabled parameter represents whether to play out-of-office greeting in voicemail deposit scenario. + + System.Boolean + + System.Boolean + + + None + + + OofGreetingFollowAutomaticRepliesEnabled + + The OofGreetingFollowAutomaticRepliesEnabled parameter represents whether to play out-of-office greeting in voicemail deposit scenario when user set automatic replies in Outlook. + + System.Boolean + + System.Boolean + + + None + + + OofGreetingFollowCalendarEnabled + + The OofGreetingFollowCalendarEnabled parameter represents whether to play out-of-office greeting in voicemail deposit scenario when user set out-of-office in calendar. + + System.Boolean + + System.Boolean + + + None + + + PromptLanguage + + The PromptLanguage parameter represents the language that is used to play voicemail prompts. + The following languages are supported: + - "ar-EG" (Arabic - Egypt) + - "ar-SA" (Arabic - Saudi Arabia) + - "bg-BG" (Bulgarian - Bulgaria) + - "ca-ES" (Catalan - Catalan) + - "cy-GB" (Welsh - United Kingdom) + - "cs-CZ" (Czech - Czech Republic) + - "da-DK" (Danish - Denmark) + - "de-AT" (German - Austria) + - "de-CH" (German - Switzerland) + - "de-DE" (German - Germany) + - "el-GR" (Greek - Greece) + - "en-AU" (English - Australia) + - "en-CA" (English - Canada) + - "en-GB" (English - United Kingdom) + - "en-IE" (English - Ireland) + - "en-IN" (English - India) + - "en-PH" (English - Philippines) + - "en-US" (English - United States) + - "en-ZA" (English - South Africa) + - "es-ES" (Spanish - Spain) + - "es-MX" (Spanish - Mexico) + - "et-EE" (Estonian - Estonia) + - "fi-FI" (Finnish - Finland) + - "fr-BE" (French - Belgium) + - "fr-CA" (French - Canada) + - "fr-CH" (French - Switzerland) + - "fr-FR" (French - France) + - "he-IL" (Hebrew - Israel) + - "hi-IN" (Hindi - India) + - "hr-HR" (Croatian - Croatia) + - "hu-HU" (Hungarian - Hungary) + - "id-ID" (Indonesian - Indonesia) + - "it-IT" (Italian - Italy) + - "ja-JP" (Japanese - Japan) + - "ko-KR" (Korean - Korea) + - "lt-LT" (Lithuanian - Lithuania) + - "lv-LV" (Latvian - Latvia) + - "nl-BE" (Dutch - Belgium) + - "nl-NL" (Dutch - Netherlands) + - "nb-NO" (Norwegian, Bokmål - Norway) + - "pl-PL" (Polish - Poland) + - "pt-BR" (Portuguese - Brazil) + - "pt-PT" (Portuguese - Portugal) + - "ro-RO" (Romanian - Romania) + - "ru-RU" (Russian - Russia) + - "sk-SK" (Slovak - Slovakia) + - "sl-SI" (Slovenian - Slovenia) + - "sv-SE" (Swedish - Sweden) + - "th-TH" (Thai - Thailand) + - "tr-TR" (Turkish - Turkey) + - "vi-VN" (Vietnamese - Viet Nam) + - "zh-CN" (Chinese - Simplified, PRC) + - "zh-TW" (Chinese - Traditional, Taiwan) + - "zh-HK" (Chinese - Traditional, Hong Kong S.A.R.) + + System.String + + System.String + + + None + + + ShareData + + Specifies whether voicemail and transcription data is shared with the service for training and improving accuracy. + + System.Boolean + + System.Boolean + + + None + + + TransferTarget + + The TransferTarget parameter represents the target to transfer the call when call answer rule set to PromptOnlyWithTransfer or VoicemailWithTransferOption. Value of this parameter should be a SIP URI of another user in your organization. For user with Enterprise Voice enabled, a valid telephone number could also be accepted as TransferTarget. + + System.String + + System.String + + + None + + + VoicemailEnabled + + The VoicemailEnabled parameter represents whether to enable voicemail service. If set to $false, the user has no voicemail service. + + System.Boolean + + System.Boolean + + + None + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before executing the command. + + + SwitchParameter + + + False + + + + + + Identity + + The Identity parameter represents the ID of the specific user in your organization; this can be either a SIP URI or an Object ID. + + System.String + + System.String + + + None + + + CallAnswerRule + + The CallAnswerRule parameter represents the value of the call answer rule, which can be any of the following: + - DeclineCall + - PromptOnly + - PromptOnlyWithTransfer + - RegularVoicemail + - VoicemailWithTransferOption + + Object + + Object + + + None + + + DefaultGreetingPromptOverwrite + + The DefaultGreetingPromptOverwrite parameter represents the contents that overwrite the default normal greeting prompt. If the user's normal custom greeting is not set and DefaultGreetingPromptOverwrite is not empty, the voicemail service will play this overwrite greeting instead of the default normal greeting in the voicemail deposit scenario. + + System.String + + System.String + + + None + + + DefaultOofGreetingPromptOverwrite + + The DefaultOofGreetingPromptOverwrite parameter represents the contents that overwrite the default out-of-office greeting prompt. If the user's out-of-office custom greeting is not set and DefaultOofGreetingPromptOverwrite is not empty, the voicemail service will play this overwrite greeting instead of the default out-of-office greeting in the voicemail deposit scenario. + + System.String + + System.String + + + None + + + Force + + Specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + OofGreetingEnabled + + The OofGreetingEnabled parameter represents whether to play out-of-office greeting in voicemail deposit scenario. + + System.Boolean + + System.Boolean + + + None + + + OofGreetingFollowAutomaticRepliesEnabled + + The OofGreetingFollowAutomaticRepliesEnabled parameter represents whether to play out-of-office greeting in voicemail deposit scenario when user set automatic replies in Outlook. + + System.Boolean + + System.Boolean + + + None + + + OofGreetingFollowCalendarEnabled + + The OofGreetingFollowCalendarEnabled parameter represents whether to play out-of-office greeting in voicemail deposit scenario when user set out-of-office in calendar. + + System.Boolean + + System.Boolean + + + None + + + PromptLanguage + + The PromptLanguage parameter represents the language that is used to play voicemail prompts. + The following languages are supported: + - "ar-EG" (Arabic - Egypt) + - "ar-SA" (Arabic - Saudi Arabia) + - "bg-BG" (Bulgarian - Bulgaria) + - "ca-ES" (Catalan - Catalan) + - "cy-GB" (Welsh - United Kingdom) + - "cs-CZ" (Czech - Czech Republic) + - "da-DK" (Danish - Denmark) + - "de-AT" (German - Austria) + - "de-CH" (German - Switzerland) + - "de-DE" (German - Germany) + - "el-GR" (Greek - Greece) + - "en-AU" (English - Australia) + - "en-CA" (English - Canada) + - "en-GB" (English - United Kingdom) + - "en-IE" (English - Ireland) + - "en-IN" (English - India) + - "en-PH" (English - Philippines) + - "en-US" (English - United States) + - "en-ZA" (English - South Africa) + - "es-ES" (Spanish - Spain) + - "es-MX" (Spanish - Mexico) + - "et-EE" (Estonian - Estonia) + - "fi-FI" (Finnish - Finland) + - "fr-BE" (French - Belgium) + - "fr-CA" (French - Canada) + - "fr-CH" (French - Switzerland) + - "fr-FR" (French - France) + - "he-IL" (Hebrew - Israel) + - "hi-IN" (Hindi - India) + - "hr-HR" (Croatian - Croatia) + - "hu-HU" (Hungarian - Hungary) + - "id-ID" (Indonesian - Indonesia) + - "it-IT" (Italian - Italy) + - "ja-JP" (Japanese - Japan) + - "ko-KR" (Korean - Korea) + - "lt-LT" (Lithuanian - Lithuania) + - "lv-LV" (Latvian - Latvia) + - "nl-BE" (Dutch - Belgium) + - "nl-NL" (Dutch - Netherlands) + - "nb-NO" (Norwegian, Bokmål - Norway) + - "pl-PL" (Polish - Poland) + - "pt-BR" (Portuguese - Brazil) + - "pt-PT" (Portuguese - Portugal) + - "ro-RO" (Romanian - Romania) + - "ru-RU" (Russian - Russia) + - "sk-SK" (Slovak - Slovakia) + - "sl-SI" (Slovenian - Slovenia) + - "sv-SE" (Swedish - Sweden) + - "th-TH" (Thai - Thailand) + - "tr-TR" (Turkish - Turkey) + - "vi-VN" (Vietnamese - Viet Nam) + - "zh-CN" (Chinese - Simplified, PRC) + - "zh-TW" (Chinese - Traditional, Taiwan) + - "zh-HK" (Chinese - Traditional, Hong Kong S.A.R.) + + System.String + + System.String + + + None + + + ShareData + + Specifies whether voicemail and transcription data is shared with the service for training and improving accuracy. + + System.Boolean + + System.Boolean + + + None + + + TransferTarget + + The TransferTarget parameter represents the target to transfer the call when call answer rule set to PromptOnlyWithTransfer or VoicemailWithTransferOption. Value of this parameter should be a SIP URI of another user in your organization. For user with Enterprise Voice enabled, a valid telephone number could also be accepted as TransferTarget. + + System.String + + System.String + + + None + + + VoicemailEnabled + + The VoicemailEnabled parameter represents whether to enable voicemail service. If set to $false, the user has no voicemail service. + + System.Boolean + + System.Boolean + + + None + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + Microsoft.Rtc.Management.Hosted.Voicemail.Models.VoicemailUserSettings + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-CsOnlineVoicemailUserSettings -Identity sip:user1@contoso.com -VoicemailEnabled $true + + This example changes VoicemailEnabled setting to true for the user with SIP URI sip:user1@contoso.com. + + + + -------------------------- Example 2 -------------------------- + Set-CsOnlineVoicemailUserSettings -Identity user2@contoso.com -PromptLanguage "en-US" -OofGreetingFollowCalendarEnabled $false + + This example changes PromptLanguage setting to "en-US" and OofGreetingFollowCalendarEnabled setting to false for user2@contoso.com. + + + + -------------------------- Example 3 -------------------------- + Set-CsOnlineVoicemailUserSettings -Identity user3@contoso.com -CallAnswerRule PromptOnlyWithTransfer -TransferTarget sip:user4@contoso.com + + This example changes CallAnswerRule setting to PromptOnlyWithTransfer and set TransferTarget to "sip:user4@contoso.com" for user3@contoso.com. + + + + -------------------------- Example 4 -------------------------- + Set-CsOnlineVoicemailUserSettings -Identity user5@contoso.com -CallAnswerRule VoicemailWithTransferOption -TransferTarget "+14255551234" + + This example changes CallAnswerRule setting to VoicemailWithTransferOption and set TransferTarget to "+14255551234" for user5@contoso.com.. + + + + -------------------------- Example 5 -------------------------- + Set-CsOnlineVoicemailUserSettings -Identity user6@contoso.com -DefaultGreetingPromptOverwrite "Hi, I am currently not available." + + This example changes DefaultGreetingPromptOverwrite setting to "Hi, I am currently not available." for user6@contoso.com. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csonlinevoicemailusersettings + + + Get-CsOnlineVoicemailUserSettings + + + + + + + Set-CsOnlineVoiceRoute + Set + CsOnlineVoiceRoute + + Modifies an online voice route. Online voice routes contain instructions that tell Microsoft Teams how to route calls from Microsoft or Office 365 users to phone numbers on the public switched telephone network (PSTN) or a private branch exchange (PBX). + + + + Use this cmdlet to modify an existing online voice route. Online voice routes are associated with online voice policies through online public switched telephone network (PSTN) usages. A online voice route includes a regular expression that identifies which phone numbers will be routed through a given voice route: phone numbers matching the regular expression will be routed through this route. + This cmdlet is used when configuring Microsoft Phone System Direct Routing. + + + + Set-CsOnlineVoiceRoute + + Identity + + The unique identity of the online voice route. (If the route name contains a space, such as Test Route, you must enclose the full string in parentheses.) + + XdsGlobalRelativeIdentity + + XdsGlobalRelativeIdentity + + + None + + + BridgeSourcePhoneNumber + + BridgeSourcePhoneNumber is an E.164 formatted Operator Connect Conferencing phone number assigned to your Audio Conferencing Bridge. Using BridgeSourcePhoneNumber in an online voice route is mutually exclusive with using OnlinePstnGatewayList in the same online voice route. + When using BridgeSourcePhoneNumber in an online voice route, the OnlinePstnUsages used in the online voice route should only be used in a corresponding OnlineAudioConferencingRoutingPolicy. The same OnlinePstnUsages should not be used in online voice routes that are not using BridgeSourcePhoneNumber. + For more information about Operator Connect Conferencing, please see Configure Operator Connect Conferencing (https://learn.microsoft.com/microsoftteams/operator-connect-conferencing-configure). + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Description + + A description of what this phone route is for. + + String + + String + + + None + + + NumberPattern + + A regular expression that specifies the phone numbers to which this route applies. Numbers matching this pattern will be routed according to the rest of the routing settings. For example, the default number pattern, [0-9]{10}, specifies a 10-digit number containing any digits 0 through 9. + + String + + String + + + None + + + OnlinePstnGatewayList + + This parameter contains a list of online gateways associated with this online voice route. Each member of this list must be the service Identity of the online PSTN gateway. The service Identity is the fully qualified domain name (FQDN) of the pool or the IP address of the server. For example, redmondpool.litwareinc.com. + By default this list is empty. However, if you leave this parameter blank when creating a new voice route, you'll receive a warning message. + + PSListModifier + + PSListModifier + + + None + + + OnlinePstnUsages + + A list of online PSTN usages (such as Local, Long Distance, etc.) that can be applied to this online voice route. The PSTN usage must be an existing usage (PSTN usages can be retrieved by calling the Get-CsOnlinePstnUsage cmdlet). + By default this list is empty. However, if you leave this parameter blank when creating a new online voice route, you'll receive a warning message. + + PSListModifier + + PSListModifier + + + None + + + Priority + + A number could resolve to multiple online voice routes. The priority determines the order in which the routes will be applied if more than one route is possible. The lowest priority will be applied first and then in ascendant order. + + Int32 + + Int32 + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + BridgeSourcePhoneNumber + + BridgeSourcePhoneNumber is an E.164 formatted Operator Connect Conferencing phone number assigned to your Audio Conferencing Bridge. Using BridgeSourcePhoneNumber in an online voice route is mutually exclusive with using OnlinePstnGatewayList in the same online voice route. + When using BridgeSourcePhoneNumber in an online voice route, the OnlinePstnUsages used in the online voice route should only be used in a corresponding OnlineAudioConferencingRoutingPolicy. The same OnlinePstnUsages should not be used in online voice routes that are not using BridgeSourcePhoneNumber. + For more information about Operator Connect Conferencing, please see Configure Operator Connect Conferencing (https://learn.microsoft.com/microsoftteams/operator-connect-conferencing-configure). + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Description + + A description of what this phone route is for. + + String + + String + + + None + + + Identity + + The unique identity of the online voice route. (If the route name contains a space, such as Test Route, you must enclose the full string in parentheses.) + + XdsGlobalRelativeIdentity + + XdsGlobalRelativeIdentity + + + None + + + NumberPattern + + A regular expression that specifies the phone numbers to which this route applies. Numbers matching this pattern will be routed according to the rest of the routing settings. For example, the default number pattern, [0-9]{10}, specifies a 10-digit number containing any digits 0 through 9. + + String + + String + + + None + + + OnlinePstnGatewayList + + This parameter contains a list of online gateways associated with this online voice route. Each member of this list must be the service Identity of the online PSTN gateway. The service Identity is the fully qualified domain name (FQDN) of the pool or the IP address of the server. For example, redmondpool.litwareinc.com. + By default this list is empty. However, if you leave this parameter blank when creating a new voice route, you'll receive a warning message. + + PSListModifier + + PSListModifier + + + None + + + OnlinePstnUsages + + A list of online PSTN usages (such as Local, Long Distance, etc.) that can be applied to this online voice route. The PSTN usage must be an existing usage (PSTN usages can be retrieved by calling the Get-CsOnlinePstnUsage cmdlet). + By default this list is empty. However, if you leave this parameter blank when creating a new online voice route, you'll receive a warning message. + + PSListModifier + + PSListModifier + + + None + + + Priority + + A number could resolve to multiple online voice routes. The priority determines the order in which the routes will be applied if more than one route is possible. The lowest priority will be applied first and then in ascendant order. + + Int32 + + Int32 + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.Management.Automation.PSObject + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-CsOnlineVoiceRoute -Identity Route1 -Description "Test Route" + + This command sets the Description of the Route1 online voice route to "Test Route." + + + + -------------------------- Example 2 -------------------------- + PS C:\> Set-CsOnlineVoiceRoute -Identity Route1 -OnlinePstnUsages @{add="Long Distance"} + + The command in this example modifies the online voice route with the identity Route1 to add the online PSTN usage Long Distance to the list of usages for this voice route. Long Distance must be in the list of global online PSTN usages (which can be retrieved with a call to the `Get-CsOnlinePstnUsage` cmdlet). + + + + -------------------------- Example 3 -------------------------- + PS C:\> $x = (Get-CsOnlinePstnUsage).Usage + +PS C:\> Set-CsOnlineVoiceRoute -Identity Route1 -OnlinePstnUsages @{replace=$x} + + This example modifies the online voice route named Route1 to populate that route's list of online PSTN usages with all the existing usages for the organization. The first command in this example retrieves the list of global online PSTN usages. Notice that the call to the `Get-CsOnlinePstnUsage` cmdlet is in parentheses; this means that we first retrieve an object containing PSTN usage information. (Because there is only one--global--PSTN usage, only one object will be retrieved.) The command then retrieves the Usage property of this object. That property, which contains a list of online PSTN usages, is assigned to the variable $x. In the second line of this example, the Set-CsOnlineVoiceRoute cmdlet is called to modify the online voice route with the identity Route1. Notice the value passed to the OnlinePstnUsages parameter: @{replace=$x}. This value says to replace everything in the OnlinePstnUsages list for this route with the contents of $x, which contain the online PSTN usages list retrieved in line 1. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csonlinevoiceroute + + + Get-CsOnlineVoiceRoute + + + + New-CsOnlineVoiceRoute + + + + Remove-CsOnlineVoiceRoute + + + + + + + Set-CsOnlineVoiceRoutingPolicy + Set + CsOnlineVoiceRoutingPolicy + + Modifies an existing online voice routing policy. Online voice routing policies manage online PSTN usages for Phone System users. + + + + Online voice routing policies are used in Microsoft Phone System Direct Routing scenarios. Assigning your Teams users an online voice routing policy enables those users to receive and to place phone calls to the public switched telephone network by using your on-premises SIP trunks. + Note that simply assigning a user an online voice routing policy will not enable them to make PSTN calls via Teams. Among other things, you will also need to enable those users for Phone System and will need to assign them an appropriate online voice policy. + + + + Set-CsOnlineVoiceRoutingPolicy + + Identity + + Unique identifier assigned to the policy when it was created. Online voice routing policies can be assigned at the global scope or the per-user scope. To refer to the global instance, use this syntax: + -Identity global + To refer to a per-user policy, use syntax similar to this: + -Identity "RedmondOnlineVoiceRoutingPolicy" + If you do not specify an Identity, then the `Set-CsOnlineVoiceRoutingPolicy` cmdlet will modify the global policy. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Description + + Enables administrators to provide explanatory text to accompany an online voice routing policy. For example, the Description might include information about the users the policy should be assigned to. + + String + + String + + + None + + + OnlinePstnUsages + + A list of online PSTN usages (such as Local or Long Distance) that can be applied to this online voice routing policy. The online PSTN usage must be an existing usage. (PSTN usages can be retrieved by calling the `Get-CsOnlinePstnUsage` cmdlet.) + + Object + + Object + + + None + + + RouteType + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Description + + Enables administrators to provide explanatory text to accompany an online voice routing policy. For example, the Description might include information about the users the policy should be assigned to. + + String + + String + + + None + + + Identity + + Unique identifier assigned to the policy when it was created. Online voice routing policies can be assigned at the global scope or the per-user scope. To refer to the global instance, use this syntax: + -Identity global + To refer to a per-user policy, use syntax similar to this: + -Identity "RedmondOnlineVoiceRoutingPolicy" + If you do not specify an Identity, then the `Set-CsOnlineVoiceRoutingPolicy` cmdlet will modify the global policy. + + String + + String + + + None + + + OnlinePstnUsages + + A list of online PSTN usages (such as Local or Long Distance) that can be applied to this online voice routing policy. The online PSTN usage must be an existing usage. (PSTN usages can be retrieved by calling the `Get-CsOnlinePstnUsage` cmdlet.) + + Object + + Object + + + None + + + RouteType + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-CsOnlineVoiceRoutingPolicy -Identity "RedmondOnlineVoiceRoutingPolicy" -OnlinePstnUsages @{Add="Long Distance"} + + The command shown in Example 1 adds the online PSTN usage "Long Distance" to the per-user online voice routing policy RedmondOnlineVoiceRoutingPolicy. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Set-CsOnlineVoiceRoutingPolicy -Identity "RedmondOnlineVoiceRoutingPolicy" -OnlinePstnUsages @{Remove="Local"} + + In Example 2, the online PSTN usage "Local" is removed from the per-user online voice routing policy RedmondOnlineVoiceRoutingPolicy. + + + + -------------------------- Example 3 -------------------------- + PS C:\> Set-CsOnlineVoiceRoutingPolicy | Where-Object {$_.OnlinePstnUsages -contains "Local"} | Set-CsOnlineVoiceRoutingPolicy -OnlinePstnUsages @{Remove="Local"} + + Example 3 removes the online PSTN usage "Local" from all the online voice routing policies that include that usage. In order to do this, the command first calls the `Get-CsOnlineVoiceRoutingPolicy` cmdlet without any parameters in order to return a collection of all the available online voice routing policies. That collection is then piped to the Where-Object cmdlet, which picks out only those policies where the OnlinePstnUsages property includes (-contains) the "Local" usage. Those policies are then piped to the `Set-CsOnlineVoiceRoutingPolicy` cmdlet, which deletes the Local usage from each policy. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csonlinevoiceroutingpolicy + + + New-CsOnlineVoiceRoutingPolicy + + + + Get-CsOnlineVoiceRoutingPolicy + + + + Grant-CsOnlineVoiceRoutingPolicy + + + + Remove-CsOnlineVoiceRoutingPolicy + + + + + + + Set-CsOnlineVoiceUser + Set + CsOnlineVoiceUser + + Use the `Set-CsOnlineVoiceUser` cmdlet to set the PSTN specific parameters (like telephone numbers and emergency response locations.) Note : This cmdlet has been deprecated. Use the new Set-CsPhoneNumberAssignment (/powershell/module/teams/set-csphonenumberassignment)and Remove-CsPhoneNumberAssignment (/powershell/module/teams/remove-csphonenumberassignment)cmdlets instead. + + + + + + + + Set-CsOnlineVoiceUser + + Identity + + Specifies the identity of the target user. Acceptable values include: + Example: jphillips@contoso.com + Example: sip:jphillips@contoso.com + Example: 98403f08-577c-46dd-851a-f0460a13b03d + You can use the `Get-CsOnlineUser` cmdlet to identify the users you want to modify. + + Object + + Object + + + None + + + Confirm + + The Confirm switch causes the command to pause processing and requires confirmation to proceed. + + + SwitchParameter + + + False + + + DomainController + + This parameter is reserved for internal Microsoft use. + + Fqdn + + Fqdn + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + LocationID + + Specifies the unique identifier of the emergency location to assign to the user. Location identities can be discovered by using the `Get-CsOnlineLisLocation` cmdlet. + This parameter is required for users based in the US. + + Guid + + Guid + + + None + + + TelephoneNumber + + Specifies the telephone number to be assigned to the user. The value must be in E.164 format: +14255043920. Setting the value to $Null clears the user's telephone number. + + String + + String + + + None + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + WhatIf + + The WhatIf parameter is not implemented for this cmdlet. + + + SwitchParameter + + + False + + + + + + Identity + + Specifies the identity of the target user. Acceptable values include: + Example: jphillips@contoso.com + Example: sip:jphillips@contoso.com + Example: 98403f08-577c-46dd-851a-f0460a13b03d + You can use the `Get-CsOnlineUser` cmdlet to identify the users you want to modify. + + Object + + Object + + + None + + + Confirm + + The Confirm switch causes the command to pause processing and requires confirmation to proceed. + + SwitchParameter + + SwitchParameter + + + False + + + DomainController + + This parameter is reserved for internal Microsoft use. + + Fqdn + + Fqdn + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + LocationID + + Specifies the unique identifier of the emergency location to assign to the user. Location identities can be discovered by using the `Get-CsOnlineLisLocation` cmdlet. + This parameter is required for users based in the US. + + Guid + + Guid + + + None + + + TelephoneNumber + + Specifies the telephone number to be assigned to the user. The value must be in E.164 format: +14255043920. Setting the value to $Null clears the user's telephone number. + + String + + String + + + None + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + WhatIf + + The WhatIf parameter is not implemented for this cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + None + + + + + + + + + + None + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-CsOnlineVoiceUser -Identity 3c37e1c7-78f9-4703-82ee-a6b68516794e -TelephoneNumber +14255037311 -LocationID c7c5a17f-00d7-47c0-9ddb-3383229d606b + + This example sets the telephone number and location for a user identified by the user ObjectID. + + + + -------------------------- Example 2 -------------------------- + Set-CsOnlineVoiceUser -Identity user@domain.com -TelephoneNumber $null + + This example removes the telephone number for a user identified by the user's SIP address. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csonlinevoiceuser + + + + + + Set-CsPhoneNumberAssignment + Set + CsPhoneNumberAssignment + + This cmdlet will assign a phone number to a user or a resource account (online application instance). + + + + This cmdlet assigns a phone number to a user or resource account. When you assign a phone number the EnterpriseVoiceEnabled flag is automatically set to True. + You can also assign a location to a phone number. + To remove a phone number from a user or resource account, use the Remove-CsPhoneNumberAssignment (Remove-CsPhoneNumberAssignment.md)cmdlet. + + + + Set-CsPhoneNumberAssignment + + AssignmentCategory + + This parameter is reserved for internal Microsoft use. + + System.String + + System.String + + + None + + + Identity + + The Identity of the specific user or resource account. Can be specified using the value in the ObjectId, the SipProxyAddress, or the UserPrincipalName attribute of the user or resource account. + + System.String + + System.String + + + None + + + NetworkSiteId + + This parameter is reserved for internal Microsoft use. + + System.String + + System.String + + + None + + + PhoneNumberType + + The type of phone number to assign to the user or resource account. The supported values are DirectRouting, CallingPlan, and OperatorConnect. When you acquire a phone number you will typically know which type it is. + + System.String + + System.String + + + None + + + + Set-CsPhoneNumberAssignment + + EnterpriseVoiceEnabled + + Flag indicating if the user or resource account should be EnterpriseVoiceEnabled. + This parameter is mutual exclusive with PhoneNumber. + + System.Boolean + + System.Boolean + + + None + + + Identity + + The Identity of the specific user or resource account. Can be specified using the value in the ObjectId, the SipProxyAddress, or the UserPrincipalName attribute of the user or resource account. + + System.String + + System.String + + + None + + + + Set-CsPhoneNumberAssignment + + Identity + + The Identity of the specific user or resource account. Can be specified using the value in the ObjectId, the SipProxyAddress, or the UserPrincipalName attribute of the user or resource account. + + System.String + + System.String + + + None + + + LocationId + + The LocationId of the location to assign to the specific user. You can get it using Get-CsOnlineLisLocation. You can set the location on both assigned and unassigned phone numbers. + Removal of location from a phone number is supported for Direct Routing numbers and Operator Connect numbers that are not managed by the Service Desk. If you want to remove the location, use the string value null for LocationId. + + System.String + + System.String + + + None + + + PhoneNumber + + The phone number to assign to the user or resource account. Supports E.164 format like +12065551234 and non-E.164 format like 12065551234. The phone number can't have "tel:" prefixed. + We support Direct Routing numbers with extensions using the formats +1206555000;ext=1234 or 1206555000;ext=1234 assigned to a user or resource account. + Setting a phone number will automatically set EnterpriseVoiceEnabled to True. + + System.String + + System.String + + + None + + + + Set-CsPhoneNumberAssignment + + Identity + + The Identity of the specific user or resource account. Can be specified using the value in the ObjectId, the SipProxyAddress, or the UserPrincipalName attribute of the user or resource account. + + System.String + + System.String + + + None + + + LocationId + + The LocationId of the location to assign to the specific user. You can get it using Get-CsOnlineLisLocation. You can set the location on both assigned and unassigned phone numbers. + Removal of location from a phone number is supported for Direct Routing numbers and Operator Connect numbers that are not managed by the Service Desk. If you want to remove the location, use the string value null for LocationId. + + System.String + + System.String + + + None + + + PhoneNumber + + The phone number to assign to the user or resource account. Supports E.164 format like +12065551234 and non-E.164 format like 12065551234. The phone number can't have "tel:" prefixed. + We support Direct Routing numbers with extensions using the formats +1206555000;ext=1234 or 1206555000;ext=1234 assigned to a user or resource account. + Setting a phone number will automatically set EnterpriseVoiceEnabled to True. + + System.String + + System.String + + + None + + + + + + AssignmentCategory + + This parameter is reserved for internal Microsoft use. + + System.String + + System.String + + + None + + + EnterpriseVoiceEnabled + + Flag indicating if the user or resource account should be EnterpriseVoiceEnabled. + This parameter is mutual exclusive with PhoneNumber. + + System.Boolean + + System.Boolean + + + None + + + Identity + + The Identity of the specific user or resource account. Can be specified using the value in the ObjectId, the SipProxyAddress, or the UserPrincipalName attribute of the user or resource account. + + System.String + + System.String + + + None + + + LocationId + + The LocationId of the location to assign to the specific user. You can get it using Get-CsOnlineLisLocation. You can set the location on both assigned and unassigned phone numbers. + Removal of location from a phone number is supported for Direct Routing numbers and Operator Connect numbers that are not managed by the Service Desk. If you want to remove the location, use the string value null for LocationId. + + System.String + + System.String + + + None + + + NetworkSiteId + + This parameter is reserved for internal Microsoft use. + + System.String + + System.String + + + None + + + PhoneNumber + + The phone number to assign to the user or resource account. Supports E.164 format like +12065551234 and non-E.164 format like 12065551234. The phone number can't have "tel:" prefixed. + We support Direct Routing numbers with extensions using the formats +1206555000;ext=1234 or 1206555000;ext=1234 assigned to a user or resource account. + Setting a phone number will automatically set EnterpriseVoiceEnabled to True. + + System.String + + System.String + + + None + + + PhoneNumberType + + The type of phone number to assign to the user or resource account. The supported values are DirectRouting, CallingPlan, and OperatorConnect. When you acquire a phone number you will typically know which type it is. + + System.String + + System.String + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + The cmdlet is available in Teams PowerShell module 3.0.0 or later. The parameter set LocationUpdate was introduced in Teams PowerShell module 5.3.1-preview. The parameter NetworkSiteId was introduced in Teams PowerShell module 5.5.0. The parameter set NetworkSiteUpdate was introduced in Teams PowerShell module 5.5.1-preview. + The cmdlet is only available in commercial and GCC cloud instances. + If a user or resource account has a phone number set in Active Directory on-premises and synched into Microsoft 365, you can't use Set-CsPhoneNumberAssignment to set the phone number. You will have to clear the phone number from the on-premises Active Directory and let that change sync into Microsoft 365 first. + The previous command for assigning phone numbers to users Set-CsUser had the parameter HostedVoiceMail. Setting HostedVoiceMail for Microsoft Teams users is no longer necessary and that is why the parameter is not available on Set-CsPhoneNumberAssignment. + + + + + -------------------------- Example 1 -------------------------- + Set-CsPhoneNumberAssignment -Identity user1@contoso.com -PhoneNumber +12065551234 -PhoneNumberType CallingPlan + + This example assigns the Microsoft Calling Plan phone number +1 (206) 555-1234 to the user user1@contoso.com. + + + + -------------------------- Example 2 -------------------------- + $loc=Get-CsOnlineLisLocation -City Vancouver +Set-CsPhoneNumberAssignment -Identity user2@contoso.com -PhoneNumber +12065551224 -PhoneNumberType CallingPlan -LocationId $loc.LocationId + + This example finds the emergency location defined for the corporate location Vancouver and assigns the Microsoft Calling Plan phone number +1 (206) 555-1224 and location to the user user2@contoso.com. + + + + -------------------------- Example 3 -------------------------- + Set-CsPhoneNumberAssignment -Identity user3@contoso.com -EnterpriseVoiceEnabled $true + + This example sets the EnterpriseVoiceEnabled flag on the user user3@contoso.com. + + + + -------------------------- Example 4 -------------------------- + Set-CsPhoneNumberAssignment -Identity user3@contoso.com -LocationId 'null' -PhoneNumber +12065551226 -PhoneNumberType OperatorConnect + + This example removes the emergency location from the phone number for user user3@contoso.com. + + + + -------------------------- Example 5 -------------------------- + Set-CsPhoneNumberAssignment -Identity cq1@contoso.com -PhoneNumber +14255551225 -PhoneNumberType DirectRouting + + This example assigns the Direct Routing phone number +1 (425) 555-1225 to the resource account cq1@contoso.com. + + + + -------------------------- Example 6 -------------------------- + Set-CsPhoneNumberAssignment -Identity user4@contoso.com -PhoneNumber "+14255551000;ext=1234" -PhoneNumberType DirectRouting + + This example assigns the Direct Routing phone number +1 (425) 555-1000;ext=1234 to the user user4@contoso.com. + + + + -------------------------- Example 7 -------------------------- + Try { Set-CsPhoneNumberAssignment -Identity user5@contoso.com -PhoneNumber "+14255551000;ext=1234" -PhoneNumberType DirectRouting -ErrorAction Stop } Catch { Write-Host An error occurred } + + This example shows how to use Try/Catch and ErrorAction to perform error checking on the assignment cmdlet failing. + + + + -------------------------- Example 8 -------------------------- + $TempUser = "tempuser@contoso.com" +$OldLoc=Get-CsOnlineLisLocation -City Vancouver +$NewLoc=Get-CsOnlineLisLocation -City Seattle +$Numbers=Get-CsPhoneNumberAssignment -LocationId $OldLoc.LocationId -PstnAssignmentStatus Unassigned -NumberType CallingPlan -CapabilitiesContain UserAssignment +foreach ($No in $Numbers) { + Set-CsPhoneNumberAssignment -Identity $TempUser -PhoneNumberType CallingPlan -PhoneNumber $No.TelephoneNumber -LocationId $NewLoc.LocationId + Remove-CsPhoneNumberAssignment -Identity $TempUser -PhoneNumberType CallingPlan -PhoneNumber $No.TelephoneNumber +} + + This example shows how to change the location for unassigned Calling Plan subscriber phone numbers by looping through all the phone numbers, assigning each phone number temporarily with the new location to a user, and then unassigning the phone number again from the user. + + + + -------------------------- Example 9 -------------------------- + $loc=Get-CsOnlineLisLocation -City Toronto +Set-CsPhoneNumberAssignment -PhoneNumber +12065551224 -LocationId $loc.LocationId + + This example shows how to set the location on a phone number. + + + + -------------------------- Example 10 -------------------------- + $OldLocationId = "7fda0c0b-6a3d-48b8-854b-3fbe9dcf6513" +$NewLocationId = "951fac72-955e-4734-ab74-cc4c0f761c0b" +# Get all phone numbers in old location +$pns = Get-CsPhoneNumberAssignment -LocationId $OldLocationId +Write-Host $pns.count numbers found in old location $OldLocationId +# Move all those phone numbers to the new location +foreach ($pn in $pns) { + Try { + Set-CsPhoneNumberAssignment -PhoneNumber $pn.TelephoneNumber -LocationId $NewLocationId -ErrorAction Stop + Write-Host $pn.TelephoneNumber was updated to have location $NewLocationId + } + Catch { + Write-Host Could not update $pn.TelephoneNumber with location $NewLocationId + } +} +Write-Host (Get-CsPhoneNumberAssignment -LocationId $OldLocationId).Count numbers found in old location $OldLocationId +Write-Host (Get-CsPhoneNumberAssignment -LocationId $NewLocationId).Count numbers found in new location $NewLocationId + + This Example shows how to update the LocationID from an old location to a new location for a set of phone numbers. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csphonenumberassignment + + + Remove-CsPhoneNumberAssignment + + + + Get-CsPhoneNumberAssignment + + + + + + + Set-CsPrivacyConfiguration + Set + CsPrivacyConfiguration + + Modifies an existing set of privacy configuration settings. Privacy configuration settings help determine how much information users make available to other users. This cmdlet was introduced in Lync Server 2010. + + + + Skype for Business Server gives users the opportunity to share a wealth of presence information with other people: they can publish a photograph of themselves; they can provide detailed location information; they can have presence information automatically made available to everyone in the organization (as opposed to having this information available only to people on their Contacts list). + Some users will welcome the opportunity to make this information available to their colleagues; other users might be more reluctant to share this data. (For example, many people might be hesitant about having their photo included in their presence data.) As a general rule, users have control over what information they will (or will not) share; for example, users can select or clear a check box in order to control whether or not their location information is shared with others. In addition, the privacy configuration cmdlets enable administrators to manage privacy settings for their users. In some cases, administrators can enable or disable settings; for example, if the property AutoInitiateContacts is set to True, then team members will automatically be added to each user's Contacts list; if set to False, team members will not be automatically be added to each user's Contacts list. + In other cases, administrators can configure the default values in Skype for Business while still giving users the right to change these values. For example, by default location data is published for users, although users do have the right to stop location publication. By setting the PublishLocationDataByDefault property to False, administrators can change this behavior: in that case, location data will not be published by default, although users will still have the right to publish this data if they choose. + Privacy configuration settings can be applied at the global scope, the site scope, and at the service scope (albeit only for the User Server service). The `Set-CsPrivacyConfiguration` cmdlet enables you to modify any of the privacy configuration settings currently in use in your organization. + + + + Set-CsPrivacyConfiguration + + Identity + + Unique identifier for the privacy configuration settings to be modified. To modify the global settings, use this syntax: + `-Identity global` + To modify settings configured at the site scope, use syntax similar to this: + `-Identity site:Redmond` + To modify settings at the service level, use syntax like this: + `-Identity service:Redmond-UserServices-1` + Note that privacy settings can only be applied to the User Server service. An error will occur if you try to apply these settings to any other service. + If this parameter is not specified then the global settings will be updated when you call the `Set-CsPrivacyConfiguration` cmdlet. + + XdsIdentity + + XdsIdentity + + + None + + + AutoInitiateContacts + + If True, Skype for Business will automatically add your manager and your direct reports to your Contacts list. The default value is True. + + Boolean + + Boolean + + + None + + + DisplayPublishedPhotoDefault + + If True, the user's photo will automatically be published in Skype for Business. If False, the user's photo will not be available unless he or she explicitly selects the option Let others see my photo. The default value is True. + + Boolean + + Boolean + + + None + + + EnablePrivacyMode + + If True, gives users the opportunity to enable the advanced privacy mode. In advanced privacy mode, only people on your Contacts list will be allowed to view your presence information. If False, your presence information will be available to anyone in your organization. The default value is False. + For information about privacy mode in Microsoft Teams, see User presence in Teams (/microsoftteams/presence-admins). + + Boolean + + Boolean + + + None + + + PublishLocationDataDefault + + If True, location data will automatically be published in Skype for Business. If False, location data will not be available unless the user explicitly selects the option Show Contacts My Location. The default value is True. + + Boolean + + Boolean + + + None + + + Force + + Suppresses the display of any non-fatal error message that might occur when running the command. + + + SwitchParameter + + + False + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before executing the command. + + + SwitchParameter + + + False + + + + Set-CsPrivacyConfiguration + + Instance + + Allows you to pass a reference to an object to the cmdlet rather than set individual parameter values. + + PSObject + + PSObject + + + None + + + AutoInitiateContacts + + If True, Skype for Business will automatically add your manager and your direct reports to your Contacts list. The default value is True. + + Boolean + + Boolean + + + None + + + DisplayPublishedPhotoDefault + + If True, the user's photo will automatically be published in Skype for Business. If False, the user's photo will not be available unless he or she explicitly selects the option Let others see my photo. The default value is True. + + Boolean + + Boolean + + + None + + + EnablePrivacyMode + + If True, gives users the opportunity to enable the advanced privacy mode. In advanced privacy mode, only people on your Contacts list will be allowed to view your presence information. If False, your presence information will be available to anyone in your organization. The default value is False. + For information about privacy mode in Microsoft Teams, see User presence in Teams (/microsoftteams/presence-admins). + + Boolean + + Boolean + + + None + + + PublishLocationDataDefault + + If True, location data will automatically be published in Skype for Business. If False, location data will not be available unless the user explicitly selects the option Show Contacts My Location. The default value is True. + + Boolean + + Boolean + + + None + + + Force + + Suppresses the display of any non-fatal error message that might occur when running the command. + + + SwitchParameter + + + False + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before executing the command. + + + SwitchParameter + + + False + + + + + + Identity + + Unique identifier for the privacy configuration settings to be modified. To modify the global settings, use this syntax: + `-Identity global` + To modify settings configured at the site scope, use syntax similar to this: + `-Identity site:Redmond` + To modify settings at the service level, use syntax like this: + `-Identity service:Redmond-UserServices-1` + Note that privacy settings can only be applied to the User Server service. An error will occur if you try to apply these settings to any other service. + If this parameter is not specified then the global settings will be updated when you call the `Set-CsPrivacyConfiguration` cmdlet. + + XdsIdentity + + XdsIdentity + + + None + + + Instance + + Allows you to pass a reference to an object to the cmdlet rather than set individual parameter values. + + PSObject + + PSObject + + + None + + + AutoInitiateContacts + + If True, Skype for Business will automatically add your manager and your direct reports to your Contacts list. The default value is True. + + Boolean + + Boolean + + + None + + + DisplayPublishedPhotoDefault + + If True, the user's photo will automatically be published in Skype for Business. If False, the user's photo will not be available unless he or she explicitly selects the option Let others see my photo. The default value is True. + + Boolean + + Boolean + + + None + + + EnablePrivacyMode + + If True, gives users the opportunity to enable the advanced privacy mode. In advanced privacy mode, only people on your Contacts list will be allowed to view your presence information. If False, your presence information will be available to anyone in your organization. The default value is False. + For information about privacy mode in Microsoft Teams, see User presence in Teams (/microsoftteams/presence-admins). + + Boolean + + Boolean + + + None + + + PublishLocationDataDefault + + If True, location data will automatically be published in Skype for Business. If False, location data will not be available unless the user explicitly selects the option Show Contacts My Location. The default value is True. + + Boolean + + Boolean + + + None + + + Force + + Suppresses the display of any non-fatal error message that might occur when running the command. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + Microsoft.Rtc.Management.WritableConfig.Settings.UserServices.PrivacyConfiguration object. The `Set-CsPrivacyConfiguration` cmdlet accepts pipelined input of the privacy configuration object. + + + + + + + + + + The `Set-CsPrivacyConfiguration` cmdlet does not return any objects or values. Instead, the cmdlet modifies existing instances of the Microsoft.Rtc.Management.WritableConfig.Settings.UserServices.PrivacyConfiguration object. + + + + + + + + + + + -------------------------- Example 1 ------------------------ + Set-CsPrivacyConfiguration -Identity site:Redmond -EnablePrivacyMode $False -AutoInitiateContacts $True -PublishLocationDataDefault $True -DisplayPublishedPhotoDefault $True + + The command shown in Example 1 modifies three property values for the privacy configuration settings with the Identity site:Redmond. The three property values modified are AutoInitiateContacts, PublishLocationDataDefault and DisplayPublishedPhotoDefault. + + + + -------------------------- Example 2 ------------------------ + Get-CsPrivacyConfiguration | Set-CsPrivacyConfiguration -EnablePrivacyMode $True + + Example 2 enables privacy mode for all the privacy configuration settings currently in use in the organization. To do this, the command first calls the `Get-CsPrivacyConfiguration` cmdlet without any parameters; this returns the complete collection of privacy settings. This collection is then piped to the `Set-CsPrivacyConfiguration` cmdlet, which takes each item in the collection and sets the EnablePrivacyMode property to True. + + + + -------------------------- Example 3 ------------------------ + Get-CsPrivacyConfiguration | Where-Object {$_.EnablePrivacyMode -eq $False} | Set-CsPrivacyConfiguration -AutoInitiateContacts $True -PublishLocationDataDefault $True -DisplayPublishedPhotoDefault $True + + In Example 3, modifications are made to all the privacy configuration settings that are not currently using privacy mode. To carry out this task, the `Get-CsPrivacyConfiguration` cmdlet is first used in order to return a collection of all the privacy configuration settings. This collection is piped to the `Where-Object` cmdlet, which selects only those settings where the EnablePrivacyMode property is equal to False. The filtered collection is then piped to the `Set-CsPrivacyConfiguration` cmdlet, which assigns values to the AutoInitiateContacts, PublishLocationDataDefault, and DisplayPublishedPhotoDefault properties for each item in the collection. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/skype/set-csprivacyconfiguration + + + Get-CsPrivacyConfiguration + + + + New-CsPrivacyConfiguration + + + + Remove-CsPrivacyConfiguration + + + + + + + Set-CsTeamsAcsFederationConfiguration + Set + CsTeamsAcsFederationConfiguration + + Limited Preview: Functionality described in this document is currently in limited preview and only authorized organizations have access. This preview version is provided without a service-level agreement, and is not recommended for production workloads. Certain features might not be supported or might have constrained capabilities. For more information, see Supplemental Terms of Use for Microsoft Azure Previews (https://azure.microsoft.com/support/legal/preview-supplemental-terms/). + This cmdlet is used to manage the federation configuration between Teams and Azure Communication Services. For more information, please see Azure Communication Services and Teams Interoperability (/azure/communication-services/concepts/teams-interop). + + + + Federation between Teams and Azure Communication Services (ACS) allows external users from ACS to connect and communicate with Teams users over voice and video. These custom applications may be used by end users or by bots, and there is no differentiation in how they appear to Teams users unless the developer of the application explicitly indicates this as part of the communication. For more information, see Teams interoperability (/azure/communication-services/concepts/teams-interop). + This cmdlet is used to enable or disable Teams and ACS federation for a Teams tenant, and to specify which ACS resources can connect to Teams. Only listed ACS resources can be allowed. + You must be a Teams service admin, a Teams communication admin, or Global Administrator for your organization to run the cmdlet. + + + + Set-CsTeamsAcsFederationConfiguration + + EnableAcsUsers + + Set to True to enable federation between Teams and ACS. When set to False, all other parameters are ignored. + + Boolean + + Boolean + + + False + + + AllowedAcsResources + + The list of the ACS resources (at least one) for which federation is enabled, when EnableAcsUsers is set to true. If EnableAcsUsers is set to false, then this list is ignored and should be null/empty. + The ACS resources are listed using their immutable resource id, which is a guid that can be found on the Azure portal. + + String[] + + String[] + + + Empty/Null + + + + + + EnableAcsUsers + + Set to True to enable federation between Teams and ACS. When set to False, all other parameters are ignored. + + Boolean + + Boolean + + + False + + + AllowedAcsResources + + The list of the ACS resources (at least one) for which federation is enabled, when EnableAcsUsers is set to true. If EnableAcsUsers is set to false, then this list is ignored and should be null/empty. + The ACS resources are listed using their immutable resource id, which is a guid that can be found on the Azure portal. + + String[] + + String[] + + + Empty/Null + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-CsTeamsAcsFederationConfiguration -EnableAcsUsers $False + + + + + + -------------------------- Example 2 -------------------------- + $allowlist = @('faced04c-2ced-433d-90db-063e424b87b1') +Set-CsTeamsAcsFederationConfiguration -EnableAcsUsers $True -AllowedAcsResources $allowlist + + + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamsacsfederationconfiguration + + + Get-CsTeamsAcsFederationConfiguration + + + + New-CsExternalAccessPolicy + + + + Set-CsExternalAccessPolicy + + + + Grant-CsExternalAccessPolicy + + + + + + + Set-CsTeamsAudioConferencingPolicy + Set + CsTeamsAudioConferencingPolicy + + Audio conferencing policies can be used to manage audio conferencing toll- and toll-free numbers to be displayed in meeting invites created by users within your organization. + + + + The Set-CsTeamsAudioConferencingPolicy cmdlet enables administrators to control audio conferencing toll- and toll-free numbers to be displayed in meeting invites created by users within your organization. The Set-CsTeamsAudioConferencingPolicy can be used to update an audio-conferencing policy that has been configured for use in your organization. + + + + Set-CsTeamsAudioConferencingPolicy + + Identity + + Unique identifier for the policy to be Set. To set the global policy, use this syntax: -Identity global. To set a per-user policy use syntax similar to this: -Identity "Emea Users". If this parameter is not included, the Set-CsTeamsAudioConferencingPolicy cmdlet will modify the Global policy. + + String + + String + + + None + + + AllowTollFreeDialin + + Determines if users of this Policy can have Toll free numbers. If toll-free numbers are available in your Microsoft Audio Conferencing bridge, this parameter controls if they can be used to join the meetings of a given user. + + Boolean + + Boolean + + + True + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes. + + + SwitchParameter + + + False + + + MeetingInvitePhoneNumbers + + Determines the list of audio-conferencing Toll- and Toll-free telephone numbers that will be included in meetings invites created by users of this policy. If no phone numbers are specified, then the phone number that is displayed in meeting invites created by users would be based on the location of the users. + + Object + + Object + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Set-CsTeamsAudioConferencingPolicy + + AllowTollFreeDialin + + Determines if users of this Policy can have Toll free numbers. If toll-free numbers are available in your Microsoft Audio Conferencing bridge, this parameter controls if they can be used to join the meetings of a given user. + + Boolean + + Boolean + + + True + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes. + + + SwitchParameter + + + False + + + Instance + + Allows you to pass a reference to an object to the cmdlet rather than set individual parameter values. + + PSObject + + PSObject + + + None + + + MeetingInvitePhoneNumbers + + Determines the list of audio-conferencing Toll- and Toll-free telephone numbers that will be included in meetings invites created by users of this policy. If no phone numbers are specified, then the phone number that is displayed in meeting invites created by users would be based on the location of the users. + + Object + + Object + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + AllowTollFreeDialin + + Determines if users of this Policy can have Toll free numbers. If toll-free numbers are available in your Microsoft Audio Conferencing bridge, this parameter controls if they can be used to join the meetings of a given user. + + Boolean + + Boolean + + + True + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Unique identifier for the policy to be Set. To set the global policy, use this syntax: -Identity global. To set a per-user policy use syntax similar to this: -Identity "Emea Users". If this parameter is not included, the Set-CsTeamsAudioConferencingPolicy cmdlet will modify the Global policy. + + String + + String + + + None + + + Instance + + Allows you to pass a reference to an object to the cmdlet rather than set individual parameter values. + + PSObject + + PSObject + + + None + + + MeetingInvitePhoneNumbers + + Determines the list of audio-conferencing Toll- and Toll-free telephone numbers that will be included in meetings invites created by users of this policy. If no phone numbers are specified, then the phone number that is displayed in meeting invites created by users would be based on the location of the users. + + Object + + Object + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + PSObject + + + + + + + + + + Object + + + + + + + + + + + + + + -------------------------- EXAMPLE 1 -------------------------- + PS C:\> Set-CsTeamsAudioConferencingPolicy -Identity "EMEA Users" -AllowTollFreeDialin $False + + In this example, AllowTollFreeDialin is set to false. All other policy properties will be left as previously assigned. + + + + -------------------------- EXAMPLE 2 -------------------------- + PS C:\> Set-CsTeamsAudioConferencingPolicy -Identity "EMEA Users" -AllowTollFreeDialin $True -MeetingInvitePhoneNumbers "+49695095XXXXX","+353156YYYYY","+1800856ZZZZZ" + + In this example, two different property values are configured: AllowTollFreeDialIn is set to True and -MeetingInvitePhoneNumbers is set to include the following Toll and Toll free numbers - "+49695095XXXXX","+353156YYYYY","+1800856ZZZZZ" other policy properties will be left as previously assigned. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamsaudioconferencingpolicy + + + Get-CsTeamsAudioConferencingPolicy + + + + New-CsTeamsAudioConferencingPolicy + + + + Grant-CsTeamsAudioConferencingPolicy + + + + + + + Set-CsTeamsCallParkPolicy + Set + CsTeamsCallParkPolicy + + The TeamsCallParkPolicy controls whether or not users are able to leverage the call park feature in Microsoft Teams. Call park allows enterprise voice customers to place a call on hold and then perform a number of actions on that call: transfer to another department, retrieve via the same phone, or retrieve via a different Teams phone. The Set-CsTeamsCallParkPolicy cmdlet lets you update a policy that has already been created for your organization. + NOTE: The call park feature currently available in desktop, mobile, and web clients. Supported with TeamsOnly mode. + + + + The TeamsCallParkPolicy controls whether or not users are able to leverage the call park feature in Microsoft Teams. Call park allows enterprise voice customers to place a call on hold and then perform a number of actions on that call: transfer to another department, retrieve via the same phone, or retrieve via a different phone. The Set-CsTeamsCallParkPolicy cmdlet lets you update a policy that has already been created for your organization. + + + + Set-CsTeamsCallParkPolicy + + Identity + + The unique identifier of the policy being updated. + + XdsIdentity + + XdsIdentity + + + None + + + AllowCallPark + + If set to true, customers will be able to leverage the call park feature to place calls on hold and then decide how the call should be handled - transferred to another department, retrieved using the same phone, or retrieved using a different phone. + + Boolean + + Boolean + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Suppress all non-fatal errors + + + SwitchParameter + + + False + + + PickupRangeEnd + + Specify the maximum value that a rendered pickup code can take. Value can be from 10 to 9999. + Note: PickupRangeStart must be smaller than PickupRangeEnd. + + Integer + + Integer + + + 99 + + + ParkTimeoutSeconds + + Specify the number of seconds to wait before ringing the parker when the parked call hasn't been picked up. Value can be from 120 to 1800 (seconds). + + Integer + + Integer + + + 300 + + + PickupRangeStart + + Specify the minimum value that a rendered pickup code can take. Value can be from 10 to 9999. + Note: PickupRangeStart must be smaller than PickupRangeEnd. + + Integer + + Integer + + + 10 + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Set-CsTeamsCallParkPolicy + + AllowCallPark + + If set to true, customers will be able to leverage the call park feature to place calls on hold and then decide how the call should be handled - transferred to another department, retrieved using the same phone, or retrieved using a different phone. + + Boolean + + Boolean + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Suppress all non-fatal errors + + + SwitchParameter + + + False + + + Instance + + This parameter is used when piping a specific policy retrieved from Get-CsTeamsCallParkPolicy that you then want to update. + + PSObject + + PSObject + + + None + + + PickupRangeEnd + + Specify the maximum value that a rendered pickup code can take. Value can be from 10 to 9999. + Note: PickupRangeStart must be smaller than PickupRangeEnd. + + Integer + + Integer + + + 99 + + + ParkTimeoutSeconds + + Specify the number of seconds to wait before ringing the parker when the parked call hasn't been picked up. Value can be from 120 to 1800 (seconds). + + Integer + + Integer + + + 300 + + + PickupRangeStart + + Specify the minimum value that a rendered pickup code can take. Value can be from 10 to 9999. + Note: PickupRangeStart must be smaller than PickupRangeEnd. + + Integer + + Integer + + + 10 + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + AllowCallPark + + If set to true, customers will be able to leverage the call park feature to place calls on hold and then decide how the call should be handled - transferred to another department, retrieved using the same phone, or retrieved using a different phone. + + Boolean + + Boolean + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + Suppress all non-fatal errors + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + The unique identifier of the policy being updated. + + XdsIdentity + + XdsIdentity + + + None + + + Instance + + This parameter is used when piping a specific policy retrieved from Get-CsTeamsCallParkPolicy that you then want to update. + + PSObject + + PSObject + + + None + + + PickupRangeEnd + + Specify the maximum value that a rendered pickup code can take. Value can be from 10 to 9999. + Note: PickupRangeStart must be smaller than PickupRangeEnd. + + Integer + + Integer + + + 99 + + + ParkTimeoutSeconds + + Specify the number of seconds to wait before ringing the parker when the parked call hasn't been picked up. Value can be from 120 to 1800 (seconds). + + Integer + + Integer + + + 300 + + + PickupRangeStart + + Specify the minimum value that a rendered pickup code can take. Value can be from 10 to 9999. + Note: PickupRangeStart must be smaller than PickupRangeEnd. + + Integer + + Integer + + + 10 + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.Management.Automation.PSObject + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-CsTeamsCallParkPolicy -Identity SalesPolicy -AllowCallPark $true + + Update the existing policy "SalesPolicy" to enable the call park feature. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Set-CsTeamsCallParkPolicy -Identity "SalesPolicy" -PickupRangeStart 500 -PickupRangeEnd 1500 + + Update the existing policy "SalesPolicy" to generate pickup numbers starting from 500 and up until 1500. + + + + -------------------------- Example 3 -------------------------- + PS C:\> New-CsTeamsCallParkPolicy -Identity "SalesPolicy" -ParkTimeoutSeconds 600 + + Update the existing policy "SalesPolicy" to ring back the parker after 600 seconds if the parked call is unanswered + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamscallparkpolicy + + + + + + Set-CsTeamsClientConfiguration + Set + CsTeamsClientConfiguration + + The TeamsClientConfiguration allows IT admins to control the settings that can be accessed via Teams clients across their organization. This configuration includes settings like which third party cloud storage your organization allows, whether or not guest users can access the teams client, and how Surface Hub devices can interact with Skype for Business meetings. The parameter descriptions below describe what settings are managed by this configuration and how they are enforced. + + + + The TeamsClientConfiguration allows IT admins to control the settings that can be accessed via Teams clients across their organization. This configuration includes settings like which third party cloud storage your organization allows, whether or not guest users can access the teams client, and whether or not meeting room devices running teams are can display content from user accounts. The parameter descriptions below describe what settings are managed by this configuration and how they are enforced. + An organization can have only one effective Teams Client Configuration - these settings will apply across the entire organization for the particular features they control. +Note that three of these settings (ContentPin, ResourceAccountContentAccess, and AllowResourceAccountSendMessage) control resource account behavior for Surface Hub devices attending Skype for Business meetings, and are not used in Microsoft Teams. + + + + Set-CsTeamsClientConfiguration + + Identity + + The only valid input is Global - the tenant wide configuration. + + XdsIdentity + + XdsIdentity + + + None + + + AllowBox + + Designates whether users are able to leverage Box as a third party storage solution in Microsoft Teams. If $true, users will be able to add Box in the client and interact with the files stored there. + + Boolean + + Boolean + + + None + + + AllowDropBox + + Designates whether users are able to leverage DropBox as a third party storage solution in Microsoft Teams. If $true, users will be able to add DropBox in the client and interact with the files stored there. + + Boolean + + Boolean + + + None + + + AllowEgnyte + + Designates whether users are able to leverage Egnyte as a third party storage solution in Microsoft Teams. If $true, users will be able to add Egnyte in the client and interact with the files stored there. + + Boolean + + Boolean + + + None + + + AllowEmailIntoChannel + + When set to $true, mail hooks are enabled, and users can post messages to a channel by sending an email to the email address of Teams channel. + To find the email address for a channel, click the More options menu for the channel and then select Get email address. + + Boolean + + Boolean + + + None + + + AllowGoogleDrive + + Designates whether users are able to leverage GoogleDrive as a third party storage solution in Microsoft Teams. If $true, users will be able to add Google Drive in the client and interact with the files stored there. + + Boolean + + Boolean + + + None + + + AllowGuestUser + + Designates whether or not guest users in your organization will have access to the Teams client. If $true, guests in your tenant will be able to access the Teams client. Note that this setting has a core dependency on Guest Access being enabled in your Office 365 tenant. For more information on this topic, read Authorize Guest Access in Microsoft Teams: https://learn.microsoft.com/microsoftteams/teams-dependencies + + Boolean + + Boolean + + + None + + + AllowOrganizationTab + + When set to $true, users will be able to see the organizational chart icon other users' contact cards, and when clicked, this icon will display the detailed organizational chart. + + Boolean + + Boolean + + + None + + + AllowResourceAccountSendMessage + + Surface Hub uses a device account to provide email and collaboration services (IM, video, voice). This device account is used as the originating identity (the "from" party) when sending email, IM, and placing calls. As this account is not coming from an individual, identifiable user, it is deemed "anonymous" because it originated from the Surface Hub's device account. If set to $true, these device accounts will be able to send chat messages in Skype for Business Online (does not apply to Microsoft Teams). + + Boolean + + Boolean + + + None + + + AllowRoleBasedChatPermissions + + When set to True, Supervised Chat is enabled for the tenant. + + Boolean + + Boolean + + + False + + + AllowScopedPeopleSearchandAccess + + If set to $true, the Exchange address book policy (ABP) will be used to provide customized view of the global address book for each user. This is only a virtual separation and not a legal separation. + + Boolean + + Boolean + + + None + + + AllowShareFile + + Designates whether users are able to leverage Citrix ShareFile as a third party storage solution in Microsoft Teams. If $true, users will be able to add Citrix ShareFile in the client and interact with the files stored there. + + Boolean + + Boolean + + + None + + + AllowSkypeBusinessInterop + + When set to $true, Teams conversations automatically show up in Skype for Business for users that aren't enabled for Teams. + + Boolean + + Boolean + + + None + + + AllowTBotProactiveMessaging + + Deprecated, do not use. + + Boolean + + Boolean + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + ContentPin + + This setting applies only to Skype for Business Online (not Microsoft Teams) and defines whether the user must provide a secondary form of authentication to access the meeting content from a resource device account . Meeting content is defined as files that are shared to the "Content Bin" - files that have been attached to the meeting. + Possible Values: NotRequired, RequiredOutsideScheduleMeeting, AlwaysRequired . Default Value: RequiredOutsideScheduleMeeting + + String + + String + + + None + + + Force + + Bypass any verification checks and non-fatal errors. + + + SwitchParameter + + + False + + + ResourceAccountContentAccess + + Require a secondary form of authentication to access meeting content. + Possible values: NoAccess, PartialAccess and FullAccess + + String + + String + + + None + + + RestrictedSenderList + + Senders domains can be further restricted to ensure that only allowed SMTP domains can send emails to the Teams channels. This is a semicolon-separated string of the domains you'd like to allow to send emails to Teams channels. + + String + + String + + + None + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + WhatIf + + The WhatIf switch does not work with this cmdlet. + + + SwitchParameter + + + False + + + + Set-CsTeamsClientConfiguration + + AllowBox + + Designates whether users are able to leverage Box as a third party storage solution in Microsoft Teams. If $true, users will be able to add Box in the client and interact with the files stored there. + + Boolean + + Boolean + + + None + + + AllowDropBox + + Designates whether users are able to leverage DropBox as a third party storage solution in Microsoft Teams. If $true, users will be able to add DropBox in the client and interact with the files stored there. + + Boolean + + Boolean + + + None + + + AllowEgnyte + + Designates whether users are able to leverage Egnyte as a third party storage solution in Microsoft Teams. If $true, users will be able to add Egnyte in the client and interact with the files stored there. + + Boolean + + Boolean + + + None + + + AllowEmailIntoChannel + + When set to $true, mail hooks are enabled, and users can post messages to a channel by sending an email to the email address of Teams channel. + To find the email address for a channel, click the More options menu for the channel and then select Get email address. + + Boolean + + Boolean + + + None + + + AllowGoogleDrive + + Designates whether users are able to leverage GoogleDrive as a third party storage solution in Microsoft Teams. If $true, users will be able to add Google Drive in the client and interact with the files stored there. + + Boolean + + Boolean + + + None + + + AllowGuestUser + + Designates whether or not guest users in your organization will have access to the Teams client. If $true, guests in your tenant will be able to access the Teams client. Note that this setting has a core dependency on Guest Access being enabled in your Office 365 tenant. For more information on this topic, read Authorize Guest Access in Microsoft Teams: https://learn.microsoft.com/microsoftteams/teams-dependencies + + Boolean + + Boolean + + + None + + + AllowOrganizationTab + + When set to $true, users will be able to see the organizational chart icon other users' contact cards, and when clicked, this icon will display the detailed organizational chart. + + Boolean + + Boolean + + + None + + + AllowResourceAccountSendMessage + + Surface Hub uses a device account to provide email and collaboration services (IM, video, voice). This device account is used as the originating identity (the "from" party) when sending email, IM, and placing calls. As this account is not coming from an individual, identifiable user, it is deemed "anonymous" because it originated from the Surface Hub's device account. If set to $true, these device accounts will be able to send chat messages in Skype for Business Online (does not apply to Microsoft Teams). + + Boolean + + Boolean + + + None + + + AllowRoleBasedChatPermissions + + When set to True, Supervised Chat is enabled for the tenant. + + Boolean + + Boolean + + + False + + + AllowScopedPeopleSearchandAccess + + If set to $true, the Exchange address book policy (ABP) will be used to provide customized view of the global address book for each user. This is only a virtual separation and not a legal separation. + + Boolean + + Boolean + + + None + + + AllowShareFile + + Designates whether users are able to leverage Citrix ShareFile as a third party storage solution in Microsoft Teams. If $true, users will be able to add Citrix ShareFile in the client and interact with the files stored there. + + Boolean + + Boolean + + + None + + + AllowSkypeBusinessInterop + + When set to $true, Teams conversations automatically show up in Skype for Business for users that aren't enabled for Teams. + + Boolean + + Boolean + + + None + + + AllowTBotProactiveMessaging + + Deprecated, do not use. + + Boolean + + Boolean + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + ContentPin + + This setting applies only to Skype for Business Online (not Microsoft Teams) and defines whether the user must provide a secondary form of authentication to access the meeting content from a resource device account . Meeting content is defined as files that are shared to the "Content Bin" - files that have been attached to the meeting. + Possible Values: NotRequired, RequiredOutsideScheduleMeeting, AlwaysRequired . Default Value: RequiredOutsideScheduleMeeting + + String + + String + + + None + + + Force + + Bypass any verification checks and non-fatal errors. + + + SwitchParameter + + + False + + + Instance + + You can use this to pass the results from Get-CsTeamsClientConfiguration into the Set-CsTeamsClientConfiguration rather than specifying the "-Identity Global" parameter. + + PSObject + + PSObject + + + None + + + ResourceAccountContentAccess + + Require a secondary form of authentication to access meeting content. + Possible values: NoAccess, PartialAccess and FullAccess + + String + + String + + + None + + + RestrictedSenderList + + Senders domains can be further restricted to ensure that only allowed SMTP domains can send emails to the Teams channels. This is a semicolon-separated string of the domains you'd like to allow to send emails to Teams channels. + + String + + String + + + None + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + WhatIf + + The WhatIf switch does not work with this cmdlet. + + + SwitchParameter + + + False + + + + + + AllowBox + + Designates whether users are able to leverage Box as a third party storage solution in Microsoft Teams. If $true, users will be able to add Box in the client and interact with the files stored there. + + Boolean + + Boolean + + + None + + + AllowDropBox + + Designates whether users are able to leverage DropBox as a third party storage solution in Microsoft Teams. If $true, users will be able to add DropBox in the client and interact with the files stored there. + + Boolean + + Boolean + + + None + + + AllowEgnyte + + Designates whether users are able to leverage Egnyte as a third party storage solution in Microsoft Teams. If $true, users will be able to add Egnyte in the client and interact with the files stored there. + + Boolean + + Boolean + + + None + + + AllowEmailIntoChannel + + When set to $true, mail hooks are enabled, and users can post messages to a channel by sending an email to the email address of Teams channel. + To find the email address for a channel, click the More options menu for the channel and then select Get email address. + + Boolean + + Boolean + + + None + + + AllowGoogleDrive + + Designates whether users are able to leverage GoogleDrive as a third party storage solution in Microsoft Teams. If $true, users will be able to add Google Drive in the client and interact with the files stored there. + + Boolean + + Boolean + + + None + + + AllowGuestUser + + Designates whether or not guest users in your organization will have access to the Teams client. If $true, guests in your tenant will be able to access the Teams client. Note that this setting has a core dependency on Guest Access being enabled in your Office 365 tenant. For more information on this topic, read Authorize Guest Access in Microsoft Teams: https://learn.microsoft.com/microsoftteams/teams-dependencies + + Boolean + + Boolean + + + None + + + AllowOrganizationTab + + When set to $true, users will be able to see the organizational chart icon other users' contact cards, and when clicked, this icon will display the detailed organizational chart. + + Boolean + + Boolean + + + None + + + AllowResourceAccountSendMessage + + Surface Hub uses a device account to provide email and collaboration services (IM, video, voice). This device account is used as the originating identity (the "from" party) when sending email, IM, and placing calls. As this account is not coming from an individual, identifiable user, it is deemed "anonymous" because it originated from the Surface Hub's device account. If set to $true, these device accounts will be able to send chat messages in Skype for Business Online (does not apply to Microsoft Teams). + + Boolean + + Boolean + + + None + + + AllowRoleBasedChatPermissions + + When set to True, Supervised Chat is enabled for the tenant. + + Boolean + + Boolean + + + False + + + AllowScopedPeopleSearchandAccess + + If set to $true, the Exchange address book policy (ABP) will be used to provide customized view of the global address book for each user. This is only a virtual separation and not a legal separation. + + Boolean + + Boolean + + + None + + + AllowShareFile + + Designates whether users are able to leverage Citrix ShareFile as a third party storage solution in Microsoft Teams. If $true, users will be able to add Citrix ShareFile in the client and interact with the files stored there. + + Boolean + + Boolean + + + None + + + AllowSkypeBusinessInterop + + When set to $true, Teams conversations automatically show up in Skype for Business for users that aren't enabled for Teams. + + Boolean + + Boolean + + + None + + + AllowTBotProactiveMessaging + + Deprecated, do not use. + + Boolean + + Boolean + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + ContentPin + + This setting applies only to Skype for Business Online (not Microsoft Teams) and defines whether the user must provide a secondary form of authentication to access the meeting content from a resource device account . Meeting content is defined as files that are shared to the "Content Bin" - files that have been attached to the meeting. + Possible Values: NotRequired, RequiredOutsideScheduleMeeting, AlwaysRequired . Default Value: RequiredOutsideScheduleMeeting + + String + + String + + + None + + + Force + + Bypass any verification checks and non-fatal errors. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + The only valid input is Global - the tenant wide configuration. + + XdsIdentity + + XdsIdentity + + + None + + + Instance + + You can use this to pass the results from Get-CsTeamsClientConfiguration into the Set-CsTeamsClientConfiguration rather than specifying the "-Identity Global" parameter. + + PSObject + + PSObject + + + None + + + ResourceAccountContentAccess + + Require a secondary form of authentication to access meeting content. + Possible values: NoAccess, PartialAccess and FullAccess + + String + + String + + + None + + + RestrictedSenderList + + Senders domains can be further restricted to ensure that only allowed SMTP domains can send emails to the Teams channels. This is a semicolon-separated string of the domains you'd like to allow to send emails to Teams channels. + + String + + String + + + None + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + WhatIf + + The WhatIf switch does not work with this cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.Management.Automation.PSObject + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-CsTeamsClientConfiguration -Identity Global -AllowDropBox $false + + In this example, the client configuration effective for the organization (Global) is being updated to disable the use of DropBox in the organization. All other settings in the configuration remain the same. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamsclientconfiguration + + + + + + Set-CsTeamsCortanaPolicy + Set + CsTeamsCortanaPolicy + + The CsTeamsCortanaPolicy cmdlets enable administrators to control settings for Cortana voice assistant in Microsoft Teams. + + + + The CsTeamsCortanaPolicy cmdlets enable administrators to control settings for Cortana voice assistant in Microsoft Teams. Specifically, these specify if a user can use Cortana voice assistant in Microsoft Teams and Cortana invocation behavior via CortanaVoiceInvocationMode parameter - * Disabled - Cortana voice assistant is disabled + * PushToTalkUserOverride - Cortana voice assistant is enabled but without wake-word ("Hey Cortana") invocation + * WakeWordPushToTalkUserOverride - Cortana voice assistant is enabled with wake-word ("Hey Cortana") invocation on devices where wake-word is supported + + + + Set-CsTeamsCortanaPolicy + + Identity + + Identity for the policy you're modifying. To modify the global policy, use this syntax: -Identity global. To modify a per-user policy, use syntax similar to this: -Identity MyCortanaPolicy. If you do not specify an Identity the Set-CsTeamsCortanaPolicy cmdlet will automatically modify the global policy. + + XdsIdentity + + XdsIdentity + + + None + + + AllowCortanaAmbientListening + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + AllowCortanaInContextSuggestions + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + AllowCortanaVoiceInvocation + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + CortanaVoiceInvocationMode + + The value of this field indicates if Cortana is enabled and mode of invocation. * Disabled - Cortana voice assistant is turned off and cannot be used. + * PushToTalkUserOverride - Cortana voice assistant is enabled but without wake-word ("Hey Cortana") invocation + * WakeWordPushToTalkUserOverride - Cortana voice assistant is enabled with wake-word ("Hey Cortana") invocation on devices where wake-word is supported + + String + + String + + + None + + + Description + + Provide a description of your policy to identify purpose of creating it. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose external user communication policy are being created. For example: -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" You can return your tenant ID by running this command: Get-CsTenant | Select-Object DisplayName, TenantID + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Set-CsTeamsCortanaPolicy + + AllowCortanaAmbientListening + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + AllowCortanaInContextSuggestions + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + AllowCortanaVoiceInvocation + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + CortanaVoiceInvocationMode + + The value of this field indicates if Cortana is enabled and mode of invocation. * Disabled - Cortana voice assistant is turned off and cannot be used. + * PushToTalkUserOverride - Cortana voice assistant is enabled but without wake-word ("Hey Cortana") invocation + * WakeWordPushToTalkUserOverride - Cortana voice assistant is enabled with wake-word ("Hey Cortana") invocation on devices where wake-word is supported + + String + + String + + + None + + + Description + + Provide a description of your policy to identify purpose of creating it. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + Instance + + Allows you to pass a reference to an object to the cmdlet rather than set individual parameter values. + + PSObject + + PSObject + + + None + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose external user communication policy are being created. For example: -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" You can return your tenant ID by running this command: Get-CsTenant | Select-Object DisplayName, TenantID + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + AllowCortanaAmbientListening + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + AllowCortanaInContextSuggestions + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + AllowCortanaVoiceInvocation + + This parameter is reserved for internal Microsoft use. + + Boolean + + Boolean + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + CortanaVoiceInvocationMode + + The value of this field indicates if Cortana is enabled and mode of invocation. * Disabled - Cortana voice assistant is turned off and cannot be used. + * PushToTalkUserOverride - Cortana voice assistant is enabled but without wake-word ("Hey Cortana") invocation + * WakeWordPushToTalkUserOverride - Cortana voice assistant is enabled with wake-word ("Hey Cortana") invocation on devices where wake-word is supported + + String + + String + + + None + + + Description + + Provide a description of your policy to identify purpose of creating it. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Identity for the policy you're modifying. To modify the global policy, use this syntax: -Identity global. To modify a per-user policy, use syntax similar to this: -Identity MyCortanaPolicy. If you do not specify an Identity the Set-CsTeamsCortanaPolicy cmdlet will automatically modify the global policy. + + XdsIdentity + + XdsIdentity + + + None + + + Instance + + Allows you to pass a reference to an object to the cmdlet rather than set individual parameter values. + + PSObject + + PSObject + + + None + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose external user communication policy are being created. For example: -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" You can return your tenant ID by running this command: Get-CsTenant | Select-Object DisplayName, TenantID + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.Management.Automation.PSObject + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-CsTeamsCortanaPolicy -Identity MyCortanaPolicy -CortanaVoiceInvocationMode Disabled + + In this example, Cortana voice assistant is set to disabled. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/get-csteamscortanapolicy + + + + + + Set-CsTeamsEducationAssignmentsAppPolicy + Set + CsTeamsEducationAssignmentsAppPolicy + + This policy is controlled by Global and Teams Service Administrators, and is used to turn on/off certain features only related to the Assignments Service, which runs for tenants with EDU licenses. + + + + This policy is controlled by Global and Teams Service Administrators, and is used to turn on/off certain features only related to the Assignments Service, which runs for tenants with EDU licenses. This cmdlet allows you to retrieve the current values of your Education Assignments App Policy. At this time, you can only modify your global policy - this policy type does not support user-level custom policies. + + + + Set-CsTeamsEducationAssignmentsAppPolicy + + Identity + + The identity of the policy being modified. The only value supported is "Global", as you cannot create user level policies of this type. + + XdsIdentity + + XdsIdentity + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Suppress all non-fatal errors. + + + SwitchParameter + + + False + + + MakeCodeEnabledType + + Block-based coding activities to introduce computer science concepts. Possible values are "Enabled" or "Disabled" + + String + + String + + + None + + + ParentDigestEnabledType + + Send digest emails to parents/guardians. Possible values are "Enabled" or "Disabled" + + String + + String + + + None + + + Tenant + + Internal use only. + + System.Guid + + System.Guid + + + None + + + TurnItInApiKey + + The api key in order to enable TurnItIn. + + String + + String + + + None + + + TurnItInApiUrl + + The api url in order to enable TurnItIn + + String + + String + + + None + + + TurnItInEnabledType + + A service that detects plagiarism in student writing. Possible values are "Enabled" or "Disabled" + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Set-CsTeamsEducationAssignmentsAppPolicy + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Suppress all non-fatal errors. + + + SwitchParameter + + + False + + + Instance + + Pass in the policy fetched from Get-CsTeamsEducationAssignmentsAppPolicy + + PSObject + + PSObject + + + None + + + MakeCodeEnabledType + + Block-based coding activities to introduce computer science concepts. Possible values are "Enabled" or "Disabled" + + String + + String + + + None + + + ParentDigestEnabledType + + Send digest emails to parents/guardians. Possible values are "Enabled" or "Disabled" + + String + + String + + + None + + + Tenant + + Internal use only. + + System.Guid + + System.Guid + + + None + + + TurnItInApiKey + + The api key in order to enable TurnItIn. + + String + + String + + + None + + + TurnItInApiUrl + + The api url in order to enable TurnItIn + + String + + String + + + None + + + TurnItInEnabledType + + A service that detects plagiarism in student writing. Possible values are "Enabled" or "Disabled" + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + Suppress all non-fatal errors. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + The identity of the policy being modified. The only value supported is "Global", as you cannot create user level policies of this type. + + XdsIdentity + + XdsIdentity + + + None + + + Instance + + Pass in the policy fetched from Get-CsTeamsEducationAssignmentsAppPolicy + + PSObject + + PSObject + + + None + + + MakeCodeEnabledType + + Block-based coding activities to introduce computer science concepts. Possible values are "Enabled" or "Disabled" + + String + + String + + + None + + + ParentDigestEnabledType + + Send digest emails to parents/guardians. Possible values are "Enabled" or "Disabled" + + String + + String + + + None + + + Tenant + + Internal use only. + + System.Guid + + System.Guid + + + None + + + TurnItInApiKey + + The api key in order to enable TurnItIn. + + String + + String + + + None + + + TurnItInApiUrl + + The api url in order to enable TurnItIn + + String + + String + + + None + + + TurnItInEnabledType + + A service that detects plagiarism in student writing. Possible values are "Enabled" or "Disabled" + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.Management.Automation.PSObject + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-CsTeamsEducationAssignmentsAppPolicy -TurnItInEnabledType "Enabled" + + Enables the TurnItIn app for the organization + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamseducationassignmentsapppolicy + + + + + + Set-CsTeamsEmergencyCallRoutingPolicy + Set + CsTeamsEmergencyCallRoutingPolicy + + This cmdlet modifies an existing Teams Emergency Call Routing Policy. + + + + This cmdlet modifies an existing Teams Emergency Call Routing Policy. Teams Emergency Call Routing policy is used for the life cycle of emergency call routing - emergency numbers and routing configuration + + + + Set-CsTeamsEmergencyCallRoutingPolicy + + Identity + + The Identity parameter is a unique identifier that designates the name of the policy. + + String + + String + + + None + + + AllowEnhancedEmergencyServices + + Flag to enable Enhanced Emergency Services. + + Boolean + + Boolean + + + None + + + Description + + Provides a description of the Teams Emergency Call Routing policy to identify the purpose of setting it. + + String + + String + + + None + + + EmergencyNumbers + + One or more emergency number objects obtained from the New-CsTeamsEmergencyNumber (new-csteamsemergencynumber.md)cmdlet. + + Object + + Object + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + AllowEnhancedEmergencyServices + + Flag to enable Enhanced Emergency Services. + + Boolean + + Boolean + + + None + + + Description + + Provides a description of the Teams Emergency Call Routing policy to identify the purpose of setting it. + + String + + String + + + None + + + EmergencyNumbers + + One or more emergency number objects obtained from the New-CsTeamsEmergencyNumber (new-csteamsemergencynumber.md)cmdlet. + + Object + + Object + + + None + + + Identity + + The Identity parameter is a unique identifier that designates the name of the policy. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-CsTeamsEmergencyCallRoutingPolicy -Identity "Test" -AllowEnhancedEmergencyServices:$false -Description "test" + + This example modifies an existing Teams Emergency Call Routing Policy. + + + + -------------------------- Example 2 -------------------------- + $en1 = New-CsTeamsEmergencyNumber -EmergencyDialString "911" -EmergencyDialMask "933" -OnlinePSTNUsage "USE911" +$en2 = New-CsTeamsEmergencyNumber -EmergencyDialString "112" -EmergencyDialMask "9112" -OnlinePSTNUsage "DKE911" +Set-CsTeamsEmergencyCallRoutingPolicy -Identity "Test" -EmergencyNumbers @{add=$en1,$en2} + + This example first creates new Teams emergency number objects and then adds these Teams emergency numbers to an existing Teams Emergency Call Routing policy. + + + + -------------------------- Example 3 -------------------------- + $en1 = New-CsTeamsEmergencyNumber -EmergencyDialString "112" -EmergencyDialMask "9112" -OnlinePSTNUsage "DKE911" +Set-CsTeamsEmergencyCallRoutingPolicy -Identity "Test" -EmergencyNumbers @{remove=$en1} + + This example first creates a new Teams emergency number object and then removes that Teams emergency number from an existing Teams Emergency Call Routing policy. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamsemergencycallroutingpolicy + + + New-CsTeamsEmergencyCallRoutingPolicy + + + + Grant-CsTeamsEmergencyCallRoutingPolicy + + + + Remove-CsTeamsEmergencyCallRoutingPolicy + + + + Get-CsTeamsEmergencyCallRoutingPolicy + + + + New-CsTeamsEmergencyNumber + + + + + + + Set-CsTeamsEnhancedEncryptionPolicy + Set + CsTeamsEnhancedEncryptionPolicy + + Use this cmdlet to update values in existing Teams enhanced encryption policy. + + + + Use this cmdlet to update values in existing Teams enhanced encryption policy. + The TeamsEnhancedEncryptionPolicy enables administrators to determine which users in your organization can use the enhanced encryption settings in Teams, setting for end-to-end encryption in ad-hoc 1-to-1 VOIP calls is the parameter supported by this policy currently. + + + + Set-CsTeamsEnhancedEncryptionPolicy + + Identity + + Unique identifier assigned to the Teams enhanced encryption policy. + + Use the "Global" Identity if you wish modify the policy set for the entire tenant. + + XdsIdentity + + XdsIdentity + + + None + + + Description + + Enables administrators to provide explanatory text to accompany a Teams enhanced encryption policy. + + For example, the Description might include information about the users the policy should be assigned to. + + String + + String + + + None + + + CallingEndtoEndEncryptionEnabledType + + Determines whether end-to-end encrypted calling is available for the user in Teams. Set this to DisabledUserOverride to allow user to turn on end-to-end encrypted calls. Set this to Disabled to prohibit. + + Enum + + Enum + + + Disabled + + + MeetingEndToEndEncryption + + Determines whether end-to-end encrypted meetings are available in Teams ( requires a Teams Premium license (https://www.microsoft.com/en-us/microsoft-teams/premium)). Set this to DisabledUserOverride to allow users to schedule end-to-end encrypted meetings. Set this to Disabled to prohibit. + + Enum + + Enum + + + Disabled + + + Force + + Suppresses all non-fatal errors. + + + SwitchParameter + + + False + + + Instance + + Use this to pipe a specific enhanced encryption policy to be set. You can only modify the global policy, so can only pass the global instance of the enhanced encryption policy. + + Object + + Object + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Description + + Enables administrators to provide explanatory text to accompany a Teams enhanced encryption policy. + + For example, the Description might include information about the users the policy should be assigned to. + + String + + String + + + None + + + CallingEndtoEndEncryptionEnabledType + + Determines whether end-to-end encrypted calling is available for the user in Teams. Set this to DisabledUserOverride to allow user to turn on end-to-end encrypted calls. Set this to Disabled to prohibit. + + Enum + + Enum + + + Disabled + + + MeetingEndToEndEncryption + + Determines whether end-to-end encrypted meetings are available in Teams ( requires a Teams Premium license (https://www.microsoft.com/en-us/microsoft-teams/premium)). Set this to DisabledUserOverride to allow users to schedule end-to-end encrypted meetings. Set this to Disabled to prohibit. + + Enum + + Enum + + + Disabled + + + Identity + + Unique identifier assigned to the Teams enhanced encryption policy. + + Use the "Global" Identity if you wish modify the policy set for the entire tenant. + + XdsIdentity + + XdsIdentity + + + None + + + Force + + Suppresses all non-fatal errors. + + SwitchParameter + + SwitchParameter + + + False + + + Instance + + Use this to pipe a specific enhanced encryption policy to be set. You can only modify the global policy, so can only pass the global instance of the enhanced encryption policy. + + Object + + Object + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.Object + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- EXAMPLE 1 -------------------------- + PS C:\> Set-CsTeamsEnhancedEncryptionPolicy -Identity "ContosoPartnerTeamsEnhancedEncryptionPolicy" -CallingEndtoEndEncryptionEnabledType DisabledUserOverride + + The command shown in Example 1 modifies an existing per-user Teams enhanced encryption policy with the Identity ContosoPartnerTeamsEnhancedEncryptionPolicy. + + This policy is re-assigned CallingEndtoEndEncryptionEnabledType to be DisabledUserOverride. + Any Microsoft Teams users who are assigned this policy will have their enhanced encryption policy customized such that the user can use the enhanced encryption setting in Teams. + + + + -------------------------- EXAMPLE 2 -------------------------- + PS C:\> Set-CsTeamsEnhancedEncryptionPolicy -Identity "ContosoPartnerTeamsEnhancedEncryptionPolicy" -MeetingEndToEndEncryption DisabledUserOverride + + The command shown in Example 2 modifies an existing per-user Teams enhanced encryption policy with the Identity ContosoPartnerTeamsEnhancedEncryptionPolicy. + + This policy has re-assigned MeetingEndToEndEncryption to be DisabledUserOverride. + Any Microsoft Teams users who are assigned this policy and have a Teams Premium license will have the option to create end-to-end encrypted meetings. Learn more about end-to-end encryption for Teams meetings (https://support.microsoft.com/en-us/office/use-end-to-end-encryption-for-teams-meetings-a8326d15-d187-49c4-ac99-14c17dbd617c). + + + + -------------------------- EXAMPLE 3 -------------------------- + PS C:\> Set-CsTeamsEnhancedEncryptionPolicy -Identity "ContosoPartnerTeamsEnhancedEncryptionPolicy" -Description "allow useroverride" + + The command shown in Example 2 modifies an existing per-user Teams enhanced encryption policy with the Identity ContosoPartnerTeamsEnhancedEncryptionPolicy. + + This policy is re-assigned the description from its existing value to "allow useroverride". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamsenhancedencryptionpolicy + + + Get-CsTeamsEnhancedEncryptionPolicy + + + + New-CsTeamsEnhancedEncryptionPolicy + + + + Remove-CsTeamsEnhancedEncryptionPolicy + + + + Grant-CsTeamsEnhancedEncryptionPolicy + + + + + + + Set-CsTeamsEventsPolicy + Set + CsTeamsEventsPolicy + + This cmdlet allows you to configure options for customizing Teams events experiences. Note that this policy is currently still in preview. + + + + User-level policy for tenant admin to configure options for customizing Teams events experiences. Use this cmdlet to update an existing policy. + + + + Set-CsTeamsEventsPolicy + + Identity + + Unique identifier assigned to the Teams Events policy. + + String + + String + + + None + + + AllowWebinars + + This setting governs if a user can create webinars using Teams Events. Possible values are: - Enabled : Enables creating webinars. - Disabled : Disables creating webinars. + + String + + String + + + None + + + Description + + Enables administrators to provide explanatory text to accompany a Teams Events policy. + + String + + String + + + None + + + UseMicrosoftECDN + + This setting governs whether the global admin disables this property and prevents the organizers from creating town halls that use Microsoft eCDN even though they have been assigned a Teams Premium license. + + Boolean + + Boolean + + + None + + + AllowTownhalls + + This setting governs if a user can create town halls using Teams Events. Possible values are: - Enabled : Enables creating town halls. - Disabled : Disables creating town halls. + + String + + String + + + None + + + Description + + Enables administrators to provide explanatory text to accompany a Teams Events policy. + + String + + String + + + None + + + AllowEmailEditing + + This setting governs if a user is allowed to edit the communication emails in Teams Town Hall or Teams Webinar events. Possible values are: - Enabled : Enables editing of communication emails. - Disabled : Disables editing of communication emails. + + String + + String + + + None + + + Confirm + + The Confirm switch does not work with this cmdlet. + + + SwitchParameter + + + False + + + Description + + Enables administrators to provide explanatory text to accompany a Teams Events policy. + + String + + String + + + None + + + EventAccessType + + This setting governs which users can access the event registration page or the event site to register. It also governs which user type is allowed to join the session/s in the event. Possible values are: - Everyone : Enables creating events to allow in-tenant, guests, federated, and anonymous (external to the tenant) users to register and join the event. - EveryoneInCompanyExcludingGuests : Enables creating events to allow only in-tenant users to register and join the event. + + String + + String + + + None + + + AllowedQuestionTypesInRegistrationForm + + This setting governs which users in a tenant can add which registration form questions to an event registration page for attendees to answer when registering for the event. + Possible values are: DefaultOnly, DefaultAndPredefinedOnly, AllQuestions. + + String + + String + + + None + + + AllowedTownhallTypesForRecordingPublish + + This setting describes how IT admins can control which types of Town Hall attendees can have their recordings published. + Possible values are: None, InviteOnly, EveryoneInCompanyIncludingGuests, Everyone. + + String + + String + + + None + + + AllowedWebinarTypesForRecordingPublish + + This setting describes how IT admins can control which types of webinar attendees can have their recordings published. + Possible values are: None, InviteOnly, EveryoneInCompanyIncludingGuests, Everyone. + + String + + String + + + None + + + AllowEventIntegrations + + This setting governs access to the integrations tab in the event creation workflow. + Possible values true, false. + + Boolean + + Boolean + + + None + + + TownhallChatExperience + + This setting governs whether the user can enable the Comment Stream chat experience for Town Halls. + Possible values are: Optimized, None. + + String + + String + + + None + + + Confirm + + The Confirm switch does not work with this cmdlet. + + + SwitchParameter + + + False + + + WhatIf + + The WhatIf switch does not work with this cmdlet. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + AllowWebinars + + This setting governs if a user can create webinars using Teams Events. Possible values are: - Enabled : Enables creating webinars. - Disabled : Disables creating webinars. + + String + + String + + + None + + + Description + + Enables administrators to provide explanatory text to accompany a Teams Events policy. + + String + + String + + + None + + + UseMicrosoftECDN + + This setting governs whether the global admin disables this property and prevents the organizers from creating town halls that use Microsoft eCDN even though they have been assigned a Teams Premium license. + + Boolean + + Boolean + + + None + + + AllowTownhalls + + This setting governs if a user can create town halls using Teams Events. Possible values are: - Enabled : Enables creating town halls. - Disabled : Disables creating town halls. + + String + + String + + + None + + + Description + + Enables administrators to provide explanatory text to accompany a Teams Events policy. + + String + + String + + + None + + + AllowEmailEditing + + This setting governs if a user is allowed to edit the communication emails in Teams Town Hall or Teams Webinar events. Possible values are: - Enabled : Enables editing of communication emails. - Disabled : Disables editing of communication emails. + + String + + String + + + None + + + Confirm + + The Confirm switch does not work with this cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Description + + Enables administrators to provide explanatory text to accompany a Teams Events policy. + + String + + String + + + None + + + EventAccessType + + This setting governs which users can access the event registration page or the event site to register. It also governs which user type is allowed to join the session/s in the event. Possible values are: - Everyone : Enables creating events to allow in-tenant, guests, federated, and anonymous (external to the tenant) users to register and join the event. - EveryoneInCompanyExcludingGuests : Enables creating events to allow only in-tenant users to register and join the event. + + String + + String + + + None + + + Identity + + Unique identifier assigned to the Teams Events policy. + + String + + String + + + None + + + AllowedQuestionTypesInRegistrationForm + + This setting governs which users in a tenant can add which registration form questions to an event registration page for attendees to answer when registering for the event. + Possible values are: DefaultOnly, DefaultAndPredefinedOnly, AllQuestions. + + String + + String + + + None + + + AllowedTownhallTypesForRecordingPublish + + This setting describes how IT admins can control which types of Town Hall attendees can have their recordings published. + Possible values are: None, InviteOnly, EveryoneInCompanyIncludingGuests, Everyone. + + String + + String + + + None + + + AllowedWebinarTypesForRecordingPublish + + This setting describes how IT admins can control which types of webinar attendees can have their recordings published. + Possible values are: None, InviteOnly, EveryoneInCompanyIncludingGuests, Everyone. + + String + + String + + + None + + + AllowEventIntegrations + + This setting governs access to the integrations tab in the event creation workflow. + Possible values true, false. + + Boolean + + Boolean + + + None + + + TownhallChatExperience + + This setting governs whether the user can enable the Comment Stream chat experience for Town Halls. + Possible values are: Optimized, None. + + String + + String + + + None + + + Confirm + + The Confirm switch does not work with this cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + The WhatIf switch does not work with this cmdlet. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-CsTeamsEventsPolicy -Identity Global -AllowWebinars Disabled + + The command shown in Example 1 sets the value of the Default (Global) Events Policy in the organization to disable webinars, and leaves all other parameters the same. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamseventspolicy + + + + + + Set-CsTeamsGuestCallingConfiguration + Set + CsTeamsGuestCallingConfiguration + + Allows admins to set values in the GuestCallingConfiguration, which specifies what options guest users have for calling within Teams. + + + + Allows admins to set values in the GuestCallingConfiguration, which specifies what options guest users have for calling within Teams. This policy primarily allows admins to disable calling for guest users within Teams. + + + + Set-CsTeamsGuestCallingConfiguration + + Identity + + The only option is Global + + XdsIdentity + + XdsIdentity + + + None + + + AllowPrivateCalling + + Designates whether guests who have been enabled for Teams can use calling functionality. If $false, guests cannot call. + + Boolean + + Boolean + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Bypass confirmation + + + SwitchParameter + + + False + + + Instance + + Internal Microsoft use + + PSObject + + PSObject + + + None + + + Tenant + + Internal Microsoft use + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + AllowPrivateCalling + + Designates whether guests who have been enabled for Teams can use calling functionality. If $false, guests cannot call. + + Boolean + + Boolean + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + Bypass confirmation + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + The only option is Global + + XdsIdentity + + XdsIdentity + + + None + + + Instance + + Internal Microsoft use + + PSObject + + PSObject + + + None + + + Tenant + + Internal Microsoft use + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.Management.Automation.PSObject + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-CsTeamsGuestCallingConfiguration -Identity Global -AllowPrivateCalling $false + + In this example, the admin has disabled private calling for guests in his organization. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamsguestcallingconfiguration + + + + + + Set-CsTeamsGuestMeetingConfiguration + Set + CsTeamsGuestMeetingConfiguration + + Designates what meeting features guests using Microsoft Teams will have available. Use this cmdlet to set the configuration. + + + + The TeamsGuestMeetingConfiguration designates which meeting features guests leveraging Microsoft Teams will have available. This configuration will apply to all guests utilizing Microsoft Teams. Use the Set-CsTeamsGuestMeetingConfiguration cmdlet to designate what values are set for your organization. + + + + Set-CsTeamsGuestMeetingConfiguration + + Identity + + The only input allowed is "Global" + + XdsIdentity + + XdsIdentity + + + None + + + AllowIPVideo + + Determines whether video is enabled in a user's meetings or calls. Set this to TRUE to allow guests to share their video. Set this to FALSE to prohibit guests from sharing their video + + Boolean + + Boolean + + + None + + + AllowMeetNow + + Determines whether guests can start ad-hoc meetings. Set this to TRUE to allow guests to start ad-hoc meetings. Set this to FALSE to prohibit guests from starting ad-hoc meetings. + + Boolean + + Boolean + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Suppresses all non fatal errors. + + + SwitchParameter + + + False + + + Instance + + Pipe the existing configuration from a Get- call. + + PSObject + + PSObject + + + None + + + LiveCaptionsEnabledType + + Determines whether real-time captions are available for guests in Teams meetings. Set this to DisabledUserOverride to allow guests to turn on live captions. Set this to Disabled to prohibit. + + String + + String + + + DisabledUserOverride + + + ScreenSharingMode + + Determines the mode in which guests can share a screen in calls or meetings. Set this to SingleApplication to allow the user to share an application at a given point in time. Set this to EntireScreen to allow the user to share anything on their screens. Set this to Disabled to prohibit the user from sharing their screens + + String + + String + + + None + + + Tenant + + Internal Microsoft use + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + AllowIPVideo + + Determines whether video is enabled in a user's meetings or calls. Set this to TRUE to allow guests to share their video. Set this to FALSE to prohibit guests from sharing their video + + Boolean + + Boolean + + + None + + + AllowMeetNow + + Determines whether guests can start ad-hoc meetings. Set this to TRUE to allow guests to start ad-hoc meetings. Set this to FALSE to prohibit guests from starting ad-hoc meetings. + + Boolean + + Boolean + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + Suppresses all non fatal errors. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + The only input allowed is "Global" + + XdsIdentity + + XdsIdentity + + + None + + + Instance + + Pipe the existing configuration from a Get- call. + + PSObject + + PSObject + + + None + + + LiveCaptionsEnabledType + + Determines whether real-time captions are available for guests in Teams meetings. Set this to DisabledUserOverride to allow guests to turn on live captions. Set this to Disabled to prohibit. + + String + + String + + + DisabledUserOverride + + + ScreenSharingMode + + Determines the mode in which guests can share a screen in calls or meetings. Set this to SingleApplication to allow the user to share an application at a given point in time. Set this to EntireScreen to allow the user to share anything on their screens. Set this to Disabled to prohibit the user from sharing their screens + + String + + String + + + None + + + Tenant + + Internal Microsoft use + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.Management.Automation.PSObject + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-CsTeamsGuestMeetingConfiguration -Identity Global -AllowMeetNow $false -AllowIPVideo $false + + Disables Guests' usage of MeetNow and Video calling in the organization; all other values of the configuration are left as is. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamsguestmeetingconfiguration + + + + + + Set-CsTeamsGuestMessagingConfiguration + Set + CsTeamsGuestMessagingConfiguration + + TeamsGuestMessagingConfiguration determines the messaging settings for the guest users. + + + + TeamsGuestMessagingConfiguration determines the messaging settings for the guest users. This cmdlet lets you update the guest messaging options you'd like to enable in your organization. + + + + Set-CsTeamsGuestMessagingConfiguration + + Identity + + + + XdsIdentity + + XdsIdentity + + + None + + + AllowGiphy + + Determines if Giphy images are available. + + Boolean + + Boolean + + + None + + + AllowMemes + + Determines if memes are available for use. + + Boolean + + Boolean + + + None + + + AllowStickers + + Determines if stickers are available for use. + + Boolean + + Boolean + + + None + + + AllowUserChat + + Determines if a user is allowed to chat. + + Boolean + + Boolean + + + None + + + AllowUserDeleteMessage + + Determines if a user is allowed to delete their own messages. + + Boolean + + Boolean + + + None + + + AllowUserEditMessage + + Determines if a user is allowed to edit their own messages. + + Boolean + + Boolean + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + + + + SwitchParameter + + + False + + + AllowUserDeleteChat + + Turn this setting on to allow users to permanently delete their one-on-one chat, group chat, and meeting chat as participants (this deletes the chat only for them, not other users in the chat). Set this to TRUE to allow. Set this to FALSE to prohibit. + + Boolean + + Boolean + + + TRUE + + + GiphyRatingType + + Determines Giphy content restrictions. Default value is "Moderate", other options are "NoRestriction" and "Strict" + + String + + String + + + None + + + AllowImmersiveReader + + Determines if immersive reader for viewing messages is enabled. + + Boolean + + Boolean + + + None + + + Instance + + + + PSObject + + PSObject + + + None + + + Tenant + + + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + AllowGiphy + + Determines if Giphy images are available. + + Boolean + + Boolean + + + None + + + AllowMemes + + Determines if memes are available for use. + + Boolean + + Boolean + + + None + + + AllowStickers + + Determines if stickers are available for use. + + Boolean + + Boolean + + + None + + + AllowUserChat + + Determines if a user is allowed to chat. + + Boolean + + Boolean + + + None + + + AllowUserDeleteMessage + + Determines if a user is allowed to delete their own messages. + + Boolean + + Boolean + + + None + + + AllowUserEditMessage + + Determines if a user is allowed to edit their own messages. + + Boolean + + Boolean + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + + + SwitchParameter + + SwitchParameter + + + False + + + AllowUserDeleteChat + + Turn this setting on to allow users to permanently delete their one-on-one chat, group chat, and meeting chat as participants (this deletes the chat only for them, not other users in the chat). Set this to TRUE to allow. Set this to FALSE to prohibit. + + Boolean + + Boolean + + + TRUE + + + GiphyRatingType + + Determines Giphy content restrictions. Default value is "Moderate", other options are "NoRestriction" and "Strict" + + String + + String + + + None + + + AllowImmersiveReader + + Determines if immersive reader for viewing messages is enabled. + + Boolean + + Boolean + + + None + + + Identity + + + + XdsIdentity + + XdsIdentity + + + None + + + Instance + + + + PSObject + + PSObject + + + None + + + Tenant + + + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.Management.Automation.PSObject + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-CsTeamsGuestMessagingConfiguration -AllowMemes $False + + The command shown in Example 1 disables memes usage by guests within Teams. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamsguestmessagingconfiguration + + + + + + Set-CsTeamsIPPhonePolicy + Set + CsTeamsIPPhonePolicy + + Set-CsTeamsIPPhonePolicy enables you to modify the properties of an existing Teams phone policy settings. + + + + Set-CsTeamsIPPhonePolicy enables you to modify the properties of an existing TeamsIPPhonePolicy. + + + + Set-CsTeamsIPPhonePolicy + + Identity + + The identity of the policy. To specify the global policy for the organization, use "global". To specify any other policy provide the name of that policy. + + XdsIdentity + + XdsIdentity + + + None + + + AllowBetterTogether + + Determines whether Better Together mode is enabled, phones can lock and unlock in an integrated fashion when connected to their Windows PC running a 64-bit Teams desktop client. Possible values this parameter can take: + - Enabled + - Disabled + + String + + String + + + Enabled + + + AllowHomeScreen + + Determines whether the Home Screen feature of the Teams IP Phones is enabled. Possible values this parameter can take: + - Enabled + - EnabledUserOverride + - Disabled + + String + + String + + + EnabledUserOverride + + + AllowHotDesking + + Determines if the hot desking feature is enabled or not. Set this to TRUE to enable. Set this to FALSE to disable hot desking mode. + + Boolean + + Boolean + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Description + + Free form text that can be used by administrators as desired. + + String + + String + + + None + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes and suppresses the display of any non-fatal error message that might arise when running the command. + + + SwitchParameter + + + False + + + HotDeskingIdleTimeoutInMinutes + + Determines the idle timeout value in minutes for the signed in user account. When the timeout is reached, the account is logged out. + + Int + + Int + + + None + + + SearchOnCommonAreaPhoneMode + + Determines whether a user can look up contacts from the tenant's global address book when the phone is signed into the Common Area Phone Mode. Set this to ENABLED to enable the feature. Set this to DISABLED to disable the feature. + + String + + String + + + None + + + SignInMode + + Determines the sign in mode for the device when signing in to Teams. Possible Values: - 'UserSignIn: Enables the individual user's Teams experience on the phone' + - 'CommonAreaPhoneSignIn: Enables a Common Area Phone experience on the phone' + - 'MeetingSignIn: Enables the meeting/conference room experience on the phone' + + String + + String + + + None + + + Tenant + + Internal Microsoft use only. + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + AllowBetterTogether + + Determines whether Better Together mode is enabled, phones can lock and unlock in an integrated fashion when connected to their Windows PC running a 64-bit Teams desktop client. Possible values this parameter can take: + - Enabled + - Disabled + + String + + String + + + Enabled + + + AllowHomeScreen + + Determines whether the Home Screen feature of the Teams IP Phones is enabled. Possible values this parameter can take: + - Enabled + - EnabledUserOverride + - Disabled + + String + + String + + + EnabledUserOverride + + + AllowHotDesking + + Determines if the hot desking feature is enabled or not. Set this to TRUE to enable. Set this to FALSE to disable hot desking mode. + + Boolean + + Boolean + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Description + + Free form text that can be used by administrators as desired. + + String + + String + + + None + + + Force + + Suppresses any confirmation prompts that would otherwise be displayed before making changes and suppresses the display of any non-fatal error message that might arise when running the command. + + SwitchParameter + + SwitchParameter + + + False + + + HotDeskingIdleTimeoutInMinutes + + Determines the idle timeout value in minutes for the signed in user account. When the timeout is reached, the account is logged out. + + Int + + Int + + + None + + + Identity + + The identity of the policy. To specify the global policy for the organization, use "global". To specify any other policy provide the name of that policy. + + XdsIdentity + + XdsIdentity + + + None + + + SearchOnCommonAreaPhoneMode + + Determines whether a user can look up contacts from the tenant's global address book when the phone is signed into the Common Area Phone Mode. Set this to ENABLED to enable the feature. Set this to DISABLED to disable the feature. + + String + + String + + + None + + + SignInMode + + Determines the sign in mode for the device when signing in to Teams. Possible Values: - 'UserSignIn: Enables the individual user's Teams experience on the phone' + - 'CommonAreaPhoneSignIn: Enables a Common Area Phone experience on the phone' + - 'MeetingSignIn: Enables the meeting/conference room experience on the phone' + + String + + String + + + None + + + Tenant + + Internal Microsoft use only. + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.Management.Automation.PSObject + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-CsTeamsIPPhonePolicy -Identity CommonAreaPhone -SignInMode CommonAreaPhoneSignin + + This example shows the SignInMode "CommonAreaPhoneSignIn" being set against the policy named "CommonAreaPhone". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamsipphonepolicy + + + + + + Set-CsTeamsMeetingBroadcastConfiguration + Set + CsTeamsMeetingBroadcastConfiguration + + Set-CsTeamsMeetingBroadcastConfiguration [[-Identity] <XdsIdentity>] [-Tenant <guid>] [-SupportURL <string>] [-AllowSdnProviderForBroadcastMeeting <bool>] [-Force] [-WhatIf] [-Confirm] [<CommonParameters>] + Set-CsTeamsMeetingBroadcastConfiguration -SdnProviderName <string> -SdnApiTemplateUrl <string> [-Tenant <guid>] [-SupportURL <string>] [-AllowSdnProviderForBroadcastMeeting <bool>] [-SdnLicenseId <string>] [-SdnApiToken <string>] [-Force] [-WhatIf] [-Confirm] [<CommonParameters>] + Set-CsTeamsMeetingBroadcastConfiguration [-Tenant <guid>] [-SupportURL <string>] [-AllowSdnProviderForBroadcastMeeting <bool>] [-Instance <psobject>] [-Force] [-WhatIf] [-Confirm] [<CommonParameters>] + + + + Tenant level configuration for broadcast events in Teams + + + + Set-CsTeamsMeetingBroadcastConfiguration + + Identity + + You can only have one configuration - "Global" + + XdsIdentity + + XdsIdentity + + + None + + + AllowSdnProviderForBroadcastMeeting + + If set to $true, Teams meeting broadcast streams are enabled to take advantage of the network and bandwidth management capabilities of your Software Defined Network (SDN) provider. + + Boolean + + Boolean + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Suppress all non-fatal errors + + + SwitchParameter + + + False + + + Instance + + You can pass in the output from Get-CsTeamsMeetingBroadcastConfiguration as input to this cmdlet (instead of Identity) + + PSObject + + PSObject + + + None + + + SdnApiTemplateUrl + + Specifies the Software Defined Network (SDN) provider's HTTP API endpoint. This information is provided to you by the SDN provider. This parameter is only required if AllowSdnProviderForBroadcastMeeting is set to $true. + + String + + String + + + None + + + SdnApiToken + + Specifies the Software Defined Network (SDN) provider's authentication token which is required to use their SDN license. This is required by some SDN providers who will give you the required token. This parameter is only required if AllowSdnProviderForBroadcastMeeting is set to $true. + + String + + String + + + None + + + SdnLicenseId + + Specifies the Software Defined Network (SDN) license identifier. This is required and provided by some SDN providers. This parameter is only required if AllowSdnProviderForBroadcastMeeting is set to $true. + + String + + String + + + None + + + SdnProviderName + + Specifies the Software Defined Network (SDN) provider's name. This parameter is only required if AllowSdnProviderForBroadcastMeeting is set to $true. + + String + + String + + + None + + + SupportURL + + Specifies a URL where broadcast event attendees can find support information or FAQs specific to that event. The URL will be displayed to the attendees during the broadcast. + + String + + String + + + None + + + Tenant + + Not applicable to online service. + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + AllowSdnProviderForBroadcastMeeting + + If set to $true, Teams meeting broadcast streams are enabled to take advantage of the network and bandwidth management capabilities of your Software Defined Network (SDN) provider. + + Boolean + + Boolean + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + Suppress all non-fatal errors + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + You can only have one configuration - "Global" + + XdsIdentity + + XdsIdentity + + + None + + + Instance + + You can pass in the output from Get-CsTeamsMeetingBroadcastConfiguration as input to this cmdlet (instead of Identity) + + PSObject + + PSObject + + + None + + + SdnApiTemplateUrl + + Specifies the Software Defined Network (SDN) provider's HTTP API endpoint. This information is provided to you by the SDN provider. This parameter is only required if AllowSdnProviderForBroadcastMeeting is set to $true. + + String + + String + + + None + + + SdnApiToken + + Specifies the Software Defined Network (SDN) provider's authentication token which is required to use their SDN license. This is required by some SDN providers who will give you the required token. This parameter is only required if AllowSdnProviderForBroadcastMeeting is set to $true. + + String + + String + + + None + + + SdnLicenseId + + Specifies the Software Defined Network (SDN) license identifier. This is required and provided by some SDN providers. This parameter is only required if AllowSdnProviderForBroadcastMeeting is set to $true. + + String + + String + + + None + + + SdnProviderName + + Specifies the Software Defined Network (SDN) provider's name. This parameter is only required if AllowSdnProviderForBroadcastMeeting is set to $true. + + String + + String + + + None + + + SupportURL + + Specifies a URL where broadcast event attendees can find support information or FAQs specific to that event. The URL will be displayed to the attendees during the broadcast. + + String + + String + + + None + + + Tenant + + Not applicable to online service. + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.Management.Automation.PSObject + + + + + + + + + + System.Object + + + + + + + + + + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamsmeetingbroadcastconfiguration + + + + + + Set-CsTeamsMeetingBroadcastPolicy + Set + CsTeamsMeetingBroadcastPolicy + + User-level policy for tenant admin to configure meeting broadcast behavior for the broadcast event organizer. + + + + User-level policy for tenant admin to configure meeting broadcast behavior for the broadcast event organizer. Use this cmdlet to update an existing policy. + + + + Set-CsTeamsMeetingBroadcastPolicy + + Identity + + Unique identifier for the policy to be modified. Policies can be configured at the global or per-user scopes. To modify the global policy, use this syntax: -Identity global. To modify a per-user policy, use syntax similar to this: -Identity SalesPolicy. + Note that wildcards are not allowed when specifying an Identity. If you do not specify an Identity the cmdlet will automatically modify the global policy. + + XdsIdentity + + XdsIdentity + + + None + + + AllowBroadcastScheduling + + Specifies whether this user can create broadcast events in Teams. This setting impacts broadcasts that use both self-service and external encoder production methods. + + Boolean + + Boolean + + + None + + + AllowBroadcastTranscription + + Specifies whether real-time transcription and translation can be enabled in the broadcast event. + > [!NOTE] > This setting is applicable to broadcast events that use Teams Meeting production only and does not apply when external encoder is used as production method. + + Boolean + + Boolean + + + None + + + BroadcastAttendeeVisibilityMode + + Specifies the attendee visibility mode of the broadcast events created by this user. This setting controls who can watch the broadcast event - e.g. anyone can watch this event including anonymous users or only authenticated users in my company can watch the event. + > [!NOTE] > This setting is applicable to broadcast events that use Teams Meeting production only and does not apply when external encoder is used as production method. + Possible values: - Everyone + - EveryoneInCompany + - InvitedUsersInCompany + - EveryoneInCompanyAndExternal + - InvitedUsersInCompanyAndExternal + + String + + String + + + None + + + BroadcastRecordingMode + + Specifies whether broadcast events created by this user are always recorded (AlwaysEnabled), never recorded (AlwaysDisabled) or user can choose whether to record or not (UserOverride). + > [!NOTE] > This setting is applicable to broadcast events that use Teams Meeting production only and does not apply when external encoder is used as production method. + Possible values: - AlwaysEnabled + - AlwaysDisabled + - UserOverride + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Description + + Enables administrators to provide additional text about the conferencing policy. For example, the Description might indicate the users the policy should be assigned to. + + String + + String + + + None + + + Force + + Suppresses the display of any non-fatal error message that might occur when running the command. + + + SwitchParameter + + + False + + + Instance + + Allows you to pass a reference to an object to the cmdlet rather than set individual parameter values. + + PSObject + + PSObject + + + None + + + Tenant + + Not applicable to online service. + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + AllowBroadcastScheduling + + Specifies whether this user can create broadcast events in Teams. This setting impacts broadcasts that use both self-service and external encoder production methods. + + Boolean + + Boolean + + + None + + + AllowBroadcastTranscription + + Specifies whether real-time transcription and translation can be enabled in the broadcast event. + > [!NOTE] > This setting is applicable to broadcast events that use Teams Meeting production only and does not apply when external encoder is used as production method. + + Boolean + + Boolean + + + None + + + BroadcastAttendeeVisibilityMode + + Specifies the attendee visibility mode of the broadcast events created by this user. This setting controls who can watch the broadcast event - e.g. anyone can watch this event including anonymous users or only authenticated users in my company can watch the event. + > [!NOTE] > This setting is applicable to broadcast events that use Teams Meeting production only and does not apply when external encoder is used as production method. + Possible values: - Everyone + - EveryoneInCompany + - InvitedUsersInCompany + - EveryoneInCompanyAndExternal + - InvitedUsersInCompanyAndExternal + + String + + String + + + None + + + BroadcastRecordingMode + + Specifies whether broadcast events created by this user are always recorded (AlwaysEnabled), never recorded (AlwaysDisabled) or user can choose whether to record or not (UserOverride). + > [!NOTE] > This setting is applicable to broadcast events that use Teams Meeting production only and does not apply when external encoder is used as production method. + Possible values: - AlwaysEnabled + - AlwaysDisabled + - UserOverride + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Description + + Enables administrators to provide additional text about the conferencing policy. For example, the Description might indicate the users the policy should be assigned to. + + String + + String + + + None + + + Force + + Suppresses the display of any non-fatal error message that might occur when running the command. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Unique identifier for the policy to be modified. Policies can be configured at the global or per-user scopes. To modify the global policy, use this syntax: -Identity global. To modify a per-user policy, use syntax similar to this: -Identity SalesPolicy. + Note that wildcards are not allowed when specifying an Identity. If you do not specify an Identity the cmdlet will automatically modify the global policy. + + XdsIdentity + + XdsIdentity + + + None + + + Instance + + Allows you to pass a reference to an object to the cmdlet rather than set individual parameter values. + + PSObject + + PSObject + + + None + + + Tenant + + Not applicable to online service. + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.Management.Automation.PSObject + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-CsTeamsMeetingBroadcastPolicy -Identity Global -AllowBroadcastScheduling $false + + Sets the value of the Default (Global) Broadcast Policy in the organization to disable broadcast scheduling, and leaves all other parameters the same. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamsmeetingbroadcastpolicy + + + + + + Set-CsTeamsMobilityPolicy + Set + CsTeamsMobilityPolicy + + The TeamsMobilityPolicy allows Admins to control Teams mobile usage for users. + + + + The TeamsMobilityPolicy allows Admins to control Teams mobile usage for users. + The Set-CsTeamsMobilityPolicy cmdlet allows administrators to update teams mobility policies. + + + + Set-CsTeamsMobilityPolicy + + Identity + + Specify the name of the policy that you are creating. + + XdsIdentity + + XdsIdentity + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Description + + Enables administrators to provide explanatory text about the policy. For example, the Description might indicate the users the policy should be assigned to. + + String + + String + + + None + + + Force + + Bypasses all non-fatal errors. + + + SwitchParameter + + + False + + + IPAudioMobileMode + + When set to WifiOnly, prohibits the user from making, receiving calls or joining meetings using VoIP calls on the mobile device while on cellular data connection. + + String + + String + + + None + + + IPVideoMobileMode + + When set to WifiOnly, prohibits the user from making, receiving video calls or enabling video in meetings using VoIP calls on the mobile device while on cellular data connection. + + String + + String + + + None + + + MobileDialerPreference + + Determines the mobile dialer preference, possible values are: Teams, Native, UserOverride. For more information, see Manage user incoming calling policies (/microsoftteams/operator-connect-mobile-configure#manage-user-incoming-calling-policies). + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Description + + Enables administrators to provide explanatory text about the policy. For example, the Description might indicate the users the policy should be assigned to. + + String + + String + + + None + + + Force + + Bypasses all non-fatal errors. + + SwitchParameter + + SwitchParameter + + + False + + + IPAudioMobileMode + + When set to WifiOnly, prohibits the user from making, receiving calls or joining meetings using VoIP calls on the mobile device while on cellular data connection. + + String + + String + + + None + + + IPVideoMobileMode + + When set to WifiOnly, prohibits the user from making, receiving video calls or enabling video in meetings using VoIP calls on the mobile device while on cellular data connection. + + String + + String + + + None + + + Identity + + Specify the name of the policy that you are creating. + + XdsIdentity + + XdsIdentity + + + None + + + MobileDialerPreference + + Determines the mobile dialer preference, possible values are: Teams, Native, UserOverride. For more information, see Manage user incoming calling policies (/microsoftteams/operator-connect-mobile-configure#manage-user-incoming-calling-policies). + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.Management.Automation.PSObject + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-CsTeamsMobilityPolicy -Identity SalesPolicy -IPVideoMobileMode "WifiOnly + + The command shown in Example 1 uses the Set-CsTeamsMobilityPolicy cmdlet to update an existing teams mobility policy with the Identity SalesPolicy. This SalesPolicy will not have IPVideoMobileMode equal to "WifiOnly". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamsmobilitypolicy + + + + + + Set-CsTeamsNetworkRoamingPolicy + Set + CsTeamsNetworkRoamingPolicy + + Set-CsTeamsNetworkRoamingPolicy allows IT Admins to create or update policies for Network Roaming and Bandwidth Control experiences in Microsoft Teams. + + + + Updates or creates new Teams Network Roaming Policies configured for use in your organization. + The TeamsNetworkRoamingPolicy cmdlets enable administrators to provide specific settings from the TeamsMeetingPolicy to be rendered dynamically based upon the location of the Teams client. The TeamsNetworkRoamingPolicy cannot be granted to a user but instead can be assigned to a network site. The settings from the TeamsMeetingPolicy included are AllowIPVideo and MediaBitRateKb. When a Teams client is connected to a network site where a CsTeamRoamingPolicy is assigned, these two settings from the TeamsRoamingPolicy will be used instead of the settings from the TeamsMeetingPolicy. + More on the impact of bit rate setting on bandwidth can be found here (https://learn.microsoft.com/microsoftteams/prepare-network). + To enable the network roaming policy for users who are not Enterprise Voice enabled, you must also enable the AllowNetworkConfigurationSettingsLookup setting in TeamsMeetingPolicy. This setting is off by default. See Set-TeamsMeetingPolicy for more information on how to enable AllowNetworkConfigurationSettingsLookup for users who are not Enterprise Voice enabled. + + + + Set-CsTeamsNetworkRoamingPolicy + + Identity + + Unique identifier of the policy to be modified. + + XdsIdentity + + XdsIdentity + + + None + + + AllowIPVideo + + Determines whether video is enabled in a user's meetings or calls. Set this to TRUE to allow the user to share their video. Set this to FALSE to prohibit the user from sharing their video. + + Boolean + + Boolean + + + True + + + MediaBitRateKb + + Determines the media bit rate for audio/video/app sharing transmissions in meetings. + + Integer + + Integer + + + 50000 + + + Description + + Description of the policy to be edited. + + String + + String + + + None + + + + + + Identity + + Unique identifier of the policy to be modified. + + XdsIdentity + + XdsIdentity + + + None + + + AllowIPVideo + + Determines whether video is enabled in a user's meetings or calls. Set this to TRUE to allow the user to share their video. Set this to FALSE to prohibit the user from sharing their video. + + Boolean + + Boolean + + + True + + + MediaBitRateKb + + Determines the media bit rate for audio/video/app sharing transmissions in meetings. + + Integer + + Integer + + + 50000 + + + Description + + Description of the policy to be edited. + + String + + String + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-CsTeamsNetworkRoamingPolicy -Identity "RedmondRoaming" -AllowIPVideo $true -MediaBitRateKb 2000 -Description "Redmond campus roaming policy" + + The command shown in Example 1 updates the teams network roaming policy with Identity "RedmondRoaming" with IP Video feature enabled, and the maximum media bit rate is capped at 2000 Kbps. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamsnetworkroamingpolicy + + + + + + Set-CsTeamsShiftsConnection + Set + CsTeamsShiftsConnection + + This cmdlet sets an existing workforce management (WFM) connection. + + + + This cmdlet updates a Shifts WFM connection. It allows the admin to make changes to the settings such as the name and WFM URLs. Note that the update allows for, but does not require, the -ConnectorSpecificSettings.LoginPwd and ConnectorSpecificSettings.LoginUserName to be included. This cmdlet can update every input field except -ConnectorId and -ConnectionId. + + + + Set-CsTeamsShiftsConnection + + Body + + The request body. + + IUpdateWfmConnectionRequest + + IUpdateWfmConnectionRequest + + + None + + + Break + + Wait for .NET debugger to attach. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + ConnectionId + + The WFM connection ID for the instance. This can be retrieved by running Get-CsTeamsShiftsConnection (Get-CsTeamsShiftsConnection.md). + + String + + String + + + None + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + IfMatch + + The value of the etag field as returned by the cmdlets. + + String + + String + + + None + + + Proxy + + The URI for the proxy server to use. + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call. + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Set-CsTeamsShiftsConnection + + Body + + The request body. + + IUpdateWfmConnectionRequest + + IUpdateWfmConnectionRequest + + + None + + + Break + + Wait for .NET debugger to attach. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + IfMatch + + The value of the etag field as returned by the cmdlets. + + String + + String + + + None + + + InputObject + + Identity Parameter. + + IConfigApiBasedCmdletsIdentity + + IConfigApiBasedCmdletsIdentity + + + None + + + Proxy + + The URI for the proxy server to use. + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call. + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Set-CsTeamsShiftsConnection + + Break + + Wait for .NET debugger to attach. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + ConnectionId + + The WFM connection ID for the instance. This can be retrieved by running Get-CsTeamsShiftsConnection (Get-CsTeamsShiftsConnection.md). + + String + + String + + + None + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + IfMatch + + The value of the etag field as returned by the cmdlets. + + String + + String + + + None + + + Name + + The connection name. + + String + + String + + + None + + + ConnectorSpecificSettings + + The connector-specific settings. + + IUpdateWfmConnectionRequestConnectorSpecificSettings + + IUpdateWfmConnectionRequestConnectorSpecificSettings + + + None + + + Proxy + + The URI for the proxy server to use. + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call. + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy. + + + SwitchParameter + + + False + + + State + + The state of the connection. Valid values are "Active" and "Disabled". A third value, "ErrorDisabled", signifies an error in the connection. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Set-CsTeamsShiftsConnection + + Break + + Wait for .NET debugger to attach. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + IfMatch + + The value of the etag field as returned by the cmdlets. + + String + + String + + + None + + + InputObject + + Identity Parameter. + + IConfigApiBasedCmdletsIdentity + + IConfigApiBasedCmdletsIdentity + + + None + + + Name + + The connection name. + + String + + String + + + None + + + ConnectorSpecificSettings + + The connector-specific settings. + + IUpdateWfmConnectionRequestConnectorSpecificSettings + + IUpdateWfmConnectionRequestConnectorSpecificSettings + + + None + + + Proxy + + The URI for the proxy server to use. + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call. + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy. + + + SwitchParameter + + + False + + + State + + The state of the connection. Valid values are "Active" and "Disabled". A third value, "ErrorDisabled", signifies an error in the connection. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Body + + The request body. + + IUpdateWfmConnectionRequest + + IUpdateWfmConnectionRequest + + + None + + + Break + + Wait for .NET debugger to attach. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + ConnectionId + + The WFM connection ID for the instance. This can be retrieved by running Get-CsTeamsShiftsConnection (Get-CsTeamsShiftsConnection.md). + + String + + String + + + None + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + IfMatch + + The value of the etag field as returned by the cmdlets. + + String + + String + + + None + + + InputObject + + Identity Parameter. + + IConfigApiBasedCmdletsIdentity + + IConfigApiBasedCmdletsIdentity + + + None + + + Name + + The connection name. + + String + + String + + + None + + + ConnectorSpecificSettings + + The connector-specific settings. + + IUpdateWfmConnectionRequestConnectorSpecificSettings + + IUpdateWfmConnectionRequestConnectorSpecificSettings + + + None + + + Proxy + + The URI for the proxy server to use. + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call. + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy. + + SwitchParameter + + SwitchParameter + + + False + + + State + + The state of the connection. Valid values are "Active" and "Disabled". A third value, "ErrorDisabled", signifies an error in the connection. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUpdateWfmConnectionRequest + + + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IWfmConnectionResponse + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IErrorDetailsResponse + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> $connection = Get-CsTeamsShiftsConnection -ConnectionId 4dae9db0-0841-412c-8d6b-f5684bfebdd7 +PS C:\> $result = Set-CsTeamsShiftsConnection ` + -connectionId $connection.Id ` + -IfMatch $connection.Etag ` + -connectorId "6A51B888-FF44-4FEA-82E1-839401E00000" ` + -name "Cmdlet test connection - updated" ` + -connectorSpecificSettings (New-Object Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConnectorSpecificBlueYonderSettingsRequest ` + -Property @{ + adminApiUrl = "https://contoso.com/retail/data/wfmadmin/api/v1-beta2" + siteManagerUrl = "https://contoso.com/retail/data/wfmsm/api/v1-beta2" + essApiUrl = "https://contoso.com/retail/data/wfmess/api/v1-beta1" + retailWebApiUrl = "https://contoso.com/retail/data/retailwebapi/api/v1" + cookieAuthUrl = "https://contoso.com/retail/data/login" + federatedAuthUrl = "https://contoso.com/retail/data/login" + LoginUserName = "PlaceholderForUsername" + LoginPwd = "PlaceholderForPassword" + }) ` + -state "Active" + +PS C:\> $result | Format-List + +ConnectorId : 6A51B888-FF44-4FEA-82E1-839401E00000 +ConnectorSpecificSettingAdminApiUrl : https://www.contoso.com/retail/data/wfmadmin/api/v1-beta2 +ConnectorSpecificSettingApiUrl : +ConnectorSpecificSettingAppKey : +ConnectorSpecificSettingClientId : +ConnectorSpecificSettingCookieAuthUrl : https://www.contoso.com/retail/data/login +ConnectorSpecificSettingEssApiUrl : https://www.contoso.com/retail/data/wfmess/api/v1-beta2 +ConnectorSpecificSettingFederatedAuthUrl : https://www.contoso.com/retail/data/login +ConnectorSpecificSettingRetailWebApiUrl : https://www.contoso.com/retail/data/retailwebapi/api/v1 +ConnectorSpecificSettingSiteManagerUrl : https://www.contoso.com/retail/data/wfmsm/api/v1-beta2 +ConnectorSpecificSettingSsoUrl : +CreatedDateTime : 24/03/2023 04:58:23 +Etag : "5b00dd1b-0000-0400-0000-641d2df00000" +Id : 4dae9db0-0841-412c-8d6b-f5684bfebdd7 +LastModifiedDateTime : 24/03/2023 04:58:23 +Name : Cmdlet test connection - updated +State : Active +TenantId : 3FDCAAF2-863A-4520-97BA-DFA211595876 + + Updates the instance with the specified -ConnectionId. Returns the object of the updated connection. + In case of an error, you can capture the error response as follows: + * Hold the cmdlet output in a variable: `$result=<CMDLET>` + * To get the entire error message in Json: `$result.ToJsonString()` + * To get the error object and object details: `$result, $result.Detail` + + + + -------------------------- Example 2 -------------------------- + PS C:\> $connection = Get-CsTeamsShiftsConnection -ConnectionId 79964000-286a-4216-ac60-c795a426d61a +PS C:\> $result = Set-CsTeamsShiftsConnection ` + -connectionId $connection.Id ` + -IfMatch $connection.Etag ` + -connectorId "95BF2848-2DDA-4425-B0EE-D62AEED4C0A0" ` + -name "Cmdlet test connection - updated" ` + -connectorSpecificSettings (New-Object Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConnectorSpecificUkgDimensionsSettingsRequest ` + -Property @{ + apiUrl = "https://www.contoso.com/api" + ssoUrl = "https://www.contoso.com/sso" + appKey = "PlaceholderForAppKey" + clientId = "Es5Q2fB4PXweCyto6Ms6J2kRB7uwAc3W" + clientSecret = "PlaceholderForClientSecret" + LoginUserName = "PlaceholderForUsername" + LoginPwd = "PlaceholderForPassword" + }) ` + -state "Active" +PS C:\> $result | Format-List + +ConnectorId : 95BF2848-2DDA-4425-B0EE-D62AEED4C0A0 +ConnectorSpecificSettingAdminApiUrl : +ConnectorSpecificSettingApiUrl : https://www.contoso.com/api +ConnectorSpecificSettingAppKey : +ConnectorSpecificSettingClientId : Es5Q2fB4PXweCyto6Ms6J2kRB7uwAc3W +ConnectorSpecificSettingCookieAuthUrl : +ConnectorSpecificSettingEssApiUrl : +ConnectorSpecificSettingFederatedAuthUrl : +ConnectorSpecificSettingRetailWebApiUrl : +ConnectorSpecificSettingSiteManagerUrl : +ConnectorSpecificSettingSsoUrl : https://www.contoso.com/sso +CreatedDateTime : 06/04/2023 11:05:39 +Etag : "3100fd6e-0000-0400-0000-642ea7840000" +Id : a2d1b091-5140-4dd2-987a-98a8b5338744 +LastModifiedDateTime : 06/04/2023 11:05:39 +Name : Cmdlet test connection - updated +State : Active +TenantId : 3FDCAAF2-863A-4520-97BA-DFA211595876 + + Updates the instance with the specified -ConnectionId. Returns the object of the updated connection. + In case of an error, you can capture the error response as follows: + * Hold the cmdlet output in a variable: `$result=<CMDLET>` + * To get the entire error message in Json: `$result.ToJsonString()` + * To get the error object and object details: `$result, $result.Detail` + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamsshiftsconnection + + + Get-CsTeamsShiftsConnection + + + + New-CsTeamsShiftsConnection + + + + Update-CsTeamsShiftsConnection + + + + Test-CsTeamsShiftsConnectionValidate + + + + + + + Set-CsTeamsShiftsConnectionInstance + Set + CsTeamsShiftsConnectionInstance + + This cmdlet updates a Shifts connection instance. + + + + This cmdlet updates a Shifts connection instance. It allows the admin to make changes to the settings in the instance such as name, enabled scenarios, and sync frequency. This cmdlet can update every input field except -ConnectorId and -ConnectorInstanceId. + + + + Set-CsTeamsShiftsConnectionInstance + + Body + + The request body + + IConnectorInstanceRequest + + IConnectorInstanceRequest + + + None + + + Break + + Wait for .NET debugger to attach + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + ConnectorInstanceId + + The Id of the connector instance to be updated. + + String + + String + + + None + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + IfMatch + + The value of the etag field as returned by the cmdlets. + + String + + String + + + None + + + Proxy + + The URI for the proxy server to use. + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call. + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Set-CsTeamsShiftsConnectionInstance + + Body + + The request body + + IConnectorInstanceRequest + + IConnectorInstanceRequest + + + None + + + Break + + Wait for .NET debugger to attach + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + IfMatch + + The value of the etag field as returned by the cmdlets. + + String + + String + + + None + + + InputObject + + Identity Parameter. + + IConfigApiBasedCmdletsIdentity + + IConfigApiBasedCmdletsIdentity + + + None + + + Proxy + + The URI for the proxy server to use. + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call. + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Set-CsTeamsShiftsConnectionInstance + + Break + + Wait for .NET debugger to attach + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + ConnectorAdminEmail + + Gets or sets the list of connector admin email addresses. + + String[] + + String[] + + + None + + + ConnectorInstanceId + + The Id of the connector instance to be updated. + + String + + String + + + None + + + ConnectionId + + Gets or sets the WFM connection ID for the new instance. This can be retrieved by running Get-CsTeamsShiftsConnection (Get-CsTeamsShiftsConnection.md). + + String + + String + + + None + + + DesignatedActorId + + Gets or sets the designated actor ID that App acts as for Shifts Graph API calls. + + String + + String + + + None + + + SyncScenarioOfferShiftRequest + + The sync state for the offer shift request scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioOpenShift + + The sync state for the open shift scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioOpenShiftRequest + + The sync state for the open shift request scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioShift + + The sync state for the shift scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioSwapRequest + + The sync state for the shift swap request scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioTimeCard + + The sync state for the time card scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioTimeOff + + The sync state for the time off scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioTimeOffRequest + + The sync state for the time off request scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioUserShiftPreference + + The sync state for the user shift preferences scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + IfMatch + + The value of the etag field as returned by the cmdlets. + + String + + String + + + None + + + Name + + The connector instance name. + + String + + String + + + None + + + Proxy + + The URI for the proxy server to use. + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call. + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy. + + + SwitchParameter + + + False + + + State + + The state of the connection instance. Valid values are "Active" and "Disabled". A third value, "ErrorDisabled", signifies an error in the connection instance. + + String + + String + + + None + + + SyncFrequencyInMin + + The sync frequency in minutes. + + Int32 + + Int32 + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Set-CsTeamsShiftsConnectionInstance + + Break + + Wait for .NET debugger to attach + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + ConnectorAdminEmail + + Gets or sets the list of connector admin email addresses. + + String[] + + String[] + + + None + + + ConnectionId + + Gets or sets the WFM connection ID for the new instance. This can be retrieved by running Get-CsTeamsShiftsConnection (Get-CsTeamsShiftsConnection.md). + + String + + String + + + None + + + DesignatedActorId + + Gets or sets the designated actor ID that App acts as for Shifts Graph API calls. + + String + + String + + + None + + + SyncScenarioOfferShiftRequest + + The sync state for the offer shift request scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioOpenShift + + The sync state for the open shift scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioOpenShiftRequest + + The sync state for the open shift request scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioShift + + The sync state for the shift scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioSwapRequest + + The sync state for the shift swap request scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioTimeCard + + The sync state for the time card scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioTimeOff + + The sync state for the time off scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioTimeOffRequest + + The sync state for the time off request scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioUserShiftPreference + + The sync state for the user shift preferences scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + IfMatch + + The value of the etag field as returned by the cmdlets. + + String + + String + + + None + + + InputObject + + Identity Parameter. + + IConfigApiBasedCmdletsIdentity + + IConfigApiBasedCmdletsIdentity + + + None + + + Name + + The connector instance name. + + String + + String + + + None + + + Proxy + + The URI for the proxy server to use. + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call. + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy. + + + SwitchParameter + + + False + + + State + + The state of the connection instance. Valid values are "Active" and "Disabled". A third value, "ErrorDisabled", signifies an error in the connection instance. + + String + + String + + + None + + + SyncFrequencyInMin + + The sync frequency in minutes. + + Int32 + + Int32 + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Body + + The request body + + IConnectorInstanceRequest + + IConnectorInstanceRequest + + + None + + + Break + + Wait for .NET debugger to attach + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + ConnectorAdminEmail + + Gets or sets the list of connector admin email addresses. + + String[] + + String[] + + + None + + + ConnectorInstanceId + + The Id of the connector instance to be updated. + + String + + String + + + None + + + ConnectionId + + Gets or sets the WFM connection ID for the new instance. This can be retrieved by running Get-CsTeamsShiftsConnection (Get-CsTeamsShiftsConnection.md). + + String + + String + + + None + + + DesignatedActorId + + Gets or sets the designated actor ID that App acts as for Shifts Graph API calls. + + String + + String + + + None + + + SyncScenarioOfferShiftRequest + + The sync state for the offer shift request scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioOpenShift + + The sync state for the open shift scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioOpenShiftRequest + + The sync state for the open shift request scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioShift + + The sync state for the shift scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioSwapRequest + + The sync state for the shift swap request scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioTimeCard + + The sync state for the time card scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioTimeOff + + The sync state for the time off scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioTimeOffRequest + + The sync state for the time off request scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioUserShiftPreference + + The sync state for the user shift preferences scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + IfMatch + + The value of the etag field as returned by the cmdlets. + + String + + String + + + None + + + InputObject + + Identity Parameter. + + IConfigApiBasedCmdletsIdentity + + IConfigApiBasedCmdletsIdentity + + + None + + + Name + + The connector instance name. + + String + + String + + + None + + + Proxy + + The URI for the proxy server to use. + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call. + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy. + + SwitchParameter + + SwitchParameter + + + False + + + State + + The state of the connection instance. Valid values are "Active" and "Disabled". A third value, "ErrorDisabled", signifies an error in the connection instance. + + String + + String + + + None + + + SyncFrequencyInMin + + The sync frequency in minutes. + + Int32 + + Int32 + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConnectorInstanceRequest + + + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConnectorInstanceResponse + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IErrorDetailsResponse + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> $connectionInstance = Get-CsTeamsShiftsConnectionInstance -ConnectorInstanceId WCI-eba2865f-6cac-46f9-8733-e0631a4536e1 +PS C:\> $result = Set-CsTeamsShiftsConnectionInstance ` + -connectorInstanceId "WCI-eba2865f-6cac-46f9-8733-e0631a4536e1" + -IfMatch $connectionInstance.Etag ` + -connectionId "79964000-286a-4216-ac60-c795a426d61a" ` + -name "Cmdlet test instance - updated" ` + -connectorAdminEmail @() ` + -designatedActorId "93f85765-47db-412d-8f06-9844718762a1" ` + -State "Active" ` + -syncFrequencyInMin "10" ` + -SyncScenarioOfferShiftRequest "FromWfmToShifts" ` + -SyncScenarioOpenShift "FromWfmToShifts" ` + -SyncScenarioOpenShiftRequest "FromWfmToShifts" ` + -SyncScenarioShift "FromWfmToShifts" ` + -SyncScenarioSwapRequest "FromWfmToShifts" ` + -SyncScenarioTimeCard "FromWfmToShifts" ` + -SyncScenarioTimeOff "FromWfmToShifts" ` + -SyncScenarioTimeOffRequest "FromWfmToShifts" ` + -SyncScenarioUserShiftPreference "Disabled" + +PS C:\> $result.ToJsonString() + +{ + "syncScenarios": { + "offerShiftRequest": "FromWfmToShifts", + "openShift": "FromWfmToShifts", + "openShiftRequest": "FromWfmToShifts", + "shift": "FromWfmToShifts", + "swapRequest": "FromWfmToShifts", + "timeCard": "FromWfmToShifts", + "timeOff": "FromWfmToShifts", + "timeOffRequest": "FromWfmToShifts", + "userShiftPreferences": "Disabled" + }, + "id": "WCI-eba2865f-6cac-46f9-8733-e0631a4536e1", + "tenantId": "dfd24b34-ccb0-47e1-bdb7-e49db9c7c14a", + "connectionId": "a2d1b091-5140-4dd2-987a-98a8b5338744", + "connectorAdminEmails": [ ], + "connectorId": "95BF2848-2DDA-4425-B0EE-D62AEED4C0A0", + "designatedActorId": "ec1a4edb-1a5f-4b2d-b2a4-37aab6ebd231", + "name": "Cmdlet test instance - updated", + "syncFrequencyInMin": 10, + "workforceIntegrationId": "WFI_6b225907-b476-4d40-9773-08b86db7b11b", + "etag": "\"4f005d22-0000-0400-0000-642ff64a0000\"", + "createdDateTime": "2023-04-07T10:54:01.8170000Z", + "lastModifiedDateTime": "2023-04-07T10:54:01.8170000Z", + "state": "Active" +} + + Updates the instance with the specified -ConnectorInstanceId. Returns the object of the updated connector instance. + In case of error, we can capture the error response as following: + * Hold the cmdlet output in a variable: `$result=<CMDLET>` + * To get the entire error message in Json: `$result.ToJsonString()` + * To get the error object and object details: `$result, $result.Detail` + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamsshiftsconnectioninstance + + + Get-CsTeamsShiftsConnectionInstance + + + + New-CsTeamsShiftsConnectionInstance + + + + Update-CsTeamsShiftsConnectionInstance + + + + Remove-CsTeamsShiftsConnectionInstance + + + + Test-CsTeamsShiftsConnectionValidate + + + + + + + Set-CsTeamsTranslationRule + Set + CsTeamsTranslationRule + + Cmdlet to modify an existing normalization rule. + + + + You can use this cmdlet to modify an existing number manipulation rule. The rule can be used, for example, in the settings of your SBC (Set-CsOnlinePSTNGateway) to convert a callee or caller number to a desired format before entering or leaving Microsoft Phone System + + + + Set-CsTeamsTranslationRule + + Identity + + Identifier of the rule. This parameter is required and later used to assign the rule to the Inbound or Outbound Trunk Normalization policy. + + String + + String + + + None + + + Description + + A friendly description of the normalization rule. + + String + + String + + + None + + + Pattern + + A regular expression that caller or callee number must match in order for this rule to be applied. + + String + + String + + + None + + + Translation + + The regular expression pattern that will be applied to the number to convert it. + + String + + String + + + None + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + Identity + + Identifier of the rule. This parameter is required and later used to assign the rule to the Inbound or Outbound Trunk Normalization policy. + + String + + String + + + None + + + Description + + A friendly description of the normalization rule. + + String + + String + + + None + + + Pattern + + A regular expression that caller or callee number must match in order for this rule to be applied. + + String + + String + + + None + + + Translation + + The regular expression pattern that will be applied to the number to convert it. + + String + + String + + + None + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-CsTeamsTranslationRule -Identity StripE164SeattleAreaCode -Pattern ^+12065555(\d{3})$ -Translation $1 + + This example modifies the rule that initially configured to strip +1206555 from any E.164 ten digits number. For example, +12065555555 translated to 5555 to a new pattern. Modified rule now only applies to three digit number (initially to four digits number) and adds one more number in prefix (+120655555 instead of +1206555) + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamstranslationrule + + + New-CsTeamsTranslationRule + + + + Get-CsTeamsTranslationRule + + + + Test-CsTeamsTranslationRule + + + + Remove-CsTeamsTranslationRule + + + + + + + Set-CsTeamsUnassignedNumberTreatment + Set + CsTeamsUnassignedNumberTreatment + + Changes a treatment for how calls to an unassigned number range should be routed. The call can be routed to a user, an application or to an announcement service where a custom message will be played to the caller. + + + + + This cmdlet changes a treatment for how calls to an unassigned number range should be routed. + + + + Set-CsTeamsUnassignedNumberTreatment + + Identity + + The Id of the specific treatment. + + System.String + + System.String + + + None + + + Description + + Free format description of this treatment. + + System.String + + System.String + + + None + + + Pattern + + A regular expression that the called number must match in order for the treatment to take effect. It is best practice to start the regular expression with the hat character and end it with the dollar character. You can use various regular expression test sites on the Internet to validate the expression. + + System.String + + System.String + + + None + + + Target + + The identity of the destination the call should be routed to. Depending on the TargetType it should either be the ObjectId of the user or application instance/resource account or the AudioFileId of the uploaded audio file. + + System.Guid + + System.Guid + + + None + + + TargetType + + The type of target used for the treatment. Allowed values are User, ResourceAccount and Announcement. + + System.String + + System.String + + + None + + + TreatmentPriority + + The priority of the treatment. Used to distinguish identical patterns. The lower the priority the higher preference. The priority needs to be unique. + + System.Integer + + System.Integer + + + None + + + + + + Description + + Free format description of this treatment. + + System.String + + System.String + + + None + + + Identity + + The Id of the specific treatment. + + System.String + + System.String + + + None + + + Pattern + + A regular expression that the called number must match in order for the treatment to take effect. It is best practice to start the regular expression with the hat character and end it with the dollar character. You can use various regular expression test sites on the Internet to validate the expression. + + System.String + + System.String + + + None + + + Target + + The identity of the destination the call should be routed to. Depending on the TargetType it should either be the ObjectId of the user or application instance/resource account or the AudioFileId of the uploaded audio file. + + System.Guid + + System.Guid + + + None + + + TargetType + + The type of target used for the treatment. Allowed values are User, ResourceAccount and Announcement. + + System.String + + System.String + + + None + + + TreatmentPriority + + The priority of the treatment. Used to distinguish identical patterns. The lower the priority the higher preference. The priority needs to be unique. + + System.Integer + + System.Integer + + + None + + + + + + System.Object + + + + + + + + + + System.Object + + + + + + + + + The cmdlet is available in Teams PS module 2.5.1 or later. + Both inbound calls to Microsoft Teams and outbound calls from Microsoft Teams will have the called number checked against the unassigned number range. + To route calls to unassigned Microsoft Calling Plan subscriber numbers, your tenant needs to have available Communications Credits. + To route calls to unassigned Microsoft Calling Plan service numbers, your tenant needs to have at least one Microsoft Teams Phone Resource Account license. + If a specified pattern/range contains phone numbers that are assigned to a user or resource account in the tenant, calls to these phone numbers will be routed to the appropriate target and not routed to the specified unassigned number treatment. There are no other checks of the numbers in the range. If the range contains a valid external phone number, outbound calls from Microsoft Teams to that phone number will be routed according to the treatment. + + + + + -------------------------- Example 1 -------------------------- + $RAObjectId = (Get-CsOnlineApplicationInstance -Identity aa2@contoso.com).ObjectId +Set-CsTeamsUnassignedNumberTreatment -Identity MainAA -Target $RAObjectId + + This example changes the treatment MainAA to route the calls to the resource account aa2@contoso.com. + + + + -------------------------- Example 2 -------------------------- + $UserObjectId = (Get-CsOnlineUser -Identity user2@contoso.com).Identity +Set-CsTeamsUnassignedNumberTreatment -Identity User2PSTN -TargetType User -Target $UserObjectId + + This example changes the treatment User2PSTN to route the calls to the user user2@contoso.com. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csteamsunassignednumbertreatment + + + Import-CsOnlineAudioFile + + + + Get-CsTeamsUnassignedNumberTreatment + + + + Remove-CsTeamsUnassignedNumberTreatment + + + + New-CsTeamsUnassignedNumberTreatment + + + + Test-CsTeamsUnassignedNumberTreatment + + + + + + + Set-CsTenantBlockedCallingNumbers + Set + CsTenantBlockedCallingNumbers + + Use the Set-CsTenantBlockedCallingNumbers cmdlet to set tenant blocked calling numbers setting. + + + + Microsoft Direct Routing, Operator Connect and Calling Plans supports blocking of inbound calls from the public switched telephone network (PSTN). This feature allows a tenant-global list of number patterns to be defined so that the caller ID of every incoming PSTN call to the tenant can be checked against the list for a match. If a match is made, an incoming call is rejected. + The tenant blocked calling numbers includes a list of inbound blocked number patterns. Number patterns are managed through the CsInboundBlockedNumberPattern commands New, Get, Set, and Remove. You can manage a given pattern by using these cmdlets, including the ability to toggle the activation of a given pattern. + The tenant blocked calling numbers also includes a list of number patterns exempt from call blocking. Exempt number patterns are managed through the CsInboundExemptNumberPattern commands New, Get, Set, and Remove. You can manage a given pattern by using these cmdlets, including the ability to toggle the activation of a given pattern. + You can test your number blocking by using the Test-CsInboundBlockedNumberPattern command. + The scope of tenant blocked calling numbers is global across the given tenant. This command-let can also turn on/off the blocked calling numbers setting at the tenant level. + To get the current tenant blocked calling numbers setting, use Get-CsTenantBlockedCallingNumbers + + + + Set-CsTenantBlockedCallingNumbers + + Identity + + The Identity parameter is a unique identifier which identifies the TenantBlockedCallingNumbers to set. + + Object + + Object + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Enabled + + The switch to turn on or turn off the blocked calling numbers setting. + + Object + + Object + + + None + + + Force + + The Force switch overrides the confirmation prompt displayed. + + + SwitchParameter + + + False + + + InboundBlockedNumberPatterns + + The InboundBlockedNumberPatterns parameter contains the list of InboundBlockedNumberPatterns. + + Object + + Object + + + None + + + InboundExemptNumberPatterns + + The InboundExemptNumberPatterns parameter contains the list of InboundExemptNumberPatterns. + + Object + + Object + + + None + + + Instance + + Allows you to pass a reference to an object to the cmdlet. + + Object + + Object + + + None + + + Name + + This parameter allows you to provide a name to the TenantBlockedCallingNumbers setting. + + Object + + Object + + + None + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Object + + Object + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Enabled + + The switch to turn on or turn off the blocked calling numbers setting. + + Object + + Object + + + None + + + Force + + The Force switch overrides the confirmation prompt displayed. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + The Identity parameter is a unique identifier which identifies the TenantBlockedCallingNumbers to set. + + Object + + Object + + + None + + + InboundBlockedNumberPatterns + + The InboundBlockedNumberPatterns parameter contains the list of InboundBlockedNumberPatterns. + + Object + + Object + + + None + + + InboundExemptNumberPatterns + + The InboundExemptNumberPatterns parameter contains the list of InboundExemptNumberPatterns. + + Object + + Object + + + None + + + Instance + + Allows you to pass a reference to an object to the cmdlet. + + Object + + Object + + + None + + + Name + + This parameter allows you to provide a name to the TenantBlockedCallingNumbers setting. + + Object + + Object + + + None + + + Tenant + + This parameter is reserved for internal Microsoft use. + + Object + + Object + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.Management.Automation.PSObject + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-CsTenantBlockedCallingNumbers -Enabled $false + + This example turns off the tenant blocked calling numbers setting. No inbound number will be blocked from this feature. + + + + + -------------------------- Example 2 -------------------------- + Set-CsTenantBlockedCallingNumbers -Enabled $true + + This example turns on the tenant blocked calling numbers setting. Inbound calls will be blocked based on the list of blocked number patterns. + + + + -------------------------- Example 3 -------------------------- + Set-CsTenantBlockedCallingNumbers -Name "MyCustomBlockedCallingNumbersName" + + This example renames the current blocked calling numbers with "MyCustomBlockedCallingNumbersName". No change is made besides the Name field change. + + + + -------------------------- Example 4 -------------------------- + Set-CsTenantBlockedCallingNumbers -InboundBlockedNumberPatterns @((New-CsInboundBlockedNumberPattern -Name "AnonymousBlockedPattern" -Enabled $true -Pattern "^(?!)Anonymous")) + + This example sets the tenant blocked calling numbers with a new list of inbound blocked number patterns. There is a new InboundBlockedNumberPattern being created. The pattern name is "AnonymousBlockedPattern". The pattern is turned on. The pattern is a normalization rule which contains "Anonymous". + Note that if the current InboundBlockedNumberPatterns already contains a list of patterns while a new pattern needs to be created, this example will wipe out the existing patterns and only add the new one. Please save the current InboundBlockedNumberPatterns list before adding new patterns. + + + + + + Get-CsTenantBlockedCallingNumbers + + + + Test-CsInboundBlockedNumberPattern + + + + + + + Set-CsTenantDialPlan + Set + CsTenantDialPlan + + Use the `Set-CsTenantDialPlan` cmdlet to modify an existing tenant dial plan. + + + + The `Set-CsTenantDialPlan` cmdlet modifies an existing tenant dial plan. A tenant dial plan determines such things as which normalization rules are applied. Tenant dial plans provide required information to let Enterprise Voice users make telephone calls. The Conferencing Attendant application also uses tenant dial plans for dial-in conferencing. + + + + Set-CsTenantDialPlan + + Identity + + The Identity parameter is a unique identifier that designates the name of the tenant dial plan to modify. + + String + + String + + + None + + + Confirm + + The Confirm switch causes the command to pause processing and requires confirmation to proceed. + + + SwitchParameter + + + False + + + Description + + The Description parameter describes the tenant dial plan - what it's for, what type of user it applies to or any other information that helps to identify the purpose of the tenant dial plan. Maximum characters is 1040. + + String + + String + + + None + + + NormalizationRules + + The NormalizationRules parameter is a list of normalization rules that are applied to this dial plan. Although this list and these rules can be created directly by using this cmdlet, we recommend that you create the normalization rules by the New-CsVoiceNormalizationRule (New-CsVoiceNormalizationRule.md)cmdlet, which creates the rule and assigns it to the specified tenant dial plan. + The number of normalization rules cannot exceed 50 per TenantDialPlan. + + List + + List + + + None + + + SimpleName + + The SimpleName parameter is a display name for the tenant dial plan. This name must be unique among all tenant dial plans. + This string can be up to 49 characters long. Valid characters are alphabetic or numeric characters, hyphen (-), dot (.), and parentheses (()). + + String + + String + + + None + + + WhatIf + + The WhatIf parameter describes what would happen if you executed the command, without actually executing the command. + + + SwitchParameter + + + False + + + + + + Confirm + + The Confirm switch causes the command to pause processing and requires confirmation to proceed. + + SwitchParameter + + SwitchParameter + + + False + + + Description + + The Description parameter describes the tenant dial plan - what it's for, what type of user it applies to or any other information that helps to identify the purpose of the tenant dial plan. Maximum characters is 1040. + + String + + String + + + None + + + Identity + + The Identity parameter is a unique identifier that designates the name of the tenant dial plan to modify. + + String + + String + + + None + + + NormalizationRules + + The NormalizationRules parameter is a list of normalization rules that are applied to this dial plan. Although this list and these rules can be created directly by using this cmdlet, we recommend that you create the normalization rules by the New-CsVoiceNormalizationRule (New-CsVoiceNormalizationRule.md)cmdlet, which creates the rule and assigns it to the specified tenant dial plan. + The number of normalization rules cannot exceed 50 per TenantDialPlan. + + List + + List + + + None + + + SimpleName + + The SimpleName parameter is a display name for the tenant dial plan. This name must be unique among all tenant dial plans. + This string can be up to 49 characters long. Valid characters are alphabetic or numeric characters, hyphen (-), dot (.), and parentheses (()). + + String + + String + + + None + + + WhatIf + + The WhatIf parameter describes what would happen if you executed the command, without actually executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + The ExternalAccessPrefix and OptimizeDeviceDialing parameters have been removed from New-CsTenantDialPlan and Set-CsTenantDialPlan cmdlet since they are no longer used. External access dialing is now handled implicitly using normalization rules of the dial plans. The Get-CsTenantDialPlan will still show the external access prefix in the form of a normalization rule of the dial plan. + + + + + -------------------------- Example 1 -------------------------- + $nr2 = Get-CsVoiceNormalizationRule -Identity "US/US Long Distance" +Set-CsTenantDialPlan -Identity vt1tenantDialPlan9 -NormalizationRules @{Add=$nr2} + + This example updates the vt1tenantDialPlan9 tenant dial plan to use the US/US Long Distance normalization rules. + + + + -------------------------- Example 2 -------------------------- + $DP = Get-CsTenantDialPlan -Identity Global +$NR = $DP.NormalizationRules | Where Name -eq "RedmondFourDigit") +$NR.Name = "RedmondRule" +Set-CsTenantDialPlan -Identity Global -NormalizationRules $DP.NormalizationRules + + This example changes the name of a normalization rule. Keep in mind that changing the name also changes the name portion of the Identity. The `Set-CsVoiceNormalizationRule` cmdlet doesn't have a Name parameter, so in order to change the name, we first call the `Get-CsTenantDialPlan` cmdlet to retrieve the Dial Plan with the Identity Global and assign the returned object to the variable $DP. Then we filter the NormalizationRules Object for the rule RedmondFourDigit and assign the returned object to the variable $NR. We then assign the string RedmondRule to the Name property of the object. Finally, we pass the variable back to the NormalizationRules parameter of the `Set-CsTenantDialPlan` cmdlet to make the change permanent. + + + + -------------------------- Example 3 -------------------------- + $DP = Get-CsTenantDialPlan -Identity Global +$NR = $DP.NormalizationRules | Where Name -eq "RedmondFourDigit") +$DP.NormalizationRules.Remove($NR) +Set-CsTenantDialPlan -Identity Global -NormalizationRules $DP.NormalizationRules + + This example removes a normalization rule. We utilize the same functionality as for Example 3 to manipulate the Normalization Rule Object and update it with the `Set-CsTenantDialPlan` cmdlet. We first call the `Get-CsTenantDialPlan` cmdlet to retrieve the Dial Plan with the Identity Global and assign the returned object to the variable $DP. Then we filter the NormalizationRules Object for the rule RedmondFourDigit and assign it to the variable $NR. Next, we remove this Object with the Remove Method from $DP.NormalizationRules. Finally, we pass the variable back to the NormalizationRules parameter of the `Set-CsTenantDialPlan` cmdlet to make the change permanent. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-cstenantdialplan + + + Grant-CsTenantDialPlan + + + + New-CsTenantDialPlan + + + + Get-CsTenantDialPlan + + + + Remove-CsTenantDialPlan + + + + + + + Set-CsTenantFederationConfiguration + Set + CsTenantFederationConfiguration + + Manages federation configuration settings for your Skype for Business Online tenants. These settings are used to determine which domains (if any) your users are allowed to communicate with. + + + + Federation is a service that enables users to exchange IM and presence information with users from other domains. With Skype for Business Online, administrators can use the federation configuration settings to govern: + Whether or not users can communicate with people from other domains and if so, which domains they are allowed to communicate with. + Whether or not users can communicate with people who have accounts on public IM and presence providers such as Windows Live, Skype, or people using Microsoft Teams with an account that's not managed by an organization. + Administrators can use the `Set-CsTenantFederationConfiguration` cmdlet to enable and disable federation with other domains and federation with public providers. In addition, this cmdlet can be used to expressly indicate the domains that users can communicate with and/or the domains that users are not allowed to communicate with. However, administrators must use the `Set-CsTenantPublicProvider` cmdlet in order to indicate the public IM and presence providers that users can and cannot communicate with. + + + + Set-CsTenantFederationConfiguration + + Identity + + Specifies the collection of tenant federation configuration settings to be modified. Because each tenant is limited to a single, global collection of federation settings there is no need include this parameter when calling the `Set-CsTenantFederationConfiguration` cmdlet. If you do choose to use the Identity parameter you must also include the Tenant parameter. For example: + `Set-CsTenantFederationConfiguration -Tenant "bf19b7db-6960-41e5-a139-2aa373474354" -Identity "global"` + + XdsIdentity + + XdsIdentity + + + None + + + AllowedDomains + + Domain objects (created by using the `New-CsEdgeAllowList` cmdlet or the `New-CsEdgeAllowAllKnownDomains` cmdlet) that represent the domains that users are allowed to communicate with. If the `New-CsEdgeAllowAllKnownDomains` cmdlet is used then users can communicate with any domain that does not appear on the blocked domains list. If the `New-CsEdgeAllowList` cmdlet is used then users can only communicate with domains that have been added to the allowed domains list. + Note that string values cannot be passed directly to the AllowedDomains parameter. Instead, you must create an object reference using the `New-CsEdgeAllowList` cmdlet or the `New-CsEdgeAllowAllKnownDomains` cmdlet and then use the object reference variable as the parameter value. + The AllowedDomains parameter can support up to 4,000 domains. + + Boolean + + Boolean + + + None + + + AllowFederatedUsers + + When set to True (the default value) users will be potentially allowed to communicate with users from other domains. If this property is set to False then users cannot communicate with users from other domains regardless of the values assigned to the AllowedDomains and BlockedDomains properties. + + Boolean + + Boolean + + + None + + + AllowPublicUsers + + When set to True (the default value) users will be potentially allowed to communicate with users who have accounts on public IM and presence providers such as Windows Live, Yahoo, and AOL. The collection of public providers that users can actually communicate with is managed by using the `Set-CsTenantPublicProvider` cmdlet. + + Boolean + + Boolean + + + None + + + AllowTeamsConsumer + + Allows federation with people using Teams with an account that's not managed by an organization. + + Boolean + + Boolean + + + True + + + AllowTeamsConsumerInbound + + Allows people using Teams with an account that's not managed by an organization, to discover and start communication with users in your organization. When -AllowTeamsConsumer is enabled and this parameter is disabled, only the users in your organization will be able to discover and start communication with people using Teams with an account that's not managed by an organization, but they will not discover and start communications with users in your organization. + + Boolean + + Boolean + + + True + + + BlockedDomains + + If the AllowedDomains property has been set to AllowAllKnownDomains, then users will be allowed to communicate with users from any domain except domains that appear in the blocked domains list. If the AllowedDomains property has not been set to AllowAllKnownDomains, then the blocked list is ignored, and users can only communicate with domains that have been expressly added to the allowed domains list. The BlockedDomains parameter can support up to 4,000 domains. + + List + + List + + + None + + + BlockAllSubdomains + + If the BlockedDomains parameter is used, then BlockAllSubdomains can be used to activate all subdomains blocking. If the BlockedDomains parameter is ignored, then BlockAllSubdomains is also ignored. Just like for BlockedDomains, users will be disallowed from communicating with users from blocked domains. But all subdomains for domains in this list will also be blocked. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before executing the command. + + + SwitchParameter + + + False + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + + SwitchParameter + + + False + + + Instance + + Allows you to pass a reference to an object to the cmdlet rather than set individual parameter values. + + PSObject + + PSObject + + + None + + + SharedSipAddressSpace + + When set to True, indicates that the users homed on Skype for Business Online use the same SIP domain as users homed on the on-premises version of Skype for Business Server. The default value is False, meaning that the two sets of users have different SIP domains. + + Boolean + + Boolean + + + None + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose federation settings are being modified. For example: + `-Tenant "38aad667-af54-4397-aaa7-e94c79ec2308"` + You can return your tenant ID by running this command: + `Get-CsTenant | Select-Object DisplayName, TenantID` + If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + Guid + + Guid + + + None + + + TreatDiscoveredPartnersAsUnverified + + When set to True, messages sent from discovered partners are considered unverified. That means that those messages will be delivered only if they were sent from a person who is on the recipient's Contacts list. The default value is False ($False). + + Boolean + + Boolean + + + None + + + AllowedDomainsAsAList + + You can specify allowed domains using a List object that contains the domains that users are allowed to communicate with. See Examples section. + + List + + List + + + None + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + + SwitchParameter + + + False + + + + + + AllowedDomains + + Domain objects (created by using the `New-CsEdgeAllowList` cmdlet or the `New-CsEdgeAllowAllKnownDomains` cmdlet) that represent the domains that users are allowed to communicate with. If the `New-CsEdgeAllowAllKnownDomains` cmdlet is used then users can communicate with any domain that does not appear on the blocked domains list. If the `New-CsEdgeAllowList` cmdlet is used then users can only communicate with domains that have been added to the allowed domains list. + Note that string values cannot be passed directly to the AllowedDomains parameter. Instead, you must create an object reference using the `New-CsEdgeAllowList` cmdlet or the `New-CsEdgeAllowAllKnownDomains` cmdlet and then use the object reference variable as the parameter value. + The AllowedDomains parameter can support up to 4,000 domains. + + Boolean + + Boolean + + + None + + + AllowFederatedUsers + + When set to True (the default value) users will be potentially allowed to communicate with users from other domains. If this property is set to False then users cannot communicate with users from other domains regardless of the values assigned to the AllowedDomains and BlockedDomains properties. + + Boolean + + Boolean + + + None + + + AllowPublicUsers + + When set to True (the default value) users will be potentially allowed to communicate with users who have accounts on public IM and presence providers such as Windows Live, Yahoo, and AOL. The collection of public providers that users can actually communicate with is managed by using the `Set-CsTenantPublicProvider` cmdlet. + + Boolean + + Boolean + + + None + + + AllowTeamsConsumer + + Allows federation with people using Teams with an account that's not managed by an organization. + + Boolean + + Boolean + + + True + + + AllowTeamsConsumerInbound + + Allows people using Teams with an account that's not managed by an organization, to discover and start communication with users in your organization. When -AllowTeamsConsumer is enabled and this parameter is disabled, only the users in your organization will be able to discover and start communication with people using Teams with an account that's not managed by an organization, but they will not discover and start communications with users in your organization. + + Boolean + + Boolean + + + True + + + BlockedDomains + + If the AllowedDomains property has been set to AllowAllKnownDomains, then users will be allowed to communicate with users from any domain except domains that appear in the blocked domains list. If the AllowedDomains property has not been set to AllowAllKnownDomains, then the blocked list is ignored, and users can only communicate with domains that have been expressly added to the allowed domains list. The BlockedDomains parameter can support up to 4,000 domains. + + List + + List + + + None + + + BlockAllSubdomains + + If the BlockedDomains parameter is used, then BlockAllSubdomains can be used to activate all subdomains blocking. If the BlockedDomains parameter is ignored, then BlockAllSubdomains is also ignored. Just like for BlockedDomains, users will be disallowed from communicating with users from blocked domains. But all subdomains for domains in this list will also be blocked. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + Suppresses the display of any non-fatal error message that might arise when running the command. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Specifies the collection of tenant federation configuration settings to be modified. Because each tenant is limited to a single, global collection of federation settings there is no need include this parameter when calling the `Set-CsTenantFederationConfiguration` cmdlet. If you do choose to use the Identity parameter you must also include the Tenant parameter. For example: + `Set-CsTenantFederationConfiguration -Tenant "bf19b7db-6960-41e5-a139-2aa373474354" -Identity "global"` + + XdsIdentity + + XdsIdentity + + + None + + + Instance + + Allows you to pass a reference to an object to the cmdlet rather than set individual parameter values. + + PSObject + + PSObject + + + None + + + SharedSipAddressSpace + + When set to True, indicates that the users homed on Skype for Business Online use the same SIP domain as users homed on the on-premises version of Skype for Business Server. The default value is False, meaning that the two sets of users have different SIP domains. + + Boolean + + Boolean + + + None + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose federation settings are being modified. For example: + `-Tenant "38aad667-af54-4397-aaa7-e94c79ec2308"` + You can return your tenant ID by running this command: + `Get-CsTenant | Select-Object DisplayName, TenantID` + If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment. + + Guid + + Guid + + + None + + + TreatDiscoveredPartnersAsUnverified + + When set to True, messages sent from discovered partners are considered unverified. That means that those messages will be delivered only if they were sent from a person who is on the recipient's Contacts list. The default value is False ($False). + + Boolean + + Boolean + + + None + + + AllowedDomainsAsAList + + You can specify allowed domains using a List object that contains the domains that users are allowed to communicate with. See Examples section. + + List + + List + + + None + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + The `Set-CsTenantFederationConfiguration` cmdlet accepts pipelined instances of the Microsoft.Rtc.Management.WritableConfig.Settings.Edge.TenantFederationSettings object. + + + + + + + + + + None. Instead, the `Set-CsTenantFederationConfiguration` cmdlet modifies existing instances of the Microsoft.Rtc.Management.WritableConfig.Settings.Edge.TenantFederationSettings object. + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-CsTenantFederationConfiguration -AllowPublicUsers $False + + The command shown in Example 1 disables communication with public providers for the current tenant. + + + + -------------------------- Example 2 -------------------------- + $x = New-CsEdgeDomainPattern -Domain "fabrikam.com" + +Set-CsTenantFederationConfiguration -BlockedDomains @{Replace=$x} + + In Example 2, the domain fabrikam.com is assigned as the only domain on the blocked domains list for current tenant. To do this, the first command in the example uses the `New-CsEdgeDomainPattern` cmdlet to create a new domain object for fabrikam.com. This domain object is stored in a variable named $x. + The second command in the example then uses the `Set-CsTenantFederationConfiguration` cmdlet to update the blocked domains list. Using the Replace method ensures that the existing blocked domains list will be replaced by the new list: a list that contains only the domain fabrikam.com. + + + + -------------------------- Example 3 -------------------------- + $x = New-CsEdgeDomainPattern -Domain "fabrikam.com" + +Set-CsTenantFederationConfiguration -BlockedDomains @{Remove=$x} + + The commands shown in Example 3 remove fabrikam.com from the list of domains blocked by the current tenant. To do this, the first command in the example uses the `New-CsEdgeDomainPattern` cmdlet to create a domain object for fabrikam.com. The resulting domain object is then stored in a variable named $x. + The second command in the example then uses the `Set-CsTenantFederationConfiguration` cmdlet and the Remove method to remove fabrikam.com from the blocked domains list for the specified tenant. + + + + -------------------------- Example 4 -------------------------- + $x = New-CsEdgeDomainPattern -Domain "fabrikam.com" + +Set-CsTenantFederationConfiguration -BlockedDomains @{Add=$x} + + The commands shown in Example 4 add the domain fabrikam.com to the list of domains blocked by the current tenant. To add a new blocked domain, the first command in the example uses the `New-CsEdgeDomainPattern` cmdlet to create a domain object for fabrikam.com. This object is stored in a variable named $x. + After the domain object has been created, the second command then uses the `Set-CsTenantFederationConfiguration` cmdlet and the Add method to add fabrikam.com to any domains already on the blocked domains list. + + + + -------------------------- Example 5 -------------------------- + Set-CsTenantFederationConfiguration -BlockedDomains $Null + + Example 5 shows how you can remove all the domains assigned to the blocked domains list for the current tenant. To do this, simply include the BlockedDomains parameter and set the parameter value to null ($Null). When this command completes, the blocked domain list will be cleared. + + + + -------------------------- Example 6 -------------------------- + $list = New-Object Collections.Generic.List[String] +$list.add("contoso.com") +$list.add("fabrikam.com") +Set-CsTenantFederationConfiguration -AllowedDomainsAsAList $list + + Example 6 shows how you can replace domains in the Allowed Domains using a List collection object. First, a List collection is created and domains are added to it, then, simply include the AllowedDomainsAsAList parameter and set the parameter value to the List object. When this command completes, the allowed domains list will be replaced with those domains. + + + + -------------------------- Example 7 -------------------------- + $list = New-Object Collections.Generic.List[String] +$list.add("contoso.com") +$list.add("fabrikam.com") +Set-CsTenantFederationConfiguration -AllowedDomainsAsAList @{Add=$list} + + Example 7 shows how you can add domains to the existing Allowed Domains using a List object. First, a List is created and domains are added to it, then use the Add method in the AllowedDomainsAsAList parameter to add the domains to the existing allowed domains list. When this command completes, the domains in the list will be added to any domains already on the AllowedDomains list. + + + + -------------------------- Example 8 -------------------------- + $list = New-Object Collections.Generic.List[String] +$list.add("contoso.com") +$list.add("fabrikam.com") +Set-CsTenantFederationConfiguration -AllowedDomainsAsAList @{Remove=$list} + + Example 8 shows how you can remove domains from the existing Allowed Domains using a List object. First, a List is created and domains are added to it, then use the Remove method in the AllowedDomainsAsAList parameter to remove the domains from the existing allowed domains list. When this command completes, the domains in the list will be removed from the AllowedDomains list. + + + + -------------------------- Example 9 -------------------------- + Set-CsTenantFederationConfiguration -AllowTeamsConsumer $True -AllowTeamsConsumerInbound $False + + The command shown in Example 9 enables communication with people using Teams with an account that's not managed by an organization, to only be initiated by people in your organization. This means that people using Teams with an account that's not managed by an organization will not be able to discover or start a conversation with people in your organization. + + + + -------------------------- Example 10 ------------------------- + $list = New-Object Collections.Generic.List[String] +$list.add("contoso.com") +$list.add("fabrikam.com") +Set-CsTenantFederationConfiguration -BlockedDomains $list + +Set-CsTenantFederationConfiguration -BlockAllSubdomains $True + + Example 10 shows how you can block all subdomains of domains in BlockedDomains list. In this example, all users from contoso.com and fabrikam.com will be blocked. When the BlockAllSubdomains is enabled, all users from all subdomains of all domains in BlockedDomains list will also be blocked. So, users from subdomain.contoso.com and subdomain.fabrikam.com will be blocked. Note: Users from subcontoso.com will not be blocked because it's a completely different domain rather than a subdomain of contoso.com. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-cstenantfederationconfiguration + + + Get-CsTenantFederationConfiguration + + + + + + + Set-CsTenantMigrationConfiguration + Set + CsTenantMigrationConfiguration + + Used to enable or disable Meeting Migration Service (MMS). + + + + Used to enable or disable Meeting Migration Service (MMS). For more information, see Using the Meeting Migration Service (MMS) (https://learn.microsoft.com/skypeforbusiness/audio-conferencing-in-office-365/setting-up-the-meeting-migration-service-mms). + + + + Set-CsTenantMigrationConfiguration + + Identity + + Unique identifier for the Migration Configuration. + + XdsIdentity + + XdsIdentity + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + Instance + + The Instance parameter allows you to pass a reference to an object to the cmdlet, rather than set individual parameter values. You can retrieve this object reference by calling the `Get-CsTenantMigrationConfiguration` cmdlet. + + PSObject + + PSObject + + + None + + + MeetingMigrationEnabled + + Set this to false to disable the Meeting Migration Service. + + Boolean + + Boolean + + + None + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose Migration Configurations are being created. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. + + + SwitchParameter + + + False + + + AsJob + + Indicates that this cmdlet runs as a background job. + When you specify the AsJob parameter, the command immediately returns an object that represents the background job. You can continue to work in the session while the job finishes. The job is created on the local computer and the results from the Skype for Business Online session are automatically returned to the local computer. To get the job results, use the Receive-Job cmdlet. + For more information about Windows PowerShell background jobs, see about_Jobs (https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_jobs?view=powershell-6) and [about_Remote_Jobs](https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_remote_jobs?view=powershell-6). + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Unique identifier for the Migration Configuration. + + XdsIdentity + + XdsIdentity + + + None + + + Instance + + The Instance parameter allows you to pass a reference to an object to the cmdlet, rather than set individual parameter values. You can retrieve this object reference by calling the `Get-CsTenantMigrationConfiguration` cmdlet. + + PSObject + + PSObject + + + None + + + MeetingMigrationEnabled + + Set this to false to disable the Meeting Migration Service. + + Boolean + + Boolean + + + None + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose Migration Configurations are being created. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. + + SwitchParameter + + SwitchParameter + + + False + + + AsJob + + Indicates that this cmdlet runs as a background job. + When you specify the AsJob parameter, the command immediately returns an object that represents the background job. You can continue to work in the session while the job finishes. The job is created on the local computer and the results from the Skype for Business Online session are automatically returned to the local computer. To get the job results, use the Receive-Job cmdlet. + For more information about Windows PowerShell background jobs, see about_Jobs (https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_jobs?view=powershell-6) and [about_Remote_Jobs](https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_remote_jobs?view=powershell-6). + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-CsTenantMigrationConfiguration -MeetingMigrationEnabled $false + + This example disables MMS in the organization. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-cstenantmigrationconfiguration + + + + + + Set-CsTenantNetworkRegion + Set + CsTenantNetworkRegion + + As an admin, you can use the Teams PowerShell command, Set-CsTenantNetworkRegion to define network regions. A network region interconnects various parts of a network across multiple geographic areas. The RegionID parameter is a logical name that represents the geography of the region and has no dependencies or restrictions. The organization's network region is used for Location-Based Routing. + + + + Location-Based Routing leverages the same network regions, sites, and subnets concept that is available in Skype for Business Server. A network region contains a collection of network sites. For example, if your organization has many sites located in Redmond, then you may choose to designate "Redmond" as a network region. + + + + Set-CsTenantNetworkRegion + + Identity + + Unique identifier for the network region to be set. + + String + + String + + + None + + + CentralSite + + This parameter is not used. + + String + + String + + + None + + + Description + + Provide a description of the network region to identify purpose of setting it. + + String + + String + + + None + + + NetworkRegionID + + The name of the network region. Not required in this PowerShell command. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Identity + + Unique identifier for the network region to be set. + + String + + String + + + None + + + CentralSite + + This parameter is not used. + + String + + String + + + None + + + Description + + Provide a description of the network region to identify purpose of setting it. + + String + + String + + + None + + + NetworkRegionID + + The name of the network region. Not required in this PowerShell command. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.Management.Automation.PSObject + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-CsTenantNetworkRegion -Identity "RegionA" -Description "Region A" + + The command shown in Example 1 sets the network region 'RegionA' with the description 'Region A'. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-cstenantnetworkregion + + + New-CsTenantNetworkRegion + + + + Remove-CsTenantNetworkRegion + + + + Get-CsTenantNetworkRegion + + + + + + + Set-CsTenantNetworkSite + Set + CsTenantNetworkSite + + As an Admin, you can use the Windows PowerShell command, Set-CsTenantNetworkSite to define network sites. Network sites are defined as a collection of IP subnets. Each network site must be associated with a network region. Tenant network site is used for Location Based Routing. + + + + A network site represents a location where your organization has a physical venue, such as offices, a set of buildings, or a campus. Network sites are defined as a collection of IP subnets. Each network site must be associated with a network region. + A best practice for Location Based Routing (LBR) is to create a separate site for each location which has unique PSTN connectivity. Sites may be created as LBR or non-LBR enabled. A non-LBR enabled site may be created to allow LBR enabled users to make PSTN calls when they roam to that site. Note that network sites may also be used for emergency calling enablement and configuration. In addition, network sites can also be used for configuring Network Roaming Policy capabilities. + + + + Set-CsTenantNetworkSite + + Identity + + Unique identifier for the network site to be set. + + String + + String + + + None + + + Description + + Provide a description of the network site to identify purpose of setting it. + + String + + String + + + None + + + EmergencyCallingPolicy + + This parameter is used to assign a custom emergency calling policy to a network site. For more information, see Assign a custom emergency calling policy to a network site (/microsoftteams/manage-emergency-calling-policies#assign-a-custom-emergency-calling-policy-to-a-network-site). + + String + + String + + + None + + + EmergencyCallRoutingPolicy + + This parameter is used to assign a custom emergency call routing policy to a network site. For more information, see Assign a custom emergency call routing policy to a network site (/microsoftteams/manage-emergency-call-routing-policies#assign-a-custom-emergency-call-routing-policy-to-a-network-site). + + String + + String + + + None + + + EnableLocationBasedRouting + + This parameter determines whether the current site is enabled for Location-Based Routing. + + Boolean + + Boolean + + + None + + + LocationPolicy + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + NetworkRegionID + + NetworkRegionID is the identifier for the network region which the current network site is associating to. + + String + + String + + + None + + + NetworkRoamingPolicy + + NetworkRoamingPolicy is the identifier for the network roaming policy to which the network site will associate to. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Identity + + Unique identifier for the network site to be set. + + String + + String + + + None + + + Description + + Provide a description of the network site to identify purpose of setting it. + + String + + String + + + None + + + EmergencyCallingPolicy + + This parameter is used to assign a custom emergency calling policy to a network site. For more information, see Assign a custom emergency calling policy to a network site (/microsoftteams/manage-emergency-calling-policies#assign-a-custom-emergency-calling-policy-to-a-network-site). + + String + + String + + + None + + + EmergencyCallRoutingPolicy + + This parameter is used to assign a custom emergency call routing policy to a network site. For more information, see Assign a custom emergency call routing policy to a network site (/microsoftteams/manage-emergency-call-routing-policies#assign-a-custom-emergency-call-routing-policy-to-a-network-site). + + String + + String + + + None + + + EnableLocationBasedRouting + + This parameter determines whether the current site is enabled for Location-Based Routing. + + Boolean + + Boolean + + + None + + + LocationPolicy + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + NetworkRegionID + + NetworkRegionID is the identifier for the network region which the current network site is associating to. + + String + + String + + + None + + + NetworkRoamingPolicy + + NetworkRoamingPolicy is the identifier for the network roaming policy to which the network site will associate to. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.Management.Automation.PSObject + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-CsTenantNetworkSite -Identity "MicrosoftSite1" -NetworkRegionID "RegionRedmond" -Description "Microsoft site 1" + + The command shown in Example 1 set the network site 'MicrosoftSite1' with description 'Microsoft site 1'. + The network region 'RegionRedmond' is created beforehand and 'MicrosoftSite1' will be associated with 'RegionRedmond'. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Set-CsTenantNetworkSite -Identity "site2" -Description "site 2" -NetworkRegionID "RedmondRegion" -EnableLocationBasedRouting $true + + The command shown in Example 2 sets the network site 'site2' with description 'site 2'. This site is enabled for LBR. The example associates the site with network region 'RedmondRegion'. + + + + -------------------------- Example 3 -------------------------- + PS C:\> Set-CsTenantNetworkSite -Identity "site3" -Description "site 3" -NetworkRegionID "RedmondRegion" -NetworkRoamingPolicy "TestNetworkRoamingPolicy" + + The command shown in Example 3 sets the network site 'site3' with description 'site 3'. This site is enabled for network roaming capabilities. The example associates the site with network region 'RedmondRegion' and network roaming policy 'TestNetworkRoamingPolicy'. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-cstenantnetworksite + + + New-CsTenantNetworkSite + + + + Remove-CsTenantNetworkSite + + + + Get-CsTenantNetworkSite + + + + + + + Set-CsTenantNetworkSubnet + Set + CsTenantNetworkSubnet + + As an admin, you can use the Teams PowerShell command, Set-CsTenantNetworkSubnet to define network subnets and assign them to network sites. Each internal subnet may only be associated with one site. The organization's network subnet is used for Location-Based Routing. + + + + IP subnets at the location where Teams endpoints can connect to the network must be defined and associated to a defined network in order to enforce toll bypass. Multiple subnets may be associated with the same network site, but multiple sites may not be associated with a same subnet. This association of subnets enables Location-Based Routing to locate the endpoints geographically to determine if a given PSTN call should be allowed. Both IPv4 and IPv6 subnets are supported. When determining if a Teams endpoint is located at a site an IPv6 address will be checked for a match first. + + + + Set-CsTenantNetworkSubnet + + Identity + + Unique identifier for the network subnet to be set. + + String + + String + + + None + + + Description + + Provide a description of the network subnet to identify purpose of setting it. + + String + + String + + + None + + + MaskBits + + This parameter determines the length of bits to mask to the subnet. + IPv4 format subnet accepts maskbits from 0 to 32 inclusive. IPv6 format subnet accepts maskbits from 0 to 128 inclusive. + + Int32 + + Int32 + + + None + + + NetworkSiteID + + NetworkSiteID is the identifier for the network site which the current network subnet is associating to. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Identity + + Unique identifier for the network subnet to be set. + + String + + String + + + None + + + Description + + Provide a description of the network subnet to identify purpose of setting it. + + String + + String + + + None + + + MaskBits + + This parameter determines the length of bits to mask to the subnet. + IPv4 format subnet accepts maskbits from 0 to 32 inclusive. IPv6 format subnet accepts maskbits from 0 to 128 inclusive. + + Int32 + + Int32 + + + None + + + NetworkSiteID + + NetworkSiteID is the identifier for the network site which the current network subnet is associating to. + + String + + String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-CsTenantNetworkSubnet -Identity "192.168.0.1" -MaskBits "24" -NetworkSiteID "site1" + + The command shown in Example 1 set the network subnet '192.168.0.1'. The subnet is in IPv4 format, and the subnet is assigned to network site 'site1'. The maskbits is set to 24. + IPv4 format subnet accepts maskbits from 0 to 32 inclusive. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Set-CsTenantNetworkSubnet -Identity "2001:4898:e8:25:844e:926f:85ad:dd8e" -MaskBits "120" -NetworkSiteID "site1" -Description "Subnet 2001:4898:e8:25:844e:926f:85ad:dd8e" + + The command shown in Example 2 set the network subnet '2001:4898:e8:25:844e:926f:85ad:dd8e' with description 'Subnet 2001:4898:e8:25:844e:926f:85ad:dd8e'. The subnet is in IPv6 format, and the subnet is assigned to network site 'site1'. The maskbits is set to 120. + IPv6 format subnet accepts maskbits from 0 to 128 inclusive. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-cstenantnetworksubnet + + + New-CsTenantNetworkSubnet + + + + Remove-CsTenantNetworkSubnet + + + + Get-CsTenantNetworkSubnet + + + + + + + Set-CsTenantTrustedIPAddress + Set + CsTenantTrustedIPAddress + + As an Admin, you can use the Windows PowerShell command, Set-CsTenantTrustedIPAddress to define external subnets and assign them to the tenant. You can define an unlimited number of external subnets for a tenant. + + + + External trusted IPs are the Internet external IPs of the enterprise network and are used to determine if the user's endpoint is inside the corporate network before checking for a specific site match. If the user's external IP matches one defined in the trusted list, then Location-Based Routing will check to determine which internal subnet the user's endpoint is located. If the user's external IP doesn't match one defined in the trusted list, the endpoint will be classified as being at an unknown and any PSTN calls to/from an LBR enabled user are blocked. + Both IPv4 and IPv6 trusted IP addresses are supported. + When the client is sending the trusted IP address, please make sure we have already whitelisted the IP address by running this command-let, otherwise the request will be rejected. If you are only adding the IPv4 address by running this command-let, but your client are only sending and IPv6 address, it will be rejected. + + + + Set-CsTenantTrustedIPAddress + + Identity + + Unique identifier for the IP address to be set. + + XdsGlobalRelativeIdentity + + XdsGlobalRelativeIdentity + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Description + + Provide a description of the network site to identify purpose of creating it. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + MaskBits + + This parameter determines the length of bits to mask to the subnet. + IPv4 format IP address accepts maskbits from 0 to 32 inclusive. IPv6 format IP address accepts maskbits from 0 to 128 inclusive. + + System.Int32 + + System.Int32 + + + None + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose IP addresses are being created. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Set-CsTenantTrustedIPAddress + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Description + + Provide a description of the network site to identify purpose of creating it. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + Instance + + The Instance parameter allows you to pass a reference to an object to the cmdlet, rather than set individual parameter values. You can retrieve this object reference by calling the `Get-CsTenantTrustedIPAddress` cmdlet. + + PSObject + + PSObject + + + None + + + MaskBits + + This parameter determines the length of bits to mask to the subnet. + IPv4 format IP address accepts maskbits from 0 to 32 inclusive. IPv6 format IP address accepts maskbits from 0 to 128 inclusive. + + System.Int32 + + System.Int32 + + + None + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose IP addresses are being created. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Description + + Provide a description of the network site to identify purpose of creating it. + + String + + String + + + None + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Unique identifier for the IP address to be set. + + XdsGlobalRelativeIdentity + + XdsGlobalRelativeIdentity + + + None + + + Instance + + The Instance parameter allows you to pass a reference to an object to the cmdlet, rather than set individual parameter values. You can retrieve this object reference by calling the `Get-CsTenantTrustedIPAddress` cmdlet. + + PSObject + + PSObject + + + None + + + MaskBits + + This parameter determines the length of bits to mask to the subnet. + IPv4 format IP address accepts maskbits from 0 to 32 inclusive. IPv6 format IP address accepts maskbits from 0 to 128 inclusive. + + System.Int32 + + System.Int32 + + + None + + + Tenant + + Globally unique identifier (GUID) of the tenant account whose IP addresses are being created. For example: + -Tenant "38aad667-af54-4397-aaa7-e94c79ec2308" + You can return your tenant ID by running this command: + Get-CsTenant | Select-Object DisplayName, TenantID + + System.Guid + + System.Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.Management.Automation.PSObject + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-CsTenantTrustedIPAddress -Identity "192.168.0.1" -Description "External IP 192.168.0.1" + + The command shown in Example 1 created the IP address '192.168.0.1' with description 'External IP 192.168.0.1'. + + + + -------------------------- Example 2 -------------------------- + PS C:\> Set-CsTenantTrustedIPAddress -Identity "192.168.0.2" -MaskBits "24" + + The command shown in Example 2 set the IP address '192.168.0.2'. The IP address is in IPv4 format, and the maskbits is set to 24. + IPv4 format IP address accepts maskbits from 0 to 32 inclusive. + + + + -------------------------- Example 3 -------------------------- + PS C:\> Set-CsTenantTrustedIPAddress -Identity "2001:4898:e8:25:844e:926f:85ad:dd8e" -Description "IPv6 IP address" + + The command shown in Example 3 set the IP address '2001:4898:e8:25:844e:926f:85ad:dd8e' with description 'IPv6 IP address'. + IPv6 format IP address accepts maskbits from 0 to 128 inclusive. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-cstenanttrustedipaddress + + + + + + Set-CsUser + Set + CsUser + + Modifies Skype for Business properties for an existing user account. Properties can be modified only for accounts that have been enabled for use with Skype for Business. This cmdlet was introduced in Lync Server 2010. Note : Using this cmdlet for Microsoft Teams users in commercial and GCC cloud instances has been deprecated. Use the new Set-CsPhoneNumberAssignment (/powershell/module/teams/set-csphonenumberassignment) and [Remove-CsPhoneNumberAssignment](/powershell/module/teams/remove-csphonenumberassignment)cmdlets instead. + + + + The `Set-CsUser` cmdlet enables you to modify the Skype for Business related user account attributes that are stored in Active Directory Domain Services or modify a subset of Skype for Business online user attributes that are stored in Microsoft Entra ID. For example, you can disable or re-enable a user for Skype for Business Server; enable or disable a user for audio/video (A/V) communications; or modify a user's private line and line URI numbers. For Skype for Business online enable or disable a user for enterprise voice, hosted voicemail, or modify the user's on premise line uri. The `Set-CsUser` cmdlet can be used only for users who have been enabled for Skype for Business. + The only attributes you can modify using the `Set-CsUser` cmdlet are attributes related to Skype for Business. Other user account attributes, such as the user's job title or department, cannot be modified by using this cmdlet. Keep in mind, however, that the Skype for Business attributes should only be modified by using the `Set-CsUser` cmdlet or the Skype for Business Server Control Panel. You should not attempt to manually configure these attributes. + + + + Set-CsUser + + Identity + + Indicates the Identity of the user account to be modified. User Identities can be specified using one of four formats: 1) the user's SIP address; 2) the user's user principal name (UPN); 3) the user's domain name and logon name, in the form domain\logon (for example, litwareinc\kenmyer) and 4) the user's Active Directory display name (for example, Ken Myer). User Identities can also be referenced by using the user's Active Directory distinguished name. + You can use the asterisk (*) wildcard character when using the display name as the user Identity. For example, the Identity "Smith" returns all the users who have a display name that ends with the string value " Smith". + + UserIdParameter + + UserIdParameter + + + None + + + AudioVideoDisabled + + Indicates whether the user is allowed to make audio/visual (A/V) calls by using Skype for Business. If set to True, the user will largely be restricted to sending and receiving instant messages. + You cannot disable A/V communications if a user is currently enabled for remote call control, Enterprise Voice, and/or Internet Protocol private branch exchange (IP-PBX) soft phone routing. Note : This parameter is not available for Teams Only tenants from version 3.0.0 onwards. + + Boolean + + Boolean + + + None + + + Enabled + + Indicates whether or not the user has been enabled for Skype for Business Server. If you set this value to False, the user will no longer be able to log on to Skype for Business Server; setting this value to True re-enables the user's logon privileges. + If you disable an account by using the Enabled parameter, the information associated with that account (including assigned policies and whether or not the user is enabled for Enterprise Voice and/or remote call control) is retained. If you later re-enable the account by using the Enabled parameter, the associated account information will be restored. This differs from using the `Disable-CsUser` cmdlet to disable a user account. When you run the `Disable-CsUser` cmdlet, all the Skype for Business Server data associated with that account is deleted. + + Boolean + + Boolean + + + None + + + DomainController + + Enables you to specify a domain controller to connect to when modifying a user account. If this parameter is not included then the cmdlet will use the first available domain controller. + + Fqdn + + Fqdn + + + None + + + EnterpriseVoiceEnabled + + Indicates whether the user has been enabled for Enterprise Voice, which is the Microsoft implementation of Voice over Internet Protocol (VoIP). With Enterprise Voice, users can make telephone calls using the Internet rather than using the standard telephone network. Note : Using this parameter for Microsoft Teams users in commercial and GCC cloud instances has been deprecated. Use the new Set-CsPhoneNumberAssignment (/powershell/module/teams/set-csphonenumberassignment)cmdlet instead. + + Boolean + + Boolean + + + None + + + HostedVoiceMail + + When set to True, enables a user's voice mail calls to be routed to a hosted version of Microsoft Exchange Server. In addition, setting this option to True enables Skype for Business users to directly place a call to another user's voice mail. Note : It is not required to set this parameter for Microsoft Teams users. Using this parameter has been deprecated for Microsoft Teams users in commercial and GCC cloud instances. + + Boolean + + Boolean + + + None + + + LineURI + + Phone number to be assigned to the user in Skype for Business Server or Direct Routing phone number to be assigned to a Microsoft Teams user in GCC High and DoD cloud instances only. + The line Uniform Resource Identifier (URI) must be specified using the E.164 format and the "tel:" prefix, for example: tel:+14255551297. Any extension number should be added to the end of the line URI, for example: tel:+14255551297;ext=51297. + It is important to note that Skype for Business Server treats tel:+14255551297 and tel:+14255551297;ext=51297 as two different numbers. If you assign Ken Myer the line URI tel:+14255551297 and later try to assign Pilar Ackerman the line URI tel:+14255551297;ext=51297, that assignment will succeed; the number assigned to Pilar will not be flagged as a duplicate number. This is due to the fact that, depending on your setup, those two numbers could actually be different. For example, in some organizations dialing 1-425-555-1297 routes your call to an Exchange Auto Attendant. Conversely, dialing just the extension (51297) or using Skype for Business to dial the number 1-425-555-1297 extension 51297 will route your call directly to the user. + For Direct Routing phone numbers in GCC High and DoD cloud instances, assigning a base phone number to a user or resource account is not supported if you already have other users or resource accounts assigned phone numbers with the same base phone number and extensions or vice versa. For instance, if you have a user with the assigned phone number +14255551200;ext=123 you can't assign the phone number +14255551200 to another user or resource account or if you have a user or resource account with the assigned phone number +14255551200 you can't assign the phone number +14255551200;ext=123 to another user or resource account. Assigning phone numbers with the same base number but different extensions to users and resource accounts is supported. For instance, you can have a user with +14255551200;ext=123 and another user with +14255551200;ext=124. + Note: Extension should be part of the E164 Number. For example if you have 5 digit Extensions then the last 5 digits of the E164 Number should always match the 5 digit extension tel:+14255551297;ext=51297 + + String + + String + + + None + + + LineServerURI + + The URI of the remote call control telephone gateway assigned to the user. The LineServerUri is the gateway URI, prefaced by "sip:". For example: sip:rccgateway@litwareinc.com + + String + + String + + + None + + + PrivateLine + + Phone number for the user's private telephone line. A private line is a phone number that is not published in Active Directory Domain Services and, as a result, is not readily available to other people. In addition, this private line bypasses most in-bound call routing rules; for example, a call to a private line will not be forwarded to a person's delegates. Private lines are often used for personal phone calls or for business calls that should be kept separate from other team members. + The private line value should be specified using the E.164 format, and be prefixed by the "tel:" prefix. For example: tel:+14255551297. + + String + + String + + + None + + + RemoteCallControlTelephonyEnabled + + Indicates whether the user has been enabled for remote call control telephony. When enabled for remote call control, a user can employ Skype for Business to answer phone calls made to his or her desk phone. Phone calls can also be made using Skype for Business. These calls all rely on the standard telephone network, also known as the public switched telephone network (PSTN). To make and receive phone calls over the Internet, the user must be enabled for Enterprise Voice. For details, see the parameter EnterpriseVoiceEnabled. + To be enabled for remote call control, a user must have both a LineUri and a LineServerUri. + + Boolean + + Boolean + + + None + + + SipAddress + + Unique identifier (similar to an email address) that allows the user to communicate using SIP devices such as Skype for Business. The SIP address must use the sip: prefix as well as a valid SIP domain; for example: `-SipAddress sip:kenmyer@litwareinc.com`. + + String + + String + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user whose account is being modified. By default, the `Set-CsUser` cmdlet does not pass objects through the pipeline. Note : This parameter is not available for Teams Only tenants from version 3.0.0 onwards. + + + SwitchParameter + + + False + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before executing the command. + + + SwitchParameter + + + False + + + AcpInfo + + Enables you to assign one or more third-party audio conferencing providers to a user. However, it is recommended that you use the `Set-CsUserAcp` cmdlet to assign Audio conferencing providers. + + AcpInfo + + AcpInfo + + + None + + + ExchangeArchivingPolicy + + Indicates where the user's instant messaging sessions are archived. Allowed values are: + Uninitialized + UseLyncArchivingPolicy + ArchivingToExchange + NoArchiving + + ExchangeArchivingPolicyOptionsEnum + + ExchangeArchivingPolicyOptionsEnum + + + None + + + OnPremLineURI + + Specifies the phone number assigned to the user if no number is assigned to that user in the Skype for Business hybrid environment. The line Uniform Resource Identifier (URI) must be specified using the E.164 format and use the "tel:" prefix. For example: tel:+14255551297. Any extension number should be added to the end of the line URI, for example: tel:+14255551297;ext=51297. + Note that Skype for Business treats tel:+14255551297 and tel:+14255551297;ext=51297 as two different numbers. If you assign Ken Myer the line URI tel:+14255551297 and later try to assign Pilar Ackerman the line URI tel:+14255551297;ext=51297, that assignment will succeed. Depending on your setup, those two numbers could actually be different. For example, in some organizations dialing 1-425-555-1297 routes your call to an Exchange Auto Attendant. Conversely, dialing just the extension (51297) or using Skype for Business to dial the number 1-425-555-1297 extension 51297 will route your call directly to the user. Note : Using this parameter for Microsoft Teams users in commercial and GCC cloud instances has been deprecated. Use the new Set-CsPhoneNumberAssignment (/powershell/module/teams/set-csphonenumberassignment)cmdlet instead. Note : Using this parameter for Microsoft Teams users in GCC High and DoD cloud instances has been deprecated. Use the -LineURI parameter instead. + + String + + String + + + None + + + + + + Identity + + Indicates the Identity of the user account to be modified. User Identities can be specified using one of four formats: 1) the user's SIP address; 2) the user's user principal name (UPN); 3) the user's domain name and logon name, in the form domain\logon (for example, litwareinc\kenmyer) and 4) the user's Active Directory display name (for example, Ken Myer). User Identities can also be referenced by using the user's Active Directory distinguished name. + You can use the asterisk (*) wildcard character when using the display name as the user Identity. For example, the Identity "Smith" returns all the users who have a display name that ends with the string value " Smith". + + UserIdParameter + + UserIdParameter + + + None + + + AudioVideoDisabled + + Indicates whether the user is allowed to make audio/visual (A/V) calls by using Skype for Business. If set to True, the user will largely be restricted to sending and receiving instant messages. + You cannot disable A/V communications if a user is currently enabled for remote call control, Enterprise Voice, and/or Internet Protocol private branch exchange (IP-PBX) soft phone routing. Note : This parameter is not available for Teams Only tenants from version 3.0.0 onwards. + + Boolean + + Boolean + + + None + + + Enabled + + Indicates whether or not the user has been enabled for Skype for Business Server. If you set this value to False, the user will no longer be able to log on to Skype for Business Server; setting this value to True re-enables the user's logon privileges. + If you disable an account by using the Enabled parameter, the information associated with that account (including assigned policies and whether or not the user is enabled for Enterprise Voice and/or remote call control) is retained. If you later re-enable the account by using the Enabled parameter, the associated account information will be restored. This differs from using the `Disable-CsUser` cmdlet to disable a user account. When you run the `Disable-CsUser` cmdlet, all the Skype for Business Server data associated with that account is deleted. + + Boolean + + Boolean + + + None + + + DomainController + + Enables you to specify a domain controller to connect to when modifying a user account. If this parameter is not included then the cmdlet will use the first available domain controller. + + Fqdn + + Fqdn + + + None + + + EnterpriseVoiceEnabled + + Indicates whether the user has been enabled for Enterprise Voice, which is the Microsoft implementation of Voice over Internet Protocol (VoIP). With Enterprise Voice, users can make telephone calls using the Internet rather than using the standard telephone network. Note : Using this parameter for Microsoft Teams users in commercial and GCC cloud instances has been deprecated. Use the new Set-CsPhoneNumberAssignment (/powershell/module/teams/set-csphonenumberassignment)cmdlet instead. + + Boolean + + Boolean + + + None + + + HostedVoiceMail + + When set to True, enables a user's voice mail calls to be routed to a hosted version of Microsoft Exchange Server. In addition, setting this option to True enables Skype for Business users to directly place a call to another user's voice mail. Note : It is not required to set this parameter for Microsoft Teams users. Using this parameter has been deprecated for Microsoft Teams users in commercial and GCC cloud instances. + + Boolean + + Boolean + + + None + + + LineURI + + Phone number to be assigned to the user in Skype for Business Server or Direct Routing phone number to be assigned to a Microsoft Teams user in GCC High and DoD cloud instances only. + The line Uniform Resource Identifier (URI) must be specified using the E.164 format and the "tel:" prefix, for example: tel:+14255551297. Any extension number should be added to the end of the line URI, for example: tel:+14255551297;ext=51297. + It is important to note that Skype for Business Server treats tel:+14255551297 and tel:+14255551297;ext=51297 as two different numbers. If you assign Ken Myer the line URI tel:+14255551297 and later try to assign Pilar Ackerman the line URI tel:+14255551297;ext=51297, that assignment will succeed; the number assigned to Pilar will not be flagged as a duplicate number. This is due to the fact that, depending on your setup, those two numbers could actually be different. For example, in some organizations dialing 1-425-555-1297 routes your call to an Exchange Auto Attendant. Conversely, dialing just the extension (51297) or using Skype for Business to dial the number 1-425-555-1297 extension 51297 will route your call directly to the user. + For Direct Routing phone numbers in GCC High and DoD cloud instances, assigning a base phone number to a user or resource account is not supported if you already have other users or resource accounts assigned phone numbers with the same base phone number and extensions or vice versa. For instance, if you have a user with the assigned phone number +14255551200;ext=123 you can't assign the phone number +14255551200 to another user or resource account or if you have a user or resource account with the assigned phone number +14255551200 you can't assign the phone number +14255551200;ext=123 to another user or resource account. Assigning phone numbers with the same base number but different extensions to users and resource accounts is supported. For instance, you can have a user with +14255551200;ext=123 and another user with +14255551200;ext=124. + Note: Extension should be part of the E164 Number. For example if you have 5 digit Extensions then the last 5 digits of the E164 Number should always match the 5 digit extension tel:+14255551297;ext=51297 + + String + + String + + + None + + + LineServerURI + + The URI of the remote call control telephone gateway assigned to the user. The LineServerUri is the gateway URI, prefaced by "sip:". For example: sip:rccgateway@litwareinc.com + + String + + String + + + None + + + PrivateLine + + Phone number for the user's private telephone line. A private line is a phone number that is not published in Active Directory Domain Services and, as a result, is not readily available to other people. In addition, this private line bypasses most in-bound call routing rules; for example, a call to a private line will not be forwarded to a person's delegates. Private lines are often used for personal phone calls or for business calls that should be kept separate from other team members. + The private line value should be specified using the E.164 format, and be prefixed by the "tel:" prefix. For example: tel:+14255551297. + + String + + String + + + None + + + RemoteCallControlTelephonyEnabled + + Indicates whether the user has been enabled for remote call control telephony. When enabled for remote call control, a user can employ Skype for Business to answer phone calls made to his or her desk phone. Phone calls can also be made using Skype for Business. These calls all rely on the standard telephone network, also known as the public switched telephone network (PSTN). To make and receive phone calls over the Internet, the user must be enabled for Enterprise Voice. For details, see the parameter EnterpriseVoiceEnabled. + To be enabled for remote call control, a user must have both a LineUri and a LineServerUri. + + Boolean + + Boolean + + + None + + + SipAddress + + Unique identifier (similar to an email address) that allows the user to communicate using SIP devices such as Skype for Business. The SIP address must use the sip: prefix as well as a valid SIP domain; for example: `-SipAddress sip:kenmyer@litwareinc.com`. + + String + + String + + + None + + + PassThru + + Enables you to pass a user object through the pipeline that represents the user whose account is being modified. By default, the `Set-CsUser` cmdlet does not pass objects through the pipeline. Note : This parameter is not available for Teams Only tenants from version 3.0.0 onwards. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before executing the command. + + SwitchParameter + + SwitchParameter + + + False + + + AcpInfo + + Enables you to assign one or more third-party audio conferencing providers to a user. However, it is recommended that you use the `Set-CsUserAcp` cmdlet to assign Audio conferencing providers. + + AcpInfo + + AcpInfo + + + None + + + ExchangeArchivingPolicy + + Indicates where the user's instant messaging sessions are archived. Allowed values are: + Uninitialized + UseLyncArchivingPolicy + ArchivingToExchange + NoArchiving + + ExchangeArchivingPolicyOptionsEnum + + ExchangeArchivingPolicyOptionsEnum + + + None + + + OnPremLineURI + + Specifies the phone number assigned to the user if no number is assigned to that user in the Skype for Business hybrid environment. The line Uniform Resource Identifier (URI) must be specified using the E.164 format and use the "tel:" prefix. For example: tel:+14255551297. Any extension number should be added to the end of the line URI, for example: tel:+14255551297;ext=51297. + Note that Skype for Business treats tel:+14255551297 and tel:+14255551297;ext=51297 as two different numbers. If you assign Ken Myer the line URI tel:+14255551297 and later try to assign Pilar Ackerman the line URI tel:+14255551297;ext=51297, that assignment will succeed. Depending on your setup, those two numbers could actually be different. For example, in some organizations dialing 1-425-555-1297 routes your call to an Exchange Auto Attendant. Conversely, dialing just the extension (51297) or using Skype for Business to dial the number 1-425-555-1297 extension 51297 will route your call directly to the user. Note : Using this parameter for Microsoft Teams users in commercial and GCC cloud instances has been deprecated. Use the new Set-CsPhoneNumberAssignment (/powershell/module/teams/set-csphonenumberassignment)cmdlet instead. Note : Using this parameter for Microsoft Teams users in GCC High and DoD cloud instances has been deprecated. Use the -LineURI parameter instead. + + String + + String + + + None + + + + + + + + + String or Microsoft.Rtc.Management.ADConnect.Schema.ADUser object. The `Set-CsUser` cmdlet accepts a pipelined string value representing the Identity of a user account that has been enabled for Skype for Business Server. The cmdlet also accepts pipelined instances of the Active Directory user object. + + + + + + + + + + The `Set-CsUser` cmdlet does not return any objects. + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-CsUser -Identity "Pilar Ackerman" -EnterpriseVoiceEnabled $True + + In Example 1, the `Set-CsUser` cmdlet is used to modify the user account with the Identity Pilar Ackerman. In this case, the account is modified to enable Enterprise Voice, the Microsoft implementation of VoIP. This task is carried out by adding the EnterpriseVoiceEnabled parameter, and then setting the parameter value to $True. + + + + -------------------------- Example 2 -------------------------- + Get-CsUser -LdapFilter "Department=Finance" | Set-CsUser -EnterpriseVoiceEnabled $True + + In Example 2, all the users in the Finance department have their accounts enabled for Enterprise Voice. In this command, the `Get-CsUser` cmdlet and the LdapFilter parameter are first used to return a collection of all the users who work in the Finance department. That information is then piped to the `Set-CsUser` cmdlet, which enables Enterprise Voice for each account in the collection. + + + + -------------------------- Example 3 -------------------------- + Set-CsUser -Identity "Pilar Ackerman" -LineUri "tel:+123456789" + + In Example 3, the `Set-CsUser` cmdlet is used to modify the user account with the Identity Pilar Ackerman. In this case, the account is modified to set the phone number assigned to the user settings its LineUri property. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csuser + + + Get-CsOnlineUser + + + + + + + Set-CsUserCallingDelegate + Set + CsUserCallingDelegate + + This cmdlet will change permissions for a delegate for calling in Microsoft Teams. + + + + This cmdlet can change the permissions assigned to a delegate for the specified user. + + + + Set-CsUserCallingDelegate + + Delegate + + The Identity of the delegate to add. Can be specified using the ObjectId or the SIP address. + A user can have up to 25 delegates. + + System.String + + System.String + + + None + + + Identity + + The Identity of the user to add a delegate for. Can be specified using the ObjectId or the SIP address. + + System.String + + System.String + + + None + + + MakeCalls + + Specifies whether delegate is allowed to make calls on behalf of the specified user. + + System.Boolean + + System.Boolean + + + False + + + ManageSettings + + Specifies whether delegate is allowed to change the delegate and calling settings for the specified user. + + System.Boolean + + System.Boolean + + + False + + + ReceiveCalls + + Specifies whether delegate is allowed to receive calls on behalf of the specified user. + + System.Boolean + + System.Boolean + + + False + + + + + + Delegate + + The Identity of the delegate to add. Can be specified using the ObjectId or the SIP address. + A user can have up to 25 delegates. + + System.String + + System.String + + + None + + + Identity + + The Identity of the user to add a delegate for. Can be specified using the ObjectId or the SIP address. + + System.String + + System.String + + + None + + + MakeCalls + + Specifies whether delegate is allowed to make calls on behalf of the specified user. + + System.Boolean + + System.Boolean + + + False + + + ManageSettings + + Specifies whether delegate is allowed to change the delegate and calling settings for the specified user. + + System.Boolean + + System.Boolean + + + False + + + ReceiveCalls + + Specifies whether delegate is allowed to receive calls on behalf of the specified user. + + System.Boolean + + System.Boolean + + + False + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + The cmdlet is available in Teams PowerShell module 4.0.0 or later. + The specified user need to have the Microsoft Phone System license assigned. + You can see the delegate of a user by using the Get-CsUserCallingSettings cmdlet. + + + + + -------------------------- Example 1 -------------------------- + Set-CsUserCallingDelegate -Identity user1@contoso.com -Delegate user2@contoso.com -MakeCalls $false -ReceiveCalls $true -ManageSettings $false + + This example shows setting the permissions for user1@contoso.com's delegate user2@contoso.com. + + + + -------------------------- Example 2 -------------------------- + Set-CsUserCallingDelegate -Identity user1@contoso.com -Delegate user2@contoso.com -MakeCalls $true + + This example shows setting the MakeCalls permissions to True for user1@contoso.com's delegate user2@contoso.com. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csusercallingdelegate + + + Get-CsUserCallingSettings + + + + New-CsUserCallingDelegate + + + + Remove-CsUserCallingDelegate + + + + + + + Set-CsUserCallingSettings + Set + CsUserCallingSettings + + This cmdlet will set the call forwarding, simultaneous ringing and call group settings for the specified user. + + + + This cmdlet sets the call forwarding, simultaneous ringing and call group settings for the specified user. + When specifying settings you need to specify all settings with a settings grouping, for instance, you can't just change a forwarding target. Instead, you need to start by getting the current settings, making the necessary changes, and then setting/writing all settings within the settings group. + + + + Set-CsUserCallingSettings + + CallGroupOrder + + The order in which to call members of the Call Group. The supported values are Simultaneous and InOrder. + You can only use InOrder, if the call group has 5 or less members. + + System.String + + System.String + + + None + + + CallGroupTargets + + The members of the Call Group. You need to always specify the full set of members as the parameter value. What you set here will overwrite the current call group membership. + A call group can have up to 25 members. + + System.Array of System.String + + System.Array of System.String + + + None + + + Identity + + The Identity of the user to set call forwarding, simultaneous ringing and call group settings for. Can be specified using the ObjectId or the SIP address. + + System.String + + System.String + + + None + + + + Set-CsUserCallingSettings + + ForwardingTarget + + The forwarding target. Supported types of values are ObjectId's, SIP addresses and phone numbers. For phone numbers we support the following types of formats: E.164 (+12065551234 or +1206555000;ext=1234) or non-E.164 like 1234. + Only used when ForwardingTargetType is SingleTarget. + + System.String + + System.String + + + None + + + ForwardingTargetType + + The forwarding target type. Supported values are Voicemail, SingleTarget, MyDelegates and Group. Voicemail is only supported for Immediate forwarding. + SingleTarget is used when forwarding to another user or PSTN phone number. MyDelegates is used when forwarding to the users's delegates (there needs to be at least 1 delegate). Group is used when forwarding to the user's call group (it needs to have at least 1 member). + + System.String + + System.String + + + None + + + ForwardingType + + The type of forwarding to set. Supported values are Immediate and Simultaneous + + System.String + + System.String + + + None + + + Identity + + The Identity of the user to set call forwarding, simultaneous ringing and call group settings for. Can be specified using the ObjectId or the SIP address. + + System.String + + System.String + + + None + + + + Set-CsUserCallingSettings + + GroupMembershipDetails + + The group membership details for the specified user. It is an array of ICallGroupMembershipDetails, which is an object containing the identity of an owner of a call group and the notification setting for the specified user for that call group. + This parameter only exists if the specified user is a member of a call group. You can't create it, you can only change it. + You need to always specify the full group membership details as the parameter value. What you set here will over-write the current group membership details. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICallGroupMembershipDetails[] + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICallGroupMembershipDetails[] + + + None + + + Identity + + The Identity of the user to set call forwarding, simultaneous ringing and call group settings for. Can be specified using the ObjectId or the SIP address. + + System.String + + System.String + + + None + + + + Set-CsUserCallingSettings + + GroupNotificationOverride + + The group notification override that will be set on the specified user. The supported values are Ring, Mute and Banner. + The initial setting is shown as Null. It means that the group notification set for the user in the call group is used. If you set GroupNotificationOverride to Mute, that setting will override the group notification for the user in the call group. If you set the GroupNotificationOverride to Ring or Banner, the group notification set for the user in the call group will be used. + + System.String + + System.String + + + None + + + Identity + + The Identity of the user to set call forwarding, simultaneous ringing and call group settings for. Can be specified using the ObjectId or the SIP address. + + System.String + + System.String + + + None + + + + Set-CsUserCallingSettings + + Identity + + The Identity of the user to set call forwarding, simultaneous ringing and call group settings for. Can be specified using the ObjectId or the SIP address. + + System.String + + System.String + + + None + + + IsForwardingEnabled + + This parameter controls whether forwarding is enabled or not. + + System.Boolean + + System.Boolean + + + None + + + + Set-CsUserCallingSettings + + Identity + + The Identity of the user to set call forwarding, simultaneous ringing and call group settings for. Can be specified using the ObjectId or the SIP address. + + System.String + + System.String + + + None + + + IsForwardingEnabled + + This parameter controls whether forwarding is enabled or not. + + System.Boolean + + System.Boolean + + + None + + + + Set-CsUserCallingSettings + + Identity + + The Identity of the user to set call forwarding, simultaneous ringing and call group settings for. Can be specified using the ObjectId or the SIP address. + + System.String + + System.String + + + None + + + IsUnansweredEnabled + + This parameter controls whether forwarding for unanswered calls is enabled or not. + + System.Boolean + + System.Boolean + + + None + + + + Set-CsUserCallingSettings + + Identity + + The Identity of the user to set call forwarding, simultaneous ringing and call group settings for. Can be specified using the ObjectId or the SIP address. + + System.String + + System.String + + + None + + + IsUnansweredEnabled + + This parameter controls whether forwarding for unanswered calls is enabled or not. + + System.Boolean + + System.Boolean + + + None + + + + Set-CsUserCallingSettings + + Identity + + The Identity of the user to set call forwarding, simultaneous ringing and call group settings for. Can be specified using the ObjectId or the SIP address. + + System.String + + System.String + + + None + + + UnansweredDelay + + The time the call will ring the user before it is forwarded to the unanswered target. The supported format is hh:mm:ss and the delay range needs to be between 10 and 60 seconds in 10 seconds increments, i.e. 00:00:10, 00:00:20, 00:00:30, 00:00:40, 00:00:50 and 00:01:00. The default value is 20 seconds. + + System.String + + System.String + + + None + + + UnansweredTarget + + The unanswered target. Supported type of values are ObjectId, SIP address and phone number. For phone numbers we support the following types of formats: E.164 (+12065551234 or +1206555000;ext=1234) or non-E.164 like 1234. + Only used when UnansweredTargetType is SingleTarget. + + System.String + + System.String + + + None + + + UnansweredTargetType + + The unanswered target type. Supported values are Voicemail, SingleTarget, MyDelegates and Group. + SingleTarget is used when forwarding the unanswered call to another user or phone number. MyDelegates is used when forwarding the unanswered call to the users's delegates. Group is used when forwarding the unanswered call to the specified user's call group. + + System.String + + System.String + + + None + + + + + + CallGroupOrder + + The order in which to call members of the Call Group. The supported values are Simultaneous and InOrder. + You can only use InOrder, if the call group has 5 or less members. + + System.String + + System.String + + + None + + + CallGroupTargets + + The members of the Call Group. You need to always specify the full set of members as the parameter value. What you set here will overwrite the current call group membership. + A call group can have up to 25 members. + + System.Array of System.String + + System.Array of System.String + + + None + + + ForwardingTarget + + The forwarding target. Supported types of values are ObjectId's, SIP addresses and phone numbers. For phone numbers we support the following types of formats: E.164 (+12065551234 or +1206555000;ext=1234) or non-E.164 like 1234. + Only used when ForwardingTargetType is SingleTarget. + + System.String + + System.String + + + None + + + ForwardingTargetType + + The forwarding target type. Supported values are Voicemail, SingleTarget, MyDelegates and Group. Voicemail is only supported for Immediate forwarding. + SingleTarget is used when forwarding to another user or PSTN phone number. MyDelegates is used when forwarding to the users's delegates (there needs to be at least 1 delegate). Group is used when forwarding to the user's call group (it needs to have at least 1 member). + + System.String + + System.String + + + None + + + ForwardingType + + The type of forwarding to set. Supported values are Immediate and Simultaneous + + System.String + + System.String + + + None + + + GroupMembershipDetails + + The group membership details for the specified user. It is an array of ICallGroupMembershipDetails, which is an object containing the identity of an owner of a call group and the notification setting for the specified user for that call group. + This parameter only exists if the specified user is a member of a call group. You can't create it, you can only change it. + You need to always specify the full group membership details as the parameter value. What you set here will over-write the current group membership details. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICallGroupMembershipDetails[] + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICallGroupMembershipDetails[] + + + None + + + GroupNotificationOverride + + The group notification override that will be set on the specified user. The supported values are Ring, Mute and Banner. + The initial setting is shown as Null. It means that the group notification set for the user in the call group is used. If you set GroupNotificationOverride to Mute, that setting will override the group notification for the user in the call group. If you set the GroupNotificationOverride to Ring or Banner, the group notification set for the user in the call group will be used. + + System.String + + System.String + + + None + + + Identity + + The Identity of the user to set call forwarding, simultaneous ringing and call group settings for. Can be specified using the ObjectId or the SIP address. + + System.String + + System.String + + + None + + + IsForwardingEnabled + + This parameter controls whether forwarding is enabled or not. + + System.Boolean + + System.Boolean + + + None + + + IsUnansweredEnabled + + This parameter controls whether forwarding for unanswered calls is enabled or not. + + System.Boolean + + System.Boolean + + + None + + + UnansweredDelay + + The time the call will ring the user before it is forwarded to the unanswered target. The supported format is hh:mm:ss and the delay range needs to be between 10 and 60 seconds in 10 seconds increments, i.e. 00:00:10, 00:00:20, 00:00:30, 00:00:40, 00:00:50 and 00:01:00. The default value is 20 seconds. + + System.String + + System.String + + + None + + + UnansweredTarget + + The unanswered target. Supported type of values are ObjectId, SIP address and phone number. For phone numbers we support the following types of formats: E.164 (+12065551234 or +1206555000;ext=1234) or non-E.164 like 1234. + Only used when UnansweredTargetType is SingleTarget. + + System.String + + System.String + + + None + + + UnansweredTargetType + + The unanswered target type. Supported values are Voicemail, SingleTarget, MyDelegates and Group. + SingleTarget is used when forwarding the unanswered call to another user or phone number. MyDelegates is used when forwarding the unanswered call to the users's delegates. Group is used when forwarding the unanswered call to the specified user's call group. + + System.String + + System.String + + + None + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + The cmdlet is available in Teams PowerShell module 4.0.0 or later. + The specified user need to have the Microsoft Phone System license assigned. + When forwarding to MyDelegates, the specified user needs to have one or more delegates defined that are allowed to receive calls. When forwarding to Group, the specified user needs to have one or more members of the user's call group. + The cmdlet is validating the different settings and is always writing all the parameters in a settings group. You might see validation errors from the cmdlet due to this behavior. As an example, if you have ForwardingTargetType set to Group and you want to remove all members of the call group, you will get a validation error. + You can specify a SIP URI without 'sip:' on input, but the output from Get-CsUserCallingSettings will show the full SIP URI. + You are not able to configure delegates via this cmdlet. Please use New-CsUserCallingDelegate, Set-CsUserCallingDelegate cmdlets and Remove-CsUserCallingDelegate. + + + + + -------------------------- Example 1 -------------------------- + Set-CsUserCallingSettings -Identity user1@contoso.com -IsForwardingEnabled $true -ForwardingType Immediate -ForwardingTargetType Voicemail + + This example shows setting immediate call forwarding to voicemail for user1@contoso.com. + + + + -------------------------- Example 2 -------------------------- + Set-CsUserCallingSettings -Identity user1@contoso.com -IsForwardingEnabled $false + + This example shows removing call forwarding for user1@contoso.com. + + + + -------------------------- Example 3 -------------------------- + Set-CsUserCallingSettings -Identity user1@contoso.com -IsForwardingEnabled $true -ForwardingType Simultaneous -ForwardingTargetType SingleTarget -ForwardingTarget "+12065551234" + + This example shows setting simultaneous ringing to +12065551234 for user1@contoso.com. + + + + -------------------------- Example 4 -------------------------- + Set-CsUserCallingSettings -Identity user1@contoso.com -IsUnansweredEnabled $true -UnansweredTargetType MyDelegates -UnansweredDelay 00:00:30 + + This example shows setting unanswered call forward to the delegates after 30 seconds for user1@contoso.com. + + + + -------------------------- Example 5 -------------------------- + $cgm = @("sip:user2@contoso.com","sip:user3@contoso.com") +Set-CsUserCallingSettings -Identity user1@contoso.com -CallGroupOrder InOrder -CallGroupTargets $cgm +Set-CsUserCallingSettings -Identity user1@contoso.com -IsForwardingEnabled $true -ForwardingType Immediate -ForwardingTargetType Group + + This example shows creating a call group for user1@contoso.com with 2 members and setting immediate call forward to the call group for user1@contoso.com. + + + + -------------------------- Example 6 -------------------------- + $ucs = Get-CsUserCallingSettings -Identity user1@contoso.com +$cgt = {$ucs.CallGroupTargets}.Invoke() +$cgt.Add("sip:user5@contoso.com") +$cgt.Remove("sip:user6@contoso.com") +Set-CsUserCallingSettings -Identity user1@contoso.com -CallGroupOrder $ucs.CallGroupOrder -CallGroupTargets $cgt + +$gmd = (Get-CsUserCallingSettings -Identity user5@contoso.com).GroupMembershipDetails +$gmd[[array]::IndexOf($gmd.CallGroupOwnerId,'sip:user1@contoso.com')].NotificationSetting = 'Banner' +Set-CsUserCallingSettings -Identity user5@contoso.com -GroupMembershipDetails $gmd + + This example shows how to update the call group of user1@contoso.com to add user5@contoso.com and remove user6@contoso.com. In addition the notification setting for user5@contoso.com for user1@contoso.com's call group is set to Banner. + The key to note here is the call group membership is defined on the object of the owner of the call group, in the above case this is user1@contoso.com. However, the notification setting for a member for a particular call group is defined on the member. In this case user5@contoso.com. + + + + -------------------------- Example 7 -------------------------- + $ucs = Get-CsUserCallingSettings -Identity user1@contoso.com +Set-CsUserCallingSettings -Identity user1@contoso.com -CallGroupOrder $ucs.CallGroupOrder -CallGroupTargets @() + + This example shows how to remove all members of the call group. + + + + -------------------------- Example 8 -------------------------- + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICallGroupMembershipDetails[]]$gmd = @( + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICallGroupMembershipDetails]@{CallGroupOwnerId='sip:user20@contoso.com';NotificationSetting='Banner'} + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICallGroupMembershipDetails]@{CallGroupOwnerId='sip:user30@contoso.com';NotificationSetting='Mute'} +) +Set-CsUserCallingSettings -Identity user10@contoso.com -GroupMembershipDetails $gmd + + In this example user10@contoso.com is a member of two call groups: user20@contoso.com and user30@contoso.com. User10@contoso.com would like to have Banner notification for the first call group and Mute notification for the last one. + + + + -------------------------- Example 9 -------------------------- + Set-CsUserCallingSettings -Identity user2@contoso.com -GroupNotificationOverride 'Mute' + + This example shows how to set the group notification override for user2@contoso.com. This setting overrides any specific notification setting set for the user on any call group the user is a member of. + + + + -------------------------- Example 10 -------------------------- + Set-CsUserCallingSettings -Identity user6@contoso.com -IsForwardingEnabled $false +Set-CsUserCallingSettings -Identity user6@contoso.com -IsUnansweredEnabled $true -UnansweredTargetType Voicemail -UnansweredDelay 00:00:20 + + This example shows how to set the default call forwarding settings for a user. + + + + -------------------------- Example 11 -------------------------- + Set-CsUserCallingSettings -Identity user7@contoso.com -IsUnansweredEnabled $false + + This example shows turning off unanswered call forwarding for a user. The Microsoft Teams client will show this as If unanswered Do nothing . + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csusercallingsettings + + + Get-CsUserCallingSettings + + + + New-CsUserCallingDelegate + + + + Set-CsUserCallingDelegate + + + + Remove-CsUserCallingDelegate + + + + + + + Set-CsVideoInteropServiceProvider + Set + CsVideoInteropServiceProvider + + Cloud Video Interop for Teams enables 3rd party VTC devices to be able to join Teams meetings. The CsVideoInteropServiceProvider cmdlets allow you to designate provider/tenant specific information about the connection to the provider. + + + + Cloud Video Interop for Teams enables 3rd party VTC devices to be able to join Teams meetings. The CsVideoInteropServiceProvider cmdlets allow you to designate provider/tenant specific information about the connection to the provider. + Use the Set-CsVideoInteropServiceProvider to update information about a supported CVI partner your organization uses. + + + + Set-CsVideoInteropServiceProvider + + Identity + + Specify the VideoInteropServiceProvider to be updated. + + XdsGlobalRelativeIdentity + + XdsGlobalRelativeIdentity + + + None + + + AadApplicationIds + + This is an optional parameter. A semicolon separated list of Microsoft Entra AppIds of the CVI partner bots can be specified in this parameter. This parameter works in conjunction with AllowAppGuestJoinsAsAuthenticated. When AllowAppGuestJoinsAsAuthenticated is set to true, a VTC device joining anonymously using any of these bots, is shown in the meeting as an authenticated tenant entity. + + String + + String + + + None + + + AllowAppGuestJoinsAsAuthenticated + + This is an optional parameter. Default = false. This parameter works in conjunction with AadApplicationIds. When AllowAppGuestJoinsAsAuthenticated is set to true, a VTC device joining anonymously using any of the bots Microsoft Entra application ids specified in AadApplicationIds, is shown in the meeting as an authenticated tenant entity. + + Boolean + + Boolean + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Bypass all non-fatal errors. + + + SwitchParameter + + + False + + + InstructionUri + + InstructionUri provides additional VTC dialin options. This field shows up in the Teams meeting when a CVI enabled user schedules a meeting. This TenantKey is used to dial into the partner's IVR for the partner CVI service. The partner will provide you this information when you sign up for CVI service through any of our partners + + String + + String + + + None + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + TenantKey + + Tenantkey shows up in the Teams meeting when a CVI enabled user schedules a meeting. This TenantKey is used to dial into the partner's IVR for the partner CVI service. The partner will provide you this information when you sign up for CVI service through any of our partners. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Set-CsVideoInteropServiceProvider + + AadApplicationIds + + This is an optional parameter. A semicolon separated list of Microsoft Entra AppIds of the CVI partner bots can be specified in this parameter. This parameter works in conjunction with AllowAppGuestJoinsAsAuthenticated. When AllowAppGuestJoinsAsAuthenticated is set to true, a VTC device joining anonymously using any of these bots, is shown in the meeting as an authenticated tenant entity. + + String + + String + + + None + + + AllowAppGuestJoinsAsAuthenticated + + This is an optional parameter. Default = false. This parameter works in conjunction with AadApplicationIds. When AllowAppGuestJoinsAsAuthenticated is set to true, a VTC device joining anonymously using any of the bots Microsoft Entra application ids specified in AadApplicationIds, is shown in the meeting as an authenticated tenant entity. + + Boolean + + Boolean + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + Force + + Bypass all non-fatal errors. + + + SwitchParameter + + + False + + + Instance + + Pass an existing provider from Get-CsVideoInteropServiceProvider to update (use instead of specifying "Identity") + + PSObject + + PSObject + + + None + + + InstructionUri + + InstructionUri provides additional VTC dialin options. This field shows up in the Teams meeting when a CVI enabled user schedules a meeting. This TenantKey is used to dial into the partner's IVR for the partner CVI service. The partner will provide you this information when you sign up for CVI service through any of our partners + + String + + String + + + None + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + TenantKey + + Tenantkey shows up in the Teams meeting when a CVI enabled user schedules a meeting. This TenantKey is used to dial into the partner's IVR for the partner CVI service. The partner will provide you this information when you sign up for CVI service through any of our partners. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + AadApplicationIds + + This is an optional parameter. A semicolon separated list of Microsoft Entra AppIds of the CVI partner bots can be specified in this parameter. This parameter works in conjunction with AllowAppGuestJoinsAsAuthenticated. When AllowAppGuestJoinsAsAuthenticated is set to true, a VTC device joining anonymously using any of these bots, is shown in the meeting as an authenticated tenant entity. + + String + + String + + + None + + + AllowAppGuestJoinsAsAuthenticated + + This is an optional parameter. Default = false. This parameter works in conjunction with AadApplicationIds. When AllowAppGuestJoinsAsAuthenticated is set to true, a VTC device joining anonymously using any of the bots Microsoft Entra application ids specified in AadApplicationIds, is shown in the meeting as an authenticated tenant entity. + + Boolean + + Boolean + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + Bypass all non-fatal errors. + + SwitchParameter + + SwitchParameter + + + False + + + Identity + + Specify the VideoInteropServiceProvider to be updated. + + XdsGlobalRelativeIdentity + + XdsGlobalRelativeIdentity + + + None + + + Instance + + Pass an existing provider from Get-CsVideoInteropServiceProvider to update (use instead of specifying "Identity") + + PSObject + + PSObject + + + None + + + InstructionUri + + InstructionUri provides additional VTC dialin options. This field shows up in the Teams meeting when a CVI enabled user schedules a meeting. This TenantKey is used to dial into the partner's IVR for the partner CVI service. The partner will provide you this information when you sign up for CVI service through any of our partners + + String + + String + + + None + + + Tenant + + Internal Microsoft use only. + + System.Guid + + System.Guid + + + None + + + TenantKey + + Tenantkey shows up in the Teams meeting when a CVI enabled user schedules a meeting. This TenantKey is used to dial into the partner's IVR for the partner CVI service. The partner will provide you this information when you sign up for CVI service through any of our partners. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.Management.Automation.PSObject + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Set-CsVideoInteropServiceProvider -Identity cviprovider -AllowAppGuestJoinsAsAuthenticated $true + + This example enables a VTC device joining anonymously to shown in the meeting as authenticated, for a supported CVI partner your organization uses. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/set-csvideointeropserviceprovider + + + + + + Start-CsExMeetingMigration + Start + CsExMeetingMigration + + This cmdlet manually trigger a meeting migration request for the specified user. + + + + Meeting Migration Service (MMS) is a Skype for Business service that runs in the background and automatically updates Skype for Business and Microsoft Teams meetings for users. MMS is designed to eliminate the need for users to run the Meeting Migration Tool to update their Skype for Business and Microsoft Teams meetings. + Also, with `Start-CsExMeetingMigration` cmdlet, you can start a meeting migration manually. For more information about requirements of the Meeting Migration Service (MMS), see Using the Meeting Migration Service (MMS) (/skypeforbusiness/audio-conferencing-in-office-365/setting-up-the-meeting-migration-service-mms). + + + + Start-CsExMeetingMigration + + Identity + + Specifies the Identity of the user account to be modified. A user identity can be specified by using one of four formats: 1. The user's SIP address 2. The user's user principal name (UPN) 3. The user's domain name and logon name, in the form domain\logon (for example, litwareinc\kenmyer) 4. The user's Active Directory display name (for example, Ken Myer). You can also reference a user account by using the user's Active Directory distinguished name. + + UserIdParameter + + UserIdParameter + + + None + + + SourceMeetingType + + The possible values are: All: indicates that both Skype for Business meetings and Teams meetings should be updated. This is the default value *. SfB: * indicates that only Skype for Business meetings (whether on-premises or online) should be updated. Teams: * indicates that only Teams meetings should be updated. + + Object + + Object + + + All + + + TargetMeetingType + + The possible values are: Current: specifies that Skype for Business meetings remain Skype for Business meetings and Teams meetings remain Teams meetings. However audio conferencing coordinates might be changed, and any on-premises Skype for Business meetings would be migrated to Skype for Business Online. This is the default value *. Teams: * specifies that any existing meeting must be migrated to Teams, regardless of whether the meeting is hosted in Skype for Business online or on-premises, and regardless of whether any audio conferencing updates are required. + + Object + + Object + + + Current + + + + + + Identity + + Specifies the Identity of the user account to be modified. A user identity can be specified by using one of four formats: 1. The user's SIP address 2. The user's user principal name (UPN) 3. The user's domain name and logon name, in the form domain\logon (for example, litwareinc\kenmyer) 4. The user's Active Directory display name (for example, Ken Myer). You can also reference a user account by using the user's Active Directory distinguished name. + + UserIdParameter + + UserIdParameter + + + None + + + SourceMeetingType + + The possible values are: All: indicates that both Skype for Business meetings and Teams meetings should be updated. This is the default value *. SfB: * indicates that only Skype for Business meetings (whether on-premises or online) should be updated. Teams: * indicates that only Teams meetings should be updated. + + Object + + Object + + + All + + + TargetMeetingType + + The possible values are: Current: specifies that Skype for Business meetings remain Skype for Business meetings and Teams meetings remain Teams meetings. However audio conferencing coordinates might be changed, and any on-premises Skype for Business meetings would be migrated to Skype for Business Online. This is the default value *. Teams: * specifies that any existing meeting must be migrated to Teams, regardless of whether the meeting is hosted in Skype for Business online or on-premises, and regardless of whether any audio conferencing updates are required. + + Object + + Object + + + Current + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Start-CsExMeetingMigration -Identity ashaw@contoso.com -TargetMeetingType Teams + + This example below shows how to initiate meeting migration for user ashaw@contoso.com so that all meetings are migrated to Teams. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/start-csexmeetingmigration + + + Using the Meeting Migration Service (MMS) + https://learn.microsoft.com/SkypeForBusiness/audio-conferencing-in-office-365/setting-up-the-meeting-migration-service-mms + + + Get-CsMeetingMigrationStatus + + + + Set-CsTenantMigrationConfiguration + + + + Get-CsTenantMigrationConfiguration + + + + + + + Sync-CsOnlineApplicationInstance + Sync + CsOnlineApplicationInstance + + Use the Sync-CsOnlineApplicationInstance cmdlet to sync the application instance from Microsoft Entra ID into Agent Provisioning Service. This is needed because the mapping between application instance and application needs to be stored in Agent Provisioning Service. If an application ID was provided at the creation of the application instance, you need not run this cmdlet. + + + + Use the Sync-CsOnlineApplicationInstance cmdlet to sync application instances from Microsoft Entra ID into Agent Provisioning Service. + + + + Sync-CsOnlineApplicationInstance + + CallbackUri + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + ObjectId + + The application instance ID. + + System.Guid + + System.Guid + + + None + + + ApplicationId + + The application ID. The Microsoft application Auto Attendant has the ApplicationId ce933385-9390-45d1-9512-c8d228074e07 and the Microsoft application Call Queue has the ApplicationId 11cd3e2e-fccb-42ad-ad00-878b93575e07. Third-party applications available in a tenant will use other ApplicationId's. + + System.Guid + + System.Guid + + + None + + + AcsResourceId + + The ACS Resource ID. The unique identifier assigned to an instance of Azure Communication Services within the Azure cloud infrastructure. + + System.Guid + + System.Guid + + + None + + + Force + + This switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If it isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + + + + CallbackUri + + This parameter is reserved for internal Microsoft use. + + String + + String + + + None + + + ObjectId + + The application instance ID. + + System.Guid + + System.Guid + + + None + + + ApplicationId + + The application ID. The Microsoft application Auto Attendant has the ApplicationId ce933385-9390-45d1-9512-c8d228074e07 and the Microsoft application Call Queue has the ApplicationId 11cd3e2e-fccb-42ad-ad00-878b93575e07. Third-party applications available in a tenant will use other ApplicationId's. + + System.Guid + + System.Guid + + + None + + + AcsResourceId + + The ACS Resource ID. The unique identifier assigned to an instance of Azure Communication Services within the Azure cloud infrastructure. + + System.Guid + + System.Guid + + + None + + + Force + + This switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If it isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Sync-CsOnlineApplicationInstance -ObjectId xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -ApplicationId yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy + + This example sync application instance with object ID "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" and application ID "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy" into Agent Provisioning Service. + + + + -------------------------- Example 2 -------------------------- + Sync-CsOnlineApplicationInstance -ObjectId xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -ApplicationId 00000000-0000-0000-0000-000000000000 + + This command is helpful when there's already a mapping in Agent Provisioning Service and you want to set a different app ID value. In this case, when running the cmdlet in example 1, you will see `Sync-CsOnlineApplicationInstance : An item with the same key has already been added.`. + The command removes the mapping for application instance with object ID "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx". Run the example cmdlet again to create the mapping in Agent Provisioning Service. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/sync-csonlineapplicationinstance + + + Set-CsOnlineApplicationInstance + + + + New-CsOnlineApplicationInstance + + + + Find-CsOnlineApplicationInstance + + + + Get-CsOnlineApplicationInstance + + + + + + + Test-CsEffectiveTenantDialPlan + Test + CsEffectiveTenantDialPlan + + Use the Test-CsEffectiveTenantDialPlan cmdlet to test a tenant dial plan. + + + + The `Test-CsEffectiveTenantDialPlan` cmdlet normalizes the dialed number by applying the normalization rules from the effective tenant dial plan that is returned for the specified user. + + + + Test-CsEffectiveTenantDialPlan + + DialedNumber + + The DialedNumber parameter is the phone number to be normalized with the effective tenant dial plan. + + PhoneNumber + + PhoneNumber + + + None + + + Identity + + Indicates the identity of the user account to be tested against. The user's SIP address, the user's user principal name (UPN) or the user's display name can be specified. + + UserIdParameter + + UserIdParameter + + + None + + + Confirm + + The Confirm switch causes the command to pause processing, and requires confirmation to proceed. + + + SwitchParameter + + + False + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + + SwitchParameter + + + False + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + + SwitchParameter + + + False + + + EffectiveTenantDialPlanName + + The EffectiveTenantDialPlanName parameter is the effective tenant dial plan name in the form of TenantId_TenantDialPlan_GlobalVoiceDialPlan. + + String + + String + + + None + + + TenantScopeOnly + + Runs the test only against Tenant-level dial plans (does not take into account Service Level Dial Plans). + + + SwitchParameter + + + False + + + + + + DialedNumber + + The DialedNumber parameter is the phone number to be normalized with the effective tenant dial plan. + + PhoneNumber + + PhoneNumber + + + None + + + Identity + + Indicates the identity of the user account to be tested against. The user's SIP address, the user's user principal name (UPN) or the user's display name can be specified. + + UserIdParameter + + UserIdParameter + + + None + + + Confirm + + The Confirm switch causes the command to pause processing, and requires confirmation to proceed. + + SwitchParameter + + SwitchParameter + + + False + + + Force + + The Force switch specifies whether to suppress warning and confirmation messages. It can be useful in scripting to suppress interactive prompts. If the Force switch isn't provided in the command, you're prompted for administrative input if required. + + SwitchParameter + + SwitchParameter + + + False + + + WhatIf + + The WhatIf switch causes the command to simulate its results. By using this switch, you can view what changes would occur without having to commit those changes. + + SwitchParameter + + SwitchParameter + + + False + + + EffectiveTenantDialPlanName + + The EffectiveTenantDialPlanName parameter is the effective tenant dial plan name in the form of TenantId_TenantDialPlan_GlobalVoiceDialPlan. + + String + + String + + + None + + + TenantScopeOnly + + Runs the test only against Tenant-level dial plans (does not take into account Service Level Dial Plans). + + SwitchParameter + + SwitchParameter + + + False + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsEffectiveTenantDialPlan -Identity adelev | Test-CsEffectiveTenantDialPlan -DialedNumber 14258828080 + + This example gets the Identity of a dial plan that is associated with the identity of a user, and applies the retrieved tenant dial plan to normalize the dialed number. + + + + -------------------------- Example 2 -------------------------- + Test-CsEffectiveTenantDialPlan -DialedNumber 14258828080 -Identity adelev@contoso.onmicrosoft.com + + This example tests the given dialed number against a specific identity. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/test-cseffectivetenantdialplan + + + + + + Test-CsInboundBlockedNumberPattern + Test + CsInboundBlockedNumberPattern + + This cmdlet tests the given number against the created (by using New-CsInboundBlockedNumberPattern cmdlet) blocked numbers pattern. + + + + This cmdlet tests the given number against the created (by using New-CsInboundBlockedNumberPattern cmdlet) blocked numbers pattern. + + + + Test-CsInboundBlockedNumberPattern + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + PhoneNumber + + The phone number to be tested. + + String + + String + + + None + + + TenantId + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + PhoneNumber + + The phone number to be tested. + + String + + String + + + None + + + TenantId + + This parameter is reserved for internal Microsoft use. + + Guid + + Guid + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + System.String + + + + + + + + System.Guid + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Test-CsInboundBlockedNumberPattern -PhoneNumber "321321321" + + Tests the "321321321" number to check if it will be blocked for inbound calls. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/test-csinboundblockednumberpattern + + + + + + Test-CsTeamsShiftsConnectionValidate + Test + CsTeamsShiftsConnectionValidate + + This cmdlet validates workforce management (WFM) connection settings. + + + + This cmdlet validates Workforce management (WFM) connection settings. It validates that the provided WFM account/password and required endpoints are set correctly. + + + + Test-CsTeamsShiftsConnectionValidate + + ConnectorId + + The ID of the shifts connector. + + String + + String + + + None + + + Name + + The connector's instance name. + + String + + String + + + None + + + ConnectorSpecificSettings + + The connector specific settings. + + IConnectorInstanceRequestConnectorSpecificSettings + + IConnectorInstanceRequestConnectorSpecificSettings + + + None + + + + + + ConnectorId + + The ID of the shifts connector. + + String + + String + + + None + + + Name + + The connector's instance name. + + String + + String + + + None + + + ConnectorSpecificSettings + + The connector specific settings. + + IConnectorInstanceRequestConnectorSpecificSettings + + IConnectorInstanceRequestConnectorSpecificSettings + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> $InstanceName = "test instance name" +PS C:\> $WfmUserName = "WfmUserName" +PS C:\> $plainPwd = "plainPwd" +PS C:\> Test-CsTeamsShiftsConnectionValidate -ConnectorId "6A51B888-FF44-4FEA-82E1-839401E00000" -ConnectorSpecificSettings (New-Object Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConnectorSpecificBlueYonderSettingsRequest -Property @{ AdminApiUrl = "https://contoso.com/retail/data/wfmadmin/api/v1-beta3"; SiteManagerUrl = "https://contoso.com/retail/data/wfmsm/api/v1-beta4"; EssApiUrl = "https://contoso.com/retail/data/wfmess/api/v1-beta2"; RetailWebApiUrl = "https://contoso.com/retail/data/retailwebapi/api/v1"; CookieAuthUrl = "https://contoso.com/retail/data/login"; FederatedAuthUrl = "https://contoso.com/retail/data/login"; LoginUserName = "PlaceholderForUsername"; LoginPwd = "PlaceholderForPassword" }) -Name $InstanceName + + Returns the list of conflicts if there are any. Empty result means there's no conflict. + + + + -------------------------- Example 2 -------------------------- + PS C:\> $InstanceName = "test instance name" +PS C:\> $WfmUserName = "WfmUserName" +PS C:\> $plainPwd = "plainPwd" +PS C:\> Test-CsTeamsShiftsConnectionValidate -ConnectorId "6A51B888-FF44-4FEA-82E1-839401E00000" -ConnectorSpecificSettings (New-Object Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConnectorSpecificUkgDimensionsSettingsRequest -Property @{ apiUrl = "https://contoso.com/api"; ssoUrl = "https://contoso.com/sso"; appKey = "myAppKey"; clientId = "myClientId"; clientSecret = "PlaceholderForClientSecret"; LoginUserName = "PlaceholderForUsername"; LoginPwd = "PlaceholderForPassword" }) -Name $InstanceName + + Returns the list of conflicts if there are any. Empty result means there's no conflict. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/test-csteamsshiftsconnectionvalidate + + + New-CsTeamsShiftsConnectionInstance + + + + Set-CsTeamsShiftsConnectionInstance + + + + + + + Test-CsTeamsTranslationRule + Test + CsTeamsTranslationRule + + This cmdlet tests a phone number against the configured number manipulation rules and returns information about the matching rule. + + + + This cmdlet tests a phone number against the configured number manipulation rules and returns information about the matching rule. + + + + Test-CsTeamsTranslationRule + + PhoneNumber + + The phone number to test. + + System.String + + System.String + + + None + + + + + + PhoneNumber + + The phone number to test. + + System.String + + System.String + + + None + + + + + + None + + + + + + + + + + None + + + + + + + + + The cmdlet is available in Teams PowerShell Module 4.5.0 or later. + The matching logic used in the cmdlet is the same as when the manipulation rule has been associated with an SBC and a call is being routed. + If a match is found in two or more manipulation rules, the first one is returned. + There is a short delay before newly created manipulation rules are added to the evaluation. + + + + + -------------------------- Example 1 -------------------------- + Test-CsTeamsTranslationRule -PhoneNumber 1234 + +Identity Pattern PhoneNumberTranslated Translation +-------- ------- --------------------- ----------- +rule1 ^1234$ 4321 4321 + + This example displays information about the manipulation rule matching the phone number 1234. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/test-csteamstranslationrule + + + New-CsTeamsTranslationRule + + + + Get-CsTeamsTranslationRule + + + + Set-CsTeamsTranslationRule + + + + Remove-CsTeamsTranslationRule + + + + + + + Test-CsTeamsUnassignedNumberTreatment + Test + CsTeamsUnassignedNumberTreatment + + This cmdlet tests the given number against the created (by using New-CsTeamsUnassignedNumberTreatment cmdlet) unassigned number treatment configurations. + + + + This cmdlet tests the given number against the created (by using New-CsTeamsUnassignedNumberTreatment cmdlet) unassigned number treatment configurations. If a match is found, the matching treatment is displayed. + + + + Test-CsTeamsUnassignedNumberTreatment + + PhoneNumber + + The phone number to be tested. + + String + + String + + + None + + + + + + PhoneNumber + + The phone number to be tested. + + String + + String + + + None + + + + + + System.String + + + + + + + + + + System.Object + + + + + + + + + The cmdlet is available in Teams PS module 3.2.0-preview or later. + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Test-CsTeamsUnassignedNumberTreatment -PhoneNumber "321321321" + + Tests the "321321321" number to check if there is a matching unassigned number treatment. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/test-csteamsunassignednumbertreatment + + + New-CsTeamsUnassignedNumberTreatment + + + + Get-CsTeamsUnassignedNumberTreatment + + + + Set-CsTeamsUnassignedNumberTreatment + + + + Remove-CsTeamsUnassignedNumberTreatment + + + + + + + Test-CsVoiceNormalizationRule + Test + CsVoiceNormalizationRule + + Tests a telephone number against a voice normalization rule and returns the number after the normalization rule has been applied. Voice normalization rules are typically used to convert a telephone dialing requirement (for example, you must dial 9 to access an outside line) to the E.164 phone number format. This cmdlet was introduced in Lync Server 2010. + + + + This cmdlet allows you to see the results of applying a voice normalization rule to a given telephone number. Voice normalization rules are a required part of phone authorization and call routing. They define the requirements for converting--or translating-- numbers from a format typically entered by users to a standard (E.164) format. Use this cmdlet to troubleshoot dialing issues or to verify that rules will work as expected against given numbers. + + + + Test-CsVoiceNormalizationRule + + DialedNumber + + The phone number against which you want to test the normalization rule specified in the NormalizationRule parameter. + Full Data Type: Microsoft.Rtc.Management.Voice.PhoneNumber + + PhoneNumber + + PhoneNumber + + + None + + + NormalizationRule + + An object containing a reference to the normalization rule against which you want to test the number specified in the DialedNumber parameter. + For Lync and Skype for Business Server, you can retrieve voice normalization rules by calling the `Get-CsVoiceNormalizationRule` cmdlet. For Microsoft Teams, you can retrieve voice normalization rules by calling the `Get-CsTenantDialPlan` cmdlet. + + NormalizationRule + + NormalizationRule + + + None + + + + + + DialedNumber + + The phone number against which you want to test the normalization rule specified in the NormalizationRule parameter. + Full Data Type: Microsoft.Rtc.Management.Voice.PhoneNumber + + PhoneNumber + + PhoneNumber + + + None + + + NormalizationRule + + An object containing a reference to the normalization rule against which you want to test the number specified in the DialedNumber parameter. + For Lync and Skype for Business Server, you can retrieve voice normalization rules by calling the `Get-CsVoiceNormalizationRule` cmdlet. For Microsoft Teams, you can retrieve voice normalization rules by calling the `Get-CsTenantDialPlan` cmdlet. + + NormalizationRule + + NormalizationRule + + + None + + + + + + + + + Microsoft.Rtc.Management.WritableConfig.Policy.Voice.NormalizationRule object. Accepts pipelined input of voice normalization rule objects. + + + + + + + + + + Returns an object of type Microsoft.Rtc.Management.Voice.NormalizationRuleTestResult. + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-CsVoiceNormalizationRule -Identity "global/11 digit number rule" | Test-CsVoiceNormalizationRule -DialedNumber 14255559999 + + For Lync or Skype for Business Server, this example runs a voice normalization test against the voice normalization rule with the Identity "global/11 digit number rule". First the `Get-CsVoiceNormalizationRule` cmdlet is run to retrieve the rule with the Identity "global/11 digit number rule". That rule object is then piped to the `Test-CsVoiceNormalizationRule` cmdlet, where the rule is tested against the telephone number 14255559999. The output will be the DialedNumber after the voice normalization rule "global/11 digit number rule" has been applied. If this rule does not apply to the DialedNumber value (for example, if the normalization rule matches the pattern for an 11-digit number and you supply a 7-digit number) no value will be returned. + + + + -------------------------- Example 2 -------------------------- + $a = Get-CsVoiceNormalizationRule -Identity "global/11 digit number rule" +Test-CsVoiceNormalizationRule -DialedNumber 5551212 -NormalizationRule $a + + For Lync or Skype for Business Server, example 2 is identical to Example 1 except that instead of piping the results of the Get operation directly to the Test cmdlet, the object is first stored in the variable $a and then is passed as the value to the parameter NormalizationRule to be used as the voice normalization rule against which the test will run. + + + + -------------------------- Example 3 -------------------------- + Get-CsVoiceNormalizationRule | Test-CsVoiceNormalizationRule -DialedNumber 2065559999 + + For Lync or Skype for Business Server, this example runs a voice normalization test against all voice normalization rules defined within the Skype for Business Server deployment. First the `Get-CsVoiceNormalizationRule` cmdlet is run (with no parameters) to retrieve all the voice normalization rules. The collection of rules that is returned is then piped to the `Test-CsVoiceNormalizationRule` cmdlet, where each rule in the collection is tested against the telephone number 2065559999. The output will be a list of translated numbers, one for each rule tested. If a rule does not apply to the DialedNumber value (for example, if the normalization rule matches the pattern for an 11-digit number and you supply a 7-digit number) there will be a blank line in the list for that rule. + + + + -------------------------- Example 4 -------------------------- + $nr=(Get-CsTenantDialPlan -Identity dp1).NormalizationRules +$nr[0] + +Description : +Pattern : ^(\d{4})$ +Translation : +1206555$1 +Name : nr1 +IsInternalExtension : False + +Test-CsVoiceNormalizationRule -DialedNumber 1234 -NormalizationRule $nr[0] + +TranslatedNumber +---------------- ++12065551234 + + For Microsoft Teams, this example gets all the normalization rules in the tenant dial plan DP1, shows the first of these rules, and then test that rule on the dialed number 1234. The output shows that the rule normalize the dialed number to +12065551234. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/test-csvoicenormalizationrule + + + New-CsVoiceNormalizationRule + + + + Get-CsTenantDialPlan + + + + + + + Unregister-CsOnlineDialInConferencingServiceNumber + Unregister + CsOnlineDialInConferencingServiceNumber + + Unassigns the previously assigned service number as default Conference Bridge number. + + + + Unassigns the previously assigned service number as default Conference Bridge number. + + + + Unregister-CsOnlineDialInConferencingServiceNumber + + Identity + + PARAMVALUE: String + + String + + String + + + None + + + Instance + + PARAMVALUE: ConferencingServiceNumber + + ConferencingServiceNumber + + ConferencingServiceNumber + + + None + + + BridgeId + + PARAMVALUE: Guid + + Guid + + Guid + + + None + + + BridgeName + + PARAMVALUE: String + + String + + String + + + None + + + DomainController + + PARAMVALUE: Fqdn + + Fqdn + + Fqdn + + + None + + + Force + + PARAMVALUE: SwitchParameter + + + SwitchParameter + + + False + + + RemoveDefaultServiceNumber + + PARAMVALUE: SwitchParameter + + + SwitchParameter + + + False + + + Tenant + + PARAMVALUE: Guid + + Guid + + Guid + + + None + + + TenantDomain + + PARAMVALUE: String + + String + + String + + + None + + + + + + Identity + + PARAMVALUE: String + + String + + String + + + None + + + Instance + + PARAMVALUE: ConferencingServiceNumber + + ConferencingServiceNumber + + ConferencingServiceNumber + + + None + + + BridgeId + + PARAMVALUE: Guid + + Guid + + Guid + + + None + + + BridgeName + + PARAMVALUE: String + + String + + String + + + None + + + DomainController + + PARAMVALUE: Fqdn + + Fqdn + + Fqdn + + + None + + + Force + + PARAMVALUE: SwitchParameter + + SwitchParameter + + SwitchParameter + + + False + + + RemoveDefaultServiceNumber + + PARAMVALUE: SwitchParameter + + SwitchParameter + + SwitchParameter + + + False + + + Tenant + + PARAMVALUE: Guid + + Guid + + Guid + + + None + + + TenantDomain + + PARAMVALUE: String + + String + + String + + + None + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Unregister-CsOnlineDialInConferencingServiceNumber -BridgeName "Conference Bridge" -RemoveDefaultServiceNumber 1234 + + Unassigns the 1234 Service Number to the given Conference Bridge. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/unregister-csonlinedialinconferencingservicenumber + + + + + + Update-CsAutoAttendant + Update + CsAutoAttendant + + Use Update-CsAutoAttendant cmdlet to force an update of resources associated with an Auto Attendant (AA) provisioning. + + + + This cmdlet provides a way to update the resources associated with an auto attendant configured for use in your organization. Currently, it repairs the Dial-by-Name recognition status of an auto attendant. + Note: This cmdlet only triggers the refresh of auto attendant resources. It does not wait until all the resources have been refreshed. The last completed status of auto attendant can be retrieved using `Get-CsAutoAttendantStatus` (Get-CsAutoAttendantStatus.md)cmdlet. + + + + Update-CsAutoAttendant + + Identity + + The identity for the AA whose resources are to be updated. + + System.String + + System.String + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + Identity + + The identity for the AA whose resources are to be updated. + + System.String + + System.String + + + None + + + Tenant + + + + System.Guid + + System.Guid + + + None + + + + + + System.String + + + The Update-CsAutoAttendant cmdlet accepts a string as the Identity parameter. + + + + + + + None + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Update-CsAutoAttendant -Identity "6abea1cd-904b-520b-be96-1092cc096432" + + In Example 1, the Update-CsAutoAttendant cmdlet is used to update all resources of an auto attendant with Identity of 6abea1cd-904b-520b-be96-1092cc096432. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/update-csautoattendant + + + Get-CsAutoAttendant + + + + Get-CsAutoAttendantStatus + + + + Set-CsAutoAttendant + + + + Remove-CsAutoAttendant + + + + + + + Update-CsCustomPolicyPackage + Update + CsCustomPolicyPackage + + Note: This cmdlet is currently in private preview. + This cmdlet updates a custom policy package. + + + + This cmdlet updates a custom policy package with new package settings. For more information on policy packages and the policy types available, please review https://learn.microsoft.com/MicrosoftTeams/manage-policy-packages. + + + + Update-CsCustomPolicyPackage + + Identity + + The name of the custom package. + + String + + String + + + None + + + PolicyList + + A list of one or more policies to be included in the updated package. To specify the policy list, follow this format: "<PolicyType>, <PolicyName>". Delimiters of ' ', '.', ':', '\t' are also acceptable. Supported policy types are listed here (https://learn.microsoft.com/MicrosoftTeams/manage-policy-packages#what-is-a-policy-package). To get the list of available policy names on your tenant, please use the SkypeForBusiness module and refer to cmdlets such as [Get-CsTeamsMeetingPolicy](Get-CsTeamsMeetingPolicy.md) and [Get-CsTeamsMessagingPolicy](Get-CsTeamsMessagingPolicy.md). + + String[] + + String[] + + + None + + + Description + + The description of the custom package. + + String + + String + + + None + + + + + + Identity + + The name of the custom package. + + String + + String + + + None + + + PolicyList + + A list of one or more policies to be included in the updated package. To specify the policy list, follow this format: "<PolicyType>, <PolicyName>". Delimiters of ' ', '.', ':', '\t' are also acceptable. Supported policy types are listed here (https://learn.microsoft.com/MicrosoftTeams/manage-policy-packages#what-is-a-policy-package). To get the list of available policy names on your tenant, please use the SkypeForBusiness module and refer to cmdlets such as [Get-CsTeamsMeetingPolicy](Get-CsTeamsMeetingPolicy.md) and [Get-CsTeamsMessagingPolicy](Get-CsTeamsMessagingPolicy.md). + + String[] + + String[] + + + None + + + Description + + The description of the custom package. + + String + + String + + + None + + + + + + + The resulting custom package's contents will be replaced by the new one instead of a union. Default packages created by Microsoft cannot be updated. + + + + + -------------------------- Example 1 -------------------------- + PS C:\> Update-CsCustomPolicyPackage -Identity "MyPackage" -PolicyList "TeamsMessagingPolicy, MyMessagingPolicy" + + Updates the custom package named "MyPackage" to have one policy in the package: a messaging policy of name "MyMessagingPolicy". + + + + -------------------------- Example 2 -------------------------- + PS C:\> Update-CsCustomPolicyPackage -Identity "MyPackage" -PolicyList "TeamsMessagingPolicy, MyMessagingPolicy", "TeamsMeetingPolicy, MyMeetingPolicy" -Description "My package" + + Updates the custom package named "MyPackage" to have a description of "My package" and two policies in the package: a messaging policy of name "MyMessagingPolicy" and a meeting policy of name "MyMeetingPolicy". + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/update-cscustompolicypackage + + + Get-CsPolicyPackage + + + + New-CsCustomPolicyPackage + + + + Remove-CsCustomPolicyPackage + + + + + + + Update-CsTeamsShiftsConnection + Update + CsTeamsShiftsConnection + + This cmdlet updates an existing workforce management (WFM) connection. + + + + This cmdlet updates a Shifts WFM connection. Similar to the Set-CsTeamsShiftsConnection cmdlet, it allows the admin to make changes to the settings in the connection. The complete list of fields is not required allowing the user to update single fields of the connection. + + + + Update-CsTeamsShiftsConnection + + Body + + The request body. + + IUpdateWfmConnectionFieldsRequest + + IUpdateWfmConnectionFieldsRequest + + + None + + + Break + + Wait for the .NET debugger to attach. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + IfMatch + + The value of the ETag field as returned by the cmdlets. + + String + + String + + + None + + + Proxy + + The URI for the proxy server to use. + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call. + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Update-CsTeamsShiftsConnection + + Body + + The request body. + + IUpdateWfmConnectionFieldsRequest + + IUpdateWfmConnectionFieldsRequest + + + None + + + Break + + Wait for the .NET debugger to attach. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + IfMatch + + The value of the ETag field as returned by the cmdlets. + + String + + String + + + None + + + InputObject + + Identity Parameter + + IConfigApiBasedCmdletsIdentity + + IConfigApiBasedCmdletsIdentity + + + None + + + Proxy + + The URI for the proxy server to use. + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call. + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy. + + + SwitchParameter + + + False + + + State + + The state of the connection. Valid values are "Active" and "Disabled". A third value, "ErrorDisabled", signifies an error in the connection. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Update-CsTeamsShiftsConnection + + Break + + Wait for the .NET debugger to attach. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + IfMatch + + The value of the ETag field as returned by the cmdlets. + + String + + String + + + None + + + InputObject + + Identity Parameter + + IConfigApiBasedCmdletsIdentity + + IConfigApiBasedCmdletsIdentity + + + None + + + Name + + The connector instance name. + + String + + String + + + None + + + Proxy + + The URI for the proxy server to use. + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call. + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy. + + + SwitchParameter + + + False + + + State + + The state of the connection. Valid values are "Active" and "Disabled". A third value, "ErrorDisabled", signifies an error in the connection. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Update-CsTeamsShiftsConnection + + Break + + Wait for the .NET debugger to attach. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + IfMatch + + The value of the ETag field as returned by the cmdlets. + + String + + String + + + None + + + Name + + The connector instance name. + + String + + String + + + None + + + Proxy + + The URI for the proxy server to use. + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call. + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Body + + The request body. + + IUpdateWfmConnectionFieldsRequest + + IUpdateWfmConnectionFieldsRequest + + + None + + + Break + + Wait for the .NET debugger to attach. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + IfMatch + + The value of the ETag field as returned by the cmdlets. + + String + + String + + + None + + + InputObject + + Identity Parameter + + IConfigApiBasedCmdletsIdentity + + IConfigApiBasedCmdletsIdentity + + + None + + + Name + + The connector instance name. + + String + + String + + + None + + + Proxy + + The URI for the proxy server to use. + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call. + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy. + + SwitchParameter + + SwitchParameter + + + False + + + State + + The state of the connection. Valid values are "Active" and "Disabled". A third value, "ErrorDisabled", signifies an error in the connection. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUpdateWfmConnectionFieldsRequest + + + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IWfmConnectionResponse + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IErrorDetailsResponse + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> $connection = Get-CsTeamsShiftsConnection -ConnectionId 4dae9db0-0841-412c-8d6b-f5684bfebdd7 +PS C:\> $result = Update-CsTeamsShiftsConnection ` + -connectionId $connection.Id ` + -IfMatch $connection.Etag ` + -name "Cmdlet test connection - updated" ` + +PS C:\> $result | Format-List + +ConnectorId : 6A51B888-FF44-4FEA-82E1-839401E00000 +ConnectorSpecificSettingAdminApiUrl : https://www.contoso.com/retail/data/wfmadmin/api/v1-beta2 +ConnectorSpecificSettingApiUrl : +ConnectorSpecificSettingAppKey : +ConnectorSpecificSettingClientId : +ConnectorSpecificSettingCookieAuthUrl : https://www.contoso.com/retail/data/login +ConnectorSpecificSettingEssApiUrl : https://www.contoso.com/retail/data/wfmess/api/v1-beta2 +ConnectorSpecificSettingFederatedAuthUrl : https://www.contoso.com/retail/data/login +ConnectorSpecificSettingRetailWebApiUrl : https://www.contoso.com/retail/data/retailwebapi/api/v1 +ConnectorSpecificSettingSiteManagerUrl : https://www.contoso.com/retail/data/wfmsm/api/v1-beta2 +ConnectorSpecificSettingSsoUrl : +CreatedDateTime : 24/03/2023 04:58:23 +Etag : "5b00dd1b-0000-0400-0000-641d2df00000" +Id : 4dae9db0-0841-412c-8d6b-f5684bfebdd7 +LastModifiedDateTime : 24/03/2023 04:58:23 +Name : Cmdlet test connection - updated +State : Active +TenantId : 3FDCAAF2-863A-4520-97BA-DFA211595876 + + Updates the connection with the specified -ConnectionId with the given name. Returns the object of the updated connection. + + + + -------------------------- Example 2 -------------------------- + PS C:\> $connection = Get-CsTeamsShiftsConnection -ConnectionId 79964000-286a-4216-ac60-c795a426d61a +PS C:\> $result = Update-CsTeamsShiftsConnection ` + -connectionId $connection.Id ` + -IfMatch $connection.Etag ` + -connectorId "95BF2848-2DDA-4425-B0EE-D62AEED4C0A0" ` + -connectorSpecificSettings (New-Object Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConnectorSpecificUkgDimensionsSettingsRequest ` + -Property @{ + apiUrl = "https://www.contoso.com/api" + ssoUrl = "https://www.contoso.com/sso" + appKey = "PlaceholderForAppKey" + clientId = "Es5Q2fB4PXweCyto6Ms6J2kRB7uwAc3W" + clientSecret = "PlaceholderForClientSecret" + }) ` + -state "Active" +PS C:\> $result | Format-List + +ConnectorId : 95BF2848-2DDA-4425-B0EE-D62AEED4C0A0 +ConnectorSpecificSettingAdminApiUrl : +ConnectorSpecificSettingApiUrl : https://www.contoso.com/api +ConnectorSpecificSettingAppKey : +ConnectorSpecificSettingClientId : Es5Q2fB4PXweCyto6Ms6J2kRB7uwAc3W +ConnectorSpecificSettingCookieAuthUrl : +ConnectorSpecificSettingEssApiUrl : +ConnectorSpecificSettingFederatedAuthUrl : +ConnectorSpecificSettingRetailWebApiUrl : +ConnectorSpecificSettingSiteManagerUrl : +ConnectorSpecificSettingSsoUrl : https://www.contoso.com/sso +CreatedDateTime : 06/04/2023 11:05:39 +Etag : "3100fd6e-0000-0400-0000-642ea7840000" +Id : 79964000-286a-4216-ac60-c795a426d61a +LastModifiedDateTime : 06/04/2023 11:05:39 +Name : Cmdlet test connection +State : Active +TenantId : 3FDCAAF2-863A-4520-97BA-DFA211595876 + + Updates the connection with the specified -ConnectionId with the given settings. Returns the object of the updated connection. + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/teams/update-csteamsshiftsconnection + + + Get-CsTeamsShiftsConnection + + + + New-CsTeamsShiftsConnection + + + + Set-CsTeamsShiftsConnection + + + + Test-CsTeamsShiftsConnectionValidate + + + + + + + Update-CsTeamsShiftsConnectionInstance + Update + CsTeamsShiftsConnectionInstance + + This cmdlet updates Shifts connection instance fields. + + + + This cmdlet updates a Shifts connection instance. Similar to the Set-CsTeamsShiftsConnectionInstance cmdlet, it allows the admin to make changes to the settings in the instance such as name, enabled scenarios, and sync frequency. The complete list of fields is not required allowing the user to update single fields of the instance. + + + + Update-CsTeamsShiftsConnectionInstance + + Body + + The request body. + + IUpdateConnectorInstanceFieldsRequest + + IUpdateConnectorInstanceFieldsRequest + + + None + + + Break + + Wait for the .NET debugger to attach. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + ConnectorInstanceId + + The connector instance ID. + + String + + String + + + None + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + IfMatch + + The value of the ETag field as returned by the cmdlets. + + String + + String + + + None + + + Proxy + + The URI for the proxy server to use. + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call. + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy. + + + SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Update-CsTeamsShiftsConnectionInstance + + Body + + The request body. + + IUpdateConnectorInstanceFieldsRequest + + IUpdateConnectorInstanceFieldsRequest + + + None + + + Break + + Wait for the .NET debugger to attach. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + IfMatch + + The value of the ETag field as returned by the cmdlets. + + String + + String + + + None + + + InputObject + + Identity Parameter + + IConfigApiBasedCmdletsIdentity + + IConfigApiBasedCmdletsIdentity + + + None + + + Proxy + + The URI for the proxy server to use. + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call. + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy. + + + SwitchParameter + + + False + + + State + + The state of the connection instance. Valid values are "Active" and "Disabled". A third value, "ErrorDisabled", signifies an error in the connection instance. + + String + + String + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Update-CsTeamsShiftsConnectionInstance + + Break + + Wait for the .NET debugger to attach. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + ConnectorAdminEmail + + Gets or sets the list of connector admin email addresses. + + String[] + + String[] + + + None + + + ConnectorInstanceId + + The connector instance ID. + + String + + String + + + None + + + DesignatedActorId + + The designated actor ID that App acts as for Shifts Graph API calls. + + String + + String + + + None + + + SyncScenarioOfferShiftRequest + + The sync state for the offer shift request scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioOpenShift + + The sync state for the open shift scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioOpenShiftRequest + + The sync state for the open shift request scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioShift + + The sync state for the shift scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioSwapRequest + + The sync state for the shift swap request scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioTimeCard + + The sync state for the time card scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioTimeOff + + The sync state for the time off scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioTimeOffRequest + + The sync state for the time off request scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioUserShiftPreference + + The sync state for the user shift preferences scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + IfMatch + + The value of the ETag field as returned by the cmdlets. + + String + + String + + + None + + + Name + + The connector instance name. + + String + + String + + + None + + + Proxy + + The URI for the proxy server to use. + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call. + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy. + + + SwitchParameter + + + False + + + SyncFrequencyInMin + + The sync frequency in minutes. + + Int32 + + Int32 + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + Update-CsTeamsShiftsConnectionInstance + + Break + + Wait for the .NET debugger to attach. + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + SwitchParameter + + + False + + + ConnectorAdminEmail + + Gets or sets the list of connector admin email addresses. + + String[] + + String[] + + + None + + + DesignatedActorId + + The designated actor ID that App acts as for Shifts Graph API calls. + + String + + String + + + None + + + SyncScenarioOfferShiftRequest + + The sync state for the offer shift request scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioOpenShift + + The sync state for the open shift scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioOpenShiftRequest + + The sync state for the open shift request scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioShift + + The sync state for the shift scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioSwapRequest + + The sync state for the shift swap request scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioTimeCard + + The sync state for the time card scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioTimeOff + + The sync state for the time off scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioTimeOffRequest + + The sync state for the time off request scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioUserShiftPreference + + The sync state for the user shift preferences scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + IfMatch + + The value of the ETag field as returned by the cmdlets. + + String + + String + + + None + + + InputObject + + Identity Parameter + + IConfigApiBasedCmdletsIdentity + + IConfigApiBasedCmdletsIdentity + + + None + + + Name + + The connector instance name. + + String + + String + + + None + + + Proxy + + The URI for the proxy server to use. + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call. + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy. + + + SwitchParameter + + + False + + + State + + The state of the connection instance. Valid values are "Active" and "Disabled". A third value, "ErrorDisabled", signifies an error in the connection instance. + + String + + String + + + None + + + SyncFrequencyInMin + + The sync frequency in minutes. + + Int32 + + Int32 + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + SwitchParameter + + + False + + + + + + Body + + The request body. + + IUpdateConnectorInstanceFieldsRequest + + IUpdateConnectorInstanceFieldsRequest + + + None + + + Break + + Wait for the .NET debugger to attach. + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + False + + + ConnectorAdminEmail + + Gets or sets the list of connector admin email addresses. + + String[] + + String[] + + + None + + + ConnectorInstanceId + + The connector instance ID. + + String + + String + + + None + + + DesignatedActorId + + The designated actor ID that App acts as for Shifts Graph API calls. + + String + + String + + + None + + + SyncScenarioOfferShiftRequest + + The sync state for the offer shift request scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioOpenShift + + The sync state for the open shift scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioOpenShiftRequest + + The sync state for the open shift request scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioShift + + The sync state for the shift scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioSwapRequest + + The sync state for the shift swap request scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioTimeCard + + The sync state for the time card scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioTimeOff + + The sync state for the time off scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioTimeOffRequest + + The sync state for the time off request scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + SyncScenarioUserShiftPreference + + The sync state for the user shift preferences scenario. Valid values are "Disabled", "FromWfmToShifts", and "TwoWay". + + String + + String + + + None + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline. + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + IfMatch + + The value of the ETag field as returned by the cmdlets. + + String + + String + + + None + + + InputObject + + Identity Parameter + + IConfigApiBasedCmdletsIdentity + + IConfigApiBasedCmdletsIdentity + + + None + + + Name + + The connector instance name. + + String + + String + + + None + + + Proxy + + The URI for the proxy server to use. + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call. + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy. + + SwitchParameter + + SwitchParameter + + + False + + + State + + The state of the connection instance. Valid values are "Active" and "Disabled". A third value, "ErrorDisabled", signifies an error in the connection instance. + + String + + String + + + None + + + SyncFrequencyInMin + + The sync frequency in minutes. + + Int32 + + Int32 + + + None + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + False + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUpdateConnectorInstanceFieldsRequest + + + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConnectorInstanceResponse + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IErrorDetailsResponse + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + PS C:\> $connectionInstance = Get-CsTeamsShiftsConnectionInstance -ConnectorInstanceId WCI-eba2865f-6cac-46f9-8733-e0631a4536e1 +PS C:\> $result = Update-CsTeamsShiftsConnectionInstance ` + -connectorInstanceId "WCI-eba2865f-6cac-46f9-8733-e0631a4536e1" + -IfMatch $connectionInstance.Etag ` + -connectionId "79964000-286a-4216-ac60-c795a426d61a" ` + -name "Cmdlet test instance - updated" ` + -syncFrequencyInMin "30" ` + +PS C:\> $result.ToJsonString() + +{ + "syncScenarios": { + "offerShiftRequest": "FromWfmToShifts", + "openShift": "FromWfmToShifts", + "openShiftRequest": "FromWfmToShifts", + "shift": "FromWfmToShifts", + "swapRequest": "FromWfmToShifts", + "timeCard": "FromWfmToShifts", + "timeOff": "FromWfmToShifts", + "timeOffRequest": "FromWfmToShifts", + "userShiftPreferences": "Disabled" + }, + "id": "WCI-eba2865f-6cac-46f9-8733-e0631a4536e1", + "tenantId": "dfd24b34-ccb0-47e1-bdb7-e49db9c7c14a", + "connectionId": "a2d1b091-5140-4dd2-987a-98a8b5338744", + "connectorAdminEmails": [ ], + "connectorId": "95BF2848-2DDA-4425-B0EE-D62AEED4C0A0", + "designatedActorId": "ec1a4edb-1a5f-4b2d-b2a4-37aab6ebd231", + "name": "Cmdlet test instance - updated", + "syncFrequencyInMin": 30, + "workforceIntegrationId": "WFI_6b225907-b476-4d40-9773-08b86db7b11b", + "etag": "\"4f005d22-0000-0400-0000-642ff64a0000\"", + "createdDateTime": "2023-04-07T10:54:01.8170000Z", + "lastModifiedDateTime": "2023-04-07T10:54:01.8170000Z", + "state" : "Active" +} + + Updates the instance with the specified -ConnectorInstanceId with the given name and sync frequency. Returns the object of the updated connector instance. + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/teams/update-csteamsshiftsconnectioninstance + + + Get-CsTeamsShiftsConnectionInstance + + + + New-CsTeamsShiftsConnectionInstance + + + + Set-CsTeamsShiftsConnectionInstance + + + + Remove-CsTeamsShiftsConnectionInstance + + + + Test-CsTeamsShiftsConnectionValidate + + + + + + + Update-CsTeamTemplate + Update + CsTeamTemplate + + This cmdlet submits an operation that updates a custom team template with new team template settings. + NOTE: The response is a PowerShell object formatted as a JSON for readability. Please refer to the examples for suggested interaction flows for template management. + + + + + + Update-CsTeamTemplate + + App + + Gets or sets the set of applications that should be installed in teams created based on the template.The app catalog is the main directory for information about each app; this set is intended only as a reference. To construct, see NOTES section for APP properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamsAppTemplate[] + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamsAppTemplate[] + + + None + + + Category + + Gets or sets list of categories. + + System.String[] + + System.String[] + + + None + + + Channel + + Gets or sets the set of channel templates included in the team template. To construct, see NOTES section for CHANNEL properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IChannelTemplate[] + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IChannelTemplate[] + + + None + + + Classification + + Gets or sets the team's classification.Tenant admins configure Microsoft Entra ID with the set of possible values. + + System.String + + System.String + + + None + + + Description + + Gets or sets the team's Description. + + System.String + + System.String + + + None + + + DiscoverySetting + + Governs discoverability of a team. To construct, see NOTES section for DISCOVERYSETTING properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamDiscoverySettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamDiscoverySettings + + + None + + + DisplayName + + Gets or sets the team's DisplayName. + + System.String + + System.String + + + None + + + FunSetting + + Governs use of fun media like giphy and stickers in the team. To construct, see NOTES section for FUNSETTING properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamFunSettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamFunSettings + + + None + + + GuestSetting + + Guest role settings for the team. To construct, see NOTES section for GUESTSETTING properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamGuestSettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamGuestSettings + + + None + + + Icon + + Gets or sets template icon. + + System.String + + System.String + + + None + + + IsMembershipLimitedToOwner + + Gets or sets whether to limit the membership of the team to owners in the Microsoft Entra group until an owner "activates" the team. + + + System.Management.Automation.SwitchParameter + + + False + + + MemberSetting + + Member role settings for the team. To construct, see NOTES section for MEMBERSETTING properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamMemberSettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamMemberSettings + + + None + + + MessagingSetting + + Governs use of messaging features within the teamThese are settings the team owner should be able to modify from UI after team creation. To construct, see NOTES section for MESSAGINGSETTING properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamMessagingSettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamMessagingSettings + + + None + + + OdataId + + A composite URI of a template. + + System.String + + System.String + + + None + + + OwnerUserObjectId + + Gets or sets the Microsoft Entra user object id of the user who should be set as the owner of the new team.Only to be used when an application or administrative user is making the request on behalf of the specified user. + + System.String + + System.String + + + None + + + PublishedBy + + Gets or sets published name. + + System.String + + System.String + + + None + + + ShortDescription + + Gets or sets template short description. + + System.String + + System.String + + + None + + + Specialization + + The specialization or use case describing the team.Used for telemetry/BI, part of the team context exposed to app developers, and for legacy implementations of differentiated features for education. + + System.String + + System.String + + + None + + + TemplateId + + Gets or sets the id of the base template for the team.Either a Microsoft base template or a custom template. + + System.String + + System.String + + + None + + + Uri + + Gets or sets uri to be used for GetTemplate api call. + + System.String + + System.String + + + None + + + Visibility + + Used to control the scope of users who can view a group/team and its members, and ability to join. + + System.String + + System.String + + + None + + + Break + + Wait for .NET debugger to attach + + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + Proxy + + The URI for the proxy server to use + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Update-CsTeamTemplate + + App + + Gets or sets the set of applications that should be installed in teams created based on the template.The app catalog is the main directory for information about each app; this set is intended only as a reference. To construct, see NOTES section for APP properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamsAppTemplate[] + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamsAppTemplate[] + + + None + + + Category + + Gets or sets list of categories. + + System.String[] + + System.String[] + + + None + + + Channel + + Gets or sets the set of channel templates included in the team template. To construct, see NOTES section for CHANNEL properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IChannelTemplate[] + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IChannelTemplate[] + + + None + + + Classification + + Gets or sets the team's classification.Tenant admins configure Microsoft Entra ID with the set of possible values. + + System.String + + System.String + + + None + + + Description + + Gets or sets the team's Description. + + System.String + + System.String + + + None + + + DiscoverySetting + + Governs discoverability of a team. To construct, see NOTES section for DISCOVERYSETTING properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamDiscoverySettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamDiscoverySettings + + + None + + + DisplayName + + Gets or sets the team's DisplayName. + + System.String + + System.String + + + None + + + FunSetting + + Governs use of fun media like giphy and stickers in the team. To construct, see NOTES section for FUNSETTING properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamFunSettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamFunSettings + + + None + + + GuestSetting + + Guest role settings for the team. To construct, see NOTES section for GUESTSETTING properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamGuestSettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamGuestSettings + + + None + + + Icon + + Gets or sets template icon. + + System.String + + System.String + + + None + + + InputObject + + Identity Parameter To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity + + + None + + + IsMembershipLimitedToOwner + + Gets or sets whether to limit the membership of the team to owners in the Microsoft Entra group until an owner "activates" the team. + + + System.Management.Automation.SwitchParameter + + + False + + + MemberSetting + + Member role settings for the team. To construct, see NOTES section for MEMBERSETTING properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamMemberSettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamMemberSettings + + + None + + + MessagingSetting + + Governs use of messaging features within the teamThese are settings the team owner should be able to modify from UI after team creation. To construct, see NOTES section for MESSAGINGSETTING properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamMessagingSettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamMessagingSettings + + + None + + + OwnerUserObjectId + + Gets or sets the Microsoft Entra user object id of the user who should be set as the owner of the new team.Only to be used when an application or administrative user is making the request on behalf of the specified user. + + System.String + + System.String + + + None + + + PublishedBy + + Gets or sets published name. + + System.String + + System.String + + + None + + + ShortDescription + + Gets or sets template short description. + + System.String + + System.String + + + None + + + Specialization + + The specialization or use case describing the team.Used for telemetry/BI, part of the team context exposed to app developers, and for legacy implementations of differentiated features for education. + + System.String + + System.String + + + None + + + TemplateId + + Gets or sets the id of the base template for the team.Either a Microsoft base template or a custom template. + + System.String + + System.String + + + None + + + Uri + + Gets or sets uri to be used for GetTemplate api call. + + System.String + + System.String + + + None + + + Visibility + + Used to control the scope of users who can view a group/team and its members, and ability to join. + + System.String + + System.String + + + None + + + Break + + Wait for .NET debugger to attach + + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + Proxy + + The URI for the proxy server to use + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Update-CsTeamTemplate + + Body + + The client input for a request to create a template. Only admins from Config Api can perform this request. To construct, see NOTES section for BODY properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplate + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplate + + + None + + + OdataId + + A composite URI of a template. + + System.String + + System.String + + + None + + + Break + + Wait for .NET debugger to attach + + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + Proxy + + The URI for the proxy server to use + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Update-CsTeamTemplate + + Body + + The client input for a request to create a template. Only admins from Config Api can perform this request. To construct, see NOTES section for BODY properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplate + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplate + + + None + + + InputObject + + Identity Parameter To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity + + + None + + + Break + + Wait for .NET debugger to attach + + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + Proxy + + The URI for the proxy server to use + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy + + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + App + + Gets or sets the set of applications that should be installed in teams created based on the template.The app catalog is the main directory for information about each app; this set is intended only as a reference. To construct, see NOTES section for APP properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamsAppTemplate[] + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamsAppTemplate[] + + + None + + + Body + + The client input for a request to create a template. Only admins from Config Api can perform this request. To construct, see NOTES section for BODY properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplate + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplate + + + None + + + Category + + Gets or sets list of categories. + + System.String[] + + System.String[] + + + None + + + Channel + + Gets or sets the set of channel templates included in the team template. To construct, see NOTES section for CHANNEL properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IChannelTemplate[] + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IChannelTemplate[] + + + None + + + Classification + + Gets or sets the team's classification.Tenant admins configure Microsoft Entra ID with the set of possible values. + + System.String + + System.String + + + None + + + Description + + Gets or sets the team's Description. + + System.String + + System.String + + + None + + + DiscoverySetting + + Governs discoverability of a team. To construct, see NOTES section for DISCOVERYSETTING properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamDiscoverySettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamDiscoverySettings + + + None + + + DisplayName + + Gets or sets the team's DisplayName. + + System.String + + System.String + + + None + + + FunSetting + + Governs use of fun media like giphy and stickers in the team. To construct, see NOTES section for FUNSETTING properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamFunSettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamFunSettings + + + None + + + GuestSetting + + Guest role settings for the team. To construct, see NOTES section for GUESTSETTING properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamGuestSettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamGuestSettings + + + None + + + Icon + + Gets or sets template icon. + + System.String + + System.String + + + None + + + InputObject + + Identity Parameter To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity + + + None + + + IsMembershipLimitedToOwner + + Gets or sets whether to limit the membership of the team to owners in the Microsoft Entra group until an owner "activates" the team. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + MemberSetting + + Member role settings for the team. To construct, see NOTES section for MEMBERSETTING properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamMemberSettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamMemberSettings + + + None + + + MessagingSetting + + Governs use of messaging features within the teamThese are settings the team owner should be able to modify from UI after team creation. To construct, see NOTES section for MESSAGINGSETTING properties and create a hash table. + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamMessagingSettings + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamMessagingSettings + + + None + + + OdataId + + A composite URI of a template. + + System.String + + System.String + + + None + + + OwnerUserObjectId + + Gets or sets the Microsoft Entra user object id of the user who should be set as the owner of the new team.Only to be used when an application or administrative user is making the request on behalf of the specified user. + + System.String + + System.String + + + None + + + PublishedBy + + Gets or sets published name. + + System.String + + System.String + + + None + + + ShortDescription + + Gets or sets template short description. + + System.String + + System.String + + + None + + + Specialization + + The specialization or use case describing the team.Used for telemetry/BI, part of the team context exposed to app developers, and for legacy implementations of differentiated features for education. + + System.String + + System.String + + + None + + + TemplateId + + Gets or sets the id of the base template for the team.Either a Microsoft base template or a custom template. + + System.String + + System.String + + + None + + + Uri + + Gets or sets uri to be used for GetTemplate api call. + + System.String + + System.String + + + None + + + Visibility + + Used to control the scope of users who can view a group/team and its members, and ability to join. + + System.String + + System.String + + + None + + + Break + + Wait for .NET debugger to attach + + SwitchParameter + + SwitchParameter + + + False + + + HttpPipelineAppend + + SendAsync Pipeline Steps to be appended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + HttpPipelinePrepend + + SendAsync Pipeline Steps to be prepended to the front of the pipeline + + SendAsyncStep[] + + SendAsyncStep[] + + + None + + + Proxy + + The URI for the proxy server to use + + Uri + + Uri + + + None + + + ProxyCredential + + Credentials for a proxy server to use for the remote call + + PSCredential + + PSCredential + + + None + + + ProxyUseDefaultCredentials + + Use the default credentials for the proxy + + SwitchParameter + + SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplate + + + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateTemplateResponse + + + + + + + + Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IErrorObject + + + + + + + + + ALIASES + COMPLEX PARAMETER PROPERTIES + To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + APP <ITeamsAppTemplate[]>: Gets or sets the set of applications that should be installed in teams created based on the template.The app catalog is the main directory for information about each app; this set is intended only as a reference. + - `[Id <String>]`: Gets or sets the app's ID in the global apps catalog. + BODY <ITeamTemplate>: The client input for a request to create a template. Only admins from Config Api can perform this request. + - `DisplayName <String>`: Gets or sets the team's DisplayName. + - `ShortDescription <String>`: Gets or sets template short description. + - `[App <ITeamsAppTemplate[]>]`: Gets or sets the set of applications that should be installed in teams created based on the template. The app catalog is the main directory for information about each app; this set is intended only as a reference. + - `[Id <String>]`: Gets or sets the app's ID in the global apps catalog. - `[Category <String[]>]`: Gets or sets list of categories. + - `[Channel <IChannelTemplate[]>]`: Gets or sets the set of channel templates included in the team template. + - `[Description <String>]`: Gets or sets channel description as displayed to users. - `[DisplayName <String>]`: Gets or sets channel name as displayed to users. - `[Id <String>]`: Gets or sets identifier for the channel template. - `[IsFavoriteByDefault <Boolean?>]`: Gets or sets a value indicating whether new members of the team should automatically favorite the channel, pinning it for visibility in the UI and using resources to make switching to the channel faster. - `[Tab <IChannelTabTemplate[]>]`: Gets or sets collection of tabs that should be added to the channel. - `[Configuration <ITeamsTabConfiguration>]`: Represents the configuration of a tab. - `[ContentUrl <String>]`: Gets or sets the Url used for rendering tab contents in Teams. - `[EntityId <String>]`: Gets or sets the identifier for the entity hosted by the tab provider. - `[RemoveUrl <String>]`: Gets or sets the Url that is invoked when the user tries to remove a tab from the FE client. - `[WebsiteUrl <String>]`: Gets or sets the Url for showing tab contents outside of Teams. - `[Id <String>]`: Gets or sets identifier for the channel tab template. - `[Key <String>]`: Gets a unique identifier. - `[MessageId <String>]`: Gets or sets id used to identify the chat message associated with the tab. - `[Name <String>]`: Gets or sets the tab name displayed to users. - `[SortOrderIndex <String>]`: Gets or sets index of the order used for sorting tabs. - `[TeamsAppId <String>]`: Gets or sets the app's id in the global apps catalog. - `[WebUrl <String>]`: Gets or sets the deep link url of the tab instance. - `[Classification <String>]`: Gets or sets the team's classification. Tenant admins configure Microsoft Entra ID with the set of possible values. + - `[Description <String>]`: Gets or sets the team's Description. + - `[DiscoverySetting <ITeamDiscoverySettings>]`: Governs discoverability of a team. + - `ShowInTeamsSearchAndSuggestion <Boolean>`: Gets or sets value indicating if team is visible within search and suggestions in Teams clients. - `[FunSetting <ITeamFunSettings>]`: Governs use of fun media like giphy and stickers in the team. - `AllowCustomMeme <Boolean>`: Gets or sets a value indicating whether users are allowed to create and post custom meme images in team conversations. - `AllowGiphy <Boolean>`: Gets or sets a value indicating whether users can post giphy content in team conversations. - `AllowStickersAndMeme <Boolean>`: Gets or sets a value indicating whether users can post stickers and memes in team conversations. - `GiphyContentRating <String>`: Gets or sets the rating filter on giphy content. - `[GuestSetting <ITeamGuestSettings>]`: Guest role settings for the team. - `AllowCreateUpdateChannel <Boolean>`: Gets or sets a value indicating whether guests can create or edit channels in the team. - `AllowDeleteChannel <Boolean>`: Gets or sets a value indicating whether guests can delete team channels. - `[Icon <String>]`: Gets or sets template icon. + - `[IsMembershipLimitedToOwner <Boolean?>]`: Gets or sets whether to limit the membership of the team to owners in the Microsoft Entra group until an owner "activates" the team. + - `[MemberSetting <ITeamMemberSettings>]`: Member role settings for the team. + - `AllowAddRemoveApp <Boolean>`: Gets or sets a value indicating whether members can add or remove apps in the team. - `AllowCreatePrivateChannel <Boolean>`: Gets or Sets a value indicating whether members can create Private channels. - `AllowCreateUpdateChannel <Boolean>`: Gets or sets a value indicating whether members can create or edit channels in the team. - `AllowCreateUpdateRemoveConnector <Boolean>`: Gets or sets a value indicating whether members can add, edit, or remove connectors in the team. - `AllowCreateUpdateRemoveTab <Boolean>`: Gets or sets a value indicating whether members can add, edit or remove pinned tabs in the team. - `AllowDeleteChannel <Boolean>`: Gets or sets a value indicating whether members can delete team channels. - `UploadCustomApp <Boolean>`: Gets or sets a value indicating is allowed to upload custom apps. - `[MessagingSetting <ITeamMessagingSettings>]`: Governs use of messaging features within the team These are settings the team owner should be able to modify from UI after team creation. - `AllowChannelMention <Boolean>`: Gets or sets a value indicating whether team members can at-mention entire channels in team conversations. - `AllowOwnerDeleteMessage <Boolean>`: Gets or sets a value indicating whether team owners can delete anyone's messages in team conversations. - `AllowTeamMention <Boolean>`: Gets or sets a value indicating whether team members can at-mention the entire team in team conversations. - `AllowUserDeleteMessage <Boolean>`: Gets or sets a value indicating whether team members can delete their own messages in team conversations. - `AllowUserEditMessage <Boolean>`: Gets or sets a value indicating whether team members can edit their own messages in team conversations. - `[OwnerUserObjectId <String>]`: Gets or sets the Microsoft Entra user object id of the user who should be set as the owner of the new team. Only to be used when an application or administrative user is making the request on behalf of the specified user. + - `[PublishedBy <String>]`: Gets or sets published name. + - `[Specialization <String>]`: The specialization or use case describing the team. Used for telemetry/BI, part of the team context exposed to app developers, and for legacy implementations of differentiated features for education. + - `[TemplateId <String>]`: Gets or sets the id of the base template for the team. Either a Microsoft base template or a custom template. + - `[Uri <String>]`: Gets or sets uri to be used for GetTemplate api call. + - `[Visibility <String>]`: Used to control the scope of users who can view a group/team and its members, and ability to join. + + CHANNEL <IChannelTemplate[]>: Gets or sets the set of channel templates included in the team template. + - `[Description <String>]`: Gets or sets channel description as displayed to users. + - `[DisplayName <String>]`: Gets or sets channel name as displayed to users. + - `[Id <String>]`: Gets or sets identifier for the channel template. + - `[IsFavoriteByDefault <Boolean?>]`: Gets or sets a value indicating whether new members of the team should automatically favorite the channel, pinning it for visibility in the UI and using resources to make switching to the channel faster. + - `[Tab <IChannelTabTemplate[]>]`: Gets or sets collection of tabs that should be added to the channel. + - `[Configuration <ITeamsTabConfiguration>]`: Represents the configuration of a tab. - `[ContentUrl <String>]`: Gets or sets the Url used for rendering tab contents in Teams. - `[EntityId <String>]`: Gets or sets the identifier for the entity hosted by the tab provider. - `[RemoveUrl <String>]`: Gets or sets the Url that is invoked when the user tries to remove a tab from the FE client. - `[WebsiteUrl <String>]`: Gets or sets the Url for showing tab contents outside of Teams. - `[Id <String>]`: Gets or sets identifier for the channel tab template. - `[Key <String>]`: Gets a unique identifier. - `[MessageId <String>]`: Gets or sets id used to identify the chat message associated with the tab. - `[Name <String>]`: Gets or sets the tab name displayed to users. - `[SortOrderIndex <String>]`: Gets or sets index of the order used for sorting tabs. - `[TeamsAppId <String>]`: Gets or sets the app's id in the global apps catalog. - `[WebUrl <String>]`: Gets or sets the deep link url of the tab instance. + DISCOVERYSETTING <ITeamDiscoverySettings>: Governs discoverability of a team. + - `ShowInTeamsSearchAndSuggestion <Boolean>`: Gets or sets value indicating if team is visible within search and suggestions in Teams clients. + FUNSETTING <ITeamFunSettings>: Governs use of fun media like giphy and stickers in the team. + - `AllowCustomMeme <Boolean>`: Gets or sets a value indicating whether users are allowed to create and post custom meme images in team conversations. + - `AllowGiphy <Boolean>`: Gets or sets a value indicating whether users can post giphy content in team conversations. + - `AllowStickersAndMeme <Boolean>`: Gets or sets a value indicating whether users can post stickers and memes in team conversations. + - `GiphyContentRating <String>`: Gets or sets the rating filter on giphy content. + + GUESTSETTING <ITeamGuestSettings>: Guest role settings for the team. + - `AllowCreateUpdateChannel <Boolean>`: Gets or sets a value indicating whether guests can create or edit channels in the team. + - `AllowDeleteChannel <Boolean>`: Gets or sets a value indicating whether guests can delete team channels. + + INPUTOBJECT <IConfigApiBasedCmdletsIdentity>: Identity Parameter + - `[Bssid <String>]`: + - `[ChassisId <String>]`: + - `[CivicAddressId <String>]`: Civic address id. + - `[Country <String>]`: + - `[GroupId <String>]`: The ID of a group whose policy assignments will be returned. + - `[Id <String>]`: + - `[Identity <String>]`: + - `[Locale <String>]`: + - `[LocationId <String>]`: Location id. + - `[OdataId <String>]`: A composite URI of a template. + - `[OperationId <String>]`: The ID of a batch policy assignment operation. + - `[OrderId <String>]`: + - `[PackageName <String>]`: The name of a specific policy package + - `[PolicyType <String>]`: The policy type for which group policy assignments will be returned. + - `[Port <String>]`: + - `[PortInOrderId <String>]`: + - `[PublicTemplateLocale <String>]`: Language and country code for localization of publicly available templates. + - `[SubnetId <String>]`: + - `[TenantId <String>]`: + - `[UserId <String>]`: UserId. Supports Guid. Eventually UPN and SIP. + + MEMBERSETTING <ITeamMemberSettings>: Member role settings for the team. + - `AllowAddRemoveApp <Boolean>`: Gets or sets a value indicating whether members can add or remove apps in the team. + - `AllowCreatePrivateChannel <Boolean>`: Gets or Sets a value indicating whether members can create Private channels. + - `AllowCreateUpdateChannel <Boolean>`: Gets or sets a value indicating whether members can create or edit channels in the team. + - `AllowCreateUpdateRemoveConnector <Boolean>`: Gets or sets a value indicating whether members can add, edit, or remove connectors in the team. + - `AllowCreateUpdateRemoveTab <Boolean>`: Gets or sets a value indicating whether members can add, edit or remove pinned tabs in the team. + - `AllowDeleteChannel <Boolean>`: Gets or sets a value indicating whether members can delete team channels. + - `UploadCustomApp <Boolean>`: Gets or sets a value indicating is allowed to upload custom apps. + + MESSAGINGSETTING <ITeamMessagingSettings>: Governs use of messaging features within the teamThese are settings the team owner should be able to modify from UI after team creation. + - `AllowChannelMention <Boolean>`: Gets or sets a value indicating whether team members can at-mention entire channels in team conversations. + - `AllowOwnerDeleteMessage <Boolean>`: Gets or sets a value indicating whether team owners can delete anyone's messages in team conversations. + - `AllowTeamMention <Boolean>`: Gets or sets a value indicating whether team members can at-mention the entire team in team conversations. + - `AllowUserDeleteMessage <Boolean>`: Gets or sets a value indicating whether team members can delete their own messages in team conversations. + - `AllowUserEditMessage <Boolean>`: Gets or sets a value indicating whether team members can edit their own messages in team conversations. + + ## RELATED LINKS + - [Get-CsTeamTemplateList](Get-CsTeamTemplateList.md) + - [Get-CsTeamTemplate](Get-CsTeamTemplate.md) + - [New-CsTeamTemplate](New-CsTeamTemplate.md) + - [Update-CsTeamTemplate](Update-CsTeamTemplate.md) + - [Remove-CsTeamTemplate](Remove-CsTeamTemplate.md) + + + + + -------------------------- EXAMPLE 1 -------------------------- + PS C:> (Get-CsTeamTemplate -OdataId '/api/teamtemplates/v1.0/bfd1ccc8-40f4-4996-833f-461947d23348/Tenant/fr-FR') > input.json +# open json in your favorite editor, make changes + +Update-CsTeamTemplate -OdataId '/api/teamtemplates/v1.0/bfd1ccc8-40f4-4996-833f-461947d23348/Tenant/fr-FR' -Body (Get-Content '.\input.json' | Out-String) + + Step 1: Creates a JSON file of the template you have specified. Step 2: Updates the template with JSON file you have edited. + + + + -------------------------- EXAMPLE 2 -------------------------- + PS C:> $template = New-Object Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.TeamTemplate -Property @{` +DisplayName='New Template';` +ShortDescription='Short Definition';` +Description='New Description';` +App=@{id='feda49f8-b9f2-4985-90f0-dd88a8f80ee1'}, @{id='1d71218a-92ad-4254-be15-c5ab7a3e4423'};` +Channel=@{` + displayName = "General";` + id= "General";` + isFavoriteByDefault= $true` + },` + @{` + displayName= "test";` + id= "b82b7d0a-6bc9-4fd8-bf09-d432e4ea0475";` + isFavoriteByDefault= $false` + }` +} + +PS C:> Update-CsTeamTemplate -OdataId '/api/teamtemplates/v1.0/bfd1ccc8-40f4-4996-833f-461947d23348/Tenant/fr-FR' -Body $template + + Update to a new object + + + + -------------------------- EXAMPLE 3 -------------------------- + PS C:> Update-CsTeamTemplate -OdataId '/api/teamtemplates/v1.0/bfd1ccc8-40f4-4996-833f-461947d23348/Tenant/fr-FR' ` +-Locale en-US -DisplayName 'New Template' ` +-ShortDescription 'New Description' ` +-App @{id='feda49f8-b9f2-4985-90f0-dd88a8f80ee1'}, @{id='1d71218a-92ad-4254-be15-c5ab7a3e4423'} ` +-Channel @{ ` +displayName = "General"; ` +id= "General"; ` +isFavoriteByDefault= $true ` +}, ` +@{ ` + displayName= "test"; ` + id= "b82b7d0a-6bc9-4fd8-bf09-d432e4ea0475"; ` + isFavoriteByDefault= $false ` +} + + > [!Note] > It can take up to 24 hours for Teams users to see a custom template change in the gallery. + + + + + + Online Version: + https://learn.microsoft.com/powershell/module/teams/update-csteamtemplate + + + + \ No newline at end of file diff --git a/Modules/MicrosoftTeams/6.4.0/exports/ProxyCmdletDefinitionsWithHelp.ps1 b/Modules/MicrosoftTeams/6.4.0/exports/ProxyCmdletDefinitionsWithHelp.ps1 new file mode 100644 index 000000000000..cc2f61db5fc9 --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/exports/ProxyCmdletDefinitionsWithHelp.ps1 @@ -0,0 +1,51409 @@ + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +# .ExternalHelp en-US\MicrosoftTeams-help +function Clear-CsCacheOperation { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICacheClearResponse])] +[CmdletBinding(DefaultParameterSetName='ClearExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Clear', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICacheClearRequest] + # Request to clear cache entries. + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='ClearExpanded', Mandatory)] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # Keys to be deleted from the cache. + ${KeysToDelete}, + + [Parameter(ParameterSetName='ClearExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Region from where cache keys are to be deleted. + ${Region}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Clear = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Clear-CsCacheOperation_Clear'; + ClearExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Clear-CsCacheOperation_ClearExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Clear-CsOCEContext { +[CmdletBinding(PositionalBinding=$false)] +param() + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Clear-CsOCEContext'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Clear-CsRegionContext { +[CmdletBinding(PositionalBinding=$false)] +param() + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Clear-CsRegionContext'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Connect-CsConfigApi { +[OutputType([System.Management.Automation.Runspaces.PSSession])] +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.PSCredential] + ${Credential}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TenantDomain}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.CmdletHostContract.DeploymentConfiguration+TeamsEnvironment] + ${TeamsEnvironmentName}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${UseLocalHost}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${UseConfigApiInt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${UseConfigApiMsit}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${ShowTelemetry} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Connect-CsConfigApi'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Disable-CsOnlineSipDomain { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Domain}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Disable-CsOnlineSipDomain'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Disable-CsTeamsShiftsConnectionErrorReport { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IErrorDetailsResponse])] +[CmdletBinding(DefaultParameterSetName='Disable', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Disable1', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # The UUID of a report instance + ${ErrorReportId}, + + [Parameter(ParameterSetName='DisableViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Disable')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.DateTime] + # The timestamp indicating results should be after which date and time + ${After}, + + [Parameter(ParameterSetName='Disable')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.DateTime] + # The timestamp indicating results should be before which date and time + ${Before}, + + [Parameter(ParameterSetName='Disable')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # The enum value of error code, human readable string defined in codebase + ${Code}, + + [Parameter(ParameterSetName='Disable')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # The UUID of a connector instance + ${ConnectorInstanceId}, + + [Parameter(ParameterSetName='Disable')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # The name of the action of the controller or the name of the command + ${Operation}, + + [Parameter(ParameterSetName='Disable')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # The name of the executing function or procedure + ${Procedure}, + + [Parameter(ParameterSetName='Disable')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # The UUID of a team in Graph + ${TeamId}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Disable = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Disable-CsTeamsShiftsConnectionErrorReport_Disable'; + Disable1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Disable-CsTeamsShiftsConnectionErrorReport_Disable1'; + DisableViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Disable-CsTeamsShiftsConnectionErrorReport_DisableViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Disconnect-CsConfigApi { +[OutputType([System.Management.Automation.Runspaces.PSSession])] +[CmdletBinding(PositionalBinding=$false)] +param() + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Disconnect-CsConfigApi'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Enable-CsOnlineSipDomain { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Domain}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Enable-CsOnlineSipDomain'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsApplicationAccessPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsApplicationAccessPolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsApplicationAccessPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsApplicationInstanceV2ApplicationInstanceAsync { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IApplicationInstanceAutoGenerated])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Identity. + # Object id or UPN. + ${Identity}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsApplicationInstanceV2ApplicationInstanceAsync_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsApplicationInstanceV2ApplicationInstanceAsync_GetViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsApplicationMeetingConfiguration { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsApplicationMeetingConfiguration'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsApplicationMeetingConfiguration'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsAutoRestCommandInfo { +[OutputType([System.Management.Automation.Runspaces.PSSession])] +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Collections.Generic.Dictionary[System.String,System.Object]] + ${BoundParameters}, + + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${RemotingCommand}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigApi.Cmdlets.FlightingUtils+OverrideFlightMode] + ${FlightMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsAutoRestCommandInfo'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsBatchPolicyAssignmentOperation { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISimpleBatchJobStatus], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IBatchJobStatus])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get1', Mandatory)] + [Alias('OperationId')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # The ID of a batch policy assignment operation. + ${Identity}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Option filter + ${Status}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsBatchPolicyAssignmentOperation_Get'; + Get1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsBatchPolicyAssignmentOperation_Get1'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsBatchTeamsDeploymentStatus { +[OutputType([System.String])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # The Id of specific Orchestration + ${OrchestrationId}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsBatchTeamsDeploymentStatus_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsBatchTeamsDeploymentStatus_GetViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsCallingLineIdentity { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsCallingLineIdentity'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsCallingLineIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsCloudCallDataConnection { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsCloudCallDataConnection'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsCloudCallDataConnectionModern { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICloudCallDataConnection])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsCloudCallDataConnectionModern_Get'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsCloudTenant { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICloudTenant])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsCloudTenant_Get'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsCloudUser { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICloudUser])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # UserId. + # Supports Guid. + ${UserId}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsCloudUser_Get'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsDialPlan { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsDialPlan'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsDialPlan'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsEffectiveTenantDialPlan { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=0, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${OU}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.UInt32] + ${ResultSize}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsEffectiveTenantDialPlan'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsEffectiveTenantDialPlanModern { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITenantDialPlan])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsEffectiveTenantDialPlanModern_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsEffectiveTenantDialPlanModern_GetViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsExternalAccessPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsExternalAccessPolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsExternalAccessPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsGroupPolicyAssignment { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGroupAssignment])] +[CmdletBinding(DefaultParameterSetName='Get2', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='Get1', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # The ID of a group whose policy assignments will be returned. + ${GroupId}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='Get2')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # The policy type for which group policy assignments will be returned. + ${PolicyType}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsGroupPolicyAssignment_Get'; + Get1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsGroupPolicyAssignment_Get1'; + Get2 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsGroupPolicyAssignment_Get2'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsHostingProvider { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${LocalStore}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsHostingProvider'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsHostingProvider'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsHybridTelephoneNumber { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IHybridTelephoneNumber])] +[CmdletBinding(DefaultParameterSetName='Get1', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # An instance of hybrid telephone number. + ${TelephoneNumber}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsHybridTelephoneNumber_Get'; + Get1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsHybridTelephoneNumber_Get1'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsHybridTelephoneNumber_GetViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsInboundBlockedNumberPattern { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsInboundBlockedNumberPattern'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsInboundBlockedNumberPattern'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsInboundExemptNumberPattern { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsInboundExemptNumberPattern'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsInboundExemptNumberPattern'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsInternalConfigApiModuleVersion { +[OutputType([System.String])] +[CmdletBinding(PositionalBinding=$false)] +param() + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsInternalConfigApiModuleVersion'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsMasObjectChangelog { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IMasChangelogItem])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Identity. + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Schemas to get from MAS DB, defaults to User, UserAdminAuthoredProps, UserAuthoredProps + ${SchemaName}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Last X versions to fetch from MAS DB. + ${Version}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsMasObjectChangelog_Get'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsMeetingMigrationStatus { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.DateTime]] + ${EndTime}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MigrationType}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.DateTime]] + ${StartTime}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${State}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${SummaryOnly}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsMeetingMigrationStatus'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOdcServiceNumber { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingServiceNumber])] +[CmdletBinding(DefaultParameterSetName='Get1', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Identity of the service number. + ${Identity}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Get1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Identity of the bridge, optional parameter. + ${BridgeId}, + + [Parameter(ParameterSetName='Get1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # BridgeName, optional parameter. + ${BridgeName}, + + [Parameter(ParameterSetName='Get1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # City service number belongs to, optional parameter. + ${City}, + + [Parameter(ParameterSetName='Get1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # Result size to send, optional parameter. + ${ResultSize}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOdcServiceNumber_Get'; + Get1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOdcServiceNumber_Get1'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOdcServiceNumber_GetViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineApplicationInstance { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + ${Identities}, + + [Parameter(Position=0)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(Position=2)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + ${ResultSize}, + + [Parameter(Position=3)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + ${Skip}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineApplicationInstance'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineApplicationInstanceDiagnosticData { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IApplicationInstanceDiagnosticDataResult])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Application instance object ID. + ${ObjectId}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineApplicationInstanceDiagnosticData_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineApplicationInstanceDiagnosticData_GetViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineApplicationInstanceV2 { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IApplicationInstanceAutoGenerated])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # identity. + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # resultSize. + ${ResultSize}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # skip. + ${Skip}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineApplicationInstanceV2_Get'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineAudioConferencingRoutingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineAudioConferencingRoutingPolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineAudioConferencingRoutingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineDialinConferencingBridge { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingBridge])] +[CmdletBinding(DefaultParameterSetName='Get1', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Identity of the bridge. + ${Identity}, + + [Parameter(ParameterSetName='Get1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Name of the bridge. + ${Name}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineDialinConferencingBridge_Get'; + Get1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineDialinConferencingBridge_Get1'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineDialinConferencingLanguagesSupported { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISupportedLanguage])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineDialinConferencingLanguagesSupported_Get'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineDialinConferencingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineDialinConferencingPolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineDialinConferencingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineDialInConferencingServiceNumber { +[CmdletBinding(DefaultParameterSetName='FiltersParams', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='FiltersParams')] + [Parameter(ParameterSetName='TenantIdParams')] + [Parameter(ParameterSetName='TenantDomainParams')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${BridgeName}, + + [Parameter(ParameterSetName='FiltersParams')] + [Parameter(ParameterSetName='UniqueBridgeParams')] + [Parameter(ParameterSetName='TenantIdParams')] + [Parameter(ParameterSetName='TenantDomainParams')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${City}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(ParameterSetName='FiltersParams')] + [Parameter(ParameterSetName='UniqueBridgeParams')] + [Parameter(ParameterSetName='TenantIdParams')] + [Parameter(ParameterSetName='TenantDomainParams')] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int64] + ${ResultSize}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='UniqueBridgeParams', Mandatory)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Guid]] + ${BridgeId}, + + [Parameter(ParameterSetName='TenantDomainParams', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TenantDomain}, + + [Parameter(ParameterSetName='UniqueNumberParams', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + FiltersParams = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineDialInConferencingServiceNumber'; + UniqueBridgeParams = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineDialInConferencingServiceNumber'; + TenantIdParams = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineDialInConferencingServiceNumber'; + TenantDomainParams = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineDialInConferencingServiceNumber'; + UniqueNumberParams = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineDialInConferencingServiceNumber'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineDialinConferencingTenantConfiguration { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineDialinConferencingTenantConfiguration'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineDialinConferencingTenantConfiguration'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineDialInConferencingTenantSettings { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineDialInConferencingTenantSettings'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineDialInConferencingTenantSettings'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineDialOutPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineDialOutPolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineDialOutPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineDirectoryTenant { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineDirectoryTenant'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineEnhancedEmergencyServiceDisclaimer { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CountryOrRegion}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Version}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineEnhancedEmergencyServiceDisclaimer'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineLisCivicAddress { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AssignmentStatus}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${City}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Guid]] + ${CivicAddressId}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CountryOrRegion}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(ValueFromPipelineByPropertyName)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Guid]] + ${LocationId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + ${NumberOfResultsToSkip}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PopulateNumberOfTelephoneNumbers}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PopulateNumberOfVoiceUsers}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int64] + ${ResultSize}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ValidationStatus}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineLisCivicAddress'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineLisCivicAddressModern { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICivicAddress])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${City}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${CivicAddressId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${CountryOrRegion}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # . + ${NumberOfResultsToSkip}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # . + ${PopulateNumberOfTelephoneNumbers}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # . + ${PopulateNumberOfVoiceUsers}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # . + ${ResultSize}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${ValidationStatus}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineLisCivicAddressModern_Get'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineLisCivicAddressOnly { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICivicAddress])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${CivicAddressId}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineLisCivicAddressOnly_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineLisCivicAddressOnly_GetViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineLisLocation { +[CmdletBinding(DefaultParameterSetName='GetByLocationID', PositionalBinding=$false)] +param( + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AssignmentStatus}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${City}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CountryOrRegion}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + ${NumberOfResultsToSkip}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PopulateNumberOfTelephoneNumbers}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PopulateNumberOfVoiceUsers}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int64] + ${ResultSize}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ValidationStatus}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='UseCivicAddressId', Mandatory, ValueFromPipelineByPropertyName)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Guid]] + ${CivicAddressId}, + + [Parameter(ParameterSetName='UseLocation', Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Location}, + + [Parameter(ParameterSetName='UseLocationId', ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Guid]] + ${LocationId} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + GetByLocationID = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineLisLocation'; + UseCivicAddressId = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineLisLocation'; + UseLocation = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineLisLocation'; + UseLocationId = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineLisLocation'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineLisLocationModern { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ILocationSchema])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${City}, + + [Parameter(ParameterSetName='Get1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${CivicAddressId}, + + [Parameter(ParameterSetName='Get1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${CountryOrRegion}, + + [Parameter(ParameterSetName='Get1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${Description}, + + [Parameter(ParameterSetName='Get1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${Location}, + + [Parameter(ParameterSetName='Get1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${LocationId}, + + [Parameter(ParameterSetName='Get1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # . + ${NumberOfResultsToSkip}, + + [Parameter(ParameterSetName='Get1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # . + ${PopulateNumberOfTelephoneNumbers}, + + [Parameter(ParameterSetName='Get1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # . + ${PopulateNumberOfVoiceUsers}, + + [Parameter(ParameterSetName='Get1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # . + ${ResultSize}, + + [Parameter(ParameterSetName='Get1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${ValidationStatus}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineLisLocationModern_Get'; + Get1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineLisLocationModern_Get1'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineLisLocationOnly { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ILocationSchema])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='Get1', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Id}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GetViaIdentity1', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineLisLocationOnly_Get'; + Get1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineLisLocationOnly_Get1'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineLisLocationOnly_GetViaIdentity'; + GetViaIdentity1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineLisLocationOnly_GetViaIdentity1'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineLisPort { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=1, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ChassisID}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${IsDebug}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NCSApiUrl}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PortID}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TargetStore}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineLisPort'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineLisPortModern { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IPortResponse])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${LocationId}, + + [Parameter(ParameterSetName='Get2', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${ChassisId}, + + [Parameter(ParameterSetName='Get2', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${PortId}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineLisPortModern_Get'; + Get1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineLisPortModern_Get1'; + Get2 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineLisPortModern_Get2'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineLisSubnet { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${IsDebug}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NCSApiUrl}, + + [Parameter(Position=1, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Subnet}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TargetStore}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineLisSubnet'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineLisSubnetModern { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISubnetResponse], [System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get2', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Subnet}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Get1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${LocationId}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials}, + + [Parameter(ParameterSetName='Get1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineLisSubnetModern_Get'; + Get1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineLisSubnetModern_Get1'; + Get2 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineLisSubnetModern_Get2'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineLisSubnetModern_GetViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineLisSwitch { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=1, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ChassisID}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${IsDebug}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NCSApiUrl}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TargetStore}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineLisSwitch'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineLisSwitchModern { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISwitchResponse], [System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get2', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${ChassisId}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Get1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${LocationId}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials}, + + [Parameter(ParameterSetName='Get1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineLisSwitchModern_Get'; + Get1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineLisSwitchModern_Get1'; + Get2 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineLisSwitchModern_Get2'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineLisSwitchModern_GetViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineLisWirelessAccessPoint { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=1, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${BSSID}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${IsDebug}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NCSApiUrl}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TargetStore}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineLisWirelessAccessPoint'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineLisWirelessAccessPointModern { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IWaPResponse], [System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get2', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Bssid}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Get1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${LocationId}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials}, + + [Parameter(ParameterSetName='Get1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineLisWirelessAccessPointModern_Get'; + Get1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineLisWirelessAccessPointModern_Get1'; + Get2 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineLisWirelessAccessPointModern_Get2'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineLisWirelessAccessPointModern_GetViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlinePowerShellEndpoint { +[CmdletBinding(DefaultParameterSetName='OverrideDiscoveryUri', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.CmdletHostContract.Fqdn] + ${TargetDomain}, + + [Parameter(ParameterSetName='OverrideDiscoveryUri')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Uri] + ${OverrideDiscoveryUri}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${OverrideDesiredLink}, + + [Parameter(ParameterSetName='TeamsEnvironmentName')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.CmdletHostContract.DeploymentConfiguration+TeamsEnvironment] + ${TeamsEnvironmentName} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + OverrideDiscoveryUri = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlinePowerShellEndpoint'; + TeamsEnvironmentName = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlinePowerShellEndpoint'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlinePSTNGateway { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlinePSTNGateway'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlinePSTNGateway'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlinePstnUsage { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlinePstnUsage'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlinePstnUsage'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineSipDomain { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Domain}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${DomainStatus}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineSipDomain'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineSipDomainModern { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITenantVerifiedSipDomain])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Option filter for domain + ${Domain}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Option filter for status + ${DomainStatus}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineSipDomainModern_Get'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineTelephoneNumber { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter()] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ActivationState}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Assigned}, + + [Parameter()] + [Alias('CityCode')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CapitalOrMajorCity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Country}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${ExpandLocation}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${InventoryType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${IsNotAssigned}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${NumberType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int64] + ${ResultSize}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TelephoneNumber}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TelephoneNumberGreaterThan}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TelephoneNumberLessThan}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TelephoneNumberStartsWith}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineTelephoneNumber'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineTelephoneNumberCountry { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISkypeTelephoneNumberMgmtCountry], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISkypeTelephoneNumberMgmtErrorResponseDetails])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineTelephoneNumberCountry_Get'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineTelephoneNumberOrder { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISkypeTelephoneNumberMgmtCmdletSearchOrder], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISkypeTelephoneNumberMgmtErrorResponseDetails])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${OrderId}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineTelephoneNumberOrder_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineTelephoneNumberOrder_GetViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineTelephoneNumberType { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISkypeTelephoneNumberMgmtCmdletPlan], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISkypeTelephoneNumberMgmtErrorResponseDetails])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Country}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineTelephoneNumberType_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineTelephoneNumberType_GetViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineUser { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter}, + + [Parameter(Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${LdapFilter}, + + [Parameter()] + [Alias('OnLyncServer')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${OnModernServer}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${OnOfficeCommunicationServer}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${OU}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.UInt32] + ${ResultSize}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${SkipUserPolicies}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${UnassignedUser}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${UsePreferredDC}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${SoftDeletedUsers}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Models.AccountType] + ${AccountType}, + + [Parameter()] + [Alias('Sort')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${OrderBy}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineUser'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineVoicemailPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineVoicemailPolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineVoicemailPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineVoiceRoute { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineVoiceRoute'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineVoiceRoute'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineVoiceRoutingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineVoiceRoutingPolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineVoiceRoutingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineVoiceUser { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter()] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Guid]] + ${CivicAddressId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${EnterpriseVoiceStatus}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${ExpandLocation}, + + [Parameter()] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${First}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${GetFromAAD}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${GetPendingUsers}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Guid]] + ${LocationId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${NumberAssigned}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${NumberNotAssigned}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${PSTNConnectivity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${SearchQuery}, + + [Parameter()] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Skip}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineVoiceUser'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsPhoneNumberAssignment { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISkypeTelephoneNumberMgmtCmdletAcquiredTelephoneNumber])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${ActivationState}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${AssignedPstnTargetId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${AssignmentCategory}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${CapabilitiesContain}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${CivicAddressId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${IsoCountryCode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${LocationId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${NetworkSiteId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${NumberType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${PstnAssignmentStatus}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # . + ${Skip}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${TelephoneNumber}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${TelephoneNumberContain}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${TelephoneNumberGreaterThan}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${TelephoneNumberLessThan}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${TelephoneNumberStartsWith}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # . + ${Top}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsPhoneNumberAssignment_Get'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsPolicyPackage { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IPackageServiceModelsFormattedPackageSummary], [System.String], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IPackageServiceModelsFormattedPackage])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get1', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # The name of a specific policy package + ${Identity}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsPolicyPackage_Get'; + Get1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsPolicyPackage_Get1'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsPolicyPackage_GetViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsPrivacyConfiguration { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsPrivacyConfiguration'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsPrivacyConfiguration'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsRegionContext { +[CmdletBinding(PositionalBinding=$false)] +param() + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsRegionContext'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsSdgBulkSignInRequestsSummary { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISdgBulkSignInRequestsSummaryResponseItem])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsSdgBulkSignInRequestsSummary_Get'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsSdgBulkSignInRequestStatus { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISdgBulkSignInRequestStatusResult])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # batchid for which the status needs to be fetched + ${Batchid}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsSdgBulkSignInRequestStatus_Get'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsSessionState { +[OutputType([System.Management.Automation.Runspaces.PSSession])] +[CmdletBinding(PositionalBinding=$false)] +param() + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsSessionState'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsAcsFederationConfiguration { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsAcsFederationConfiguration'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsAcsFederationConfiguration'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsAppPermissionPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsAppPermissionPolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsAppPermissionPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsAppSetupPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsAppSetupPolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsAppSetupPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsAudioConferencingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsAudioConferencingPolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsAudioConferencingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsCallHoldPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsCallHoldPolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsCallHoldPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsCallingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsCallingPolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsCallingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsCallParkPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsCallParkPolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsCallParkPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsChannelsPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsChannelsPolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsChannelsPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsClientConfiguration { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsClientConfiguration'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsClientConfiguration'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsComplianceRecordingApplication { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsComplianceRecordingApplication'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsComplianceRecordingApplication'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsComplianceRecordingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsComplianceRecordingPolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsComplianceRecordingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsCortanaPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsCortanaPolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsCortanaPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsEducationAssignmentsAppPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsEducationAssignmentsAppPolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsEducationAssignmentsAppPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsEducationConfiguration { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsEducationConfiguration'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsEducationConfiguration'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsEmergencyCallingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsEmergencyCallingPolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsEmergencyCallingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsEmergencyCallRoutingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsEmergencyCallRoutingPolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsEmergencyCallRoutingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsEnhancedEncryptionPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsEnhancedEncryptionPolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsEnhancedEncryptionPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsEventsPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsEventsPolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsEventsPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsFeedbackPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsFeedbackPolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsFeedbackPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsFilesPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsFilesPolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsFilesPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsGuestCallingConfiguration { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsGuestCallingConfiguration'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsGuestCallingConfiguration'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsGuestMeetingConfiguration { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsGuestMeetingConfiguration'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsGuestMeetingConfiguration'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsGuestMessagingConfiguration { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsGuestMessagingConfiguration'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsGuestMessagingConfiguration'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsIPPhonePolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsIPPhonePolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsIPPhonePolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsMediaLoggingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsMediaLoggingPolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsMediaLoggingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsMeetingBroadcastConfiguration { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${ExposeSDNConfigurationJsonBlob}, + + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsMeetingBroadcastConfiguration'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsMeetingBroadcastConfiguration'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsMeetingBroadcastPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsMeetingBroadcastPolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsMeetingBroadcastPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsMeetingConfiguration { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsMeetingConfiguration'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsMeetingConfiguration'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsMeetingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsMeetingPolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsMeetingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsMessagingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsMessagingPolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsMessagingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsMigrationConfiguration { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsMigrationConfiguration'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsMigrationConfiguration'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsMobilityPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsMobilityPolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsMobilityPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsNetworkRoamingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsNetworkRoamingPolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsNetworkRoamingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsNotificationAndFeedsPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsNotificationAndFeedsPolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsNotificationAndFeedsPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsRoomVideoTeleConferencingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsRoomVideoTeleConferencingPolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsRoomVideoTeleConferencingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsShiftsAppPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsShiftsAppPolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsShiftsAppPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsShiftsConnectionConnector { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConnectorResponse], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IErrorDetailsResponse])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsShiftsConnectionConnector_Get'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsShiftsConnectionErrorReport { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IErrorReportResponse], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IErrorDetailsResponse])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get1', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # The UUID of a report instance + ${ErrorReportId}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${Activeness}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${After}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${Before}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${Code}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${ConnectionId}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${ConnectorInstanceId}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${Operation}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${Procedure}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${TeamId}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Header')] + [System.String] + # Bearer: token + ${Authorization}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsShiftsConnectionErrorReport_Get'; + Get1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsShiftsConnectionErrorReport_Get1'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsShiftsConnectionErrorReport_GetViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsShiftsConnectionInstance { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConnectorInstanceResponse], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IErrorDetailsResponse])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get1', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Connector Instance Id + ${ConnectorInstanceId}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsShiftsConnectionInstance_Get'; + Get1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsShiftsConnectionInstance_Get1'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsShiftsConnectionInstance_GetViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsShiftsConnectionOperation { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetOperationResponse], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IErrorDetailsResponse])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${OperationId}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsShiftsConnectionOperation_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsShiftsConnectionOperation_GetViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsShiftsConnectionSyncResult { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetUserSyncResponse], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IErrorDetailsResponse])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Connector Instance Id + ${ConnectorInstanceId}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Team Id + ${TeamId}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsShiftsConnectionSyncResult_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsShiftsConnectionSyncResult_GetViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsShiftsConnectionTeamMap { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamConnectResponse], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IErrorDetailsResponse])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Connector Instance Id + ${ConnectorInstanceId}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsShiftsConnectionTeamMap_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsShiftsConnectionTeamMap_GetViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsShiftsConnectionWfmTeam { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IWfmTeam], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IErrorDetailsResponse], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IWfmTeamResponse])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Connector Instance Id + ${ConnectorInstanceId}, + + [Parameter(ParameterSetName='Get1', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Connection Id. + ${ConnectionId}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GetViaIdentity1', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Get1')] + [Parameter(ParameterSetName='GetViaIdentity1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Header')] + [System.String] + # Bearer: token + ${Authorization}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsShiftsConnectionWfmTeam_Get'; + Get1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsShiftsConnectionWfmTeam_Get1'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsShiftsConnectionWfmTeam_GetViaIdentity'; + GetViaIdentity1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsShiftsConnectionWfmTeam_GetViaIdentity1'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsShiftsConnectionWfmUser { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUserAutoGenerated], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IErrorDetailsResponse])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Connector Instance Id + ${ConnectorInstanceId}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Team Id + ${WfmTeamId}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsShiftsConnectionWfmUser_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsShiftsConnectionWfmUser_GetViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsShiftsConnection { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IWfmConnectionResponse], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IErrorDetailsResponse])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get1', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Connection Id. + ${ConnectionId}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Header')] + [System.String] + # Bearer: token + ${Authorization}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsShiftsConnection_Get'; + Get1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsShiftsConnection_Get1'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsShiftsConnection_GetViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsShiftsPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsShiftsPolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsShiftsPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsSurvivableBranchAppliance { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsSurvivableBranchAppliance'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsSurvivableBranchAppliance'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsSurvivableBranchAppliancePolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsSurvivableBranchAppliancePolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsSurvivableBranchAppliancePolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsTargetingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsTargetingPolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsTargetingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsTranslationRule { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsTranslationRule'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsTranslationRule'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsUnassignedNumberTreatment { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsUnassignedNumberTreatment'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsUnassignedNumberTreatment'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsUpdateManagementPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsUpdateManagementPolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsUpdateManagementPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsUpgradeConfiguration { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsUpgradeConfiguration'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsUpgradeConfiguration'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsUpgradePolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsUpgradePolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsUpgradePolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsVdiPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsVdiPolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsVdiPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsVideoInteropServicePolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsVideoInteropServicePolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsVideoInteropServicePolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsVoiceApplicationsPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsVoiceApplicationsPolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsVoiceApplicationsPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsWorkLoadPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsWorkLoadPolicy'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsWorkLoadPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamTemplate { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplate], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplateErrorResponse])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # A composite URI of a template. + ${OdataId}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamTemplate_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamTemplate_GetViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTenant { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter}, + + [Parameter(Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.UInt32] + ${ResultSize}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenant'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTenantApp { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITenant])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # To set defaultpropertyset value + ${Defaultpropertyset}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Properties to select + ${Select}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantApp_Get'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTenantBlockedCallingNumbers { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantBlockedCallingNumbers'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantBlockedCallingNumbers'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTenantDialPlan { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantDialPlan'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantDialPlan'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTenantFederationConfiguration { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantFederationConfiguration'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantFederationConfiguration'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTenantLicensingConfiguration { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantLicensingConfiguration'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantLicensingConfiguration'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTenantLocationPhoneNumberAsync { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IAny])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='Get1', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # The civic address Id. + ${CivicAddressId}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='Get1', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # The location Id. + ${LocationId}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GetViaIdentity1', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantLocationPhoneNumberAsync_Get'; + Get1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantLocationPhoneNumberAsync_Get1'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantLocationPhoneNumberAsync_GetViaIdentity'; + GetViaIdentity1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantLocationPhoneNumberAsync_GetViaIdentity1'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTenantLocationUserAsync { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IAny])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='Get1', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Civic address id. + ${CivicAddressId}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='Get1', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Location id. + ${LocationId}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GetViaIdentity1', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantLocationUserAsync_Get'; + Get1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantLocationUserAsync_Get1'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantLocationUserAsync_GetViaIdentity'; + GetViaIdentity1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantLocationUserAsync_GetViaIdentity1'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTenantMigrationConfiguration { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantMigrationConfiguration'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantMigrationConfiguration'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTenantNetworkConfiguration { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantNetworkConfiguration'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantNetworkConfiguration'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTenantNetworkRegion { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantNetworkRegion'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantNetworkRegion'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTenantNetworkSite { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantNetworkSite'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantNetworkSite'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTenantNetworkSubnet { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantNetworkSubnet'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantNetworkSubnet'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTenantPhoneAssignment { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IAny])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='Get1', Mandatory)] + [Parameter(ParameterSetName='Get2', Mandatory)] + [Parameter(ParameterSetName='Get3', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Civic address id. + ${CivicAddressId}, + + [Parameter(ParameterSetName='Get2', Mandatory)] + [Parameter(ParameterSetName='Get3', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Location id. + ${LocationId}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GetViaIdentity1', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GetViaIdentity2', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GetViaIdentity3', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantPhoneAssignment_Get'; + Get1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantPhoneAssignment_Get1'; + Get2 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantPhoneAssignment_Get2'; + Get3 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantPhoneAssignment_Get3'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantPhoneAssignment_GetViaIdentity'; + GetViaIdentity1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantPhoneAssignment_GetViaIdentity1'; + GetViaIdentity2 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantPhoneAssignment_GetViaIdentity2'; + GetViaIdentity3 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantPhoneAssignment_GetViaIdentity3'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTenantTrustedIPAddress { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantTrustedIPAddress'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantTrustedIPAddress'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTenantUserAssignment { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IAny])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='Get1', Mandatory)] + [Parameter(ParameterSetName='Get2', Mandatory)] + [Parameter(ParameterSetName='Get3', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Civic address id. + ${CivicAddressId}, + + [Parameter(ParameterSetName='Get2', Mandatory)] + [Parameter(ParameterSetName='Get3', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Location id. + ${LocationId}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GetViaIdentity1', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GetViaIdentity2', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GetViaIdentity3', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantUserAssignment_Get'; + Get1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantUserAssignment_Get1'; + Get2 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantUserAssignment_Get2'; + Get3 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantUserAssignment_Get3'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantUserAssignment_GetViaIdentity'; + GetViaIdentity1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantUserAssignment_GetViaIdentity1'; + GetViaIdentity2 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantUserAssignment_GetViaIdentity2'; + GetViaIdentity3 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantUserAssignment_GetViaIdentity3'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsUserApp { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUserMas])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # UserId. + # Supports Guid. + ${UserId}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # To set defaultpropertyset value + ${Defaultpropertyset}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Properties to select + ${Select}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # Skip user policies in user response object + ${Skipuserpolicy}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsUserApp_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsUserApp_GetViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsUserCallingSettings { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUserRoutingSettings])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsUserCallingSettings_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsUserCallingSettings_GetViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsUserPolicyAssignment { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IEffectivePolicy])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Alias('User')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # The policy type for which group policy assignments will be returned. + ${PolicyType}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsUserPolicyAssignment_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsUserPolicyAssignment_GetViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsUserPolicyPackageRecommendation { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IPackageServiceModelsFormattedPackageRecommendation], [System.String])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Header')] + [System.String] + # The user that will receive policy package recommendations if provided + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsUserPolicyPackageRecommendation_Get'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsUserPolicyPackage { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IPackageServiceModelsFormattedPackageSummary], [System.String])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Header')] + [System.String] + # The user + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsUserPolicyPackage_Get'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsVideoInteropServiceProvider { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Identity', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='Filter')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsVideoInteropServiceProvider'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsVideoInteropServiceProvider'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsApplicationAccessPolicy { +[CmdletBinding(DefaultParameterSetName='GrantToTenant', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='GrantToTenant')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Global}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PassThru}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='GrantToGroup', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Group}, + + [Parameter(ParameterSetName='GrantToGroup')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Rank}, + + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + GrantToTenant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsApplicationAccessPolicy'; + GrantToGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsApplicationAccessPolicy'; + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsApplicationAccessPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsCallingLineIdentity { +[CmdletBinding(DefaultParameterSetName='GrantToTenant', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='GrantToTenant')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Global}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PassThru}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='GrantToGroup', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Group}, + + [Parameter(ParameterSetName='GrantToGroup')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Rank}, + + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + GrantToTenant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsCallingLineIdentity'; + GrantToGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsCallingLineIdentity'; + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsCallingLineIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsDialoutPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PassThru}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='GrantToTenant')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Global}, + + [Parameter(ParameterSetName='GrantToGroup', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Group}, + + [Parameter(ParameterSetName='GrantToGroup')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Rank} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsDialoutPolicy'; + GrantToTenant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsDialoutPolicy'; + GrantToGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsDialoutPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsExternalAccessPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PassThru}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='GrantToTenant')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Global}, + + [Parameter(ParameterSetName='GrantToGroup', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Group}, + + [Parameter(ParameterSetName='GrantToGroup')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Rank} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsExternalAccessPolicy'; + GrantToTenant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsExternalAccessPolicy'; + GrantToGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsExternalAccessPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsOnlineAudioConferencingRoutingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PassThru}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='GrantToTenant')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Global}, + + [Parameter(ParameterSetName='GrantToGroup', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Group}, + + [Parameter(ParameterSetName='GrantToGroup')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Rank} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsOnlineAudioConferencingRoutingPolicy'; + GrantToTenant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsOnlineAudioConferencingRoutingPolicy'; + GrantToGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsOnlineAudioConferencingRoutingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsOnlineVoicemailPolicy { +[CmdletBinding(DefaultParameterSetName='GrantToTenant', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='GrantToTenant')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Global}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PassThru}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='GrantToGroup', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Group}, + + [Parameter(ParameterSetName='GrantToGroup')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Rank}, + + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + GrantToTenant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsOnlineVoicemailPolicy'; + GrantToGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsOnlineVoicemailPolicy'; + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsOnlineVoicemailPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsOnlineVoiceRoutingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PassThru}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='GrantToTenant')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Global}, + + [Parameter(ParameterSetName='GrantToGroup', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Group}, + + [Parameter(ParameterSetName='GrantToGroup')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Rank} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsOnlineVoiceRoutingPolicy'; + GrantToTenant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsOnlineVoiceRoutingPolicy'; + GrantToGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsOnlineVoiceRoutingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsTeamsAppPermissionPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PassThru}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='GrantToTenant')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Global}, + + [Parameter(ParameterSetName='GrantToGroup', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Group}, + + [Parameter(ParameterSetName='GrantToGroup')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Rank} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsAppPermissionPolicy'; + GrantToTenant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsAppPermissionPolicy'; + GrantToGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsAppPermissionPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsTeamsAppSetupPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PassThru}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='GrantToTenant')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Global}, + + [Parameter(ParameterSetName='GrantToGroup', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Group}, + + [Parameter(ParameterSetName='GrantToGroup')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Rank} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsAppSetupPolicy'; + GrantToTenant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsAppSetupPolicy'; + GrantToGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsAppSetupPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsTeamsAudioConferencingPolicy { +[CmdletBinding(DefaultParameterSetName='GrantToTenant', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='GrantToTenant')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Global}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PassThru}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='GrantToGroup', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Group}, + + [Parameter(ParameterSetName='GrantToGroup')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Rank}, + + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + GrantToTenant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsAudioConferencingPolicy'; + GrantToGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsAudioConferencingPolicy'; + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsAudioConferencingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsTeamsCallHoldPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PassThru}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='GrantToTenant')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Global}, + + [Parameter(ParameterSetName='GrantToGroup', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Group}, + + [Parameter(ParameterSetName='GrantToGroup')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Rank} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsCallHoldPolicy'; + GrantToTenant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsCallHoldPolicy'; + GrantToGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsCallHoldPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsTeamsCallingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PassThru}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='GrantToTenant')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Global}, + + [Parameter(ParameterSetName='GrantToGroup', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Group}, + + [Parameter(ParameterSetName='GrantToGroup')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Rank} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsCallingPolicy'; + GrantToTenant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsCallingPolicy'; + GrantToGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsCallingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsTeamsCallParkPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PassThru}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='GrantToTenant')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Global}, + + [Parameter(ParameterSetName='GrantToGroup', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Group}, + + [Parameter(ParameterSetName='GrantToGroup')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Rank} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsCallParkPolicy'; + GrantToTenant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsCallParkPolicy'; + GrantToGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsCallParkPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsTeamsChannelsPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PassThru}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='GrantToTenant')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Global}, + + [Parameter(ParameterSetName='GrantToGroup', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Group}, + + [Parameter(ParameterSetName='GrantToGroup')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Rank} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsChannelsPolicy'; + GrantToTenant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsChannelsPolicy'; + GrantToGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsChannelsPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsTeamsComplianceRecordingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PassThru}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='GrantToTenant')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Global}, + + [Parameter(ParameterSetName='GrantToGroup', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Group}, + + [Parameter(ParameterSetName='GrantToGroup')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Rank} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsComplianceRecordingPolicy'; + GrantToTenant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsComplianceRecordingPolicy'; + GrantToGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsComplianceRecordingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsTeamsCortanaPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PassThru}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='GrantToTenant')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Global}, + + [Parameter(ParameterSetName='GrantToGroup', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Group}, + + [Parameter(ParameterSetName='GrantToGroup')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Rank} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsCortanaPolicy'; + GrantToTenant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsCortanaPolicy'; + GrantToGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsCortanaPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsTeamsEmergencyCallingPolicy { +[CmdletBinding(DefaultParameterSetName='GrantToTenant', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='GrantToTenant')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Global}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PassThru}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='GrantToGroup', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Group}, + + [Parameter(ParameterSetName='GrantToGroup')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Rank}, + + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + GrantToTenant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsEmergencyCallingPolicy'; + GrantToGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsEmergencyCallingPolicy'; + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsEmergencyCallingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsTeamsEmergencyCallRoutingPolicy { +[CmdletBinding(DefaultParameterSetName='GrantToTenant', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='GrantToTenant')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Global}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PassThru}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='GrantToGroup', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Group}, + + [Parameter(ParameterSetName='GrantToGroup')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Rank}, + + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + GrantToTenant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsEmergencyCallRoutingPolicy'; + GrantToGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsEmergencyCallRoutingPolicy'; + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsEmergencyCallRoutingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsTeamsEnhancedEncryptionPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PassThru}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='GrantToTenant')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Global}, + + [Parameter(ParameterSetName='GrantToGroup', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Group}, + + [Parameter(ParameterSetName='GrantToGroup')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Rank} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsEnhancedEncryptionPolicy'; + GrantToTenant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsEnhancedEncryptionPolicy'; + GrantToGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsEnhancedEncryptionPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsTeamsEventsPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PassThru}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='GrantToTenant')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Global}, + + [Parameter(ParameterSetName='GrantToGroup', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Group}, + + [Parameter(ParameterSetName='GrantToGroup')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Rank} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsEventsPolicy'; + GrantToTenant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsEventsPolicy'; + GrantToGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsEventsPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsTeamsFeedbackPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PassThru}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='GrantToTenant')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Global}, + + [Parameter(ParameterSetName='GrantToGroup', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Group}, + + [Parameter(ParameterSetName='GrantToGroup')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Rank} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsFeedbackPolicy'; + GrantToTenant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsFeedbackPolicy'; + GrantToGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsFeedbackPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsTeamsFilesPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PassThru}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='GrantToTenant')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Global}, + + [Parameter(ParameterSetName='GrantToGroup', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Group}, + + [Parameter(ParameterSetName='GrantToGroup')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Rank} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsFilesPolicy'; + GrantToTenant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsFilesPolicy'; + GrantToGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsFilesPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsTeamsIPPhonePolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PassThru}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='GrantToTenant')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Global}, + + [Parameter(ParameterSetName='GrantToGroup', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Group}, + + [Parameter(ParameterSetName='GrantToGroup')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Rank} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsIPPhonePolicy'; + GrantToTenant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsIPPhonePolicy'; + GrantToGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsIPPhonePolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsTeamsMediaLoggingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PassThru}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='GrantToTenant')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Global}, + + [Parameter(ParameterSetName='GrantToGroup', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Group}, + + [Parameter(ParameterSetName='GrantToGroup')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Rank} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsMediaLoggingPolicy'; + GrantToTenant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsMediaLoggingPolicy'; + GrantToGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsMediaLoggingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsTeamsMeetingBroadcastPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PassThru}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='GrantToTenant')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Global}, + + [Parameter(ParameterSetName='GrantToGroup', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Group}, + + [Parameter(ParameterSetName='GrantToGroup')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Rank} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsMeetingBroadcastPolicy'; + GrantToTenant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsMeetingBroadcastPolicy'; + GrantToGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsMeetingBroadcastPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsTeamsMeetingPolicy { +[CmdletBinding(DefaultParameterSetName='GrantToTenant', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='GrantToTenant')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Global}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PassThru}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='GrantToGroup', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Group}, + + [Parameter(ParameterSetName='GrantToGroup')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Rank}, + + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + GrantToTenant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsMeetingPolicy'; + GrantToGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsMeetingPolicy'; + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsMeetingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsTeamsMessagingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PassThru}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='GrantToTenant')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Global}, + + [Parameter(ParameterSetName='GrantToGroup', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Group}, + + [Parameter(ParameterSetName='GrantToGroup')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Rank} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsMessagingPolicy'; + GrantToTenant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsMessagingPolicy'; + GrantToGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsMessagingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsTeamsMobilityPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PassThru}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='GrantToTenant')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Global}, + + [Parameter(ParameterSetName='GrantToGroup', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Group}, + + [Parameter(ParameterSetName='GrantToGroup')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Rank} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsMobilityPolicy'; + GrantToTenant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsMobilityPolicy'; + GrantToGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsMobilityPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsTeamsRoomVideoTeleConferencingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PassThru}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='GrantToTenant')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Global}, + + [Parameter(ParameterSetName='GrantToGroup', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Group}, + + [Parameter(ParameterSetName='GrantToGroup')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Rank} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsRoomVideoTeleConferencingPolicy'; + GrantToTenant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsRoomVideoTeleConferencingPolicy'; + GrantToGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsRoomVideoTeleConferencingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsTeamsShiftsPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PassThru}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='GrantToTenant')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Global}, + + [Parameter(ParameterSetName='GrantToGroup', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Group}, + + [Parameter(ParameterSetName='GrantToGroup')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Rank} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsShiftsPolicy'; + GrantToTenant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsShiftsPolicy'; + GrantToGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsShiftsPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsTeamsSurvivableBranchAppliancePolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PassThru}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='GrantToTenant')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Global}, + + [Parameter(ParameterSetName='GrantToGroup', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Group}, + + [Parameter(ParameterSetName='GrantToGroup')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Rank} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsSurvivableBranchAppliancePolicy'; + GrantToTenant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsSurvivableBranchAppliancePolicy'; + GrantToGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsSurvivableBranchAppliancePolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsTeamsUpdateManagementPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PassThru}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='GrantToTenant')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Global}, + + [Parameter(ParameterSetName='GrantToGroup', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Group}, + + [Parameter(ParameterSetName='GrantToGroup')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Rank} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsUpdateManagementPolicy'; + GrantToTenant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsUpdateManagementPolicy'; + GrantToGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsUpdateManagementPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsTeamsUpgradePolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${MigrateMeetingsToTeams}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PassThru}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='GrantToTenant')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(ParameterSetName='GrantToTenant')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Global}, + + [Parameter(ParameterSetName='GrantToGroup', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Group}, + + [Parameter(ParameterSetName='GrantToGroup')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Rank} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsUpgradePolicy'; + GrantToTenant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsUpgradePolicy'; + GrantToGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsUpgradePolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsTeamsVdiPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PassThru}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='GrantToTenant')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Global}, + + [Parameter(ParameterSetName='GrantToGroup', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Group}, + + [Parameter(ParameterSetName='GrantToGroup')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Rank} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsVdiPolicy'; + GrantToTenant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsVdiPolicy'; + GrantToGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsVdiPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsTeamsVideoInteropServicePolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PassThru}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='GrantToTenant')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Global}, + + [Parameter(ParameterSetName='GrantToGroup', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Group}, + + [Parameter(ParameterSetName='GrantToGroup')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Rank} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsVideoInteropServicePolicy'; + GrantToTenant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsVideoInteropServicePolicy'; + GrantToGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsVideoInteropServicePolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsTeamsVoiceApplicationsPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PassThru}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='GrantToTenant')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Global}, + + [Parameter(ParameterSetName='GrantToGroup', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Group}, + + [Parameter(ParameterSetName='GrantToGroup')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Rank} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsVoiceApplicationsPolicy'; + GrantToTenant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsVoiceApplicationsPolicy'; + GrantToGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsVoiceApplicationsPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsTeamsWorkLoadPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PassThru}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='GrantToTenant')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Global}, + + [Parameter(ParameterSetName='GrantToGroup', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Group}, + + [Parameter(ParameterSetName='GrantToGroup')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Rank} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsWorkLoadPolicy'; + GrantToTenant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsWorkLoadPolicy'; + GrantToGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTeamsWorkLoadPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsTenantDialPlan { +[CmdletBinding(DefaultParameterSetName='GrantToTenant', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='GrantToTenant')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Global}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PassThru}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='GrantToGroup', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Group}, + + [Parameter(ParameterSetName='GrantToGroup')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Rank}, + + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + GrantToTenant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTenantDialPlan'; + GrantToGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTenantDialPlan'; + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTenantDialPlan'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsUserPolicyPackage { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IPackageServiceModelsPostPackageResponse])] +[CmdletBinding(DefaultParameterSetName='GrantExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # . + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${PackageName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + GrantExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsUserPolicyPackage_GrantExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Invoke-CsCustomHandlerNgtprov { +[OutputType([System.String])] +[CmdletBinding(DefaultParameterSetName='CustomExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Custom', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICustomHandlerPayload] + # Payload for custom Handler + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='CustomExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Custom Handler Fully Qualified Name + ${HandlerFullyQualifiedName}, + + [Parameter(ParameterSetName='CustomExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # PayLoad for Custom Handler + ${Payload}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Custom = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Invoke-CsCustomHandlerNgtprov_Custom'; + CustomExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Invoke-CsCustomHandlerNgtprov_CustomExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Invoke-CsInternalBeginmove { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IMigrationData])] +[CmdletBinding(DefaultParameterSetName='InternalExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Internal', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IBeginMoveRequestBody] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='InternalExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${MajorVersion}, + + [Parameter(ParameterSetName='InternalExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${UserSipUri}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Internal = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Invoke-CsInternalBeginmove_Internal'; + InternalExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Invoke-CsInternalBeginmove_InternalExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Invoke-CsInternalCompletemove { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='InternalExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Internal', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICompleteMoveRequestBody] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='InternalExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${MajorVersion}, + + [Parameter(ParameterSetName='InternalExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${UserSipUri}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Internal = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Invoke-CsInternalCompletemove_Internal'; + InternalExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Invoke-CsInternalCompletemove_InternalExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Invoke-CsInternalGetpolicy { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IKeyValuePairStringItem])] +[CmdletBinding(DefaultParameterSetName='InternalExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Internal', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUserSipUriRequestBody] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='InternalExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${UserSipUri}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Internal = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Invoke-CsInternalGetpolicy_Internal'; + InternalExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Invoke-CsInternalGetpolicy_InternalExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Invoke-CsInternalPsTelemetry { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TeamsModuleAuthTypeUsed} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Invoke-CsInternalPsTelemetry'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Invoke-CsInternalRehomeuser { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='InternalExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Internal', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IRehomeUserRequestBody] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='InternalExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${MoveToCloud}, + + [Parameter(ParameterSetName='InternalExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${TeamDataCheckCpc}, + + [Parameter(ParameterSetName='InternalExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${TeamDataCheckEnterpriseVoice}, + + [Parameter(ParameterSetName='InternalExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${TeamDataMoveToTeam}, + + [Parameter(ParameterSetName='InternalExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${UserSipUri}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Internal = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Invoke-CsInternalRehomeuser_Internal'; + InternalExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Invoke-CsInternalRehomeuser_InternalExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Invoke-CsInternalRollback { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='InternalExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Internal', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUserSipUriRequestBody] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='InternalExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${UserSipUri}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Internal = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Invoke-CsInternalRollback_Internal'; + InternalExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Invoke-CsInternalRollback_InternalExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Invoke-CsInternalSelfhostLogger { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${LogLevel}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Message} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Invoke-CsInternalSelfhostLogger'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Invoke-CsInternalSetmovedresourcedata { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='InternalExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Internal', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISetMovedResourceDataRequestBody] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='InternalExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${MajorVersion}, + + [Parameter(ParameterSetName='InternalExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${ResourceDataDatastr}, + + [Parameter(ParameterSetName='InternalExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${TeamDataCheckCpc}, + + [Parameter(ParameterSetName='InternalExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${TeamDataCheckEnterpriseVoice}, + + [Parameter(ParameterSetName='InternalExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${TeamDataMoveToTeam}, + + [Parameter(ParameterSetName='InternalExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${UserSipUri}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Internal = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Invoke-CsInternalSetmovedresourcedata_Internal'; + InternalExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Invoke-CsInternalSetmovedresourcedata_InternalExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Invoke-CsInternalTelemetryRelayApp { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITelemetryRelayResponseSessionConfiguration], [System.String])] +[CmdletBinding(DefaultParameterSetName='InternalExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Internal', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConnectPowershellTelemetry] + # The version numbers for the relevant powershell modules, possibly installed on the machine. + # NOTE: This definition must be manually kept same as defined in + # src\Microsoft.TeamsCmdlets.PowerShell.Connect\ConnectMicrosoftTeams.cs of the repository + # https://domoreexp.visualstudio.com/DefaultCollection/Teamspace/_git/teams-powershellcmdlet. + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='InternalExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or Sets the Version of the ConfigApiPowershell module. + ${ConfigApiPowershellModuleVersion}, + + [Parameter(ParameterSetName='InternalExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or Sets the Version of the MicrosoftTeams powershell module. + ${MicrosoftTeamsPsVersion}, + + [Parameter(ParameterSetName='InternalExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or Sets the Version of the Skype For Business Online Connector. + ${SfBOnlineConnectorPsversion}, + + [Parameter(ParameterSetName='InternalExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or Sets Authentication type used by MicrosoftTeams module. + ${TeamsModuleAuthTypeUsed}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Internal = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Invoke-CsInternalTelemetryRelayApp_Internal'; + InternalExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Invoke-CsInternalTelemetryRelayApp_InternalExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Invoke-CsInternalTelemetryRelay { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITelemetryRelayResponseSessionConfiguration], [System.String])] +[CmdletBinding(DefaultParameterSetName='InternalExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Internal', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConnectPowershellTelemetry] + # The version numbers for the relevant powershell modules, possibly installed on the machine. + # NOTE: This definition must be manually kept same as defined in + # src\Microsoft.TeamsCmdlets.PowerShell.Connect\ConnectMicrosoftTeams.cs of the repository + # https://domoreexp.visualstudio.com/DefaultCollection/Teamspace/_git/teams-powershellcmdlet. + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='InternalExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or Sets the Version of the ConfigApiPowershell module. + ${ConfigApiPowershellModuleVersion}, + + [Parameter(ParameterSetName='InternalExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or Sets the Version of the MicrosoftTeams powershell module. + ${MicrosoftTeamsPsVersion}, + + [Parameter(ParameterSetName='InternalExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or Sets the Version of the Skype For Business Online Connector. + ${SfBOnlineConnectorPsversion}, + + [Parameter(ParameterSetName='InternalExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or Sets Authentication type used by MicrosoftTeams module. + ${TeamsModuleAuthTypeUsed}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Internal = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Invoke-CsInternalTelemetryRelay_Internal'; + InternalExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Invoke-CsInternalTelemetryRelay_InternalExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Invoke-CsInternalValidateuser { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDeploymentInfo])] +[CmdletBinding(DefaultParameterSetName='InternalExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Internal', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IValidateUserRequestBody] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='InternalExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CmdletVersion}, + + [Parameter(ParameterSetName='InternalExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${Force}, + + [Parameter(ParameterSetName='InternalExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${LocalDeploymentInfoMajorVersion}, + + [Parameter(ParameterSetName='InternalExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${LocalDeploymentInfoPresenceFqdn}, + + [Parameter(ParameterSetName='InternalExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${LocalDeploymentInfoRegistrarFqdn}, + + [Parameter(ParameterSetName='InternalExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${MoveToCloud}, + + [Parameter(ParameterSetName='InternalExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${TeamDataCheckCpc}, + + [Parameter(ParameterSetName='InternalExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${TeamDataCheckEnterpriseVoice}, + + [Parameter(ParameterSetName='InternalExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${TeamDataMoveToTeam}, + + [Parameter(ParameterSetName='InternalExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${UserSipUri}, + + [Parameter(ParameterSetName='InternalExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${LocalDeploymentInfoHostingProviderFqdn}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Internal = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Invoke-CsInternalValidateuser_Internal'; + InternalExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Invoke-CsInternalValidateuser_InternalExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Move-CsAvsTenantPartition { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IPartitionMovementResponse])] +[CmdletBinding(DefaultParameterSetName='MoveExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Move', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IPartitionMovementRequest] + # Payload for AVS Partition Movement Request + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='MoveExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Tenant ID + ${BasePartitionKey}, + + [Parameter(ParameterSetName='MoveExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int64] + # Batch Size + ${BatchSize}, + + [Parameter(ParameterSetName='MoveExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Container Name + ${ContainerName}, + + [Parameter(ParameterSetName='MoveExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int64] + # Number of Documents to be moved from Source to Target partition. + ${NumberOfDocuments}, + + [Parameter(ParameterSetName='MoveExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int64] + # Percentage of Documents to be moved from Source to Target partition. + ${PercentageOfPartition}, + + [Parameter(ParameterSetName='MoveExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Source Partition from where the documents are to be moved. + # Partition key is of format 'tenantId_suffix'. + ${SourcePartitionKey}, + + [Parameter(ParameterSetName='MoveExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Target Partition to where the documents are going to be moved. + # Partition key is of format 'tenantId_suffix'. + ${TargetPartitionKey}, + + [Parameter(ParameterSetName='MoveExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Workload + ${Workload}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Move = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Move-CsAvsTenantPartition_Move'; + MoveExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Move-CsAvsTenantPartition_MoveExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Move-CsInternalHelper { +[OutputType([System.Management.Automation.PSObject])] +[CmdletBinding(DefaultParameterSetName='Rehome', PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ActionType}, + + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${UserSipUri}, + + [Parameter(ParameterSetName='Validate', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CmdletVersion}, + + [Parameter(ParameterSetName='Validate', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${LocalDeploymentInfoMajorVersion}, + + [Parameter(ParameterSetName='Validate', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${LocalDeploymentInfoPresenceFqdn}, + + [Parameter(ParameterSetName='Validate', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${LocalDeploymentInfoRegistrarFqdn}, + + [Parameter(ParameterSetName='Validate')] + [Parameter(ParameterSetName='Rehome')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${MoveToCloud}, + + [Parameter(ParameterSetName='Validate')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(ParameterSetName='Validate')] + [Parameter(ParameterSetName='MoveResourcedata')] + [Parameter(ParameterSetName='Rehome')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${TeamDataCheckCpc}, + + [Parameter(ParameterSetName='Validate')] + [Parameter(ParameterSetName='MoveResourcedata')] + [Parameter(ParameterSetName='Rehome')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${TeamDataCheckEnterpriseVoice}, + + [Parameter(ParameterSetName='Validate')] + [Parameter(ParameterSetName='MoveResourcedata')] + [Parameter(ParameterSetName='Rehome')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${TeamDataMoveToTeam}, + + [Parameter(ParameterSetName='Validate')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${LocalDeploymentInfoHostingProviderFqdn}, + + [Parameter(ParameterSetName='MoveResourcedata', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ResourceData}, + + [Parameter(ParameterSetName='MoveResourcedata', Mandatory)] + [Parameter(ParameterSetName='BeginAndCompleteMove', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MajorVersion} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Validate = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Move-CsInternalHelper'; + MoveResourcedata = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Move-CsInternalHelper'; + Rehome = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Move-CsInternalHelper'; + BeginAndCompleteMove = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Move-CsInternalHelper'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsApplicationAccessPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${AppIds}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsApplicationAccessPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsBatchPolicyAssignmentOperation { +[OutputType([System.String])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # An optional name for the batch assignment operation. + ${OperationName}, + + [Parameter(Mandatory)] + [Alias('User')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # . + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.Info(PossibleTypes=([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IBatchAssignBodyAdditionalParameters]))] + [System.Collections.Hashtable] + # Dictionary of + ${AdditionalParameters}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${PolicyName}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${PolicyType}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsBatchPolicyAssignmentOperation_NewExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsBatchPolicyPackageAssignmentOperation { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IPackageServiceModelsBatchPostPackageResponse])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # . + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${PackageName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsBatchPolicyPackageAssignmentOperation_NewExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsCallingLineIdentity { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${BlockIncomingPstnCallerID}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CallingIDSubstitute}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CompanyName}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableUserOverride}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ResourceAccount}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ServiceNumber}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsCallingLineIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsCloudCallDataConnection { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsCloudCallDataConnection'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsCloudCallDataConnectionModern { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICloudCallDataConnection])] +[CmdletBinding(DefaultParameterSetName='New', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsCloudCallDataConnectionModern_New'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsEdgeAllowAllKnownDomains { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsEdgeAllowAllKnownDomains'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsEdgeAllowAllKnownDomainsHelper { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Collections.Hashtable] + ${PropertyBag} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsEdgeAllowAllKnownDomainsHelper'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsEdgeAllowList { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${AllowedDomain}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsEdgeAllowList'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsEdgeAllowListHelper { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Collections.Hashtable] + ${PropertyBag} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsEdgeAllowListHelper'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsEdgeDomainPattern { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Domain}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsEdgeDomainPattern'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsEdgeDomainPatternHelper { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Collections.Hashtable] + ${PropertyBag} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsEdgeDomainPatternHelper'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsExternalAccessPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableAcsFederationAccess}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableFederationAccess}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableOutsideAccess}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnablePublicCloudAccess}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnablePublicCloudAudioVideoAccess}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableTeamsConsumerAccess}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableTeamsConsumerInbound}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableXmppAccess}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${RestrictTeamsConsumerAccessToExternalUserProfiles}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsExternalAccessPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsGroupPolicyAssignment { +[OutputType([System.String])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # The ID of a batch policy assignment operation. + ${GroupId}, + + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # The policy type for which group policy assignments will be returned. + ${PolicyType}, + + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${PolicyName}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${Rank}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsGroupPolicyAssignment_NewExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsHybridTelephoneNumber { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IHybridTelephoneNumber])] +[CmdletBinding(DefaultParameterSetName='New', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='New', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # An instance of hybrid telephone number. + ${TelephoneNumber}, + + [Parameter(ParameterSetName='NewViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsHybridTelephoneNumber_New'; + NewViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsHybridTelephoneNumber_NewViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsInboundBlockedNumberPattern { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Pattern}, + + [Parameter(ParameterSetName='Identity', Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${Enabled}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='ParentAndRelativeKey', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Name} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsInboundBlockedNumberPattern'; + ParentAndRelativeKey = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsInboundBlockedNumberPattern'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsInboundExemptNumberPattern { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Pattern}, + + [Parameter(ParameterSetName='Identity', Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${Enabled}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='ParentAndRelativeKey', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Name} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsInboundExemptNumberPattern'; + ParentAndRelativeKey = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsInboundExemptNumberPattern'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsOnlineApplicationInstance { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${UserPrincipalName}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Guid]] + ${ApplicationId}, + + [Parameter(Position=3)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${DisplayName}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsOnlineApplicationInstance'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsOnlineApplicationInstanceV2 { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IApplicationInstanceAutoGenerated])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IApplicationInstanceCreateRequest] + # The request to create an application instance. + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Application ID. + ${ApplicationId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Display name. + ${DisplayName}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # User principal name. + ${UserPrincipalName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsOnlineApplicationInstanceV2_New'; + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsOnlineApplicationInstanceV2_NewExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsOnlineAudioConferencingRoutingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${OnlinePstnUsages}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${RouteType}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsOnlineAudioConferencingRoutingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsOnlineLisCivicAddress { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CompanyName}, + + [Parameter(Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CountryOrRegion}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${City}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CityAlias}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CompanyTaxId}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Confidence}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Elin}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${HouseNumber}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${HouseNumberSuffix}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${IsAzureMapValidationRequired}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Latitude}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Longitude}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PostalCode}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PostDirectional}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PreDirectional}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${StateOrProvince}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${StreetName}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${StreetSuffix}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ValidationStatus}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsOnlineLisCivicAddress'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsOnlineLisCivicAddressModern { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICivicAddress])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.INewCivicAddress] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${City}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CityAlias}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CompanyName}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CompanyTaxId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Confidence}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CountryOrRegion}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Description}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Elin}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${HouseNumber}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${HouseNumberSuffix}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Latitude}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Longitude}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${PostDirectional}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${PostalCode}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${PreDirectional}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${StateOrProvince}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${StreetName}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${StreetSuffix}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${ValidationStatus}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsOnlineLisCivicAddressModern_New'; + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsOnlineLisCivicAddressModern_NewExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsOnlineLisLocation { +[CmdletBinding(DefaultParameterSetName='ExistingCivicAddress', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Location}, + + [Parameter(ParameterSetName='ExistingCivicAddress', Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Guid] + ${CivicAddressId}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CityAlias}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Alias('Name')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CompanyName}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CompanyTaxId}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Confidence}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Elin}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${HouseNumberSuffix}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Latitude}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Longitude}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='CreateCivicAddress', Mandatory, ValueFromPipelineByPropertyName)] + [Alias('Country')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CountryOrRegion}, + + [Parameter(ParameterSetName='CreateCivicAddress', ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${City}, + + [Parameter(ParameterSetName='CreateCivicAddress', ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter(ParameterSetName='CreateCivicAddress', ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${HouseNumber}, + + [Parameter(ParameterSetName='CreateCivicAddress', ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PostalCode}, + + [Parameter(ParameterSetName='CreateCivicAddress', ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PostDirectional}, + + [Parameter(ParameterSetName='CreateCivicAddress', ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PreDirectional}, + + [Parameter(ParameterSetName='CreateCivicAddress', ValueFromPipelineByPropertyName)] + [Alias('State')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${StateOrProvince}, + + [Parameter(ParameterSetName='CreateCivicAddress', ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${StreetName}, + + [Parameter(ParameterSetName='CreateCivicAddress', ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${StreetSuffix} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + ExistingCivicAddress = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsOnlineLisLocation'; + CreateCivicAddress = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsOnlineLisLocation'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsOnlineLisLocationModern { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ILocationSchema])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.INewLocation] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${City}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CityAlias}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CivicAddressId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CompanyName}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CompanyTaxId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Confidence}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CountryOrRegion}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CountyOrDistrict}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Description}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Elin}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${HouseNumber}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${HouseNumberSuffix}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${IsDefault}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Latitude}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Location}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Longitude}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${PartnerId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${PostDirectional}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${PostalCode}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${PreDirectional}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${StateOrProvince}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${StreetName}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${StreetSuffix}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${TenantId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${ValidationStatus}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsOnlineLisLocationModern_New'; + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsOnlineLisLocationModern_NewExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsOnlinePSTNGateway { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + ${SipSignalingPort}, + + [Parameter(ParameterSetName='Identity', Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${BypassMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${Enabled}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${FailoverResponseCodes}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + ${FailoverTimeSeconds}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${ForwardCallHistory}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${ForwardPai}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${GatewayLbrEnabledUserOverride}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${GatewaySiteId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${GatewaySiteLbrEnabled}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${InboundPstnNumberTranslationRules}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${InboundTeamsNumberTranslationRules}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${MaxConcurrentSessions}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${MediaBypass}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MediaRelayRoutingLocationOverride}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${OutboundPstnNumberTranslationRules}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${OutboundTeamsNumberTranslationRules}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${PidfLoSupported}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ProxySbc}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${SendSipOptions}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='ParentAndRelativeKey', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Fqdn} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsOnlinePSTNGateway'; + ParentAndRelativeKey = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsOnlinePSTNGateway'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsOnlineTelephoneNumberOrder { +[OutputType([System.String], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISkypeTelephoneNumberMgmtErrorResponseDetails])] +[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Create', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISkypeTelephoneNumberMgmtCmdletCreateSearchOrderRequest] + # CmdletCreateSearchOrderRequest + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='CreateExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Telephone number country. + ${Country}, + + [Parameter(ParameterSetName='CreateExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Search order description. + ${Description}, + + [Parameter(ParameterSetName='CreateExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Search order name. + ${Name}, + + [Parameter(ParameterSetName='CreateExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Telephone number type. + ${NumberType}, + + [Parameter(ParameterSetName='CreateExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Number of telephone numbers to acquire. + ${Quantity}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Telephone number area code for AreaCodeSelection search. + ${AreaCode}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # CivicAddressId when RequiresCivicAddress is true. + ${CivicAddressId}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Telephone number prefix for Prefix search. + ${NumberPrefix}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Create = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsOnlineTelephoneNumberOrder_Create'; + CreateExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsOnlineTelephoneNumberOrder_CreateExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsOnlineVoicemailPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableEditingCallAnswerRulesSetting}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableTranscription}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableTranscriptionProfanityMasking}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableTranscriptionTranslation}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.TimeSpan] + ${MaximumRecordingLength}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PrimarySystemPromptLanguage}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${SecondarySystemPromptLanguage}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ShareData}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsOnlineVoicemailPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsOnlineVoiceRoute { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Identity', Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${BridgeSourcePhoneNumber}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NumberPattern}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${OnlinePstnGatewayList}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${OnlinePstnUsages}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + ${Priority}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='ParentAndRelativeKey', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Name} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsOnlineVoiceRoute'; + ParentAndRelativeKey = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsOnlineVoiceRoute'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsOnlineVoiceRoutingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${OnlinePstnUsages}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${RouteType}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsOnlineVoiceRoutingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsSdgDeviceTaggingRequest { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISdgDeviceTaggingResponse])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Target Region where the device is located + ${TargetRegion}, + + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISdgDeviceTaggingRequest] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${HardwareId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${IcmId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${OceUserName}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${SdhRegion}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${TenantId}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsSdgDeviceTaggingRequest_New'; + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsSdgDeviceTaggingRequest_NewExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsSdgDeviceTransferRequest { +[OutputType([System.String])] +[CmdletBinding(DefaultParameterSetName='New', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Device id of the device that is to be transferred + ${SdhDeviceId}, + + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Source Region from where the device is to be tranferred + ${SourceRegion}, + + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Target Region where the device is to be tranferred + ${TargetRegion}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsSdgDeviceTransferRequest_New'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTeamsAudioConferencingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowTollFreeDialin}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${MeetingInvitePhoneNumbers}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsAudioConferencingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTeamsCallHoldPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AudioFileId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsCallHoldPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTeamsCallingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCallForwardingToPhone}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCallForwardingToUser}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCallGroups}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AllowCallRedirect}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCloudRecordingForCalls}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowDelegation}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowPrivateCalling}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowSIPDevicesCalling}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowTranscriptionForCalling}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AllowVoicemail}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowWebPSTNCalling}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AutoAnswerEnabledType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${BusyOnBusyEnabledType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int64] + ${CallRecordingExpirationDays}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${LiveCaptionsEnabledTypeForCalling}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MusicOnHoldEnabledType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PopoutAppPathForIncomingPstnCalls}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PopoutForIncomingPstnCalls}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${PreventTollBypass}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${SpamFilteringEnabledType}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsCallingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTeamsCallParkPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCallPark}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int64] + ${ParkTimeoutSeconds}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int64] + ${PickupRangeEnd}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int64] + ${PickupRangeStart}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsCallParkPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTeamsChannelsPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowChannelSharingToExternalUser}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowOrgWideTeamCreation}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowPrivateChannelCreation}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowPrivateTeamDiscovery}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowSharedChannelCreation}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowUserToParticipateInExternalSharedChannel}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsChannelsPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTeamsComplianceRecordingApplication { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Identity', Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${ComplianceRecordingPairedApplications}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.UInt32] + ${ConcurrentInvitationCount}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + ${Priority}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${RequiredBeforeCallEstablishment}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${RequiredBeforeMeetingJoin}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${RequiredDuringCall}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${RequiredDuringMeeting}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='ParentAndRelativeKey', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Id}, + + [Parameter(ParameterSetName='ParentAndRelativeKey', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Parent} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsComplianceRecordingApplication'; + ParentAndRelativeKey = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsComplianceRecordingApplication'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTeamsComplianceRecordingPairedApplication { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Id}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsComplianceRecordingPairedApplication'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTeamsComplianceRecordingPairedApplicationHelper { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Collections.Hashtable] + ${PropertyBag} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsComplianceRecordingPairedApplicationHelper'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTeamsComplianceRecordingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${ComplianceRecordingApplications}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${DisableComplianceRecordingAudioNotificationForCalls}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${Enabled}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${WarnUserOnRemoval}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsComplianceRecordingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTeamsCortanaPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCortanaAmbientListening}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCortanaInContextSuggestions}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCortanaVoiceInvocation}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CortanaVoiceInvocationMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsCortanaPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTeamsEmergencyCallingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${EnhancedEmergencyServiceDisclaimer}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ExternalLocationLookupMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NotificationDialOutNumber}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NotificationGroup}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${NotificationMode}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsEmergencyCallingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTeamsEmergencyCallRoutingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowEnhancedEmergencyServices}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${EmergencyNumbers}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsEmergencyCallRoutingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTeamsEmergencyNumber { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${EmergencyDialMask}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${EmergencyDialString}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${OnlinePSTNUsage}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsEmergencyNumber'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTeamsEmergencyNumberHelper { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Collections.Hashtable] + ${PropertyBag} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsEmergencyNumberHelper'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTeamsEnhancedEncryptionPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CallingEndtoEndEncryptionEnabledType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MeetingEndToEndEncryption}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsEnhancedEncryptionPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTeamsEventsPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AllowWebinars}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${EventAccessType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ForceStreamingAttendeeMode}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsEventsPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTeamsFeedbackPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowEmailCollection}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowLogCollection}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowScreenshotCollection}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ReceiveSurveysMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${UserInitiatedMode}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsFeedbackPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTeamsFilesPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NativeFileEntryPoints}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${SPChannelFilesTab}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsFilesPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTeamsIPPhonePolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AllowBetterTogether}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AllowHomeScreen}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowHotDesking}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int64] + ${HotDeskingIdleTimeoutInMinutes}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${SearchOnCommonAreaPhoneMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${SignInMode}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsIPPhonePolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTeamsMeetingBroadcastPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowBroadcastScheduling}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowBroadcastTranscription}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${BroadcastAttendeeVisibilityMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${BroadcastRecordingMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsMeetingBroadcastPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTeamsMeetingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowAnnotations}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowAnonymousUsersToDialOut}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowAnonymousUsersToJoinMeeting}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowAnonymousUsersToStartMeeting}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowAvatarsInGallery}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowBreakoutRooms}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCarbonSummary}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AllowCartCaptionsScheduling}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowChannelMeetingScheduling}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCloudRecording}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AllowDocumentCollaboration}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AllowedStreamingMediaInput}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AllowEngagementReport}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowExternalParticipantGiveRequestControl}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowImmersiveView}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowIPAudio}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowIPVideo}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowMeetingCoach}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowMeetingReactions}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowMeetingRegistration}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowMeetNow}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowNDIStreaming}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowNetworkConfigurationSettingsLookup}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowOrganizersToOverrideLobbySettings}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowOutlookAddIn}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowParticipantGiveRequestControl}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowPowerPointSharing}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowPrivateMeetingScheduling}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowPrivateMeetNow}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowPSTNUsersToBypassLobby}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowRecordingStorageOutsideRegion}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AllowScreenContentDigitization}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowSharedNotes}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AllowTasksFromTranscript}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AllowTrackingInReport}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowTranscription}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AllowUserToJoinExternalMeeting}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowWatermarkForCameraVideo}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowWatermarkForScreenSharing}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowWhiteboard}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AutoAdmittedUsers}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${BlockedAnonymousJoinClientTypes}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ChannelRecordingDownload}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${DesignatedPresenterRoleMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${EnrollUserOverride}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${InfoShownInReportMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${IPAudioMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${IPVideoMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${LiveCaptionsEnabledType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${LiveInterpretationEnabledType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${LiveStreamingMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.UInt32] + ${MediaBitRateKb}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MeetingChatEnabledType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MeetingInviteLanguages}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int64] + ${NewMeetingRecordingExpirationDays}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PreferredMeetingProviderForIslandsMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${QnAEngagementMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${RecordingStorageMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${RoomAttributeUserOverride}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${RoomPeopleNameUserOverride}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ScreenSharingMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${SpeakerAttributionMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${StreamingAttendeeMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TeamsCameraFarEndPTZMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${VideoFiltersMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${WhoCanRegister}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsMeetingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTeamsMessagingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCommunicationComplianceEndUserReporting}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowFluidCollaborate}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowFullChatPermissionUserToDeleteAnyMessage}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowGiphy}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowGiphyDisplay}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowImmersiveReader}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowMemes}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowOwnerDeleteMessage}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowPasteInternetImage}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowPriorityMessages}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowRemoveUser}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowSmartCompose}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowSmartReply}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowStickers}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowUrlPreviews}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowUserChat}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowUserDeleteChat}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowUserDeleteMessage}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowUserEditMessage}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowUserTranslation}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowVideoMessages}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AudioMessageEnabledType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ChannelsInChatListEnabledType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ChatPermissionRole}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${GiphyRatingType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ReadReceiptsEnabledType}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsMessagingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTeamsMobilityPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${IPAudioMobileMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${IPVideoMobileMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MobileDialerPreference}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsMobilityPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTeamsNetworkRoamingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowIPVideo}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int64] + ${MediaBitRateKb}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsNetworkRoamingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTeamsRoomVideoTeleConferencingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AreaCode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${Enabled}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PlaceExternalCalls}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PlaceInternalCalls}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ReceiveExternalCalls}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ReceiveInternalCalls}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsRoomVideoTeleConferencingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTeamsShiftsConnectionBatchTeamMap { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamConnectsResponse], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IErrorDetailsResponse])] +[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Create', Mandatory)] + [Parameter(ParameterSetName='CreateExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Connector Instance Id + ${ConnectorInstanceId}, + + [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='CreateViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Create', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConnectAadWfmTeamsRequest] + # Connect Aad Wfm Teams Request + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Parameter(ParameterSetName='CreateViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamMapping[]] + # The team mappings. + # To construct, see NOTES section for TEAMMAPPING properties and create a hash table. + ${TeamMapping}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Create = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsShiftsConnectionBatchTeamMap_Create'; + CreateExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsShiftsConnectionBatchTeamMap_CreateExpanded'; + CreateViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsShiftsConnectionBatchTeamMap_CreateViaIdentity'; + CreateViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsShiftsConnectionBatchTeamMap_CreateViaIdentityExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTeamsShiftsConnectionInstance { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConnectorInstanceResponse], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IErrorDetailsResponse])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConnectorInstanceRequest] + # Connector Instance Request. + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The WFM connection id. + ${ConnectionId}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # The list of connector admin email addresses. + ${ConnectorAdminEmail}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The designated actor id that App acts as for Shifts Graph Api calls. + ${DesignatedActorId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The connector instance name. + ${Name}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The state of the WFM Connector Instance. + ${State}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # The sync frequency in minutes. + ${SyncFrequencyInMin}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The OfferShiftRequest entity. + ${SyncScenarioOfferShiftRequest}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The OpenShift entity. + ${SyncScenarioOpenShift}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The OpenShiftRequest entity. + ${SyncScenarioOpenShiftRequest}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The Shift entity. + ${SyncScenarioShift}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The SwapRequest entity. + ${SyncScenarioSwapRequest}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The TimeCard entity. + ${SyncScenarioTimeCard}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The TimeOff entity. + ${SyncScenarioTimeOff}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The TimeOffRequest entity. + ${SyncScenarioTimeOffRequest}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The UserShiftPreferences entity. + ${SyncScenarioUserShiftPreference}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsShiftsConnectionInstance_New'; + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsShiftsConnectionInstance_NewExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTeamsShiftsConnection { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IWfmConnectionResponse], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IErrorDetailsResponse])] +[CmdletBinding(DefaultParameterSetName='New', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Header')] + [System.String] + # Bearer: token + ${Authorization}, + + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IWfmConnectionRequest] + # WFM Connection Base Request. + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='NewExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The connector id. + ${ConnectorId}, + + [Parameter(ParameterSetName='NewExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IWfmConnectionRequestConnectorSpecificSettings] + # The connector settings. + ${ConnectorSpecificSettings}, + + [Parameter(ParameterSetName='NewExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Object name. + ${Name}, + + [Parameter(ParameterSetName='NewExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The state of the WFM connection. + ${State}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsShiftsConnection_New'; + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsShiftsConnection_NewExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTeamsShiftsPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int64] + ${AccessGracePeriodMinutes}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AccessType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableScheduleOwnerPermissions}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableShiftPresence}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ShiftNoticeFrequency}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ShiftNoticeMessageCustom}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ShiftNoticeMessageType}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsShiftsPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTeamsSurvivableBranchAppliance { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Identity', Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Site}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='ParentAndRelativeKey', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Fqdn} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsSurvivableBranchAppliance'; + ParentAndRelativeKey = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsSurvivableBranchAppliance'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTeamsSurvivableBranchAppliancePolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${BranchApplianceFqdns}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsSurvivableBranchAppliancePolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTeamsTranslationRule { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Identity', Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Pattern}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Translation}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='ParentAndRelativeKey', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Name} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsTranslationRule'; + ParentAndRelativeKey = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsTranslationRule'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTeamsUnassignedNumberTreatment { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Identity', Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Pattern}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Target}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TargetType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + ${TreatmentPriority}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='ParentAndRelativeKey', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TreatmentId} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsUnassignedNumberTreatment'; + ParentAndRelativeKey = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsUnassignedNumberTreatment'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTeamsUpdateManagementPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowManagedUpdates}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowPreview}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AllowPublicPreview}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int64] + ${UpdateDayOfWeek}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${UpdateTime}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.DateTime] + ${UpdateTimeOfDay}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsUpdateManagementPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTeamsVdiPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${DisableAudioVideoInCallsAndMeetings}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${DisableCallsAndMeetings}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsVdiPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTeamsVoiceApplicationsPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowAutoAttendantAfterHoursGreetingChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowAutoAttendantAfterHoursRoutingChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowAutoAttendantBusinessHoursChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowAutoAttendantBusinessHoursGreetingChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowAutoAttendantBusinessHoursRoutingChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowAutoAttendantHolidayGreetingChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowAutoAttendantHolidayRoutingChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowAutoAttendantHolidaysChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowAutoAttendantLanguageChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowAutoAttendantTimeZoneChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCallQueueAgentOptChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCallQueueConferenceModeChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCallQueueLanguageChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCallQueueMembershipChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCallQueueMusicOnHoldChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCallQueueNoAgentsRoutingChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCallQueueOptOutChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCallQueueOverflowRoutingChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCallQueueOverflowSharedVoicemailGreetingChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCallQueuePresenceBasedRoutingChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCallQueueRoutingMethodChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCallQueueTimeoutRoutingChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCallQueueTimeoutSharedVoicemailGreetingChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCallQueueWelcomeGreetingChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CallQueueAgentMonitorMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CallQueueAgentMonitorNotificationMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsVoiceApplicationsPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTeamsWorkLoadPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCalling}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCallingPinned}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowMeeting}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowMeetingPinned}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowMessaging}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowMessagingPinned}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamsWorkLoadPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTenantDialPlan { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${NormalizationRules}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${SimpleName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTenantDialPlan'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTenantNetworkRegion { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Identity', Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${BypassID}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CentralSite}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='ParentAndRelativeKey', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NetworkRegionID} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTenantNetworkRegion'; + ParentAndRelativeKey = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTenantNetworkRegion'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTenantNetworkSite { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Identity', Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${EmergencyCallingPolicy}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${EmergencyCallRoutingPolicy}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableLocationBasedRouting}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${LocationPolicy}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NetworkRegionID}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NetworkRoamingPolicy}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${SiteAddress}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='ParentAndRelativeKey', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NetworkSiteID} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTenantNetworkSite'; + ParentAndRelativeKey = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTenantNetworkSite'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTenantNetworkSubnet { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + ${MaskBits}, + + [Parameter(ParameterSetName='Identity', Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NetworkSiteID}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='ParentAndRelativeKey', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${SubnetID} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTenantNetworkSubnet'; + ParentAndRelativeKey = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTenantNetworkSubnet'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTenantTrustedIPAddress { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Identity', Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${MaskBits}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='ParentAndRelativeKey', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${IPAddress} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTenantTrustedIPAddress'; + ParentAndRelativeKey = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTenantTrustedIPAddress'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsVideoInteropServiceProvider { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TenantKey}, + + [Parameter(ParameterSetName='Identity', Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AadApplicationIds}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowAppGuestJoinsAsAuthenticated}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${InstructionUri}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='ParentAndRelativeKey', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Name} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsVideoInteropServiceProvider'; + ParentAndRelativeKey = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsVideoInteropServiceProvider'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsVoiceNormalizationRule { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${InMemory}, + + [Parameter(ParameterSetName='Identity', Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${IsInternalExtension}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Pattern}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + ${Priority}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Translation}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='ParentAndRelativeKey', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Name}, + + [Parameter(ParameterSetName='ParentAndRelativeKey', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Parent} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsVoiceNormalizationRule'; + ParentAndRelativeKey = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsVoiceNormalizationRule'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsVoiceNormalizationRuleHelper { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Collections.Hashtable] + ${PropertyBag} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsVoiceNormalizationRuleHelper'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Register-CsOnlineDialInConferencingServiceNumber { +[CmdletBinding(DefaultParameterSetName='UniqueNumberParams', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='UniqueNumberParams', Position=0, Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Guid]] + ${BridgeId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${BridgeName}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TenantDomain}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='InstanceParams', Position=0, Mandatory, ValueFromPipeline)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${Instance} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + UniqueNumberParams = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Register-CsOnlineDialInConferencingServiceNumber'; + InstanceParams = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Register-CsOnlineDialInConferencingServiceNumber'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsApplicationAccessPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsApplicationAccessPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsCallingLineIdentity { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsCallingLineIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsCustomPolicyPackage { +[OutputType([System.String])] +[CmdletBinding(DefaultParameterSetName='Remove', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Remove', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # The name of a policy package + ${Identity}, + + [Parameter(ParameterSetName='RemoveViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Remove = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsCustomPolicyPackage_Remove'; + RemoveViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsCustomPolicyPackage_RemoveViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsExternalAccessPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsExternalAccessPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsGroupPolicyAssignment { +[OutputType([System.String])] +[CmdletBinding(DefaultParameterSetName='Remove', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # The ID of the group from which the assignment will be removed. + ${GroupId}, + + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # The policy type for which group policy assignments will be returned. + ${PolicyType}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Remove = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsGroupPolicyAssignment_Remove'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsHybridTelephoneNumber { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Remove', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Remove', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # hybrid telephone number. + ${TelephoneNumber}, + + [Parameter(ParameterSetName='RemoveViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Remove = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsHybridTelephoneNumber_Remove'; + RemoveViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsHybridTelephoneNumber_RemoveViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsInboundBlockedNumberPattern { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsInboundBlockedNumberPattern'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsInboundExemptNumberPattern { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsInboundExemptNumberPattern'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsOnlineAudioConferencingRoutingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlineAudioConferencingRoutingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsOnlineDialInConferencingTenantSettings { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlineDialInConferencingTenantSettings'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsOnlineLisCivicAddress { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory, ValueFromPipelineByPropertyName)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Guid] + ${CivicAddressId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlineLisCivicAddress'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsOnlineLisCivicAddressModern { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Remove', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Remove', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${CivicAddressId}, + + [Parameter(ParameterSetName='RemoveViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Remove = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlineLisCivicAddressModern_Remove'; + RemoveViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlineLisCivicAddressModern_RemoveViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsOnlineLisLocation { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory, ValueFromPipelineByPropertyName)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Guid] + ${LocationId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlineLisLocation'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsOnlineLisLocationModern { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Remove', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Remove', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${LocationId}, + + [Parameter(ParameterSetName='RemoveViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Remove = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlineLisLocationModern_Remove'; + RemoveViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlineLisLocationModern_RemoveViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsOnlineLisPort { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ChassisID}, + + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PortID}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${IsDebug}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NCSApiUrl}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TargetStore}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlineLisPort'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsOnlineLisPortModern { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Remove', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${ChassisId}, + + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${PortId}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Remove = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlineLisPortModern_Remove'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsOnlineLisSubnet { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Subnet}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${IsDebug}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NCSApiUrl}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TargetStore}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlineLisSubnet'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsOnlineLisSubnetModern { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Remove', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Remove', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Subnet}, + + [Parameter(ParameterSetName='RemoveViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Remove = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlineLisSubnetModern_Remove'; + RemoveViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlineLisSubnetModern_RemoveViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsOnlineLisSwitch { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ChassisID}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${IsDebug}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NCSApiUrl}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TargetStore}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlineLisSwitch'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsOnlineLisSwitchModern { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Remove', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Remove', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${ChassisId}, + + [Parameter(ParameterSetName='RemoveViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Remove = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlineLisSwitchModern_Remove'; + RemoveViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlineLisSwitchModern_RemoveViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsOnlineLisWirelessAccessPoint { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${BSSID}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${IsDebug}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NCSApiUrl}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TargetStore}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlineLisWirelessAccessPoint'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsOnlineLisWirelessAccessPointModern { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Remove', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Remove', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Bssid}, + + [Parameter(ParameterSetName='RemoveViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Remove = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlineLisWirelessAccessPointModern_Remove'; + RemoveViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlineLisWirelessAccessPointModern_RemoveViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsOnlinePSTNGateway { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlinePSTNGateway'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsOnlineTelephoneNumber { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + ${TelephoneNumber}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlineTelephoneNumber'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsOnlineVoicemailPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlineVoicemailPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsOnlineVoiceRoute { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlineVoiceRoute'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsOnlineVoiceRoutingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlineVoiceRoutingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTeamsAppPermissionPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsAppPermissionPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTeamsAppSetupPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsAppSetupPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTeamsAudioConferencingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsAudioConferencingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTeamsCallHoldPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsCallHoldPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTeamsCallingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsCallingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTeamsCallParkPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsCallParkPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTeamsChannelsPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsChannelsPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTeamsComplianceRecordingApplication { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsComplianceRecordingApplication'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTeamsComplianceRecordingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsComplianceRecordingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTeamsCortanaPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsCortanaPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTeamsEmergencyCallingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsEmergencyCallingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTeamsEmergencyCallRoutingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsEmergencyCallRoutingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTeamsEnhancedEncryptionPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsEnhancedEncryptionPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTeamsEventsPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsEventsPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTeamsFeedbackPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsFeedbackPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTeamsFilesPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsFilesPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTeamsIPPhonePolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsIPPhonePolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTeamsMeetingBroadcastPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsMeetingBroadcastPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTeamsMeetingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsMeetingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTeamsMessagingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsMessagingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTeamsMobilityPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsMobilityPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTeamsNetworkRoamingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsNetworkRoamingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTeamsNotificationAndFeedsPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsNotificationAndFeedsPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTeamsRoomVideoTeleConferencingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsRoomVideoTeleConferencingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTeamsShiftsConnectionInstance { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IErrorDetailsResponse])] +[CmdletBinding(DefaultParameterSetName='Remove', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Remove', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Connector Instance Id + ${ConnectorInstanceId}, + + [Parameter(ParameterSetName='RemoveViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Remove = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsShiftsConnectionInstance_Remove'; + RemoveViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsShiftsConnectionInstance_RemoveViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTeamsShiftsConnectionTeamMap { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IErrorDetailsResponse])] +[CmdletBinding(DefaultParameterSetName='Remove', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Remove', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Connector Instance Id + ${ConnectorInstanceId}, + + [Parameter(ParameterSetName='Remove', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Team Id + ${TeamId}, + + [Parameter(ParameterSetName='RemoveViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Remove = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsShiftsConnectionTeamMap_Remove'; + RemoveViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsShiftsConnectionTeamMap_RemoveViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTeamsShiftsConnection { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IErrorDetailsResponse])] +[CmdletBinding(DefaultParameterSetName='Remove', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Remove', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Connection Id. + ${ConnectionId}, + + [Parameter(ParameterSetName='RemoveViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Remove = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsShiftsConnection_Remove'; + RemoveViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsShiftsConnection_RemoveViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTeamsShiftsPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsShiftsPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTeamsShiftsScheduleRecord { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IErrorDetailsResponse])] +[CmdletBinding(DefaultParameterSetName='RemoveExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Remove', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IClearScheduleRequest] + # The clear schedule request. + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='RemoveExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether [clear scheduling group]. + ${ClearSchedulingGroup}, + + [Parameter(ParameterSetName='RemoveExpanded', Mandatory)] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # Gets or sets the entity types. + ${EntityType}, + + [Parameter(ParameterSetName='RemoveExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the team identifier. + ${TeamId}, + + [Parameter(ParameterSetName='RemoveExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.DateTime] + # . + ${DateRangeEndDate}, + + [Parameter(ParameterSetName='RemoveExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.DateTime] + # . + ${DateRangeStartDate}, + + [Parameter(ParameterSetName='RemoveExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${DesignatedActorId}, + + [Parameter(ParameterSetName='RemoveExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets the time zone. + ${TimeZone}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Remove = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsShiftsScheduleRecord_Remove'; + RemoveExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsShiftsScheduleRecord_RemoveExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTeamsSurvivableBranchAppliance { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsSurvivableBranchAppliance'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTeamsSurvivableBranchAppliancePolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsSurvivableBranchAppliancePolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTeamsTargetingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsTargetingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTeamsTranslationRule { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsTranslationRule'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTeamsUnassignedNumberTreatment { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsUnassignedNumberTreatment'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTeamsUpdateManagementPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsUpdateManagementPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTeamsVdiPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsVdiPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTeamsVoiceApplicationsPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsVoiceApplicationsPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTeamsWorkLoadPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamsWorkLoadPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTeamTemplate { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IAny], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplateErrorResponse])] +[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Delete', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # A composite URI of a template. + ${OdataId}, + + [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Delete = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamTemplate_Delete'; + DeleteViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTeamTemplate_DeleteViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTenantDialPlan { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTenantDialPlan'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTenantNetworkRegion { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTenantNetworkRegion'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTenantNetworkSite { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTenantNetworkSite'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTenantNetworkSubnet { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTenantNetworkSubnet'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsTenantTrustedIPAddress { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsTenantTrustedIPAddress'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsUserLicenseGracePeriod { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='RemoveExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Remove', Mandatory)] + [Parameter(ParameterSetName='RemoveExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # UserId. + ${Identity}, + + [Parameter(ParameterSetName='RemoveViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='RemoveViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Remove', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='RemoveViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUserDelicensingAccelerationPatch] + # UserDelicensingAccelerationPatch + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='RemoveExpanded')] + [Parameter(ParameterSetName='RemoveViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Action to take + ${Action}, + + [Parameter(ParameterSetName='RemoveExpanded')] + [Parameter(ParameterSetName='RemoveViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # List of capabilities + ${Capability}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Remove = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsUserLicenseGracePeriod_Remove'; + RemoveExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsUserLicenseGracePeriod_RemoveExpanded'; + RemoveViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsUserLicenseGracePeriod_RemoveViaIdentity'; + RemoveViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsUserLicenseGracePeriod_RemoveViaIdentityExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsVideoInteropServiceProvider { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsVideoInteropServiceProvider'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Search-CsApplicationInstanceV2ApplicationInstanceAsync { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IApplicationInstanceSearchResults])] +[CmdletBinding(DefaultParameterSetName='Search', PositionalBinding=$false)] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # keyword. + ${Keyword}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # pageSize. + ${PageSize}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # skipToken. + ${SkipToken}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Search = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Search-CsApplicationInstanceV2ApplicationInstanceAsync_Search'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsApplicationAccessPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${AppIds}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsApplicationAccessPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsApplicationMeetingConfiguration { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${AllowRemoveParticipantAppIds}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsApplicationMeetingConfiguration'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsCallingLineIdentity { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${BlockIncomingPstnCallerID}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CallingIDSubstitute}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CompanyName}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableUserOverride}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ResourceAccount}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ServiceNumber}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsCallingLineIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsExternalAccessPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableAcsFederationAccess}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableFederationAccess}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableOutsideAccess}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnablePublicCloudAccess}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnablePublicCloudAudioVideoAccess}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableTeamsConsumerAccess}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableTeamsConsumerInbound}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableXmppAccess}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${RestrictTeamsConsumerAccessToExternalUserProfiles}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsExternalAccessPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsGroupPolicyAssignment { +[OutputType([System.String])] +[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # The ID of a group whose policy assignments will be returned. + ${GroupId}, + + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # The policy type for which group policy assignments will be returned. + ${PolicyType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${PolicyName}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${Rank}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + SetExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsGroupPolicyAssignment_SetExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsInboundBlockedNumberPattern { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${Enabled}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Pattern}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsInboundBlockedNumberPattern'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsInboundExemptNumberPattern { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${Enabled}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Pattern}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsInboundExemptNumberPattern'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsInternalOnlinePowerShellEndpoint { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${OverridePowershellUri}, + + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TargetDomain} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsInternalOnlinePowerShellEndpoint'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsOCEContext { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Guid] + ${AppId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TenantDomain}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Guid] + ${TenantId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.CmdletHostContract.DeploymentConfiguration+ConfigApiEnvironment] + ${Environment}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Collections.Hashtable] + # This can be used to provide optional headers. + ${Headers}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${IsSystemTenant} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOCEContext'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsOdcUserDefaultNumber { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingUser])] +[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUsersDefaultNumberUpdateRequest] + # Update all users default service number. + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets AreaOrState filter for user query. + ${AreaOrState}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets bridge id to use for service number change. + ${BridgeId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets bridge name to use for service number change. + ${BridgeName}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets CapitalOrMajorCity filter for user query. + ${CapitalOrMajorCity}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets CountryOrRegion filter for user query. + ${CountryOrRegion}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets bridge FromNumber to be updated. + ${FromNumber}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets number inventory type Toll or TollFreee. + ${NumberType}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets whether or not users who are modified by this operation should have their existing conferences rescheduled. + ${RescheduleMeeting}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets bridge ToNumber to be set as default number. + ${ToNumber}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOdcUserDefaultNumber_Set'; + SetExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOdcUserDefaultNumber_SetExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsOnlineApplicationInstance { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(Position=2)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Guid]] + ${ApplicationId}, + + [Parameter(Position=3)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${DisplayName}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${OnpremPhoneNumber}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Guid] + ${AcsResourceId}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineApplicationInstance'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsOnlineApplicationInstanceV2 { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IApplicationInstanceAutoGenerated])] +[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Set', Mandatory)] + [Parameter(ParameterSetName='SetExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Application instance identity. + # Support GUID or User principal name. + ${Identity}, + + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IApplicationInstanceUpdateRequest] + # The request to update an application instance. + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # ACS resource ID. + ${AcsResourceId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Application ID. + ${ApplicationId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Display name. + ${DisplayName}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Onprem phone number. + ${OnpremPhoneNumber}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineApplicationInstanceV2_Set'; + SetExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineApplicationInstanceV2_SetExpanded'; + SetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineApplicationInstanceV2_SetViaIdentity'; + SetViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineApplicationInstanceV2_SetViaIdentityExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsOnlineAudioConferencingRoutingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${OnlinePstnUsages}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${RouteType}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineAudioConferencingRoutingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsOnlineDialInConferencingServiceNumber { +[CmdletBinding(DefaultParameterSetName='UniqueNumberParams', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='UniqueNumberParams', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${BotType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PrimaryLanguage}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${RestoreDefaultLanguages}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${SecondaryLanguages}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='InstanceParams', Position=0, Mandatory, ValueFromPipeline)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${Instance} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + UniqueNumberParams = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineDialInConferencingServiceNumber'; + InstanceParams = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineDialInConferencingServiceNumber'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsOnlineDialInConferencingTenantSettings { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${AllowedDialOutExternalDomains}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AllowFederatedUsersToDialOutToSelf}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AllowFederatedUsersToDialOutToThirdParty}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowPSTNOnlyMeetingsByDefault}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AutomaticallyMigrateUserMeetings}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AutomaticallyReplaceAcpProvider}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AutomaticallySendEmailsToUsers}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableDialOutJoinConfirmation}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableEntryExitNotifications}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableNameRecording}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${EntryExitAnnouncementsType}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${IncludeTollFreeNumberInMeetingInvites}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MaskPstnNumbersType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${MigrateServiceNumbersOnCrossForestMove}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.UInt32] + ${PinLength}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${SendEmailFromAddress}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${SendEmailFromDisplayName}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${SendEmailFromOverride}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${UseUniqueConferenceIds}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineDialInConferencingTenantSettings'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsOnlineDialinConferencingUserDefaultNumber { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingUser])] +[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Continuation / Pagination marker. + # Use the value from nextlink property in response. + ${Skiptoken}, + + [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUsersDefaultNumberUpdateRequest] + # Update all users default service number. + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets AreaOrState filter for user query. + ${AreaOrState}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets bridge id to use for service number change. + ${BridgeId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets bridge name to use for service number change. + ${BridgeName}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets CapitalOrMajorCity filter for user query. + ${CapitalOrMajorCity}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets CountryOrRegion filter for user query. + ${CountryOrRegion}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets bridge FromNumber to be updated. + ${FromNumber}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets number inventory type Toll or TollFreee. + ${NumberType}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets whether or not users who are modified by this operation should have their existing conferences rescheduled. + ${RescheduleMeetings}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets bridge ToNumber to be set as default number. + ${ToNumber}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineDialinConferencingUserDefaultNumber_Set'; + SetExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineDialinConferencingUserDefaultNumber_SetExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsOnlineEnhancedEmergencyServiceDisclaimer { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CountryOrRegion}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${ForceAccept}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Version}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineEnhancedEmergencyServiceDisclaimer'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsOnlineLisCivicAddress { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Guid] + ${CivicAddressId}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${City}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CityAlias}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CompanyName}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CompanyTaxId}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Confidence}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CountryOrRegion}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Elin}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${HouseNumber}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${HouseNumberSuffix}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${IsAzureMapValidationRequired}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Latitude}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Longitude}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PostalCode}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PostDirectional}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PreDirectional}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${StateOrProvince}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${StreetName}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${StreetSuffix}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ValidationStatus}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineLisCivicAddress'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsOnlineLisCivicAddressModern { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICivicAddress])] +[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISetCivicAddress] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='SetExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CivicAddressId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${City}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CityAlias}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CompanyName}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CompanyTaxId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Confidence}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CountryOrRegion}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Description}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Elin}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${HouseNumber}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${HouseNumberSuffix}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Latitude}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Longitude}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${PostDirectional}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${PostalCode}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${PreDirectional}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${StateOrProvince}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${StreetName}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${StreetSuffix}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${ValidationStatus}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineLisCivicAddressModern_Set'; + SetExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineLisCivicAddressModern_SetExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsOnlineLisLocation { +[CmdletBinding(DefaultParameterSetName='UseCivicAddressId', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='UseCivicAddressId', Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Guid] + ${CivicAddressId}, + + [Parameter(ParameterSetName='UseCivicAddressId', ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${City}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CityAlias}, + + [Parameter(ParameterSetName='UseCivicAddressId', ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CompanyName}, + + [Parameter(ParameterSetName='UseCivicAddressId', ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CompanyTaxId}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Confidence}, + + [Parameter(ParameterSetName='UseCivicAddressId', ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CountryOrRegion}, + + [Parameter(ParameterSetName='UseCivicAddressId', ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Elin}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(ParameterSetName='UseCivicAddressId', ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${HouseNumber}, + + [Parameter(ParameterSetName='UseCivicAddressId', ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${HouseNumberSuffix}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${IsAzureMapValidationRequired}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Latitude}, + + [Parameter(ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Longitude}, + + [Parameter(ParameterSetName='UseCivicAddressId', ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PostalCode}, + + [Parameter(ParameterSetName='UseCivicAddressId', ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PostDirectional}, + + [Parameter(ParameterSetName='UseCivicAddressId', ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PreDirectional}, + + [Parameter(ParameterSetName='UseCivicAddressId', ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${StateOrProvince}, + + [Parameter(ParameterSetName='UseCivicAddressId', ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${StreetName}, + + [Parameter(ParameterSetName='UseCivicAddressId', ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${StreetSuffix}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='UseLocationId', Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Guid] + ${LocationId}, + + [Parameter(ParameterSetName='UseLocationId', ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Location} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + UseCivicAddressId = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineLisLocation'; + UseLocationId = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineLisLocation'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsOnlineLisLocationModern { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ILocationSchema])] +[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISetLocation] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${City}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CityOrTownAlias}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CivicAddressId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CompanyName}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CompanyTaxId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Confidence}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CountryOrRegion}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CountyOrDistrict}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Description}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Elin}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${HouseNumber}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${HouseNumberSuffix}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${IsDefault}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Latitude}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Location}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${LocationId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Longitude}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${NumberOfTelephoneNumber}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${NumberOfVoiceUser}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${PartnerId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${PostDirectional}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${PostalCode}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${PreDirectional}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${StateOrProvince}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${StreetName}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${StreetSuffix}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${TenantId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${ValidationStatus}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineLisLocationModern_Set'; + SetExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineLisLocationModern_SetExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsOnlineLisPort { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ChassisID}, + + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Guid] + ${LocationId}, + + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PortID}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${IsDebug}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NCSApiUrl}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TargetStore}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineLisPort'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsOnlineLisPortModern { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IPortRequest] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='SetExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${ChassisId}, + + [Parameter(ParameterSetName='SetExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${LocationId}, + + [Parameter(ParameterSetName='SetExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${PortId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Description}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineLisPortModern_Set'; + SetExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineLisPortModern_SetExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsOnlineLisSubnet { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Guid] + ${LocationId}, + + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Subnet}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${IsDebug}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NCSApiUrl}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TargetStore}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineLisSubnet'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsOnlineLisSubnetModern { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Set', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Set', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Subnet}, + + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${LocationId}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineLisSubnetModern_Set'; + SetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineLisSubnetModern_SetViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsOnlineLisSwitch { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ChassisID}, + + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Guid] + ${LocationId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${IsDebug}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NCSApiUrl}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TargetStore}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineLisSwitch'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsOnlineLisSwitchModern { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Set', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Set', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${ChassisId}, + + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${LocationId}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineLisSwitchModern_Set'; + SetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineLisSwitchModern_SetViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsOnlineLisWirelessAccessPoint { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1, Mandatory, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${BSSID}, + + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Guid] + ${LocationId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${IsDebug}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NCSApiUrl}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TargetStore}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineLisWirelessAccessPoint'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsOnlineLisWirelessAccessPointModern { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Set', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Set', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Bssid}, + + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${LocationId}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineLisWirelessAccessPointModern_Set'; + SetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineLisWirelessAccessPointModern_SetViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsOnlinePSTNGateway { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${BypassMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${Enabled}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${FailoverResponseCodes}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + ${FailoverTimeSeconds}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${ForwardCallHistory}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${ForwardPai}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${GatewayLbrEnabledUserOverride}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${GatewaySiteId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${GatewaySiteLbrEnabled}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${InboundPstnNumberTranslationRules}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${InboundTeamsNumberTranslationRules}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${MaxConcurrentSessions}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${MediaBypass}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MediaRelayRoutingLocationOverride}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${OutboundPstnNumberTranslationRules}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${OutboundTeamsNumberTranslationRules}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${PidfLoSupported}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ProxySbc}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${SendSipOptions}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + ${SipSignalingPort}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlinePSTNGateway'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsOnlinePstnUsage { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${Usage}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlinePstnUsage'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsOnlineVoiceApplicationInstance { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TelephoneNumber}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineVoiceApplicationInstance'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsOnlineVoiceApplicationInstanceV2 { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IApplicationInstanceAutoGenerated])] +[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Set', Mandatory)] + [Parameter(ParameterSetName='SetExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IOnlineNumberAssignmentRequest] + # The request to update an application instance. + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Telephone number. + ${TelephoneNumber}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineVoiceApplicationInstanceV2_Set'; + SetExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineVoiceApplicationInstanceV2_SetExpanded'; + SetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineVoiceApplicationInstanceV2_SetViaIdentity'; + SetViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineVoiceApplicationInstanceV2_SetViaIdentityExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsOnlineVoicemailPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableEditingCallAnswerRulesSetting}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableTranscription}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableTranscriptionProfanityMasking}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableTranscriptionTranslation}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.TimeSpan] + ${MaximumRecordingLength}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PrimarySystemPromptLanguage}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${SecondarySystemPromptLanguage}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ShareData}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineVoicemailPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsOnlineVoiceRoute { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${BridgeSourcePhoneNumber}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NumberPattern}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${OnlinePstnGatewayList}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${OnlinePstnUsages}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + ${Priority}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineVoiceRoute'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsOnlineVoiceRoutingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${OnlinePstnUsages}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${RouteType}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineVoiceRoutingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsOnlineVoiceUser { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Guid]] + ${LocationID}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TelephoneNumber}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineVoiceUser'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsPrivacyConfiguration { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AutoInitiateContacts}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${DisplayPublishedPhotoDefault}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnablePrivacyMode}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${PublishLocationDataDefault}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsPrivacyConfiguration'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsRegionContext { +[CmdletBinding(DefaultParameterSetName='Region', PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.CmdletHostContract.DeploymentConfiguration+ConfigApiRegion] + ${Region} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Region = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsRegionContext'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsSessionState { +[OutputType([System.Management.Automation.Runspaces.PSSession])] +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AddFlightedCommand}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${RemoveFlightedCommand}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Collections.Hashtable] + ${Mocks}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AddCmdletConfigOverrideForAutorest}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${RemoveCmdletConfigOverrideForAutorest}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.Remoting.PSSessionOption] + ${SessionOption} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsSessionState'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsAcsFederationConfiguration { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${AllowedAcsResources}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableAcsUsers}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsAcsFederationConfiguration'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsAudioConferencingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowTollFreeDialin}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${MeetingInvitePhoneNumbers}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsAudioConferencingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsCallHoldPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AudioFileId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsCallHoldPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsCallingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCallForwardingToPhone}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCallForwardingToUser}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCallGroups}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AllowCallRedirect}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCloudRecordingForCalls}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowDelegation}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowPrivateCalling}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowSIPDevicesCalling}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowTranscriptionForCalling}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AllowVoicemail}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowWebPSTNCalling}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AutoAnswerEnabledType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${BusyOnBusyEnabledType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int64] + ${CallRecordingExpirationDays}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${LiveCaptionsEnabledTypeForCalling}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MusicOnHoldEnabledType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PopoutAppPathForIncomingPstnCalls}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PopoutForIncomingPstnCalls}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${PreventTollBypass}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${SpamFilteringEnabledType}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsCallingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsCallParkPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCallPark}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int64] + ${ParkTimeoutSeconds}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int64] + ${PickupRangeEnd}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int64] + ${PickupRangeStart}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsCallParkPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsChannelsPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowChannelSharingToExternalUser}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowOrgWideTeamCreation}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowPrivateChannelCreation}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowPrivateTeamDiscovery}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowSharedChannelCreation}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowUserToParticipateInExternalSharedChannel}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsChannelsPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsClientConfiguration { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowBox}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowDropBox}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowEgnyte}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowEmailIntoChannel}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowGoogleDrive}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowGuestUser}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowOrganizationTab}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowResourceAccountSendMessage}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowRoleBasedChatPermissions}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowScopedPeopleSearchandAccess}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowShareFile}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowSkypeBusinessInterop}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ContentPin}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ResourceAccountContentAccess}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${RestrictedSenderList}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsClientConfiguration'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsComplianceRecordingApplication { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${ComplianceRecordingPairedApplications}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.UInt32] + ${ConcurrentInvitationCount}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + ${Priority}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${RequiredBeforeCallEstablishment}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${RequiredBeforeMeetingJoin}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${RequiredDuringCall}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${RequiredDuringMeeting}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsComplianceRecordingApplication'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsComplianceRecordingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${ComplianceRecordingApplications}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${DisableComplianceRecordingAudioNotificationForCalls}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${Enabled}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${WarnUserOnRemoval}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsComplianceRecordingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsCortanaPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCortanaAmbientListening}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCortanaInContextSuggestions}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCortanaVoiceInvocation}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CortanaVoiceInvocationMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsCortanaPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsEducationAssignmentsAppPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MakeCodeEnabledType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ParentDigestEnabledType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TurnItInApiKey}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TurnItInApiUrl}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TurnItInEnabledType}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsEducationAssignmentsAppPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsEducationConfiguration { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ParentGuardianPreferredContactMethod}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsEducationConfiguration'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsEmergencyCallingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${EnhancedEmergencyServiceDisclaimer}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ExternalLocationLookupMode}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NotificationDialOutNumber}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NotificationGroup}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${NotificationMode}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsEmergencyCallingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsEmergencyCallRoutingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowEnhancedEmergencyServices}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${EmergencyNumbers}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsEmergencyCallRoutingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsEnhancedEncryptionPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CallingEndtoEndEncryptionEnabledType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MeetingEndToEndEncryption}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsEnhancedEncryptionPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsEventsPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AllowWebinars}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${EventAccessType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ForceStreamingAttendeeMode}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsEventsPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsFeedbackPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowEmailCollection}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowLogCollection}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowScreenshotCollection}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ReceiveSurveysMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${UserInitiatedMode}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsFeedbackPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsFilesPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NativeFileEntryPoints}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${SPChannelFilesTab}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsFilesPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsGuestCallingConfiguration { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowPrivateCalling}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsGuestCallingConfiguration'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsGuestMeetingConfiguration { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowIPVideo}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowMeetNow}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowTranscription}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${LiveCaptionsEnabledType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ScreenSharingMode}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsGuestMeetingConfiguration'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsGuestMessagingConfiguration { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowGiphy}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowImmersiveReader}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowMemes}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowStickers}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowUserChat}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowUserDeleteChat}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowUserDeleteMessage}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowUserEditMessage}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${GiphyRatingType}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsGuestMessagingConfiguration'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsIPPhonePolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AllowBetterTogether}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AllowHomeScreen}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowHotDesking}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int64] + ${HotDeskingIdleTimeoutInMinutes}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${SearchOnCommonAreaPhoneMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${SignInMode}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsIPPhonePolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsMeetingBroadcastConfiguration { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowSdnProviderForBroadcastMeeting}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${SdnApiTemplateUrl}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${SdnApiToken}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${SdnLicenseId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${SdnProviderName}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${SdnRuntimeConfiguration}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${SupportURL}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsMeetingBroadcastConfiguration'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsMeetingBroadcastPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowBroadcastScheduling}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowBroadcastTranscription}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${BroadcastAttendeeVisibilityMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${BroadcastRecordingMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsMeetingBroadcastPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsMeetingConfiguration { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.UInt32] + ${ClientAppSharingPort}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.UInt32] + ${ClientAppSharingPortRange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.UInt32] + ${ClientAudioPort}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.UInt32] + ${ClientAudioPortRange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${ClientMediaPortRangeEnabled}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.UInt32] + ${ClientVideoPort}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.UInt32] + ${ClientVideoPortRange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CustomFooterText}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${DisableAnonymousJoin}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${DisableAppInteractionForAnonymousUsers}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableQoS}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${HelpURL}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${LegalURL}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${LogoURL}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsMeetingConfiguration'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsMeetingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowAnnotations}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowAnonymousUsersToDialOut}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowAnonymousUsersToJoinMeeting}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowAnonymousUsersToStartMeeting}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowAvatarsInGallery}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowBreakoutRooms}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCarbonSummary}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AllowCartCaptionsScheduling}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowChannelMeetingScheduling}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCloudRecording}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AllowDocumentCollaboration}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AllowedStreamingMediaInput}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AllowEngagementReport}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowExternalParticipantGiveRequestControl}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowImmersiveView}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowIPAudio}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowIPVideo}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowMeetingCoach}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowMeetingReactions}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowMeetingRegistration}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowMeetNow}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowNDIStreaming}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowNetworkConfigurationSettingsLookup}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowOrganizersToOverrideLobbySettings}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowOutlookAddIn}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowParticipantGiveRequestControl}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowPowerPointSharing}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowPrivateMeetingScheduling}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowPrivateMeetNow}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowPSTNUsersToBypassLobby}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowRecordingStorageOutsideRegion}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AllowScreenContentDigitization}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowSharedNotes}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AllowTasksFromTranscript}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AllowTrackingInReport}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowTranscription}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AllowUserToJoinExternalMeeting}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowWatermarkForCameraVideo}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowWatermarkForScreenSharing}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowWhiteboard}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AutoAdmittedUsers}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${BlockedAnonymousJoinClientTypes}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ChannelRecordingDownload}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${DesignatedPresenterRoleMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${EnrollUserOverride}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${InfoShownInReportMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${IPAudioMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${IPVideoMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${LiveCaptionsEnabledType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${LiveInterpretationEnabledType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${LiveStreamingMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.UInt32] + ${MediaBitRateKb}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MeetingChatEnabledType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MeetingInviteLanguages}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int64] + ${NewMeetingRecordingExpirationDays}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PreferredMeetingProviderForIslandsMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${QnAEngagementMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${RecordingStorageMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${RoomAttributeUserOverride}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${RoomPeopleNameUserOverride}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ScreenSharingMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${SpeakerAttributionMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${StreamingAttendeeMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TeamsCameraFarEndPTZMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${VideoFiltersMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${WhoCanRegister}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsMeetingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsMessagingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCommunicationComplianceEndUserReporting}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowFluidCollaborate}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowFullChatPermissionUserToDeleteAnyMessage}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowGiphy}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowGiphyDisplay}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowImmersiveReader}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowMemes}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowOwnerDeleteMessage}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowPasteInternetImage}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowPriorityMessages}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowRemoveUser}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowSmartCompose}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowSmartReply}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowStickers}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowUrlPreviews}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowUserChat}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowUserDeleteChat}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowUserDeleteMessage}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowUserEditMessage}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowUserTranslation}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowVideoMessages}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AudioMessageEnabledType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ChannelsInChatListEnabledType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ChatPermissionRole}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${GiphyRatingType}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ReadReceiptsEnabledType}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsMessagingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsMigrationConfiguration { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableLegacyClientInterop}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsMigrationConfiguration'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsMobilityPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${IPAudioMobileMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${IPVideoMobileMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MobileDialerPreference}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsMobilityPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsNetworkRoamingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowIPVideo}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int64] + ${MediaBitRateKb}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsNetworkRoamingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsNotificationAndFeedsPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${SuggestedFeedsEnabledType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TrendingFeedsEnabledType}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsNotificationAndFeedsPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsRoomVideoTeleConferencingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AreaCode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${Enabled}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PlaceExternalCalls}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PlaceInternalCalls}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ReceiveExternalCalls}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ReceiveInternalCalls}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsRoomVideoTeleConferencingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsShiftsAppPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowTimeClockLocationDetection}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsShiftsAppPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsShiftsConnectionInstance { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConnectorInstanceResponse], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IErrorDetailsResponse])] +[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Set', Mandatory)] + [Parameter(ParameterSetName='SetExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Connector Instance Id + ${ConnectorInstanceId}, + + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Header')] + [System.String] + # ETag value + ${IfMatch}, + + [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUpdateConnectorInstanceRequest] + # Update Connector Instance Request. + # This request is used for performing a complete update (PUT) on connector instance. + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The WFM connection id. + ${ConnectionId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # The list of connector admin email addresses. + ${ConnectorAdminEmail}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The designated actor id that App acts as for Shifts Graph Api calls. + ${DesignatedActorId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The connector instance ETag. + ${Etag}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The connector instance name. + ${Name}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The state of the WFM Connector Instance. + ${State}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # The sync frequency in minutes. + ${SyncFrequencyInMin}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The OfferShiftRequest entity. + ${SyncScenarioOfferShiftRequest}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The OpenShift entity. + ${SyncScenarioOpenShift}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The OpenShiftRequest entity. + ${SyncScenarioOpenShiftRequest}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The Shift entity. + ${SyncScenarioShift}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The SwapRequest entity. + ${SyncScenarioSwapRequest}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The TimeCard entity. + ${SyncScenarioTimeCard}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The TimeOff entity. + ${SyncScenarioTimeOff}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The TimeOffRequest entity. + ${SyncScenarioTimeOffRequest}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The UserShiftPreferences entity. + ${SyncScenarioUserShiftPreference}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsShiftsConnectionInstance_Set'; + SetExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsShiftsConnectionInstance_SetExpanded'; + SetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsShiftsConnectionInstance_SetViaIdentity'; + SetViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsShiftsConnectionInstance_SetViaIdentityExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsShiftsConnection { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IWfmConnectionResponse], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IErrorDetailsResponse])] +[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Set', Mandatory)] + [Parameter(ParameterSetName='SetExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Connection Id. + ${ConnectionId}, + + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Header')] + [System.String] + # Bearer: token + ${Authorization}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Header')] + [System.String] + # ETag value + ${IfMatch}, + + [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUpdateWfmConnectionRequest] + # Update WFM Connection Request. + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The connector id. + ${ConnectorId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUpdateWfmConnectionRequestConnectorSpecificSettings] + # The connector settings. + ${ConnectorSpecificSettings}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The ETag of WFM connection. + ${Etag}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Object name. + ${Name}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The state of the WFM connection. + ${State}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsShiftsConnection_Set'; + SetExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsShiftsConnection_SetExpanded'; + SetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsShiftsConnection_SetViaIdentity'; + SetViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsShiftsConnection_SetViaIdentityExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsShiftsPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int64] + ${AccessGracePeriodMinutes}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AccessType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableScheduleOwnerPermissions}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableShiftPresence}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ShiftNoticeFrequency}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ShiftNoticeMessageCustom}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ShiftNoticeMessageType}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsShiftsPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsSurvivableBranchAppliance { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Site}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsSurvivableBranchAppliance'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsSurvivableBranchAppliancePolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${BranchApplianceFqdns}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsSurvivableBranchAppliancePolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsTargetingPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CustomTagsMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ManageTagsPermissionMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ShiftBackedTagsMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${SuggestedPresetTags}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TeamOwnersEditWhoCanManageTagsMode}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsTargetingPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsTranslationRule { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Pattern}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Translation}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsTranslationRule'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsUnassignedNumberTreatment { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Pattern}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Target}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TargetType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + ${TreatmentPriority}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsUnassignedNumberTreatment'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsUpdateManagementPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowManagedUpdates}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowPreview}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AllowPublicPreview}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int64] + ${UpdateDayOfWeek}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${UpdateTime}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.DateTime] + ${UpdateTimeOfDay}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsUpdateManagementPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsUpgradeConfiguration { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${DownloadTeams}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${SfBMeetingJoinUx}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsUpgradeConfiguration'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsVdiPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${DisableAudioVideoInCallsAndMeetings}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${DisableCallsAndMeetings}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsVdiPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsVoiceApplicationsPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowAutoAttendantAfterHoursGreetingChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowAutoAttendantAfterHoursRoutingChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowAutoAttendantBusinessHoursChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowAutoAttendantBusinessHoursGreetingChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowAutoAttendantBusinessHoursRoutingChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowAutoAttendantHolidayGreetingChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowAutoAttendantHolidayRoutingChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowAutoAttendantHolidaysChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowAutoAttendantLanguageChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowAutoAttendantTimeZoneChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCallQueueAgentOptChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCallQueueConferenceModeChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCallQueueLanguageChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCallQueueMembershipChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCallQueueMusicOnHoldChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCallQueueNoAgentsRoutingChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCallQueueOptOutChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCallQueueOverflowRoutingChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCallQueueOverflowSharedVoicemailGreetingChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCallQueuePresenceBasedRoutingChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCallQueueRoutingMethodChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCallQueueTimeoutRoutingChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCallQueueTimeoutSharedVoicemailGreetingChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCallQueueWelcomeGreetingChange}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CallQueueAgentMonitorMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CallQueueAgentMonitorNotificationMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsVoiceApplicationsPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsWorkLoadPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCalling}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowCallingPinned}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowMeeting}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowMeetingPinned}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowMessaging}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowMessagingPinned}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsWorkLoadPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTenantBlockedCallingNumbers { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${Enabled}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${InboundBlockedNumberPatterns}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${InboundExemptNumberPatterns}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Name}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTenantBlockedCallingNumbers'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTenantDialPlan { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${NormalizationRules}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${SimpleName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTenantDialPlan'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTenantFederationConfiguration { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${AllowedDomains}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${AllowedDomainsAsAList}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowFederatedUsers}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowPublicUsers}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowTeamsConsumer}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowTeamsConsumerInbound}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${BlockedDomains}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${RestrictTeamsConsumerToExternalUserProfiles}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${SharedSipAddressSpace}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${TreatDiscoveredPartnersAsUnverified}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${BlockAllSubdomains}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ExternalAccessWithTrialTenants}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTenantFederationConfiguration'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTenantMigrationConfiguration { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${MeetingMigrationEnabled}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTenantMigrationConfiguration'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTenantNetworkRegion { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CentralSite}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NetworkRegionID}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTenantNetworkRegion'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTenantNetworkSite { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${EmergencyCallingPolicy}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${EmergencyCallRoutingPolicy}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableLocationBasedRouting}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${LocationPolicy}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NetworkRegionID}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NetworkRoamingPolicy}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTenantNetworkSite'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTenantNetworkSubnet { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + ${MaskBits}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NetworkSiteID}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTenantNetworkSubnet'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTenantTrustedIPAddress { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${MaskBits}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTenantTrustedIPAddress'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTenantUserBackfill { +[OutputType([System.String])] +[CmdletBinding(DefaultParameterSetName='Set', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Operation to perform. + ${Operation}, + + [Parameter(Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Body}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTenantUserBackfill_Set'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsUser { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=0, Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${AcpInfo}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AudioVideoDisabled}, + + [Parameter()] + [Alias('CsEnabled')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${Enabled}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnterpriseVoiceEnabled}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ExchangeArchivingPolicy}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Boolean]] + ${HostedVoiceMail}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${LineServerURI}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${LineURI}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${OnPremLineURI}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${PassThru}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PrivateLine}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${RemoteCallControlTelephonyEnabled}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${SipAddress}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsUser'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsVideoInteropServiceProvider { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AadApplicationIds}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowAppGuestJoinsAsAuthenticated}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${InstructionUri}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TenantKey}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsVideoInteropServiceProvider'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Start-CsExMeetingMigration { +[CmdletBinding(DefaultParameterSetName='UserId', PositionalBinding=$false)] +param( + [Parameter(Position=1, Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${CleanupSipDisabled}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${EnqueueSourceType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${SourceMeetingType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${TargetMeetingType}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + UserId = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Start-CsExMeetingMigration'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Start-CsMeetingMigrationModern { +[OutputType([System.String])] +[CmdletBinding(DefaultParameterSetName='StartExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Start', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IStartMeetingMigrationRequestBody] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='StartExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='StartExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${SourceMeetingType}, + + [Parameter(ParameterSetName='StartExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${TargetMeetingType}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Start = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Start-CsMeetingMigrationModern_Start'; + StartExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Start-CsMeetingMigrationModern_StartExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Sync-CsOnlineApplicationInstance { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Guid] + ${ObjectId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CallbackUri}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Guid] + ${ApplicationId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Guid] + ${AcsResourceId}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Sync-CsOnlineApplicationInstance'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Sync-CsOnlineApplicationInstanceV2 { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Sync', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Sync', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Application instance object ID. + ${ObjectId}, + + [Parameter(ParameterSetName='SyncViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # ACS Resource Id. + ${AcsResourceId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # applicationId. + ${ApplicationId}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Sync = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Sync-CsOnlineApplicationInstanceV2_Sync'; + SyncViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Sync-CsOnlineApplicationInstanceV2_SyncViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Test-CsEffectiveTenantDialPlan { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${DialedNumber}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(ParameterSetName='Identity', Position=0)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${TenantScopeOnly}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='EffectiveTDPName', ValueFromPipelineByPropertyName)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${EffectiveTenantDialPlanName} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Test-CsEffectiveTenantDialPlan'; + EffectiveTDPName = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Test-CsEffectiveTenantDialPlan'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Test-CsEffectiveTenantDialPlanModern { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDialPlanTestResult])] +[CmdletBinding(DefaultParameterSetName='TestExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Test', Mandatory)] + [Parameter(ParameterSetName='TestExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${DialedNumber}, + + [Parameter(ParameterSetName='TestViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='TestViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Test', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='TestViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDialPlanRulesTestBody] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='TestExpanded')] + [Parameter(ParameterSetName='TestViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Dial Plan to be used if Identity is not provided + ${EffectiveTenantDialPlanName}, + + [Parameter(ParameterSetName='TestExpanded')] + [Parameter(ParameterSetName='TestViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # User Identity + ${Identity}, + + [Parameter(ParameterSetName='TestExpanded')] + [Parameter(ParameterSetName='TestViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Optional filter to include only tenant dial rules + ${TenantScopeOnly}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Test = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Test-CsEffectiveTenantDialPlanModern_Test'; + TestExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Test-CsEffectiveTenantDialPlanModern_TestExpanded'; + TestViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Test-CsEffectiveTenantDialPlanModern_TestViaIdentity'; + TestViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Test-CsEffectiveTenantDialPlanModern_TestViaIdentityExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Test-CsInboundBlockedNumberPattern { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory, ValueFromPipelineByPropertyName)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PhoneNumber}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Test-CsInboundBlockedNumberPattern'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Test-CsInboundBlockedNumberPatternModern { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Test', PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Phone number to test + ${PhoneNumber}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Test = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Test-CsInboundBlockedNumberPatternModern_Test'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Test-CsOnlineLiCivicAddressOnly { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Test1', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Test1', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Id}, + + [Parameter(ParameterSetName='TestViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Test', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.IO.Stream] + # . + ${Data}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Test = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Test-CsOnlineLiCivicAddressOnly_Test'; + Test1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Test-CsOnlineLiCivicAddressOnly_Test1'; + TestViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Test-CsOnlineLiCivicAddressOnly_TestViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Test-CsTeamsShiftsConnectionValidate { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IErrorDetailsResponse])] +[CmdletBinding(DefaultParameterSetName='Test', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Test', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConnectorInstanceBaseRequest] + # Connector Instance Base Request. + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='TestExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The connector id. + ${ConnectorId}, + + [Parameter(ParameterSetName='TestExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConnectorInstanceBaseRequestConnectorSpecificSettings] + # The connector specific settings. + ${ConnectorSpecificSettings}, + + [Parameter(ParameterSetName='TestExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The connector instance name. + ${Name}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Test = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Test-CsTeamsShiftsConnectionValidate_Test'; + TestExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Test-CsTeamsShiftsConnectionValidate_TestExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Test-CsTeamsTranslationRule { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITestTeamsTranslationRuleResponse], [System.String])] +[CmdletBinding(DefaultParameterSetName='Test', PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Phone number to test + ${PhoneNumber}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Test = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Test-CsTeamsTranslationRule_Test'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Test-CsTeamsUnassignedNumberTreatment { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITestUnassignedNumberTreatmentResponse], [System.String])] +[CmdletBinding(DefaultParameterSetName='Test', PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Phone number to test + ${PhoneNumber}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Test = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Test-CsTeamsUnassignedNumberTreatment_Test'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Test-CsVoiceNormalizationRule { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${DialedNumber}, + + [Parameter(Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${NormalizationRule}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Test-CsVoiceNormalizationRule'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Test-CsVoiceNormalizationRuleModern { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IVoiceNormalizationTestResult])] +[CmdletBinding(DefaultParameterSetName='TestExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Test', Mandatory)] + [Parameter(ParameterSetName='TestExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${DialedNumber}, + + [Parameter(ParameterSetName='TestViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='TestViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Test', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='TestViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.INormalizationRuleTestPayload] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='TestExpanded')] + [Parameter(ParameterSetName='TestViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.INormalizationRuleForTest[]] + # . + # To construct, see NOTES section for NORMALIZATIONRULE properties and create a hash table. + ${NormalizationRule}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Test = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Test-CsVoiceNormalizationRuleModern_Test'; + TestExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Test-CsVoiceNormalizationRuleModern_TestExpanded'; + TestViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Test-CsVoiceNormalizationRuleModern_TestViaIdentity'; + TestViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Test-CsVoiceNormalizationRuleModern_TestViaIdentityExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Unregister-CsOnlineDialInConferencingServiceNumber { +[CmdletBinding(DefaultParameterSetName='UniqueNumberParams', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='UniqueNumberParams', Position=0, Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Guid]] + ${BridgeId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${BridgeName}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${RemoveDefaultServiceNumber}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TenantDomain}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MsftInternalProcessingMode}, + + [Parameter(ParameterSetName='InstanceParams', Position=0, Mandatory, ValueFromPipeline)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${Instance} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + UniqueNumberParams = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Unregister-CsOnlineDialInConferencingServiceNumber'; + InstanceParams = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Unregister-CsOnlineDialInConferencingServiceNumber'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Update-CsTeamsShiftsConnectionInstance { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConnectorInstanceResponse], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IErrorDetailsResponse])] +[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Update', Mandatory)] + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Connector Instance Id + ${ConnectorInstanceId}, + + [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Header')] + [System.String] + # ETag value + ${IfMatch}, + + [Parameter(ParameterSetName='Update', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUpdateConnectorInstanceFieldsRequest] + # Update Connector Instance Fields Request. + # This request is used for performing a partial update (PATCH) on connector instance. + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The WFM connection id. + ${ConnectionId}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # The list of connector admin email addresses. + ${ConnectorAdminEmail}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The designated actor id that App acts as for Shifts Graph Api calls. + ${DesignatedActorId}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The connector instance ETag. + ${Etag}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The connector instance name. + ${Name}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The state of the WFM Connector Instance. + ${State}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # The sync frequency in minutes. + ${SyncFrequencyInMin}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The OfferShiftRequest entity. + ${SyncScenarioOfferShiftRequest}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The OpenShift entity. + ${SyncScenarioOpenShift}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The OpenShiftRequest entity. + ${SyncScenarioOpenShiftRequest}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The Shift entity. + ${SyncScenarioShift}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The SwapRequest entity. + ${SyncScenarioSwapRequest}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The TimeCard entity. + ${SyncScenarioTimeCard}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The TimeOff entity. + ${SyncScenarioTimeOff}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The TimeOffRequest entity. + ${SyncScenarioTimeOffRequest}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The UserShiftPreferences entity. + ${SyncScenarioUserShiftPreference}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Update = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Update-CsTeamsShiftsConnectionInstance_Update'; + UpdateExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Update-CsTeamsShiftsConnectionInstance_UpdateExpanded'; + UpdateViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Update-CsTeamsShiftsConnectionInstance_UpdateViaIdentity'; + UpdateViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Update-CsTeamsShiftsConnectionInstance_UpdateViaIdentityExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Update-CsTeamsShiftsConnection { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IWfmConnectionResponse], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IErrorDetailsResponse])] +[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Update', Mandatory)] + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Connection Id. + ${ConnectionId}, + + [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Header')] + [System.String] + # Bearer: token + ${Authorization}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Header')] + [System.String] + # ETag value + ${IfMatch}, + + [Parameter(ParameterSetName='Update', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUpdateWfmConnectionFieldsRequest] + # Update WFM Connection Request. + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The connector id. + ${ConnectorId}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUpdateWfmConnectionFieldsRequestConnectorSpecificSettings] + # The connector settings. + ${ConnectorSpecificSettings}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The ETag of WFM connection. + ${Etag}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Object name. + ${Name}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The state of the WFM connection. + ${State}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Update = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Update-CsTeamsShiftsConnection_Update'; + UpdateExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Update-CsTeamsShiftsConnection_UpdateExpanded'; + UpdateViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Update-CsTeamsShiftsConnection_UpdateViaIdentity'; + UpdateViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Update-CsTeamsShiftsConnection_UpdateViaIdentityExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Update-CsTeamTemplate { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateTemplateResponse], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplateErrorResponse])] +[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Update', Mandatory)] + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # A composite URI of a template. + ${OdataId}, + + [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Update', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplate] + # The client input for a request to create a template. + # Only admins from Config Api can perform this request. + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the team's DisplayName. + ${DisplayName}, + + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets template short description. + ${ShortDescription}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamsAppTemplate[]] + # Gets or sets the set of applications that should be installed in teams created based on the template.The app catalog is the main directory for information about each app; this set is intended only as a reference. + # To construct, see NOTES section for APP properties and create a hash table. + ${App}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # Gets or sets list of categories. + ${Category}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IChannelTemplate[]] + # Gets or sets the set of channel templates included in the team template. + # To construct, see NOTES section for CHANNEL properties and create a hash table. + ${Channel}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the team's classification.Tenant admins configure AAD with the set of possible values. + ${Classification}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the team's Description. + ${Description}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamDiscoverySettings] + # Governs discoverability of a team. + # To construct, see NOTES section for DISCOVERYSETTING properties and create a hash table. + ${DiscoverySetting}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamFunSettings] + # Governs use of fun media like giphy and stickers in the team. + # To construct, see NOTES section for FUNSETTING properties and create a hash table. + ${FunSetting}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamGuestSettings] + # Guest role settings for the team. + # To construct, see NOTES section for GUESTSETTING properties and create a hash table. + ${GuestSetting}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets template icon. + ${Icon}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets whether to limit the membership of the team to owners in the AAD group until an owner "activates" the team. + ${IsMembershipLimitedToOwner}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamMemberSettings] + # Member role settings for the team. + # To construct, see NOTES section for MEMBERSETTING properties and create a hash table. + ${MemberSetting}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamMessagingSettings] + # Governs use of messaging features within the teamThese are settings the team owner should be able to modify from UI after team creation. + # To construct, see NOTES section for MESSAGINGSETTING properties and create a hash table. + ${MessagingSetting}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the AAD user object id of the user who should be set as the owner of the new team.Only to be used when an application or administrative user is making the request on behalf of the specified user. + ${OwnerUserObjectId}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets published name. + ${PublishedBy}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The specialization or use case describing the team.Used for telemetry/BI, part of the team context exposed to app developers, and for legacy implementations of differentiated features for education. + ${Specialization}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the id of the base template for the team.Either a Microsoft base template or a custom template. + ${TemplateId}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets uri to be used for GetTemplate api call. + ${Uri}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Used to control the scope of users who can view a group/team and its members, and ability to join. + ${Visibility}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Update = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Update-CsTeamTemplate_Update'; + UpdateExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Update-CsTeamTemplate_UpdateExpanded'; + UpdateViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Update-CsTeamTemplate_UpdateViaIdentity'; + UpdateViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Update-CsTeamTemplate_UpdateViaIdentityExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Clear-CsOnlineTelephoneNumberOrder { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${OrderId}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Clear-CsOnlineTelephoneNumberOrder'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Complete-CsOnlineTelephoneNumberOrder { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${OrderId}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Complete-CsOnlineTelephoneNumberOrder'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Export-CsAutoAttendantHolidays { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Export-CsAutoAttendantHolidays'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Export-CsOnlineAudioFile { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ApplicationId}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Export-CsOnlineAudioFile'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Find-CsGroup { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${SearchQuery}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.UInt32]] + ${MaxResults}, + + [Parameter(Position=2)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${ExactMatchOnly}, + + [Parameter(Position=3)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${MailEnabledOnly}, + + [Parameter(Position=4)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Find-CsGroup'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Find-CsOnlineApplicationInstance { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ApplicationInstance])] +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${SearchQuery}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.UInt32]] + ${MaxResults}, + + [Parameter(Position=2)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${ExactMatchOnly}, + + [Parameter(Position=3)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${AssociatedOnly}, + + [Parameter(Position=4)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${UnAssociatedOnly}, + + [Parameter(Position=5)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Find-CsOnlineApplicationInstance'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsAadTenant { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Get-CsAadTenant'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsAadUser { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Get-CsAadUser'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsAutoAttendant { +[CmdletBinding(DefaultParameterSetName='GetAllParamSet', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='GetAllParamSet', Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${IncludeStatus}, + + [Parameter(ParameterSetName='GetAllParamSet', Position=2)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + ${First}, + + [Parameter(ParameterSetName='GetAllParamSet', Position=3)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + ${Skip}, + + [Parameter(ParameterSetName='GetAllParamSet', Position=4)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${ExcludeContent}, + + [Parameter(ParameterSetName='GetAllParamSet', Position=5)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NameFilter}, + + [Parameter(ParameterSetName='GetAllParamSet', Position=6)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${SortBy}, + + [Parameter(ParameterSetName='GetAllParamSet', Position=7)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Descending}, + + [Parameter(Position=8)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend}, + + [Parameter(ParameterSetName='GetSpecificParamSet', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + GetAllParamSet = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Get-CsAutoAttendant'; + GetSpecificParamSet = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Get-CsAutoAttendant'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsAutoAttendantHolidays { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + ${Years}, + + [Parameter(Position=2)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + ${Names}, + + [Parameter(Position=3)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Get-CsAutoAttendantHolidays'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsAutoAttendantStatus { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + ${IncludeResources}, + + [Parameter(Position=2)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Get-CsAutoAttendantStatus'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsAutoAttendantSupportedLanguage { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Get-CsAutoAttendantSupportedLanguage'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsAutoAttendantSupportedTimeZone { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Get-CsAutoAttendantSupportedTimeZone'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsAutoAttendantTenantInformation { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Get-CsAutoAttendantTenantInformation'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsBusinessVoiceDirectoryDiagnosticData { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + ${PartitionKey}, + + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + ${Region}, + + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + ${Table}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + ${ResultSize}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + ${RowKey}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Get-CsBusinessVoiceDirectoryDiagnosticData'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsCallQueue { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + ${First}, + + [Parameter(Position=2)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + ${Skip}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${ExcludeContent}, + + [Parameter(Position=3)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Sort}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Descending}, + + [Parameter(Position=4)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NameFilter}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(Position=5, DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Get-CsCallQueue'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsConfigurationModern { +[CmdletBinding(DefaultParameterSetName='ConfigType', PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ConfigType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Collections.Hashtable] + ${PropertyBag}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend}, + + [Parameter(ParameterSetName='Filter', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter}, + + [Parameter(ParameterSetName='Identity', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + ConfigType = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Get-CsConfigurationModern'; + Filter = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Get-CsConfigurationModern'; + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Get-CsConfigurationModern'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsMasVersionedSchemaData { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + ${SchemaName}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + ${Version}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Get-CsMasVersionedSchemaData'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsMeetingMigrationTransactionHistory { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Identity. + # Supports UPN and SIP + ${Identity}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # CorrelationId + ${CorrelationId}, + + [Parameter(Position=2)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.DateTime] + # start time filter - to get meeting migration transaction history after starttime + ${StartTime}, + + [Parameter(Position=3)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.DateTime] + # end time filter - to get meeting migration transaction history before endtime + ${EndTime}, + + [Parameter(Position=4, DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Get-CsMeetingMigrationTransactionHistory'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsMmsStatus { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # end time filter - to get meeting migration status before endtime + ${EndTime}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Identity. + # Supports UPN and SIP, domainName LogonName + ${Identity}, + + [Parameter(Position=2)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Meeting migration type - SfbToSfb, SfbToTeams, TeamsToTeams, AllToTeams, ToSameType, Unknown + ${MigrationType}, + + [Parameter(Position=3)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # start time filter - to get meeting migration status after starttime + ${StartTime}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # SummaryOnly - to get only meting migration status summary. + ${SummaryOnly}, + + [Parameter(Position=4)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # state of meeting Migration status - Pending, InProgress, Failed, Succeeded + ${State}, + + [Parameter(Position=5, DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Get-CsMmsStatus'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsMoveTenantServiceInstanceTaskStatus { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Get-CsMoveTenantServiceInstanceTaskStatus'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineApplicationInstanceAssociation { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Get-CsOnlineApplicationInstanceAssociation'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineApplicationInstanceAssociationStatus { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Get-CsOnlineApplicationInstanceAssociationStatus'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineAudioFile { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ApplicationId}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Get-CsOnlineAudioFile'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineDialInConferencingUser { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${ResultSize}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Get-CsOnlineDialInConferencingUser'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineEnhancedEmergencyServiceDisclaimerModern { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CountryOrRegion}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Version}, + + [Parameter(Position=2, DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Get-CsOnlineEnhancedEmergencyServiceDisclaimerModern'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineSchedule { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Id}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(Position=1, DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Get-CsOnlineSchedule'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsOnlineVoicemailUserSettings { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Get-CsOnlineVoicemailUserSettings'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamsSettingsCustomApp { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Get-CsTeamsSettingsCustomApp'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTeamTemplateList { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplateSummary], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IErrorObject])] +[CmdletBinding(DefaultParameterSetName='DefaultLocaleOverride', PositionalBinding=$false)] +param( + [Parameter(Position=0)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PublicTemplateLocale}, + + [Parameter(Position=1, DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + DefaultLocaleOverride = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Get-CsTeamTemplateList'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsTenantPoint { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Get-CsTenantPoint'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsUserList { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${ResultSize}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${SkipUserPolicies}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${SoftDeletedUsers}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Models.AccountType] + ${AccountType}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Get-CsUserList'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsUserPoint { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${SkipUserPolicies}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Get-CsUserPoint'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsUserSearch { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + ${Identities}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Filter}, + + [Parameter()] + [Alias('Sort')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${OrderBy}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${ResultSize}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${SkipUserPolicies}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${SoftDeletedUsers}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Models.AccountType] + ${AccountType}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Get-CsUserSearch'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsVoiceUserList { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${ExpandLocation}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${First}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${NumberAssigned}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${NumberNotAssigned}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Guid]] + ${LocationId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Guid]] + ${CivicAddressId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Models.PSTNConnectivity] + ${PSTNConnectivity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Models.EnterpriseVoiceStatus] + ${EnterpriseVoiceStatus}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Get-CsVoiceUserList'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-CsVoiceUserPoint { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${ExpandLocation}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Get-CsVoiceUserPoint'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-FormatsForConfig { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ConfigType} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Get-FormatsForConfig'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-StatusRecordStatusCodeString { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + ${StatusRecordErrorCode} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Get-StatusRecordStatusCodeString'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Get-StatusRecordStatusString { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + ${StatusRecordStatus} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Get-StatusRecordStatusString'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsGroupPolicyPackageAssignment { +[OutputType([System.String])] +[CmdletBinding(DefaultParameterSetName='RequiredPolicyList', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${GroupId}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${PackageName}, + + [Parameter(Position=2)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + ${PolicyRankings}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + RequiredPolicyList = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Grant-CsGroupPolicyPackageAssignment'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Grant-CsTeamsPolicy { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [ArgumentCompleter({param ($CommandName, $ParameterName, $WordToComplete, $CommandAst, $FakeBoundParameters) return @("ApplicationAccessPolicy","BroadcastMeetingPolicy","CallingLineIdentity","ClientPolicy","CloudMeetingPolicy","ConferencingPolicy","DialoutPolicy","ExternalAccessPolicy","ExternalUserCommunicationPolicy","GraphPolicy","GroupPolicyPackageAssignment","HostedVoicemailPolicy","IPPhonePolicy","MobilityPolicy","OnlineAudioConferencingRoutingPolicy","OnlineVoicemailPolicy","OnlineVoiceRoutingPolicy","Policy","TeamsAppPermissionPolicy","TeamsAppSetupPolicy","TeamsAudioConferencingPolicy","TeamsCallHoldPolicy","TeamsCallingPolicy","TeamsCallParkPolicy","TeamsChannelsPolicy","TeamsComplianceRecordingPolicy","TeamsCortanaPolicy","TeamsEmergencyCallingPolicy","TeamsEmergencyCallRoutingPolicy","TeamsEnhancedEncryptionPolicy","TeamsFeedbackPolicy","TeamsFilesPolicy","TeamsIPPhonePolicy","TeamsMeetingBroadcastPolicy","TeamsMeetingPolicy","TeamsMessagingPolicy","TeamsMobilityPolicy","TeamsShiftsPolicy","TeamsSurvivableBranchAppliancePolicy","TeamsUpdateManagementPolicy","TeamsUpgradePolicy","TeamsVdiPolicy","TeamsVerticalPackagePolicy","TeamsVideoInteropServicePolicy","TeamsWorkLoadPolicy","TenantDialPlan","UserOrTenantPolicy","UserPolicyPackage","VoiceRoutingPolicy") | ?{ $_ -like "$WordToComplete*" } })] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyType}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PolicyName}, + + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${AdditionalParameters}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend}, + + [Parameter(ParameterSetName='GrantToTenant', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Global}, + + [Parameter(ParameterSetName='GrantToGroup', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Group}, + + [Parameter(ParameterSetName='GrantToGroup')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${Rank} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Grant-CsTeamsPolicy'; + GrantToTenant = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Grant-CsTeamsPolicy'; + GrantToGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Grant-CsTeamsPolicy'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Import-CsAutoAttendantHolidays { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(Position=1, Mandatory)] + [Alias('Input')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Byte[]] + ${InputBytes}, + + [Parameter(Position=2)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Import-CsAutoAttendantHolidays'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Import-CsOnlineAudioFile { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${FileName}, + + [Parameter(Position=2, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Byte[]] + ${Content}, + + [Parameter(Position=0)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ApplicationId}, + + [Parameter(Position=3)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Import-CsOnlineAudioFile'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Invoke-CsCustomHandlerCallBackNgtprov { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + ${Id}, + + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Models.CustomHandlerOperationName] + ${Operation}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + ${Eventname}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Invoke-CsCustomHandlerCallBackNgtprov'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Invoke-CsDeprecatedError { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${DeprecatedErrorMessage}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Collections.Hashtable] + ${PropertyBag} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Invoke-CsDeprecatedError'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Invoke-CsDirectObjectSync { +[CmdletBinding(DefaultParameterSetName='PostExpanded', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Post', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDsRequestBody] + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Models.DirectoryDeploymentName] + ${DeploymentName}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${IsValidationRequest}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Models.DirectoryObjectClass] + ${ObjectClass}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ObjectId}, + + [Parameter(ParameterSetName='PostExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + ${ObjectIds}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ScenariosToSuppress}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ServiceInstance}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${SynchronizeTenantWithAllObject}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int64] + ${ReSyncOption} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Post = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Invoke-CsDirectObjectSync'; + PostExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Invoke-CsDirectObjectSync'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Invoke-CsMsodsSync { +[CmdletBinding(DefaultParameterSetName='PostExpanded', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Post', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IResyncRequestBody] + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Models.DeploymentName] + ${DeploymentName}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${IsValidationRequest}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Models.ObjectClass] + ${ObjectClass}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TenantId}, + + [Parameter(ParameterSetName='PostExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + ${ObjectId}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ScenariosToSuppress}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ServiceInstance}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${SynchronizeTenantWithAllObject}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int64] + ${ReSyncOption} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Post = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Invoke-CsMsodsSync'; + PostExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Invoke-CsMsodsSync'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Move-CsTenantCrossRegion { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Move-CsTenantCrossRegion'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Move-CsTenantServiceInstance { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MoveOption}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TargetServiceInstance}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Move-CsTenantServiceInstance'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsAutoAttendant { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Name}, + + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${LanguageId}, + + [Parameter(Position=3, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Rtc.Management.Hosted.OAA.Models.CallFlow] + ${DefaultCallFlow}, + + [Parameter(Position=6, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TimeZoneId}, + + [Parameter(Position=2)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${VoiceId}, + + [Parameter(Position=4)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Rtc.Management.Hosted.OAA.Models.CallableEntity] + ${Operator}, + + [Parameter(Position=5)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${EnableVoiceResponse}, + + [Parameter(Position=7)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Rtc.Management.Hosted.OAA.Models.CallFlow[]] + ${CallFlows}, + + [Parameter(Position=8)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Rtc.Management.Hosted.OAA.Models.CallHandlingAssociation[]] + ${CallHandlingAssociations}, + + [Parameter(Position=9)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Rtc.Management.Hosted.OAA.Models.DialScope] + ${InclusionScope}, + + [Parameter(Position=10)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Rtc.Management.Hosted.OAA.Models.DialScope] + ${ExclusionScope}, + + [Parameter(Position=11)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Guid[]] + ${AuthorizedUsers}, + + [Parameter(Position=12)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Guid[]] + ${HideAuthorizedUsers}, + + [Parameter(Position=13)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\New-CsAutoAttendant'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsAutoAttendantCallableEntity { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Rtc.Management.Hosted.OAA.Models.CallableEntityType] + ${Type}, + + [Parameter(Position=2)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${EnableTranscription}, + + [Parameter(Position=3)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${EnableSharedVoicemailSystemPromptSuppression}, + + [Parameter(Position=4)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int16] + ${CallPriority}, + + [Parameter(Position=5)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\New-CsAutoAttendantCallableEntity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsAutoAttendantCallFlow { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Name}, + + [Parameter(Position=2, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.PSObject] + ${Menu}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.PSObject[]] + ${Greetings}, + + [Parameter(Position=3)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${ForceListenMenuEnabled}, + + [Parameter(Position=4)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\New-CsAutoAttendantCallFlow'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsAutoAttendantCallHandlingAssociation { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Rtc.Management.Hosted.OAA.Models.CallHandlingAssociationType] + ${Type}, + + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ScheduleId}, + + [Parameter(Position=2, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CallFlowId}, + + [Parameter(Position=3)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Disable}, + + [Parameter(Position=4)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\New-CsAutoAttendantCallHandlingAssociation'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsAutoAttendantDialScope { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${GroupScope}, + + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + ${GroupIds}, + + [Parameter(Position=2)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\New-CsAutoAttendantDialScope'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsAutoAttendantMenu { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Name}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.PSObject[]] + ${Prompts}, + + [Parameter(Position=2)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.PSObject[]] + ${MenuOptions}, + + [Parameter(Position=3)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${EnableDialByName}, + + [Parameter(Position=4)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Rtc.Management.Hosted.OAA.Models.DirectorySearchMethod] + ${DirectorySearchMethod}, + + [Parameter(Position=5)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\New-CsAutoAttendantMenu'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsAutoAttendantMenuOption { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Rtc.Management.Hosted.OAA.Models.ActionType] + ${Action}, + + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Rtc.Management.Hosted.OAA.Models.DtmfTone] + ${DtmfResponse}, + + [Parameter(Position=2)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + ${VoiceResponses}, + + [Parameter(Position=3)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Rtc.Management.Hosted.OAA.Models.CallableEntity] + ${CallTarget}, + + [Parameter(Position=4)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.PSObject] + ${Prompt}, + + [Parameter(Position=5)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\New-CsAutoAttendantMenuOption'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsAutoAttendantPrompt { +[CmdletBinding(DefaultParameterSetName='TextToSpeechParamSet', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='TextToSpeechParamSet', Position=0, Mandatory)] + [Parameter(ParameterSetName='DualParamSet', Position=2)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TextToSpeechPrompt}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend}, + + [Parameter(ParameterSetName='DualParamSet', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ActiveType}, + + [Parameter(ParameterSetName='DualParamSet', Position=1)] + [Parameter(ParameterSetName='AudioFileParamSet', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Rtc.Management.Hosted.Online.Models.AudioFile] + ${AudioFilePrompt} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + TextToSpeechParamSet = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\New-CsAutoAttendantPrompt'; + DualParamSet = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\New-CsAutoAttendantPrompt'; + AudioFileParamSet = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\New-CsAutoAttendantPrompt'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsBatchTeamsDeployment { +[OutputType([System.String])] +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TeamsFilePath}, + + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${UsersFilePath}, + + [Parameter(Position=2, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${UsersToNotify}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\New-CsBatchTeamsDeployment'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsCallQueue { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Name}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int16] + ${AgentAlertTime}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowOptOut}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Guid[]] + ${DistributionLists}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${UseDefaultMusicOnHold}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${WelcomeMusicAudioFileId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${WelcomeTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MusicOnHoldAudioFileId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Rtc.Management.Hosted.HuntGroup.Models.OverflowAction] + ${OverflowAction}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${OverflowActionTarget}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int16] + ${OverflowThreshold}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Rtc.Management.Hosted.HuntGroup.Models.TimeoutAction] + ${TimeoutAction}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TimeoutActionTarget}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int16] + ${TimeoutThreshold}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Rtc.Management.Hosted.HuntGroup.Models.RoutingMethod] + ${RoutingMethod}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${PresenceBasedRouting}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${ConferenceMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Guid[]] + ${Users}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${LanguageId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${LineUri}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Guid[]] + ${OboResourceAccountIds}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${OverflowSharedVoicemailTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${OverflowSharedVoicemailAudioFilePrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableOverflowSharedVoicemailTranscription}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableOverflowSharedVoicemailSystemPromptSuppression}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${OverflowDisconnectAudioFilePrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${OverflowDisconnectTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${OverflowRedirectPersonAudioFilePrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${OverflowRedirectPersonTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${OverflowRedirectVoiceAppAudioFilePrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${OverflowRedirectVoiceAppTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${OverflowRedirectPhoneNumberAudioFilePrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${OverflowRedirectPhoneNumberTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${OverflowRedirectVoicemailAudioFilePrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${OverflowRedirectVoicemailTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TimeoutSharedVoicemailTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TimeoutSharedVoicemailAudioFilePrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableTimeoutSharedVoicemailTranscription}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableTimeoutSharedVoicemailSystemPromptSuppression}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TimeoutDisconnectAudioFilePrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TimeoutDisconnectTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TimeoutRedirectPersonAudioFilePrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TimeoutRedirectPersonTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TimeoutRedirectVoiceAppAudioFilePrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TimeoutRedirectVoiceAppTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TimeoutRedirectPhoneNumberAudioFilePrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TimeoutRedirectPhoneNumberTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TimeoutRedirectVoicemailAudioFilePrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TimeoutRedirectVoicemailTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Rtc.Management.Hosted.HuntGroup.Models.NoAgentAction] + ${NoAgentAction}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NoAgentActionTarget}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NoAgentSharedVoicemailTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NoAgentSharedVoicemailAudioFilePrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableNoAgentSharedVoicemailTranscription}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableNoAgentSharedVoicemailSystemPromptSuppression}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Rtc.Management.Hosted.HuntGroup.Models.NoAgentApplyTo] + ${NoAgentApplyTo}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NoAgentDisconnectAudioFilePrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NoAgentDisconnectTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NoAgentRedirectPersonAudioFilePrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NoAgentRedirectPersonTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NoAgentRedirectVoiceAppAudioFilePrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NoAgentRedirectVoiceAppTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NoAgentRedirectPhoneNumberAudioFilePrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NoAgentRedirectPhoneNumberTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NoAgentRedirectVoicemailAudioFilePrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NoAgentRedirectVoicemailTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ChannelId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Guid] + ${ChannelUserObjectId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${ShouldOverwriteCallableChannelProperty}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Guid[]] + ${AuthorizedUsers}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Guid[]] + ${HideAuthorizedUsers}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int16] + ${OverflowActionCallPriority}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int16] + ${TimeoutActionCallPriority}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int16] + ${NoAgentActionCallPriority}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Boolean]] + ${IsCallbackEnabled}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CallbackRequestDtmf}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${WaitTimeBeforeOfferingCallbackInSecond}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${NumberOfCallsInQueueBeforeOfferingCallback}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${CallToAgentRatioThresholdBeforeOfferingCallback}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CallbackOfferAudioFilePromptResourceId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CallbackOfferTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CallbackEmailNotificationTarget}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${ServiceLevelThresholdResponseTimeInSecond}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\New-CsCallQueue'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsConfigurationModern { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ConfigType}, + + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Collections.Hashtable] + ${PropertyBag}, + + [Parameter(Position=2, DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\New-CsConfigurationModern'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsCustomPolicyPackage { +[OutputType([System.String])] +[CmdletBinding(DefaultParameterSetName='RequiredPolicyList', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${Identity}, + + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + ${PolicyList}, + + [Parameter(Position=2)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${Description}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + RequiredPolicyList = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\New-CsCustomPolicyPackage'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsOnlineApplicationInstanceAssociation { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + ${Identities}, + + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ConfigurationId}, + + [Parameter(Position=2, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ConfigurationType}, + + [Parameter(Position=3)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int16] + ${CallPriority}, + + [Parameter(Position=4)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\New-CsOnlineApplicationInstanceAssociation'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsOnlineDateTimeRange { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Start}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${End}, + + [Parameter(Position=2)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\New-CsOnlineDateTimeRange'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsOnlineSchedule { +[CmdletBinding(DefaultParameterSetName='UnresolvedParamSet', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Name}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend}, + + [Parameter(ParameterSetName='FixedScheduleParamSet', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${FixedSchedule}, + + [Parameter(ParameterSetName='FixedScheduleParamSet')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${DateTimeRanges}, + + [Parameter(ParameterSetName='WeeklyRecurrentScheduleParamSet', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${WeeklyRecurrentSchedule}, + + [Parameter(ParameterSetName='WeeklyRecurrentScheduleParamSet')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${MondayHours}, + + [Parameter(ParameterSetName='WeeklyRecurrentScheduleParamSet')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${TuesdayHours}, + + [Parameter(ParameterSetName='WeeklyRecurrentScheduleParamSet')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${WednesdayHours}, + + [Parameter(ParameterSetName='WeeklyRecurrentScheduleParamSet')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${ThursdayHours}, + + [Parameter(ParameterSetName='WeeklyRecurrentScheduleParamSet')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${FridayHours}, + + [Parameter(ParameterSetName='WeeklyRecurrentScheduleParamSet')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${SaturdayHours}, + + [Parameter(ParameterSetName='WeeklyRecurrentScheduleParamSet')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${SundayHours}, + + [Parameter(ParameterSetName='WeeklyRecurrentScheduleParamSet')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Complement} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + UnresolvedParamSet = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\New-CsOnlineSchedule'; + FixedScheduleParamSet = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\New-CsOnlineSchedule'; + WeeklyRecurrentScheduleParamSet = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\New-CsOnlineSchedule'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsOnlineTimeRange { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Start}, + + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${End}, + + [Parameter(Position=2)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\New-CsOnlineTimeRange'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsSdgBulkSignInRequest { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${DeviceDetailsFilePath}, + + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Region} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\New-CsSdgBulkSignInRequest'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsTeamTemplate { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateTemplateResponse], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplateErrorResponse])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='NewExpanded', Mandatory)] + [Parameter(ParameterSetName='New', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + ${Locale}, + + [Parameter(ParameterSetName='NewViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='NewViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='NewExpanded', Mandatory)] + [Parameter(ParameterSetName='NewViaIdentityExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${DisplayName}, + + [Parameter(ParameterSetName='NewExpanded', Mandatory)] + [Parameter(ParameterSetName='NewViaIdentityExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ShortDescription}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamsAppTemplate[]] + # To construct, see NOTES section for APP properties and create a hash table. + ${App}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + ${Category}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IChannelTemplate[]] + # To construct, see NOTES section for CHANNEL properties and create a hash table. + ${Channel}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Classification}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Description}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamDiscoverySettings] + # To construct, see NOTES section for DISCOVERYSETTING properties and create a hash table. + ${DiscoverySetting}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamFunSettings] + # To construct, see NOTES section for FUNSETTING properties and create a hash table. + ${FunSetting}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamGuestSettings] + # To construct, see NOTES section for GUESTSETTING properties and create a hash table. + ${GuestSetting}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Icon}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${IsMembershipLimitedToOwner}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamMemberSettings] + # To construct, see NOTES section for MEMBERSETTING properties and create a hash table. + ${MemberSetting}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamMessagingSettings] + # To construct, see NOTES section for MESSAGINGSETTING properties and create a hash table. + ${MessagingSetting}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${OwnerUserObjectId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PublishedBy}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Specialization}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TemplateId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Uri}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Visibility}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend}, + + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='NewViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplate] + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\New-CsTeamTemplate'; + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\New-CsTeamTemplate'; + NewViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\New-CsTeamTemplate'; + NewViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\New-CsTeamTemplate'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function New-CsUserCallingDelegate { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Delegate}, + + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${MakeCalls}, + + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${ManageSettings}, + + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${ReceiveCalls}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\New-CsUserCallingDelegate'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Register-CsOdcServiceNumber { +[CmdletBinding(DefaultParameterSetName='ById', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='ById', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${BridgeId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${BridgeName}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend}, + + [Parameter(ParameterSetName='ByInstance', Mandatory, ValueFromPipeline)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConferencingServiceNumber] + # To construct, see NOTES section for INSTANCE properties and create a hash table. + ${Instance} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + ById = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Register-CsOdcServiceNumber'; + ByInstance = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Register-CsOdcServiceNumber'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsAutoAttendant { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Remove-CsAutoAttendant'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsCallQueue { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Remove-CsCallQueue'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsConfigurationModern { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ConfigType}, + + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(Position=2, DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Remove-CsConfigurationModern'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsOnlineApplicationInstanceAssociation { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + ${Identities}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Remove-CsOnlineApplicationInstanceAssociation'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsOnlineAudioFile { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Remove-CsOnlineAudioFile'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsOnlineSchedule { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Id}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Remove-CsOnlineSchedule'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsOnlineTelephoneNumberModern { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + ${TelephoneNumber}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Remove-CsOnlineTelephoneNumberModern'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsPhoneNumberAssignment { +[CmdletBinding(DefaultParameterSetName='RemoveSome', PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(ParameterSetName='RemoveSome', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PhoneNumber}, + + [Parameter(ParameterSetName='RemoveSome', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PhoneNumberType}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend}, + + [Parameter(ParameterSetName='RemoveAll', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${RemoveAll} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + RemoveSome = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Remove-CsPhoneNumberAssignment'; + RemoveAll = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Remove-CsPhoneNumberAssignment'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Remove-CsUserCallingDelegate { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Delegate}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Remove-CsUserCallingDelegate'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsAutoAttendant { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.PSObject] + ${Instance}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Set-CsAutoAttendant'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsCallQueue { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Name}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int16] + ${AgentAlertTime}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${AllowOptOut}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Guid[]] + ${DistributionLists}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${UseDefaultMusicOnHold}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${WelcomeMusicAudioFileId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${WelcomeTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${MusicOnHoldAudioFileId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Rtc.Management.Hosted.HuntGroup.Models.OverflowAction] + ${OverflowAction}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${OverflowActionTarget}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int16] + ${OverflowThreshold}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Rtc.Management.Hosted.HuntGroup.Models.TimeoutAction] + ${TimeoutAction}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TimeoutActionTarget}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int16] + ${TimeoutThreshold}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Rtc.Management.Hosted.HuntGroup.Models.RoutingMethod] + ${RoutingMethod}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${PresenceBasedRouting}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${ConferenceMode}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Guid[]] + ${Users}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${LanguageId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${LineUri}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Guid[]] + ${OboResourceAccountIds}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${OverflowSharedVoicemailTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${OverflowSharedVoicemailAudioFilePrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableOverflowSharedVoicemailTranscription}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableOverflowSharedVoicemailSystemPromptSuppression}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${OverflowDisconnectAudioFilePrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${OverflowDisconnectTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${OverflowRedirectPersonAudioFilePrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${OverflowRedirectPersonTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${OverflowRedirectVoiceAppAudioFilePrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${OverflowRedirectVoiceAppTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${OverflowRedirectPhoneNumberAudioFilePrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${OverflowRedirectPhoneNumberTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${OverflowRedirectVoicemailAudioFilePrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${OverflowRedirectVoicemailTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TimeoutSharedVoicemailTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TimeoutSharedVoicemailAudioFilePrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableTimeoutSharedVoicemailTranscription}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableTimeoutSharedVoicemailSystemPromptSuppression}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TimeoutDisconnectAudioFilePrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TimeoutDisconnectTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TimeoutRedirectPersonAudioFilePrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TimeoutRedirectPersonTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TimeoutRedirectVoiceAppAudioFilePrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TimeoutRedirectVoiceAppTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TimeoutRedirectPhoneNumberAudioFilePrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TimeoutRedirectPhoneNumberTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TimeoutRedirectVoicemailAudioFilePrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TimeoutRedirectVoicemailTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Rtc.Management.Hosted.HuntGroup.Models.NoAgentAction] + ${NoAgentAction}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NoAgentActionTarget}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NoAgentSharedVoicemailTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NoAgentSharedVoicemailAudioFilePrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableNoAgentSharedVoicemailTranscription}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnableNoAgentSharedVoicemailSystemPromptSuppression}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Rtc.Management.Hosted.HuntGroup.Models.NoAgentApplyTo] + ${NoAgentApplyTo}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NoAgentDisconnectAudioFilePrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NoAgentDisconnectTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NoAgentRedirectPersonAudioFilePrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NoAgentRedirectPersonTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NoAgentRedirectVoiceAppAudioFilePrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NoAgentRedirectVoiceAppTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NoAgentRedirectPhoneNumberAudioFilePrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NoAgentRedirectPhoneNumberTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NoAgentRedirectVoicemailAudioFilePrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NoAgentRedirectVoicemailTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ChannelId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Guid] + ${ChannelUserObjectId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${ShouldOverwriteCallableChannelProperty}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Guid[]] + ${AuthorizedUsers}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Guid[]] + ${HideAuthorizedUsers}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int16] + ${OverflowActionCallPriority}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int16] + ${TimeoutActionCallPriority}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int16] + ${NoAgentActionCallPriority}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Boolean]] + ${IsCallbackEnabled}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CallbackRequestDtmf}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${WaitTimeBeforeOfferingCallbackInSecond}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${NumberOfCallsInQueueBeforeOfferingCallback}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${CallToAgentRatioThresholdBeforeOfferingCallback}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CallbackOfferAudioFilePromptResourceId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CallbackOfferTextToSpeechPrompt}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CallbackEmailNotificationTarget}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Int32]] + ${ServiceLevelThresholdResponseTimeInSecond}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Set-CsCallQueue'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsConfigurationModern { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ConfigType}, + + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Collections.Hashtable] + ${PropertyBag}, + + [Parameter(Position=2, DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Set-CsConfigurationModern'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsOdcServiceNumber { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PrimaryLanguage}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + ${SecondaryLanguages}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${RestoreDefaultLanguages}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConferencingServiceNumber] + # To construct, see NOTES section for INSTANCE properties and create a hash table. + ${Instance}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Set-CsOdcServiceNumber'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsOnlineDialInConferencingBridge { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Name}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${DefaultServiceNumber}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${SetDefault}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingBridge] + # To construct, see NOTES section for INSTANCE properties and create a hash table. + ${Instance}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${AsJob}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Set-CsOnlineDialInConferencingBridge'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsOnlineDialInConferencingUser { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TollFreeServiceNumber}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${BridgeName}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${SendEmail}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ServiceNumber}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${ResetLeaderPin}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${SendEmailToAddress}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${BridgeId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Boolean]] + ${AllowTollFreeDialIn}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${AsJob}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Set-CsOnlineDialInConferencingUser'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsOnlineEnhancedEmergencyServiceDisclaimerModern { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CountryOrRegion}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Version}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${ForceAccept}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Response}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${RespondedByObjectId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ResponseTimestamp}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Locale}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Set-CsOnlineEnhancedEmergencyServiceDisclaimerModern'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsOnlineSchedule { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${Instance}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Set-CsOnlineSchedule'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsOnlineSipDomainModern { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Domain}, + + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Action}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Set-CsOnlineSipDomainModern'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsOnlineVoicemailUserSettings { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Rtc.Management.Hosted.Voicemail.Models.CallAnswerRules] + ${CallAnswerRule}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${DefaultGreetingPromptOverwrite}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${DefaultOofGreetingPromptOverwrite}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Boolean]] + ${OofGreetingEnabled}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Boolean]] + ${OofGreetingFollowAutomaticRepliesEnabled}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PromptLanguage}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Boolean]] + ${ShareData}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TransferTarget}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Nullable[System.Boolean]] + ${VoicemailEnabled}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Set-CsOnlineVoicemailUserSettings'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsOnlineVoiceUserV2 { +[CmdletBinding(DefaultParameterSetName='Id', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${TelephoneNumber}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${LocationId}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Id = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Set-CsOnlineVoiceUserV2'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsPhoneNumberAssignment { +[CmdletBinding(DefaultParameterSetName='LocationUpdate', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='LocationUpdate', Mandatory)] + [Parameter(ParameterSetName='Assignment', Mandatory)] + [Parameter(ParameterSetName='ReverseNumberLookupUpdate', Mandatory)] + [Parameter(ParameterSetName='NetworkSiteUpdate', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PhoneNumber}, + + [Parameter(ParameterSetName='LocationUpdate', Mandatory)] + [Parameter(ParameterSetName='Assignment')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${LocationId}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend}, + + [Parameter(ParameterSetName='Attribute', Mandatory)] + [Parameter(ParameterSetName='Assignment', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(ParameterSetName='Attribute', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${EnterpriseVoiceEnabled}, + + [Parameter(ParameterSetName='Assignment', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${PhoneNumberType}, + + [Parameter(ParameterSetName='Assignment')] + [Parameter(ParameterSetName='NetworkSiteUpdate', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${NetworkSiteId}, + + [Parameter(ParameterSetName='Assignment')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${AssignmentCategory}, + + [Parameter(ParameterSetName='Assignment')] + [Parameter(ParameterSetName='ReverseNumberLookupUpdate', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ReverseNumberLookup} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + LocationUpdate = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Set-CsPhoneNumberAssignment'; + Attribute = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Set-CsPhoneNumberAssignment'; + Assignment = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Set-CsPhoneNumberAssignment'; + ReverseNumberLookupUpdate = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Set-CsPhoneNumberAssignment'; + NetworkSiteUpdate = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Set-CsPhoneNumberAssignment'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsTeamsSettingsCustomApp { +[CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${isSideloadedAppsInteractionEnabled}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Set-CsTeamsSettingsCustomApp'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsUserCallingDelegate { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Delegate}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${MakeCalls}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${ManageSettings}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${ReceiveCalls}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Set-CsUserCallingDelegate'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsUserCallingSettings { +[CmdletBinding(DefaultParameterSetName='Identity', PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend}, + + [Parameter(ParameterSetName='CallGroupNotification', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${GroupNotificationOverride}, + + [Parameter(ParameterSetName='CallGroupMembership', Mandatory)] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICallGroupMembershipDetails[]] + # To construct, see NOTES section for GROUPMEMBERSHIPDETAILS properties and create a hash table. + ${GroupMembershipDetails}, + + [Parameter(ParameterSetName='CallGroup', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${CallGroupOrder}, + + [Parameter(ParameterSetName='CallGroup', Mandatory)] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Array] + ${CallGroupTargets}, + + [Parameter(ParameterSetName='UnansweredOnOff', Mandatory)] + [Parameter(ParameterSetName='Unanswered', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${IsUnansweredEnabled}, + + [Parameter(ParameterSetName='Unanswered', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${UnansweredDelay}, + + [Parameter(ParameterSetName='Unanswered')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${UnansweredTarget}, + + [Parameter(ParameterSetName='Unanswered')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${UnansweredTargetType}, + + [Parameter(ParameterSetName='ForwardingOnOff', Mandatory)] + [Parameter(ParameterSetName='Forwarding', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Boolean] + ${IsForwardingEnabled}, + + [Parameter(ParameterSetName='Forwarding', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ForwardingType}, + + [Parameter(ParameterSetName='Forwarding', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ForwardingTargetType}, + + [Parameter(ParameterSetName='Forwarding')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${ForwardingTarget} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Identity = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Set-CsUserCallingSettings'; + CallGroupNotification = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Set-CsUserCallingSettings'; + CallGroupMembership = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Set-CsUserCallingSettings'; + CallGroup = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Set-CsUserCallingSettings'; + UnansweredOnOff = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Set-CsUserCallingSettings'; + Unanswered = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Set-CsUserCallingSettings'; + ForwardingOnOff = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Set-CsUserCallingSettings'; + Forwarding = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Set-CsUserCallingSettings'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-CsUserModern { +[CmdletBinding(DefaultParameterSetName='Id', PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${EnterpriseVoiceEnabled}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${HostedVoiceMail}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${LineURI}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${OnPremLineURI}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Id = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Set-CsUserModern'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-FixTenantFedConfigObject { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${ConfigObject} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Set-FixTenantFedConfigObject'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-FixTypoInOnlinePSTNGatewayConfigObject { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${ConfigObject} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Set-FixTypoInOnlinePSTNGatewayConfigObject'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Set-FormatOnConfigObject { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${ConfigObject}, + + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${ConfigType} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Set-FormatOnConfigObject'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Unregister-CsOdcServiceNumber { +[CmdletBinding(DefaultParameterSetName='ById', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='ById', Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter()] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${BridgeId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${BridgeName}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${RemoveDefaultServiceNumber}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend}, + + [Parameter(ParameterSetName='ByInstance', Mandatory, ValueFromPipeline)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ConferencingServiceNumber] + # To construct, see NOTES section for INSTANCE properties and create a hash table. + ${Instance} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + ById = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Unregister-CsOdcServiceNumber'; + ByInstance = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Unregister-CsOdcServiceNumber'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Update-CsAutoAttendant { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + ${Identity}, + + [Parameter(Position=1)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + ${Force}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Update-CsAutoAttendant'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Update-CsCustomPolicyPackage { +[OutputType([System.String])] +[CmdletBinding(DefaultParameterSetName='RequiredPolicyList', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Position=0, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${Identity}, + + [Parameter(Position=1, Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + ${PolicyList}, + + [Parameter(Position=2)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Object] + ${Description}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + ${HttpPipelinePrepend} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + RequiredPolicyList = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Update-CsCustomPolicyPackage'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# .ExternalHelp en-US\MicrosoftTeams-help +function Write-AdminServiceDiagnostic { +[CmdletBinding(PositionalBinding=$false)] +param( + [Parameter(Position=0)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDiagnosticRecord[]] + # To construct, see NOTES section for DIAGNOSTICS properties and create a hash table. + ${Diagnostics} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + __AllParameterSets = 'Microsoft.Teams.ConfigAPI.Cmdlets.custom\Write-AdminServiceDiagnostic'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# SIG # Begin signature block +# MIIn0AYJKoZIhvcNAQcCoIInwTCCJ70CAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCDpQUld9YYZ7DDj +# Hskcmsh94qHVja2UkbwNgEoTPBuQ16CCDYUwggYDMIID66ADAgECAhMzAAADri01 +# UchTj1UdAAAAAAOuMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMjMxMTE2MTkwODU5WhcNMjQxMTE0MTkwODU5WjB0MQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +# AQD0IPymNjfDEKg+YyE6SjDvJwKW1+pieqTjAY0CnOHZ1Nj5irGjNZPMlQ4HfxXG +# yAVCZcEWE4x2sZgam872R1s0+TAelOtbqFmoW4suJHAYoTHhkznNVKpscm5fZ899 +# QnReZv5WtWwbD8HAFXbPPStW2JKCqPcZ54Y6wbuWV9bKtKPImqbkMcTejTgEAj82 +# 6GQc6/Th66Koka8cUIvz59e/IP04DGrh9wkq2jIFvQ8EDegw1B4KyJTIs76+hmpV +# M5SwBZjRs3liOQrierkNVo11WuujB3kBf2CbPoP9MlOyyezqkMIbTRj4OHeKlamd +# WaSFhwHLJRIQpfc8sLwOSIBBAgMBAAGjggGCMIIBfjAfBgNVHSUEGDAWBgorBgEE +# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUhx/vdKmXhwc4WiWXbsf0I53h8T8w +# VAYDVR0RBE0wS6RJMEcxLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh +# dGlvbnMgTGltaXRlZDEWMBQGA1UEBRMNMjMwMDEyKzUwMTgzNjAfBgNVHSMEGDAW +# gBRIbmTlUAXTgqoXNzcitW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8v +# d3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIw +# MTEtMDctMDguY3JsMGEGCCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDov +# L3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDEx +# XzIwMTEtMDctMDguY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIB +# AGrJYDUS7s8o0yNprGXRXuAnRcHKxSjFmW4wclcUTYsQZkhnbMwthWM6cAYb/h2W +# 5GNKtlmj/y/CThe3y/o0EH2h+jwfU/9eJ0fK1ZO/2WD0xi777qU+a7l8KjMPdwjY +# 0tk9bYEGEZfYPRHy1AGPQVuZlG4i5ymJDsMrcIcqV8pxzsw/yk/O4y/nlOjHz4oV +# APU0br5t9tgD8E08GSDi3I6H57Ftod9w26h0MlQiOr10Xqhr5iPLS7SlQwj8HW37 +# ybqsmjQpKhmWul6xiXSNGGm36GarHy4Q1egYlxhlUnk3ZKSr3QtWIo1GGL03hT57 +# xzjL25fKiZQX/q+II8nuG5M0Qmjvl6Egltr4hZ3e3FQRzRHfLoNPq3ELpxbWdH8t +# Nuj0j/x9Crnfwbki8n57mJKI5JVWRWTSLmbTcDDLkTZlJLg9V1BIJwXGY3i2kR9i +# 5HsADL8YlW0gMWVSlKB1eiSlK6LmFi0rVH16dde+j5T/EaQtFz6qngN7d1lvO7uk +# 6rtX+MLKG4LDRsQgBTi6sIYiKntMjoYFHMPvI/OMUip5ljtLitVbkFGfagSqmbxK +# 7rJMhC8wiTzHanBg1Rrbff1niBbnFbbV4UDmYumjs1FIpFCazk6AADXxoKCo5TsO +# zSHqr9gHgGYQC2hMyX9MGLIpowYCURx3L7kUiGbOiMwaMIIHejCCBWKgAwIBAgIK +# YQ6Q0gAAAAAAAzANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNV +# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv +# c29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlm +# aWNhdGUgQXV0aG9yaXR5IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEw +# OTA5WjB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE +# BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYD +# VQQDEx9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG +# 9w0BAQEFAAOCAg8AMIICCgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+la +# UKq4BjgaBEm6f8MMHt03a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc +# 6Whe0t+bU7IKLMOv2akrrnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4D +# dato88tt8zpcoRb0RrrgOGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+ +# lD3v++MrWhAfTVYoonpy4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nk +# kDstrjNYxbc+/jLTswM9sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6 +# A4aN91/w0FK/jJSHvMAhdCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmd +# X4jiJV3TIUs+UsS1Vz8kA/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL +# 5zmhD+kjSbwYuER8ReTBw3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zd +# sGbiwZeBe+3W7UvnSSmnEyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3 +# T8HhhUSJxAlMxdSlQy90lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS +# 4NaIjAsCAwEAAaOCAe0wggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRI +# bmTlUAXTgqoXNzcitW2oynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAL +# BgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBD +# uRQFTuHqp8cx0SOJNDBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jv +# c29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf +# MDNfMjIuY3JsMF4GCCsGAQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3 +# dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf +# MDNfMjIuY3J0MIGfBgNVHSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEF +# BQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1h +# cnljcHMuaHRtMEAGCCsGAQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkA +# YwB5AF8AcwB0AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn +# 8oalmOBUeRou09h0ZyKbC5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7 +# v0epo/Np22O/IjWll11lhJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0b +# pdS1HXeUOeLpZMlEPXh6I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/ +# KmtYSWMfCWluWpiW5IP0wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvy +# CInWH8MyGOLwxS3OW560STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBp +# mLJZiWhub6e3dMNABQamASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJi +# hsMdYzaXht/a8/jyFqGaJ+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYb +# BL7fQccOKO7eZS/sl/ahXJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbS +# oqKfenoi+kiVH6v7RyOA9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sL +# gOppO6/8MO0ETI7f33VtY5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtX +# cVZOSEXAQsmbdlsKgEhr/Xmfwb1tbWrJUnMTDXpQzTGCGaEwghmdAgEBMIGVMH4x +# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt +# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01p +# Y3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTECEzMAAAOuLTVRyFOPVR0AAAAA +# A64wDQYJYIZIAWUDBAIBBQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQw +# HAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIB6D +# OE4NjOZYnMjLvOdr7aCOybobLlu3pwRVgKrhkdBLMEIGCisGAQQBgjcCAQwxNDAy +# oBSAEgBNAGkAYwByAG8AcwBvAGYAdKEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5j +# b20wDQYJKoZIhvcNAQEBBQAEggEAu4K3+kzH9uSJUy2DvMxQTj0bLzhAnr2g687D +# 66TzyTMqKChFrGW8lnl5oDUu/ISXdalZ1ylF9V8zHgRvwfWNxvE4GgYld8EdbFdI +# +7DuVu6tBh8hV1iNzyr6gbuBaAP2PI0p3gF/H9cmCB71uTuXQNJnN9cE89FNyJql +# yTVaaaIeFx1ov6Jy++Mrbii/QQE1BLOtt5GughIib+fqCxMChmnM7AHzIELcL9lv +# 9bHoLEZXLrQCSq4yZubOSRzR79OwY8W9olW6wwM1uGG7m7Vr36945nx3EMWD2iWu +# nO1fD5uicyUr6od4TY2p54s+kSM6uDdw7o0A/nqVdA+QtOvgjaGCFyswghcnBgor +# BgEEAYI3AwMBMYIXFzCCFxMGCSqGSIb3DQEHAqCCFwQwghcAAgEDMQ8wDQYJYIZI +# AWUDBAIBBQAwggFZBgsqhkiG9w0BCRABBKCCAUgEggFEMIIBQAIBAQYKKwYBBAGE +# WQoDATAxMA0GCWCGSAFlAwQCAQUABCAYeLZEy+rf68yXCyXnF+bXFSaxEPQIMR/Z +# EyOyS9h3qAIGZnLApgvJGBMyMDI0MDYxOTExMzEzMi43MjVaMASAAgH0oIHYpIHV +# MIHSMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH +# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQL +# EyRNaWNyb3NvZnQgSXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsT +# HVRoYWxlcyBUU1MgRVNOOjJBRDQtNEI5Mi1GQTAxMSUwIwYDVQQDExxNaWNyb3Nv +# ZnQgVGltZS1TdGFtcCBTZXJ2aWNloIIRejCCBycwggUPoAMCAQICEzMAAAHenkie +# lp8oRD0AAQAAAd4wDQYJKoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxEzARBgNV +# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv +# c29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAg +# UENBIDIwMTAwHhcNMjMxMDEyMTkwNzEyWhcNMjUwMTEwMTkwNzEyWjCB0jELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9z +# b2Z0IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMg +# VFNTIEVTTjoyQUQ0LTRCOTItRkEwMTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUt +# U3RhbXAgU2VydmljZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALSB +# 9ByF9UIDhA6xFrOniw/xsDl8sSi9rOCOXSSO4VMQjnNGAo5VHx0iijMEMH9LY2SU +# IBkVQS0Ml6kR+TagkUPbaEpwjhQ1mprhRgJT/jlSnic42VDAo0en4JI6xnXoAoWo +# KySY8/ROIKdpphgI7OJb4XHk1P3sX2pNZ32LDY1ktchK1/hWyPlblaXAHRu0E3yn +# vwrS8/bcorANO6DjuysyS9zUmr+w3H3AEvSgs2ReuLj2pkBcfW1UPCFudLd7IPZ2 +# RC4odQcEPnY12jypYPnS6yZAs0pLpq0KRFUyB1x6x6OU73sudiHON16mE0l6LLT9 +# OmGo0S94Bxg3N/3aE6fUbnVoemVc7FkFLum8KkZcbQ7cOHSAWGJxdCvo5OtUtRdS +# qf85FklCXIIkg4sm7nM9TktUVfO0kp6kx7mysgD0Qrxx6/5oaqnwOTWLNzK+BCi1 +# G7nUD1pteuXvQp8fE1KpTjnG/1OJeehwKNNPjGt98V0BmogZTe3SxBkOeOQyLA++ +# 5Hyg/L68pe+DrZoZPXJaGU/iBiFmL+ul/Oi3d83zLAHlHQmH/VGNBfRwP+ixvqhy +# k/EebwuXVJY+rTyfbRfuh9n0AaMhhNxxg6tGKyZS4EAEiDxrF9mAZEy8e8rf6dlK +# IX5d3aQLo9fDda1ZTOw+XAcAvj2/N3DLVGZlHnHlAgMBAAGjggFJMIIBRTAdBgNV +# HQ4EFgQUazAmbxseaapgdxzK8Os+naPQEsgwHwYDVR0jBBgwFoAUn6cVXQBeYl2D +# 9OXSZacbUzUZ6XIwXwYDVR0fBFgwVjBUoFKgUIZOaHR0cDovL3d3dy5taWNyb3Nv +# ZnQuY29tL3BraW9wcy9jcmwvTWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUy +# MDIwMTAoMSkuY3JsMGwGCCsGAQUFBwEBBGAwXjBcBggrBgEFBQcwAoZQaHR0cDov +# L3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBUaW1l +# LVN0YW1wJTIwUENBJTIwMjAxMCgxKS5jcnQwDAYDVR0TAQH/BAIwADAWBgNVHSUB +# Af8EDDAKBggrBgEFBQcDCDAOBgNVHQ8BAf8EBAMCB4AwDQYJKoZIhvcNAQELBQAD +# ggIBAOKUwHsXDacGOvUIgs5HDgPs0LZ1qyHS6C6wfKlLaD36tZfbWt1x+GMiazSu +# y+GsxiVHzkhMW+FqK8gruLQWN/sOCX+fGUgT9LT21cRIpcZj4/ZFIvwtkBcsCz1X +# EUsXYOSJUPitY7E8bbldmmhYZ29p+XQpIcsG/q+YjkqBW9mw0ru1MfxMTQs9MTDi +# D28gAVGrPA3NykiSChvdqS7VX+/LcEz9Ubzto/w28WA8HOCHqBTbDRHmiP7MIj+S +# QmI9VIayYsIGRjvelmNa0OvbU9CJSz/NfMEgf2NHMZUYW8KqWEjIjPfHIKxWlNMY +# huWfWRSHZCKyIANA0aJL4soHQtzzZ2MnNfjYY851wHYjGgwUj/hlLRgQO5S30Zx7 +# 8GqBKfylp25aOWJ/qPhC+DXM2gXajIXbl+jpGcVANwtFFujCJRdZbeH1R+Q41Fjg +# Bg4m3OTFDGot5DSuVkQgjku7pOVPtldE46QlDg/2WhPpTQxXH64sP1GfkAwUtt6r +# rZM/PCwRG6girYmnTRLLsicBhoYLh+EEFjVviXAGTk6pnu8jx/4WPWu0jsz7yFzg +# 82/FMqCk9wK3LvyLAyDHN+FxbHAxtgwad7oLQPM0WGERdB1umPCIiYsSf/j79EqH +# doNwQYROVm+ZX10RX3n6bRmAnskeNhi0wnVaeVogLMdGD+nqMIIHcTCCBVmgAwIB +# AgITMwAAABXF52ueAptJmQAAAAAAFTANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UE +# BhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAc +# BgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0 +# IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTAwHhcNMjEwOTMwMTgyMjI1 +# WhcNMzAwOTMwMTgzMjI1WjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu +# Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv +# cmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDCC +# AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAOThpkzntHIhC3miy9ckeb0O +# 1YLT/e6cBwfSqWxOdcjKNVf2AX9sSuDivbk+F2Az/1xPx2b3lVNxWuJ+Slr+uDZn +# hUYjDLWNE893MsAQGOhgfWpSg0S3po5GawcU88V29YZQ3MFEyHFcUTE3oAo4bo3t +# 1w/YJlN8OWECesSq/XJprx2rrPY2vjUmZNqYO7oaezOtgFt+jBAcnVL+tuhiJdxq +# D89d9P6OU8/W7IVWTe/dvI2k45GPsjksUZzpcGkNyjYtcI4xyDUoveO0hyTD4MmP +# frVUj9z6BVWYbWg7mka97aSueik3rMvrg0XnRm7KMtXAhjBcTyziYrLNueKNiOSW +# rAFKu75xqRdbZ2De+JKRHh09/SDPc31BmkZ1zcRfNN0Sidb9pSB9fvzZnkXftnIv +# 231fgLrbqn427DZM9ituqBJR6L8FA6PRc6ZNN3SUHDSCD/AQ8rdHGO2n6Jl8P0zb +# r17C89XYcz1DTsEzOUyOArxCaC4Q6oRRRuLRvWoYWmEBc8pnol7XKHYC4jMYcten +# IPDC+hIK12NvDMk2ZItboKaDIV1fMHSRlJTYuVD5C4lh8zYGNRiER9vcG9H9stQc +# xWv2XFJRXRLbJbqvUAV6bMURHXLvjflSxIUXk8A8FdsaN8cIFRg/eKtFtvUeh17a +# j54WcmnGrnu3tz5q4i6tAgMBAAGjggHdMIIB2TASBgkrBgEEAYI3FQEEBQIDAQAB +# MCMGCSsGAQQBgjcVAgQWBBQqp1L+ZMSavoKRPEY1Kc8Q/y8E7jAdBgNVHQ4EFgQU +# n6cVXQBeYl2D9OXSZacbUzUZ6XIwXAYDVR0gBFUwUzBRBgwrBgEEAYI3TIN9AQEw +# QTA/BggrBgEFBQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9E +# b2NzL1JlcG9zaXRvcnkuaHRtMBMGA1UdJQQMMAoGCCsGAQUFBwMIMBkGCSsGAQQB +# gjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/ +# MB8GA1UdIwQYMBaAFNX2VsuP6KJcYmjRPZSQW9fOmhjEMFYGA1UdHwRPME0wS6BJ +# oEeGRWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01p +# Y1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYB +# BQUHMAKGPmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljUm9v +# Q2VyQXV0XzIwMTAtMDYtMjMuY3J0MA0GCSqGSIb3DQEBCwUAA4ICAQCdVX38Kq3h +# LB9nATEkW+Geckv8qW/qXBS2Pk5HZHixBpOXPTEztTnXwnE2P9pkbHzQdTltuw8x +# 5MKP+2zRoZQYIu7pZmc6U03dmLq2HnjYNi6cqYJWAAOwBb6J6Gngugnue99qb74p +# y27YP0h1AdkY3m2CDPVtI1TkeFN1JFe53Z/zjj3G82jfZfakVqr3lbYoVSfQJL1A +# oL8ZthISEV09J+BAljis9/kpicO8F7BUhUKz/AyeixmJ5/ALaoHCgRlCGVJ1ijbC +# HcNhcy4sa3tuPywJeBTpkbKpW99Jo3QMvOyRgNI95ko+ZjtPu4b6MhrZlvSP9pEB +# 9s7GdP32THJvEKt1MMU0sHrYUP4KWN1APMdUbZ1jdEgssU5HLcEUBHG/ZPkkvnNt +# yo4JvbMBV0lUZNlz138eW0QBjloZkWsNn6Qo3GcZKCS6OEuabvshVGtqRRFHqfG3 +# rsjoiV5PndLQTHa1V1QJsWkBRH58oWFsc/4Ku+xBZj1p/cvBQUl+fpO+y/g75LcV +# v7TOPqUxUYS8vwLBgqJ7Fx0ViY1w/ue10CgaiQuPNtq6TPmb/wrpNPgkNWcr4A24 +# 5oyZ1uEi6vAnQj0llOZ0dFtq0Z4+7X6gMTN9vMvpe784cETRkPHIqzqKOghif9lw +# Y1NNje6CbaUFEMFxBmoQtB1VM1izoXBm8qGCAtYwggI/AgEBMIIBAKGB2KSB1TCB +# 0jELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1Jl +# ZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMk +# TWljcm9zb2Z0IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1U +# aGFsZXMgVFNTIEVTTjoyQUQ0LTRCOTItRkEwMTElMCMGA1UEAxMcTWljcm9zb2Z0 +# IFRpbWUtU3RhbXAgU2VydmljZaIjCgEBMAcGBSsOAwIaAxUAaKBSisy4y86pl8Xy +# 22CJZExE2vOggYMwgYCkfjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu +# Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv +# cmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDAN +# BgkqhkiG9w0BAQUFAAIFAOodPycwIhgPMjAyNDA2MTkxOTI3MzVaGA8yMDI0MDYy +# MDE5MjczNVowdjA8BgorBgEEAYRZCgQBMS4wLDAKAgUA6h0/JwIBADAJAgEAAgEE +# AgH/MAcCAQACAhE8MAoCBQDqHpCnAgEAMDYGCisGAQQBhFkKBAIxKDAmMAwGCisG +# AQQBhFkKAwKgCjAIAgEAAgMHoSChCjAIAgEAAgMBhqAwDQYJKoZIhvcNAQEFBQAD +# gYEAT/1IiJfZABO6ytIiWGxM6eaEDYT9JQ8WJghhgjWuS2Zs10IoCFwHGOj8sCmc +# hXhBcGWzIOYo9+ZnBxrrRfJdSERSUu5tGszKz3ljdkONrFFlWstPhVBLw1J6/joN +# t6zrPcbXveQ0xoNhOrx3QwBuRjVGPZkWlofMLMDGtwxF6UAxggQNMIIECQIBATCB +# kzB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH +# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQD +# Ex1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMAITMwAAAd6eSJ6WnyhEPQAB +# AAAB3jANBglghkgBZQMEAgEFAKCCAUowGgYJKoZIhvcNAQkDMQ0GCyqGSIb3DQEJ +# EAEEMC8GCSqGSIb3DQEJBDEiBCAPSAFvdPmyRXEMuxYgSt41yomV1lYaj4K4ah9A +# Sus1XTCB+gYLKoZIhvcNAQkQAi8xgeowgecwgeQwgb0EII4+I58NwV4QEEkCf+YL +# cyCtPnD9TbPzUtgPjgdzfh17MIGYMIGApH4wfDELMAkGA1UEBhMCVVMxEzARBgNV +# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv +# c29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAg +# UENBIDIwMTACEzMAAAHenkielp8oRD0AAQAAAd4wIgQgeCTJ44pulnKfPamoq2pr +# eglS6KL1S2QH7q3nSuP5FXAwDQYJKoZIhvcNAQELBQAEggIArzfkgzs08+/QXfS1 +# M1LDcFzhSV/7yJvXGOjU6NFzvrWX93hJRBA3QdGNl16gKfUw0Cp9uRN6aH5D1y/3 +# WNwEJQGHLN1CRKkWjlyM9LxeXpdEV/4Oa3W2zChgXGR4mkK/cD7n+wecoxuuXlFA +# bgcZkmu3mZ1NhSh/Dxp+cCRWY3F4GSs/D0HlS4hVkaGkEcX1fxfYNyLjZNnSkNJ2 +# 9WloqxOsLSXQHU0Eoj3BJBOFpZ/0Jffm5C0QwOmua3f6YYSQTHHvnzW/v0DDSmBZ +# gMfjVID25pwINamH4lKh8Kcn5nvwzXtWH0MholMuJ/BfrnwIWbFhq9R0cW5GBYml +# 2WwIA7RAYuzmw5L2xmIHkxvOd1sihB3Ikl1uBJ6Ipq9rUONHPn2GJNvcY+ahIOMZ +# 674Bs740c7No2PsiH1JXIPlZU4v4QNwvB9dBhlGv5I6+4dpbHtS6BLZSxBMmJETt +# rkJsuwc85jkoYifBHf/NlBHWCwY/ZYq2N8rtrdjZlJkmxrAgiC5UY846iomLLHhe +# BBxKKDWLfSgf/wynUFOJGBl6Rb6mrXRsoUh8tuUFktoim2Lakv9ReFPQuJ6FATOu +# fvWHCP0dAlWMWWSqoALz6dXyn6hzepfBiUH1ALfnMuhFBO3DSVfwlYzq51+Ut3GG +# sOrs+4gjNwZMffBBCGcQB59vSlc= +# SIG # End signature block diff --git a/Modules/MicrosoftTeams/6.4.0/internal/Merged_internal.ps1 b/Modules/MicrosoftTeams/6.4.0/internal/Merged_internal.ps1 new file mode 100644 index 000000000000..8f1224d6dcc6 --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/internal/Merged_internal.ps1 @@ -0,0 +1,37097 @@ + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis + +.Description + +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISkypeTelephoneNumberMgmtUpdateSearchOrderRequest +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISkypeTelephoneNumberMgmtErrorResponseDetails +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : UpdateSearchOrderRequest + [Action ]: + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/complete-csonlinetelephonenumberorder +#> +function Complete-CsOnlineTelephoneNumberOrder { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISkypeTelephoneNumberMgmtErrorResponseDetails])] +[CmdletBinding(DefaultParameterSetName='CompleteExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Complete', Mandatory)] + [Parameter(ParameterSetName='CompleteExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${OrderId}, + + [Parameter(ParameterSetName='CompleteViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='CompleteViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Complete', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='CompleteViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISkypeTelephoneNumberMgmtUpdateSearchOrderRequest] + # UpdateSearchOrderRequest + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='CompleteExpanded')] + [Parameter(ParameterSetName='CompleteViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Action}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Complete = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Complete-CsOnlineTelephoneNumberOrder_Complete'; + CompleteExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Complete-CsOnlineTelephoneNumberOrder_CompleteExpanded'; + CompleteViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Complete-CsOnlineTelephoneNumberOrder_CompleteViaIdentity'; + CompleteViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Complete-CsOnlineTelephoneNumberOrder_CompleteViaIdentityExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Get Audio file content. +GET Teams.MediaStorage/audiofile/appId/audiofileId/content +.Description +Get Audio file content. +GET Teams.MediaStorage/audiofile/appId/audiofileId/content +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +System.String +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/export-csonlineaudiofile +#> +function Export-CsOnlineAudioFile { +[OutputType([System.String])] +[CmdletBinding(DefaultParameterSetName='Export', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Export', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${ApplicationId}, + + [Parameter(ParameterSetName='Export', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='ExportViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Export = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Export-CsOnlineAudioFile_Export'; + ExportViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Export-CsOnlineAudioFile_ExportViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Find group. +GET /Teams.VoiceApps/groups?. +.Description +Find group. +GET /Teams.VoiceApps/groups?. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetGroupsResponse +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/find-csgroup +#> +function Find-CsGroup { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetGroupsResponse])] +[CmdletBinding(DefaultParameterSetName='Find', PositionalBinding=$false)] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether to exact match on the search query or not. + ${ExactMatchOnly}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether to return only groups enabled for mail. + ${MailEnabledOnly}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # Gets or sets max results to return. + ${MaxResults}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Gets or sets search query. + ${SearchQuery}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Find = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Find-CsGroup_Find'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Search for application instances that match the search criteria. +.Description +Search for application instances that match the search criteria. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetApplicationInstancesResponse +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/find-csonlineapplicationinstance +#> +function Find-CsOnlineApplicationInstance { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetApplicationInstancesResponse])] +[CmdletBinding(DefaultParameterSetName='Find', PositionalBinding=$false)] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # . + ${AssociatedOnly}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # . + ${ExactMatchOnly}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # . + ${IsAssociated}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # . + ${MaxResults}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${SearchQuery}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # . + ${UnAssociatedOnly}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Find = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Find-CsOnlineApplicationInstance_Find'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Get Tenant from AAD. +Get-CsAadTenant +.Description +Get Tenant from AAD. +Get-CsAadTenant +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IAadTenant +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csaadtenant +#> +function Get-CsAadTenant { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IAadTenant])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsAadTenant_Get'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Get User. +Get-CsAadUser +.Description +Get User. +Get-CsAadUser +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IAadUser +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csaaduser +#> +function Get-CsAadUser { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IAadUser])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # identity. + # Supports UserId as Guid or UPN as String. + ${Identity}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsAadUser_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsAadUser_GetViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Get a specific auto attendant. +GET Teams.VoiceApps/auto-attendants/identity. +.Description +Get a specific auto attendant. +GET Teams.VoiceApps/auto-attendants/identity. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetAutoAttendantResponse +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetAutoAttendantsResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csautoattendant +#> +function Get-CsAutoAttendant { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetAutoAttendantResponse], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetAutoAttendantsResponse])] +[CmdletBinding(DefaultParameterSetName='Get1', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Id for the auto attendant to retrieve. + ${Identity}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Get1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # . + ${Descending}, + + [Parameter(ParameterSetName='Get1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # . + ${ExcludeContent}, + + [Parameter(ParameterSetName='Get1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # . + ${First}, + + [Parameter(ParameterSetName='Get1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # . + ${IncludeStatus}, + + [Parameter(ParameterSetName='Get1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${NameFilter}, + + [Parameter(ParameterSetName='Get1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # . + ${Skip}, + + [Parameter(ParameterSetName='Get1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${SortBy}, + + [Parameter(ParameterSetName='Get1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${TypeFilter}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsAutoAttendant_Get'; + Get1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsAutoAttendant_Get1'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsAutoAttendant_GetViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Gets auto attendant holidays. +GET Teams.VoiceApps/auto-attendants/identity/holidays. +.Description +Gets auto attendant holidays. +GET Teams.VoiceApps/auto-attendants/identity/holidays. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetAutoAttendantHolidaysResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csautoattendantholidays +#> +function Get-CsAutoAttendantHolidays { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetAutoAttendantHolidaysResponse])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String[]] + # . + ${Name}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # . + ${ResponseType}, + + [Parameter()] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String[]] + # . + ${Year}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsAutoAttendantHolidays_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsAutoAttendantHolidays_GetViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Get a specific auto attendant. +GET Teams.VoiceApps/auto-attendants/status/identity +.Description +Get a specific auto attendant. +GET Teams.VoiceApps/auto-attendants/status/identity +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IStatusRecord3 +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csautoattendantstatus +#> +function Get-CsAutoAttendantStatus { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IStatusRecord3])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Id for the auto attendant to retrieve. + ${Identity}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String[]] + # . + ${IncludeResources}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsAutoAttendantStatus_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsAutoAttendantStatus_GetViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Get specific language information. +GET Teams.VoiceApps/supported-languages/identity. +.Description +Get specific language information. +GET Teams.VoiceApps/supported-languages/identity. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetSupportedLanguageResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csautoattendantsupportedlanguage +#> +function Get-CsAutoAttendantSupportedLanguage { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetSupportedLanguageResponse])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Id for the supported language to retrieve the information for. + ${Identity}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsAutoAttendantSupportedLanguage_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsAutoAttendantSupportedLanguage_GetViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Get supported timezone information. +GET Teams.VoiceApps/supported-timezones/identity. +.Description +Get supported timezone information. +GET Teams.VoiceApps/supported-timezones/identity. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetSupportedTimeZoneResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csautoattendantsupportedtimezone +#> +function Get-CsAutoAttendantSupportedTimeZone { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetSupportedTimeZoneResponse])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Id for the supported timezone to retrieve the information for. + ${Identity}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsAutoAttendantSupportedTimeZone_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsAutoAttendantSupportedTimeZone_GetViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Get tenant information specific to Voice Apps by the tenant Id. +GET Teams.VoiceApps/information. +.Description +Get tenant information specific to Voice Apps by the tenant Id. +GET Teams.VoiceApps/information. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetTenantInformationResponse +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csautoattendanttenantinformation +#> +function Get-CsAutoAttendantTenantInformation { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetTenantInformationResponse])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsAutoAttendantTenantInformation_Get'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Gets raw data from bvd tables. +.Description +Gets raw data from bvd tables. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IBvdTableEntity +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csbusinessvoicedirectorydiagnosticdata +#> +function Get-CsBusinessVoiceDirectoryDiagnosticData { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IBvdTableEntity])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # PartitionKey of the table. + ${PartitionKey}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Region to query Bvd table. + ${Region}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Bvd table name. + ${Table}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # Optional resultSize. + ${ResultSize}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Optional row key. + ${RowKey}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsBusinessVoiceDirectoryDiagnosticData_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsBusinessVoiceDirectoryDiagnosticData_GetViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Get call queues. +GET Teams.VoiceApps/callqueues?. +.Description +Get call queues. +GET Teams.VoiceApps/callqueues?. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetCallQueueResponse +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetCallQueuesResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-cscallqueue +#> +function Get-CsCallQueue { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetCallQueuesResponse], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetCallQueueResponse])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get1', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # . + ${Descending}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # . + ${ExcludeContent}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether to filter invalid Obo from the response. + # If invalid Obos are not needed in the response set the flag to true, otherwise false. + # An obo is termed invalid when a previously associated Obo is deleted from AAD or phone number associated to the Obo is removed. + ${FilterInvalidObos}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # . + ${First}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${NameFilter}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # . + ${Skip}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${SortBy}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${TypeFilter}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsCallQueue_Get'; + Get1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsCallQueue_Get1'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsCallQueue_GetViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Get all tenant available configurations +.Description +Get all tenant available configurations +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IXdsConfiguration +.Outputs +System.String +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csconfiguration +#> +function Get-CsConfiguration { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IXdsConfiguration], [System.String])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='Get1', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # string + ${ConfigType}, + + [Parameter(ParameterSetName='Get1', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${ConfigName}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GetViaIdentity1', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Api Version + ${ApiVersion}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${SchemaVersion}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsConfiguration_Get'; + Get1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsConfiguration_Get1'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsConfiguration_GetViaIdentity'; + GetViaIdentity1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsConfiguration_GetViaIdentity1'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Get requested Schema's data from MAS DB. +.Description +Get requested Schema's data from MAS DB. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IMasSchemaItem +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csmasversionedschemadata +#> +function Get-CsMasVersionedSchemaData { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IMasSchemaItem])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Schema to get from MAS DB + ${SchemaName}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Identity. + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Last X versions to fetch from MAS DB. + ${Version}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsMasVersionedSchemaData_Get'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Get meeting migration status for a user or tenant +.Description +Get meeting migration status for a user or tenant +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IMeetingMigrationStatusResponse +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csmeetingmigrationstatusmodern +#> +function Get-CsMeetingMigrationStatusModern { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IMeetingMigrationStatusResponse])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # end time filter - to get meeting migration status before endtime + ${EndTime}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Identity. + # Supports UPN and SIP, domainName LogonName + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Meeting migration type - SfbToSfb, SfbToTeams, TeamsToTeams, AllToTeams, ToSameType, Unknown + ${MigrationType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # start time filter - to get meeting migration status after starttime + ${StartTime}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # state of meeting Migration status - Pending, InProgress, Failed, Succeeded + ${State}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsMeetingMigrationStatusModern_Get'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Get meeting migration status summary for a user or tenant +.Description +Get meeting migration status summary for a user or tenant +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IMeetingMigrationStatusSummaryResponse +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csmeetingmigrationstatussummarymodern +#> +function Get-CsMeetingMigrationStatusSummaryModern { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IMeetingMigrationStatusSummaryResponse])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # end time filter - to get meeting migration status before endtime + ${EndTime}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Identity. + # Supports UPN and SIP, domainName LogonName + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Meeting migration type - SfbToSfb, SfbToTeams, TeamsToTeams, AllToTeams, ToSameType, Unknown + ${MigrationType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # start time filter - to get meeting migration status after starttime + ${StartTime}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # state of meeting Migration status - Pending, InProgress, Failed, Succeeded + ${State}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsMeetingMigrationStatusSummaryModern_Get'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Get meeting migration transaction history for a user +.Description +Get meeting migration transaction history for a user +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IMeetingMigrationTransactionHistoryResponse +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csmeetingmigrationtransactionhistorymodern +#> +function Get-CsMeetingMigrationTransactionHistoryModern { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IMeetingMigrationTransactionHistoryResponse])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Identity. + # Supports UPN and SIP, Aad user object Id + ${UserIdentity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # CorrelationId fetched when running start-csexmeetingmigration + ${CorrelationId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # end time filter - to get meeting migration status before endtime + ${EndTime}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # start time filter - to get meeting migration status after starttime + ${StartTime}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsMeetingMigrationTransactionHistoryModern_Get'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Get Tenant's Migrationdetails. +.Description +Get Tenant's Migrationdetails. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGmtSchemaItem +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csmovetenantserviceinstancetaskstatus +#> +function Get-CsMoveTenantServiceInstanceTaskStatus { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGmtSchemaItem])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsMoveTenantServiceInstanceTaskStatus_Get'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +This cmdlet is point get operation on users. +.Description +This cmdlet is point get operation on users. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingUser +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csodcuser +#> +function Get-CsOdcUser { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingUser])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # UserId of user. + ${Identity}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOdcUser_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOdcUser_GetViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Get application instance association. +GET Teams.VoiceApps/applicationinstanceassociations/identity. +.Description +Get application instance association. +GET Teams.VoiceApps/applicationinstanceassociations/identity. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetApplicationInstanceAssociationResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csonlineapplicationinstanceassociation +#> +function Get-CsOnlineApplicationInstanceAssociation { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetApplicationInstanceAssociationResponse])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineApplicationInstanceAssociation_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineApplicationInstanceAssociation_GetViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Get application instance association status. +GET Teams.VoiceApps/applicationinstanceassociations/identity/status. +.Description +Get application instance association status. +GET Teams.VoiceApps/applicationinstanceassociations/identity/status. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetApplicationInstanceAssociationStatusResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csonlineapplicationinstanceassociationstatus +#> +function Get-CsOnlineApplicationInstanceAssociationStatus { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetApplicationInstanceAssociationStatusResponse])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineApplicationInstanceAssociationStatus_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineApplicationInstanceAssociationStatus_GetViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Get Audio file metedata with expiring download link. +GET api/v3/tenants/tenantId/audiofile/appId/audiofileId?durationInMins=int(default=60) +.Description +Get Audio file metedata with expiring download link. +GET api/v3/tenants/tenantId/audiofile/appId/audiofileId?durationInMins=int(default=60) +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IAudioFileDto +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csonlineaudiofile +#> +function Get-CsOnlineAudioFile { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IAudioFileDto])] +[CmdletBinding(DefaultParameterSetName='Get1', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='Get1', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${ApplicationId}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GetViaIdentity1', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Get')] + [Parameter(ParameterSetName='GetViaIdentity')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # . + ${DurationInMin}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineAudioFile_Get'; + Get1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineAudioFile_Get1'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineAudioFile_GetViaIdentity'; + GetViaIdentity1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineAudioFile_GetViaIdentity1'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis + +.Description + +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDiagnostics +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IEmergencyDisclaimerUserResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csonlineenhancedemergencyservicedisclaimer +#> +function Get-CsOnlineEnhancedEmergencyServiceDisclaimer { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IEmergencyDisclaimerUserResponse], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDiagnostics])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${CountryOrRegion}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Version}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineEnhancedEmergencyServiceDisclaimer_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineEnhancedEmergencyServiceDisclaimer_GetViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis + +.Description + +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICivicAddress +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csonlineliscivicaddress +#> +function Get-CsOnlineLisCivicAddress { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICivicAddress])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineLisCivicAddress_Get'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Get all schedules for a tenant. +GET Teams.VoiceApps/schedules?. +.Description +Get all schedules for a tenant. +GET Teams.VoiceApps/schedules?. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetScheduleResponse +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetSchedulesResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csonlineschedule +#> +function Get-CsOnlineSchedule { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetSchedulesResponse], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetScheduleResponse])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get1', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Id for the schedule to retrieve. + ${Identity}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # . + ${Descending}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # . + ${ExcludeContent}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # . + ${First}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${NameFilter}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # . + ${Skip}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${SortBy}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${TypeFilter}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineSchedule_Get'; + Get1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineSchedule_Get1'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineSchedule_GetViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Get Cs-OnlineVoicemailUserSettings. +.Description +Get Cs-OnlineVoicemailUserSettings. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IVoicemailSettings +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csonlinevmusersetting +#> +function Get-CsOnlineVMUserSetting { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IVoicemailSettings])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineVMUserSetting_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineVMUserSetting_GetViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Get Org Settings - Get-CsTeamsSettingsCustomApp +.Description +Get Org Settings - Get-CsTeamsSettingsCustomApp +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetCustomAppSettingResponse +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csteamssettingscustomapp +#> +function Get-CsTeamsSettingsCustomApp { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetCustomAppSettingResponse])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsSettingsCustomApp_Get'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Get a list of available team templates +.Description +Get a list of available team templates +.Example +PS C:\> Get-CsTeamTemplateList + +OdataId Name ShortDescription Chann AppCo + elCou unt + nt +------- ---- ---------------- ----- ----- +/api/teamtemplates/v1.0/healthcareWard/Public/en-US Collaborate on Patient Care Collaborate on patient care i... 6 1 +/api/teamtemplates/v1.0/healthcareHospital/Public/en-US Hospital Facilitate collaboration with... 6 1 +/api/teamtemplates/v1.0/retailStore/Public/en-US Organize a Store Collaborate with your retail ... 3 1 +/api/teamtemplates/v1.0/retailManagerCollaboration/Public/en-US Retail - Manager Collaboration Collaborate with managers acr... 3 1 + +.Example +PS C:\> (Get-CsTeamTemplateList -PublicTemplateLocale en-US) | where ChannelCount -GT 3 + +OdataId Name ShortDescription Chann AppCo + elCou unt + nt +------- ---- ---------------- ----- ----- +/api/teamtemplates/v1.0/healthcareWard/Public/en-US Collaborate on Patient Care Collaborate on patient care i... 6 1 +/api/teamtemplates/v1.0/healthcareHospital/Public/en-US Hospital Facilitate collaboration with... 6 1 + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplateErrorResponse +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplateSummary +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csteamtemplatelist +#> +function Get-CsTeamTemplateList { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplateSummary], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplateErrorResponse])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Language and country code for localization of publicly available templates. + ${PublicTemplateLocale}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamTemplateList_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamTemplateList_GetViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Get Tenant. +.Description +Get Tenant. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITenant +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-cstenantobou +#> +function Get-CsTenantObou { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITenant])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # To set defaultpropertyset value + ${Defaultpropertyset}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Properties to select + ${Select}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantObou_Get'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Get User. +.Description +Get User. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUserMas +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csuser +#> +function Get-CsUser { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUserMas])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Alias('UserId')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # UserId. + # Supports Guid. + # Eventually UPN and SIP. + ${Identity}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # To set defaultpropertyset value + ${Defaultpropertyset}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # To fetch optional location field + ${Expandlocation}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # To set includedefaultproperties value + ${Includedefaultproperty}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Properties to select + ${Select}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # Skip user policies in user response object + ${Skipuserpolicy}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # To set to true when called from Get-CsVoiceUser cmdlet + ${Voiceuserquery}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsUser_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsUser_GetViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Unified group grant. +.Description +Unified group grant. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGroupGrantPayload +.Outputs +System.String +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [PolicyName ]: + [Priority ]: + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/grant-csgrouppolicyassignment +#> +function Grant-CsGroupPolicyAssignment { +[OutputType([System.String])] +[CmdletBinding(DefaultParameterSetName='GrantExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Grant', Mandatory)] + [Parameter(ParameterSetName='GrantExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${GroupId}, + + [Parameter(ParameterSetName='Grant', Mandatory)] + [Parameter(ParameterSetName='GrantExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${PolicyType}, + + [Parameter(ParameterSetName='GrantViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GrantViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Grant', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GrantViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGroupGrantPayload] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='GrantExpanded')] + [Parameter(ParameterSetName='GrantViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${PolicyName}, + + [Parameter(ParameterSetName='GrantExpanded')] + [Parameter(ParameterSetName='GrantViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${Rank}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Grant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsGroupPolicyAssignment_Grant'; + GrantExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsGroupPolicyAssignment_GrantExpanded'; + GrantViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsGroupPolicyAssignment_GrantViaIdentity'; + GrantViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsGroupPolicyAssignment_GrantViaIdentityExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Assign a policy package to a group in a tenant +.Description +Assign a policy package to a group in a tenant +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IPackageServiceModelsApplyPackageGroupResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +POLICYRANKINGS : . + PolicyType : + Rank : +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/grant-csgrouppolicypackageassignment +#> +function Grant-CsGroupPolicyPackageAssignment { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IPackageServiceModelsApplyPackageGroupResponse])] +[CmdletBinding(DefaultParameterSetName='GrantExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${GroupId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${PackageName}, + + [Parameter()] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IPackageServiceModelsRequestsPolicyRanking[]] + # . + # To construct, see NOTES section for POLICYRANKINGS properties and create a hash table. + ${PolicyRankings}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + GrantExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsGroupPolicyPackageAssignment_GrantExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Update single policy of a Tenant +.Description +Update single policy of a Tenant +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISingleGrantTenantRequest +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [AdditionalParameter ]: Dictionary of + [(Any) ]: This indicates any property can be added to this object. + [ForceSwitchPresent ]: + [PolicyName ]: + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/grant-cstenantpolicy +#> +function Grant-CsTenantPolicy { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='GrantExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Grant', Mandatory)] + [Parameter(ParameterSetName='GrantExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Policy Type + ${PolicyType}, + + [Parameter(ParameterSetName='GrantViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GrantViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Grant', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GrantViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISingleGrantTenantRequest] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='GrantExpanded')] + [Parameter(ParameterSetName='GrantViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.Info(PossibleTypes=([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISingleGrantTenantRequestAdditionalParameters]))] + [System.Collections.Hashtable] + # Dictionary of + ${AdditionalParameters}, + + [Parameter(ParameterSetName='GrantExpanded')] + [Parameter(ParameterSetName='GrantViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${ForceSwitchPresent}, + + [Parameter(ParameterSetName='GrantExpanded')] + [Parameter(ParameterSetName='GrantViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Grant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTenantPolicy_Grant'; + GrantExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTenantPolicy_GrantExpanded'; + GrantViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTenantPolicy_GrantViaIdentity'; + GrantViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTenantPolicy_GrantViaIdentityExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Update single policy of a user +.Description +Update single policy of a user +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISingleGrantUserRequest +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [AdditionalParameter ]: Dictionary of + [(Any) ]: This indicates any property can be added to this object. + [PolicyName ]: + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/grant-csuserpolicy +#> +function Grant-CsUserPolicy { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='GrantExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Grant', Mandatory)] + [Parameter(ParameterSetName='GrantExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # User Id + ${Identity}, + + [Parameter(ParameterSetName='Grant', Mandatory)] + [Parameter(ParameterSetName='GrantExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Policy Type + ${PolicyType}, + + [Parameter(ParameterSetName='GrantViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GrantViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Grant', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GrantViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISingleGrantUserRequest] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='GrantExpanded')] + [Parameter(ParameterSetName='GrantViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.Info(PossibleTypes=([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISingleGrantUserRequestAdditionalParameters]))] + [System.Collections.Hashtable] + # Dictionary of + ${AdditionalParameters}, + + [Parameter(ParameterSetName='GrantExpanded')] + [Parameter(ParameterSetName='GrantViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Grant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsUserPolicy_Grant'; + GrantExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsUserPolicy_GrantExpanded'; + GrantViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsUserPolicy_GrantViaIdentity'; + GrantViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsUserPolicy_GrantViaIdentityExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Import holidays for auto attendant. +PUT Teams.VoiceApps/auto-attendants/identity/holidays. +.Description +Import holidays for auto attendant. +PUT Teams.VoiceApps/auto-attendants/identity/holidays. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IImportAutoAttendantHolidaysRequest +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IImportAutoAttendantHolidaysResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [Id ]: + [SerializedHolidayRecord ]: + [TenantId ]: + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/import-csautoattendantholidays +#> +function Import-CsAutoAttendantHolidays { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IImportAutoAttendantHolidaysResponse])] +[CmdletBinding(DefaultParameterSetName='ImportExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Import', Mandatory)] + [Parameter(ParameterSetName='ImportExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='ImportViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='ImportViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Import', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='ImportViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IImportAutoAttendantHolidaysRequest] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='ImportExpanded')] + [Parameter(ParameterSetName='ImportViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Id}, + + [Parameter(ParameterSetName='ImportExpanded')] + [Parameter(ParameterSetName='ImportViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${SerializedHolidayRecord}, + + [Parameter(ParameterSetName='ImportExpanded')] + [Parameter(ParameterSetName='ImportViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${TenantId}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Import = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Import-CsAutoAttendantHolidays_Import'; + ImportExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Import-CsAutoAttendantHolidays_ImportExpanded'; + ImportViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Import-CsAutoAttendantHolidays_ImportViaIdentity'; + ImportViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Import-CsAutoAttendantHolidays_ImportViaIdentityExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Store a new Audio file in MSS. +POST api/v3/tenants/tenantId/audiofile. +.Description +Store a new Audio file in MSS. +POST api/v3/tenants/tenantId/audiofile. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITenantAudioFileDto +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IAudioFileDto +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + ApplicationId : + Content : + OriginalFilename : + [Id ]: + [ContextId ]: + [ConvertedFilename ]: + [DeletionTimestampOffset ]: + [DownloadUri ]: + [DownloadUriExpiryTimestampOffset ]: + [Duration ]: + [LastAccessedTimestampOffset ]: + [UploadedTimestampOffset ]: +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/import-csonlineaudiofile +#> +function Import-CsOnlineAudioFile { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IAudioFileDto])] +[CmdletBinding(DefaultParameterSetName='ImportExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Import', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITenantAudioFileDto] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='ImportExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${ApplicationId}, + + [Parameter(ParameterSetName='ImportExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Content}, + + [Parameter(ParameterSetName='ImportExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${FileName}, + + [Parameter(ParameterSetName='ImportExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${ContextId}, + + [Parameter(ParameterSetName='ImportExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${ConvertedFilename}, + + [Parameter(ParameterSetName='ImportExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.DateTime] + # . + ${DeletionTimestampOffset}, + + [Parameter(ParameterSetName='ImportExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${DownloadUri}, + + [Parameter(ParameterSetName='ImportExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.DateTime] + # . + ${DownloadUriExpiryTimestampOffset}, + + [Parameter(ParameterSetName='ImportExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Duration}, + + [Parameter(ParameterSetName='ImportExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Id}, + + [Parameter(ParameterSetName='ImportExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.DateTime] + # . + ${LastAccessedTimestampOffset}, + + [Parameter(ParameterSetName='ImportExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.DateTime] + # . + ${UploadedTimestampOffset}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Import = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Import-CsOnlineAudioFile_Import'; + ImportExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Import-CsOnlineAudioFile_ImportExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Invokes Custom Handler +.Description +Invokes Custom Handler +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICustomHandlerCallBackOutput +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/invoke-cscustomhandlercallbackngtprov +#> +function Invoke-CsCustomHandlerCallBackNgtprov { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICustomHandlerCallBackOutput])] +[CmdletBinding(DefaultParameterSetName='Post', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Unique Id of the Handler. + ${Id}, + + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Callback Operation. + ${Operation}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # EventName for the SendEventPostURI. + ${Eventname}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Post = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Invoke-CsCustomHandlerCallBackNgtprov_Post'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Post DsSync resync cmdlet +.Description +Post DsSync resync cmdlet +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDsRequestBody +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : Request body for DsSync cmdlet + [DeploymentName ]: Deployment Name + [IsValidationRequest ]: + [ObjectClass ]: Object Class enum + [ObjectId ]: GUID of the user + [ObjectIds ]: + [ReSyncOption ]: ReSync for the given entity + [ScenariosToSuppress ]: Scenarios to Suppress + [ServiceInstance ]: Service Instance of the tenant + [SynchronizeTenantWithAllObject ]: Sync all the users of the tenant +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/invoke-csdirectobjectsync +#> +function Invoke-CsDirectObjectSync { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='PostExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Post', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDsRequestBody] + # Request body for DsSync cmdlet + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Deployment Name + ${DeploymentName}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${IsValidationRequest}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Object Class enum + ${ObjectClass}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # GUID of the user + ${ObjectId}, + + [Parameter(ParameterSetName='PostExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # . + ${ObjectIds}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int64] + # ReSync for the given entity + ${ReSyncOption}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Scenarios to Suppress + ${ScenariosToSuppress}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Service Instance of the tenant + ${ServiceInstance}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Sync all the users of the tenant + ${SynchronizeTenantWithAllObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Post = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Invoke-CsDirectObjectSync_Post'; + PostExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Invoke-CsDirectObjectSync_PostExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Post resync operation cmdlet +.Description +Post resync operation cmdlet +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IResyncRequestBody +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : Request body for Resync cmdlet + [DeploymentName ]: Deployment Name + [IsValidationRequest ]: + [ObjectClass ]: Object Class enum + [ObjectId ]: + [ReSyncOption ]: ReSync for the given entity + [ScenariosToSuppress ]: Scenarios to Suppress + [ServiceInstance ]: Service Instance of the tenant + [SynchronizeTenantWithAllObject ]: Sync all the users of the tenant + [TenantId ]: TenantId GUID +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/invoke-csmsodssync +#> +function Invoke-CsMsodsSync { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='PostExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Post', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IResyncRequestBody] + # Request body for Resync cmdlet + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Deployment Name + ${DeploymentName}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${IsValidationRequest}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Object Class enum + ${ObjectClass}, + + [Parameter(ParameterSetName='PostExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # . + ${ObjectId}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int64] + # ReSync for the given entity + ${ReSyncOption}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Scenarios to Suppress + ${ScenariosToSuppress}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Service Instance of the tenant + ${ServiceInstance}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Sync all the users of the tenant + ${SynchronizeTenantWithAllObject}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # TenantId GUID + ${TenantId}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Post = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Invoke-CsMsodsSync_Post'; + PostExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Invoke-CsMsodsSync_PostExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Create an AutoAttendant. +POST Teams.VoiceApps/auto-attendants. +.Description +Create an AutoAttendant. +POST Teams.VoiceApps/auto-attendants. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateAutoAttendantRequest +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateAutoAttendantResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [AuthorizedUser ]: + [CallFlow ]: + [ForceListenMenuEnabled ]: + [Greeting ]: + [ActiveType ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [TextToSpeechPrompt ]: + [Id ]: + [MenuDialByNameEnabled ]: + [MenuDirectorySearchMethod ]: + [MenuName ]: + [MenuOption ]: + [Action ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [CallTargetCallPriority ]: + [CallTargetEnableSharedVoicemailSystemPromptSuppression ]: + [CallTargetEnableTranscription ]: + [CallTargetId ]: + [CallTargetType ]: + [DtmfResponse ]: + [PromptActiveType ]: + [PromptTextToSpeechPrompt ]: + [VoiceResponse ]: + [MenuPrompt ]: + [Name ]: + [CallHandlingAssociation ]: + [CallFlowId ]: + [Enabled ]: + [Priority ]: + [ScheduleId ]: + [Type ]: + [DefaultCallFlowForceListenMenuEnabled ]: + [DefaultCallFlowGreeting ]: + [DefaultCallFlowId ]: + [DefaultCallFlowName ]: + [ExclusionScopeGroupDialScopeGroupId ]: + [ExclusionScopeType ]: + [HideAuthorizedUser ]: Gets or sets hidden authorized user ids. + [InclusionScopeGroupDialScopeGroupId ]: + [InclusionScopeType ]: + [LanguageId ]: + [MenuDialByNameEnabled ]: + [MenuDirectorySearchMethod ]: + [MenuName ]: + [MenuOption ]: + [MenuPrompt ]: + [Name ]: + [OperatorCallPriority ]: + [OperatorEnableSharedVoicemailSystemPromptSuppression ]: + [OperatorEnableTranscription ]: + [OperatorId ]: + [OperatorType ]: + [TimeZoneId ]: + [VoiceId ]: + [VoiceResponseEnabled ]: + +CALLFLOW : . + [ForceListenMenuEnabled ]: + [Greeting ]: + [ActiveType ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [TextToSpeechPrompt ]: + [Id ]: + [MenuDialByNameEnabled ]: + [MenuDirectorySearchMethod ]: + [MenuName ]: + [MenuOption ]: + [Action ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [CallTargetCallPriority ]: + [CallTargetEnableSharedVoicemailSystemPromptSuppression ]: + [CallTargetEnableTranscription ]: + [CallTargetId ]: + [CallTargetType ]: + [DtmfResponse ]: + [PromptActiveType ]: + [PromptTextToSpeechPrompt ]: + [VoiceResponse ]: + [MenuPrompt ]: + [Name ]: + +CALLHANDLINGASSOCIATION : . + [CallFlowId ]: + [Enabled ]: + [Priority ]: + [ScheduleId ]: + [Type ]: + +DEFAULTCALLFLOWGREETING : . + [ActiveType ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [TextToSpeechPrompt ]: + +MENUOPTION : . + [Action ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [CallTargetCallPriority ]: + [CallTargetEnableSharedVoicemailSystemPromptSuppression ]: + [CallTargetEnableTranscription ]: + [CallTargetId ]: + [CallTargetType ]: + [DtmfResponse ]: + [PromptActiveType ]: + [PromptTextToSpeechPrompt ]: + [VoiceResponse ]: + +MENUPROMPT : . + [ActiveType ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [TextToSpeechPrompt ]: +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-csautoattendant +#> +function New-CsAutoAttendant { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateAutoAttendantResponse])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateAutoAttendantRequest] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # . + ${AuthorizedUser}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICallFlow[]] + # . + # To construct, see NOTES section for CALLFLOW properties and create a hash table. + ${CallFlow}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICallHandlingAssociation[]] + # . + # To construct, see NOTES section for CALLHANDLINGASSOCIATION properties and create a hash table. + ${CallHandlingAssociation}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${DefaultCallFlowForceListenMenuEnabled}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IPrompt[]] + # . + # To construct, see NOTES section for DEFAULTCALLFLOWGREETING properties and create a hash table. + ${DefaultCallFlowGreeting}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${DefaultCallFlowId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${DefaultCallFlowName}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${EnableVoiceResponse}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # . + ${ExclusionScopeGroupDialScopeGroupId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${ExclusionScopeType}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # Gets or sets hidden authorized user ids. + ${HideAuthorizedUser}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # . + ${InclusionScopeGroupDialScopeGroupId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${InclusionScopeType}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${LanguageId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${MenuDialByNameEnabled}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${MenuDirectorySearchMethod}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${MenuName}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IMenuOption[]] + # . + # To construct, see NOTES section for MENUOPTION properties and create a hash table. + ${MenuOption}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IPrompt[]] + # . + # To construct, see NOTES section for MENUPROMPT properties and create a hash table. + ${MenuPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Name}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${OperatorCallPriority}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${OperatorEnableSharedVoicemailSystemPromptSuppression}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${OperatorEnableTranscription}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${OperatorId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${OperatorType}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${TimeZoneId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${VoiceId}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsAutoAttendant_New'; + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsAutoAttendant_NewExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Create a callable entity draft. +POST Teams.VoiceApps/auto-attendants/callable-entities/draft. +.Description +Create a callable entity draft. +POST Teams.VoiceApps/auto-attendants/callable-entities/draft. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateCallableEntityRequest +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateCallableEntityResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [CallPriority ]: + [EnableSharedVoicemailSystemPromptSuppression ]: + [EnableTranscription ]: + [Id ]: + [Type ]: +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-csautoattendantcallableentity +#> +function New-CsAutoAttendantCallableEntity { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateCallableEntityResponse])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateCallableEntityRequest] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${CallPriority}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${EnableSharedVoicemailSystemPromptSuppression}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${EnableTranscription}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Type}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsAutoAttendantCallableEntity_New'; + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsAutoAttendantCallableEntity_NewExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Create a call flow draft. +POST Teams.VoiceApps/auto-attendants/call-flows/draft. +.Description +Create a call flow draft. +POST Teams.VoiceApps/auto-attendants/call-flows/draft. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateCallFlowRequest +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateCallFlowResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [ForceListenMenuEnabled ]: + [Greeting ]: + [ActiveType ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [TextToSpeechPrompt ]: + [MenuDialByNameEnabled ]: + [MenuDirectorySearchMethod ]: + [MenuName ]: + [MenuOption ]: + [Action ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [CallTargetCallPriority ]: + [CallTargetEnableSharedVoicemailSystemPromptSuppression ]: + [CallTargetEnableTranscription ]: + [CallTargetId ]: + [CallTargetType ]: + [DtmfResponse ]: + [PromptActiveType ]: + [PromptTextToSpeechPrompt ]: + [VoiceResponse ]: + [MenuPrompt ]: + [Name ]: + +GREETING : . + [ActiveType ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [TextToSpeechPrompt ]: + +MENUOPTION : . + [Action ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [CallTargetCallPriority ]: + [CallTargetEnableSharedVoicemailSystemPromptSuppression ]: + [CallTargetEnableTranscription ]: + [CallTargetId ]: + [CallTargetType ]: + [DtmfResponse ]: + [PromptActiveType ]: + [PromptTextToSpeechPrompt ]: + [VoiceResponse ]: + +MENUPROMPT : . + [ActiveType ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [TextToSpeechPrompt ]: +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-csautoattendantcallflow +#> +function New-CsAutoAttendantCallFlow { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateCallFlowResponse])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateCallFlowRequest] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${ForceListenMenuEnabled}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IPrompt[]] + # . + # To construct, see NOTES section for GREETING properties and create a hash table. + ${Greeting}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${MenuDialByNameEnabled}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${MenuDirectorySearchMethod}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${MenuName}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IMenuOption[]] + # . + # To construct, see NOTES section for MENUOPTION properties and create a hash table. + ${MenuOption}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IPrompt[]] + # . + # To construct, see NOTES section for MENUPROMPT properties and create a hash table. + ${MenuPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Name}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsAutoAttendantCallFlow_New'; + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsAutoAttendantCallFlow_NewExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Create a call handling association draft. +POST Teams.VoiceApps/auto-attendants/call-handling-associations/draft. +.Description +Create a call handling association draft. +POST Teams.VoiceApps/auto-attendants/call-handling-associations/draft. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateCallHandlingAssociationRequest +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateCallHandlingAssociationResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [CallFlowId ]: + [Enabled ]: + [ScheduleId ]: + [Type ]: +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-csautoattendantcallhandlingassociation +#> +function New-CsAutoAttendantCallHandlingAssociation { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateCallHandlingAssociationResponse])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateCallHandlingAssociationRequest] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CallFlowId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${Enabled}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${ScheduleId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Type}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsAutoAttendantCallHandlingAssociation_New'; + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsAutoAttendantCallHandlingAssociation_NewExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Create a group dial scope draft. +POST Teams.VoiceApps/auto-attendants/group-dial-scopes/draft. +.Description +Create a group dial scope draft. +POST Teams.VoiceApps/auto-attendants/group-dial-scopes/draft. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateGroupDialScopeRequest +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateGroupDialScopeResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [GroupId ]: +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-csautoattendantdialscope +#> +function New-CsAutoAttendantDialScope { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateGroupDialScopeResponse])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateGroupDialScopeRequest] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # . + ${GroupIds}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsAutoAttendantDialScope_New'; + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsAutoAttendantDialScope_NewExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Create a menu draft. +POST Teams.VoiceApps/auto-attendants/menus/draft. +.Description +Create a menu draft. +POST Teams.VoiceApps/auto-attendants/menus/draft. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateMenuRequest +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateMenuResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [DialByNameEnabled ]: + [DirectorySearchMethod ]: + [MenuOption ]: + [Action ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [CallTargetCallPriority ]: + [CallTargetEnableSharedVoicemailSystemPromptSuppression ]: + [CallTargetEnableTranscription ]: + [CallTargetId ]: + [CallTargetType ]: + [DtmfResponse ]: + [PromptActiveType ]: + [PromptTextToSpeechPrompt ]: + [VoiceResponse ]: + [Name ]: + [Prompt ]: + [ActiveType ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [TextToSpeechPrompt ]: + +MENUOPTION : . + [Action ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [CallTargetCallPriority ]: + [CallTargetEnableSharedVoicemailSystemPromptSuppression ]: + [CallTargetEnableTranscription ]: + [CallTargetId ]: + [CallTargetType ]: + [DtmfResponse ]: + [PromptActiveType ]: + [PromptTextToSpeechPrompt ]: + [VoiceResponse ]: + +PROMPT : . + [ActiveType ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [TextToSpeechPrompt ]: +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-csautoattendantmenu +#> +function New-CsAutoAttendantMenu { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateMenuResponse])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateMenuRequest] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${DirectorySearchMethod}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${EnableDialByName}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IMenuOption[]] + # . + # To construct, see NOTES section for MENUOPTION properties and create a hash table. + ${MenuOption}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Name}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IPrompt[]] + # . + # To construct, see NOTES section for PROMPT properties and create a hash table. + ${Prompt}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsAutoAttendantMenu_New'; + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsAutoAttendantMenu_NewExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Create a menu option draft. +POST Teams.VoiceApps/auto-attendants/menus/menu-options/draft. +.Description +Create a menu option draft. +POST Teams.VoiceApps/auto-attendants/menus/menu-options/draft. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateMenuOptionRequest +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateMenuOptionResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [Action ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [CallTargetCallPriority ]: + [CallTargetEnableSharedVoicemailSystemPromptSuppression ]: + [CallTargetEnableTranscription ]: + [CallTargetId ]: + [CallTargetType ]: + [DtmfResponse ]: + [PromptActiveType ]: + [PromptTextToSpeechPrompt ]: + [VoiceResponse ]: +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-csautoattendantmenuoption +#> +function New-CsAutoAttendantMenuOption { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateMenuOptionResponse])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateMenuOptionRequest] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Action}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${AudioFilePromptDownloadUri}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${AudioFilePromptFileName}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${AudioFilePromptId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${CallTargetCallPriority}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${CallTargetEnableSharedVoicemailSystemPromptSuppression}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${CallTargetEnableTranscription}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CallTargetId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CallTargetType}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${DtmfResponse}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${PromptActiveType}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${PromptTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # . + ${VoiceResponses}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsAutoAttendantMenuOption_New'; + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsAutoAttendantMenuOption_NewExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Create a prompt draft. +POST Teams.VoiceApps/auto-attendants/prompts/draft. +.Description +Create a prompt draft. +POST Teams.VoiceApps/auto-attendants/prompts/draft. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreatePromptRequest +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreatePromptResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [ActiveType ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [TextToSpeechPrompt ]: +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-csautoattendantprompt +#> +function New-CsAutoAttendantPrompt { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreatePromptResponse])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreatePromptRequest] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${ActiveType}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${AudioFilePromptDownloadUri}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${AudioFilePromptFileName}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${AudioFilePromptId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${TextToSpeechPrompt}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsAutoAttendantPrompt_New'; + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsAutoAttendantPrompt_NewExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Starts Deployment at Scale +.Description +Starts Deployment at Scale +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IFlwoServiceModelsFlwosBatchRequest +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IFlwoServiceModelsFlwosBatchRequestResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + DeploymentCsv : + [UsersToNotify ]: +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-csbatchteamsdeployment +#> +function New-CsBatchTeamsDeployment { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IFlwoServiceModelsFlwosBatchRequestResponse])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IFlwoServiceModelsFlwosBatchRequest] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='NewExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${DeploymentCsv}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${UsersToNotify}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsBatchTeamsDeployment_New'; + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsBatchTeamsDeployment_NewExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Create call queue. +POST Teams.VoiceApps/callqueues. +.Description +Create call queue. +POST Teams.VoiceApps/callqueues. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateCallQueueRequest +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateCallQueueResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +AGENT : Gets or sets the Call Queue's agents list. + [ObjectId ]: + [OptIn ]: + +BODY : CallQueue creation request DTO class. + [Agent ]: Gets or sets the Call Queue's agents list. + [ObjectId ]: + [OptIn ]: + [AgentAlertTime ]: Gets or sets the number of seconds that a call can remain unanswered. + [AllowOptOut ]: Gets or sets a value indicating whether to allow agent optout on CallQueue. + [AuthorizedUser ]: Gets or sets authorized user ids. + [CallToAgentRatioThresholdBeforeOfferingCallback ]: + [CallbackEmailNotificationTarget ]: Gets or sets the callback email notification target. + [CallbackOfferAudioFilePromptResourceId ]: + [CallbackOfferTextToSpeechPrompt ]: + [CallbackRequestDtmf ]: + [ConferenceMode ]: Gets or sets a value indicating whether to allow Conference Mode on CallQueue. + [DistributionList ]: Gets or sets the Call Queue's Distribution Lists. + [EnableNoAgentSharedVoicemailSystemPromptSuppression ]: Gets or sets a value indicating if system message should be suppressed or not. + [EnableNoAgentSharedVoicemailTranscription ]: Gets or sets a value indicating if transcription should be turned on or not. + [EnableOverflowSharedVoicemailSystemPromptSuppression ]: Gets or sets a value indicating if system message should be suppressed or not. + [EnableOverflowSharedVoicemailTranscription ]: Gets or sets a value indicating if transcription should be turned on or not. + [EnableResourceAccountsForObo ]: Gets or sets a value indicating whether to allow CQ+Chanined RA's as permissioned RA's. + [EnableTimeoutSharedVoicemailSystemPromptSuppression ]: Gets or sets a value indicating if system message should be suppressed or not. + [EnableTimeoutSharedVoicemailTranscription ]: Gets or sets a value indicating if transcription should be turned on or not. + [HideAuthorizedUser ]: Gets or sets hidden authorized user ids. + [IsCallbackEnabled ]: + [LanguageId ]: Gets or sets the language Id used for TTS. + [MusicOnHoldAudioFileId ]: Gets or sets music on hold audio file id. + [Name ]: Gets or sets The Call Queue's name. + [NoAgentAction ]: Gets or sets the action to take if the NoAgent is LoggedIn/OptedIn. + [NoAgentActionCallPriority ]: Gets or sets the CallPriority when a CQ transfers the call to another CQ upon the occurrence of no agent. + [NoAgentActionTarget ]: Gets or sets the target of the NoAgent action. + [NoAgentApplyTo ]: Determines whether NoAgentAction is to be applied to All Calls or New Calls only. + [NoAgentDisconnectAudioFilePrompt ]: Gets or sets the audio file to be played when call is disconnected on NoAgent. + [NoAgentDisconnectTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is disconnected on NoAgent. + [NoAgentRedirectPersonAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to person on NoAgent. + [NoAgentRedirectPersonTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to person on NoAgent. + [NoAgentRedirectPhoneNumberAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to phone number on NoAgent. + [NoAgentRedirectPhoneNumberTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to phone number on NoAgent. + [NoAgentRedirectVoiceAppAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to voiceapp on NoAgent. + [NoAgentRedirectVoiceAppTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to voiceapp on NoAgent. + [NoAgentRedirectVoicemailAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to voicemail on NoAgent. + [NoAgentRedirectVoicemailTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to voicemail on NoAgent. + [NoAgentSharedVoicemailAudioFilePrompt ]: Gets or sets the audio file to be played when forwarding callers to shared voicemail. + [NoAgentSharedVoicemailTextToSpeechPrompt ]: Gets or sets the TTS to be played when forwarding callers to shared voicemail. + [NumberOfCallsInQueueBeforeOfferingCallback ]: + [OboResourceAccountId ]: Gets or sets the Obo resource account ids. + [OverflowAction ]: Gets or sets the action to take when the overflow threshold is reached. + [OverflowActionCallPriority ]: Gets or sets the CallPriority when a CQ transfers the call to another CQ upon the occurrence of overflow. + [OverflowActionTarget ]: Gets or sets the target of the overflow action. + [OverflowDisconnectAudioFilePrompt ]: Gets or sets the audio file to be played when call is disconnected on overflow. + [OverflowDisconnectTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is disconnected on overflow. + [OverflowRedirectPersonAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to person on overflow. + [OverflowRedirectPersonTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to person on overflow. + [OverflowRedirectPhoneNumberAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to phone number on overflow. + [OverflowRedirectPhoneNumberTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to phone number on overflow. + [OverflowRedirectVoiceAppAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to voiceapp on overflow. + [OverflowRedirectVoiceAppTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to voiceapp on overflow. + [OverflowRedirectVoicemailAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to voicemail on overflow. + [OverflowRedirectVoicemailTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to voicemail on overflow. + [OverflowSharedVoicemailAudioFilePrompt ]: Gets or sets the audio file to be played when forwarding callers to shared voicemai. + [OverflowSharedVoicemailTextToSpeechPrompt ]: Gets or sets the TTS to be played when forwarding callers to shared voicemail. + [OverflowThreshold ]: Gets or sets the number of simultaneous calls that can be in the queue at any one time. + [PresenceAwareRouting ]: Gets or sets a value indicating whether to enable presence aware routing. + [RoutingMethod ]: Gets or sets the routing method for the Call Queue. + [ServiceLevelThresholdResponseTimeInSecond ]: + [ShouldOverwriteCallableChannelProperty ]: Gets or sets ShouldOverwriteCallableChannelProperty flag that indicates user intention to whether overwirte the current callableChannel property value on chat service or not. + [ThreadId ]: Gets or sets teams channel thread id if user choose to sync CQ with a channel. + [TimeoutAction ]: Gets or sets the action to take if the timeout threshold is reached. + [TimeoutActionCallPriority ]: Gets or sets the CallPriority when a CQ transfers the call to another CQ upon the occurrence of timeout. + [TimeoutActionTarget ]: Gets or sets the target of the timeout action. + [TimeoutDisconnectAudioFilePrompt ]: Gets or sets the audio file to be played when call is disconnected on Timeout. + [TimeoutDisconnectTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is disconnected on Timeout. + [TimeoutRedirectPersonAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to person on Timeout. + [TimeoutRedirectPersonTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to person on Timeout. + [TimeoutRedirectPhoneNumberAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to phone number on Timeout. + [TimeoutRedirectPhoneNumberTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to phone number on Timeout. + [TimeoutRedirectVoiceAppAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to voiceapp on Timeout. + [TimeoutRedirectVoiceAppTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to voiceapp on Timeout. + [TimeoutRedirectVoicemailAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to voicemail on Timeout. + [TimeoutRedirectVoicemailTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to voicemail on Timeout. + [TimeoutSharedVoicemailAudioFilePrompt ]: Gets or sets the audio file to be played when forwarding callers to shared voicemai. + [TimeoutSharedVoicemailTextToSpeechPrompt ]: Gets or sets the TTS to be played when forwarding callers to shared voicemail. + [TimeoutThreshold ]: Gets or sets the number of minutes that a call can be in the queue before it times out. + [UseDefaultMusicOnHold ]: Gets or sets a value indicating whether to use default music on hold audio file. + [User ]: Gets or sets the Call Queue's Users. + [WaitTimeBeforeOfferingCallbackInSecond ]: + [WelcomeMusicAudioFileId ]: Gets or sets welcome music audio file id. + [WelcomeTextToSpeechPrompt ]: Gets or sets welcome text to speech content. +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-cscallqueue +#> +function New-CsCallQueue { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateCallQueueResponse])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${ChannelUserObjectId}, + + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateCallQueueRequest] + # CallQueue creation request DTO class. + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IAgent[]] + # Gets or sets the Call Queue's agents list. + # To construct, see NOTES section for AGENT properties and create a hash table. + ${Agent}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the number of seconds that a call can remain unanswered. + ${AgentAlertTime}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether to allow agent optout on CallQueue. + ${AllowOptOut}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # Gets or sets authorized user ids. + ${AuthorizedUsers}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${CallToAgentRatioThresholdBeforeOfferingCallback}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the callback email notification target. + ${CallbackEmailNotificationTarget}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CallbackOfferAudioFilePromptResourceId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CallbackOfferTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CallbackRequestDtmf}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether to allow Conference Mode on CallQueue. + ${ConferenceMode}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # Gets or sets the Call Queue's Distribution Lists. + ${DistributionLists}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating if system message should be suppressed or not. + ${EnableNoAgentSharedVoicemailSystemPromptSuppression}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating if transcription should be turned on or not. + ${EnableNoAgentSharedVoicemailTranscription}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating if system message should be suppressed or not. + ${EnableOverflowSharedVoicemailSystemPromptSuppression}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating if transcription should be turned on or not. + ${EnableOverflowSharedVoicemailTranscription}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether to allow CQ+Chanined RA's as permissioned RA's. + ${EnableResourceAccountsForObo}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating if system message should be suppressed or not. + ${EnableTimeoutSharedVoicemailSystemPromptSuppression}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating if transcription should be turned on or not. + ${EnableTimeoutSharedVoicemailTranscription}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # Gets or sets hidden authorized user ids. + ${HideAuthorizedUsers}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${IsCallbackEnabled}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the language Id used for TTS. + ${LanguageId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets music on hold audio file id. + ${MusicOnHoldAudioFileId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets The Call Queue's name. + ${Name}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the action to take if the NoAgent is LoggedIn/OptedIn. + ${NoAgentAction}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the CallPriority when a CQ transfers the call to another CQ upon the occurrence of no agent. + ${NoAgentActionCallPriority}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the target of the NoAgent action. + ${NoAgentActionTarget}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Determines whether NoAgentAction is to be applied to All Calls or New Calls only. + ${NoAgentApplyTo}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is disconnected on NoAgent. + ${NoAgentDisconnectAudioFilePrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is disconnected on NoAgent. + ${NoAgentDisconnectTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to person on NoAgent. + ${NoAgentRedirectPersonAudioFilePrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to person on NoAgent. + ${NoAgentRedirectPersonTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to phone number on NoAgent. + ${NoAgentRedirectPhoneNumberAudioFilePrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to phone number on NoAgent. + ${NoAgentRedirectPhoneNumberTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to voiceapp on NoAgent. + ${NoAgentRedirectVoiceAppAudioFilePrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to voiceapp on NoAgent. + ${NoAgentRedirectVoiceAppTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to voicemail on NoAgent. + ${NoAgentRedirectVoicemailAudioFilePrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to voicemail on NoAgent. + ${NoAgentRedirectVoicemailTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when forwarding callers to shared voicemail. + ${NoAgentSharedVoicemailAudioFilePrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when forwarding callers to shared voicemail. + ${NoAgentSharedVoicemailTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${NumberOfCallsInQueueBeforeOfferingCallback}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # Gets or sets the Obo resource account ids. + ${OboResourceAccountIds}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the action to take when the overflow threshold is reached. + ${OverflowAction}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the CallPriority when a CQ transfers the call to another CQ upon the occurrence of overflow. + ${OverflowActionCallPriority}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the target of the overflow action. + ${OverflowActionTarget}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is disconnected on overflow. + ${OverflowDisconnectAudioFilePrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is disconnected on overflow. + ${OverflowDisconnectTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to person on overflow. + ${OverflowRedirectPersonAudioFilePrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to person on overflow. + ${OverflowRedirectPersonTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to phone number on overflow. + ${OverflowRedirectPhoneNumberAudioFilePrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to phone number on overflow. + ${OverflowRedirectPhoneNumberTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to voiceapp on overflow. + ${OverflowRedirectVoiceAppAudioFilePrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to voiceapp on overflow. + ${OverflowRedirectVoiceAppTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to voicemail on overflow. + ${OverflowRedirectVoicemailAudioFilePrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to voicemail on overflow. + ${OverflowRedirectVoicemailTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when forwarding callers to shared voicemai. + ${OverflowSharedVoicemailAudioFilePrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when forwarding callers to shared voicemail. + ${OverflowSharedVoicemailTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the number of simultaneous calls that can be in the queue at any one time. + ${OverflowThreshold}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether to enable presence aware routing. + ${PresenceAwareRouting}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the routing method for the Call Queue. + ${RoutingMethod}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${ServiceLevelThresholdResponseTimeInSecond}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets ShouldOverwriteCallableChannelProperty flag that indicates user intention to whether overwirte the current callableChannel property value on chat service or not. + ${ShouldOverwriteCallableChannelProperty}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets teams channel thread id if user choose to sync CQ with a channel. + ${ThreadId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the action to take if the timeout threshold is reached. + ${TimeoutAction}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the CallPriority when a CQ transfers the call to another CQ upon the occurrence of timeout. + ${TimeoutActionCallPriority}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the target of the timeout action. + ${TimeoutActionTarget}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is disconnected on Timeout. + ${TimeoutDisconnectAudioFilePrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is disconnected on Timeout. + ${TimeoutDisconnectTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to person on Timeout. + ${TimeoutRedirectPersonAudioFilePrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to person on Timeout. + ${TimeoutRedirectPersonTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to phone number on Timeout. + ${TimeoutRedirectPhoneNumberAudioFilePrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to phone number on Timeout. + ${TimeoutRedirectPhoneNumberTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to voiceapp on Timeout. + ${TimeoutRedirectVoiceAppAudioFilePrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to voiceapp on Timeout. + ${TimeoutRedirectVoiceAppTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to voicemail on Timeout. + ${TimeoutRedirectVoicemailAudioFilePrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to voicemail on Timeout. + ${TimeoutRedirectVoicemailTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when forwarding callers to shared voicemai. + ${TimeoutSharedVoicemailAudioFilePrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when forwarding callers to shared voicemail. + ${TimeoutSharedVoicemailTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the number of minutes that a call can be in the queue before it times out. + ${TimeoutThreshold}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether to use default music on hold audio file. + ${UseDefaultMusicOnHold}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # Gets or sets the Call Queue's Users. + ${Users}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${WaitTimeBeforeOfferingCallbackInSecond}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets welcome music audio file id. + ${WelcomeMusicAudioFileId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets welcome text to speech content. + ${WelcomeTextToSpeechPrompt}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsCallQueue_New'; + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsCallQueue_NewExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Create new configuration +.Description +Create new configuration +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IXdsConfiguration +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [(Any) ]: This indicates any property can be added to this object. + Identity : + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-csconfiguration +#> +function New-CsConfiguration { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Create', Mandatory)] + [Parameter(ParameterSetName='CreateExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${ConfigType}, + + [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='CreateViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Api Version + ${ApiVersion}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${SchemaVersion}, + + [Parameter(ParameterSetName='Create', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IXdsConfiguration] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='CreateExpanded', Mandatory)] + [Parameter(ParameterSetName='CreateViaIdentityExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Parameter(ParameterSetName='CreateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Collections.Hashtable] + # Additional Parameters + ${AdditionalProperties}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Create = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsConfiguration_Create'; + CreateExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsConfiguration_CreateExpanded'; + CreateViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsConfiguration_CreateViaIdentity'; + CreateViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsConfiguration_CreateViaIdentityExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Create a policy package +.Description +Create a policy package +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +System.String +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +POLICYLIST : . + PolicyName : + PolicyType : +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-cscustompolicypackage +#> +function New-CsCustomPolicyPackage { +[OutputType([System.String])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Identity}, + + [Parameter(Mandatory)] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IPackageServiceModelsRequestsPolicyTypeAndName[]] + # . + # To construct, see NOTES section for POLICYLIST properties and create a hash table. + ${PolicyList}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Description}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsCustomPolicyPackage_NewExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Create application instance associations. +POST Teams.VoiceApps/applicationinstanceassociations. +.Description +Create application instance associations. +POST Teams.VoiceApps/applicationinstanceassociations. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateApplicationInstanceAssociationsRequest +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateApplicationInstanceAssociationsResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [CallPriority ]: + [ConfigurationId ]: + [ConfigurationType ]: + [EndpointsId ]: +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-csonlineapplicationinstanceassociation +#> +function New-CsOnlineApplicationInstanceAssociation { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateApplicationInstanceAssociationsResponse])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateApplicationInstanceAssociationsRequest] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${CallPriority}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${ConfigurationId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${ConfigurationType}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # . + ${Identities}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsOnlineApplicationInstanceAssociation_New'; + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsOnlineApplicationInstanceAssociation_NewExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Create a date time range draft. +POST Teams.VoiceApps/schedules/date-time-ranges/draft. +.Description +Create a date time range draft. +POST Teams.VoiceApps/schedules/date-time-ranges/draft. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateDateTimeRangeRequest +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateDateTimeRangeResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [End ]: + [Start ]: +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-csonlinedatetimerange +#> +function New-CsOnlineDateTimeRange { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateDateTimeRangeResponse])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateDateTimeRangeRequest] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${End}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Start}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsOnlineDateTimeRange_New'; + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsOnlineDateTimeRange_NewExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Create a schedule. +POST Teams.VoiceApps/schedules. +.Description +Create a schedule. +POST Teams.VoiceApps/schedules. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateScheduleRequest +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateScheduleResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [FixedScheduleDateTimeRange ]: + [End ]: + [Start ]: + [Name ]: + [RecurrenceRangeEnd ]: + [RecurrenceRangeNumberOfOccurrence ]: + [RecurrenceRangeStart ]: + [RecurrenceRangeType ]: + [WeeklyRecurrentScheduleFridayHour ]: + [End ]: + [Start ]: + [WeeklyRecurrentScheduleIsComplemented ]: + [WeeklyRecurrentScheduleMondayHour ]: + [WeeklyRecurrentScheduleSaturdayHour ]: + [WeeklyRecurrentScheduleSundayHour ]: + [WeeklyRecurrentScheduleThursdayHour ]: + [WeeklyRecurrentScheduleTuesdayHour ]: + [WeeklyRecurrentScheduleWednesdayHour ]: + +FIXEDSCHEDULEDATETIMERANGE : . + [End ]: + [Start ]: + +WEEKLYRECURRENTSCHEDULEFRIDAYHOUR : . + [End ]: + [Start ]: + +WEEKLYRECURRENTSCHEDULEMONDAYHOUR : . + [End ]: + [Start ]: + +WEEKLYRECURRENTSCHEDULESATURDAYHOUR : . + [End ]: + [Start ]: + +WEEKLYRECURRENTSCHEDULESUNDAYHOUR : . + [End ]: + [Start ]: + +WEEKLYRECURRENTSCHEDULETHURSDAYHOUR : . + [End ]: + [Start ]: + +WEEKLYRECURRENTSCHEDULETUESDAYHOUR : . + [End ]: + [Start ]: + +WEEKLYRECURRENTSCHEDULEWEDNESDAYHOUR : . + [End ]: + [Start ]: +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-csonlineschedule +#> +function New-CsOnlineSchedule { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateScheduleResponse])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateScheduleRequest] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDateTimeRange[]] + # . + # To construct, see NOTES section for FIXEDSCHEDULEDATETIMERANGE properties and create a hash table. + ${FixedScheduleDateTimeRange}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Name}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.DateTime] + # . + ${RecurrenceRangeEnd}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${RecurrenceRangeNumberOfOccurrence}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.DateTime] + # . + ${RecurrenceRangeStart}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${RecurrenceRangeType}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITimeRange[]] + # . + # To construct, see NOTES section for WEEKLYRECURRENTSCHEDULEFRIDAYHOUR properties and create a hash table. + ${WeeklyRecurrentScheduleFridayHour}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${WeeklyRecurrentScheduleIsComplemented}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITimeRange[]] + # . + # To construct, see NOTES section for WEEKLYRECURRENTSCHEDULEMONDAYHOUR properties and create a hash table. + ${WeeklyRecurrentScheduleMondayHour}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITimeRange[]] + # . + # To construct, see NOTES section for WEEKLYRECURRENTSCHEDULESATURDAYHOUR properties and create a hash table. + ${WeeklyRecurrentScheduleSaturdayHour}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITimeRange[]] + # . + # To construct, see NOTES section for WEEKLYRECURRENTSCHEDULESUNDAYHOUR properties and create a hash table. + ${WeeklyRecurrentScheduleSundayHour}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITimeRange[]] + # . + # To construct, see NOTES section for WEEKLYRECURRENTSCHEDULETHURSDAYHOUR properties and create a hash table. + ${WeeklyRecurrentScheduleThursdayHour}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITimeRange[]] + # . + # To construct, see NOTES section for WEEKLYRECURRENTSCHEDULETUESDAYHOUR properties and create a hash table. + ${WeeklyRecurrentScheduleTuesdayHour}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITimeRange[]] + # . + # To construct, see NOTES section for WEEKLYRECURRENTSCHEDULEWEDNESDAYHOUR properties and create a hash table. + ${WeeklyRecurrentScheduleWednesdayHour}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsOnlineSchedule_New'; + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsOnlineSchedule_NewExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Create a time range draft. +POST Teams.VoiceApps/schedules/time-ranges/draft. +.Description +Create a time range draft. +POST Teams.VoiceApps/schedules/time-ranges/draft. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateTimeRangeRequest +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateTimeRangeResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [End ]: + [Start ]: +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-csonlinetimerange +#> +function New-CsOnlineTimeRange { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateTimeRangeResponse])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateTimeRangeRequest] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${End}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Start}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsOnlineTimeRange_New'; + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsOnlineTimeRange_NewExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Create New Bulk Sign in Request +.Description +Create New Bulk Sign in Request +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISdgBulkSignInRequestItem[] +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISdgBulkSignInResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : Array of SDGBulkSignInRequestItem + [HardwareId ]: + [UserName ]: +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-cssdgbulksigninrequest +#> +function New-CsSdgBulkSignInRequest { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISdgBulkSignInResponse])] +[CmdletBinding(DefaultParameterSetName='New', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Target Region where the device is located + ${TargetRegion}, + + [Parameter(Mandatory, ValueFromPipeline)] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISdgBulkSignInRequestItem[]] + # Array of SDGBulkSignInRequestItem + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsSdgBulkSignInRequest_New'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis + +.Description + +.Example +PS C:\> (Get-CsTeamTemplate -OdataId '/api/teamtemplates/v1.0/com.microsoft.teams.template.AdoptOffice365/Public/en-US') > input.json +# open json in your favorite editor, make changes + +PS C:\> New-CsTeamTemplate -Locale en-US -Body (Get-Content '.\input.json' | Out-String) + +{ + "id": "061fe692-7da7-4f65-a57b-0472cf0045af", + "name": "New Template", + "scope": "Tenant", + "shortDescription": "New Description", + "iconUri": "https://statics.teams.cdn.office.net/evergreen-assets/teamtemplates/icons/default_tenant.svg", + "channelCount": 2, + "appCount": 2, + "modifiedOn": "2020-12-10T18:46:52.7231705Z", + "modifiedBy": "6c4445f6-a23d-473c-951d-7474d289c6b3", + "locale": "en-US", + "@odata.id": "/api/teamtemplates/v1.0/061fe692-7da7-4f65-a57b-0472cf0045af/Tenant/en-US" +} +.Example +PS C:\> New-CsTeamTemplate ` +-Locale en-US ` +-DisplayName 'New Template' ` +-ShortDescription 'New Description' ` +-App @{id='feda49f8-b9f2-4985-90f0-dd88a8f80ee1'}, @{id='1d71218a-92ad-4254-be15-c5ab7a3e4423'} ` +-Channel @{ ` + displayName="General"; ` + id="General"; ` + isFavoriteByDefault=$true; ` +}, ` +@{ ` + displayName="test"; ` + id="b82b7d0a-6bc9-4fd8-bf09-d432e4ea0475"; ` + isFavoriteByDefault=$false; ` +} + + +{ + "id": "061fe692-7da7-4f65-a57b-0472cf0045af", + "name": "New Template", + "scope": "Tenant", + "shortDescription": "New Description", + "iconUri": "https://statics.teams.cdn.office.net/evergreen-assets/teamtemplates/icons/default_tenant.svg", + "channelCount": 2, + "appCount": 2, + "modifiedOn": "2020-12-10T18:46:52.7231705Z", + "modifiedBy": "6c4445f6-a23d-473c-951d-7474d289c6b3", + "locale": "en-US", + "@odata.id": "/api/teamtemplates/v1.0/061fe692-7da7-4f65-a57b-0472cf0045af/Tenant/en-US" +} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplate +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateTemplateResponse +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplateErrorResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +APP : Gets or sets the set of applications that should be installed in teams created based on the template.The app catalog is the main directory for information about each app; this set is intended only as a reference. + [Id ]: Gets or sets the app's ID in the global apps catalog. + +BODY : The client input for a request to create a template. Only admins from Config Api can perform this request. + DisplayName : Gets or sets the team's DisplayName. + ShortDescription : Gets or sets template short description. + [App ]: Gets or sets the set of applications that should be installed in teams created based on the template. The app catalog is the main directory for information about each app; this set is intended only as a reference. + [Id ]: Gets or sets the app's ID in the global apps catalog. + [Category ]: Gets or sets list of categories. + [Channel ]: Gets or sets the set of channel templates included in the team template. + [Description ]: Gets or sets channel description as displayed to users. + [DisplayName ]: Gets or sets channel name as displayed to users. + [Id ]: Gets or sets identifier for the channel template. + [IsFavoriteByDefault ]: Gets or sets a value indicating whether whether new members of the team should automatically favorite the channel, pinning it for visibility in the UI and using resources to make switching to the channel faster. + [Tab ]: Gets or sets collection of tabs that should be added to the channel. + [Configuration ]: Represents the configuration of a tab. + [ContentUrl ]: Gets or sets the Url used for rendering tab contents in Teams. + [EntityId ]: Gets or sets the identifier for the entity hosted by the tab provider. + [RemoveUrl ]: Gets or sets the Url that is invoked when the user tries to remove a tab from the FE client. + [WebsiteUrl ]: Gets or sets the Url for showing tab contents outside of Teams. + [Id ]: Gets or sets identifier for the channel tab template. + [Key ]: Gets a unique identifier. + [MessageId ]: Gets or sets id used to identify the chat message associated with the tab. + [Name ]: Gets or sets the tab name displayed to users. + [SortOrderIndex ]: Gets or sets index of the order used for sorting tabs. + [TeamsAppId ]: Gets or sets the app's id in the global apps catalog. + [WebUrl ]: Gets or sets the deep link url of the tab instance. + [Classification ]: Gets or sets the team's classification. Tenant admins configure AAD with the set of possible values. + [Description ]: Gets or sets the team's Description. + [DiscoverySetting ]: Governs discoverability of a team. + ShowInTeamsSearchAndSuggestion : Gets or sets value indicating if team is visible within search and suggestions in Teams clients. + [FunSetting ]: Governs use of fun media like giphy and stickers in the team. + AllowCustomMeme : Gets or sets a value indicating whether users are allowed to create and post custom meme images in team conversations. + AllowGiphy : Gets or sets a value indicating whether users can post giphy content in team conversations. + AllowStickersAndMeme : Gets or sets a value indicating whether users can post stickers and memes in team conversations. + GiphyContentRating : Gets or sets the rating filter on giphy content. + [GuestSetting ]: Guest role settings for the team. + AllowCreateUpdateChannel : Gets or sets a value indicating whether guests can create or edit channels in the team. + AllowDeleteChannel : Gets or sets a value indicating whether guests can delete team channels. + [Icon ]: Gets or sets template icon. + [IsMembershipLimitedToOwner ]: Gets or sets whether to limit the membership of the team to owners in the AAD group until an owner "activates" the team. + [MemberSetting ]: Member role settings for the team. + AllowAddRemoveApp : Gets or sets a value indicating whether members can add or remove apps in the team. + AllowCreatePrivateChannel : Gets or Sets a value indicating whether members can create Private channels. + AllowCreateUpdateChannel : Gets or sets a value indicating whether members can create or edit channels in the team. + AllowCreateUpdateRemoveConnector : Gets or sets a value indicating whether members can add, edit, or remove connectors in the team. + AllowCreateUpdateRemoveTab : Gets or sets a value indicating whether members can add, edit or remove pinned tabs in the team. + AllowDeleteChannel : Gets or sets a value indicating whether members can delete team channels. + UploadCustomApp : Gets or sets a value indicating is allowed to upload custom apps. + [MessagingSetting ]: Governs use of messaging features within the team These are settings the team owner should be able to modify from UI after team creation. + AllowChannelMention : Gets or sets a value indicating whether team members can at-mention entire channels in team conversations. + AllowOwnerDeleteMessage : Gets or sets a value indicating whether team owners can delete anyone's messages in team conversations. + AllowTeamMention : Gets or sets a value indicating whether team members can at-mention the entire team in team conversations. + AllowUserDeleteMessage : Gets or sets a value indicating whether team members can delete their own messages in team conversations. + AllowUserEditMessage : Gets or sets a value indicating whether team members can edit their own messages in team conversations. + [OwnerUserObjectId ]: Gets or sets the AAD user object id of the user who should be set as the owner of the new team. Only to be used when an application or administrative user is making the request on behalf of the specified user. + [PublishedBy ]: Gets or sets published name. + [Specialization ]: The specialization or use case describing the team. Used for telemetry/BI, part of the team context exposed to app developers, and for legacy implementations of differentiated features for education. + [TemplateId ]: Gets or sets the id of the base template for the team. Either a Microsoft base template or a custom template. + [Uri ]: Gets or sets uri to be used for GetTemplate api call. + [Visibility ]: Used to control the scope of users who can view a group/team and its members, and ability to join. + +CHANNEL : Gets or sets the set of channel templates included in the team template. + [Description ]: Gets or sets channel description as displayed to users. + [DisplayName ]: Gets or sets channel name as displayed to users. + [Id ]: Gets or sets identifier for the channel template. + [IsFavoriteByDefault ]: Gets or sets a value indicating whether whether new members of the team should automatically favorite the channel, pinning it for visibility in the UI and using resources to make switching to the channel faster. + [Tab ]: Gets or sets collection of tabs that should be added to the channel. + [Configuration ]: Represents the configuration of a tab. + [ContentUrl ]: Gets or sets the Url used for rendering tab contents in Teams. + [EntityId ]: Gets or sets the identifier for the entity hosted by the tab provider. + [RemoveUrl ]: Gets or sets the Url that is invoked when the user tries to remove a tab from the FE client. + [WebsiteUrl ]: Gets or sets the Url for showing tab contents outside of Teams. + [Id ]: Gets or sets identifier for the channel tab template. + [Key ]: Gets a unique identifier. + [MessageId ]: Gets or sets id used to identify the chat message associated with the tab. + [Name ]: Gets or sets the tab name displayed to users. + [SortOrderIndex ]: Gets or sets index of the order used for sorting tabs. + [TeamsAppId ]: Gets or sets the app's id in the global apps catalog. + [WebUrl ]: Gets or sets the deep link url of the tab instance. + +DISCOVERYSETTING : Governs discoverability of a team. + ShowInTeamsSearchAndSuggestion : Gets or sets value indicating if team is visible within search and suggestions in Teams clients. + +FUNSETTING : Governs use of fun media like giphy and stickers in the team. + AllowCustomMeme : Gets or sets a value indicating whether users are allowed to create and post custom meme images in team conversations. + AllowGiphy : Gets or sets a value indicating whether users can post giphy content in team conversations. + AllowStickersAndMeme : Gets or sets a value indicating whether users can post stickers and memes in team conversations. + GiphyContentRating : Gets or sets the rating filter on giphy content. + +GUESTSETTING : Guest role settings for the team. + AllowCreateUpdateChannel : Gets or sets a value indicating whether guests can create or edit channels in the team. + AllowDeleteChannel : Gets or sets a value indicating whether guests can delete team channels. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id + +MEMBERSETTING : Member role settings for the team. + AllowAddRemoveApp : Gets or sets a value indicating whether members can add or remove apps in the team. + AllowCreatePrivateChannel : Gets or Sets a value indicating whether members can create Private channels. + AllowCreateUpdateChannel : Gets or sets a value indicating whether members can create or edit channels in the team. + AllowCreateUpdateRemoveConnector : Gets or sets a value indicating whether members can add, edit, or remove connectors in the team. + AllowCreateUpdateRemoveTab : Gets or sets a value indicating whether members can add, edit or remove pinned tabs in the team. + AllowDeleteChannel : Gets or sets a value indicating whether members can delete team channels. + UploadCustomApp : Gets or sets a value indicating is allowed to upload custom apps. + +MESSAGINGSETTING : Governs use of messaging features within the teamThese are settings the team owner should be able to modify from UI after team creation. + AllowChannelMention : Gets or sets a value indicating whether team members can at-mention entire channels in team conversations. + AllowOwnerDeleteMessage : Gets or sets a value indicating whether team owners can delete anyone's messages in team conversations. + AllowTeamMention : Gets or sets a value indicating whether team members can at-mention the entire team in team conversations. + AllowUserDeleteMessage : Gets or sets a value indicating whether team members can delete their own messages in team conversations. + AllowUserEditMessage : Gets or sets a value indicating whether team members can edit their own messages in team conversations. +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-csteamtemplate +#> +function New-CsTeamTemplate { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateTemplateResponse], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplateErrorResponse])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='New', Mandatory)] + [Parameter(ParameterSetName='NewExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Locale}, + + [Parameter(ParameterSetName='NewViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='NewViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='NewViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplate] + # The client input for a request to create a template. + # Only admins from Config Api can perform this request. + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='NewExpanded', Mandatory)] + [Parameter(ParameterSetName='NewViaIdentityExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the team's DisplayName. + ${DisplayName}, + + [Parameter(ParameterSetName='NewExpanded', Mandatory)] + [Parameter(ParameterSetName='NewViaIdentityExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets template short description. + ${ShortDescription}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamsAppTemplate[]] + # Gets or sets the set of applications that should be installed in teams created based on the template.The app catalog is the main directory for information about each app; this set is intended only as a reference. + # To construct, see NOTES section for APP properties and create a hash table. + ${App}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # Gets or sets list of categories. + ${Category}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IChannelTemplate[]] + # Gets or sets the set of channel templates included in the team template. + # To construct, see NOTES section for CHANNEL properties and create a hash table. + ${Channel}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the team's classification.Tenant admins configure AAD with the set of possible values. + ${Classification}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the team's Description. + ${Description}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamDiscoverySettings] + # Governs discoverability of a team. + # To construct, see NOTES section for DISCOVERYSETTING properties and create a hash table. + ${DiscoverySetting}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamFunSettings] + # Governs use of fun media like giphy and stickers in the team. + # To construct, see NOTES section for FUNSETTING properties and create a hash table. + ${FunSetting}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamGuestSettings] + # Guest role settings for the team. + # To construct, see NOTES section for GUESTSETTING properties and create a hash table. + ${GuestSetting}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets template icon. + ${Icon}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets whether to limit the membership of the team to owners in the AAD group until an owner "activates" the team. + ${IsMembershipLimitedToOwner}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamMemberSettings] + # Member role settings for the team. + # To construct, see NOTES section for MEMBERSETTING properties and create a hash table. + ${MemberSetting}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamMessagingSettings] + # Governs use of messaging features within the teamThese are settings the team owner should be able to modify from UI after team creation. + # To construct, see NOTES section for MESSAGINGSETTING properties and create a hash table. + ${MessagingSetting}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the AAD user object id of the user who should be set as the owner of the new team.Only to be used when an application or administrative user is making the request on behalf of the specified user. + ${OwnerUserObjectId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets published name. + ${PublishedBy}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The specialization or use case describing the team.Used for telemetry/BI, part of the team context exposed to app developers, and for legacy implementations of differentiated features for education. + ${Specialization}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the id of the base template for the team.Either a Microsoft base template or a custom template. + ${TemplateId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets uri to be used for GetTemplate api call. + ${Uri}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Used to control the scope of users who can view a group/team and its members, and ability to join. + ${Visibility}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamTemplate_New'; + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamTemplate_NewExpanded'; + NewViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamTemplate_NewViaIdentity'; + NewViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamTemplate_NewViaIdentityExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Invokes tenant migration +.Description +Invokes tenant migration +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITenantMigration +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITenantMigrationResult +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : Payload for tenant migration + [MoveOption ]: MoveOption can take following values PrepForMove, StartDualSync, Finalize. + [TargetServiceInstance ]: Target service instance where tenant is to be migrated. +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-cstenantcrossmigration +#> +function New-CsTenantCrossMigration { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITenantMigrationResult])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITenantMigration] + # Payload for tenant migration + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # MoveOption can take following values PrepForMove, StartDualSync, Finalize. + ${MoveOption}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Target service instance where tenant is to be migrated. + ${TargetServiceInstance}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTenantCrossMigration_New'; + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTenantCrossMigration_NewExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Adds delegate with validations in bvd +.Description +Adds delegate with validations in bvd +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-csusercallingdelegate +#> +function New-CsUserCallingDelegate { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='New', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='New', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Delegate}, + + [Parameter(ParameterSetName='New', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='NewViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # . + ${MakeCalls}, + + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # . + ${ManageSettings}, + + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # . + ${ReceiveCalls}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsUserCallingDelegate_New'; + NewViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsUserCallingDelegate_NewViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis + +.Description + +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISkypeTelephoneNumberMgmtUpdateSearchOrderRequest +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISkypeTelephoneNumberMgmtErrorResponseDetails +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : UpdateSearchOrderRequest + [Action ]: + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/complete-csonlinetelephonenumberorder +#> +function Complete-CsOnlineTelephoneNumberOrder { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISkypeTelephoneNumberMgmtErrorResponseDetails])] +[CmdletBinding(DefaultParameterSetName='CompleteExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Complete', Mandatory)] + [Parameter(ParameterSetName='CompleteExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${OrderId}, + + [Parameter(ParameterSetName='CompleteViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='CompleteViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Complete', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='CompleteViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISkypeTelephoneNumberMgmtUpdateSearchOrderRequest] + # UpdateSearchOrderRequest + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='CompleteExpanded')] + [Parameter(ParameterSetName='CompleteViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Action}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Complete = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Complete-CsOnlineTelephoneNumberOrder_Complete'; + CompleteExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Complete-CsOnlineTelephoneNumberOrder_CompleteExpanded'; + CompleteViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Complete-CsOnlineTelephoneNumberOrder_CompleteViaIdentity'; + CompleteViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Complete-CsOnlineTelephoneNumberOrder_CompleteViaIdentityExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Get Audio file content. +GET Teams.MediaStorage/audiofile/appId/audiofileId/content +.Description +Get Audio file content. +GET Teams.MediaStorage/audiofile/appId/audiofileId/content +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +System.String +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/export-csonlineaudiofile +#> +function Export-CsOnlineAudioFile { +[OutputType([System.String])] +[CmdletBinding(DefaultParameterSetName='Export', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Export', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${ApplicationId}, + + [Parameter(ParameterSetName='Export', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='ExportViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Export = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Export-CsOnlineAudioFile_Export'; + ExportViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Export-CsOnlineAudioFile_ExportViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Find group. +GET /Teams.VoiceApps/groups?. +.Description +Find group. +GET /Teams.VoiceApps/groups?. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetGroupsResponse +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/find-csgroup +#> +function Find-CsGroup { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetGroupsResponse])] +[CmdletBinding(DefaultParameterSetName='Find', PositionalBinding=$false)] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether to exact match on the search query or not. + ${ExactMatchOnly}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether to return only groups enabled for mail. + ${MailEnabledOnly}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # Gets or sets max results to return. + ${MaxResults}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Gets or sets search query. + ${SearchQuery}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Find = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Find-CsGroup_Find'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Search for application instances that match the search criteria. +.Description +Search for application instances that match the search criteria. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetApplicationInstancesResponse +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/find-csonlineapplicationinstance +#> +function Find-CsOnlineApplicationInstance { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetApplicationInstancesResponse])] +[CmdletBinding(DefaultParameterSetName='Find', PositionalBinding=$false)] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # . + ${AssociatedOnly}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # . + ${ExactMatchOnly}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # . + ${IsAssociated}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # . + ${MaxResults}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${SearchQuery}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # . + ${UnAssociatedOnly}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Find = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Find-CsOnlineApplicationInstance_Find'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Get Tenant from AAD. +Get-CsAadTenant +.Description +Get Tenant from AAD. +Get-CsAadTenant +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IAadTenant +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csaadtenant +#> +function Get-CsAadTenant { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IAadTenant])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsAadTenant_Get'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Get User. +Get-CsAadUser +.Description +Get User. +Get-CsAadUser +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IAadUser +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csaaduser +#> +function Get-CsAadUser { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IAadUser])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # identity. + # Supports UserId as Guid or UPN as String. + ${Identity}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsAadUser_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsAadUser_GetViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Gets auto attendant holidays. +GET Teams.VoiceApps/auto-attendants/identity/holidays. +.Description +Gets auto attendant holidays. +GET Teams.VoiceApps/auto-attendants/identity/holidays. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetAutoAttendantHolidaysResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csautoattendantholidays +#> +function Get-CsAutoAttendantHolidays { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetAutoAttendantHolidaysResponse])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String[]] + # . + ${Name}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # . + ${ResponseType}, + + [Parameter()] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String[]] + # . + ${Year}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsAutoAttendantHolidays_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsAutoAttendantHolidays_GetViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Get a specific auto attendant. +GET Teams.VoiceApps/auto-attendants/status/identity +.Description +Get a specific auto attendant. +GET Teams.VoiceApps/auto-attendants/status/identity +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IStatusRecord3 +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csautoattendantstatus +#> +function Get-CsAutoAttendantStatus { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IStatusRecord3])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Id for the auto attendant to retrieve. + ${Identity}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String[]] + # . + ${IncludeResources}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsAutoAttendantStatus_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsAutoAttendantStatus_GetViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Get specific language information. +GET Teams.VoiceApps/supported-languages/identity. +.Description +Get specific language information. +GET Teams.VoiceApps/supported-languages/identity. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetSupportedLanguageResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csautoattendantsupportedlanguage +#> +function Get-CsAutoAttendantSupportedLanguage { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetSupportedLanguageResponse])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Id for the supported language to retrieve the information for. + ${Identity}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsAutoAttendantSupportedLanguage_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsAutoAttendantSupportedLanguage_GetViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Get supported timezone information. +GET Teams.VoiceApps/supported-timezones/identity. +.Description +Get supported timezone information. +GET Teams.VoiceApps/supported-timezones/identity. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetSupportedTimeZoneResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csautoattendantsupportedtimezone +#> +function Get-CsAutoAttendantSupportedTimeZone { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetSupportedTimeZoneResponse])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Id for the supported timezone to retrieve the information for. + ${Identity}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsAutoAttendantSupportedTimeZone_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsAutoAttendantSupportedTimeZone_GetViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Get tenant information specific to Voice Apps by the tenant Id. +GET Teams.VoiceApps/information. +.Description +Get tenant information specific to Voice Apps by the tenant Id. +GET Teams.VoiceApps/information. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetTenantInformationResponse +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csautoattendanttenantinformation +#> +function Get-CsAutoAttendantTenantInformation { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetTenantInformationResponse])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsAutoAttendantTenantInformation_Get'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Get a specific auto attendant. +GET Teams.VoiceApps/auto-attendants/identity. +.Description +Get a specific auto attendant. +GET Teams.VoiceApps/auto-attendants/identity. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetAutoAttendantResponse +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetAutoAttendantsResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csautoattendant +#> +function Get-CsAutoAttendant { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetAutoAttendantResponse], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetAutoAttendantsResponse])] +[CmdletBinding(DefaultParameterSetName='Get1', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Id for the auto attendant to retrieve. + ${Identity}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Get1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # . + ${Descending}, + + [Parameter(ParameterSetName='Get1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # . + ${ExcludeContent}, + + [Parameter(ParameterSetName='Get1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # . + ${First}, + + [Parameter(ParameterSetName='Get1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # . + ${IncludeStatus}, + + [Parameter(ParameterSetName='Get1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${NameFilter}, + + [Parameter(ParameterSetName='Get1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # . + ${Skip}, + + [Parameter(ParameterSetName='Get1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${SortBy}, + + [Parameter(ParameterSetName='Get1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${TypeFilter}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsAutoAttendant_Get'; + Get1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsAutoAttendant_Get1'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsAutoAttendant_GetViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Gets raw data from bvd tables. +.Description +Gets raw data from bvd tables. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IBvdTableEntity +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csbusinessvoicedirectorydiagnosticdata +#> +function Get-CsBusinessVoiceDirectoryDiagnosticData { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IBvdTableEntity])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # PartitionKey of the table. + ${PartitionKey}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Region to query Bvd table. + ${Region}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Bvd table name. + ${Table}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # Optional resultSize. + ${ResultSize}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Optional row key. + ${RowKey}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsBusinessVoiceDirectoryDiagnosticData_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsBusinessVoiceDirectoryDiagnosticData_GetViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Get call queues. +GET Teams.VoiceApps/callqueues?. +.Description +Get call queues. +GET Teams.VoiceApps/callqueues?. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetCallQueueResponse +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetCallQueuesResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-cscallqueue +#> +function Get-CsCallQueue { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetCallQueuesResponse], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetCallQueueResponse])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get1', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # . + ${Descending}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # . + ${ExcludeContent}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether to filter invalid Obo from the response. + # If invalid Obos are not needed in the response set the flag to true, otherwise false. + # An obo is termed invalid when a previously associated Obo is deleted from AAD or phone number associated to the Obo is removed. + ${FilterInvalidObos}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # . + ${First}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${NameFilter}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # . + ${Skip}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${SortBy}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${TypeFilter}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsCallQueue_Get'; + Get1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsCallQueue_Get1'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsCallQueue_GetViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Get all tenant available configurations +.Description +Get all tenant available configurations +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IXdsConfiguration +.Outputs +System.String +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csconfiguration +#> +function Get-CsConfiguration { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IXdsConfiguration], [System.String])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='Get1', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # string + ${ConfigType}, + + [Parameter(ParameterSetName='Get1', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${ConfigName}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GetViaIdentity1', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Api Version + ${ApiVersion}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${SchemaVersion}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsConfiguration_Get'; + Get1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsConfiguration_Get1'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsConfiguration_GetViaIdentity'; + GetViaIdentity1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsConfiguration_GetViaIdentity1'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Get requested Schema's data from MAS DB. +.Description +Get requested Schema's data from MAS DB. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IMasSchemaItem +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csmasversionedschemadata +#> +function Get-CsMasVersionedSchemaData { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IMasSchemaItem])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Schema to get from MAS DB + ${SchemaName}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Identity. + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Last X versions to fetch from MAS DB. + ${Version}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsMasVersionedSchemaData_Get'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Get meeting migration status for a user or tenant +.Description +Get meeting migration status for a user or tenant +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IMeetingMigrationStatusResponse +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csmeetingmigrationstatusmodern +#> +function Get-CsMeetingMigrationStatusModern { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IMeetingMigrationStatusResponse])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # end time filter - to get meeting migration status before endtime + ${EndTime}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Identity. + # Supports UPN and SIP, domainName LogonName + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Meeting migration type - SfbToSfb, SfbToTeams, TeamsToTeams, AllToTeams, ToSameType, Unknown + ${MigrationType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # start time filter - to get meeting migration status after starttime + ${StartTime}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # state of meeting Migration status - Pending, InProgress, Failed, Succeeded + ${State}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsMeetingMigrationStatusModern_Get'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Get meeting migration status summary for a user or tenant +.Description +Get meeting migration status summary for a user or tenant +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IMeetingMigrationStatusSummaryResponse +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csmeetingmigrationstatussummarymodern +#> +function Get-CsMeetingMigrationStatusSummaryModern { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IMeetingMigrationStatusSummaryResponse])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # end time filter - to get meeting migration status before endtime + ${EndTime}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Identity. + # Supports UPN and SIP, domainName LogonName + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Meeting migration type - SfbToSfb, SfbToTeams, TeamsToTeams, AllToTeams, ToSameType, Unknown + ${MigrationType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # start time filter - to get meeting migration status after starttime + ${StartTime}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # state of meeting Migration status - Pending, InProgress, Failed, Succeeded + ${State}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsMeetingMigrationStatusSummaryModern_Get'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Get meeting migration transaction history for a user +.Description +Get meeting migration transaction history for a user +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IMeetingMigrationTransactionHistoryResponse +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csmeetingmigrationtransactionhistorymodern +#> +function Get-CsMeetingMigrationTransactionHistoryModern { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IMeetingMigrationTransactionHistoryResponse])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Identity. + # Supports UPN and SIP, Aad user object Id + ${UserIdentity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # CorrelationId fetched when running start-csexmeetingmigration + ${CorrelationId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # end time filter - to get meeting migration status before endtime + ${EndTime}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # start time filter - to get meeting migration status after starttime + ${StartTime}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsMeetingMigrationTransactionHistoryModern_Get'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Get Tenant's Migrationdetails. +.Description +Get Tenant's Migrationdetails. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGmtSchemaItem +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csmovetenantserviceinstancetaskstatus +#> +function Get-CsMoveTenantServiceInstanceTaskStatus { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGmtSchemaItem])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsMoveTenantServiceInstanceTaskStatus_Get'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +This cmdlet is point get operation on users. +.Description +This cmdlet is point get operation on users. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingUser +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csodcuser +#> +function Get-CsOdcUser { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingUser])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # UserId of user. + ${Identity}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOdcUser_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOdcUser_GetViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Get application instance association status. +GET Teams.VoiceApps/applicationinstanceassociations/identity/status. +.Description +Get application instance association status. +GET Teams.VoiceApps/applicationinstanceassociations/identity/status. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetApplicationInstanceAssociationStatusResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csonlineapplicationinstanceassociationstatus +#> +function Get-CsOnlineApplicationInstanceAssociationStatus { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetApplicationInstanceAssociationStatusResponse])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineApplicationInstanceAssociationStatus_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineApplicationInstanceAssociationStatus_GetViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Get application instance association. +GET Teams.VoiceApps/applicationinstanceassociations/identity. +.Description +Get application instance association. +GET Teams.VoiceApps/applicationinstanceassociations/identity. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetApplicationInstanceAssociationResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csonlineapplicationinstanceassociation +#> +function Get-CsOnlineApplicationInstanceAssociation { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetApplicationInstanceAssociationResponse])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineApplicationInstanceAssociation_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineApplicationInstanceAssociation_GetViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Get Audio file metedata with expiring download link. +GET api/v3/tenants/tenantId/audiofile/appId/audiofileId?durationInMins=int(default=60) +.Description +Get Audio file metedata with expiring download link. +GET api/v3/tenants/tenantId/audiofile/appId/audiofileId?durationInMins=int(default=60) +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IAudioFileDto +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csonlineaudiofile +#> +function Get-CsOnlineAudioFile { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IAudioFileDto])] +[CmdletBinding(DefaultParameterSetName='Get1', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='Get1', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${ApplicationId}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GetViaIdentity1', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Get')] + [Parameter(ParameterSetName='GetViaIdentity')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # . + ${DurationInMin}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineAudioFile_Get'; + Get1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineAudioFile_Get1'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineAudioFile_GetViaIdentity'; + GetViaIdentity1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineAudioFile_GetViaIdentity1'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis + +.Description + +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDiagnostics +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IEmergencyDisclaimerUserResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csonlineenhancedemergencyservicedisclaimer +#> +function Get-CsOnlineEnhancedEmergencyServiceDisclaimer { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IEmergencyDisclaimerUserResponse], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDiagnostics])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${CountryOrRegion}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Version}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineEnhancedEmergencyServiceDisclaimer_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineEnhancedEmergencyServiceDisclaimer_GetViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis + +.Description + +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICivicAddress +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csonlineliscivicaddress +#> +function Get-CsOnlineLisCivicAddress { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICivicAddress])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineLisCivicAddress_Get'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Get all schedules for a tenant. +GET Teams.VoiceApps/schedules?. +.Description +Get all schedules for a tenant. +GET Teams.VoiceApps/schedules?. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetScheduleResponse +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetSchedulesResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csonlineschedule +#> +function Get-CsOnlineSchedule { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetSchedulesResponse], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetScheduleResponse])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get1', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Id for the schedule to retrieve. + ${Identity}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # . + ${Descending}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # . + ${ExcludeContent}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # . + ${First}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${NameFilter}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # . + ${Skip}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${SortBy}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${TypeFilter}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineSchedule_Get'; + Get1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineSchedule_Get1'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineSchedule_GetViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Get Cs-OnlineVoicemailUserSettings. +.Description +Get Cs-OnlineVoicemailUserSettings. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IVoicemailSettings +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csonlinevmusersetting +#> +function Get-CsOnlineVMUserSetting { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IVoicemailSettings])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineVMUserSetting_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsOnlineVMUserSetting_GetViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Get Org Settings - Get-CsTeamsSettingsCustomApp +.Description +Get Org Settings - Get-CsTeamsSettingsCustomApp +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetCustomAppSettingResponse +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csteamssettingscustomapp +#> +function Get-CsTeamsSettingsCustomApp { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGetCustomAppSettingResponse])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamsSettingsCustomApp_Get'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Get a list of available team templates +.Description +Get a list of available team templates +.Example +PS C:\> Get-CsTeamTemplateList + +OdataId Name ShortDescription Chann AppCo + elCou unt + nt +------- ---- ---------------- ----- ----- +/api/teamtemplates/v1.0/healthcareWard/Public/en-US Collaborate on Patient Care Collaborate on patient care i... 6 1 +/api/teamtemplates/v1.0/healthcareHospital/Public/en-US Hospital Facilitate collaboration with... 6 1 +/api/teamtemplates/v1.0/retailStore/Public/en-US Organize a Store Collaborate with your retail ... 3 1 +/api/teamtemplates/v1.0/retailManagerCollaboration/Public/en-US Retail - Manager Collaboration Collaborate with managers acr... 3 1 + +.Example +PS C:\> (Get-CsTeamTemplateList -PublicTemplateLocale en-US) | where ChannelCount -GT 3 + +OdataId Name ShortDescription Chann AppCo + elCou unt + nt +------- ---- ---------------- ----- ----- +/api/teamtemplates/v1.0/healthcareWard/Public/en-US Collaborate on Patient Care Collaborate on patient care i... 6 1 +/api/teamtemplates/v1.0/healthcareHospital/Public/en-US Hospital Facilitate collaboration with... 6 1 + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplateErrorResponse +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplateSummary +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csteamtemplatelist +#> +function Get-CsTeamTemplateList { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplateSummary], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplateErrorResponse])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Language and country code for localization of publicly available templates. + ${PublicTemplateLocale}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamTemplateList_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTeamTemplateList_GetViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Get Tenant. +.Description +Get Tenant. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITenant +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-cstenantobou +#> +function Get-CsTenantObou { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITenant])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # To set defaultpropertyset value + ${Defaultpropertyset}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Properties to select + ${Select}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsTenantObou_Get'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Get User. +.Description +Get User. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUserMas +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/get-csuser +#> +function Get-CsUser { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUserMas])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Alias('UserId')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # UserId. + # Supports Guid. + # Eventually UPN and SIP. + ${Identity}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # To set defaultpropertyset value + ${Defaultpropertyset}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # To fetch optional location field + ${Expandlocation}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # To set includedefaultproperties value + ${Includedefaultproperty}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Properties to select + ${Select}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # Skip user policies in user response object + ${Skipuserpolicy}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # To set to true when called from Get-CsVoiceUser cmdlet + ${Voiceuserquery}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Get = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsUser_Get'; + GetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Get-CsUser_GetViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Unified group grant. +.Description +Unified group grant. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGroupGrantPayload +.Outputs +System.String +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [PolicyName ]: + [Priority ]: + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/grant-csgrouppolicyassignment +#> +function Grant-CsGroupPolicyAssignment { +[OutputType([System.String])] +[CmdletBinding(DefaultParameterSetName='GrantExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Grant', Mandatory)] + [Parameter(ParameterSetName='GrantExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${GroupId}, + + [Parameter(ParameterSetName='Grant', Mandatory)] + [Parameter(ParameterSetName='GrantExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${PolicyType}, + + [Parameter(ParameterSetName='GrantViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GrantViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Grant', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GrantViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IGroupGrantPayload] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='GrantExpanded')] + [Parameter(ParameterSetName='GrantViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${PolicyName}, + + [Parameter(ParameterSetName='GrantExpanded')] + [Parameter(ParameterSetName='GrantViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${Rank}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Grant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsGroupPolicyAssignment_Grant'; + GrantExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsGroupPolicyAssignment_GrantExpanded'; + GrantViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsGroupPolicyAssignment_GrantViaIdentity'; + GrantViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsGroupPolicyAssignment_GrantViaIdentityExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Assign a policy package to a group in a tenant +.Description +Assign a policy package to a group in a tenant +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IPackageServiceModelsApplyPackageGroupResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +POLICYRANKINGS : . + PolicyType : + Rank : +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/grant-csgrouppolicypackageassignment +#> +function Grant-CsGroupPolicyPackageAssignment { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IPackageServiceModelsApplyPackageGroupResponse])] +[CmdletBinding(DefaultParameterSetName='GrantExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${GroupId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${PackageName}, + + [Parameter()] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IPackageServiceModelsRequestsPolicyRanking[]] + # . + # To construct, see NOTES section for POLICYRANKINGS properties and create a hash table. + ${PolicyRankings}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + GrantExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsGroupPolicyPackageAssignment_GrantExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Update single policy of a Tenant +.Description +Update single policy of a Tenant +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISingleGrantTenantRequest +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [AdditionalParameter ]: Dictionary of + [(Any) ]: This indicates any property can be added to this object. + [ForceSwitchPresent ]: + [PolicyName ]: + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/grant-cstenantpolicy +#> +function Grant-CsTenantPolicy { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='GrantExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Grant', Mandatory)] + [Parameter(ParameterSetName='GrantExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Policy Type + ${PolicyType}, + + [Parameter(ParameterSetName='GrantViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GrantViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Grant', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GrantViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISingleGrantTenantRequest] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='GrantExpanded')] + [Parameter(ParameterSetName='GrantViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.Info(PossibleTypes=([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISingleGrantTenantRequestAdditionalParameters]))] + [System.Collections.Hashtable] + # Dictionary of + ${AdditionalParameters}, + + [Parameter(ParameterSetName='GrantExpanded')] + [Parameter(ParameterSetName='GrantViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${ForceSwitchPresent}, + + [Parameter(ParameterSetName='GrantExpanded')] + [Parameter(ParameterSetName='GrantViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Grant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTenantPolicy_Grant'; + GrantExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTenantPolicy_GrantExpanded'; + GrantViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTenantPolicy_GrantViaIdentity'; + GrantViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsTenantPolicy_GrantViaIdentityExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Update single policy of a user +.Description +Update single policy of a user +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISingleGrantUserRequest +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [AdditionalParameter ]: Dictionary of + [(Any) ]: This indicates any property can be added to this object. + [PolicyName ]: + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/grant-csuserpolicy +#> +function Grant-CsUserPolicy { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='GrantExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Grant', Mandatory)] + [Parameter(ParameterSetName='GrantExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # User Id + ${Identity}, + + [Parameter(ParameterSetName='Grant', Mandatory)] + [Parameter(ParameterSetName='GrantExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Policy Type + ${PolicyType}, + + [Parameter(ParameterSetName='GrantViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GrantViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Grant', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GrantViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISingleGrantUserRequest] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='GrantExpanded')] + [Parameter(ParameterSetName='GrantViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.Info(PossibleTypes=([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISingleGrantUserRequestAdditionalParameters]))] + [System.Collections.Hashtable] + # Dictionary of + ${AdditionalParameters}, + + [Parameter(ParameterSetName='GrantExpanded')] + [Parameter(ParameterSetName='GrantViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${PolicyName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Grant = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsUserPolicy_Grant'; + GrantExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsUserPolicy_GrantExpanded'; + GrantViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsUserPolicy_GrantViaIdentity'; + GrantViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Grant-CsUserPolicy_GrantViaIdentityExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Import holidays for auto attendant. +PUT Teams.VoiceApps/auto-attendants/identity/holidays. +.Description +Import holidays for auto attendant. +PUT Teams.VoiceApps/auto-attendants/identity/holidays. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IImportAutoAttendantHolidaysRequest +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IImportAutoAttendantHolidaysResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [Id ]: + [SerializedHolidayRecord ]: + [TenantId ]: + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/import-csautoattendantholidays +#> +function Import-CsAutoAttendantHolidays { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IImportAutoAttendantHolidaysResponse])] +[CmdletBinding(DefaultParameterSetName='ImportExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Import', Mandatory)] + [Parameter(ParameterSetName='ImportExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='ImportViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='ImportViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Import', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='ImportViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IImportAutoAttendantHolidaysRequest] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='ImportExpanded')] + [Parameter(ParameterSetName='ImportViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Id}, + + [Parameter(ParameterSetName='ImportExpanded')] + [Parameter(ParameterSetName='ImportViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${SerializedHolidayRecord}, + + [Parameter(ParameterSetName='ImportExpanded')] + [Parameter(ParameterSetName='ImportViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${TenantId}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Import = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Import-CsAutoAttendantHolidays_Import'; + ImportExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Import-CsAutoAttendantHolidays_ImportExpanded'; + ImportViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Import-CsAutoAttendantHolidays_ImportViaIdentity'; + ImportViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Import-CsAutoAttendantHolidays_ImportViaIdentityExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Store a new Audio file in MSS. +POST api/v3/tenants/tenantId/audiofile. +.Description +Store a new Audio file in MSS. +POST api/v3/tenants/tenantId/audiofile. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITenantAudioFileDto +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IAudioFileDto +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + ApplicationId : + Content : + OriginalFilename : + [Id ]: + [ContextId ]: + [ConvertedFilename ]: + [DeletionTimestampOffset ]: + [DownloadUri ]: + [DownloadUriExpiryTimestampOffset ]: + [Duration ]: + [LastAccessedTimestampOffset ]: + [UploadedTimestampOffset ]: +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/import-csonlineaudiofile +#> +function Import-CsOnlineAudioFile { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IAudioFileDto])] +[CmdletBinding(DefaultParameterSetName='ImportExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Import', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITenantAudioFileDto] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='ImportExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${ApplicationId}, + + [Parameter(ParameterSetName='ImportExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Content}, + + [Parameter(ParameterSetName='ImportExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${FileName}, + + [Parameter(ParameterSetName='ImportExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${ContextId}, + + [Parameter(ParameterSetName='ImportExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${ConvertedFilename}, + + [Parameter(ParameterSetName='ImportExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.DateTime] + # . + ${DeletionTimestampOffset}, + + [Parameter(ParameterSetName='ImportExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${DownloadUri}, + + [Parameter(ParameterSetName='ImportExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.DateTime] + # . + ${DownloadUriExpiryTimestampOffset}, + + [Parameter(ParameterSetName='ImportExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Duration}, + + [Parameter(ParameterSetName='ImportExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Id}, + + [Parameter(ParameterSetName='ImportExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.DateTime] + # . + ${LastAccessedTimestampOffset}, + + [Parameter(ParameterSetName='ImportExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.DateTime] + # . + ${UploadedTimestampOffset}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Import = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Import-CsOnlineAudioFile_Import'; + ImportExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Import-CsOnlineAudioFile_ImportExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Invokes Custom Handler +.Description +Invokes Custom Handler +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICustomHandlerCallBackOutput +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/invoke-cscustomhandlercallbackngtprov +#> +function Invoke-CsCustomHandlerCallBackNgtprov { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICustomHandlerCallBackOutput])] +[CmdletBinding(DefaultParameterSetName='Post', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Unique Id of the Handler. + ${Id}, + + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Callback Operation. + ${Operation}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # EventName for the SendEventPostURI. + ${Eventname}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Post = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Invoke-CsCustomHandlerCallBackNgtprov_Post'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Post DsSync resync cmdlet +.Description +Post DsSync resync cmdlet +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDsRequestBody +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : Request body for DsSync cmdlet + [DeploymentName ]: Deployment Name + [IsValidationRequest ]: + [ObjectClass ]: Object Class enum + [ObjectId ]: GUID of the user + [ObjectIds ]: + [ReSyncOption ]: ReSync for the given entity + [ScenariosToSuppress ]: Scenarios to Suppress + [ServiceInstance ]: Service Instance of the tenant + [SynchronizeTenantWithAllObject ]: Sync all the users of the tenant +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/invoke-csdirectobjectsync +#> +function Invoke-CsDirectObjectSync { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='PostExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Post', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDsRequestBody] + # Request body for DsSync cmdlet + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Deployment Name + ${DeploymentName}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${IsValidationRequest}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Object Class enum + ${ObjectClass}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # GUID of the user + ${ObjectId}, + + [Parameter(ParameterSetName='PostExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # . + ${ObjectIds}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int64] + # ReSync for the given entity + ${ReSyncOption}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Scenarios to Suppress + ${ScenariosToSuppress}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Service Instance of the tenant + ${ServiceInstance}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Sync all the users of the tenant + ${SynchronizeTenantWithAllObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Post = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Invoke-CsDirectObjectSync_Post'; + PostExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Invoke-CsDirectObjectSync_PostExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Post resync operation cmdlet +.Description +Post resync operation cmdlet +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IResyncRequestBody +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : Request body for Resync cmdlet + [DeploymentName ]: Deployment Name + [IsValidationRequest ]: + [ObjectClass ]: Object Class enum + [ObjectId ]: + [ReSyncOption ]: ReSync for the given entity + [ScenariosToSuppress ]: Scenarios to Suppress + [ServiceInstance ]: Service Instance of the tenant + [SynchronizeTenantWithAllObject ]: Sync all the users of the tenant + [TenantId ]: TenantId GUID +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/invoke-csmsodssync +#> +function Invoke-CsMsodsSync { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='PostExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Post', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IResyncRequestBody] + # Request body for Resync cmdlet + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Deployment Name + ${DeploymentName}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${IsValidationRequest}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Object Class enum + ${ObjectClass}, + + [Parameter(ParameterSetName='PostExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # . + ${ObjectId}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int64] + # ReSync for the given entity + ${ReSyncOption}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Scenarios to Suppress + ${ScenariosToSuppress}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Service Instance of the tenant + ${ServiceInstance}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Sync all the users of the tenant + ${SynchronizeTenantWithAllObject}, + + [Parameter(ParameterSetName='PostExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # TenantId GUID + ${TenantId}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Post = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Invoke-CsMsodsSync_Post'; + PostExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Invoke-CsMsodsSync_PostExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Create a callable entity draft. +POST Teams.VoiceApps/auto-attendants/callable-entities/draft. +.Description +Create a callable entity draft. +POST Teams.VoiceApps/auto-attendants/callable-entities/draft. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateCallableEntityRequest +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateCallableEntityResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [CallPriority ]: + [EnableSharedVoicemailSystemPromptSuppression ]: + [EnableTranscription ]: + [Id ]: + [Type ]: +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-csautoattendantcallableentity +#> +function New-CsAutoAttendantCallableEntity { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateCallableEntityResponse])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateCallableEntityRequest] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${CallPriority}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${EnableSharedVoicemailSystemPromptSuppression}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${EnableTranscription}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Type}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsAutoAttendantCallableEntity_New'; + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsAutoAttendantCallableEntity_NewExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Create a call flow draft. +POST Teams.VoiceApps/auto-attendants/call-flows/draft. +.Description +Create a call flow draft. +POST Teams.VoiceApps/auto-attendants/call-flows/draft. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateCallFlowRequest +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateCallFlowResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [ForceListenMenuEnabled ]: + [Greeting ]: + [ActiveType ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [TextToSpeechPrompt ]: + [MenuDialByNameEnabled ]: + [MenuDirectorySearchMethod ]: + [MenuName ]: + [MenuOption ]: + [Action ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [CallTargetCallPriority ]: + [CallTargetEnableSharedVoicemailSystemPromptSuppression ]: + [CallTargetEnableTranscription ]: + [CallTargetId ]: + [CallTargetType ]: + [DtmfResponse ]: + [PromptActiveType ]: + [PromptTextToSpeechPrompt ]: + [VoiceResponse ]: + [MenuPrompt ]: + [Name ]: + +GREETING : . + [ActiveType ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [TextToSpeechPrompt ]: + +MENUOPTION : . + [Action ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [CallTargetCallPriority ]: + [CallTargetEnableSharedVoicemailSystemPromptSuppression ]: + [CallTargetEnableTranscription ]: + [CallTargetId ]: + [CallTargetType ]: + [DtmfResponse ]: + [PromptActiveType ]: + [PromptTextToSpeechPrompt ]: + [VoiceResponse ]: + +MENUPROMPT : . + [ActiveType ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [TextToSpeechPrompt ]: +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-csautoattendantcallflow +#> +function New-CsAutoAttendantCallFlow { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateCallFlowResponse])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateCallFlowRequest] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${ForceListenMenuEnabled}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IPrompt[]] + # . + # To construct, see NOTES section for GREETING properties and create a hash table. + ${Greeting}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${MenuDialByNameEnabled}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${MenuDirectorySearchMethod}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${MenuName}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IMenuOption[]] + # . + # To construct, see NOTES section for MENUOPTION properties and create a hash table. + ${MenuOption}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IPrompt[]] + # . + # To construct, see NOTES section for MENUPROMPT properties and create a hash table. + ${MenuPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Name}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsAutoAttendantCallFlow_New'; + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsAutoAttendantCallFlow_NewExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Create a call handling association draft. +POST Teams.VoiceApps/auto-attendants/call-handling-associations/draft. +.Description +Create a call handling association draft. +POST Teams.VoiceApps/auto-attendants/call-handling-associations/draft. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateCallHandlingAssociationRequest +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateCallHandlingAssociationResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [CallFlowId ]: + [Enabled ]: + [ScheduleId ]: + [Type ]: +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-csautoattendantcallhandlingassociation +#> +function New-CsAutoAttendantCallHandlingAssociation { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateCallHandlingAssociationResponse])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateCallHandlingAssociationRequest] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CallFlowId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${Enabled}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${ScheduleId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Type}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsAutoAttendantCallHandlingAssociation_New'; + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsAutoAttendantCallHandlingAssociation_NewExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Create a group dial scope draft. +POST Teams.VoiceApps/auto-attendants/group-dial-scopes/draft. +.Description +Create a group dial scope draft. +POST Teams.VoiceApps/auto-attendants/group-dial-scopes/draft. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateGroupDialScopeRequest +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateGroupDialScopeResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [GroupId ]: +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-csautoattendantdialscope +#> +function New-CsAutoAttendantDialScope { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateGroupDialScopeResponse])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateGroupDialScopeRequest] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # . + ${GroupIds}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsAutoAttendantDialScope_New'; + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsAutoAttendantDialScope_NewExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Create a menu option draft. +POST Teams.VoiceApps/auto-attendants/menus/menu-options/draft. +.Description +Create a menu option draft. +POST Teams.VoiceApps/auto-attendants/menus/menu-options/draft. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateMenuOptionRequest +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateMenuOptionResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [Action ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [CallTargetCallPriority ]: + [CallTargetEnableSharedVoicemailSystemPromptSuppression ]: + [CallTargetEnableTranscription ]: + [CallTargetId ]: + [CallTargetType ]: + [DtmfResponse ]: + [PromptActiveType ]: + [PromptTextToSpeechPrompt ]: + [VoiceResponse ]: +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-csautoattendantmenuoption +#> +function New-CsAutoAttendantMenuOption { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateMenuOptionResponse])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateMenuOptionRequest] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Action}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${AudioFilePromptDownloadUri}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${AudioFilePromptFileName}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${AudioFilePromptId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${CallTargetCallPriority}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${CallTargetEnableSharedVoicemailSystemPromptSuppression}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${CallTargetEnableTranscription}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CallTargetId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CallTargetType}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${DtmfResponse}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${PromptActiveType}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${PromptTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # . + ${VoiceResponses}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsAutoAttendantMenuOption_New'; + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsAutoAttendantMenuOption_NewExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Create a menu draft. +POST Teams.VoiceApps/auto-attendants/menus/draft. +.Description +Create a menu draft. +POST Teams.VoiceApps/auto-attendants/menus/draft. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateMenuRequest +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateMenuResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [DialByNameEnabled ]: + [DirectorySearchMethod ]: + [MenuOption ]: + [Action ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [CallTargetCallPriority ]: + [CallTargetEnableSharedVoicemailSystemPromptSuppression ]: + [CallTargetEnableTranscription ]: + [CallTargetId ]: + [CallTargetType ]: + [DtmfResponse ]: + [PromptActiveType ]: + [PromptTextToSpeechPrompt ]: + [VoiceResponse ]: + [Name ]: + [Prompt ]: + [ActiveType ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [TextToSpeechPrompt ]: + +MENUOPTION : . + [Action ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [CallTargetCallPriority ]: + [CallTargetEnableSharedVoicemailSystemPromptSuppression ]: + [CallTargetEnableTranscription ]: + [CallTargetId ]: + [CallTargetType ]: + [DtmfResponse ]: + [PromptActiveType ]: + [PromptTextToSpeechPrompt ]: + [VoiceResponse ]: + +PROMPT : . + [ActiveType ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [TextToSpeechPrompt ]: +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-csautoattendantmenu +#> +function New-CsAutoAttendantMenu { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateMenuResponse])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateMenuRequest] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${DirectorySearchMethod}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${EnableDialByName}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IMenuOption[]] + # . + # To construct, see NOTES section for MENUOPTION properties and create a hash table. + ${MenuOption}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Name}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IPrompt[]] + # . + # To construct, see NOTES section for PROMPT properties and create a hash table. + ${Prompt}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsAutoAttendantMenu_New'; + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsAutoAttendantMenu_NewExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Create a prompt draft. +POST Teams.VoiceApps/auto-attendants/prompts/draft. +.Description +Create a prompt draft. +POST Teams.VoiceApps/auto-attendants/prompts/draft. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreatePromptRequest +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreatePromptResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [ActiveType ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [TextToSpeechPrompt ]: +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-csautoattendantprompt +#> +function New-CsAutoAttendantPrompt { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreatePromptResponse])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreatePromptRequest] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${ActiveType}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${AudioFilePromptDownloadUri}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${AudioFilePromptFileName}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${AudioFilePromptId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${TextToSpeechPrompt}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsAutoAttendantPrompt_New'; + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsAutoAttendantPrompt_NewExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Create an AutoAttendant. +POST Teams.VoiceApps/auto-attendants. +.Description +Create an AutoAttendant. +POST Teams.VoiceApps/auto-attendants. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateAutoAttendantRequest +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateAutoAttendantResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [AuthorizedUser ]: + [CallFlow ]: + [ForceListenMenuEnabled ]: + [Greeting ]: + [ActiveType ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [TextToSpeechPrompt ]: + [Id ]: + [MenuDialByNameEnabled ]: + [MenuDirectorySearchMethod ]: + [MenuName ]: + [MenuOption ]: + [Action ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [CallTargetCallPriority ]: + [CallTargetEnableSharedVoicemailSystemPromptSuppression ]: + [CallTargetEnableTranscription ]: + [CallTargetId ]: + [CallTargetType ]: + [DtmfResponse ]: + [PromptActiveType ]: + [PromptTextToSpeechPrompt ]: + [VoiceResponse ]: + [MenuPrompt ]: + [Name ]: + [CallHandlingAssociation ]: + [CallFlowId ]: + [Enabled ]: + [Priority ]: + [ScheduleId ]: + [Type ]: + [DefaultCallFlowForceListenMenuEnabled ]: + [DefaultCallFlowGreeting ]: + [DefaultCallFlowId ]: + [DefaultCallFlowName ]: + [ExclusionScopeGroupDialScopeGroupId ]: + [ExclusionScopeType ]: + [HideAuthorizedUser ]: Gets or sets hidden authorized user ids. + [InclusionScopeGroupDialScopeGroupId ]: + [InclusionScopeType ]: + [LanguageId ]: + [MenuDialByNameEnabled ]: + [MenuDirectorySearchMethod ]: + [MenuName ]: + [MenuOption ]: + [MenuPrompt ]: + [Name ]: + [OperatorCallPriority ]: + [OperatorEnableSharedVoicemailSystemPromptSuppression ]: + [OperatorEnableTranscription ]: + [OperatorId ]: + [OperatorType ]: + [TimeZoneId ]: + [VoiceId ]: + [VoiceResponseEnabled ]: + +CALLFLOW : . + [ForceListenMenuEnabled ]: + [Greeting ]: + [ActiveType ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [TextToSpeechPrompt ]: + [Id ]: + [MenuDialByNameEnabled ]: + [MenuDirectorySearchMethod ]: + [MenuName ]: + [MenuOption ]: + [Action ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [CallTargetCallPriority ]: + [CallTargetEnableSharedVoicemailSystemPromptSuppression ]: + [CallTargetEnableTranscription ]: + [CallTargetId ]: + [CallTargetType ]: + [DtmfResponse ]: + [PromptActiveType ]: + [PromptTextToSpeechPrompt ]: + [VoiceResponse ]: + [MenuPrompt ]: + [Name ]: + +CALLHANDLINGASSOCIATION : . + [CallFlowId ]: + [Enabled ]: + [Priority ]: + [ScheduleId ]: + [Type ]: + +DEFAULTCALLFLOWGREETING : . + [ActiveType ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [TextToSpeechPrompt ]: + +MENUOPTION : . + [Action ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [CallTargetCallPriority ]: + [CallTargetEnableSharedVoicemailSystemPromptSuppression ]: + [CallTargetEnableTranscription ]: + [CallTargetId ]: + [CallTargetType ]: + [DtmfResponse ]: + [PromptActiveType ]: + [PromptTextToSpeechPrompt ]: + [VoiceResponse ]: + +MENUPROMPT : . + [ActiveType ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [TextToSpeechPrompt ]: +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-csautoattendant +#> +function New-CsAutoAttendant { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateAutoAttendantResponse])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateAutoAttendantRequest] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # . + ${AuthorizedUser}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICallFlow[]] + # . + # To construct, see NOTES section for CALLFLOW properties and create a hash table. + ${CallFlow}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICallHandlingAssociation[]] + # . + # To construct, see NOTES section for CALLHANDLINGASSOCIATION properties and create a hash table. + ${CallHandlingAssociation}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${DefaultCallFlowForceListenMenuEnabled}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IPrompt[]] + # . + # To construct, see NOTES section for DEFAULTCALLFLOWGREETING properties and create a hash table. + ${DefaultCallFlowGreeting}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${DefaultCallFlowId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${DefaultCallFlowName}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${EnableVoiceResponse}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # . + ${ExclusionScopeGroupDialScopeGroupId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${ExclusionScopeType}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # Gets or sets hidden authorized user ids. + ${HideAuthorizedUser}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # . + ${InclusionScopeGroupDialScopeGroupId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${InclusionScopeType}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${LanguageId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${MenuDialByNameEnabled}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${MenuDirectorySearchMethod}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${MenuName}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IMenuOption[]] + # . + # To construct, see NOTES section for MENUOPTION properties and create a hash table. + ${MenuOption}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IPrompt[]] + # . + # To construct, see NOTES section for MENUPROMPT properties and create a hash table. + ${MenuPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Name}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${OperatorCallPriority}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${OperatorEnableSharedVoicemailSystemPromptSuppression}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${OperatorEnableTranscription}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${OperatorId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${OperatorType}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${TimeZoneId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${VoiceId}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsAutoAttendant_New'; + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsAutoAttendant_NewExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Starts Deployment at Scale +.Description +Starts Deployment at Scale +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IFlwoServiceModelsFlwosBatchRequest +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IFlwoServiceModelsFlwosBatchRequestResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + DeploymentCsv : + [UsersToNotify ]: +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-csbatchteamsdeployment +#> +function New-CsBatchTeamsDeployment { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IFlwoServiceModelsFlwosBatchRequestResponse])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IFlwoServiceModelsFlwosBatchRequest] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='NewExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${DeploymentCsv}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${UsersToNotify}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsBatchTeamsDeployment_New'; + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsBatchTeamsDeployment_NewExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Create call queue. +POST Teams.VoiceApps/callqueues. +.Description +Create call queue. +POST Teams.VoiceApps/callqueues. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateCallQueueRequest +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateCallQueueResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +AGENT : Gets or sets the Call Queue's agents list. + [ObjectId ]: + [OptIn ]: + +BODY : CallQueue creation request DTO class. + [Agent ]: Gets or sets the Call Queue's agents list. + [ObjectId ]: + [OptIn ]: + [AgentAlertTime ]: Gets or sets the number of seconds that a call can remain unanswered. + [AllowOptOut ]: Gets or sets a value indicating whether to allow agent optout on CallQueue. + [AuthorizedUser ]: Gets or sets authorized user ids. + [CallToAgentRatioThresholdBeforeOfferingCallback ]: + [CallbackEmailNotificationTarget ]: Gets or sets the callback email notification target. + [CallbackOfferAudioFilePromptResourceId ]: + [CallbackOfferTextToSpeechPrompt ]: + [CallbackRequestDtmf ]: + [ConferenceMode ]: Gets or sets a value indicating whether to allow Conference Mode on CallQueue. + [DistributionList ]: Gets or sets the Call Queue's Distribution Lists. + [EnableNoAgentSharedVoicemailSystemPromptSuppression ]: Gets or sets a value indicating if system message should be suppressed or not. + [EnableNoAgentSharedVoicemailTranscription ]: Gets or sets a value indicating if transcription should be turned on or not. + [EnableOverflowSharedVoicemailSystemPromptSuppression ]: Gets or sets a value indicating if system message should be suppressed or not. + [EnableOverflowSharedVoicemailTranscription ]: Gets or sets a value indicating if transcription should be turned on or not. + [EnableResourceAccountsForObo ]: Gets or sets a value indicating whether to allow CQ+Chanined RA's as permissioned RA's. + [EnableTimeoutSharedVoicemailSystemPromptSuppression ]: Gets or sets a value indicating if system message should be suppressed or not. + [EnableTimeoutSharedVoicemailTranscription ]: Gets or sets a value indicating if transcription should be turned on or not. + [HideAuthorizedUser ]: Gets or sets hidden authorized user ids. + [IsCallbackEnabled ]: + [LanguageId ]: Gets or sets the language Id used for TTS. + [MusicOnHoldAudioFileId ]: Gets or sets music on hold audio file id. + [Name ]: Gets or sets The Call Queue's name. + [NoAgentAction ]: Gets or sets the action to take if the NoAgent is LoggedIn/OptedIn. + [NoAgentActionCallPriority ]: Gets or sets the CallPriority when a CQ transfers the call to another CQ upon the occurrence of no agent. + [NoAgentActionTarget ]: Gets or sets the target of the NoAgent action. + [NoAgentApplyTo ]: Determines whether NoAgentAction is to be applied to All Calls or New Calls only. + [NoAgentDisconnectAudioFilePrompt ]: Gets or sets the audio file to be played when call is disconnected on NoAgent. + [NoAgentDisconnectTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is disconnected on NoAgent. + [NoAgentRedirectPersonAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to person on NoAgent. + [NoAgentRedirectPersonTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to person on NoAgent. + [NoAgentRedirectPhoneNumberAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to phone number on NoAgent. + [NoAgentRedirectPhoneNumberTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to phone number on NoAgent. + [NoAgentRedirectVoiceAppAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to voiceapp on NoAgent. + [NoAgentRedirectVoiceAppTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to voiceapp on NoAgent. + [NoAgentRedirectVoicemailAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to voicemail on NoAgent. + [NoAgentRedirectVoicemailTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to voicemail on NoAgent. + [NoAgentSharedVoicemailAudioFilePrompt ]: Gets or sets the audio file to be played when forwarding callers to shared voicemail. + [NoAgentSharedVoicemailTextToSpeechPrompt ]: Gets or sets the TTS to be played when forwarding callers to shared voicemail. + [NumberOfCallsInQueueBeforeOfferingCallback ]: + [OboResourceAccountId ]: Gets or sets the Obo resource account ids. + [OverflowAction ]: Gets or sets the action to take when the overflow threshold is reached. + [OverflowActionCallPriority ]: Gets or sets the CallPriority when a CQ transfers the call to another CQ upon the occurrence of overflow. + [OverflowActionTarget ]: Gets or sets the target of the overflow action. + [OverflowDisconnectAudioFilePrompt ]: Gets or sets the audio file to be played when call is disconnected on overflow. + [OverflowDisconnectTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is disconnected on overflow. + [OverflowRedirectPersonAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to person on overflow. + [OverflowRedirectPersonTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to person on overflow. + [OverflowRedirectPhoneNumberAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to phone number on overflow. + [OverflowRedirectPhoneNumberTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to phone number on overflow. + [OverflowRedirectVoiceAppAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to voiceapp on overflow. + [OverflowRedirectVoiceAppTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to voiceapp on overflow. + [OverflowRedirectVoicemailAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to voicemail on overflow. + [OverflowRedirectVoicemailTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to voicemail on overflow. + [OverflowSharedVoicemailAudioFilePrompt ]: Gets or sets the audio file to be played when forwarding callers to shared voicemai. + [OverflowSharedVoicemailTextToSpeechPrompt ]: Gets or sets the TTS to be played when forwarding callers to shared voicemail. + [OverflowThreshold ]: Gets or sets the number of simultaneous calls that can be in the queue at any one time. + [PresenceAwareRouting ]: Gets or sets a value indicating whether to enable presence aware routing. + [RoutingMethod ]: Gets or sets the routing method for the Call Queue. + [ServiceLevelThresholdResponseTimeInSecond ]: + [ShouldOverwriteCallableChannelProperty ]: Gets or sets ShouldOverwriteCallableChannelProperty flag that indicates user intention to whether overwirte the current callableChannel property value on chat service or not. + [ThreadId ]: Gets or sets teams channel thread id if user choose to sync CQ with a channel. + [TimeoutAction ]: Gets or sets the action to take if the timeout threshold is reached. + [TimeoutActionCallPriority ]: Gets or sets the CallPriority when a CQ transfers the call to another CQ upon the occurrence of timeout. + [TimeoutActionTarget ]: Gets or sets the target of the timeout action. + [TimeoutDisconnectAudioFilePrompt ]: Gets or sets the audio file to be played when call is disconnected on Timeout. + [TimeoutDisconnectTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is disconnected on Timeout. + [TimeoutRedirectPersonAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to person on Timeout. + [TimeoutRedirectPersonTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to person on Timeout. + [TimeoutRedirectPhoneNumberAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to phone number on Timeout. + [TimeoutRedirectPhoneNumberTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to phone number on Timeout. + [TimeoutRedirectVoiceAppAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to voiceapp on Timeout. + [TimeoutRedirectVoiceAppTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to voiceapp on Timeout. + [TimeoutRedirectVoicemailAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to voicemail on Timeout. + [TimeoutRedirectVoicemailTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to voicemail on Timeout. + [TimeoutSharedVoicemailAudioFilePrompt ]: Gets or sets the audio file to be played when forwarding callers to shared voicemai. + [TimeoutSharedVoicemailTextToSpeechPrompt ]: Gets or sets the TTS to be played when forwarding callers to shared voicemail. + [TimeoutThreshold ]: Gets or sets the number of minutes that a call can be in the queue before it times out. + [UseDefaultMusicOnHold ]: Gets or sets a value indicating whether to use default music on hold audio file. + [User ]: Gets or sets the Call Queue's Users. + [WaitTimeBeforeOfferingCallbackInSecond ]: + [WelcomeMusicAudioFileId ]: Gets or sets welcome music audio file id. + [WelcomeTextToSpeechPrompt ]: Gets or sets welcome text to speech content. +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-cscallqueue +#> +function New-CsCallQueue { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateCallQueueResponse])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${ChannelUserObjectId}, + + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateCallQueueRequest] + # CallQueue creation request DTO class. + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IAgent[]] + # Gets or sets the Call Queue's agents list. + # To construct, see NOTES section for AGENT properties and create a hash table. + ${Agent}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the number of seconds that a call can remain unanswered. + ${AgentAlertTime}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether to allow agent optout on CallQueue. + ${AllowOptOut}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # Gets or sets authorized user ids. + ${AuthorizedUsers}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${CallToAgentRatioThresholdBeforeOfferingCallback}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the callback email notification target. + ${CallbackEmailNotificationTarget}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CallbackOfferAudioFilePromptResourceId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CallbackOfferTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CallbackRequestDtmf}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether to allow Conference Mode on CallQueue. + ${ConferenceMode}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # Gets or sets the Call Queue's Distribution Lists. + ${DistributionLists}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating if system message should be suppressed or not. + ${EnableNoAgentSharedVoicemailSystemPromptSuppression}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating if transcription should be turned on or not. + ${EnableNoAgentSharedVoicemailTranscription}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating if system message should be suppressed or not. + ${EnableOverflowSharedVoicemailSystemPromptSuppression}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating if transcription should be turned on or not. + ${EnableOverflowSharedVoicemailTranscription}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether to allow CQ+Chanined RA's as permissioned RA's. + ${EnableResourceAccountsForObo}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating if system message should be suppressed or not. + ${EnableTimeoutSharedVoicemailSystemPromptSuppression}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating if transcription should be turned on or not. + ${EnableTimeoutSharedVoicemailTranscription}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # Gets or sets hidden authorized user ids. + ${HideAuthorizedUsers}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${IsCallbackEnabled}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the language Id used for TTS. + ${LanguageId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets music on hold audio file id. + ${MusicOnHoldAudioFileId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets The Call Queue's name. + ${Name}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the action to take if the NoAgent is LoggedIn/OptedIn. + ${NoAgentAction}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the CallPriority when a CQ transfers the call to another CQ upon the occurrence of no agent. + ${NoAgentActionCallPriority}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the target of the NoAgent action. + ${NoAgentActionTarget}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Determines whether NoAgentAction is to be applied to All Calls or New Calls only. + ${NoAgentApplyTo}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is disconnected on NoAgent. + ${NoAgentDisconnectAudioFilePrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is disconnected on NoAgent. + ${NoAgentDisconnectTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to person on NoAgent. + ${NoAgentRedirectPersonAudioFilePrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to person on NoAgent. + ${NoAgentRedirectPersonTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to phone number on NoAgent. + ${NoAgentRedirectPhoneNumberAudioFilePrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to phone number on NoAgent. + ${NoAgentRedirectPhoneNumberTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to voiceapp on NoAgent. + ${NoAgentRedirectVoiceAppAudioFilePrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to voiceapp on NoAgent. + ${NoAgentRedirectVoiceAppTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to voicemail on NoAgent. + ${NoAgentRedirectVoicemailAudioFilePrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to voicemail on NoAgent. + ${NoAgentRedirectVoicemailTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when forwarding callers to shared voicemail. + ${NoAgentSharedVoicemailAudioFilePrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when forwarding callers to shared voicemail. + ${NoAgentSharedVoicemailTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${NumberOfCallsInQueueBeforeOfferingCallback}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # Gets or sets the Obo resource account ids. + ${OboResourceAccountIds}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the action to take when the overflow threshold is reached. + ${OverflowAction}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the CallPriority when a CQ transfers the call to another CQ upon the occurrence of overflow. + ${OverflowActionCallPriority}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the target of the overflow action. + ${OverflowActionTarget}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is disconnected on overflow. + ${OverflowDisconnectAudioFilePrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is disconnected on overflow. + ${OverflowDisconnectTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to person on overflow. + ${OverflowRedirectPersonAudioFilePrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to person on overflow. + ${OverflowRedirectPersonTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to phone number on overflow. + ${OverflowRedirectPhoneNumberAudioFilePrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to phone number on overflow. + ${OverflowRedirectPhoneNumberTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to voiceapp on overflow. + ${OverflowRedirectVoiceAppAudioFilePrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to voiceapp on overflow. + ${OverflowRedirectVoiceAppTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to voicemail on overflow. + ${OverflowRedirectVoicemailAudioFilePrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to voicemail on overflow. + ${OverflowRedirectVoicemailTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when forwarding callers to shared voicemai. + ${OverflowSharedVoicemailAudioFilePrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when forwarding callers to shared voicemail. + ${OverflowSharedVoicemailTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the number of simultaneous calls that can be in the queue at any one time. + ${OverflowThreshold}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether to enable presence aware routing. + ${PresenceAwareRouting}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the routing method for the Call Queue. + ${RoutingMethod}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${ServiceLevelThresholdResponseTimeInSecond}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets ShouldOverwriteCallableChannelProperty flag that indicates user intention to whether overwirte the current callableChannel property value on chat service or not. + ${ShouldOverwriteCallableChannelProperty}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets teams channel thread id if user choose to sync CQ with a channel. + ${ThreadId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the action to take if the timeout threshold is reached. + ${TimeoutAction}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the CallPriority when a CQ transfers the call to another CQ upon the occurrence of timeout. + ${TimeoutActionCallPriority}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the target of the timeout action. + ${TimeoutActionTarget}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is disconnected on Timeout. + ${TimeoutDisconnectAudioFilePrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is disconnected on Timeout. + ${TimeoutDisconnectTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to person on Timeout. + ${TimeoutRedirectPersonAudioFilePrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to person on Timeout. + ${TimeoutRedirectPersonTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to phone number on Timeout. + ${TimeoutRedirectPhoneNumberAudioFilePrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to phone number on Timeout. + ${TimeoutRedirectPhoneNumberTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to voiceapp on Timeout. + ${TimeoutRedirectVoiceAppAudioFilePrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to voiceapp on Timeout. + ${TimeoutRedirectVoiceAppTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to voicemail on Timeout. + ${TimeoutRedirectVoicemailAudioFilePrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to voicemail on Timeout. + ${TimeoutRedirectVoicemailTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when forwarding callers to shared voicemai. + ${TimeoutSharedVoicemailAudioFilePrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when forwarding callers to shared voicemail. + ${TimeoutSharedVoicemailTextToSpeechPrompt}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the number of minutes that a call can be in the queue before it times out. + ${TimeoutThreshold}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether to use default music on hold audio file. + ${UseDefaultMusicOnHold}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # Gets or sets the Call Queue's Users. + ${Users}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${WaitTimeBeforeOfferingCallbackInSecond}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets welcome music audio file id. + ${WelcomeMusicAudioFileId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets welcome text to speech content. + ${WelcomeTextToSpeechPrompt}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsCallQueue_New'; + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsCallQueue_NewExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Create new configuration +.Description +Create new configuration +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IXdsConfiguration +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [(Any) ]: This indicates any property can be added to this object. + Identity : + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-csconfiguration +#> +function New-CsConfiguration { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Create', Mandatory)] + [Parameter(ParameterSetName='CreateExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${ConfigType}, + + [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='CreateViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Api Version + ${ApiVersion}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${SchemaVersion}, + + [Parameter(ParameterSetName='Create', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IXdsConfiguration] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='CreateExpanded', Mandatory)] + [Parameter(ParameterSetName='CreateViaIdentityExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='CreateExpanded')] + [Parameter(ParameterSetName='CreateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Collections.Hashtable] + # Additional Parameters + ${AdditionalProperties}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Create = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsConfiguration_Create'; + CreateExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsConfiguration_CreateExpanded'; + CreateViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsConfiguration_CreateViaIdentity'; + CreateViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsConfiguration_CreateViaIdentityExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Create a policy package +.Description +Create a policy package +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +System.String +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +POLICYLIST : . + PolicyName : + PolicyType : +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-cscustompolicypackage +#> +function New-CsCustomPolicyPackage { +[OutputType([System.String])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Identity}, + + [Parameter(Mandatory)] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IPackageServiceModelsRequestsPolicyTypeAndName[]] + # . + # To construct, see NOTES section for POLICYLIST properties and create a hash table. + ${PolicyList}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Description}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsCustomPolicyPackage_NewExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Create application instance associations. +POST Teams.VoiceApps/applicationinstanceassociations. +.Description +Create application instance associations. +POST Teams.VoiceApps/applicationinstanceassociations. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateApplicationInstanceAssociationsRequest +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateApplicationInstanceAssociationsResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [CallPriority ]: + [ConfigurationId ]: + [ConfigurationType ]: + [EndpointsId ]: +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-csonlineapplicationinstanceassociation +#> +function New-CsOnlineApplicationInstanceAssociation { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateApplicationInstanceAssociationsResponse])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateApplicationInstanceAssociationsRequest] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${CallPriority}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${ConfigurationId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${ConfigurationType}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # . + ${Identities}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsOnlineApplicationInstanceAssociation_New'; + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsOnlineApplicationInstanceAssociation_NewExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Create a date time range draft. +POST Teams.VoiceApps/schedules/date-time-ranges/draft. +.Description +Create a date time range draft. +POST Teams.VoiceApps/schedules/date-time-ranges/draft. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateDateTimeRangeRequest +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateDateTimeRangeResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [End ]: + [Start ]: +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-csonlinedatetimerange +#> +function New-CsOnlineDateTimeRange { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateDateTimeRangeResponse])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateDateTimeRangeRequest] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${End}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Start}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsOnlineDateTimeRange_New'; + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsOnlineDateTimeRange_NewExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Create a schedule. +POST Teams.VoiceApps/schedules. +.Description +Create a schedule. +POST Teams.VoiceApps/schedules. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateScheduleRequest +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateScheduleResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [FixedScheduleDateTimeRange ]: + [End ]: + [Start ]: + [Name ]: + [RecurrenceRangeEnd ]: + [RecurrenceRangeNumberOfOccurrence ]: + [RecurrenceRangeStart ]: + [RecurrenceRangeType ]: + [WeeklyRecurrentScheduleFridayHour ]: + [End ]: + [Start ]: + [WeeklyRecurrentScheduleIsComplemented ]: + [WeeklyRecurrentScheduleMondayHour ]: + [WeeklyRecurrentScheduleSaturdayHour ]: + [WeeklyRecurrentScheduleSundayHour ]: + [WeeklyRecurrentScheduleThursdayHour ]: + [WeeklyRecurrentScheduleTuesdayHour ]: + [WeeklyRecurrentScheduleWednesdayHour ]: + +FIXEDSCHEDULEDATETIMERANGE : . + [End ]: + [Start ]: + +WEEKLYRECURRENTSCHEDULEFRIDAYHOUR : . + [End ]: + [Start ]: + +WEEKLYRECURRENTSCHEDULEMONDAYHOUR : . + [End ]: + [Start ]: + +WEEKLYRECURRENTSCHEDULESATURDAYHOUR : . + [End ]: + [Start ]: + +WEEKLYRECURRENTSCHEDULESUNDAYHOUR : . + [End ]: + [Start ]: + +WEEKLYRECURRENTSCHEDULETHURSDAYHOUR : . + [End ]: + [Start ]: + +WEEKLYRECURRENTSCHEDULETUESDAYHOUR : . + [End ]: + [Start ]: + +WEEKLYRECURRENTSCHEDULEWEDNESDAYHOUR : . + [End ]: + [Start ]: +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-csonlineschedule +#> +function New-CsOnlineSchedule { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateScheduleResponse])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateScheduleRequest] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDateTimeRange[]] + # . + # To construct, see NOTES section for FIXEDSCHEDULEDATETIMERANGE properties and create a hash table. + ${FixedScheduleDateTimeRange}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Name}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.DateTime] + # . + ${RecurrenceRangeEnd}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${RecurrenceRangeNumberOfOccurrence}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.DateTime] + # . + ${RecurrenceRangeStart}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${RecurrenceRangeType}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITimeRange[]] + # . + # To construct, see NOTES section for WEEKLYRECURRENTSCHEDULEFRIDAYHOUR properties and create a hash table. + ${WeeklyRecurrentScheduleFridayHour}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${WeeklyRecurrentScheduleIsComplemented}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITimeRange[]] + # . + # To construct, see NOTES section for WEEKLYRECURRENTSCHEDULEMONDAYHOUR properties and create a hash table. + ${WeeklyRecurrentScheduleMondayHour}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITimeRange[]] + # . + # To construct, see NOTES section for WEEKLYRECURRENTSCHEDULESATURDAYHOUR properties and create a hash table. + ${WeeklyRecurrentScheduleSaturdayHour}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITimeRange[]] + # . + # To construct, see NOTES section for WEEKLYRECURRENTSCHEDULESUNDAYHOUR properties and create a hash table. + ${WeeklyRecurrentScheduleSundayHour}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITimeRange[]] + # . + # To construct, see NOTES section for WEEKLYRECURRENTSCHEDULETHURSDAYHOUR properties and create a hash table. + ${WeeklyRecurrentScheduleThursdayHour}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITimeRange[]] + # . + # To construct, see NOTES section for WEEKLYRECURRENTSCHEDULETUESDAYHOUR properties and create a hash table. + ${WeeklyRecurrentScheduleTuesdayHour}, + + [Parameter(ParameterSetName='NewExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITimeRange[]] + # . + # To construct, see NOTES section for WEEKLYRECURRENTSCHEDULEWEDNESDAYHOUR properties and create a hash table. + ${WeeklyRecurrentScheduleWednesdayHour}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsOnlineSchedule_New'; + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsOnlineSchedule_NewExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Create a time range draft. +POST Teams.VoiceApps/schedules/time-ranges/draft. +.Description +Create a time range draft. +POST Teams.VoiceApps/schedules/time-ranges/draft. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateTimeRangeRequest +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateTimeRangeResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [End ]: + [Start ]: +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-csonlinetimerange +#> +function New-CsOnlineTimeRange { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateTimeRangeResponse])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateTimeRangeRequest] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${End}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Start}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsOnlineTimeRange_New'; + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsOnlineTimeRange_NewExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Create New Bulk Sign in Request +.Description +Create New Bulk Sign in Request +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISdgBulkSignInRequestItem[] +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISdgBulkSignInResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : Array of SDGBulkSignInRequestItem + [HardwareId ]: + [UserName ]: +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-cssdgbulksigninrequest +#> +function New-CsSdgBulkSignInRequest { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISdgBulkSignInResponse])] +[CmdletBinding(DefaultParameterSetName='New', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Target Region where the device is located + ${TargetRegion}, + + [Parameter(Mandatory, ValueFromPipeline)] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISdgBulkSignInRequestItem[]] + # Array of SDGBulkSignInRequestItem + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsSdgBulkSignInRequest_New'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis + +.Description + +.Example +PS C:\> (Get-CsTeamTemplate -OdataId '/api/teamtemplates/v1.0/com.microsoft.teams.template.AdoptOffice365/Public/en-US') > input.json +# open json in your favorite editor, make changes + +PS C:\> New-CsTeamTemplate -Locale en-US -Body (Get-Content '.\input.json' | Out-String) + +{ + "id": "061fe692-7da7-4f65-a57b-0472cf0045af", + "name": "New Template", + "scope": "Tenant", + "shortDescription": "New Description", + "iconUri": "https://statics.teams.cdn.office.net/evergreen-assets/teamtemplates/icons/default_tenant.svg", + "channelCount": 2, + "appCount": 2, + "modifiedOn": "2020-12-10T18:46:52.7231705Z", + "modifiedBy": "6c4445f6-a23d-473c-951d-7474d289c6b3", + "locale": "en-US", + "@odata.id": "/api/teamtemplates/v1.0/061fe692-7da7-4f65-a57b-0472cf0045af/Tenant/en-US" +} +.Example +PS C:\> New-CsTeamTemplate ` +-Locale en-US ` +-DisplayName 'New Template' ` +-ShortDescription 'New Description' ` +-App @{id='feda49f8-b9f2-4985-90f0-dd88a8f80ee1'}, @{id='1d71218a-92ad-4254-be15-c5ab7a3e4423'} ` +-Channel @{ ` + displayName="General"; ` + id="General"; ` + isFavoriteByDefault=$true; ` +}, ` +@{ ` + displayName="test"; ` + id="b82b7d0a-6bc9-4fd8-bf09-d432e4ea0475"; ` + isFavoriteByDefault=$false; ` +} + + +{ + "id": "061fe692-7da7-4f65-a57b-0472cf0045af", + "name": "New Template", + "scope": "Tenant", + "shortDescription": "New Description", + "iconUri": "https://statics.teams.cdn.office.net/evergreen-assets/teamtemplates/icons/default_tenant.svg", + "channelCount": 2, + "appCount": 2, + "modifiedOn": "2020-12-10T18:46:52.7231705Z", + "modifiedBy": "6c4445f6-a23d-473c-951d-7474d289c6b3", + "locale": "en-US", + "@odata.id": "/api/teamtemplates/v1.0/061fe692-7da7-4f65-a57b-0472cf0045af/Tenant/en-US" +} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplate +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateTemplateResponse +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplateErrorResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +APP : Gets or sets the set of applications that should be installed in teams created based on the template.The app catalog is the main directory for information about each app; this set is intended only as a reference. + [Id ]: Gets or sets the app's ID in the global apps catalog. + +BODY : The client input for a request to create a template. Only admins from Config Api can perform this request. + DisplayName : Gets or sets the team's DisplayName. + ShortDescription : Gets or sets template short description. + [App ]: Gets or sets the set of applications that should be installed in teams created based on the template. The app catalog is the main directory for information about each app; this set is intended only as a reference. + [Id ]: Gets or sets the app's ID in the global apps catalog. + [Category ]: Gets or sets list of categories. + [Channel ]: Gets or sets the set of channel templates included in the team template. + [Description ]: Gets or sets channel description as displayed to users. + [DisplayName ]: Gets or sets channel name as displayed to users. + [Id ]: Gets or sets identifier for the channel template. + [IsFavoriteByDefault ]: Gets or sets a value indicating whether whether new members of the team should automatically favorite the channel, pinning it for visibility in the UI and using resources to make switching to the channel faster. + [Tab ]: Gets or sets collection of tabs that should be added to the channel. + [Configuration ]: Represents the configuration of a tab. + [ContentUrl ]: Gets or sets the Url used for rendering tab contents in Teams. + [EntityId ]: Gets or sets the identifier for the entity hosted by the tab provider. + [RemoveUrl ]: Gets or sets the Url that is invoked when the user tries to remove a tab from the FE client. + [WebsiteUrl ]: Gets or sets the Url for showing tab contents outside of Teams. + [Id ]: Gets or sets identifier for the channel tab template. + [Key ]: Gets a unique identifier. + [MessageId ]: Gets or sets id used to identify the chat message associated with the tab. + [Name ]: Gets or sets the tab name displayed to users. + [SortOrderIndex ]: Gets or sets index of the order used for sorting tabs. + [TeamsAppId ]: Gets or sets the app's id in the global apps catalog. + [WebUrl ]: Gets or sets the deep link url of the tab instance. + [Classification ]: Gets or sets the team's classification. Tenant admins configure AAD with the set of possible values. + [Description ]: Gets or sets the team's Description. + [DiscoverySetting ]: Governs discoverability of a team. + ShowInTeamsSearchAndSuggestion : Gets or sets value indicating if team is visible within search and suggestions in Teams clients. + [FunSetting ]: Governs use of fun media like giphy and stickers in the team. + AllowCustomMeme : Gets or sets a value indicating whether users are allowed to create and post custom meme images in team conversations. + AllowGiphy : Gets or sets a value indicating whether users can post giphy content in team conversations. + AllowStickersAndMeme : Gets or sets a value indicating whether users can post stickers and memes in team conversations. + GiphyContentRating : Gets or sets the rating filter on giphy content. + [GuestSetting ]: Guest role settings for the team. + AllowCreateUpdateChannel : Gets or sets a value indicating whether guests can create or edit channels in the team. + AllowDeleteChannel : Gets or sets a value indicating whether guests can delete team channels. + [Icon ]: Gets or sets template icon. + [IsMembershipLimitedToOwner ]: Gets or sets whether to limit the membership of the team to owners in the AAD group until an owner "activates" the team. + [MemberSetting ]: Member role settings for the team. + AllowAddRemoveApp : Gets or sets a value indicating whether members can add or remove apps in the team. + AllowCreatePrivateChannel : Gets or Sets a value indicating whether members can create Private channels. + AllowCreateUpdateChannel : Gets or sets a value indicating whether members can create or edit channels in the team. + AllowCreateUpdateRemoveConnector : Gets or sets a value indicating whether members can add, edit, or remove connectors in the team. + AllowCreateUpdateRemoveTab : Gets or sets a value indicating whether members can add, edit or remove pinned tabs in the team. + AllowDeleteChannel : Gets or sets a value indicating whether members can delete team channels. + UploadCustomApp : Gets or sets a value indicating is allowed to upload custom apps. + [MessagingSetting ]: Governs use of messaging features within the team These are settings the team owner should be able to modify from UI after team creation. + AllowChannelMention : Gets or sets a value indicating whether team members can at-mention entire channels in team conversations. + AllowOwnerDeleteMessage : Gets or sets a value indicating whether team owners can delete anyone's messages in team conversations. + AllowTeamMention : Gets or sets a value indicating whether team members can at-mention the entire team in team conversations. + AllowUserDeleteMessage : Gets or sets a value indicating whether team members can delete their own messages in team conversations. + AllowUserEditMessage : Gets or sets a value indicating whether team members can edit their own messages in team conversations. + [OwnerUserObjectId ]: Gets or sets the AAD user object id of the user who should be set as the owner of the new team. Only to be used when an application or administrative user is making the request on behalf of the specified user. + [PublishedBy ]: Gets or sets published name. + [Specialization ]: The specialization or use case describing the team. Used for telemetry/BI, part of the team context exposed to app developers, and for legacy implementations of differentiated features for education. + [TemplateId ]: Gets or sets the id of the base template for the team. Either a Microsoft base template or a custom template. + [Uri ]: Gets or sets uri to be used for GetTemplate api call. + [Visibility ]: Used to control the scope of users who can view a group/team and its members, and ability to join. + +CHANNEL : Gets or sets the set of channel templates included in the team template. + [Description ]: Gets or sets channel description as displayed to users. + [DisplayName ]: Gets or sets channel name as displayed to users. + [Id ]: Gets or sets identifier for the channel template. + [IsFavoriteByDefault ]: Gets or sets a value indicating whether whether new members of the team should automatically favorite the channel, pinning it for visibility in the UI and using resources to make switching to the channel faster. + [Tab ]: Gets or sets collection of tabs that should be added to the channel. + [Configuration ]: Represents the configuration of a tab. + [ContentUrl ]: Gets or sets the Url used for rendering tab contents in Teams. + [EntityId ]: Gets or sets the identifier for the entity hosted by the tab provider. + [RemoveUrl ]: Gets or sets the Url that is invoked when the user tries to remove a tab from the FE client. + [WebsiteUrl ]: Gets or sets the Url for showing tab contents outside of Teams. + [Id ]: Gets or sets identifier for the channel tab template. + [Key ]: Gets a unique identifier. + [MessageId ]: Gets or sets id used to identify the chat message associated with the tab. + [Name ]: Gets or sets the tab name displayed to users. + [SortOrderIndex ]: Gets or sets index of the order used for sorting tabs. + [TeamsAppId ]: Gets or sets the app's id in the global apps catalog. + [WebUrl ]: Gets or sets the deep link url of the tab instance. + +DISCOVERYSETTING : Governs discoverability of a team. + ShowInTeamsSearchAndSuggestion : Gets or sets value indicating if team is visible within search and suggestions in Teams clients. + +FUNSETTING : Governs use of fun media like giphy and stickers in the team. + AllowCustomMeme : Gets or sets a value indicating whether users are allowed to create and post custom meme images in team conversations. + AllowGiphy : Gets or sets a value indicating whether users can post giphy content in team conversations. + AllowStickersAndMeme : Gets or sets a value indicating whether users can post stickers and memes in team conversations. + GiphyContentRating : Gets or sets the rating filter on giphy content. + +GUESTSETTING : Guest role settings for the team. + AllowCreateUpdateChannel : Gets or sets a value indicating whether guests can create or edit channels in the team. + AllowDeleteChannel : Gets or sets a value indicating whether guests can delete team channels. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id + +MEMBERSETTING : Member role settings for the team. + AllowAddRemoveApp : Gets or sets a value indicating whether members can add or remove apps in the team. + AllowCreatePrivateChannel : Gets or Sets a value indicating whether members can create Private channels. + AllowCreateUpdateChannel : Gets or sets a value indicating whether members can create or edit channels in the team. + AllowCreateUpdateRemoveConnector : Gets or sets a value indicating whether members can add, edit, or remove connectors in the team. + AllowCreateUpdateRemoveTab : Gets or sets a value indicating whether members can add, edit or remove pinned tabs in the team. + AllowDeleteChannel : Gets or sets a value indicating whether members can delete team channels. + UploadCustomApp : Gets or sets a value indicating is allowed to upload custom apps. + +MESSAGINGSETTING : Governs use of messaging features within the teamThese are settings the team owner should be able to modify from UI after team creation. + AllowChannelMention : Gets or sets a value indicating whether team members can at-mention entire channels in team conversations. + AllowOwnerDeleteMessage : Gets or sets a value indicating whether team owners can delete anyone's messages in team conversations. + AllowTeamMention : Gets or sets a value indicating whether team members can at-mention the entire team in team conversations. + AllowUserDeleteMessage : Gets or sets a value indicating whether team members can delete their own messages in team conversations. + AllowUserEditMessage : Gets or sets a value indicating whether team members can edit their own messages in team conversations. +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-csteamtemplate +#> +function New-CsTeamTemplate { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICreateTemplateResponse], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplateErrorResponse])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='New', Mandatory)] + [Parameter(ParameterSetName='NewExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Locale}, + + [Parameter(ParameterSetName='NewViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='NewViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='NewViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamTemplate] + # The client input for a request to create a template. + # Only admins from Config Api can perform this request. + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='NewExpanded', Mandatory)] + [Parameter(ParameterSetName='NewViaIdentityExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the team's DisplayName. + ${DisplayName}, + + [Parameter(ParameterSetName='NewExpanded', Mandatory)] + [Parameter(ParameterSetName='NewViaIdentityExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets template short description. + ${ShortDescription}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamsAppTemplate[]] + # Gets or sets the set of applications that should be installed in teams created based on the template.The app catalog is the main directory for information about each app; this set is intended only as a reference. + # To construct, see NOTES section for APP properties and create a hash table. + ${App}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # Gets or sets list of categories. + ${Category}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IChannelTemplate[]] + # Gets or sets the set of channel templates included in the team template. + # To construct, see NOTES section for CHANNEL properties and create a hash table. + ${Channel}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the team's classification.Tenant admins configure AAD with the set of possible values. + ${Classification}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the team's Description. + ${Description}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamDiscoverySettings] + # Governs discoverability of a team. + # To construct, see NOTES section for DISCOVERYSETTING properties and create a hash table. + ${DiscoverySetting}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamFunSettings] + # Governs use of fun media like giphy and stickers in the team. + # To construct, see NOTES section for FUNSETTING properties and create a hash table. + ${FunSetting}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamGuestSettings] + # Guest role settings for the team. + # To construct, see NOTES section for GUESTSETTING properties and create a hash table. + ${GuestSetting}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets template icon. + ${Icon}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets whether to limit the membership of the team to owners in the AAD group until an owner "activates" the team. + ${IsMembershipLimitedToOwner}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamMemberSettings] + # Member role settings for the team. + # To construct, see NOTES section for MEMBERSETTING properties and create a hash table. + ${MemberSetting}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITeamMessagingSettings] + # Governs use of messaging features within the teamThese are settings the team owner should be able to modify from UI after team creation. + # To construct, see NOTES section for MESSAGINGSETTING properties and create a hash table. + ${MessagingSetting}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the AAD user object id of the user who should be set as the owner of the new team.Only to be used when an application or administrative user is making the request on behalf of the specified user. + ${OwnerUserObjectId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets published name. + ${PublishedBy}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The specialization or use case describing the team.Used for telemetry/BI, part of the team context exposed to app developers, and for legacy implementations of differentiated features for education. + ${Specialization}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the id of the base template for the team.Either a Microsoft base template or a custom template. + ${TemplateId}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets uri to be used for GetTemplate api call. + ${Uri}, + + [Parameter(ParameterSetName='NewExpanded')] + [Parameter(ParameterSetName='NewViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Used to control the scope of users who can view a group/team and its members, and ability to join. + ${Visibility}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamTemplate_New'; + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamTemplate_NewExpanded'; + NewViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamTemplate_NewViaIdentity'; + NewViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTeamTemplate_NewViaIdentityExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Invokes tenant migration +.Description +Invokes tenant migration +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITenantMigration +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITenantMigrationResult +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : Payload for tenant migration + [MoveOption ]: MoveOption can take following values PrepForMove, StartDualSync, Finalize. + [TargetServiceInstance ]: Target service instance where tenant is to be migrated. +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-cstenantcrossmigration +#> +function New-CsTenantCrossMigration { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITenantMigrationResult])] +[CmdletBinding(DefaultParameterSetName='NewExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='New', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITenantMigration] + # Payload for tenant migration + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # MoveOption can take following values PrepForMove, StartDualSync, Finalize. + ${MoveOption}, + + [Parameter(ParameterSetName='NewExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Target service instance where tenant is to be migrated. + ${TargetServiceInstance}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTenantCrossMigration_New'; + NewExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsTenantCrossMigration_NewExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Adds delegate with validations in bvd +.Description +Adds delegate with validations in bvd +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/new-csusercallingdelegate +#> +function New-CsUserCallingDelegate { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='New', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='New', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Delegate}, + + [Parameter(ParameterSetName='New', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='NewViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # . + ${MakeCalls}, + + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # . + ${ManageSettings}, + + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # . + ${ReceiveCalls}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + New = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsUserCallingDelegate_New'; + NewViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\New-CsUserCallingDelegate_NewViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Assigns a service number to a bridge. +.Description +Assigns a service number to a bridge. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingServiceNumber +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingServiceNumber +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : Class representing ConferencingServiceNumber. + [BridgeId ]: Gets or sets the unique identifier of the Bridge that this ServiceNumber belongs to. + [City ]: Gets or sets the Geocode where the ServiceNumber is intended to be used. + [IsShared ]: Gets or sets a value indicating whether the number is shared between multiple tenants. If this is the case then tenant admins will be unable to edit the number. + [Number ]: Gets or sets the 11 digit number identifying the ServiceNumber. + [PrimaryLanguage ]: Gets or sets the primary language of the ServiceNumber. e.g.: "en-US". + [SecondaryLanguages ]: Gets or sets the list of secondary languages of the ServiceNumber. e.g.: "fr-FR","en-GB","en-IN". + [Type ]: Gets or sets defines the number type Toll/Toll-Free. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/register-csodcservicenumber +#> +function Register-CsOdcServiceNumber { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingServiceNumber])] +[CmdletBinding(DefaultParameterSetName='RegisterExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Register', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Service number to be assigned to a bridge. + # The service number in E.164 format, e.g. + # +14251112222 or tel:+14251112222. + ${Identity}, + + [Parameter(ParameterSetName='RegisterViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # The conferencing bridge identifier to assign the service numbers to. + ${BridgeId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # The conferencing bridge name to assign the service numbers. + ${BridgeName}, + + [Parameter(ParameterSetName='Register1', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingServiceNumber] + # Class representing ConferencingServiceNumber. + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='RegisterExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the unique identifier of the Bridge that this ServiceNumber belongs to. + ${BridgeId1}, + + [Parameter(ParameterSetName='RegisterExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the Geocode where the ServiceNumber is intended to be used. + ${City}, + + [Parameter(ParameterSetName='RegisterExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether the number is shared between multiple tenants. + # If this is the casethen tenant admins will be unable to edit the number. + ${IsShared}, + + [Parameter(ParameterSetName='RegisterExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the 11 digit number identifying the ServiceNumber. + ${Number}, + + [Parameter(ParameterSetName='RegisterExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the primary language of the ServiceNumber. + # e.g.: "en-US". + ${PrimaryLanguage}, + + [Parameter(ParameterSetName='RegisterExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # Gets or sets the list of secondary languages of the ServiceNumber. + # e.g.: "fr-FR","en-GB","en-IN". + ${SecondaryLanguage}, + + [Parameter(ParameterSetName='RegisterExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets defines the number type Toll/Toll-Free. + ${Type}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Register = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Register-CsOdcServiceNumber_Register'; + Register1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Register-CsOdcServiceNumber_Register1'; + RegisterExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Register-CsOdcServiceNumber_RegisterExpanded'; + RegisterViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Register-CsOdcServiceNumber_RegisterViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Deletes a specific AutoAttendant. +DELETE Teams.VoiceApps/auto-attendants/identity. +.Description +Deletes a specific AutoAttendant. +DELETE Teams.VoiceApps/auto-attendants/identity. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDiagnosticRecord +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/remove-csautoattendant +#> +function Remove-CsAutoAttendant { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDiagnosticRecord])] +[CmdletBinding(DefaultParameterSetName='Remove', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Remove', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Id for the auto attendant to be removed. + ${Identity}, + + [Parameter(ParameterSetName='RemoveViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Remove = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsAutoAttendant_Remove'; + RemoveViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsAutoAttendant_RemoveViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Remove call queue. +DELETE Teams.VoiceApps/callqueues/identity. +.Description +Remove call queue. +DELETE Teams.VoiceApps/callqueues/identity. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDiagnosticRecord +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/remove-cscallqueue +#> +function Remove-CsCallQueue { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDiagnosticRecord])] +[CmdletBinding(DefaultParameterSetName='Remove', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Remove', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='RemoveViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Remove = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsCallQueue_Remove'; + RemoveViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsCallQueue_RemoveViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Delete Configuration +.Description +Delete Configuration +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/remove-csconfiguration +#> +function Remove-CsConfiguration { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Delete', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${ConfigName}, + + [Parameter(ParameterSetName='Delete', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${ConfigType}, + + [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Delete = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsConfiguration_Delete'; + DeleteViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsConfiguration_DeleteViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Remove application instance associations. +DELETE api/v1.0/tenants/tenantId/applicationinstanceassociations/endpointId. +.Description +Remove application instance associations. +DELETE api/v1.0/tenants/tenantId/applicationinstanceassociations/endpointId. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IRemoveApplicationInstanceAssociationsResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/remove-csonlineapplicationinstanceassociation +#> +function Remove-CsOnlineApplicationInstanceAssociation { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IRemoveApplicationInstanceAssociationsResponse])] +[CmdletBinding(DefaultParameterSetName='Remove', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Remove', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Application instance Id. + ${Identity}, + + [Parameter(ParameterSetName='RemoveViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Remove = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlineApplicationInstanceAssociation_Remove'; + RemoveViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlineApplicationInstanceAssociation_RemoveViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Delete an audio file stored in MSS. +DELETE api/v3/tenants/tenantId/audiofile/appId/audiofileId +.Description +Delete an audio file stored in MSS. +DELETE api/v3/tenants/tenantId/audiofile/appId/audiofileId +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/remove-csonlineaudiofile +#> +function Remove-CsOnlineAudioFile { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Remove', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Remove', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${ApplicationId}, + + [Parameter(ParameterSetName='Remove', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='RemoveViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Remove = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlineAudioFile_Remove'; + RemoveViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlineAudioFile_RemoveViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Deletes a specific schedule. +DELETE Teams.VoiceApps/schedules/identity. +.Description +Deletes a specific schedule. +DELETE Teams.VoiceApps/schedules/identity. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDiagnosticRecord +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/remove-csonlineschedule +#> +function Remove-CsOnlineSchedule { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDiagnosticRecord])] +[CmdletBinding(DefaultParameterSetName='Remove', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Remove', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Id for the schedule to be removed. + ${Identity}, + + [Parameter(ParameterSetName='RemoveViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Remove = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlineSchedule_Remove'; + RemoveViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlineSchedule_RemoveViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis + +.Description + +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISkypeTelephoneNumberMgmtCmdletReleaseRequest +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISkypeTelephoneNumberMgmtCmdletReleaseOrderResponse +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISkypeTelephoneNumberMgmtErrorResponseDetails +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : CmdletReleaseRequest + [TelephoneNumber ]: +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/remove-csonlinetelephonenumberprivate +#> +function Remove-CsOnlineTelephoneNumberPrivate { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISkypeTelephoneNumberMgmtCmdletReleaseOrderResponse], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISkypeTelephoneNumberMgmtErrorResponseDetails])] +[CmdletBinding(DefaultParameterSetName='RemoveExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Remove', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISkypeTelephoneNumberMgmtCmdletReleaseRequest] + # CmdletReleaseRequest + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='RemoveExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # . + ${TelephoneNumber}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Remove = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlineTelephoneNumberPrivate_Remove'; + RemoveExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlineTelephoneNumberPrivate_RemoveExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis + +.Description + +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/remove-csphonenumberassignment +#> +function Remove-CsPhoneNumberAssignment { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Remove', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Remove', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='RemoveViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${PhoneNumber}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${PhoneNumberType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # . + ${RemoveAll}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Remove = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsPhoneNumberAssignment_Remove'; + RemoveViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsPhoneNumberAssignment_RemoveViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Removes delegate in bvd +.Description +Removes delegate in bvd +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/remove-csusercallingdelegate +#> +function Remove-CsUserCallingDelegate { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Remove', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Remove', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Delegate}, + + [Parameter(ParameterSetName='Remove', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='RemoveViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Remove = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsUserCallingDelegate_Remove'; + RemoveViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsUserCallingDelegate_RemoveViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Searches a tenant for ODC users. +.Description +Searches a tenant for ODC users. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingUser +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/search-csodcuser +#> +function Search-CsOdcUser { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingUser])] +[CmdletBinding(DefaultParameterSetName='Search', PositionalBinding=$false)] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # Page Size. + ${PageSize}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Continuation / Pagination marker. + # Use the value from nextlink property in response. + ${Skiptoken}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # To set the number of users to be fetched + ${Top}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Search = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Search-CsOdcUser_Search'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Searches a tenant for users. +.Description +Searches a tenant for users. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUser +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/search-csuser +#> +function Search-CsUser { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUser])] +[CmdletBinding(DefaultParameterSetName='Search', PositionalBinding=$false)] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # To set defaultpropertyset value + ${Defaultpropertyset}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # To fetch optional location field + ${Expandlocation}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # MS Graph like query filters + ${Filter}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # To set includedefaultproperties value + ${Includedefaultproperty}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # This parameter supports query to sort the results. + ${OrderBy}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # Page Size. + ${PageSize}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Powershell like query filters + ${Psfilter}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Properties to select + ${Select}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Continuation / Pagination marker. + # Use the value from nextlink property in response. + ${Skiptoken}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # Skip user policies in user response object + ${Skipuserpolicy}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # To be set true when called to only fetch Soft deleted users + ${Softdeleteduser}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # To set the number of users to be fetched + ${Top}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # To set to true when called from Get-CsVoiceUser cmdlet + ${Voiceuserquery}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Search = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Search-CsUser_Search'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Updates a specific AutoAttendant. +PUT Teams.VoiceApps/auto-attendants/identity. +.Description +Updates a specific AutoAttendant. +PUT Teams.VoiceApps/auto-attendants/identity. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IAutoAttendant +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUpdateAutoAttendantResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [ApplicationInstance ]: + [AuthorizedUser ]: + [CallFlow ]: + [ForceListenMenuEnabled ]: + [Greeting ]: + [ActiveType ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [TextToSpeechPrompt ]: + [Id ]: + [MenuDialByNameEnabled ]: + [MenuDirectorySearchMethod ]: + [MenuName ]: + [MenuOption ]: + [Action ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [CallTargetCallPriority ]: + [CallTargetEnableSharedVoicemailSystemPromptSuppression ]: + [CallTargetEnableTranscription ]: + [CallTargetId ]: + [CallTargetType ]: + [DtmfResponse ]: + [PromptActiveType ]: + [PromptTextToSpeechPrompt ]: + [VoiceResponse ]: + [MenuPrompt ]: + [Name ]: + [CallHandlingAssociation ]: + [CallFlowId ]: + [Enabled ]: + [Priority ]: + [ScheduleId ]: + [Type ]: + [DefaultCallFlowForceListenMenuEnabled ]: + [DefaultCallFlowGreeting ]: + [DefaultCallFlowId ]: + [DefaultCallFlowName ]: + [DialByNameResourceId ]: + [ExclusionScopeGroupDialScopeGroupId ]: + [ExclusionScopeType ]: + [HideAuthorizedUser ]: Gets or sets hidden authorized user ids. + [Id ]: + [InclusionScopeGroupDialScopeGroupId ]: + [InclusionScopeType ]: + [LanguageId ]: + [MenuDialByNameEnabled ]: + [MenuDirectorySearchMethod ]: + [MenuName ]: + [MenuOption ]: + [MenuPrompt ]: + [Name ]: + [OperatorCallPriority ]: + [OperatorEnableSharedVoicemailSystemPromptSuppression ]: + [OperatorEnableTranscription ]: + [OperatorId ]: + [OperatorSharedVoicemailCallPriority ]: + [OperatorSharedVoicemailEnableSharedVoicemailSystemPromptSuppression ]: + [OperatorSharedVoicemailEnableTranscription ]: + [OperatorSharedVoicemailId ]: + [OperatorSharedVoicemailType ]: + [OperatorType ]: + [Schedule ]: + [AssociatedConfigurationId ]: + [FixedScheduleDateTimeRange ]: + [End ]: + [Start ]: + [Id ]: + [Name ]: + [RecurrenceRangeEnd ]: + [RecurrenceRangeNumberOfOccurrence ]: + [RecurrenceRangeStart ]: + [RecurrenceRangeType ]: + [Type ]: + [WeeklyRecurrentScheduleFridayHour ]: + [End ]: + [Start ]: + [WeeklyRecurrentScheduleIsComplemented ]: + [WeeklyRecurrentScheduleMondayHour ]: + [WeeklyRecurrentScheduleSaturdayHour ]: + [WeeklyRecurrentScheduleSundayHour ]: + [WeeklyRecurrentScheduleThursdayHour ]: + [WeeklyRecurrentScheduleTuesdayHour ]: + [WeeklyRecurrentScheduleWednesdayHour ]: + [Status ]: + [AuxiliaryData ]: Get or sets auxiliary data. + [ErrorCode ]: Gets or sets error code of audio, grammar. + [Id ]: Gets or sets dialByNameGrammarContext. + [Message ]: Gets or sets error meessage of audio, grammar. + [Status ]: Gets or sets resource status of autoattendant. + [StatusTimestamp ]: Gets or sets time stamp of auido, grammar status. + [Type ]: Gets or sets resource type of autoattendant. + [TenantId ]: + [TimeZoneId ]: + [VoiceId ]: + [VoiceResponseEnabled ]: + +CALLFLOW : . + [ForceListenMenuEnabled ]: + [Greeting ]: + [ActiveType ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [TextToSpeechPrompt ]: + [Id ]: + [MenuDialByNameEnabled ]: + [MenuDirectorySearchMethod ]: + [MenuName ]: + [MenuOption ]: + [Action ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [CallTargetCallPriority ]: + [CallTargetEnableSharedVoicemailSystemPromptSuppression ]: + [CallTargetEnableTranscription ]: + [CallTargetId ]: + [CallTargetType ]: + [DtmfResponse ]: + [PromptActiveType ]: + [PromptTextToSpeechPrompt ]: + [VoiceResponse ]: + [MenuPrompt ]: + [Name ]: + +CALLHANDLINGASSOCIATION : . + [CallFlowId ]: + [Enabled ]: + [Priority ]: + [ScheduleId ]: + [Type ]: + +DEFAULTCALLFLOWGREETING : . + [ActiveType ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [TextToSpeechPrompt ]: + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id + +MENUOPTION : . + [Action ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [CallTargetCallPriority ]: + [CallTargetEnableSharedVoicemailSystemPromptSuppression ]: + [CallTargetEnableTranscription ]: + [CallTargetId ]: + [CallTargetType ]: + [DtmfResponse ]: + [PromptActiveType ]: + [PromptTextToSpeechPrompt ]: + [VoiceResponse ]: + +MENUPROMPT : . + [ActiveType ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [TextToSpeechPrompt ]: + +SCHEDULE : . + [AssociatedConfigurationId ]: + [FixedScheduleDateTimeRange ]: + [End ]: + [Start ]: + [Id ]: + [Name ]: + [RecurrenceRangeEnd ]: + [RecurrenceRangeNumberOfOccurrence ]: + [RecurrenceRangeStart ]: + [RecurrenceRangeType ]: + [Type ]: + [WeeklyRecurrentScheduleFridayHour ]: + [End ]: + [Start ]: + [WeeklyRecurrentScheduleIsComplemented ]: + [WeeklyRecurrentScheduleMondayHour ]: + [WeeklyRecurrentScheduleSaturdayHour ]: + [WeeklyRecurrentScheduleSundayHour ]: + [WeeklyRecurrentScheduleThursdayHour ]: + [WeeklyRecurrentScheduleTuesdayHour ]: + [WeeklyRecurrentScheduleWednesdayHour ]: + +STATUS : . + [AuxiliaryData ]: Get or sets auxiliary data. + [ErrorCode ]: Gets or sets error code of audio, grammar. + [Id ]: Gets or sets dialByNameGrammarContext. + [Message ]: Gets or sets error meessage of audio, grammar. + [Status ]: Gets or sets resource status of autoattendant. + [StatusTimestamp ]: Gets or sets time stamp of auido, grammar status. + [Type ]: Gets or sets resource type of autoattendant. +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/set-csautoattendant +#> +function Set-CsAutoAttendant { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUpdateAutoAttendantResponse])] +[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Set', Mandatory)] + [Parameter(ParameterSetName='SetExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Id for the auto attendant to be updated. + ${Identity}, + + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IAutoAttendant] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # . + ${ApplicationInstance}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # . + ${AuthorizedUser}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICallFlow[]] + # . + # To construct, see NOTES section for CALLFLOW properties and create a hash table. + ${CallFlow}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICallHandlingAssociation[]] + # . + # To construct, see NOTES section for CALLHANDLINGASSOCIATION properties and create a hash table. + ${CallHandlingAssociation}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${DefaultCallFlowForceListenMenuEnabled}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IPrompt[]] + # . + # To construct, see NOTES section for DEFAULTCALLFLOWGREETING properties and create a hash table. + ${DefaultCallFlowGreeting}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${DefaultCallFlowId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${DefaultCallFlowName}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${DialByNameResourceId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # . + ${ExclusionScopeGroupDialScopeGroupId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${ExclusionScopeType}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # Gets or sets hidden authorized user ids. + ${HideAuthorizedUser}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Id}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # . + ${InclusionScopeGroupDialScopeGroupId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${InclusionScopeType}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${LanguageId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${MenuDialByNameEnabled}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${MenuDirectorySearchMethod}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${MenuName}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IMenuOption[]] + # . + # To construct, see NOTES section for MENUOPTION properties and create a hash table. + ${MenuOption}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IPrompt[]] + # . + # To construct, see NOTES section for MENUPROMPT properties and create a hash table. + ${MenuPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Name}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${OperatorCallPriority}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${OperatorEnableSharedVoicemailSystemPromptSuppression}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${OperatorEnableTranscription}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${OperatorId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${OperatorSharedVoicemailCallPriority}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${OperatorSharedVoicemailEnableSharedVoicemailSystemPromptSuppression}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${OperatorSharedVoicemailEnableTranscription}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${OperatorSharedVoicemailId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${OperatorSharedVoicemailType}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${OperatorType}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISchedule[]] + # . + # To construct, see NOTES section for SCHEDULE properties and create a hash table. + ${Schedule}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IStatusRecord2[]] + # . + # To construct, see NOTES section for STATUS properties and create a hash table. + ${Status}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${TenantId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${TimeZoneId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${VoiceId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${VoiceResponseEnabled}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsAutoAttendant_Set'; + SetExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsAutoAttendant_SetExpanded'; + SetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsAutoAttendant_SetViaIdentity'; + SetViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsAutoAttendant_SetViaIdentityExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Update call queue. +PUT Teams.VoiceApps/callqueues/identity. +.Description +Update call queue. +PUT Teams.VoiceApps/callqueues/identity. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUpdateCallQueueRequest +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDiagnosticRecord +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : CallQueue modify request DTO class. + [AgentAlertTime ]: Gets or sets the number of seconds that a call can remain unanswered. + [AllowOptOut ]: Gets or sets a value indicating whether to allow agent optout on Call Queue. + [AuthorizedUser ]: Gets or sets authorized user ids. + [CallToAgentRatioThresholdBeforeOfferingCallback ]: + [CallbackEmailNotificationTarget ]: Gets or sets the target of the callback email notification target. + [CallbackOfferAudioFilePromptResourceId ]: + [CallbackOfferTextToSpeechPrompt ]: + [CallbackRequestDtmf ]: + [ConferenceMode ]: Gets or sets a value indicating whether to allow Conference Mode on Call Queue. + [DistributionList ]: Gets or sets the Call Queue's Distribution List. + [EnableNoAgentSharedVoicemailSystemPromptSuppression ]: Gets or sets a value indicating if system message should be suppressed or not. + [EnableNoAgentSharedVoicemailTranscription ]: Gets or sets a value indicating if transcription should be turned on or not. + [EnableOverflowSharedVoicemailSystemPromptSuppression ]: Gets or sets a value indicating if system message should be suppressed or not. + [EnableOverflowSharedVoicemailTranscription ]: Gets or sets a value indicating if transcription should be turned on or not. + [EnableResourceAccountsForObo ]: Gets or sets a value indicating whether to allow CQ+Chanined RA's as permissioned RA's. + [EnableTimeoutSharedVoicemailSystemPromptSuppression ]: Gets or sets a value indicating if system message should be suppressed or not. + [EnableTimeoutSharedVoicemailTranscription ]: Gets or sets a value indicating if transcription should be turned on or not. + [HideAuthorizedUser ]: Gets or sets hidden authorized user ids. + [IsCallbackEnabled ]: + [LanguageId ]: Gets or sets the language Id used for TTS. + [MusicOnHoldAudioFileId ]: Gets or sets the call flows for the auto attendant app endpoint. + [Name ]: Gets or sets the Call Queue's name. + [NoAgentAction ]: Gets or sets the action to take if the NoAgent is LoggedIn/OptedIn. + [NoAgentActionCallPriority ]: Gets or sets the CallPriority when a CQ transfers the call to another CQ upon the occurrence of no agent. + [NoAgentActionTarget ]: Gets or sets the target of the NoAgent action. + [NoAgentApplyTo ]: Determines whether NoAgent Action is applied to All Calls or to new calls only. + [NoAgentDisconnectAudioFilePrompt ]: Gets or sets the audio file to be played when call is disconnected on NoAgent. + [NoAgentDisconnectTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is disconnected on NoAgent. + [NoAgentRedirectPersonAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to person on NoAgent. + [NoAgentRedirectPersonTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to person on NoAgent. + [NoAgentRedirectPhoneNumberAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to phone number on NoAgent. + [NoAgentRedirectPhoneNumberTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to phone number on NoAgent. + [NoAgentRedirectVoiceAppAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to voiceapp on NoAgent. + [NoAgentRedirectVoiceAppTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to voiceapp on NoAgent. + [NoAgentRedirectVoicemailAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to voicemail on NoAgent. + [NoAgentRedirectVoicemailTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to voicemail on NoAgent. + [NoAgentSharedVoicemailAudioFilePrompt ]: Gets or sets the audio file to be played when forwarding callers to shared voicemail. + [NoAgentSharedVoicemailTextToSpeechPrompt ]: Gets or sets the TTS to be played when forwarding callers to shared voicemail. + [NumberOfCallsInQueueBeforeOfferingCallback ]: + [OboResourceAccountId ]: Gets or sets the list of Obo resource account ids. + [OverflowAction ]: Gets or sets the action to take when the overflow threshold is reached. + [OverflowActionCallPriority ]: Gets or sets the CallPriority when a CQ transfers the call to another CQ upon the occurrence of overflow. + [OverflowActionTarget ]: Gets or sets the target of the overflow action. + [OverflowDisconnectAudioFilePrompt ]: Gets or sets the audio file to be played when call is disconnected on overflow. + [OverflowDisconnectTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is disconnected on overflow. + [OverflowRedirectPersonAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to person on overflow. + [OverflowRedirectPersonTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to person on overflow. + [OverflowRedirectPhoneNumberAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to phone number on overflow. + [OverflowRedirectPhoneNumberTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to phone number on overflow. + [OverflowRedirectVoiceAppAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to voiceapp on overflow. + [OverflowRedirectVoiceAppTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to voiceapp on overflow. + [OverflowRedirectVoicemailAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to voicemail on overflow. + [OverflowRedirectVoicemailTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to voicemail on overflow. + [OverflowSharedVoicemailAudioFilePrompt ]: Gets or sets the audio file to be played when forwarding callers to shared voicemai. + [OverflowSharedVoicemailTextToSpeechPrompt ]: Gets or sets the TTS to be played when forwarding callers to shared voicemail. + [OverflowThreshold ]: Gets or sets the number of simultaneous calls that can be in the queue at any one time. + [PresenceAwareRouting ]: Gets or sets a value indicating whether to enable presence aware routing. + [RoutingMethod ]: Gets or sets the routing method for the Call Queue. + [ServiceLevelThresholdResponseTimeInSecond ]: + [ShouldOverwriteCallableChannelProperty ]: Gets or sets ShouldOverwriteCallableChannelProperty flag that indicates user intention to whether overwirte the current callableChannel property value on chat service or not. + [ThreadId ]: Gets or sets teams channel thread id if user choose to sync CQ with a channel. + [TimeoutAction ]: Gets or sets the action to take if the timeout threshold is reached. + [TimeoutActionCallPriority ]: Gets or sets the CallPriority when a CQ transfers the call to another CQ upon the occurrence of timeout. + [TimeoutActionTarget ]: Gets or sets the target of the timeout action. + [TimeoutDisconnectAudioFilePrompt ]: Gets or sets the audio file to be played when call is disconnected on Timeout. + [TimeoutDisconnectTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is disconnected on Timeout. + [TimeoutRedirectPersonAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to person on Timeout. + [TimeoutRedirectPersonTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to person on Timeout. + [TimeoutRedirectPhoneNumberAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to phone number on Timeout. + [TimeoutRedirectPhoneNumberTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to phone number on Timeout. + [TimeoutRedirectVoiceAppAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to voiceapp on Timeout. + [TimeoutRedirectVoiceAppTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to voiceapp on Timeout. + [TimeoutRedirectVoicemailAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to voicemail on Timeout. + [TimeoutRedirectVoicemailTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to voicemail on Timeout. + [TimeoutSharedVoicemailAudioFilePrompt ]: Gets or sets the audio file to be played when forwarding callers to shared voicemai. + [TimeoutSharedVoicemailTextToSpeechPrompt ]: Gets or sets the TTS to be played when forwarding callers to shared voicemail. + [TimeoutThreshold ]: Gets or sets the number of minutes that a call can be in the queue before it times out. + [UseDefaultMusicOnHold ]: Gets or sets a value indicating whether to use default music on hold audio file. + [User ]: Gets or sets the Call Queue's Users. + [WaitTimeBeforeOfferingCallbackInSecond ]: + [WelcomeMusicAudioFileId ]: Gets or sets the welcome audio file to play for the call queue. + [WelcomeTextToSpeechPrompt ]: Gets or sets the welcome text to speech content for the call queue. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/set-cscallqueue +#> +function Set-CsCallQueue { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDiagnosticRecord])] +[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Set', Mandatory)] + [Parameter(ParameterSetName='SetExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${ChannelUserObjectId}, + + [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUpdateCallQueueRequest] + # CallQueue modify request DTO class. + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the number of seconds that a call can remain unanswered. + ${AgentAlertTime}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether to allow agent optout on Call Queue. + ${AllowOptOut}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # Gets or sets authorized user ids. + ${AuthorizedUsers}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${CallToAgentRatioThresholdBeforeOfferingCallback}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the target of the callback email notification target. + ${CallbackEmailNotificationTarget}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CallbackOfferAudioFilePromptResourceId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CallbackOfferTextToSpeechPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CallbackRequestDtmf}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether to allow Conference Mode on Call Queue. + ${ConferenceMode}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # Gets or sets the Call Queue's Distribution List. + ${DistributionLists}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating if system message should be suppressed or not. + ${EnableNoAgentSharedVoicemailSystemPromptSuppression}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating if transcription should be turned on or not. + ${EnableNoAgentSharedVoicemailTranscription}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating if system message should be suppressed or not. + ${EnableOverflowSharedVoicemailSystemPromptSuppression}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating if transcription should be turned on or not. + ${EnableOverflowSharedVoicemailTranscription}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether to allow CQ+Chanined RA's as permissioned RA's. + ${EnableResourceAccountsForObo}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating if system message should be suppressed or not. + ${EnableTimeoutSharedVoicemailSystemPromptSuppression}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating if transcription should be turned on or not. + ${EnableTimeoutSharedVoicemailTranscription}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # Gets or sets hidden authorized user ids. + ${HideAuthorizedUsers}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${IsCallbackEnabled}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the language Id used for TTS. + ${LanguageId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the call flows for the auto attendant app endpoint. + ${MusicOnHoldAudioFileId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the Call Queue's name. + ${Name}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the action to take if the NoAgent is LoggedIn/OptedIn. + ${NoAgentAction}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the CallPriority when a CQ transfers the call to another CQ upon the occurrence of no agent. + ${NoAgentActionCallPriority}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the target of the NoAgent action. + ${NoAgentActionTarget}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Determines whether NoAgent Action is applied to All Calls or to new calls only. + ${NoAgentApplyTo}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is disconnected on NoAgent. + ${NoAgentDisconnectAudioFilePrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is disconnected on NoAgent. + ${NoAgentDisconnectTextToSpeechPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to person on NoAgent. + ${NoAgentRedirectPersonAudioFilePrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to person on NoAgent. + ${NoAgentRedirectPersonTextToSpeechPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to phone number on NoAgent. + ${NoAgentRedirectPhoneNumberAudioFilePrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to phone number on NoAgent. + ${NoAgentRedirectPhoneNumberTextToSpeechPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to voiceapp on NoAgent. + ${NoAgentRedirectVoiceAppAudioFilePrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to voiceapp on NoAgent. + ${NoAgentRedirectVoiceAppTextToSpeechPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to voicemail on NoAgent. + ${NoAgentRedirectVoicemailAudioFilePrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to voicemail on NoAgent. + ${NoAgentRedirectVoicemailTextToSpeechPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when forwarding callers to shared voicemail. + ${NoAgentSharedVoicemailAudioFilePrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when forwarding callers to shared voicemail. + ${NoAgentSharedVoicemailTextToSpeechPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${NumberOfCallsInQueueBeforeOfferingCallback}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # Gets or sets the list of Obo resource account ids. + ${OboResourceAccountIds}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the action to take when the overflow threshold is reached. + ${OverflowAction}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the CallPriority when a CQ transfers the call to another CQ upon the occurrence of overflow. + ${OverflowActionCallPriority}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the target of the overflow action. + ${OverflowActionTarget}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is disconnected on overflow. + ${OverflowDisconnectAudioFilePrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is disconnected on overflow. + ${OverflowDisconnectTextToSpeechPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to person on overflow. + ${OverflowRedirectPersonAudioFilePrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to person on overflow. + ${OverflowRedirectPersonTextToSpeechPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to phone number on overflow. + ${OverflowRedirectPhoneNumberAudioFilePrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to phone number on overflow. + ${OverflowRedirectPhoneNumberTextToSpeechPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to voiceapp on overflow. + ${OverflowRedirectVoiceAppAudioFilePrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to voiceapp on overflow. + ${OverflowRedirectVoiceAppTextToSpeechPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to voicemail on overflow. + ${OverflowRedirectVoicemailAudioFilePrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to voicemail on overflow. + ${OverflowRedirectVoicemailTextToSpeechPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when forwarding callers to shared voicemai. + ${OverflowSharedVoicemailAudioFilePrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when forwarding callers to shared voicemail. + ${OverflowSharedVoicemailTextToSpeechPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the number of simultaneous calls that can be in the queue at any one time. + ${OverflowThreshold}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether to enable presence aware routing. + ${PresenceAwareRouting}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the routing method for the Call Queue. + ${RoutingMethod}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${ServiceLevelThresholdResponseTimeInSecond}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets ShouldOverwriteCallableChannelProperty flag that indicates user intention to whether overwirte the current callableChannel property value on chat service or not. + ${ShouldOverwriteCallableChannelProperty}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets teams channel thread id if user choose to sync CQ with a channel. + ${ThreadId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the action to take if the timeout threshold is reached. + ${TimeoutAction}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the CallPriority when a CQ transfers the call to another CQ upon the occurrence of timeout. + ${TimeoutActionCallPriority}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the target of the timeout action. + ${TimeoutActionTarget}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is disconnected on Timeout. + ${TimeoutDisconnectAudioFilePrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is disconnected on Timeout. + ${TimeoutDisconnectTextToSpeechPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to person on Timeout. + ${TimeoutRedirectPersonAudioFilePrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to person on Timeout. + ${TimeoutRedirectPersonTextToSpeechPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to phone number on Timeout. + ${TimeoutRedirectPhoneNumberAudioFilePrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to phone number on Timeout. + ${TimeoutRedirectPhoneNumberTextToSpeechPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to voiceapp on Timeout. + ${TimeoutRedirectVoiceAppAudioFilePrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to voiceapp on Timeout. + ${TimeoutRedirectVoiceAppTextToSpeechPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to voicemail on Timeout. + ${TimeoutRedirectVoicemailAudioFilePrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to voicemail on Timeout. + ${TimeoutRedirectVoicemailTextToSpeechPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when forwarding callers to shared voicemai. + ${TimeoutSharedVoicemailAudioFilePrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when forwarding callers to shared voicemail. + ${TimeoutSharedVoicemailTextToSpeechPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the number of minutes that a call can be in the queue before it times out. + ${TimeoutThreshold}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether to use default music on hold audio file. + ${UseDefaultMusicOnHold}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # Gets or sets the Call Queue's Users. + ${Users}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${WaitTimeBeforeOfferingCallbackInSecond}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the welcome audio file to play for the call queue. + ${WelcomeMusicAudioFileId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the welcome text to speech content for the call queue. + ${WelcomeTextToSpeechPrompt}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsCallQueue_Set'; + SetExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsCallQueue_SetExpanded'; + SetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsCallQueue_SetViaIdentity'; + SetViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsCallQueue_SetViaIdentityExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Update configuration +.Description +Update configuration +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IXdsConfiguration +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [(Any) ]: This indicates any property can be added to this object. + Identity : + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/set-csconfiguration +#> +function Set-CsConfiguration { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Update', Mandatory)] + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${ConfigName}, + + [Parameter(ParameterSetName='Update', Mandatory)] + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${ConfigType}, + + [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Api Version + ${ApiVersion}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${SchemaVersion}, + + [Parameter(ParameterSetName='Update', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IXdsConfiguration] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Collections.Hashtable] + # Additional Parameters + ${AdditionalProperties}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Update = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsConfiguration_Update'; + UpdateExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsConfiguration_UpdateExpanded'; + UpdateViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsConfiguration_UpdateViaIdentity'; + UpdateViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsConfiguration_UpdateViaIdentityExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Sets a bridge using unique id. +This api is also used for Instance query. +.Description +Sets a bridge using unique id. +This api is also used for Instance query. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IBridgeUpdateRequest +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingBridge +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : Update Conferencing Bridge Default Service number, or make it tenant's default bridge. + [DefaultServiceNumber ]: Gets or sets service number to be updated as new default number of bridge. + [Name ]: Gets or sets name of the bridge. This can only be used when user sets the bridge using instance. + [SetDefault ]: Gets or sets a boolean value indicating if the bridge should be updated to be tenant's default bridge. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/set-csodcbridge +#> +function Set-CsOdcBridge { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingBridge])] +[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Set', Mandatory)] + [Parameter(ParameterSetName='SetExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Identity of the bridge. + ${Identity}, + + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Set1', Mandatory)] + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetExpanded1', Mandatory)] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Name of the bridge. + ${Name}, + + [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='Set1', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IBridgeUpdateRequest] + # Update Conferencing Bridge Default Service number, or make it tenant's default bridge. + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetExpanded1')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets service number to be updated as new default number of bridge. + ${DefaultServiceNumber}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetExpanded1')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a boolean value indicating if the bridge should be updated to be tenant's default bridge. + ${SetDefault}, + + [Parameter(ParameterSetName='SetExpanded1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets name of the bridge. + # This can only be used when user sets the bridge using instance. + ${Name1}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOdcBridge_Set'; + Set1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOdcBridge_Set1'; + SetExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOdcBridge_SetExpanded'; + SetExpanded1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOdcBridge_SetExpanded1'; + SetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOdcBridge_SetViaIdentity'; + SetViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOdcBridge_SetViaIdentityExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Set service number by unique id. +.Description +Set service number by unique id. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IServiceNumberUpdateRequest +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingServiceNumber +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : Update Conferencing Service number. + [PrimaryLanguage ]: The primary language CAA should use to service this call, e.g. en-US, en-GB etc. + [RestoreDefaultLanguage ]: Switch to indicate that the Primary and Secondary languages should be set to the default values. + [SecondaryLanguage ]: The list of secondary languages CAA should use to service this call. Number of secondary languages is limited to a max of 4. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/set-csodcservicenumber +#> +function Set-CsOdcServiceNumber { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingServiceNumber])] +[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Set', Mandatory)] + [Parameter(ParameterSetName='SetExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Identity of the service number. + ${Identity}, + + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IServiceNumberUpdateRequest] + # Update Conferencing Service number. + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The primary language CAA should use to service this call, e.g. + # en-US, en-GB etc. + ${PrimaryLanguage}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Switch to indicate that the Primary and Secondary languages should be set to the default values. + ${RestoreDefaultLanguages}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # The list of secondary languages CAA should use to service this call. + # Number of secondary languages is limited to a max of 4. + ${SecondaryLanguages}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOdcServiceNumber_Set'; + SetExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOdcServiceNumber_SetExpanded'; + SetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOdcServiceNumber_SetViaIdentity'; + SetViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOdcServiceNumber_SetViaIdentityExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +This cmdlet is used to modify the properties of a user that has been enabled for Microsoft's audio conferencing service. +.Description +This cmdlet is used to modify the properties of a user that has been enabled for Microsoft's audio conferencing service. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUserData +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingUser +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : User data to be sent. + [AllowTollFreeDialIn ]: Gets or sets a value indicating whether or not the meeting should allow dialin via toll-free service number. TODO: This is not a Switch parameter. + [BridgeId ]: Gets or sets the bridge identifier. + [BridgeName ]: Gets or sets the bridge name. + [ResetLeaderPin ]: Gets or sets a value indicating whether or not to reset the leader pin. TODO: This is a Switch parameter. + [SendEmail ]: Gets or sets a value indicating whether to sends an email with the PSTN Conference information of a user even if the tenant setting is off. TODO: This is a switch parameter. + [SendEmailToAddress ]: Gets or sets a value indicating To Address to send the email that contains the Audio Conference information. This parameter must be used together with -SendEmail. + [ServiceNumber ]: Gets or sets the service number to set as the user's default bridge number. + [TollFreeServiceNumber ]: Gets or sets the toll-free service number to set as the user's default toll-free service number. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/set-csodcuser +#> +function Set-CsOdcUser { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingUser])] +[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Set', Mandatory)] + [Parameter(ParameterSetName='SetExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Identity of the user. + ${Identity}, + + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUserData] + # User data to be sent. + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether or not the meeting should allow dialin via toll-free service number.TODO: This is not a Switch parameter. + ${AllowTollFreeDialIn}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the bridge identifier. + ${BridgeId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the bridge name. + ${BridgeName}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether or not to reset the leader pin.TODO: This is a Switch parameter. + ${ResetLeaderPin}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether to sends an email with the PSTN Conference information of a user even if the tenant setting is off.TODO: This is a switch parameter. + ${SendEmail}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets a value indicating To Address to send the email that contains the Audio Conference information.This parameter must be used together with -SendEmail. + ${SendEmailToAddress}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the service number to set as the user's default bridge number. + ${ServiceNumber}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the toll-free service number to set as the user's default toll-free service number. + ${TollFreeServiceNumber}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOdcUser_Set'; + SetExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOdcUser_SetExpanded'; + SetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOdcUser_SetViaIdentity'; + SetViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOdcUser_SetViaIdentityExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis + +.Description + +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IEmergencyDisclaimerUserResponseInput +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDiagnostics +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IEmergencyDisclaimerUserResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [Content ]: + [Country ]: + [ForceAccept ]: + [Locale ]: + [RespondedByObjectId ]: + [Response ]: + [ResponseTimestamp ]: + [Version ]: +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/set-csonlineenhancedemergencyservicedisclaimer +#> +function Set-CsOnlineEnhancedEmergencyServiceDisclaimer { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IEmergencyDisclaimerUserResponse], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDiagnostics])] +[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IEmergencyDisclaimerUserResponseInput] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Content}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CountryOrRegion}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${ForceAccept}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Locale}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${RespondedByObjectId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${Response}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.DateTime] + # . + ${ResponseTimestamp}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Version}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineEnhancedEmergencyServiceDisclaimer_Set'; + SetExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineEnhancedEmergencyServiceDisclaimer_SetExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Updates a specific schedule. +PUT Teams.VoiceApps/schedules/identity. +.Description +Updates a specific schedule. +PUT Teams.VoiceApps/schedules/identity. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISchedule +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IModifyScheduleResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [AssociatedConfigurationId ]: + [FixedScheduleDateTimeRange ]: + [End ]: + [Start ]: + [Id ]: + [Name ]: + [RecurrenceRangeEnd ]: + [RecurrenceRangeNumberOfOccurrence ]: + [RecurrenceRangeStart ]: + [RecurrenceRangeType ]: + [Type ]: + [WeeklyRecurrentScheduleFridayHour ]: + [End ]: + [Start ]: + [WeeklyRecurrentScheduleIsComplemented ]: + [WeeklyRecurrentScheduleMondayHour ]: + [WeeklyRecurrentScheduleSaturdayHour ]: + [WeeklyRecurrentScheduleSundayHour ]: + [WeeklyRecurrentScheduleThursdayHour ]: + [WeeklyRecurrentScheduleTuesdayHour ]: + [WeeklyRecurrentScheduleWednesdayHour ]: + +FIXEDSCHEDULEDATETIMERANGE : . + [End ]: + [Start ]: + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id + +WEEKLYRECURRENTSCHEDULEFRIDAYHOUR : . + [End ]: + [Start ]: + +WEEKLYRECURRENTSCHEDULEMONDAYHOUR : . + [End ]: + [Start ]: + +WEEKLYRECURRENTSCHEDULESATURDAYHOUR : . + [End ]: + [Start ]: + +WEEKLYRECURRENTSCHEDULESUNDAYHOUR : . + [End ]: + [Start ]: + +WEEKLYRECURRENTSCHEDULETHURSDAYHOUR : . + [End ]: + [Start ]: + +WEEKLYRECURRENTSCHEDULETUESDAYHOUR : . + [End ]: + [Start ]: + +WEEKLYRECURRENTSCHEDULEWEDNESDAYHOUR : . + [End ]: + [Start ]: +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/set-csonlineschedule +#> +function Set-CsOnlineSchedule { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IModifyScheduleResponse])] +[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Set', Mandatory)] + [Parameter(ParameterSetName='SetExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Id for the schedule to be updated. + ${Identity}, + + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISchedule] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # . + ${AssociatedConfigurationId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDateTimeRange[]] + # . + # To construct, see NOTES section for FIXEDSCHEDULEDATETIMERANGE properties and create a hash table. + ${FixedScheduleDateTimeRange}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Id}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Name}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.DateTime] + # . + ${RecurrenceRangeEnd}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${RecurrenceRangeNumberOfOccurrence}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.DateTime] + # . + ${RecurrenceRangeStart}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${RecurrenceRangeType}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Type}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITimeRange[]] + # . + # To construct, see NOTES section for WEEKLYRECURRENTSCHEDULEFRIDAYHOUR properties and create a hash table. + ${WeeklyRecurrentScheduleFridayHour}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${WeeklyRecurrentScheduleIsComplemented}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITimeRange[]] + # . + # To construct, see NOTES section for WEEKLYRECURRENTSCHEDULEMONDAYHOUR properties and create a hash table. + ${WeeklyRecurrentScheduleMondayHour}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITimeRange[]] + # . + # To construct, see NOTES section for WEEKLYRECURRENTSCHEDULESATURDAYHOUR properties and create a hash table. + ${WeeklyRecurrentScheduleSaturdayHour}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITimeRange[]] + # . + # To construct, see NOTES section for WEEKLYRECURRENTSCHEDULESUNDAYHOUR properties and create a hash table. + ${WeeklyRecurrentScheduleSundayHour}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITimeRange[]] + # . + # To construct, see NOTES section for WEEKLYRECURRENTSCHEDULETHURSDAYHOUR properties and create a hash table. + ${WeeklyRecurrentScheduleThursdayHour}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITimeRange[]] + # . + # To construct, see NOTES section for WEEKLYRECURRENTSCHEDULETUESDAYHOUR properties and create a hash table. + ${WeeklyRecurrentScheduleTuesdayHour}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITimeRange[]] + # . + # To construct, see NOTES section for WEEKLYRECURRENTSCHEDULEWEDNESDAYHOUR properties and create a hash table. + ${WeeklyRecurrentScheduleWednesdayHour}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineSchedule_Set'; + SetExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineSchedule_SetExpanded'; + SetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineSchedule_SetViaIdentity'; + SetViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineSchedule_SetViaIdentityExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Enable or Disable Tenant VerifiedSipDomains. +.Description +Enable or Disable Tenant VerifiedSipDomains. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITenantSipDomainRequest +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : The request to update an tenant sip domain. + [Action ]: Action enable or disable domain. + [DomainName ]: Domain Name. +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/set-csonlinesipdomain +#> +function Set-CsOnlineSipDomain { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITenantSipDomainRequest] + # The request to update an tenant sip domain. + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Action enable or disable domain. + ${Action}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Domain Name. + ${DomainName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineSipDomain_Set'; + SetExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineSipDomain_SetExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Put OnlineVoicemailUserSettings. +.Description +Put OnlineVoicemailUserSettings. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IVoicemailSettings +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IVoicemailSettings +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : User Voicemail Settings base class. + [CallAnswerRule ]: Gets or sets CallAnswerRule. + [DefaultGreetingPromptOverwrite ]: Gets or sets DefaultGreetingPromptOverwrite. + [DefaultOofGreetingPromptOverwrite ]: Gets or sets DefaultOofGreetingPromptOverwrite. + [OofGreetingEnabled ]: Gets or sets a value indicating whether Out of Office Greeting is enabled. + [OofGreetingFollowAutomaticRepliesEnabled ]: Gets or sets a value indicating whether Out of Office Greeting Automatic Replies are enabled. + [PromptLanguage ]: Gets or sets prompt language. + [ShareData ]: Gets or sets a value indicating whether ShareData is enabled. + [TransferTarget ]: Gets or sets TransferTarget. + [VoicemailEnabled ]: Gets or sets a value indicating whether voicemail is enabled. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/set-csonlinevmusersetting +#> +function Set-CsOnlineVMUserSetting { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IVoicemailSettings])] +[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Set', Mandatory)] + [Parameter(ParameterSetName='SetExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IVoicemailSettings] + # User Voicemail Settings base class. + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets CallAnswerRule. + ${CallAnswerRule}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets DefaultGreetingPromptOverwrite. + ${DefaultGreetingPromptOverwrite}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets DefaultOofGreetingPromptOverwrite. + ${DefaultOofGreetingPromptOverwrite}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether Out of Office Greetingis enabled. + ${OofGreetingEnabled}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether Out of Office GreetingAutomatic Replies are enabled. + ${OofGreetingFollowAutomaticRepliesEnabled}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets prompt language. + ${PromptLanguage}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether ShareDatais enabled. + ${ShareData}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets TransferTarget. + ${TransferTarget}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether voicemail is enabled. + ${VoicemailEnabled}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineVMUserSetting_Set'; + SetExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineVMUserSetting_SetExpanded'; + SetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineVMUserSetting_SetViaIdentity'; + SetViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineVMUserSetting_SetViaIdentityExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis + +.Description + +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +System.String +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/set-csphonenumberassignment +#> +function Set-CsPhoneNumberAssignment { +[OutputType([System.String])] +[CmdletBinding(DefaultParameterSetName='Set', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${AssignmentCategory}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # . + ${EnterpriseVoiceEnabled}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${LocationId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${NetworkSiteId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${PhoneNumber}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${PhoneNumberType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${ReverseNumberLookup}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsPhoneNumberAssignment_Set'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Set Org Settings - Set-CsTeamsSettingsCustomApp +.Description +Set Org Settings - Set-CsTeamsSettingsCustomApp +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUpdateCustomAppSettingRequest +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +APPACCESSREQUESTCONFIG : . + [AdminInstructionMessage ]: Admin instructions for app access requests. + [ApprovalPortalUrl ]: Tenant's approval portal URL for app access requests. + +APPSETTINGSLIST : List of appSettings. + [Context ]: App context. + [Id ]: App Id. + [IsAppLevelAutoInstallEnabled ]: Auto Installation of app is enabled or not. + [IsEnabled ]: App is enabled or not. + +BODY : . + [AppAccessRequestConfig ]: + [AdminInstructionMessage ]: Admin instructions for app access requests. + [ApprovalPortalUrl ]: Tenant's approval portal URL for app access requests. + [AppSettingsList ]: List of appSettings. + [Context ]: App context. + [Id ]: App Id. + [IsAppLevelAutoInstallEnabled ]: Auto Installation of app is enabled or not. + [IsEnabled ]: App is enabled or not. + [IsAppsEnabled ]: Setting to indicate external apps enabled or not. + [IsAppsPurchaseEnabled ]: Setting to indicate purchase external apps enabled or not. + [IsExternalAppsEnabledByDefault ]: Setting to indicate external apps enabled by default or not. + [IsLicenseBasedPinnedAppsEnabled ]: Feature flag for tailored apps experience for F license users. + [IsSideloadedAppsInteractionEnabled ]: Members of this tenant can see and interact with side-loaded apps, which control custom app settings in TAMS. + [IsTenantWideAutoInstallEnabled ]: Setting to indicate auto-installation of external apps. + [LobBackground ]: Background of the LOB banner. It is either an image URL or a color code. + [LobLogo ]: Logo of the LOB banner. It is either an image URL or a color code. + [LobLogomark ]: Logomark in the LOB category. It is either an image URL or a color code. + [LobTextColor ]: Color of the text in the LOB banner. +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/set-csteamssettingscustomapp +#> +function Set-CsTeamsSettingsCustomApp { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUpdateCustomAppSettingRequest] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IAppAccessRequestConfig] + # . + # To construct, see NOTES section for APPACCESSREQUESTCONFIG properties and create a hash table. + ${AppAccessRequestConfig}, + + [Parameter(ParameterSetName='SetExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IApplicationObject[]] + # List of appSettings. + # To construct, see NOTES section for APPSETTINGSLIST properties and create a hash table. + ${AppSettingsList}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Setting to indicate external apps enabled or not. + ${IsAppsEnabled}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Setting to indicate purchase external apps enabled or not. + ${IsAppsPurchaseEnabled}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Setting to indicate external apps enabled by default or not. + ${IsExternalAppsEnabledByDefault}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Feature flag for tailored apps experience for F license users. + ${IsLicenseBasedPinnedAppsEnabled}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Members of this tenant can see and interact with side-loaded apps, which control custom app settings in TAMS. + ${IsSideloadedAppsInteractionEnabled}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Setting to indicate auto-installation of external apps. + ${IsTenantWideAutoInstallEnabled}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Background of the LOB banner. + # It is either an image URL or a color code. + ${LobBackground}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Logo of the LOB banner. + # It is either an image URL or a color code. + ${LobLogo}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Logomark in the LOB category. + # It is either an image URL or a color code. + ${LobLogomark}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Color of the text in the LOB banner. + ${LobTextColor}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsSettingsCustomApp_Set'; + SetExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsSettingsCustomApp_SetExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Updates delegate in bvd +.Description +Updates delegate in bvd +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/set-csusercallingdelegate +#> +function Set-CsUserCallingDelegate { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Set', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Set', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # ObjectId of the to-be-added member. + ${Delegate}, + + [Parameter(ParameterSetName='Set', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # ObjectId of the group owner + ${Identity}, + + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # If the member is allowed to make calls. + ${MakeCalls}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # If the member is allowed to manage call settings. + ${ManageSettings}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # If the member is allowed to receive calls. + ${ReceiveCalls}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsUserCallingDelegate_Set'; + SetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsUserCallingDelegate_SetViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Add/Update online user routing settings in bvd +.Description +Add/Update online user routing settings in bvd +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUserRoutingSettings +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [CallGroupDetailDelay ]: + [CallGroupOrder ]: + [CallGroupTargets ]: + [Delegates ]: + [Id ]: + [MakeCalls ]: + [ManageSettings ]: + [ReceiveCalls ]: + [Delegators ]: + [ForwardingTarget ]: + [ForwardingTargetType ]: + [ForwardingType ]: + [GroupMembershipDetails ]: + [CallGroupOwnerId ]: + [NotificationSetting ]: + [GroupNotificationOverride ]: + [IsForwardingEnabled ]: + [IsUnansweredEnabled ]: + [SipUri ]: + [UnansweredDelay ]: + [UnansweredTarget ]: + [UnansweredTargetType ]: + +DELEGATIONSETTINGDELEGATE : . + [Id ]: + [MakeCalls ]: + [ManageSettings ]: + [ReceiveCalls ]: + +DELEGATIONSETTINGDELEGATOR : . + [Id ]: + [MakeCalls ]: + [ManageSettings ]: + [ReceiveCalls ]: + +GROUPMEMBERSHIPDETAILS : . + [CallGroupOwnerId ]: + [NotificationSetting ]: + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/set-csusercallingsettings +#> +function Set-CsUserCallingSettings { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Set', Mandatory)] + [Parameter(ParameterSetName='SetExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUserRoutingSettings] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CallGroupDetailDelay}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CallGroupOrder}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # . + ${CallGroupTargets}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${ForwardingTarget}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${ForwardingTargetType}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${ForwardingType}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICallGroupMembershipDetails[]] + # . + # To construct, see NOTES section for GROUPMEMBERSHIPDETAILS properties and create a hash table. + ${GroupMembershipDetails}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${GroupNotificationOverride}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${IsForwardingEnabled}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${IsUnansweredEnabled}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${SipUri}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${UnansweredDelay}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${UnansweredTarget}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${UnansweredTargetType}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsUserCallingSettings_Set'; + SetExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsUserCallingSettings_SetExpanded'; + SetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsUserCallingSettings_SetViaIdentity'; + SetViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsUserCallingSettings_SetViaIdentityExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Set User. +.Description +Set User. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Inputs +System.Collections.Hashtable +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUserMas +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/set-csusergenerated +#> +function Set-CsUserGenerated { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUserMas])] +[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Set', Mandatory)] + [Parameter(ParameterSetName='SetExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # UserId. + ${UserId}, + + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.Info(Required, PossibleTypes=([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDictionaryOfString]))] + [System.Collections.Hashtable] + # Dictionary of + ${Body}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Collections.Hashtable] + # Additional Parameters + ${AdditionalProperties}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsUserGenerated_Set'; + SetExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsUserGenerated_SetExpanded'; + SetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsUserGenerated_SetViaIdentity'; + SetViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsUserGenerated_SetViaIdentityExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Unassigns the previously assigned service number as default Conference Bridge number. +.Description +Unassigns the previously assigned service number as default Conference Bridge number. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingServiceNumber +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingServiceNumber +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : Class representing ConferencingServiceNumber. + [BridgeId ]: Gets or sets the unique identifier of the Bridge that this ServiceNumber belongs to. + [City ]: Gets or sets the Geocode where the ServiceNumber is intended to be used. + [IsShared ]: Gets or sets a value indicating whether the number is shared between multiple tenants. If this is the case then tenant admins will be unable to edit the number. + [Number ]: Gets or sets the 11 digit number identifying the ServiceNumber. + [PrimaryLanguage ]: Gets or sets the primary language of the ServiceNumber. e.g.: "en-US". + [SecondaryLanguages ]: Gets or sets the list of secondary languages of the ServiceNumber. e.g.: "fr-FR","en-GB","en-IN". + [Type ]: Gets or sets defines the number type Toll/Toll-Free. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/unregister-csodcservicenumber +#> +function Unregister-CsOdcServiceNumber { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingServiceNumber])] +[CmdletBinding(DefaultParameterSetName='UnregisterExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Unregister', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Service number to be assigned to a bridge. + # The service number in E.164 format, e.g. + # +14251112222 or tel:+14251112222. + ${Identity}, + + [Parameter(ParameterSetName='UnregisterViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # The conferencing bridge identifier to assign the service numbers to. + ${BridgeId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # The conferencing bridge name to assign the service numbers. + ${BridgeName}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # Switch parameter as a backdoor hook to remove the default service number on bridge. + ${RemoveDefaultServiceNumber}, + + [Parameter(ParameterSetName='Unregister1', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingServiceNumber] + # Class representing ConferencingServiceNumber. + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='UnregisterExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the unique identifier of the Bridge that this ServiceNumber belongs to. + ${BridgeId1}, + + [Parameter(ParameterSetName='UnregisterExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the Geocode where the ServiceNumber is intended to be used. + ${City}, + + [Parameter(ParameterSetName='UnregisterExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether the number is shared between multiple tenants. + # If this is the casethen tenant admins will be unable to edit the number. + ${IsShared}, + + [Parameter(ParameterSetName='UnregisterExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the 11 digit number identifying the ServiceNumber. + ${Number}, + + [Parameter(ParameterSetName='UnregisterExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the primary language of the ServiceNumber. + # e.g.: "en-US". + ${PrimaryLanguage}, + + [Parameter(ParameterSetName='UnregisterExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # Gets or sets the list of secondary languages of the ServiceNumber. + # e.g.: "fr-FR","en-GB","en-IN". + ${SecondaryLanguage}, + + [Parameter(ParameterSetName='UnregisterExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets defines the number type Toll/Toll-Free. + ${Type}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Unregister = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Unregister-CsOdcServiceNumber_Unregister'; + Unregister1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Unregister-CsOdcServiceNumber_Unregister1'; + UnregisterExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Unregister-CsOdcServiceNumber_UnregisterExpanded'; + UnregisterViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Unregister-CsOdcServiceNumber_UnregisterViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Refresh a specific AutoAttendant dail by grammer. +POST /Teams.VoiceApps/autoAttendants/{identity}/refresh. +.Description +Refresh a specific AutoAttendant dail by grammer. +POST /Teams.VoiceApps/autoAttendants/{identity}/refresh. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUpdateAutoAttendantResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/update-csautoattendant +#> +function Update-CsAutoAttendant { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUpdateAutoAttendantResponse])] +[CmdletBinding(DefaultParameterSetName='Update', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Update', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Id for the auto attendant to be refreshed. + ${Identity}, + + [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Update = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Update-CsAutoAttendant_Update'; + UpdateViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Update-CsAutoAttendant_UpdateViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Update configuration +.Description +Update configuration +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IXdsConfiguration +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [(Any) ]: This indicates any property can be added to this object. + Identity : + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/update-csconfiguration +#> +function Update-CsConfiguration { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Update', Mandatory)] + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${ConfigName}, + + [Parameter(ParameterSetName='Update', Mandatory)] + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${ConfigType}, + + [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Api Version + ${ApiVersion}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${SchemaVersion}, + + [Parameter(ParameterSetName='Update', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IXdsConfiguration] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Collections.Hashtable] + # Additional Parameters + ${AdditionalProperties}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Update = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Update-CsConfiguration_Update'; + UpdateExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Update-CsConfiguration_UpdateExpanded'; + UpdateViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Update-CsConfiguration_UpdateViaIdentity'; + UpdateViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Update-CsConfiguration_UpdateViaIdentityExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +<# +.Synopsis +Update a policy package +.Description +Update a policy package +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +System.String +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +POLICYLIST : . + PolicyName : + PolicyType : +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/update-cscustompolicypackage +#> +function Update-CsCustomPolicyPackage { +[OutputType([System.String])] +[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Identity}, + + [Parameter(Mandatory)] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IPackageServiceModelsRequestsPolicyTypeAndName[]] + # . + # To construct, see NOTES section for POLICYLIST properties and create a hash table. + ${PolicyList}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Description}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + UpdateExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Update-CsCustomPolicyPackage_UpdateExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Assigns a service number to a bridge. +.Description +Assigns a service number to a bridge. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingServiceNumber +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingServiceNumber +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : Class representing ConferencingServiceNumber. + [BridgeId ]: Gets or sets the unique identifier of the Bridge that this ServiceNumber belongs to. + [City ]: Gets or sets the Geocode where the ServiceNumber is intended to be used. + [IsShared ]: Gets or sets a value indicating whether the number is shared between multiple tenants. If this is the case then tenant admins will be unable to edit the number. + [Number ]: Gets or sets the 11 digit number identifying the ServiceNumber. + [PrimaryLanguage ]: Gets or sets the primary language of the ServiceNumber. e.g.: "en-US". + [SecondaryLanguages ]: Gets or sets the list of secondary languages of the ServiceNumber. e.g.: "fr-FR","en-GB","en-IN". + [Type ]: Gets or sets defines the number type Toll/Toll-Free. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/register-csodcservicenumber +#> +function Register-CsOdcServiceNumber { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingServiceNumber])] +[CmdletBinding(DefaultParameterSetName='RegisterExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Register', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Service number to be assigned to a bridge. + # The service number in E.164 format, e.g. + # +14251112222 or tel:+14251112222. + ${Identity}, + + [Parameter(ParameterSetName='RegisterViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # The conferencing bridge identifier to assign the service numbers to. + ${BridgeId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # The conferencing bridge name to assign the service numbers. + ${BridgeName}, + + [Parameter(ParameterSetName='Register1', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingServiceNumber] + # Class representing ConferencingServiceNumber. + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='RegisterExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the unique identifier of the Bridge that this ServiceNumber belongs to. + ${BridgeId1}, + + [Parameter(ParameterSetName='RegisterExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the Geocode where the ServiceNumber is intended to be used. + ${City}, + + [Parameter(ParameterSetName='RegisterExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether the number is shared between multiple tenants. + # If this is the casethen tenant admins will be unable to edit the number. + ${IsShared}, + + [Parameter(ParameterSetName='RegisterExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the 11 digit number identifying the ServiceNumber. + ${Number}, + + [Parameter(ParameterSetName='RegisterExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the primary language of the ServiceNumber. + # e.g.: "en-US". + ${PrimaryLanguage}, + + [Parameter(ParameterSetName='RegisterExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # Gets or sets the list of secondary languages of the ServiceNumber. + # e.g.: "fr-FR","en-GB","en-IN". + ${SecondaryLanguage}, + + [Parameter(ParameterSetName='RegisterExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets defines the number type Toll/Toll-Free. + ${Type}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Register = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Register-CsOdcServiceNumber_Register'; + Register1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Register-CsOdcServiceNumber_Register1'; + RegisterExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Register-CsOdcServiceNumber_RegisterExpanded'; + RegisterViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Register-CsOdcServiceNumber_RegisterViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Deletes a specific AutoAttendant. +DELETE Teams.VoiceApps/auto-attendants/identity. +.Description +Deletes a specific AutoAttendant. +DELETE Teams.VoiceApps/auto-attendants/identity. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDiagnosticRecord +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/remove-csautoattendant +#> +function Remove-CsAutoAttendant { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDiagnosticRecord])] +[CmdletBinding(DefaultParameterSetName='Remove', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Remove', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Id for the auto attendant to be removed. + ${Identity}, + + [Parameter(ParameterSetName='RemoveViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Remove = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsAutoAttendant_Remove'; + RemoveViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsAutoAttendant_RemoveViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Remove call queue. +DELETE Teams.VoiceApps/callqueues/identity. +.Description +Remove call queue. +DELETE Teams.VoiceApps/callqueues/identity. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDiagnosticRecord +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/remove-cscallqueue +#> +function Remove-CsCallQueue { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDiagnosticRecord])] +[CmdletBinding(DefaultParameterSetName='Remove', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Remove', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='RemoveViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Remove = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsCallQueue_Remove'; + RemoveViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsCallQueue_RemoveViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Delete Configuration +.Description +Delete Configuration +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/remove-csconfiguration +#> +function Remove-CsConfiguration { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Delete', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${ConfigName}, + + [Parameter(ParameterSetName='Delete', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${ConfigType}, + + [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Delete = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsConfiguration_Delete'; + DeleteViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsConfiguration_DeleteViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Remove application instance associations. +DELETE api/v1.0/tenants/tenantId/applicationinstanceassociations/endpointId. +.Description +Remove application instance associations. +DELETE api/v1.0/tenants/tenantId/applicationinstanceassociations/endpointId. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IRemoveApplicationInstanceAssociationsResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/remove-csonlineapplicationinstanceassociation +#> +function Remove-CsOnlineApplicationInstanceAssociation { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IRemoveApplicationInstanceAssociationsResponse])] +[CmdletBinding(DefaultParameterSetName='Remove', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Remove', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Application instance Id. + ${Identity}, + + [Parameter(ParameterSetName='RemoveViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Remove = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlineApplicationInstanceAssociation_Remove'; + RemoveViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlineApplicationInstanceAssociation_RemoveViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Delete an audio file stored in MSS. +DELETE api/v3/tenants/tenantId/audiofile/appId/audiofileId +.Description +Delete an audio file stored in MSS. +DELETE api/v3/tenants/tenantId/audiofile/appId/audiofileId +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/remove-csonlineaudiofile +#> +function Remove-CsOnlineAudioFile { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Remove', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Remove', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${ApplicationId}, + + [Parameter(ParameterSetName='Remove', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='RemoveViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Remove = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlineAudioFile_Remove'; + RemoveViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlineAudioFile_RemoveViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Deletes a specific schedule. +DELETE Teams.VoiceApps/schedules/identity. +.Description +Deletes a specific schedule. +DELETE Teams.VoiceApps/schedules/identity. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDiagnosticRecord +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/remove-csonlineschedule +#> +function Remove-CsOnlineSchedule { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDiagnosticRecord])] +[CmdletBinding(DefaultParameterSetName='Remove', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Remove', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Id for the schedule to be removed. + ${Identity}, + + [Parameter(ParameterSetName='RemoveViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Remove = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlineSchedule_Remove'; + RemoveViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlineSchedule_RemoveViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis + +.Description + +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISkypeTelephoneNumberMgmtCmdletReleaseRequest +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISkypeTelephoneNumberMgmtCmdletReleaseOrderResponse +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISkypeTelephoneNumberMgmtErrorResponseDetails +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : CmdletReleaseRequest + [TelephoneNumber ]: +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/remove-csonlinetelephonenumberprivate +#> +function Remove-CsOnlineTelephoneNumberPrivate { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISkypeTelephoneNumberMgmtCmdletReleaseOrderResponse], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISkypeTelephoneNumberMgmtErrorResponseDetails])] +[CmdletBinding(DefaultParameterSetName='RemoveExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Remove', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISkypeTelephoneNumberMgmtCmdletReleaseRequest] + # CmdletReleaseRequest + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='RemoveExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # . + ${TelephoneNumber}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Remove = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlineTelephoneNumberPrivate_Remove'; + RemoveExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsOnlineTelephoneNumberPrivate_RemoveExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis + +.Description + +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/remove-csphonenumberassignment +#> +function Remove-CsPhoneNumberAssignment { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Remove', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Remove', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='RemoveViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${PhoneNumber}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${PhoneNumberType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # . + ${RemoveAll}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Remove = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsPhoneNumberAssignment_Remove'; + RemoveViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsPhoneNumberAssignment_RemoveViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Removes delegate in bvd +.Description +Removes delegate in bvd +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/remove-csusercallingdelegate +#> +function Remove-CsUserCallingDelegate { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Remove', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Remove', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Delegate}, + + [Parameter(ParameterSetName='Remove', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='RemoveViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Remove = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsUserCallingDelegate_Remove'; + RemoveViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Remove-CsUserCallingDelegate_RemoveViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Searches a tenant for ODC users. +.Description +Searches a tenant for ODC users. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingUser +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/search-csodcuser +#> +function Search-CsOdcUser { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingUser])] +[CmdletBinding(DefaultParameterSetName='Search', PositionalBinding=$false)] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # Page Size. + ${PageSize}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Continuation / Pagination marker. + # Use the value from nextlink property in response. + ${Skiptoken}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # To set the number of users to be fetched + ${Top}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Search = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Search-CsOdcUser_Search'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Searches a tenant for users. +.Description +Searches a tenant for users. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUser +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/search-csuser +#> +function Search-CsUser { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUser])] +[CmdletBinding(DefaultParameterSetName='Search', PositionalBinding=$false)] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # To set defaultpropertyset value + ${Defaultpropertyset}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # To fetch optional location field + ${Expandlocation}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # MS Graph like query filters + ${Filter}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # To set includedefaultproperties value + ${Includedefaultproperty}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # This parameter supports query to sort the results. + ${OrderBy}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # Page Size. + ${PageSize}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Powershell like query filters + ${Psfilter}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Properties to select + ${Select}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Continuation / Pagination marker. + # Use the value from nextlink property in response. + ${Skiptoken}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # Skip user policies in user response object + ${Skipuserpolicy}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # To be set true when called to only fetch Soft deleted users + ${Softdeleteduser}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Int32] + # To set the number of users to be fetched + ${Top}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # To set to true when called from Get-CsVoiceUser cmdlet + ${Voiceuserquery}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Search = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Search-CsUser_Search'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Updates a specific AutoAttendant. +PUT Teams.VoiceApps/auto-attendants/identity. +.Description +Updates a specific AutoAttendant. +PUT Teams.VoiceApps/auto-attendants/identity. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IAutoAttendant +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUpdateAutoAttendantResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [ApplicationInstance ]: + [AuthorizedUser ]: + [CallFlow ]: + [ForceListenMenuEnabled ]: + [Greeting ]: + [ActiveType ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [TextToSpeechPrompt ]: + [Id ]: + [MenuDialByNameEnabled ]: + [MenuDirectorySearchMethod ]: + [MenuName ]: + [MenuOption ]: + [Action ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [CallTargetCallPriority ]: + [CallTargetEnableSharedVoicemailSystemPromptSuppression ]: + [CallTargetEnableTranscription ]: + [CallTargetId ]: + [CallTargetType ]: + [DtmfResponse ]: + [PromptActiveType ]: + [PromptTextToSpeechPrompt ]: + [VoiceResponse ]: + [MenuPrompt ]: + [Name ]: + [CallHandlingAssociation ]: + [CallFlowId ]: + [Enabled ]: + [Priority ]: + [ScheduleId ]: + [Type ]: + [DefaultCallFlowForceListenMenuEnabled ]: + [DefaultCallFlowGreeting ]: + [DefaultCallFlowId ]: + [DefaultCallFlowName ]: + [DialByNameResourceId ]: + [ExclusionScopeGroupDialScopeGroupId ]: + [ExclusionScopeType ]: + [HideAuthorizedUser ]: Gets or sets hidden authorized user ids. + [Id ]: + [InclusionScopeGroupDialScopeGroupId ]: + [InclusionScopeType ]: + [LanguageId ]: + [MenuDialByNameEnabled ]: + [MenuDirectorySearchMethod ]: + [MenuName ]: + [MenuOption ]: + [MenuPrompt ]: + [Name ]: + [OperatorCallPriority ]: + [OperatorEnableSharedVoicemailSystemPromptSuppression ]: + [OperatorEnableTranscription ]: + [OperatorId ]: + [OperatorSharedVoicemailCallPriority ]: + [OperatorSharedVoicemailEnableSharedVoicemailSystemPromptSuppression ]: + [OperatorSharedVoicemailEnableTranscription ]: + [OperatorSharedVoicemailId ]: + [OperatorSharedVoicemailType ]: + [OperatorType ]: + [Schedule ]: + [AssociatedConfigurationId ]: + [FixedScheduleDateTimeRange ]: + [End ]: + [Start ]: + [Id ]: + [Name ]: + [RecurrenceRangeEnd ]: + [RecurrenceRangeNumberOfOccurrence ]: + [RecurrenceRangeStart ]: + [RecurrenceRangeType ]: + [Type ]: + [WeeklyRecurrentScheduleFridayHour ]: + [End ]: + [Start ]: + [WeeklyRecurrentScheduleIsComplemented ]: + [WeeklyRecurrentScheduleMondayHour ]: + [WeeklyRecurrentScheduleSaturdayHour ]: + [WeeklyRecurrentScheduleSundayHour ]: + [WeeklyRecurrentScheduleThursdayHour ]: + [WeeklyRecurrentScheduleTuesdayHour ]: + [WeeklyRecurrentScheduleWednesdayHour ]: + [Status ]: + [AuxiliaryData ]: Get or sets auxiliary data. + [ErrorCode ]: Gets or sets error code of audio, grammar. + [Id ]: Gets or sets dialByNameGrammarContext. + [Message ]: Gets or sets error meessage of audio, grammar. + [Status ]: Gets or sets resource status of autoattendant. + [StatusTimestamp ]: Gets or sets time stamp of auido, grammar status. + [Type ]: Gets or sets resource type of autoattendant. + [TenantId ]: + [TimeZoneId ]: + [VoiceId ]: + [VoiceResponseEnabled ]: + +CALLFLOW : . + [ForceListenMenuEnabled ]: + [Greeting ]: + [ActiveType ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [TextToSpeechPrompt ]: + [Id ]: + [MenuDialByNameEnabled ]: + [MenuDirectorySearchMethod ]: + [MenuName ]: + [MenuOption ]: + [Action ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [CallTargetCallPriority ]: + [CallTargetEnableSharedVoicemailSystemPromptSuppression ]: + [CallTargetEnableTranscription ]: + [CallTargetId ]: + [CallTargetType ]: + [DtmfResponse ]: + [PromptActiveType ]: + [PromptTextToSpeechPrompt ]: + [VoiceResponse ]: + [MenuPrompt ]: + [Name ]: + +CALLHANDLINGASSOCIATION : . + [CallFlowId ]: + [Enabled ]: + [Priority ]: + [ScheduleId ]: + [Type ]: + +DEFAULTCALLFLOWGREETING : . + [ActiveType ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [TextToSpeechPrompt ]: + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id + +MENUOPTION : . + [Action ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [CallTargetCallPriority ]: + [CallTargetEnableSharedVoicemailSystemPromptSuppression ]: + [CallTargetEnableTranscription ]: + [CallTargetId ]: + [CallTargetType ]: + [DtmfResponse ]: + [PromptActiveType ]: + [PromptTextToSpeechPrompt ]: + [VoiceResponse ]: + +MENUPROMPT : . + [ActiveType ]: + [AudioFilePromptDownloadUri ]: + [AudioFilePromptFileName ]: + [AudioFilePromptId ]: + [TextToSpeechPrompt ]: + +SCHEDULE : . + [AssociatedConfigurationId ]: + [FixedScheduleDateTimeRange ]: + [End ]: + [Start ]: + [Id ]: + [Name ]: + [RecurrenceRangeEnd ]: + [RecurrenceRangeNumberOfOccurrence ]: + [RecurrenceRangeStart ]: + [RecurrenceRangeType ]: + [Type ]: + [WeeklyRecurrentScheduleFridayHour ]: + [End ]: + [Start ]: + [WeeklyRecurrentScheduleIsComplemented ]: + [WeeklyRecurrentScheduleMondayHour ]: + [WeeklyRecurrentScheduleSaturdayHour ]: + [WeeklyRecurrentScheduleSundayHour ]: + [WeeklyRecurrentScheduleThursdayHour ]: + [WeeklyRecurrentScheduleTuesdayHour ]: + [WeeklyRecurrentScheduleWednesdayHour ]: + +STATUS : . + [AuxiliaryData ]: Get or sets auxiliary data. + [ErrorCode ]: Gets or sets error code of audio, grammar. + [Id ]: Gets or sets dialByNameGrammarContext. + [Message ]: Gets or sets error meessage of audio, grammar. + [Status ]: Gets or sets resource status of autoattendant. + [StatusTimestamp ]: Gets or sets time stamp of auido, grammar status. + [Type ]: Gets or sets resource type of autoattendant. +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/set-csautoattendant +#> +function Set-CsAutoAttendant { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUpdateAutoAttendantResponse])] +[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Set', Mandatory)] + [Parameter(ParameterSetName='SetExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Id for the auto attendant to be updated. + ${Identity}, + + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IAutoAttendant] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # . + ${ApplicationInstance}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # . + ${AuthorizedUser}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICallFlow[]] + # . + # To construct, see NOTES section for CALLFLOW properties and create a hash table. + ${CallFlow}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICallHandlingAssociation[]] + # . + # To construct, see NOTES section for CALLHANDLINGASSOCIATION properties and create a hash table. + ${CallHandlingAssociation}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${DefaultCallFlowForceListenMenuEnabled}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IPrompt[]] + # . + # To construct, see NOTES section for DEFAULTCALLFLOWGREETING properties and create a hash table. + ${DefaultCallFlowGreeting}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${DefaultCallFlowId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${DefaultCallFlowName}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${DialByNameResourceId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # . + ${ExclusionScopeGroupDialScopeGroupId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${ExclusionScopeType}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # Gets or sets hidden authorized user ids. + ${HideAuthorizedUser}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Id}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # . + ${InclusionScopeGroupDialScopeGroupId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${InclusionScopeType}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${LanguageId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${MenuDialByNameEnabled}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${MenuDirectorySearchMethod}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${MenuName}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IMenuOption[]] + # . + # To construct, see NOTES section for MENUOPTION properties and create a hash table. + ${MenuOption}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IPrompt[]] + # . + # To construct, see NOTES section for MENUPROMPT properties and create a hash table. + ${MenuPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Name}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${OperatorCallPriority}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${OperatorEnableSharedVoicemailSystemPromptSuppression}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${OperatorEnableTranscription}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${OperatorId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${OperatorSharedVoicemailCallPriority}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${OperatorSharedVoicemailEnableSharedVoicemailSystemPromptSuppression}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${OperatorSharedVoicemailEnableTranscription}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${OperatorSharedVoicemailId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${OperatorSharedVoicemailType}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${OperatorType}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISchedule[]] + # . + # To construct, see NOTES section for SCHEDULE properties and create a hash table. + ${Schedule}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IStatusRecord2[]] + # . + # To construct, see NOTES section for STATUS properties and create a hash table. + ${Status}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${TenantId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${TimeZoneId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${VoiceId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${VoiceResponseEnabled}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsAutoAttendant_Set'; + SetExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsAutoAttendant_SetExpanded'; + SetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsAutoAttendant_SetViaIdentity'; + SetViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsAutoAttendant_SetViaIdentityExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Update call queue. +PUT Teams.VoiceApps/callqueues/identity. +.Description +Update call queue. +PUT Teams.VoiceApps/callqueues/identity. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUpdateCallQueueRequest +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDiagnosticRecord +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : CallQueue modify request DTO class. + [AgentAlertTime ]: Gets or sets the number of seconds that a call can remain unanswered. + [AllowOptOut ]: Gets or sets a value indicating whether to allow agent optout on Call Queue. + [AuthorizedUser ]: Gets or sets authorized user ids. + [CallToAgentRatioThresholdBeforeOfferingCallback ]: + [CallbackEmailNotificationTarget ]: Gets or sets the target of the callback email notification target. + [CallbackOfferAudioFilePromptResourceId ]: + [CallbackOfferTextToSpeechPrompt ]: + [CallbackRequestDtmf ]: + [ConferenceMode ]: Gets or sets a value indicating whether to allow Conference Mode on Call Queue. + [DistributionList ]: Gets or sets the Call Queue's Distribution List. + [EnableNoAgentSharedVoicemailSystemPromptSuppression ]: Gets or sets a value indicating if system message should be suppressed or not. + [EnableNoAgentSharedVoicemailTranscription ]: Gets or sets a value indicating if transcription should be turned on or not. + [EnableOverflowSharedVoicemailSystemPromptSuppression ]: Gets or sets a value indicating if system message should be suppressed or not. + [EnableOverflowSharedVoicemailTranscription ]: Gets or sets a value indicating if transcription should be turned on or not. + [EnableResourceAccountsForObo ]: Gets or sets a value indicating whether to allow CQ+Chanined RA's as permissioned RA's. + [EnableTimeoutSharedVoicemailSystemPromptSuppression ]: Gets or sets a value indicating if system message should be suppressed or not. + [EnableTimeoutSharedVoicemailTranscription ]: Gets or sets a value indicating if transcription should be turned on or not. + [HideAuthorizedUser ]: Gets or sets hidden authorized user ids. + [IsCallbackEnabled ]: + [LanguageId ]: Gets or sets the language Id used for TTS. + [MusicOnHoldAudioFileId ]: Gets or sets the call flows for the auto attendant app endpoint. + [Name ]: Gets or sets the Call Queue's name. + [NoAgentAction ]: Gets or sets the action to take if the NoAgent is LoggedIn/OptedIn. + [NoAgentActionCallPriority ]: Gets or sets the CallPriority when a CQ transfers the call to another CQ upon the occurrence of no agent. + [NoAgentActionTarget ]: Gets or sets the target of the NoAgent action. + [NoAgentApplyTo ]: Determines whether NoAgent Action is applied to All Calls or to new calls only. + [NoAgentDisconnectAudioFilePrompt ]: Gets or sets the audio file to be played when call is disconnected on NoAgent. + [NoAgentDisconnectTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is disconnected on NoAgent. + [NoAgentRedirectPersonAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to person on NoAgent. + [NoAgentRedirectPersonTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to person on NoAgent. + [NoAgentRedirectPhoneNumberAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to phone number on NoAgent. + [NoAgentRedirectPhoneNumberTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to phone number on NoAgent. + [NoAgentRedirectVoiceAppAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to voiceapp on NoAgent. + [NoAgentRedirectVoiceAppTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to voiceapp on NoAgent. + [NoAgentRedirectVoicemailAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to voicemail on NoAgent. + [NoAgentRedirectVoicemailTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to voicemail on NoAgent. + [NoAgentSharedVoicemailAudioFilePrompt ]: Gets or sets the audio file to be played when forwarding callers to shared voicemail. + [NoAgentSharedVoicemailTextToSpeechPrompt ]: Gets or sets the TTS to be played when forwarding callers to shared voicemail. + [NumberOfCallsInQueueBeforeOfferingCallback ]: + [OboResourceAccountId ]: Gets or sets the list of Obo resource account ids. + [OverflowAction ]: Gets or sets the action to take when the overflow threshold is reached. + [OverflowActionCallPriority ]: Gets or sets the CallPriority when a CQ transfers the call to another CQ upon the occurrence of overflow. + [OverflowActionTarget ]: Gets or sets the target of the overflow action. + [OverflowDisconnectAudioFilePrompt ]: Gets or sets the audio file to be played when call is disconnected on overflow. + [OverflowDisconnectTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is disconnected on overflow. + [OverflowRedirectPersonAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to person on overflow. + [OverflowRedirectPersonTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to person on overflow. + [OverflowRedirectPhoneNumberAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to phone number on overflow. + [OverflowRedirectPhoneNumberTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to phone number on overflow. + [OverflowRedirectVoiceAppAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to voiceapp on overflow. + [OverflowRedirectVoiceAppTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to voiceapp on overflow. + [OverflowRedirectVoicemailAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to voicemail on overflow. + [OverflowRedirectVoicemailTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to voicemail on overflow. + [OverflowSharedVoicemailAudioFilePrompt ]: Gets or sets the audio file to be played when forwarding callers to shared voicemai. + [OverflowSharedVoicemailTextToSpeechPrompt ]: Gets or sets the TTS to be played when forwarding callers to shared voicemail. + [OverflowThreshold ]: Gets or sets the number of simultaneous calls that can be in the queue at any one time. + [PresenceAwareRouting ]: Gets or sets a value indicating whether to enable presence aware routing. + [RoutingMethod ]: Gets or sets the routing method for the Call Queue. + [ServiceLevelThresholdResponseTimeInSecond ]: + [ShouldOverwriteCallableChannelProperty ]: Gets or sets ShouldOverwriteCallableChannelProperty flag that indicates user intention to whether overwirte the current callableChannel property value on chat service or not. + [ThreadId ]: Gets or sets teams channel thread id if user choose to sync CQ with a channel. + [TimeoutAction ]: Gets or sets the action to take if the timeout threshold is reached. + [TimeoutActionCallPriority ]: Gets or sets the CallPriority when a CQ transfers the call to another CQ upon the occurrence of timeout. + [TimeoutActionTarget ]: Gets or sets the target of the timeout action. + [TimeoutDisconnectAudioFilePrompt ]: Gets or sets the audio file to be played when call is disconnected on Timeout. + [TimeoutDisconnectTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is disconnected on Timeout. + [TimeoutRedirectPersonAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to person on Timeout. + [TimeoutRedirectPersonTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to person on Timeout. + [TimeoutRedirectPhoneNumberAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to phone number on Timeout. + [TimeoutRedirectPhoneNumberTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to phone number on Timeout. + [TimeoutRedirectVoiceAppAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to voiceapp on Timeout. + [TimeoutRedirectVoiceAppTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to voiceapp on Timeout. + [TimeoutRedirectVoicemailAudioFilePrompt ]: Gets or sets the audio file to be played when call is redirected to voicemail on Timeout. + [TimeoutRedirectVoicemailTextToSpeechPrompt ]: Gets or sets the TTS to be played when call is redirected to voicemail on Timeout. + [TimeoutSharedVoicemailAudioFilePrompt ]: Gets or sets the audio file to be played when forwarding callers to shared voicemai. + [TimeoutSharedVoicemailTextToSpeechPrompt ]: Gets or sets the TTS to be played when forwarding callers to shared voicemail. + [TimeoutThreshold ]: Gets or sets the number of minutes that a call can be in the queue before it times out. + [UseDefaultMusicOnHold ]: Gets or sets a value indicating whether to use default music on hold audio file. + [User ]: Gets or sets the Call Queue's Users. + [WaitTimeBeforeOfferingCallbackInSecond ]: + [WelcomeMusicAudioFileId ]: Gets or sets the welcome audio file to play for the call queue. + [WelcomeTextToSpeechPrompt ]: Gets or sets the welcome text to speech content for the call queue. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/set-cscallqueue +#> +function Set-CsCallQueue { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDiagnosticRecord])] +[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Set', Mandatory)] + [Parameter(ParameterSetName='SetExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${ChannelUserObjectId}, + + [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUpdateCallQueueRequest] + # CallQueue modify request DTO class. + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the number of seconds that a call can remain unanswered. + ${AgentAlertTime}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether to allow agent optout on Call Queue. + ${AllowOptOut}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # Gets or sets authorized user ids. + ${AuthorizedUsers}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${CallToAgentRatioThresholdBeforeOfferingCallback}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the target of the callback email notification target. + ${CallbackEmailNotificationTarget}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CallbackOfferAudioFilePromptResourceId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CallbackOfferTextToSpeechPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CallbackRequestDtmf}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether to allow Conference Mode on Call Queue. + ${ConferenceMode}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # Gets or sets the Call Queue's Distribution List. + ${DistributionLists}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating if system message should be suppressed or not. + ${EnableNoAgentSharedVoicemailSystemPromptSuppression}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating if transcription should be turned on or not. + ${EnableNoAgentSharedVoicemailTranscription}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating if system message should be suppressed or not. + ${EnableOverflowSharedVoicemailSystemPromptSuppression}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating if transcription should be turned on or not. + ${EnableOverflowSharedVoicemailTranscription}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether to allow CQ+Chanined RA's as permissioned RA's. + ${EnableResourceAccountsForObo}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating if system message should be suppressed or not. + ${EnableTimeoutSharedVoicemailSystemPromptSuppression}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating if transcription should be turned on or not. + ${EnableTimeoutSharedVoicemailTranscription}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # Gets or sets hidden authorized user ids. + ${HideAuthorizedUsers}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${IsCallbackEnabled}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the language Id used for TTS. + ${LanguageId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the call flows for the auto attendant app endpoint. + ${MusicOnHoldAudioFileId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the Call Queue's name. + ${Name}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the action to take if the NoAgent is LoggedIn/OptedIn. + ${NoAgentAction}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the CallPriority when a CQ transfers the call to another CQ upon the occurrence of no agent. + ${NoAgentActionCallPriority}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the target of the NoAgent action. + ${NoAgentActionTarget}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Determines whether NoAgent Action is applied to All Calls or to new calls only. + ${NoAgentApplyTo}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is disconnected on NoAgent. + ${NoAgentDisconnectAudioFilePrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is disconnected on NoAgent. + ${NoAgentDisconnectTextToSpeechPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to person on NoAgent. + ${NoAgentRedirectPersonAudioFilePrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to person on NoAgent. + ${NoAgentRedirectPersonTextToSpeechPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to phone number on NoAgent. + ${NoAgentRedirectPhoneNumberAudioFilePrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to phone number on NoAgent. + ${NoAgentRedirectPhoneNumberTextToSpeechPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to voiceapp on NoAgent. + ${NoAgentRedirectVoiceAppAudioFilePrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to voiceapp on NoAgent. + ${NoAgentRedirectVoiceAppTextToSpeechPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to voicemail on NoAgent. + ${NoAgentRedirectVoicemailAudioFilePrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to voicemail on NoAgent. + ${NoAgentRedirectVoicemailTextToSpeechPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when forwarding callers to shared voicemail. + ${NoAgentSharedVoicemailAudioFilePrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when forwarding callers to shared voicemail. + ${NoAgentSharedVoicemailTextToSpeechPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${NumberOfCallsInQueueBeforeOfferingCallback}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # Gets or sets the list of Obo resource account ids. + ${OboResourceAccountIds}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the action to take when the overflow threshold is reached. + ${OverflowAction}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the CallPriority when a CQ transfers the call to another CQ upon the occurrence of overflow. + ${OverflowActionCallPriority}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the target of the overflow action. + ${OverflowActionTarget}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is disconnected on overflow. + ${OverflowDisconnectAudioFilePrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is disconnected on overflow. + ${OverflowDisconnectTextToSpeechPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to person on overflow. + ${OverflowRedirectPersonAudioFilePrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to person on overflow. + ${OverflowRedirectPersonTextToSpeechPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to phone number on overflow. + ${OverflowRedirectPhoneNumberAudioFilePrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to phone number on overflow. + ${OverflowRedirectPhoneNumberTextToSpeechPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to voiceapp on overflow. + ${OverflowRedirectVoiceAppAudioFilePrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to voiceapp on overflow. + ${OverflowRedirectVoiceAppTextToSpeechPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to voicemail on overflow. + ${OverflowRedirectVoicemailAudioFilePrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to voicemail on overflow. + ${OverflowRedirectVoicemailTextToSpeechPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when forwarding callers to shared voicemai. + ${OverflowSharedVoicemailAudioFilePrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when forwarding callers to shared voicemail. + ${OverflowSharedVoicemailTextToSpeechPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the number of simultaneous calls that can be in the queue at any one time. + ${OverflowThreshold}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether to enable presence aware routing. + ${PresenceAwareRouting}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the routing method for the Call Queue. + ${RoutingMethod}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${ServiceLevelThresholdResponseTimeInSecond}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets ShouldOverwriteCallableChannelProperty flag that indicates user intention to whether overwirte the current callableChannel property value on chat service or not. + ${ShouldOverwriteCallableChannelProperty}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets teams channel thread id if user choose to sync CQ with a channel. + ${ThreadId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the action to take if the timeout threshold is reached. + ${TimeoutAction}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the CallPriority when a CQ transfers the call to another CQ upon the occurrence of timeout. + ${TimeoutActionCallPriority}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the target of the timeout action. + ${TimeoutActionTarget}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is disconnected on Timeout. + ${TimeoutDisconnectAudioFilePrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is disconnected on Timeout. + ${TimeoutDisconnectTextToSpeechPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to person on Timeout. + ${TimeoutRedirectPersonAudioFilePrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to person on Timeout. + ${TimeoutRedirectPersonTextToSpeechPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to phone number on Timeout. + ${TimeoutRedirectPhoneNumberAudioFilePrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to phone number on Timeout. + ${TimeoutRedirectPhoneNumberTextToSpeechPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to voiceapp on Timeout. + ${TimeoutRedirectVoiceAppAudioFilePrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to voiceapp on Timeout. + ${TimeoutRedirectVoiceAppTextToSpeechPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when call is redirected to voicemail on Timeout. + ${TimeoutRedirectVoicemailAudioFilePrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when call is redirected to voicemail on Timeout. + ${TimeoutRedirectVoicemailTextToSpeechPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the audio file to be played when forwarding callers to shared voicemai. + ${TimeoutSharedVoicemailAudioFilePrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the TTS to be played when forwarding callers to shared voicemail. + ${TimeoutSharedVoicemailTextToSpeechPrompt}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # Gets or sets the number of minutes that a call can be in the queue before it times out. + ${TimeoutThreshold}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether to use default music on hold audio file. + ${UseDefaultMusicOnHold}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # Gets or sets the Call Queue's Users. + ${Users}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${WaitTimeBeforeOfferingCallbackInSecond}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the welcome audio file to play for the call queue. + ${WelcomeMusicAudioFileId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the welcome text to speech content for the call queue. + ${WelcomeTextToSpeechPrompt}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsCallQueue_Set'; + SetExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsCallQueue_SetExpanded'; + SetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsCallQueue_SetViaIdentity'; + SetViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsCallQueue_SetViaIdentityExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Update configuration +.Description +Update configuration +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IXdsConfiguration +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [(Any) ]: This indicates any property can be added to this object. + Identity : + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/set-csconfiguration +#> +function Set-CsConfiguration { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Update', Mandatory)] + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${ConfigName}, + + [Parameter(ParameterSetName='Update', Mandatory)] + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${ConfigType}, + + [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Api Version + ${ApiVersion}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${SchemaVersion}, + + [Parameter(ParameterSetName='Update', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IXdsConfiguration] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Collections.Hashtable] + # Additional Parameters + ${AdditionalProperties}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Update = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsConfiguration_Update'; + UpdateExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsConfiguration_UpdateExpanded'; + UpdateViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsConfiguration_UpdateViaIdentity'; + UpdateViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsConfiguration_UpdateViaIdentityExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Sets a bridge using unique id. +This api is also used for Instance query. +.Description +Sets a bridge using unique id. +This api is also used for Instance query. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IBridgeUpdateRequest +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingBridge +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : Update Conferencing Bridge Default Service number, or make it tenant's default bridge. + [DefaultServiceNumber ]: Gets or sets service number to be updated as new default number of bridge. + [Name ]: Gets or sets name of the bridge. This can only be used when user sets the bridge using instance. + [SetDefault ]: Gets or sets a boolean value indicating if the bridge should be updated to be tenant's default bridge. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/set-csodcbridge +#> +function Set-CsOdcBridge { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingBridge])] +[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Set', Mandatory)] + [Parameter(ParameterSetName='SetExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Identity of the bridge. + ${Identity}, + + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Set1', Mandatory)] + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetExpanded1', Mandatory)] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Name of the bridge. + ${Name}, + + [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='Set1', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IBridgeUpdateRequest] + # Update Conferencing Bridge Default Service number, or make it tenant's default bridge. + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetExpanded1')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets service number to be updated as new default number of bridge. + ${DefaultServiceNumber}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetExpanded1')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a boolean value indicating if the bridge should be updated to be tenant's default bridge. + ${SetDefault}, + + [Parameter(ParameterSetName='SetExpanded1')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets name of the bridge. + # This can only be used when user sets the bridge using instance. + ${Name1}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOdcBridge_Set'; + Set1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOdcBridge_Set1'; + SetExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOdcBridge_SetExpanded'; + SetExpanded1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOdcBridge_SetExpanded1'; + SetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOdcBridge_SetViaIdentity'; + SetViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOdcBridge_SetViaIdentityExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Set service number by unique id. +.Description +Set service number by unique id. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IServiceNumberUpdateRequest +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingServiceNumber +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : Update Conferencing Service number. + [PrimaryLanguage ]: The primary language CAA should use to service this call, e.g. en-US, en-GB etc. + [RestoreDefaultLanguage ]: Switch to indicate that the Primary and Secondary languages should be set to the default values. + [SecondaryLanguage ]: The list of secondary languages CAA should use to service this call. Number of secondary languages is limited to a max of 4. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/set-csodcservicenumber +#> +function Set-CsOdcServiceNumber { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingServiceNumber])] +[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Set', Mandatory)] + [Parameter(ParameterSetName='SetExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Identity of the service number. + ${Identity}, + + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IServiceNumberUpdateRequest] + # Update Conferencing Service number. + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # The primary language CAA should use to service this call, e.g. + # en-US, en-GB etc. + ${PrimaryLanguage}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Switch to indicate that the Primary and Secondary languages should be set to the default values. + ${RestoreDefaultLanguages}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # The list of secondary languages CAA should use to service this call. + # Number of secondary languages is limited to a max of 4. + ${SecondaryLanguages}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOdcServiceNumber_Set'; + SetExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOdcServiceNumber_SetExpanded'; + SetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOdcServiceNumber_SetViaIdentity'; + SetViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOdcServiceNumber_SetViaIdentityExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +This cmdlet is used to modify the properties of a user that has been enabled for Microsoft's audio conferencing service. +.Description +This cmdlet is used to modify the properties of a user that has been enabled for Microsoft's audio conferencing service. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUserData +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingUser +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : User data to be sent. + [AllowTollFreeDialIn ]: Gets or sets a value indicating whether or not the meeting should allow dialin via toll-free service number. TODO: This is not a Switch parameter. + [BridgeId ]: Gets or sets the bridge identifier. + [BridgeName ]: Gets or sets the bridge name. + [ResetLeaderPin ]: Gets or sets a value indicating whether or not to reset the leader pin. TODO: This is a Switch parameter. + [SendEmail ]: Gets or sets a value indicating whether to sends an email with the PSTN Conference information of a user even if the tenant setting is off. TODO: This is a switch parameter. + [SendEmailToAddress ]: Gets or sets a value indicating To Address to send the email that contains the Audio Conference information. This parameter must be used together with -SendEmail. + [ServiceNumber ]: Gets or sets the service number to set as the user's default bridge number. + [TollFreeServiceNumber ]: Gets or sets the toll-free service number to set as the user's default toll-free service number. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/set-csodcuser +#> +function Set-CsOdcUser { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingUser])] +[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Set', Mandatory)] + [Parameter(ParameterSetName='SetExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Identity of the user. + ${Identity}, + + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUserData] + # User data to be sent. + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether or not the meeting should allow dialin via toll-free service number.TODO: This is not a Switch parameter. + ${AllowTollFreeDialIn}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the bridge identifier. + ${BridgeId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the bridge name. + ${BridgeName}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether or not to reset the leader pin.TODO: This is a Switch parameter. + ${ResetLeaderPin}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether to sends an email with the PSTN Conference information of a user even if the tenant setting is off.TODO: This is a switch parameter. + ${SendEmail}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets a value indicating To Address to send the email that contains the Audio Conference information.This parameter must be used together with -SendEmail. + ${SendEmailToAddress}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the service number to set as the user's default bridge number. + ${ServiceNumber}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the toll-free service number to set as the user's default toll-free service number. + ${TollFreeServiceNumber}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOdcUser_Set'; + SetExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOdcUser_SetExpanded'; + SetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOdcUser_SetViaIdentity'; + SetViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOdcUser_SetViaIdentityExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis + +.Description + +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IEmergencyDisclaimerUserResponseInput +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDiagnostics +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IEmergencyDisclaimerUserResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [Content ]: + [Country ]: + [ForceAccept ]: + [Locale ]: + [RespondedByObjectId ]: + [Response ]: + [ResponseTimestamp ]: + [Version ]: +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/set-csonlineenhancedemergencyservicedisclaimer +#> +function Set-CsOnlineEnhancedEmergencyServiceDisclaimer { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IEmergencyDisclaimerUserResponse], [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDiagnostics])] +[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IEmergencyDisclaimerUserResponseInput] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Content}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CountryOrRegion}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${ForceAccept}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Locale}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${RespondedByObjectId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${Response}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.DateTime] + # . + ${ResponseTimestamp}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Version}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineEnhancedEmergencyServiceDisclaimer_Set'; + SetExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineEnhancedEmergencyServiceDisclaimer_SetExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Updates a specific schedule. +PUT Teams.VoiceApps/schedules/identity. +.Description +Updates a specific schedule. +PUT Teams.VoiceApps/schedules/identity. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISchedule +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IModifyScheduleResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [AssociatedConfigurationId ]: + [FixedScheduleDateTimeRange ]: + [End ]: + [Start ]: + [Id ]: + [Name ]: + [RecurrenceRangeEnd ]: + [RecurrenceRangeNumberOfOccurrence ]: + [RecurrenceRangeStart ]: + [RecurrenceRangeType ]: + [Type ]: + [WeeklyRecurrentScheduleFridayHour ]: + [End ]: + [Start ]: + [WeeklyRecurrentScheduleIsComplemented ]: + [WeeklyRecurrentScheduleMondayHour ]: + [WeeklyRecurrentScheduleSaturdayHour ]: + [WeeklyRecurrentScheduleSundayHour ]: + [WeeklyRecurrentScheduleThursdayHour ]: + [WeeklyRecurrentScheduleTuesdayHour ]: + [WeeklyRecurrentScheduleWednesdayHour ]: + +FIXEDSCHEDULEDATETIMERANGE : . + [End ]: + [Start ]: + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id + +WEEKLYRECURRENTSCHEDULEFRIDAYHOUR : . + [End ]: + [Start ]: + +WEEKLYRECURRENTSCHEDULEMONDAYHOUR : . + [End ]: + [Start ]: + +WEEKLYRECURRENTSCHEDULESATURDAYHOUR : . + [End ]: + [Start ]: + +WEEKLYRECURRENTSCHEDULESUNDAYHOUR : . + [End ]: + [Start ]: + +WEEKLYRECURRENTSCHEDULETHURSDAYHOUR : . + [End ]: + [Start ]: + +WEEKLYRECURRENTSCHEDULETUESDAYHOUR : . + [End ]: + [Start ]: + +WEEKLYRECURRENTSCHEDULEWEDNESDAYHOUR : . + [End ]: + [Start ]: +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/set-csonlineschedule +#> +function Set-CsOnlineSchedule { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IModifyScheduleResponse])] +[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Set', Mandatory)] + [Parameter(ParameterSetName='SetExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Id for the schedule to be updated. + ${Identity}, + + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ISchedule] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # . + ${AssociatedConfigurationId}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDateTimeRange[]] + # . + # To construct, see NOTES section for FIXEDSCHEDULEDATETIMERANGE properties and create a hash table. + ${FixedScheduleDateTimeRange}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Id}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Name}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.DateTime] + # . + ${RecurrenceRangeEnd}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Int32] + # . + ${RecurrenceRangeNumberOfOccurrence}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.DateTime] + # . + ${RecurrenceRangeStart}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${RecurrenceRangeType}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Type}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITimeRange[]] + # . + # To construct, see NOTES section for WEEKLYRECURRENTSCHEDULEFRIDAYHOUR properties and create a hash table. + ${WeeklyRecurrentScheduleFridayHour}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${WeeklyRecurrentScheduleIsComplemented}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITimeRange[]] + # . + # To construct, see NOTES section for WEEKLYRECURRENTSCHEDULEMONDAYHOUR properties and create a hash table. + ${WeeklyRecurrentScheduleMondayHour}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITimeRange[]] + # . + # To construct, see NOTES section for WEEKLYRECURRENTSCHEDULESATURDAYHOUR properties and create a hash table. + ${WeeklyRecurrentScheduleSaturdayHour}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITimeRange[]] + # . + # To construct, see NOTES section for WEEKLYRECURRENTSCHEDULESUNDAYHOUR properties and create a hash table. + ${WeeklyRecurrentScheduleSundayHour}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITimeRange[]] + # . + # To construct, see NOTES section for WEEKLYRECURRENTSCHEDULETHURSDAYHOUR properties and create a hash table. + ${WeeklyRecurrentScheduleThursdayHour}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITimeRange[]] + # . + # To construct, see NOTES section for WEEKLYRECURRENTSCHEDULETUESDAYHOUR properties and create a hash table. + ${WeeklyRecurrentScheduleTuesdayHour}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITimeRange[]] + # . + # To construct, see NOTES section for WEEKLYRECURRENTSCHEDULEWEDNESDAYHOUR properties and create a hash table. + ${WeeklyRecurrentScheduleWednesdayHour}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineSchedule_Set'; + SetExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineSchedule_SetExpanded'; + SetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineSchedule_SetViaIdentity'; + SetViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineSchedule_SetViaIdentityExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Enable or Disable Tenant VerifiedSipDomains. +.Description +Enable or Disable Tenant VerifiedSipDomains. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITenantSipDomainRequest +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : The request to update an tenant sip domain. + [Action ]: Action enable or disable domain. + [DomainName ]: Domain Name. +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/set-csonlinesipdomain +#> +function Set-CsOnlineSipDomain { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ITenantSipDomainRequest] + # The request to update an tenant sip domain. + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Action enable or disable domain. + ${Action}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Domain Name. + ${DomainName}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineSipDomain_Set'; + SetExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineSipDomain_SetExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Put OnlineVoicemailUserSettings. +.Description +Put OnlineVoicemailUserSettings. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IVoicemailSettings +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IVoicemailSettings +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : User Voicemail Settings base class. + [CallAnswerRule ]: Gets or sets CallAnswerRule. + [DefaultGreetingPromptOverwrite ]: Gets or sets DefaultGreetingPromptOverwrite. + [DefaultOofGreetingPromptOverwrite ]: Gets or sets DefaultOofGreetingPromptOverwrite. + [OofGreetingEnabled ]: Gets or sets a value indicating whether Out of Office Greeting is enabled. + [OofGreetingFollowAutomaticRepliesEnabled ]: Gets or sets a value indicating whether Out of Office Greeting Automatic Replies are enabled. + [PromptLanguage ]: Gets or sets prompt language. + [ShareData ]: Gets or sets a value indicating whether ShareData is enabled. + [TransferTarget ]: Gets or sets TransferTarget. + [VoicemailEnabled ]: Gets or sets a value indicating whether voicemail is enabled. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/set-csonlinevmusersetting +#> +function Set-CsOnlineVMUserSetting { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IVoicemailSettings])] +[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Set', Mandatory)] + [Parameter(ParameterSetName='SetExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IVoicemailSettings] + # User Voicemail Settings base class. + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets CallAnswerRule. + ${CallAnswerRule}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets DefaultGreetingPromptOverwrite. + ${DefaultGreetingPromptOverwrite}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets DefaultOofGreetingPromptOverwrite. + ${DefaultOofGreetingPromptOverwrite}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether Out of Office Greetingis enabled. + ${OofGreetingEnabled}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether Out of Office GreetingAutomatic Replies are enabled. + ${OofGreetingFollowAutomaticRepliesEnabled}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets prompt language. + ${PromptLanguage}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether ShareDatais enabled. + ${ShareData}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets TransferTarget. + ${TransferTarget}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether voicemail is enabled. + ${VoicemailEnabled}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineVMUserSetting_Set'; + SetExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineVMUserSetting_SetExpanded'; + SetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineVMUserSetting_SetViaIdentity'; + SetViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsOnlineVMUserSetting_SetViaIdentityExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis + +.Description + +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +System.String +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/set-csphonenumberassignment +#> +function Set-CsPhoneNumberAssignment { +[OutputType([System.String])] +[CmdletBinding(DefaultParameterSetName='Set', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${AssignmentCategory}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # . + ${EnterpriseVoiceEnabled}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${Identity}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${LocationId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${NetworkSiteId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${PhoneNumber}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${PhoneNumberType}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${ReverseNumberLookup}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsPhoneNumberAssignment_Set'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Set Org Settings - Set-CsTeamsSettingsCustomApp +.Description +Set Org Settings - Set-CsTeamsSettingsCustomApp +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUpdateCustomAppSettingRequest +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +APPACCESSREQUESTCONFIG : . + [AdminInstructionMessage ]: Admin instructions for app access requests. + [ApprovalPortalUrl ]: Tenant's approval portal URL for app access requests. + +APPSETTINGSLIST : List of appSettings. + [Context ]: App context. + [Id ]: App Id. + [IsAppLevelAutoInstallEnabled ]: Auto Installation of app is enabled or not. + [IsEnabled ]: App is enabled or not. + +BODY : . + [AppAccessRequestConfig ]: + [AdminInstructionMessage ]: Admin instructions for app access requests. + [ApprovalPortalUrl ]: Tenant's approval portal URL for app access requests. + [AppSettingsList ]: List of appSettings. + [Context ]: App context. + [Id ]: App Id. + [IsAppLevelAutoInstallEnabled ]: Auto Installation of app is enabled or not. + [IsEnabled ]: App is enabled or not. + [IsAppsEnabled ]: Setting to indicate external apps enabled or not. + [IsAppsPurchaseEnabled ]: Setting to indicate purchase external apps enabled or not. + [IsExternalAppsEnabledByDefault ]: Setting to indicate external apps enabled by default or not. + [IsLicenseBasedPinnedAppsEnabled ]: Feature flag for tailored apps experience for F license users. + [IsSideloadedAppsInteractionEnabled ]: Members of this tenant can see and interact with side-loaded apps, which control custom app settings in TAMS. + [IsTenantWideAutoInstallEnabled ]: Setting to indicate auto-installation of external apps. + [LobBackground ]: Background of the LOB banner. It is either an image URL or a color code. + [LobLogo ]: Logo of the LOB banner. It is either an image URL or a color code. + [LobLogomark ]: Logomark in the LOB category. It is either an image URL or a color code. + [LobTextColor ]: Color of the text in the LOB banner. +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/set-csteamssettingscustomapp +#> +function Set-CsTeamsSettingsCustomApp { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUpdateCustomAppSettingRequest] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IAppAccessRequestConfig] + # . + # To construct, see NOTES section for APPACCESSREQUESTCONFIG properties and create a hash table. + ${AppAccessRequestConfig}, + + [Parameter(ParameterSetName='SetExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IApplicationObject[]] + # List of appSettings. + # To construct, see NOTES section for APPSETTINGSLIST properties and create a hash table. + ${AppSettingsList}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Setting to indicate external apps enabled or not. + ${IsAppsEnabled}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Setting to indicate purchase external apps enabled or not. + ${IsAppsPurchaseEnabled}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Setting to indicate external apps enabled by default or not. + ${IsExternalAppsEnabledByDefault}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Feature flag for tailored apps experience for F license users. + ${IsLicenseBasedPinnedAppsEnabled}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Members of this tenant can see and interact with side-loaded apps, which control custom app settings in TAMS. + ${IsSideloadedAppsInteractionEnabled}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Setting to indicate auto-installation of external apps. + ${IsTenantWideAutoInstallEnabled}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Background of the LOB banner. + # It is either an image URL or a color code. + ${LobBackground}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Logo of the LOB banner. + # It is either an image URL or a color code. + ${LobLogo}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Logomark in the LOB category. + # It is either an image URL or a color code. + ${LobLogomark}, + + [Parameter(ParameterSetName='SetExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Color of the text in the LOB banner. + ${LobTextColor}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsSettingsCustomApp_Set'; + SetExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsTeamsSettingsCustomApp_SetExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Updates delegate in bvd +.Description +Updates delegate in bvd +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/set-csusercallingdelegate +#> +function Set-CsUserCallingDelegate { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Set', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Set', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # ObjectId of the to-be-added member. + ${Delegate}, + + [Parameter(ParameterSetName='Set', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # ObjectId of the group owner + ${Identity}, + + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # If the member is allowed to make calls. + ${MakeCalls}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # If the member is allowed to manage call settings. + ${ManageSettings}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # If the member is allowed to receive calls. + ${ReceiveCalls}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsUserCallingDelegate_Set'; + SetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsUserCallingDelegate_SetViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Add/Update online user routing settings in bvd +.Description +Add/Update online user routing settings in bvd +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUserRoutingSettings +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [CallGroupDetailDelay ]: + [CallGroupOrder ]: + [CallGroupTargets ]: + [Delegates ]: + [Id ]: + [MakeCalls ]: + [ManageSettings ]: + [ReceiveCalls ]: + [Delegators ]: + [ForwardingTarget ]: + [ForwardingTargetType ]: + [ForwardingType ]: + [GroupMembershipDetails ]: + [CallGroupOwnerId ]: + [NotificationSetting ]: + [GroupNotificationOverride ]: + [IsForwardingEnabled ]: + [IsUnansweredEnabled ]: + [SipUri ]: + [UnansweredDelay ]: + [UnansweredTarget ]: + [UnansweredTargetType ]: + +DELEGATIONSETTINGDELEGATE : . + [Id ]: + [MakeCalls ]: + [ManageSettings ]: + [ReceiveCalls ]: + +DELEGATIONSETTINGDELEGATOR : . + [Id ]: + [MakeCalls ]: + [ManageSettings ]: + [ReceiveCalls ]: + +GROUPMEMBERSHIPDETAILS : . + [CallGroupOwnerId ]: + [NotificationSetting ]: + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/set-csusercallingsettings +#> +function Set-CsUserCallingSettings { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Set', Mandatory)] + [Parameter(ParameterSetName='SetExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUserRoutingSettings] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CallGroupDetailDelay}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${CallGroupOrder}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # . + ${CallGroupTargets}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${ForwardingTarget}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${ForwardingTargetType}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${ForwardingType}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.ICallGroupMembershipDetails[]] + # . + # To construct, see NOTES section for GROUPMEMBERSHIPDETAILS properties and create a hash table. + ${GroupMembershipDetails}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${GroupNotificationOverride}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${IsForwardingEnabled}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # . + ${IsUnansweredEnabled}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${SipUri}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${UnansweredDelay}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${UnansweredTarget}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${UnansweredTargetType}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsUserCallingSettings_Set'; + SetExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsUserCallingSettings_SetExpanded'; + SetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsUserCallingSettings_SetViaIdentity'; + SetViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsUserCallingSettings_SetViaIdentityExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Set User. +.Description +Set User. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Inputs +System.Collections.Hashtable +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUserMas +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/set-csusergenerated +#> +function Set-CsUserGenerated { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUserMas])] +[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Set', Mandatory)] + [Parameter(ParameterSetName='SetExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # UserId. + ${UserId}, + + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.Info(Required, PossibleTypes=([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IDictionaryOfString]))] + [System.Collections.Hashtable] + # Dictionary of + ${Body}, + + [Parameter(ParameterSetName='SetExpanded')] + [Parameter(ParameterSetName='SetViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Collections.Hashtable] + # Additional Parameters + ${AdditionalProperties}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Set = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsUserGenerated_Set'; + SetExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsUserGenerated_SetExpanded'; + SetViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsUserGenerated_SetViaIdentity'; + SetViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Set-CsUserGenerated_SetViaIdentityExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Unassigns the previously assigned service number as default Conference Bridge number. +.Description +Unassigns the previously assigned service number as default Conference Bridge number. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingServiceNumber +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingServiceNumber +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : Class representing ConferencingServiceNumber. + [BridgeId ]: Gets or sets the unique identifier of the Bridge that this ServiceNumber belongs to. + [City ]: Gets or sets the Geocode where the ServiceNumber is intended to be used. + [IsShared ]: Gets or sets a value indicating whether the number is shared between multiple tenants. If this is the case then tenant admins will be unable to edit the number. + [Number ]: Gets or sets the 11 digit number identifying the ServiceNumber. + [PrimaryLanguage ]: Gets or sets the primary language of the ServiceNumber. e.g.: "en-US". + [SecondaryLanguages ]: Gets or sets the list of secondary languages of the ServiceNumber. e.g.: "fr-FR","en-GB","en-IN". + [Type ]: Gets or sets defines the number type Toll/Toll-Free. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/unregister-csodcservicenumber +#> +function Unregister-CsOdcServiceNumber { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingServiceNumber])] +[CmdletBinding(DefaultParameterSetName='UnregisterExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Unregister', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Service number to be assigned to a bridge. + # The service number in E.164 format, e.g. + # +14251112222 or tel:+14251112222. + ${Identity}, + + [Parameter(ParameterSetName='UnregisterViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # The conferencing bridge identifier to assign the service numbers to. + ${BridgeId}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # The conferencing bridge name to assign the service numbers. + ${BridgeName}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.Management.Automation.SwitchParameter] + # Switch parameter as a backdoor hook to remove the default service number on bridge. + ${RemoveDefaultServiceNumber}, + + [Parameter(ParameterSetName='Unregister1', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConferencingServiceNumber] + # Class representing ConferencingServiceNumber. + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='UnregisterExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the unique identifier of the Bridge that this ServiceNumber belongs to. + ${BridgeId1}, + + [Parameter(ParameterSetName='UnregisterExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the Geocode where the ServiceNumber is intended to be used. + ${City}, + + [Parameter(ParameterSetName='UnregisterExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Gets or sets a value indicating whether the number is shared between multiple tenants. + # If this is the casethen tenant admins will be unable to edit the number. + ${IsShared}, + + [Parameter(ParameterSetName='UnregisterExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the 11 digit number identifying the ServiceNumber. + ${Number}, + + [Parameter(ParameterSetName='UnregisterExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets the primary language of the ServiceNumber. + # e.g.: "en-US". + ${PrimaryLanguage}, + + [Parameter(ParameterSetName='UnregisterExpanded')] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String[]] + # Gets or sets the list of secondary languages of the ServiceNumber. + # e.g.: "fr-FR","en-GB","en-IN". + ${SecondaryLanguage}, + + [Parameter(ParameterSetName='UnregisterExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # Gets or sets defines the number type Toll/Toll-Free. + ${Type}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Unregister = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Unregister-CsOdcServiceNumber_Unregister'; + Unregister1 = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Unregister-CsOdcServiceNumber_Unregister1'; + UnregisterExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Unregister-CsOdcServiceNumber_UnregisterExpanded'; + UnregisterViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Unregister-CsOdcServiceNumber_UnregisterViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Refresh a specific AutoAttendant dail by grammer. +POST /Teams.VoiceApps/autoAttendants/{identity}/refresh. +.Description +Refresh a specific AutoAttendant dail by grammer. +POST /Teams.VoiceApps/autoAttendants/{identity}/refresh. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Outputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUpdateAutoAttendantResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/update-csautoattendant +#> +function Update-CsAutoAttendant { +[OutputType([Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IUpdateAutoAttendantResponse])] +[CmdletBinding(DefaultParameterSetName='Update', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Update', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # Id for the auto attendant to be refreshed. + ${Identity}, + + [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Update = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Update-CsAutoAttendant_Update'; + UpdateViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Update-CsAutoAttendant_UpdateViaIdentity'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Update configuration +.Description +Update configuration +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity +.Inputs +Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IXdsConfiguration +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BODY : . + [(Any) ]: This indicates any property can be added to this object. + Identity : + +INPUTOBJECT : Identity Parameter + [AppId ]: + [AudioFileId ]: + [Bssid ]: + [ChassisId ]: + [CivicAddressId ]: + [ConfigName ]: + [ConfigType ]: string + [ConnectionId ]: Connection Id. + [ConnectorInstanceId ]: Connector Instance Id + [Country ]: + [DialedNumber ]: + [EndpointId ]: Application instance Id. + [ErrorReportId ]: The UUID of a report instance + [GroupId ]: The ID of a group whose policy assignments will be returned. + [Id ]: + [Identity ]: + [Locale ]: + [LocationId ]: Location id. + [MemberId ]: ObjectId of the to-be-added member. + [ObjectId ]: Application instance object ID. + [OdataId ]: A composite URI of a template. + [OperationId ]: The ID of a batch policy assignment operation. + [OrchestrationId ]: The Id of specific Orchestration + [OrderId ]: + [OwnerId ]: ObjectId of the group owner + [PackageName ]: The name of a specific policy package + [PartitionKey ]: PartitionKey of the table. + [PolicyType ]: The policy type for which group policy assignments will be returned. + [PublicTemplateLocale ]: Language and country code for localization of publicly available templates. + [Region ]: Region to query Bvd table. + [SubnetId ]: + [Table ]: Bvd table name. + [TeamId ]: Team Id + [TelephoneNumber ]: An instance of hybrid telephone number. + [UserId ]: UserId. + [Version ]: + [WfmTeamId ]: Team Id +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/update-csconfiguration +#> +function Update-CsConfiguration { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Update', Mandatory)] + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${ConfigName}, + + [Parameter(ParameterSetName='Update', Mandatory)] + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [System.String] + # . + ${ConfigType}, + + [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Path')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IConfigApiBasedCmdletsIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # Api Version + ${ApiVersion}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Query')] + [System.String] + # . + ${SchemaVersion}, + + [Parameter(ParameterSetName='Update', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IXdsConfiguration] + # . + # To construct, see NOTES section for BODY properties and create a hash table. + ${Body}, + + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Identity}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Parameter(ParameterSetName='UpdateViaIdentityExpanded')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.Collections.Hashtable] + # Additional Parameters + ${AdditionalProperties}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + Update = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Update-CsConfiguration_Update'; + UpdateExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Update-CsConfiguration_UpdateExpanded'; + UpdateViaIdentity = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Update-CsConfiguration_UpdateViaIdentity'; + UpdateViaIdentityExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Update-CsConfiguration_UpdateViaIdentityExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# ---------------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.5.1, generator: @autorest/powershell@3.0.493) +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Update a policy package +.Description +Update a policy package +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +System.String +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +POLICYLIST : . + PolicyName : + PolicyType : +.Link +https://docs.microsoft.com/en-us/powershell/module/teams/update-cscustompolicypackage +#> +function Update-CsCustomPolicyPackage { +[OutputType([System.String])] +[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Identity}, + + [Parameter(Mandatory)] + [AllowEmptyCollection()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Models.IPackageServiceModelsRequestsPolicyTypeAndName[]] + # . + # To construct, see NOTES section for POLICYLIST properties and create a hash table. + ${PolicyList}, + + [Parameter()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Body')] + [System.String] + # . + ${Description}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + UpdateExpanded = 'Microsoft.Teams.ConfigAPI.Cmdlets.private\Update-CsCustomPolicyPackage_UpdateExpanded'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} + +# SIG # Begin signature block +# MIInwQYJKoZIhvcNAQcCoIInsjCCJ64CAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAiUd7nKz81zthv +# GLxmKN+75cUZhTIA0rwrgbv5skxs0KCCDXYwggX0MIID3KADAgECAhMzAAADrzBA +# DkyjTQVBAAAAAAOvMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMjMxMTE2MTkwOTAwWhcNMjQxMTE0MTkwOTAwWjB0MQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +# AQDOS8s1ra6f0YGtg0OhEaQa/t3Q+q1MEHhWJhqQVuO5amYXQpy8MDPNoJYk+FWA +# hePP5LxwcSge5aen+f5Q6WNPd6EDxGzotvVpNi5ve0H97S3F7C/axDfKxyNh21MG +# 0W8Sb0vxi/vorcLHOL9i+t2D6yvvDzLlEefUCbQV/zGCBjXGlYJcUj6RAzXyeNAN +# xSpKXAGd7Fh+ocGHPPphcD9LQTOJgG7Y7aYztHqBLJiQQ4eAgZNU4ac6+8LnEGAL +# go1ydC5BJEuJQjYKbNTy959HrKSu7LO3Ws0w8jw6pYdC1IMpdTkk2puTgY2PDNzB +# tLM4evG7FYer3WX+8t1UMYNTAgMBAAGjggFzMIIBbzAfBgNVHSUEGDAWBgorBgEE +# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQURxxxNPIEPGSO8kqz+bgCAQWGXsEw +# RQYDVR0RBD4wPKQ6MDgxHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEW +# MBQGA1UEBRMNMjMwMDEyKzUwMTgyNjAfBgNVHSMEGDAWgBRIbmTlUAXTgqoXNzci +# tW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8vd3d3Lm1pY3Jvc29mdC5j +# b20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3JsMGEG +# CCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDovL3d3dy5taWNyb3NvZnQu +# Y29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3J0 +# MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIBAISxFt/zR2frTFPB45Yd +# mhZpB2nNJoOoi+qlgcTlnO4QwlYN1w/vYwbDy/oFJolD5r6FMJd0RGcgEM8q9TgQ +# 2OC7gQEmhweVJ7yuKJlQBH7P7Pg5RiqgV3cSonJ+OM4kFHbP3gPLiyzssSQdRuPY +# 1mIWoGg9i7Y4ZC8ST7WhpSyc0pns2XsUe1XsIjaUcGu7zd7gg97eCUiLRdVklPmp +# XobH9CEAWakRUGNICYN2AgjhRTC4j3KJfqMkU04R6Toyh4/Toswm1uoDcGr5laYn +# TfcX3u5WnJqJLhuPe8Uj9kGAOcyo0O1mNwDa+LhFEzB6CB32+wfJMumfr6degvLT +# e8x55urQLeTjimBQgS49BSUkhFN7ois3cZyNpnrMca5AZaC7pLI72vuqSsSlLalG +# OcZmPHZGYJqZ0BacN274OZ80Q8B11iNokns9Od348bMb5Z4fihxaBWebl8kWEi2O +# PvQImOAeq3nt7UWJBzJYLAGEpfasaA3ZQgIcEXdD+uwo6ymMzDY6UamFOfYqYWXk +# ntxDGu7ngD2ugKUuccYKJJRiiz+LAUcj90BVcSHRLQop9N8zoALr/1sJuwPrVAtx +# HNEgSW+AKBqIxYWM4Ev32l6agSUAezLMbq5f3d8x9qzT031jMDT+sUAoCw0M5wVt +# CUQcqINPuYjbS1WgJyZIiEkBMIIHejCCBWKgAwIBAgIKYQ6Q0gAAAAAAAzANBgkq +# hkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x +# EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv +# bjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5 +# IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEwOTA5WjB+MQswCQYDVQQG +# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG +# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQg +# Q29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC +# CgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+laUKq4BjgaBEm6f8MMHt03 +# a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc6Whe0t+bU7IKLMOv2akr +# rnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4Ddato88tt8zpcoRb0Rrrg +# OGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+lD3v++MrWhAfTVYoonpy +# 4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nkkDstrjNYxbc+/jLTswM9 +# sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6A4aN91/w0FK/jJSHvMAh +# dCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmdX4jiJV3TIUs+UsS1Vz8k +# A/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL5zmhD+kjSbwYuER8ReTB +# w3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zdsGbiwZeBe+3W7UvnSSmn +# Eyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3T8HhhUSJxAlMxdSlQy90 +# lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS4NaIjAsCAwEAAaOCAe0w +# ggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRIbmTlUAXTgqoXNzcitW2o +# ynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYD +# VR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBDuRQFTuHqp8cx0SOJNDBa +# BgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2Ny +# bC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3JsMF4GCCsG +# AQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3dy5taWNyb3NvZnQuY29t +# L3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3J0MIGfBgNV +# HSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEFBQcCARYzaHR0cDovL3d3 +# dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1hcnljcHMuaHRtMEAGCCsG +# AQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkAYwB5AF8AcwB0AGEAdABl +# AG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn8oalmOBUeRou09h0ZyKb +# C5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7v0epo/Np22O/IjWll11l +# hJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0bpdS1HXeUOeLpZMlEPXh6 +# I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/KmtYSWMfCWluWpiW5IP0 +# wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvyCInWH8MyGOLwxS3OW560 +# STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBpmLJZiWhub6e3dMNABQam +# ASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJihsMdYzaXht/a8/jyFqGa +# J+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYbBL7fQccOKO7eZS/sl/ah +# XJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbSoqKfenoi+kiVH6v7RyOA +# 9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sLgOppO6/8MO0ETI7f33Vt +# Y5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtXcVZOSEXAQsmbdlsKgEhr +# /Xmfwb1tbWrJUnMTDXpQzTGCGaEwghmdAgEBMIGVMH4xCzAJBgNVBAYTAlVTMRMw +# EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN +# aWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNp +# Z25pbmcgUENBIDIwMTECEzMAAAOvMEAOTKNNBUEAAAAAA68wDQYJYIZIAWUDBAIB +# BQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEO +# MAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIMqhvZe75D/qlKRiNPcFaNFt +# VLfiRn0Ap9dZgsQYCK/gMEIGCisGAQQBgjcCAQwxNDAyoBSAEgBNAGkAYwByAG8A +# cwBvAGYAdKEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20wDQYJKoZIhvcNAQEB +# BQAEggEAPHGnpeZT/lwmwty7+iKHcKNR571AgWUU39zMv+0uejHNl9aZLCIsd1C2 +# MnCjiOu3rsSjHVs1+Gek4XqfF5XtjsmO7H0/VC8qh40BlIiPP9RLlhfC2tQ9L9I8 +# svMg47SFUgeF+z92dDiT/7PEh06pFS1XynUpTmp8z8iAOf2L/gk+WFtAxU8z7VW5 +# sao3eOa4oxcZPWSxb7tDyIUzQ/6SGJXd9+kciKok6Y5yY6IBcXHAcw8WpuRf9czk +# 0GBWj9X4ipC1yJMuvKnxzMOg56YSQ3Wv1tzs7vVs+CmCDf7nDh+P1uiCwR1FoLHA +# rMrSujVY0EjesJ9dRdnsCNwlnkjQ/qGCFyswghcnBgorBgEEAYI3AwMBMYIXFzCC +# FxMGCSqGSIb3DQEHAqCCFwQwghcAAgEDMQ8wDQYJYIZIAWUDBAIBBQAwggFZBgsq +# hkiG9w0BCRABBKCCAUgEggFEMIIBQAIBAQYKKwYBBAGEWQoDATAxMA0GCWCGSAFl +# AwQCAQUABCCvGaw1pI8YlqZJuKq4pDw0TpbCqhQtV30npCnNvrSlzAIGZnLApgyv +# GBMyMDI0MDYxOTExMzEzOS4xMTRaMASAAgH0oIHYpIHVMIHSMQswCQYDVQQGEwJV +# UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE +# ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQgSXJl +# bGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNO +# OjJBRDQtNEI5Mi1GQTAxMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBT +# ZXJ2aWNloIIRejCCBycwggUPoAMCAQICEzMAAAHenkielp8oRD0AAQAAAd4wDQYJ +# KoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x +# EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv +# bjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwHhcNMjMx +# MDEyMTkwNzEyWhcNMjUwMTEwMTkwNzEyWjCB0jELMAkGA1UEBhMCVVMxEzARBgNV +# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv +# c29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxhbmQgT3Bl +# cmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjoyQUQ0LTRC +# OTItRkEwMTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZTCC +# AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALSB9ByF9UIDhA6xFrOniw/x +# sDl8sSi9rOCOXSSO4VMQjnNGAo5VHx0iijMEMH9LY2SUIBkVQS0Ml6kR+TagkUPb +# aEpwjhQ1mprhRgJT/jlSnic42VDAo0en4JI6xnXoAoWoKySY8/ROIKdpphgI7OJb +# 4XHk1P3sX2pNZ32LDY1ktchK1/hWyPlblaXAHRu0E3ynvwrS8/bcorANO6Djuysy +# S9zUmr+w3H3AEvSgs2ReuLj2pkBcfW1UPCFudLd7IPZ2RC4odQcEPnY12jypYPnS +# 6yZAs0pLpq0KRFUyB1x6x6OU73sudiHON16mE0l6LLT9OmGo0S94Bxg3N/3aE6fU +# bnVoemVc7FkFLum8KkZcbQ7cOHSAWGJxdCvo5OtUtRdSqf85FklCXIIkg4sm7nM9 +# TktUVfO0kp6kx7mysgD0Qrxx6/5oaqnwOTWLNzK+BCi1G7nUD1pteuXvQp8fE1Kp +# TjnG/1OJeehwKNNPjGt98V0BmogZTe3SxBkOeOQyLA++5Hyg/L68pe+DrZoZPXJa +# GU/iBiFmL+ul/Oi3d83zLAHlHQmH/VGNBfRwP+ixvqhyk/EebwuXVJY+rTyfbRfu +# h9n0AaMhhNxxg6tGKyZS4EAEiDxrF9mAZEy8e8rf6dlKIX5d3aQLo9fDda1ZTOw+ +# XAcAvj2/N3DLVGZlHnHlAgMBAAGjggFJMIIBRTAdBgNVHQ4EFgQUazAmbxseaapg +# dxzK8Os+naPQEsgwHwYDVR0jBBgwFoAUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXwYD +# VR0fBFgwVjBUoFKgUIZOaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9j +# cmwvTWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUyMDIwMTAoMSkuY3JsMGwG +# CCsGAQUFBwEBBGAwXjBcBggrBgEFBQcwAoZQaHR0cDovL3d3dy5taWNyb3NvZnQu +# Y29tL3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIw +# MjAxMCgxKS5jcnQwDAYDVR0TAQH/BAIwADAWBgNVHSUBAf8EDDAKBggrBgEFBQcD +# CDAOBgNVHQ8BAf8EBAMCB4AwDQYJKoZIhvcNAQELBQADggIBAOKUwHsXDacGOvUI +# gs5HDgPs0LZ1qyHS6C6wfKlLaD36tZfbWt1x+GMiazSuy+GsxiVHzkhMW+FqK8gr +# uLQWN/sOCX+fGUgT9LT21cRIpcZj4/ZFIvwtkBcsCz1XEUsXYOSJUPitY7E8bbld +# mmhYZ29p+XQpIcsG/q+YjkqBW9mw0ru1MfxMTQs9MTDiD28gAVGrPA3NykiSChvd +# qS7VX+/LcEz9Ubzto/w28WA8HOCHqBTbDRHmiP7MIj+SQmI9VIayYsIGRjvelmNa +# 0OvbU9CJSz/NfMEgf2NHMZUYW8KqWEjIjPfHIKxWlNMYhuWfWRSHZCKyIANA0aJL +# 4soHQtzzZ2MnNfjYY851wHYjGgwUj/hlLRgQO5S30Zx78GqBKfylp25aOWJ/qPhC +# +DXM2gXajIXbl+jpGcVANwtFFujCJRdZbeH1R+Q41FjgBg4m3OTFDGot5DSuVkQg +# jku7pOVPtldE46QlDg/2WhPpTQxXH64sP1GfkAwUtt6rrZM/PCwRG6girYmnTRLL +# sicBhoYLh+EEFjVviXAGTk6pnu8jx/4WPWu0jsz7yFzg82/FMqCk9wK3LvyLAyDH +# N+FxbHAxtgwad7oLQPM0WGERdB1umPCIiYsSf/j79EqHdoNwQYROVm+ZX10RX3n6 +# bRmAnskeNhi0wnVaeVogLMdGD+nqMIIHcTCCBVmgAwIBAgITMwAAABXF52ueAptJ +# mQAAAAAAFTANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT +# Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m +# dCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNh +# dGUgQXV0aG9yaXR5IDIwMTAwHhcNMjEwOTMwMTgyMjI1WhcNMzAwOTMwMTgzMjI1 +# WjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH +# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQD +# Ex1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDCCAiIwDQYJKoZIhvcNAQEB +# BQADggIPADCCAgoCggIBAOThpkzntHIhC3miy9ckeb0O1YLT/e6cBwfSqWxOdcjK +# NVf2AX9sSuDivbk+F2Az/1xPx2b3lVNxWuJ+Slr+uDZnhUYjDLWNE893MsAQGOhg +# fWpSg0S3po5GawcU88V29YZQ3MFEyHFcUTE3oAo4bo3t1w/YJlN8OWECesSq/XJp +# rx2rrPY2vjUmZNqYO7oaezOtgFt+jBAcnVL+tuhiJdxqD89d9P6OU8/W7IVWTe/d +# vI2k45GPsjksUZzpcGkNyjYtcI4xyDUoveO0hyTD4MmPfrVUj9z6BVWYbWg7mka9 +# 7aSueik3rMvrg0XnRm7KMtXAhjBcTyziYrLNueKNiOSWrAFKu75xqRdbZ2De+JKR +# Hh09/SDPc31BmkZ1zcRfNN0Sidb9pSB9fvzZnkXftnIv231fgLrbqn427DZM9itu +# qBJR6L8FA6PRc6ZNN3SUHDSCD/AQ8rdHGO2n6Jl8P0zbr17C89XYcz1DTsEzOUyO +# ArxCaC4Q6oRRRuLRvWoYWmEBc8pnol7XKHYC4jMYctenIPDC+hIK12NvDMk2ZItb +# oKaDIV1fMHSRlJTYuVD5C4lh8zYGNRiER9vcG9H9stQcxWv2XFJRXRLbJbqvUAV6 +# bMURHXLvjflSxIUXk8A8FdsaN8cIFRg/eKtFtvUeh17aj54WcmnGrnu3tz5q4i6t +# AgMBAAGjggHdMIIB2TASBgkrBgEEAYI3FQEEBQIDAQABMCMGCSsGAQQBgjcVAgQW +# BBQqp1L+ZMSavoKRPEY1Kc8Q/y8E7jAdBgNVHQ4EFgQUn6cVXQBeYl2D9OXSZacb +# UzUZ6XIwXAYDVR0gBFUwUzBRBgwrBgEEAYI3TIN9AQEwQTA/BggrBgEFBQcCARYz +# aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnku +# aHRtMBMGA1UdJQQMMAoGCCsGAQUFBwMIMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIA +# QwBBMAsGA1UdDwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNX2 +# VsuP6KJcYmjRPZSQW9fOmhjEMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwu +# bWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dF8yMDEw +# LTA2LTIzLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93 +# d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYt +# MjMuY3J0MA0GCSqGSIb3DQEBCwUAA4ICAQCdVX38Kq3hLB9nATEkW+Geckv8qW/q +# XBS2Pk5HZHixBpOXPTEztTnXwnE2P9pkbHzQdTltuw8x5MKP+2zRoZQYIu7pZmc6 +# U03dmLq2HnjYNi6cqYJWAAOwBb6J6Gngugnue99qb74py27YP0h1AdkY3m2CDPVt +# I1TkeFN1JFe53Z/zjj3G82jfZfakVqr3lbYoVSfQJL1AoL8ZthISEV09J+BAljis +# 9/kpicO8F7BUhUKz/AyeixmJ5/ALaoHCgRlCGVJ1ijbCHcNhcy4sa3tuPywJeBTp +# kbKpW99Jo3QMvOyRgNI95ko+ZjtPu4b6MhrZlvSP9pEB9s7GdP32THJvEKt1MMU0 +# sHrYUP4KWN1APMdUbZ1jdEgssU5HLcEUBHG/ZPkkvnNtyo4JvbMBV0lUZNlz138e +# W0QBjloZkWsNn6Qo3GcZKCS6OEuabvshVGtqRRFHqfG3rsjoiV5PndLQTHa1V1QJ +# sWkBRH58oWFsc/4Ku+xBZj1p/cvBQUl+fpO+y/g75LcVv7TOPqUxUYS8vwLBgqJ7 +# Fx0ViY1w/ue10CgaiQuPNtq6TPmb/wrpNPgkNWcr4A245oyZ1uEi6vAnQj0llOZ0 +# dFtq0Z4+7X6gMTN9vMvpe784cETRkPHIqzqKOghif9lwY1NNje6CbaUFEMFxBmoQ +# tB1VM1izoXBm8qGCAtYwggI/AgEBMIIBAKGB2KSB1TCB0jELMAkGA1UEBhMCVVMx +# EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoT +# FU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxh +# bmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjoy +# QUQ0LTRCOTItRkEwMTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2Vy +# dmljZaIjCgEBMAcGBSsOAwIaAxUAaKBSisy4y86pl8Xy22CJZExE2vOggYMwgYCk +# fjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH +# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQD +# Ex1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDANBgkqhkiG9w0BAQUFAAIF +# AOodPycwIhgPMjAyNDA2MTkxOTI3MzVaGA8yMDI0MDYyMDE5MjczNVowdjA8Bgor +# BgEEAYRZCgQBMS4wLDAKAgUA6h0/JwIBADAJAgEAAgEEAgH/MAcCAQACAhE8MAoC +# BQDqHpCnAgEAMDYGCisGAQQBhFkKBAIxKDAmMAwGCisGAQQBhFkKAwKgCjAIAgEA +# AgMHoSChCjAIAgEAAgMBhqAwDQYJKoZIhvcNAQEFBQADgYEAT/1IiJfZABO6ytIi +# WGxM6eaEDYT9JQ8WJghhgjWuS2Zs10IoCFwHGOj8sCmchXhBcGWzIOYo9+ZnBxrr +# RfJdSERSUu5tGszKz3ljdkONrFFlWstPhVBLw1J6/joNt6zrPcbXveQ0xoNhOrx3 +# QwBuRjVGPZkWlofMLMDGtwxF6UAxggQNMIIECQIBATCBkzB8MQswCQYDVQQGEwJV +# UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE +# ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGlt +# ZS1TdGFtcCBQQ0EgMjAxMAITMwAAAd6eSJ6WnyhEPQABAAAB3jANBglghkgBZQME +# AgEFAKCCAUowGgYJKoZIhvcNAQkDMQ0GCyqGSIb3DQEJEAEEMC8GCSqGSIb3DQEJ +# BDEiBCD04GdgQB1KMmR7tElDFf6GXXT5q61mpOaEO0HqyprMkzCB+gYLKoZIhvcN +# AQkQAi8xgeowgecwgeQwgb0EII4+I58NwV4QEEkCf+YLcyCtPnD9TbPzUtgPjgdz +# fh17MIGYMIGApH4wfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x +# EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv +# bjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTACEzMAAAHe +# nkielp8oRD0AAQAAAd4wIgQgeCTJ44pulnKfPamoq2preglS6KL1S2QH7q3nSuP5 +# FXAwDQYJKoZIhvcNAQELBQAEggIAOTDeOoirpPRTW2MpTmzSgidVVPmd3zPdl7UX +# s7nLXK8FnXOMgrCsi+cAgCJnKAYrECmFnm219+nZugP9lwAQ+KBL4TD3cnjc2TF2 +# kFOPVggsyiZypCW3I1tmzyeYZf+Kcd32geU+jYnvlqzQCx/H0a0clvPAyWq8PUaa +# gp0cRPpfRZiogNDJpGMGDdandKVDV948CZtRiTfgtTbSNvOpM8rOO76ig4DII0cx +# lcgqGdUUA3WtkcbuLeId5Ia/5rjFu3hVPQ43sTL/z8oUDA1uIW59Rqt3lzLyQpCH +# gjcyR+q11mI1uR5fIkA+ldvAUHvuIursGt7qmt9dD1vgk+fFPmibY6VwfbG9R6c6 +# YS4Rvwh1xn4Z0s0m36oDDgm16UYkp9DeXamutysBbdOQvHu9EgTQD3NklvfCKg3G +# 8O0glONcyW7+O7SY+y3B3O8A/29NJ1/FEdu8ZdqeYJhE9GBMopd1KKi/g6lZYyZA +# w4XdeRjZlbnxhM+D7GoAtOOLBUbvC4biIOm9Jnz1jbYQpOO++JtLS+iKW0Unxhyx +# uIBf6mIH2VHr/+eYpV+EfASKoQxwtuP6gAh/T72zmhkSDudVKe3PmAFApPqPZy1i +# KPCNpR4fnQSxkpBDDyOA7/uqCly6WcgLf+f4PxWXq3KKpcDYzo+Tum3u3rVi5Ppl +# uRBShfA= +# SIG # End signature block diff --git a/Modules/MicrosoftTeams/6.4.0/internal/Microsoft.Teams.ConfigAPI.Cmdlets.internal.psm1 b/Modules/MicrosoftTeams/6.4.0/internal/Microsoft.Teams.ConfigAPI.Cmdlets.internal.psm1 new file mode 100644 index 000000000000..6b7313fef005 --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/internal/Microsoft.Teams.ConfigAPI.Cmdlets.internal.psm1 @@ -0,0 +1,254 @@ +# region Generated + # Load the private module dll + $null = Import-Module -PassThru -Name (Join-Path $PSScriptRoot '..\bin\Microsoft.Teams.ConfigAPI.Cmdlets.private.dll') + + # Get the private module's instance + $instance = [Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Module]::Instance + + # Export nothing to clear implicit exports + Export-ModuleMember + + # Export proxy cmdlet scripts + $exportsPath = $PSScriptRoot + $directories = Get-ChildItem -Directory -Path $exportsPath + $profileDirectory = $null + if($instance.ProfileName) { + if(($directories | ForEach-Object { $_.Name }) -contains $instance.ProfileName) { + $profileDirectory = $directories | Where-Object { $_.Name -eq $instance.ProfileName } + } else { + # Don't export anything if the profile doesn't exist for the module + $exportsPath = $null + Write-Warning "Selected Azure profile '$($instance.ProfileName)' does not exist for module '$($instance.Name)'. No cmdlets were loaded." + } + } elseif(($directories | Measure-Object).Count -gt 0) { + # Load the last folder if no profile is selected + $profileDirectory = $directories | Select-Object -Last 1 + } + + if($profileDirectory) { + Write-Information "Loaded Azure profile '$($profileDirectory.Name)' for module '$($instance.Name)'" + $exportsPath = $profileDirectory.FullName + } + + if($exportsPath) { + Get-ChildItem -Path $exportsPath -Recurse -Include '*.ps1' -File | ForEach-Object { . $_.FullName } + $cmdletNames = Get-ScriptCmdlet -ScriptFolder $exportsPath + Export-ModuleMember -Function $cmdletNames -Alias (Get-ScriptCmdlet -ScriptFolder $exportsPath -AsAlias) + } +# endregion + +# SIG # Begin signature block +# MIInvwYJKoZIhvcNAQcCoIInsDCCJ6wCAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBinYxDco4Ms/jt +# y2SUOAGGFlsJymQ7B0Ay6+tcGLbG9KCCDXYwggX0MIID3KADAgECAhMzAAADrzBA +# DkyjTQVBAAAAAAOvMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMjMxMTE2MTkwOTAwWhcNMjQxMTE0MTkwOTAwWjB0MQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +# AQDOS8s1ra6f0YGtg0OhEaQa/t3Q+q1MEHhWJhqQVuO5amYXQpy8MDPNoJYk+FWA +# hePP5LxwcSge5aen+f5Q6WNPd6EDxGzotvVpNi5ve0H97S3F7C/axDfKxyNh21MG +# 0W8Sb0vxi/vorcLHOL9i+t2D6yvvDzLlEefUCbQV/zGCBjXGlYJcUj6RAzXyeNAN +# xSpKXAGd7Fh+ocGHPPphcD9LQTOJgG7Y7aYztHqBLJiQQ4eAgZNU4ac6+8LnEGAL +# go1ydC5BJEuJQjYKbNTy959HrKSu7LO3Ws0w8jw6pYdC1IMpdTkk2puTgY2PDNzB +# tLM4evG7FYer3WX+8t1UMYNTAgMBAAGjggFzMIIBbzAfBgNVHSUEGDAWBgorBgEE +# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQURxxxNPIEPGSO8kqz+bgCAQWGXsEw +# RQYDVR0RBD4wPKQ6MDgxHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEW +# MBQGA1UEBRMNMjMwMDEyKzUwMTgyNjAfBgNVHSMEGDAWgBRIbmTlUAXTgqoXNzci +# tW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8vd3d3Lm1pY3Jvc29mdC5j +# b20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3JsMGEG +# CCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDovL3d3dy5taWNyb3NvZnQu +# Y29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3J0 +# MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIBAISxFt/zR2frTFPB45Yd +# mhZpB2nNJoOoi+qlgcTlnO4QwlYN1w/vYwbDy/oFJolD5r6FMJd0RGcgEM8q9TgQ +# 2OC7gQEmhweVJ7yuKJlQBH7P7Pg5RiqgV3cSonJ+OM4kFHbP3gPLiyzssSQdRuPY +# 1mIWoGg9i7Y4ZC8ST7WhpSyc0pns2XsUe1XsIjaUcGu7zd7gg97eCUiLRdVklPmp +# XobH9CEAWakRUGNICYN2AgjhRTC4j3KJfqMkU04R6Toyh4/Toswm1uoDcGr5laYn +# TfcX3u5WnJqJLhuPe8Uj9kGAOcyo0O1mNwDa+LhFEzB6CB32+wfJMumfr6degvLT +# e8x55urQLeTjimBQgS49BSUkhFN7ois3cZyNpnrMca5AZaC7pLI72vuqSsSlLalG +# OcZmPHZGYJqZ0BacN274OZ80Q8B11iNokns9Od348bMb5Z4fihxaBWebl8kWEi2O +# PvQImOAeq3nt7UWJBzJYLAGEpfasaA3ZQgIcEXdD+uwo6ymMzDY6UamFOfYqYWXk +# ntxDGu7ngD2ugKUuccYKJJRiiz+LAUcj90BVcSHRLQop9N8zoALr/1sJuwPrVAtx +# HNEgSW+AKBqIxYWM4Ev32l6agSUAezLMbq5f3d8x9qzT031jMDT+sUAoCw0M5wVt +# CUQcqINPuYjbS1WgJyZIiEkBMIIHejCCBWKgAwIBAgIKYQ6Q0gAAAAAAAzANBgkq +# hkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x +# EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv +# bjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5 +# IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEwOTA5WjB+MQswCQYDVQQG +# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG +# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQg +# Q29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC +# CgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+laUKq4BjgaBEm6f8MMHt03 +# a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc6Whe0t+bU7IKLMOv2akr +# rnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4Ddato88tt8zpcoRb0Rrrg +# OGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+lD3v++MrWhAfTVYoonpy +# 4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nkkDstrjNYxbc+/jLTswM9 +# sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6A4aN91/w0FK/jJSHvMAh +# dCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmdX4jiJV3TIUs+UsS1Vz8k +# A/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL5zmhD+kjSbwYuER8ReTB +# w3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zdsGbiwZeBe+3W7UvnSSmn +# Eyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3T8HhhUSJxAlMxdSlQy90 +# lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS4NaIjAsCAwEAAaOCAe0w +# ggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRIbmTlUAXTgqoXNzcitW2o +# ynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYD +# VR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBDuRQFTuHqp8cx0SOJNDBa +# BgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2Ny +# bC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3JsMF4GCCsG +# AQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3dy5taWNyb3NvZnQuY29t +# L3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3J0MIGfBgNV +# HSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEFBQcCARYzaHR0cDovL3d3 +# dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1hcnljcHMuaHRtMEAGCCsG +# AQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkAYwB5AF8AcwB0AGEAdABl +# AG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn8oalmOBUeRou09h0ZyKb +# C5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7v0epo/Np22O/IjWll11l +# hJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0bpdS1HXeUOeLpZMlEPXh6 +# I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/KmtYSWMfCWluWpiW5IP0 +# wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvyCInWH8MyGOLwxS3OW560 +# STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBpmLJZiWhub6e3dMNABQam +# ASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJihsMdYzaXht/a8/jyFqGa +# J+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYbBL7fQccOKO7eZS/sl/ah +# XJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbSoqKfenoi+kiVH6v7RyOA +# 9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sLgOppO6/8MO0ETI7f33Vt +# Y5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtXcVZOSEXAQsmbdlsKgEhr +# /Xmfwb1tbWrJUnMTDXpQzTGCGZ8wghmbAgEBMIGVMH4xCzAJBgNVBAYTAlVTMRMw +# EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN +# aWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNp +# Z25pbmcgUENBIDIwMTECEzMAAAOvMEAOTKNNBUEAAAAAA68wDQYJYIZIAWUDBAIB +# BQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEO +# MAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIATtakQutmXgLMF/GbL8NirD +# QVtbkIOFqy28LZj0qbtlMEIGCisGAQQBgjcCAQwxNDAyoBSAEgBNAGkAYwByAG8A +# cwBvAGYAdKEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20wDQYJKoZIhvcNAQEB +# BQAEggEAUt2t/oEkO83UvzlDK9uRb0fdsRTfIgCfQs1hZOtLRB2tFyS86JqJmt2Q +# 2C1jYg7Ke1U38t821DDHHGbgHh3Aetmy1zYHTIE9G9QHCYEJEeAppd6quj9Rhq0s +# BO43JkLi1pXQ8Hu4feuQy2hwXmFPhKhv2V0G3+MXWmd9MB6B3HrgYo9uKXPa5HqZ +# Jxvrz3DkqtjYZVAKqTT60NQl4idqTN8SiUnOCtFeWDb1YaXKnJMm5fmSzc9sIy6N +# bu3+bez7o0EGug3SJBPG3ekAgshfUgnWo1yvNj7evZtHw9fxz2Ksx+O3uS6EmNu2 +# r3Nz+ZiBEaasp4JSzY1pC1K9XBKZCKGCFykwghclBgorBgEEAYI3AwMBMYIXFTCC +# FxEGCSqGSIb3DQEHAqCCFwIwghb+AgEDMQ8wDQYJYIZIAWUDBAIBBQAwggFZBgsq +# hkiG9w0BCRABBKCCAUgEggFEMIIBQAIBAQYKKwYBBAGEWQoDATAxMA0GCWCGSAFl +# AwQCAQUABCA1vdoVf+S83h1XOGSh1D2sxhIButREutmbjwyYpyuSgwIGZldU1NwH +# GBMyMDI0MDYxOTExMzEzNi4xODVaMASAAgH0oIHYpIHVMIHSMQswCQYDVQQGEwJV +# UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE +# ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQgSXJl +# bGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNO +# OkZDNDEtNEJENC1EMjIwMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBT +# ZXJ2aWNloIIReDCCBycwggUPoAMCAQICEzMAAAHimZmV8dzjIOsAAQAAAeIwDQYJ +# KoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x +# EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv +# bjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwHhcNMjMx +# MDEyMTkwNzI1WhcNMjUwMTEwMTkwNzI1WjCB0jELMAkGA1UEBhMCVVMxEzARBgNV +# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv +# c29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxhbmQgT3Bl +# cmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjpGQzQxLTRC +# RDQtRDIyMDElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZTCC +# AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALVjtZhV+kFmb8cKQpg2mzis +# DlRI978Gb2amGvbAmCd04JVGeTe/QGzM8KbQrMDol7DC7jS03JkcrPsWi9WpVwsI +# ckRQ8AkX1idBG9HhyCspAavfuvz55khl7brPQx7H99UJbsE3wMmpmJasPWpgF05z +# ZlvpWQDULDcIYyl5lXI4HVZ5N6MSxWO8zwWr4r9xkMmUXs7ICxDJr5a39SSePAJR +# IyznaIc0WzZ6MFcTRzLLNyPBE4KrVv1LFd96FNxAzwnetSePg88EmRezr2T3HTFE +# lneJXyQYd6YQ7eCIc7yllWoY03CEg9ghorp9qUKcBUfFcS4XElf3GSERnlzJsK7s +# /ZGPU4daHT2jWGoYha2QCOmkgjOmBFCqQFFwFmsPrZj4eQszYxq4c4HqPnUu4hT4 +# aqpvUZ3qIOXbdyU42pNL93cn0rPTTleOUsOQbgvlRdthFCBepxfb6nbsp3fcZaPB +# fTbtXVa8nLQuMCBqyfsebuqnbwj+lHQfqKpivpyd7KCWACoj78XUwYqy1HyYnStT +# me4T9vK6u2O/KThfROeJHiSg44ymFj+34IcFEhPogaKvNNsTVm4QbqphCyknrwBy +# qorBCLH6bllRtJMJwmu7GRdTQsIx2HMKqphEtpSm1z3ufASdPrgPhsQIRFkHZGui +# hL1Jjj4Lu3CbAmha0lOrAgMBAAGjggFJMIIBRTAdBgNVHQ4EFgQURIQOEdq+7Qds +# lptJiCRNpXgJ2gUwHwYDVR0jBBgwFoAUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXwYD +# VR0fBFgwVjBUoFKgUIZOaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9j +# cmwvTWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUyMDIwMTAoMSkuY3JsMGwG +# CCsGAQUFBwEBBGAwXjBcBggrBgEFBQcwAoZQaHR0cDovL3d3dy5taWNyb3NvZnQu +# Y29tL3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIw +# MjAxMCgxKS5jcnQwDAYDVR0TAQH/BAIwADAWBgNVHSUBAf8EDDAKBggrBgEFBQcD +# CDAOBgNVHQ8BAf8EBAMCB4AwDQYJKoZIhvcNAQELBQADggIBAORURDGrVRTbnulf +# sg2cTsyyh7YXvhVU7NZMkITAQYsFEPVgvSviCylr5ap3ka76Yz0t/6lxuczI6w7t +# Xq8n4WxUUgcj5wAhnNorhnD8ljYqbck37fggYK3+wEwLhP1PGC5tvXK0xYomU1nU +# +lXOy9ZRnShI/HZdFrw2srgtsbWow9OMuADS5lg7okrXa2daCOGnxuaD1IO+65E7 +# qv2O0W0sGj7AWdOjNdpexPrspL2KEcOMeJVmkk/O0ganhFzzHAnWjtNWneU11WQ6 +# Bxv8OpN1fY9wzQoiycgvOOJM93od55EGeXxfF8bofLVlUE3zIikoSed+8s61NDP+ +# x9RMya2mwK/Ys1xdvDlZTHndIKssfmu3vu/a+BFf2uIoycVTvBQpv/drRJD68eo4 +# 01mkCRFkmy/+BmQlRrx2rapqAu5k0Nev+iUdBUKmX/iOaKZ75vuQg7hCiBA5xIm5 +# ZIXDSlX47wwFar3/BgTwntMq9ra6QRAeS/o/uYWkmvqvE8Aq38QmKgTiBnWSS/uV +# PcaHEyArnyFh5G+qeCGmL44MfEnFEhxc3saPmXhe6MhSgCIGJUZDA7336nQD8fn4 +# y6534Lel+LuT5F5bFt0mLwd+H5GxGzObZmm/c3pEWtHv1ug7dS/Dfrcd1sn2E4gk +# 4W1L1jdRBbK9xwkMmwY+CHZeMSvBMIIHcTCCBVmgAwIBAgITMwAAABXF52ueAptJ +# mQAAAAAAFTANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT +# Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m +# dCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNh +# dGUgQXV0aG9yaXR5IDIwMTAwHhcNMjEwOTMwMTgyMjI1WhcNMzAwOTMwMTgzMjI1 +# WjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH +# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQD +# Ex1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDCCAiIwDQYJKoZIhvcNAQEB +# BQADggIPADCCAgoCggIBAOThpkzntHIhC3miy9ckeb0O1YLT/e6cBwfSqWxOdcjK +# NVf2AX9sSuDivbk+F2Az/1xPx2b3lVNxWuJ+Slr+uDZnhUYjDLWNE893MsAQGOhg +# fWpSg0S3po5GawcU88V29YZQ3MFEyHFcUTE3oAo4bo3t1w/YJlN8OWECesSq/XJp +# rx2rrPY2vjUmZNqYO7oaezOtgFt+jBAcnVL+tuhiJdxqD89d9P6OU8/W7IVWTe/d +# vI2k45GPsjksUZzpcGkNyjYtcI4xyDUoveO0hyTD4MmPfrVUj9z6BVWYbWg7mka9 +# 7aSueik3rMvrg0XnRm7KMtXAhjBcTyziYrLNueKNiOSWrAFKu75xqRdbZ2De+JKR +# Hh09/SDPc31BmkZ1zcRfNN0Sidb9pSB9fvzZnkXftnIv231fgLrbqn427DZM9itu +# qBJR6L8FA6PRc6ZNN3SUHDSCD/AQ8rdHGO2n6Jl8P0zbr17C89XYcz1DTsEzOUyO +# ArxCaC4Q6oRRRuLRvWoYWmEBc8pnol7XKHYC4jMYctenIPDC+hIK12NvDMk2ZItb +# oKaDIV1fMHSRlJTYuVD5C4lh8zYGNRiER9vcG9H9stQcxWv2XFJRXRLbJbqvUAV6 +# bMURHXLvjflSxIUXk8A8FdsaN8cIFRg/eKtFtvUeh17aj54WcmnGrnu3tz5q4i6t +# AgMBAAGjggHdMIIB2TASBgkrBgEEAYI3FQEEBQIDAQABMCMGCSsGAQQBgjcVAgQW +# BBQqp1L+ZMSavoKRPEY1Kc8Q/y8E7jAdBgNVHQ4EFgQUn6cVXQBeYl2D9OXSZacb +# UzUZ6XIwXAYDVR0gBFUwUzBRBgwrBgEEAYI3TIN9AQEwQTA/BggrBgEFBQcCARYz +# aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnku +# aHRtMBMGA1UdJQQMMAoGCCsGAQUFBwMIMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIA +# QwBBMAsGA1UdDwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNX2 +# VsuP6KJcYmjRPZSQW9fOmhjEMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwu +# bWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dF8yMDEw +# LTA2LTIzLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93 +# d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYt +# MjMuY3J0MA0GCSqGSIb3DQEBCwUAA4ICAQCdVX38Kq3hLB9nATEkW+Geckv8qW/q +# XBS2Pk5HZHixBpOXPTEztTnXwnE2P9pkbHzQdTltuw8x5MKP+2zRoZQYIu7pZmc6 +# U03dmLq2HnjYNi6cqYJWAAOwBb6J6Gngugnue99qb74py27YP0h1AdkY3m2CDPVt +# I1TkeFN1JFe53Z/zjj3G82jfZfakVqr3lbYoVSfQJL1AoL8ZthISEV09J+BAljis +# 9/kpicO8F7BUhUKz/AyeixmJ5/ALaoHCgRlCGVJ1ijbCHcNhcy4sa3tuPywJeBTp +# kbKpW99Jo3QMvOyRgNI95ko+ZjtPu4b6MhrZlvSP9pEB9s7GdP32THJvEKt1MMU0 +# sHrYUP4KWN1APMdUbZ1jdEgssU5HLcEUBHG/ZPkkvnNtyo4JvbMBV0lUZNlz138e +# W0QBjloZkWsNn6Qo3GcZKCS6OEuabvshVGtqRRFHqfG3rsjoiV5PndLQTHa1V1QJ +# sWkBRH58oWFsc/4Ku+xBZj1p/cvBQUl+fpO+y/g75LcVv7TOPqUxUYS8vwLBgqJ7 +# Fx0ViY1w/ue10CgaiQuPNtq6TPmb/wrpNPgkNWcr4A245oyZ1uEi6vAnQj0llOZ0 +# dFtq0Z4+7X6gMTN9vMvpe784cETRkPHIqzqKOghif9lwY1NNje6CbaUFEMFxBmoQ +# tB1VM1izoXBm8qGCAtQwggI9AgEBMIIBAKGB2KSB1TCB0jELMAkGA1UEBhMCVVMx +# EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoT +# FU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxh +# bmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjpG +# QzQxLTRCRDQtRDIyMDElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2Vy +# dmljZaIjCgEBMAcGBSsOAwIaAxUAFpuZafp0bnpJdIhfiB1d8pTohm+ggYMwgYCk +# fjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH +# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQD +# Ex1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDANBgkqhkiG9w0BAQUFAAIF +# AOoc1n4wIhgPMjAyNDA2MTkxMjAxMDJaGA8yMDI0MDYyMDEyMDEwMlowdDA6Bgor +# BgEEAYRZCgQBMSwwKjAKAgUA6hzWfgIBADAHAgEAAgILXDAHAgEAAgISTjAKAgUA +# 6h4n/gIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMCoAowCAIBAAID +# B6EgoQowCAIBAAIDAYagMA0GCSqGSIb3DQEBBQUAA4GBAL5M3XQ99+gQS1xkP1KW +# 9nX9OAGCMIcR5ZK/al66Qs/t2ef5Yd1qcilDgcLjajg2et2D7Qfe6+lWhe1lINiI +# o0Z3+Bb+0CiQnyZqdLL8XEVn1mfh3TLKNcQVgdWuwvOG3iMPpUikySuKKrmrDBIy +# W/SEDRfVG/7/WwzWaZpHoWvRMYIEDTCCBAkCAQEwgZMwfDELMAkGA1UEBhMCVVMx +# EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoT +# FU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUt +# U3RhbXAgUENBIDIwMTACEzMAAAHimZmV8dzjIOsAAQAAAeIwDQYJYIZIAWUDBAIB +# BQCgggFKMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQx +# IgQgzLaoiSaxNS52bZWtt4HaoSzBi9nhOum5D8+BaamnAJAwgfoGCyqGSIb3DQEJ +# EAIvMYHqMIHnMIHkMIG9BCAriSpKEP0muMbBUETODoL4d5LU6I/bjucIZkOJCI9/ +# /zCBmDCBgKR+MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAw +# DgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24x +# JjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAB4pmZ +# lfHc4yDrAAEAAAHiMCIEIKw+Z1qEOrrAAGY5V/nbas2e2BWwg6KvDkh01Ho2gial +# MA0GCSqGSIb3DQEBCwUABIICAEQouZqjW39KB1AIYUPHZX7JKbhndBcV4PSqOYK4 +# vPOuOfg0paIIbk3pKRDVfrRtSHHhohLsIPF1wih9/M3cuyZNamwvIqMI0SwSs36U +# /W2lN9LXAzO+pXWIS3/c3XpFXBNRg7gRgkdP08dSaOanbkVV7/dIWNUJ0IDfb6dF +# xjES7l1UZWq42wNTQkpIXzyKA/PulEZr72Qvmos4ZHif6nowH79h9O5yqJhlDUsG +# MnB/RvwvYI3E1nRbuOLVFsty6Wdwyzc36U1s/vsfY4DENoLd0maO5cHRfDD3Rnq2 +# sAS8Yjp94uRGlHoWFTNy74+l/Ttl23fM31VZV27UWVJvGfPi3A549uA1maAfr0qB +# faxXRXwerFEXK33VqxVP4oFh0EWDB8nw5PfPVMc3wCTvinVFPZ+M+QaZedx9wsal +# 1cjfBtek9/ApqyOlx/X0Ic8Ss3K2b5klUEeXi4qdS+KijSYEEmPs+gZoPAb7+6Vj +# A0hltXCELiJ6zC4uhe/kIjSqx1qlExOvXypME4ljCt+6z2CS9UMRSUrQiwgPzHte +# wNRo43acFIjsaVroNuHg4++nrmlJZ4bwL8MljPNznXZQEKnvfnI8OekLgxetG2lI +# bzVBEIRhAjsSnxnXdIedeIn52LLyvgxCc054ckWR8yjsA3vBHwTmLoV8ku1GOllj +# m3Qb +# SIG # End signature block diff --git a/Modules/MicrosoftTeams/6.4.0/net472/CmdletSettings.json b/Modules/MicrosoftTeams/6.4.0/net472/CmdletSettings.json new file mode 100644 index 000000000000..fbfce66a5c53 --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/net472/CmdletSettings.json @@ -0,0 +1,255 @@ +{ + "EnvironmentConfigurations": [ + { + "environmentType": "INT", + "configApiBaseUrl": "https://dev.api.interfaces.records.teams.microsoft.com", + "resourceId": "4cdeebb1-712e-4b2c-b450-eeef9fc1bc18", + "authority": "https://login.microsoftonline.com/common", + "serviceConfigurations": { + "GPA": { + "clientId": "10b74c53-e4d3-40f9-87ff-b46c872c329b", + "redirectUri": "https://login.microsoftonline.com/common/oauth2/nativeclient", + "extensions": {} + }, + "DSSYNC": { + "clientId": "c3d9ab47-b29a-4acb-9935-70f216a3deb3", + "redirectUri": "https://login.microsoftonline.com/common/oauth2/nativeclient", + "extensions": {} + }, + "LROS": { + "clientId": "ec73d46d-93d3-49b1-86e4-996b33fca112", + "redirectUri": "https://login.microsoftonline.com/common/oauth2/nativeclient", + "extensions": {} + }, + "NGTPROV": { + "clientId": "036102b5-b27c-4591-91aa-1e1eb70bdb1a", + "redirectUri": "https://login.microsoftonline.com/common/oauth2/nativeclient", + "extensions": {} + } + } + }, + { + "environmentType": "MultiTenant", + "configApiBaseUrl": "https://api.interfaces.records.teams.microsoft.com", + "resourceId": "48ac35b8-9aa8-4d74-927d-1f4a14a0b239", + "authority": "https://login.microsoftonline.com/common", + "serviceConfigurations": { + "GPA": { + "clientId": "e6fe3e2b-7019-44bf-a0e8-e1e2745081fb", + "redirectUri": "https://login.microsoftonline.com/common/oauth2/nativeclient", + "extensions": {} + }, + "DSSYNC": { + "clientId": "22e233c6-8873-48e8-a1b7-d363357d706d", + "redirectUri": "https://login.microsoftonline.com/common/oauth2/nativeclient", + "extensions": {} + }, + "LROS": { + "clientId": "0f7fe8a8-182d-4625-8e95-4cbc7a4384e0", + "redirectUri": "https://login.microsoftonline.com/common/oauth2/nativeclient", + "extensions": {} + }, + "NGTPROV": { + "clientId": "a4d23afe-0054-4eba-b30f-c99bd5314e9c", + "redirectUri": "https://login.microsoftonline.com/common/oauth2/nativeclient", + "extensions": {} + } + } + }, + { + "environmentType": "Ag08", + "configApiBaseUrl": "https://api.interfaces.records.teams.eaglex.ic.gov", + "resourceId": "48ac35b8-9aa8-4d74-927d-1f4a14a0b239", + "authority": "https://login.microsoftonline.eaglex.ic.gov/common", + "serviceConfigurations": { + "GPA": { + "clientId": "7cd1687e-80b2-41a8-9fe3-9bd47a36fd77", + "redirectUri": "https://login.microsoftonline.eaglex.ic.gov/common/oauth2/nativeclient", + "extensions": {} + }, + "DSSYNC": { + "clientId": "7cd1687e-80b2-41a8-9fe3-9bd47a36fd77", + "redirectUri": "https://login.microsoftonline.eaglex.ic.gov/common/oauth2/nativeclient", + "extensions": {} + }, + "LROS": { + "clientId": "7cd1687e-80b2-41a8-9fe3-9bd47a36fd77", + "redirectUri": "https://login.microsoftonline.eaglex.ic.gov/common/oauth2/nativeclient", + "extensions": {} + }, + "NGTPROV": { + "clientId": "7cd1687e-80b2-41a8-9fe3-9bd47a36fd77", + "redirectUri": "https://login.microsoftonline.eaglex.ic.gov/common/oauth2/nativeclient", + "extensions": {} + } + } + }, + { + "environmentType": "Ag09", + "configApiBaseUrl": "https://api.interfaces.records.teams.microsoft.scloud", + "resourceId": "48ac35b8-9aa8-4d74-927d-1f4a14a0b239", + "authority": "https://login.microsoftonline.microsoft.scloud/common", + "serviceConfigurations": { + "GPA": { + "clientId": "26f9beea-b439-45e6-88fe-b3fe6ff4387c", + "redirectUri": "https://login.microsoftonline.microsoft.scloud/common/oauth2/nativeclient", + "extensions": {} + }, + "DSSYNC": { + "clientId": "26f9beea-b439-45e6-88fe-b3fe6ff4387c", + "redirectUri": "https://login.microsoftonline.microsoft.scloud/common/oauth2/nativeclient", + "extensions": {} + }, + "LROS": { + "clientId": "26f9beea-b439-45e6-88fe-b3fe6ff4387c", + "redirectUri": "https://login.microsoftonline.microsoft.scloud/common/oauth2/nativeclient", + "extensions": {} + }, + "NGTPROV": { + "clientId": "26f9beea-b439-45e6-88fe-b3fe6ff4387c", + "redirectUri": "https://login.microsoftonline.microsoft.scloud/common/oauth2/nativeclient", + "extensions": {} + } + } + }, + { + "environmentType": "Gallatin", + "configApiBaseUrl": "https://api.interfaces.records.teams.microsoftonline.cn", + "resourceId": "48ac35b8-9aa8-4d74-927d-1f4a14a0b239", + "authority": "https://login.partner.microsoftonline.cn/common", + "serviceConfigurations": { + "GPA": { + "clientId": "3eeff3ec-e916-439a-bea9-d6768b4bc311", + "redirectUri": "https://login.partner.microsoftonline.cn/common/oauth2/nativeclient", + "extensions": {} + }, + "DSSYNC": { + "clientId": "3eeff3ec-e916-439a-bea9-d6768b4bc311", + "redirectUri": "https://login.partner.microsoftonline.cn/common/oauth2/nativeclient", + "extensions": {} + }, + "LROS": { + "clientId": "3eeff3ec-e916-439a-bea9-d6768b4bc311", + "redirectUri": "https://login.partner.microsoftonline.cn/common/oauth2/nativeclient", + "extensions": {} + }, + "NGTPROV": { + "clientId": "3eeff3ec-e916-439a-bea9-d6768b4bc311", + "redirectUri": "https://login.partner.microsoftonline.cn/common/oauth2/nativeclient", + "extensions": {} + } + } + }, + { + "environmentType": "Itar", + "configApiBaseUrl": "https://api.interfaces.records.gov.teams.microsoft.us", + "resourceId": "48ac35b8-9aa8-4d74-927d-1f4a14a0b239", + "authority": "https://login.microsoftonline.us/common", + "serviceConfigurations": { + "GPA": { + "clientId": "b72af4de-f00a-45a5-8378-aec2f317cf27", + "redirectUri": "https://login.microsoftonline.us/common/oauth2/nativeclient", + "extensions": {} + }, + "DSSYNC": { + "clientId": "b72af4de-f00a-45a5-8378-aec2f317cf27", + "redirectUri": "https://login.microsoftonline.us/common/oauth2/nativeclient", + "extensions": {} + }, + "LROS": { + "clientId": "b72af4de-f00a-45a5-8378-aec2f317cf27", + "redirectUri": "https://login.microsoftonline.us/common/oauth2/nativeclient", + "extensions": {} + }, + "NGTPROV": { + "clientId": "b72af4de-f00a-45a5-8378-aec2f317cf27", + "redirectUri": "https://login.microsoftonline.us/common/oauth2/nativeclient", + "extensions": {} + } + } + }, + { + "environmentType": "GCCH", + "configApiBaseUrl": "https://api.interfaces.records.gov.teams.microsoft.us", + "resourceId": "48ac35b8-9aa8-4d74-927d-1f4a14a0b239", + "authority": "https://login.microsoftonline.us/common", + "serviceConfigurations": { + "GPA": { + "clientId": "b72af4de-f00a-45a5-8378-aec2f317cf27", + "redirectUri": "https://login.microsoftonline.us/common/oauth2/nativeclient", + "extensions": {} + }, + "DSSYNC": { + "clientId": "b72af4de-f00a-45a5-8378-aec2f317cf27", + "redirectUri": "https://login.microsoftonline.us/common/oauth2/nativeclient", + "extensions": {} + }, + "LROS": { + "clientId": "b72af4de-f00a-45a5-8378-aec2f317cf27", + "redirectUri": "https://login.microsoftonline.us/common/oauth2/nativeclient", + "extensions": {} + }, + "NGTPROV": { + "clientId": "b72af4de-f00a-45a5-8378-aec2f317cf27", + "redirectUri": "https://login.microsoftonline.us/common/oauth2/nativeclient", + "extensions": {} + } + } + }, + { + "environmentType": "DOD", + "configApiBaseUrl": "https://api.interfaces.records.dod.teams.microsoft.us", + "resourceId": "48ac35b8-9aa8-4d74-927d-1f4a14a0b239", + "authority": "https://login.microsoftonline.us/common", + "serviceConfigurations": { + "GPA": { + "clientId": "0a0e38c7-8ce5-4e77-a099-9a9f3c5d09aa", + "redirectUri": "https://login.microsoftonline.us/common/oauth2/nativeclient", + "extensions": {} + }, + "DSSYNC": { + "clientId": "0a0e38c7-8ce5-4e77-a099-9a9f3c5d09aa", + "redirectUri": "https://login.microsoftonline.us/common/oauth2/nativeclient", + "extensions": {} + }, + "LROS": { + "clientId": "0a0e38c7-8ce5-4e77-a099-9a9f3c5d09aa", + "redirectUri": "https://login.microsoftonline.us/common/oauth2/nativeclient", + "extensions": {} + }, + "NGTPROV": { + "clientId": "0a0e38c7-8ce5-4e77-a099-9a9f3c5d09aa", + "redirectUri": "https://login.microsoftonline.us/common/oauth2/nativeclient", + "extensions": {} + } + } + } + ], + "ServiceUriSuffixes": { + "GPA": { + "ReprocessGroupPolicyAssignment": "Skype.Policy/groupPolicyAssignments/{groupId}/policyTypes/{policyType}/reprocess?tenantRegion={region}", + "RefreshGroupUsers": "Skype.Policy/groupPolicyAssignments/{groupId}/refresh/users?tenantRegion={region}&userId={userId}&policyType={policyType}", + "GetGPAGroupMembers": "Teams.InternalSupport/groups/{groupId}/users?all={all}", + "GetGPAUserMembership": "Teams.InternalSupport/users/{userId}/memberOf", + "GetGroupPolicyAssignment": "Skype.Policy/groupPolicyAssignments/oce/{groupId}/policyTypes/{policyType}", + "GetGroupPolicyAssignments": "Skype.Policy/groupPolicyAssignments/oce/{groupId}/policyTypes", + "GetPolicyAssignmentForGroups": "Skype.Policy/groupPolicyAssignments/oce?policyType={policyType}", + "GetAllGroupPolicyAssignments": "Skype.Policy/groupPolicyAssignments/oce" + }, + "DSSYNC": { + "DirectoryObjectSync": "Teams.InternalSupport/ProvisioningOperations/DsRequest" + }, + "LROS": { + "GetBatchOperationStatusForRegion": "Skype.Policy/assignments/operations/status/{operationId}?region={region}", + "GetAllBatchOperationStatusForRegion": "Skype.Policy/assignments/operations/status?region={region}", + "GetBatchOperationDefinitionForRegion": "Skype.Policy/assignments/operations/definition/{operationId}?region={region}", + "ReprocessBatchOperationForRegion": "Skype.Policy/assignments/operations/reprocess/{operationId}?region={region}" + }, + "NGTPROV": { + "MoveNgtProvInstance": "Teams.InternalSupport/NgtProvOperations/Failover/{sideA}/{sideB}?region={region}", + "NgtProvInstanceFailOverStatus": "Teams.InternalSupport/NgtProvOperations/FailoverStatus?region={region}", + "UserProvHistory": "Teams.InternalSupport/AdminStoreOperations/userHistory/{userId}/{region}", + "GenericNgtProvCommand": "Teams.InternalSupport/ProvisioningOperations/runHandler/{region}?handler={handler}?tenant={tenant}?target={target}?serviceInstance={serviceInstance}" + } + } +} \ No newline at end of file diff --git a/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.ApplicationInsights.dll b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.ApplicationInsights.dll new file mode 100644 index 000000000000..dfebbc551f18 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.ApplicationInsights.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Applications.Events.Server.dll b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Applications.Events.Server.dll new file mode 100644 index 000000000000..351bffba2977 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Applications.Events.Server.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Azure.KeyVault.AzureServiceDeploy.dll b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Azure.KeyVault.AzureServiceDeploy.dll new file mode 100644 index 000000000000..c36712b432a5 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Azure.KeyVault.AzureServiceDeploy.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Azure.KeyVault.Core.dll b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Azure.KeyVault.Core.dll new file mode 100644 index 000000000000..05e6403ab135 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Azure.KeyVault.Core.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Azure.KeyVault.Cryptography.dll b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Azure.KeyVault.Cryptography.dll new file mode 100644 index 000000000000..4d06423dae1e Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Azure.KeyVault.Cryptography.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Azure.KeyVault.Jose.dll b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Azure.KeyVault.Jose.dll new file mode 100644 index 000000000000..7d416d554701 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Azure.KeyVault.Jose.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Data.Sqlite.dll b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Data.Sqlite.dll new file mode 100644 index 000000000000..ca011c715713 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Data.Sqlite.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Extensions.Configuration.Abstractions.dll b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Extensions.Configuration.Abstractions.dll new file mode 100644 index 000000000000..4e8eff7ffc46 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Extensions.Configuration.Abstractions.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Extensions.Configuration.dll b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Extensions.Configuration.dll new file mode 100644 index 000000000000..304377aec3a2 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Extensions.Configuration.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Extensions.DependencyInjection.Abstractions.dll b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Extensions.DependencyInjection.Abstractions.dll new file mode 100644 index 000000000000..1ec81d50cea5 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Extensions.DependencyInjection.Abstractions.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Extensions.Logging.Abstractions.dll b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Extensions.Logging.Abstractions.dll new file mode 100644 index 000000000000..03dcf88c91f5 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Extensions.Logging.Abstractions.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Extensions.Logging.dll b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Extensions.Logging.dll new file mode 100644 index 000000000000..5c450a374010 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Extensions.Logging.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Extensions.Primitives.dll b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Extensions.Primitives.dll new file mode 100644 index 000000000000..af60516087ed Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Extensions.Primitives.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Ic3.TenantAdminApi.Common.Helper.dll b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Ic3.TenantAdminApi.Common.Helper.dll new file mode 100644 index 000000000000..70efb0b0ab53 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Ic3.TenantAdminApi.Common.Helper.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Identity.Client.Desktop.dll b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Identity.Client.Desktop.dll new file mode 100644 index 000000000000..34daea94a261 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Identity.Client.Desktop.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Identity.Client.Extensions.Msal.dll b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Identity.Client.Extensions.Msal.dll new file mode 100644 index 000000000000..c4708e4bd082 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Identity.Client.Extensions.Msal.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Identity.Client.dll b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Identity.Client.dll new file mode 100644 index 000000000000..558b4bdf87a9 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Identity.Client.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.IdentityModel.JsonWebTokens.dll b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.IdentityModel.JsonWebTokens.dll new file mode 100644 index 000000000000..2d17e4dce4e0 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.IdentityModel.JsonWebTokens.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.IdentityModel.Logging.dll b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.IdentityModel.Logging.dll new file mode 100644 index 000000000000..d0ac9a4fed00 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.IdentityModel.Logging.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.IdentityModel.Tokens.dll b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.IdentityModel.Tokens.dll new file mode 100644 index 000000000000..58230c194b04 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.IdentityModel.Tokens.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Rest.ClientRuntime.Azure.dll b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Rest.ClientRuntime.Azure.dll new file mode 100644 index 000000000000..66a87b55905a Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Rest.ClientRuntime.Azure.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Rest.ClientRuntime.dll b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Rest.ClientRuntime.dll new file mode 100644 index 000000000000..0cc88bee26e9 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Rest.ClientRuntime.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Teams.ConfigAPI.CmdletHostContract.dll b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Teams.ConfigAPI.CmdletHostContract.dll new file mode 100644 index 000000000000..fe3a196669e2 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Teams.ConfigAPI.CmdletHostContract.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Teams.Policy.Administration.Cmdlets.Core.dll b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Teams.Policy.Administration.Cmdlets.Core.dll new file mode 100644 index 000000000000..459c1cffc129 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Teams.Policy.Administration.Cmdlets.Core.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Teams.Policy.Administration.Cmdlets.OCE.dll b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Teams.Policy.Administration.Cmdlets.OCE.dll new file mode 100644 index 000000000000..6ac5141608e8 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Teams.Policy.Administration.Cmdlets.OCE.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Teams.Policy.Administration.Cmdlets.Providers.PolicyRp.dll b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Teams.Policy.Administration.Cmdlets.Providers.PolicyRp.dll new file mode 100644 index 000000000000..4b881aeacfc1 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Teams.Policy.Administration.Cmdlets.Providers.PolicyRp.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Teams.Policy.Administration.Cmdlets.Providers.dll b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Teams.Policy.Administration.Cmdlets.Providers.dll new file mode 100644 index 000000000000..400de8ced511 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Teams.Policy.Administration.Cmdlets.Providers.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Teams.Policy.Administration.dll b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Teams.Policy.Administration.dll new file mode 100644 index 000000000000..fd6a86b609c5 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Teams.Policy.Administration.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Teams.PowerShell.Module.dll b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Teams.PowerShell.Module.dll new file mode 100644 index 000000000000..5658ef0bd95a Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Teams.PowerShell.Module.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Teams.PowerShell.Module.pdb b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Teams.PowerShell.Module.pdb new file mode 100644 index 000000000000..778df920c4fe Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Teams.PowerShell.Module.pdb differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Teams.PowerShell.Module.xml b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Teams.PowerShell.Module.xml new file mode 100644 index 000000000000..9c5b7f84166a --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Teams.PowerShell.Module.xml @@ -0,0 +1,8 @@ + + + + Microsoft.Teams.PowerShell.Module + + + + diff --git a/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Teams.PowerShell.TeamsCmdlets.dll b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Teams.PowerShell.TeamsCmdlets.dll new file mode 100644 index 000000000000..0f42b9eb5b9a Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Teams.PowerShell.TeamsCmdlets.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.TeamsCmdlets.PowerShell.Connect.dll b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.TeamsCmdlets.PowerShell.Connect.dll new file mode 100644 index 000000000000..a7bc4d53eeb2 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.TeamsCmdlets.PowerShell.Connect.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Web.WebView2.Core.dll b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Web.WebView2.Core.dll new file mode 100644 index 000000000000..9820cc62ebb7 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Web.WebView2.Core.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Web.WebView2.WinForms.dll b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Web.WebView2.WinForms.dll new file mode 100644 index 000000000000..94bce83535b2 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Web.WebView2.WinForms.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Web.WebView2.Wpf.dll b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Web.WebView2.Wpf.dll new file mode 100644 index 000000000000..7f7af768a549 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/Microsoft.Web.WebView2.Wpf.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/Newtonsoft.Json.dll b/Modules/MicrosoftTeams/6.4.0/net472/Newtonsoft.Json.dll new file mode 100644 index 000000000000..8576293b665b Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/Newtonsoft.Json.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/OneCollectorChannel.dll b/Modules/MicrosoftTeams/6.4.0/net472/OneCollectorChannel.dll new file mode 100644 index 000000000000..67cdb09f50d9 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/OneCollectorChannel.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/Polly.Contrib.WaitAndRetry.dll b/Modules/MicrosoftTeams/6.4.0/net472/Polly.Contrib.WaitAndRetry.dll new file mode 100644 index 000000000000..c74c27d321e0 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/Polly.Contrib.WaitAndRetry.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/Polly.dll b/Modules/MicrosoftTeams/6.4.0/net472/Polly.dll new file mode 100644 index 000000000000..9892e6f9b0cf Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/Polly.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/System.Buffers.dll b/Modules/MicrosoftTeams/6.4.0/net472/System.Buffers.dll new file mode 100644 index 000000000000..9dec41e0f4e8 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/System.Buffers.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/System.Diagnostics.DiagnosticSource.dll b/Modules/MicrosoftTeams/6.4.0/net472/System.Diagnostics.DiagnosticSource.dll new file mode 100644 index 000000000000..2ffa019f81b5 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/System.Diagnostics.DiagnosticSource.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/System.Management.Automation.dll b/Modules/MicrosoftTeams/6.4.0/net472/System.Management.Automation.dll new file mode 100644 index 000000000000..a115be27a0bc Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/System.Management.Automation.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/System.Memory.dll b/Modules/MicrosoftTeams/6.4.0/net472/System.Memory.dll new file mode 100644 index 000000000000..296840b09fda Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/System.Memory.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/System.Numerics.Vectors.dll b/Modules/MicrosoftTeams/6.4.0/net472/System.Numerics.Vectors.dll new file mode 100644 index 000000000000..59ddbabc70d4 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/System.Numerics.Vectors.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/System.Runtime.CompilerServices.Unsafe.dll b/Modules/MicrosoftTeams/6.4.0/net472/System.Runtime.CompilerServices.Unsafe.dll new file mode 100644 index 000000000000..bb52cd76aae8 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/System.Runtime.CompilerServices.Unsafe.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/net472/System.Security.Cryptography.ProtectedData.dll b/Modules/MicrosoftTeams/6.4.0/net472/System.Security.Cryptography.ProtectedData.dll new file mode 100644 index 000000000000..cfce33ac7271 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/net472/System.Security.Cryptography.ProtectedData.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/CmdletSettings.json b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/CmdletSettings.json new file mode 100644 index 000000000000..fbfce66a5c53 --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/CmdletSettings.json @@ -0,0 +1,255 @@ +{ + "EnvironmentConfigurations": [ + { + "environmentType": "INT", + "configApiBaseUrl": "https://dev.api.interfaces.records.teams.microsoft.com", + "resourceId": "4cdeebb1-712e-4b2c-b450-eeef9fc1bc18", + "authority": "https://login.microsoftonline.com/common", + "serviceConfigurations": { + "GPA": { + "clientId": "10b74c53-e4d3-40f9-87ff-b46c872c329b", + "redirectUri": "https://login.microsoftonline.com/common/oauth2/nativeclient", + "extensions": {} + }, + "DSSYNC": { + "clientId": "c3d9ab47-b29a-4acb-9935-70f216a3deb3", + "redirectUri": "https://login.microsoftonline.com/common/oauth2/nativeclient", + "extensions": {} + }, + "LROS": { + "clientId": "ec73d46d-93d3-49b1-86e4-996b33fca112", + "redirectUri": "https://login.microsoftonline.com/common/oauth2/nativeclient", + "extensions": {} + }, + "NGTPROV": { + "clientId": "036102b5-b27c-4591-91aa-1e1eb70bdb1a", + "redirectUri": "https://login.microsoftonline.com/common/oauth2/nativeclient", + "extensions": {} + } + } + }, + { + "environmentType": "MultiTenant", + "configApiBaseUrl": "https://api.interfaces.records.teams.microsoft.com", + "resourceId": "48ac35b8-9aa8-4d74-927d-1f4a14a0b239", + "authority": "https://login.microsoftonline.com/common", + "serviceConfigurations": { + "GPA": { + "clientId": "e6fe3e2b-7019-44bf-a0e8-e1e2745081fb", + "redirectUri": "https://login.microsoftonline.com/common/oauth2/nativeclient", + "extensions": {} + }, + "DSSYNC": { + "clientId": "22e233c6-8873-48e8-a1b7-d363357d706d", + "redirectUri": "https://login.microsoftonline.com/common/oauth2/nativeclient", + "extensions": {} + }, + "LROS": { + "clientId": "0f7fe8a8-182d-4625-8e95-4cbc7a4384e0", + "redirectUri": "https://login.microsoftonline.com/common/oauth2/nativeclient", + "extensions": {} + }, + "NGTPROV": { + "clientId": "a4d23afe-0054-4eba-b30f-c99bd5314e9c", + "redirectUri": "https://login.microsoftonline.com/common/oauth2/nativeclient", + "extensions": {} + } + } + }, + { + "environmentType": "Ag08", + "configApiBaseUrl": "https://api.interfaces.records.teams.eaglex.ic.gov", + "resourceId": "48ac35b8-9aa8-4d74-927d-1f4a14a0b239", + "authority": "https://login.microsoftonline.eaglex.ic.gov/common", + "serviceConfigurations": { + "GPA": { + "clientId": "7cd1687e-80b2-41a8-9fe3-9bd47a36fd77", + "redirectUri": "https://login.microsoftonline.eaglex.ic.gov/common/oauth2/nativeclient", + "extensions": {} + }, + "DSSYNC": { + "clientId": "7cd1687e-80b2-41a8-9fe3-9bd47a36fd77", + "redirectUri": "https://login.microsoftonline.eaglex.ic.gov/common/oauth2/nativeclient", + "extensions": {} + }, + "LROS": { + "clientId": "7cd1687e-80b2-41a8-9fe3-9bd47a36fd77", + "redirectUri": "https://login.microsoftonline.eaglex.ic.gov/common/oauth2/nativeclient", + "extensions": {} + }, + "NGTPROV": { + "clientId": "7cd1687e-80b2-41a8-9fe3-9bd47a36fd77", + "redirectUri": "https://login.microsoftonline.eaglex.ic.gov/common/oauth2/nativeclient", + "extensions": {} + } + } + }, + { + "environmentType": "Ag09", + "configApiBaseUrl": "https://api.interfaces.records.teams.microsoft.scloud", + "resourceId": "48ac35b8-9aa8-4d74-927d-1f4a14a0b239", + "authority": "https://login.microsoftonline.microsoft.scloud/common", + "serviceConfigurations": { + "GPA": { + "clientId": "26f9beea-b439-45e6-88fe-b3fe6ff4387c", + "redirectUri": "https://login.microsoftonline.microsoft.scloud/common/oauth2/nativeclient", + "extensions": {} + }, + "DSSYNC": { + "clientId": "26f9beea-b439-45e6-88fe-b3fe6ff4387c", + "redirectUri": "https://login.microsoftonline.microsoft.scloud/common/oauth2/nativeclient", + "extensions": {} + }, + "LROS": { + "clientId": "26f9beea-b439-45e6-88fe-b3fe6ff4387c", + "redirectUri": "https://login.microsoftonline.microsoft.scloud/common/oauth2/nativeclient", + "extensions": {} + }, + "NGTPROV": { + "clientId": "26f9beea-b439-45e6-88fe-b3fe6ff4387c", + "redirectUri": "https://login.microsoftonline.microsoft.scloud/common/oauth2/nativeclient", + "extensions": {} + } + } + }, + { + "environmentType": "Gallatin", + "configApiBaseUrl": "https://api.interfaces.records.teams.microsoftonline.cn", + "resourceId": "48ac35b8-9aa8-4d74-927d-1f4a14a0b239", + "authority": "https://login.partner.microsoftonline.cn/common", + "serviceConfigurations": { + "GPA": { + "clientId": "3eeff3ec-e916-439a-bea9-d6768b4bc311", + "redirectUri": "https://login.partner.microsoftonline.cn/common/oauth2/nativeclient", + "extensions": {} + }, + "DSSYNC": { + "clientId": "3eeff3ec-e916-439a-bea9-d6768b4bc311", + "redirectUri": "https://login.partner.microsoftonline.cn/common/oauth2/nativeclient", + "extensions": {} + }, + "LROS": { + "clientId": "3eeff3ec-e916-439a-bea9-d6768b4bc311", + "redirectUri": "https://login.partner.microsoftonline.cn/common/oauth2/nativeclient", + "extensions": {} + }, + "NGTPROV": { + "clientId": "3eeff3ec-e916-439a-bea9-d6768b4bc311", + "redirectUri": "https://login.partner.microsoftonline.cn/common/oauth2/nativeclient", + "extensions": {} + } + } + }, + { + "environmentType": "Itar", + "configApiBaseUrl": "https://api.interfaces.records.gov.teams.microsoft.us", + "resourceId": "48ac35b8-9aa8-4d74-927d-1f4a14a0b239", + "authority": "https://login.microsoftonline.us/common", + "serviceConfigurations": { + "GPA": { + "clientId": "b72af4de-f00a-45a5-8378-aec2f317cf27", + "redirectUri": "https://login.microsoftonline.us/common/oauth2/nativeclient", + "extensions": {} + }, + "DSSYNC": { + "clientId": "b72af4de-f00a-45a5-8378-aec2f317cf27", + "redirectUri": "https://login.microsoftonline.us/common/oauth2/nativeclient", + "extensions": {} + }, + "LROS": { + "clientId": "b72af4de-f00a-45a5-8378-aec2f317cf27", + "redirectUri": "https://login.microsoftonline.us/common/oauth2/nativeclient", + "extensions": {} + }, + "NGTPROV": { + "clientId": "b72af4de-f00a-45a5-8378-aec2f317cf27", + "redirectUri": "https://login.microsoftonline.us/common/oauth2/nativeclient", + "extensions": {} + } + } + }, + { + "environmentType": "GCCH", + "configApiBaseUrl": "https://api.interfaces.records.gov.teams.microsoft.us", + "resourceId": "48ac35b8-9aa8-4d74-927d-1f4a14a0b239", + "authority": "https://login.microsoftonline.us/common", + "serviceConfigurations": { + "GPA": { + "clientId": "b72af4de-f00a-45a5-8378-aec2f317cf27", + "redirectUri": "https://login.microsoftonline.us/common/oauth2/nativeclient", + "extensions": {} + }, + "DSSYNC": { + "clientId": "b72af4de-f00a-45a5-8378-aec2f317cf27", + "redirectUri": "https://login.microsoftonline.us/common/oauth2/nativeclient", + "extensions": {} + }, + "LROS": { + "clientId": "b72af4de-f00a-45a5-8378-aec2f317cf27", + "redirectUri": "https://login.microsoftonline.us/common/oauth2/nativeclient", + "extensions": {} + }, + "NGTPROV": { + "clientId": "b72af4de-f00a-45a5-8378-aec2f317cf27", + "redirectUri": "https://login.microsoftonline.us/common/oauth2/nativeclient", + "extensions": {} + } + } + }, + { + "environmentType": "DOD", + "configApiBaseUrl": "https://api.interfaces.records.dod.teams.microsoft.us", + "resourceId": "48ac35b8-9aa8-4d74-927d-1f4a14a0b239", + "authority": "https://login.microsoftonline.us/common", + "serviceConfigurations": { + "GPA": { + "clientId": "0a0e38c7-8ce5-4e77-a099-9a9f3c5d09aa", + "redirectUri": "https://login.microsoftonline.us/common/oauth2/nativeclient", + "extensions": {} + }, + "DSSYNC": { + "clientId": "0a0e38c7-8ce5-4e77-a099-9a9f3c5d09aa", + "redirectUri": "https://login.microsoftonline.us/common/oauth2/nativeclient", + "extensions": {} + }, + "LROS": { + "clientId": "0a0e38c7-8ce5-4e77-a099-9a9f3c5d09aa", + "redirectUri": "https://login.microsoftonline.us/common/oauth2/nativeclient", + "extensions": {} + }, + "NGTPROV": { + "clientId": "0a0e38c7-8ce5-4e77-a099-9a9f3c5d09aa", + "redirectUri": "https://login.microsoftonline.us/common/oauth2/nativeclient", + "extensions": {} + } + } + } + ], + "ServiceUriSuffixes": { + "GPA": { + "ReprocessGroupPolicyAssignment": "Skype.Policy/groupPolicyAssignments/{groupId}/policyTypes/{policyType}/reprocess?tenantRegion={region}", + "RefreshGroupUsers": "Skype.Policy/groupPolicyAssignments/{groupId}/refresh/users?tenantRegion={region}&userId={userId}&policyType={policyType}", + "GetGPAGroupMembers": "Teams.InternalSupport/groups/{groupId}/users?all={all}", + "GetGPAUserMembership": "Teams.InternalSupport/users/{userId}/memberOf", + "GetGroupPolicyAssignment": "Skype.Policy/groupPolicyAssignments/oce/{groupId}/policyTypes/{policyType}", + "GetGroupPolicyAssignments": "Skype.Policy/groupPolicyAssignments/oce/{groupId}/policyTypes", + "GetPolicyAssignmentForGroups": "Skype.Policy/groupPolicyAssignments/oce?policyType={policyType}", + "GetAllGroupPolicyAssignments": "Skype.Policy/groupPolicyAssignments/oce" + }, + "DSSYNC": { + "DirectoryObjectSync": "Teams.InternalSupport/ProvisioningOperations/DsRequest" + }, + "LROS": { + "GetBatchOperationStatusForRegion": "Skype.Policy/assignments/operations/status/{operationId}?region={region}", + "GetAllBatchOperationStatusForRegion": "Skype.Policy/assignments/operations/status?region={region}", + "GetBatchOperationDefinitionForRegion": "Skype.Policy/assignments/operations/definition/{operationId}?region={region}", + "ReprocessBatchOperationForRegion": "Skype.Policy/assignments/operations/reprocess/{operationId}?region={region}" + }, + "NGTPROV": { + "MoveNgtProvInstance": "Teams.InternalSupport/NgtProvOperations/Failover/{sideA}/{sideB}?region={region}", + "NgtProvInstanceFailOverStatus": "Teams.InternalSupport/NgtProvOperations/FailoverStatus?region={region}", + "UserProvHistory": "Teams.InternalSupport/AdminStoreOperations/userHistory/{userId}/{region}", + "GenericNgtProvCommand": "Teams.InternalSupport/ProvisioningOperations/runHandler/{region}?handler={handler}?tenant={tenant}?target={target}?serviceInstance={serviceInstance}" + } + } +} \ No newline at end of file diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.ApplicationInsights.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.ApplicationInsights.dll new file mode 100644 index 000000000000..7f5463322e16 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.ApplicationInsights.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Applications.Events.Server.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Applications.Events.Server.dll new file mode 100644 index 000000000000..351bffba2977 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Applications.Events.Server.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Azure.KeyVault.AzureServiceDeploy.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Azure.KeyVault.AzureServiceDeploy.dll new file mode 100644 index 000000000000..058559b43692 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Azure.KeyVault.AzureServiceDeploy.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Azure.KeyVault.Core.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Azure.KeyVault.Core.dll new file mode 100644 index 000000000000..abd4b9d98ea8 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Azure.KeyVault.Core.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Azure.KeyVault.Cryptography.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Azure.KeyVault.Cryptography.dll new file mode 100644 index 000000000000..1515f36cca5a Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Azure.KeyVault.Cryptography.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Azure.KeyVault.Jose.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Azure.KeyVault.Jose.dll new file mode 100644 index 000000000000..9bcd7c0d2e1a Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Azure.KeyVault.Jose.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Data.Sqlite.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Data.Sqlite.dll new file mode 100644 index 000000000000..91d49e510de1 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Data.Sqlite.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Extensions.Configuration.Abstractions.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Extensions.Configuration.Abstractions.dll new file mode 100644 index 000000000000..075f102e9b9c Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Extensions.Configuration.Abstractions.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Extensions.Configuration.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Extensions.Configuration.dll new file mode 100644 index 000000000000..649be39e4fff Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Extensions.Configuration.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Extensions.DependencyInjection.Abstractions.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Extensions.DependencyInjection.Abstractions.dll new file mode 100644 index 000000000000..1ec81d50cea5 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Extensions.DependencyInjection.Abstractions.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Extensions.Logging.Abstractions.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Extensions.Logging.Abstractions.dll new file mode 100644 index 000000000000..03dcf88c91f5 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Extensions.Logging.Abstractions.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Extensions.Logging.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Extensions.Logging.dll new file mode 100644 index 000000000000..5c450a374010 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Extensions.Logging.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Extensions.Primitives.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Extensions.Primitives.dll new file mode 100644 index 000000000000..718944042956 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Extensions.Primitives.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Ic3.TenantAdminApi.Common.Helper.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Ic3.TenantAdminApi.Common.Helper.dll new file mode 100644 index 000000000000..70efb0b0ab53 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Ic3.TenantAdminApi.Common.Helper.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Identity.Client.Desktop.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Identity.Client.Desktop.dll new file mode 100644 index 000000000000..13af0d95c77a Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Identity.Client.Desktop.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Identity.Client.Extensions.Msal.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Identity.Client.Extensions.Msal.dll new file mode 100644 index 000000000000..398b1cc0ba19 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Identity.Client.Extensions.Msal.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Identity.Client.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Identity.Client.dll new file mode 100644 index 000000000000..a0bf109fe389 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Identity.Client.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.IdentityModel.JsonWebTokens.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.IdentityModel.JsonWebTokens.dll new file mode 100644 index 000000000000..128620fa8001 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.IdentityModel.JsonWebTokens.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.IdentityModel.Logging.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.IdentityModel.Logging.dll new file mode 100644 index 000000000000..c01484d09ee0 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.IdentityModel.Logging.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.IdentityModel.Tokens.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.IdentityModel.Tokens.dll new file mode 100644 index 000000000000..a9951cd7ce97 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.IdentityModel.Tokens.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Rest.ClientRuntime.Azure.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Rest.ClientRuntime.Azure.dll new file mode 100644 index 000000000000..c45259026c95 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Rest.ClientRuntime.Azure.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Rest.ClientRuntime.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Rest.ClientRuntime.dll new file mode 100644 index 000000000000..2f819dc55adf Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Rest.ClientRuntime.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Teams.ConfigAPI.CmdletHostContract.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Teams.ConfigAPI.CmdletHostContract.dll new file mode 100644 index 000000000000..fe3a196669e2 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Teams.ConfigAPI.CmdletHostContract.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Teams.Policy.Administration.Cmdlets.Core.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Teams.Policy.Administration.Cmdlets.Core.dll new file mode 100644 index 000000000000..9dd66a922eb4 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Teams.Policy.Administration.Cmdlets.Core.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Teams.Policy.Administration.Cmdlets.OCE.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Teams.Policy.Administration.Cmdlets.OCE.dll new file mode 100644 index 000000000000..c2b52c8ea683 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Teams.Policy.Administration.Cmdlets.OCE.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Teams.Policy.Administration.Cmdlets.Providers.PolicyRp.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Teams.Policy.Administration.Cmdlets.Providers.PolicyRp.dll new file mode 100644 index 000000000000..fc94da922f2d Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Teams.Policy.Administration.Cmdlets.Providers.PolicyRp.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Teams.Policy.Administration.Cmdlets.Providers.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Teams.Policy.Administration.Cmdlets.Providers.dll new file mode 100644 index 000000000000..9a60917471d3 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Teams.Policy.Administration.Cmdlets.Providers.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Teams.Policy.Administration.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Teams.Policy.Administration.dll new file mode 100644 index 000000000000..18c1bfe39217 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Teams.Policy.Administration.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Teams.PowerShell.Module.deps.json b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Teams.PowerShell.Module.deps.json new file mode 100644 index 000000000000..331523a3bf71 --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Teams.PowerShell.Module.deps.json @@ -0,0 +1,3011 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v3.1", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v3.1": { + "Microsoft.Teams.PowerShell.Module/6.4.0": { + "dependencies": { + "Microsoft.NETCore.Targets": "3.1.0", + "Microsoft.Teams.ConfigAPI.Cmdlets": "7.612.1", + "Microsoft.Teams.Policy.Administration": "1.1.10", + "Microsoft.Teams.Policy.Administration.Cmdlets.OCE": "0.0.11", + "Microsoft.Teams.PowerShell.Connect": "1.5.1", + "Microsoft.Teams.PowerShell.TeamsCmdlets": "1.2.18", + "NuGet.Build.Tasks.Pack": "5.2.0", + "NuGet.CommandLine": "5.11.6", + "System.Management.Automation": "6.2.7", + "System.Net.Http": "4.3.4" + }, + "runtime": { + "Microsoft.Teams.PowerShell.Module.dll": {} + } + }, + "Microsoft.ApplicationInsights/2.9.1": { + "dependencies": { + "NETStandard.Library": "1.6.1", + "System.Diagnostics.DiagnosticSource": "4.5.0", + "System.Diagnostics.StackTrace": "4.3.0", + "System.Net.Requests": "4.3.0", + "System.Threading.Thread": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/Microsoft.ApplicationInsights.dll": { + "assemblyVersion": "2.9.1.0", + "fileVersion": "2.9.1.26108" + } + } + }, + "Microsoft.Applications.Events.Server/1.1.2.97": { + "dependencies": { + "Microsoft.Data.Sqlite": "1.1.1", + "Microsoft.Extensions.Logging": "1.1.2", + "NETStandard.Library": "1.6.1", + "Newtonsoft.Json": "13.0.3", + "System.Xml.XPath": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/Microsoft.Applications.Events.Server.dll": { + "assemblyVersion": "1.1.2.97", + "fileVersion": "1.1.2.97" + } + } + }, + "Microsoft.Azure.KeyVault.AzureServiceDeploy/3.0.0": { + "dependencies": { + "Microsoft.Azure.KeyVault.Jose": "3.0.0", + "Microsoft.Rest.ClientRuntime": "2.3.21", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "NETStandard.Library": "1.6.1", + "Newtonsoft.Json": "13.0.3", + "System.Net.Http": "4.3.4" + }, + "runtime": { + "lib/netstandard1.4/Microsoft.Azure.KeyVault.AzureServiceDeploy.dll": { + "assemblyVersion": "3.0.0.0", + "fileVersion": "3.0.0.0" + } + } + }, + "Microsoft.Azure.KeyVault.Core/3.0.0": { + "dependencies": { + "NETStandard.Library": "1.6.1" + }, + "runtime": { + "lib/netstandard1.4/Microsoft.Azure.KeyVault.Core.dll": { + "assemblyVersion": "3.0.0.0", + "fileVersion": "3.0.0.1" + } + } + }, + "Microsoft.Azure.KeyVault.Cryptography/3.0.0": { + "dependencies": { + "Microsoft.Azure.KeyVault.Core": "3.0.0", + "Microsoft.Rest.ClientRuntime": "2.3.21", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "NETStandard.Library": "1.6.1", + "Newtonsoft.Json": "13.0.3", + "System.Diagnostics.Tools": "4.3.0", + "System.Globalization": "4.3.0", + "System.Linq": "4.3.0", + "System.Net.Http": "4.3.4", + "System.Runtime.Extensions": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Cng": "4.5.0", + "System.Security.Cryptography.Primitives": "4.3.0" + }, + "runtime": { + "lib/netstandard1.4/Microsoft.Azure.KeyVault.Cryptography.dll": { + "assemblyVersion": "3.0.0.0", + "fileVersion": "3.0.0.1" + } + } + }, + "Microsoft.Azure.KeyVault.Jose/3.0.0": { + "dependencies": { + "Microsoft.Azure.KeyVault.Core": "3.0.0", + "Microsoft.Azure.KeyVault.Cryptography": "3.0.0", + "Microsoft.Rest.ClientRuntime": "2.3.21", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "NETStandard.Library": "1.6.1", + "Newtonsoft.Json": "13.0.3", + "System.Diagnostics.Tools": "4.3.0", + "System.Globalization": "4.3.0", + "System.Linq": "4.3.0", + "System.Net.Http": "4.3.4", + "System.Runtime.Extensions": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Cng": "4.5.0", + "System.Security.Cryptography.Primitives": "4.3.0" + }, + "runtime": { + "lib/netstandard1.4/Microsoft.Azure.KeyVault.Jose.dll": { + "assemblyVersion": "3.0.0.0", + "fileVersion": "3.0.0.0" + } + } + }, + "Microsoft.CSharp/4.5.0": {}, + "Microsoft.Data.Sqlite/1.1.1": { + "dependencies": { + "NETStandard.Library": "1.6.1", + "SQLite": "3.13.0", + "System.Data.Common": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/Microsoft.Data.Sqlite.dll": { + "assemblyVersion": "1.1.1.0", + "fileVersion": "1.1.1.30427" + } + } + }, + "Microsoft.Extensions.Configuration/3.1.0": { + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "3.1.0" + }, + "runtime": { + "lib/netcoreapp3.1/Microsoft.Extensions.Configuration.dll": { + "assemblyVersion": "3.1.0.0", + "fileVersion": "3.100.19.56504" + } + } + }, + "Microsoft.Extensions.Configuration.Abstractions/3.1.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "3.1.0" + }, + "runtime": { + "lib/netcoreapp3.1/Microsoft.Extensions.Configuration.Abstractions.dll": { + "assemblyVersion": "3.1.0.0", + "fileVersion": "3.100.19.56504" + } + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/1.1.1": { + "dependencies": { + "NETStandard.Library": "1.6.1", + "System.ComponentModel": "4.3.0" + }, + "runtime": { + "lib/netstandard1.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "assemblyVersion": "1.1.1.0", + "fileVersion": "1.1.1.30427" + } + } + }, + "Microsoft.Extensions.Logging/1.1.2": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "1.1.1", + "Microsoft.Extensions.Logging.Abstractions": "1.1.2", + "NETStandard.Library": "1.6.1" + }, + "runtime": { + "lib/netstandard1.1/Microsoft.Extensions.Logging.dll": { + "assemblyVersion": "1.1.2.0", + "fileVersion": "1.1.2.30427" + } + } + }, + "Microsoft.Extensions.Logging.Abstractions/1.1.2": { + "dependencies": { + "NETStandard.Library": "1.6.1" + }, + "runtime": { + "lib/netstandard1.1/Microsoft.Extensions.Logging.Abstractions.dll": { + "assemblyVersion": "1.1.2.0", + "fileVersion": "1.1.2.30427" + } + } + }, + "Microsoft.Extensions.Primitives/3.1.0": { + "runtime": { + "lib/netcoreapp3.1/Microsoft.Extensions.Primitives.dll": { + "assemblyVersion": "3.1.0.0", + "fileVersion": "3.100.19.56504" + } + } + }, + "Microsoft.Ic3.TenantAdminApi.Common.Helper/1.0.28": { + "dependencies": { + "Microsoft.Azure.KeyVault.AzureServiceDeploy": "3.0.0", + "Microsoft.Extensions.Configuration": "3.1.0", + "Polly": "7.2.4" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Ic3.TenantAdminApi.Common.Helper.dll": { + "assemblyVersion": "1.0.28.0", + "fileVersion": "1.0.28.0" + } + } + }, + "Microsoft.Identity.Client/4.29.0": { + "runtime": { + "lib/netcoreapp2.1/Microsoft.Identity.Client.dll": { + "assemblyVersion": "4.29.0.0", + "fileVersion": "4.29.0.0" + } + } + }, + "Microsoft.Identity.Client.Desktop/4.29.0": { + "dependencies": { + "Microsoft.Identity.Client": "4.29.0", + "Microsoft.Web.WebView2": "1.0.705.50", + "Microsoft.Windows.SDK.Contracts": "10.0.17763.1000" + }, + "runtime": { + "lib/netcoreapp3.1/Microsoft.Identity.Client.Desktop.dll": { + "assemblyVersion": "4.29.0.0", + "fileVersion": "4.29.0.0" + } + } + }, + "Microsoft.Identity.Client.Extensions.Msal/2.14.0": { + "dependencies": { + "Microsoft.Identity.Client": "4.29.0", + "System.Security.Cryptography.ProtectedData": "7.0.0" + }, + "runtime": { + "lib/netcoreapp2.1/Microsoft.Identity.Client.Extensions.Msal.dll": { + "assemblyVersion": "2.14.0.0", + "fileVersion": "2.14.0.0" + } + } + }, + "Microsoft.IdentityModel.JsonWebTokens/6.8.0": { + "dependencies": { + "Microsoft.IdentityModel.Tokens": "6.8.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.dll": { + "assemblyVersion": "6.8.0.0", + "fileVersion": "6.8.0.11012" + } + } + }, + "Microsoft.IdentityModel.Logging/6.8.0": { + "runtime": { + "lib/netstandard2.0/Microsoft.IdentityModel.Logging.dll": { + "assemblyVersion": "6.8.0.0", + "fileVersion": "6.8.0.11012" + } + } + }, + "Microsoft.IdentityModel.Tokens/6.8.0": { + "dependencies": { + "Microsoft.CSharp": "4.5.0", + "Microsoft.IdentityModel.Logging": "6.8.0", + "System.Security.Cryptography.Cng": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.IdentityModel.Tokens.dll": { + "assemblyVersion": "6.8.0.0", + "fileVersion": "6.8.0.11012" + } + } + }, + "Microsoft.Management.Infrastructure/1.0.0": { + "dependencies": { + "NETStandard.Library": "1.6.1", + "System.Runtime.CompilerServices.VisualC": "4.3.0", + "System.Runtime.Serialization.Xml": "4.3.0", + "System.Security.SecureString": "4.3.0", + "System.Threading.ThreadPool": "4.3.0" + }, + "runtimeTargets": { + "runtimes/unix/lib/netstandard1.6/Microsoft.Management.Infrastructure.Native.dll": { + "rid": "unix", + "assetType": "runtime", + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + }, + "runtimes/unix/lib/netstandard1.6/Microsoft.Management.Infrastructure.dll": { + "rid": "unix", + "assetType": "runtime", + "assemblyVersion": "1.0.0.0", + "fileVersion": "10.0.10011.16384" + }, + "runtimes/win-arm/lib/netstandard1.6/Microsoft.Management.Infrastructure.Native.dll": { + "rid": "win-arm", + "assetType": "runtime", + "assemblyVersion": "1.0.0.0", + "fileVersion": "10.0.16299.15" + }, + "runtimes/win-arm/lib/netstandard1.6/Microsoft.Management.Infrastructure.dll": { + "rid": "win-arm", + "assetType": "runtime", + "assemblyVersion": "1.0.0.0", + "fileVersion": "10.0.16299.15" + }, + "runtimes/win-arm64/lib/netstandard1.6/Microsoft.Management.Infrastructure.Native.dll": { + "rid": "win-arm64", + "assetType": "runtime", + "assemblyVersion": "1.0.0.0", + "fileVersion": "10.0.16299.15" + }, + "runtimes/win-arm64/lib/netstandard1.6/Microsoft.Management.Infrastructure.dll": { + "rid": "win-arm64", + "assetType": "runtime", + "assemblyVersion": "1.0.0.0", + "fileVersion": "10.0.16299.15" + }, + "runtimes/win10-x64/lib/netstandard1.6/Microsoft.Management.Infrastructure.Native.dll": { + "rid": "win10-x64", + "assetType": "runtime", + "assemblyVersion": "1.0.0.0", + "fileVersion": "10.0.16299.15" + }, + "runtimes/win10-x64/lib/netstandard1.6/Microsoft.Management.Infrastructure.dll": { + "rid": "win10-x64", + "assetType": "runtime", + "assemblyVersion": "1.0.0.0", + "fileVersion": "10.0.16299.15" + }, + "runtimes/win10-x86/lib/netstandard1.6/Microsoft.Management.Infrastructure.Native.dll": { + "rid": "win10-x86", + "assetType": "runtime", + "assemblyVersion": "1.0.0.0", + "fileVersion": "10.0.16299.15" + }, + "runtimes/win10-x86/lib/netstandard1.6/Microsoft.Management.Infrastructure.dll": { + "rid": "win10-x86", + "assetType": "runtime", + "assemblyVersion": "1.0.0.0", + "fileVersion": "10.0.16299.15" + }, + "runtimes/win7-x64/lib/netstandard1.6/Microsoft.Management.Infrastructure.Native.dll": { + "rid": "win7-x64", + "assetType": "runtime", + "assemblyVersion": "1.0.0.0", + "fileVersion": "10.0.16299.15" + }, + "runtimes/win7-x64/lib/netstandard1.6/Microsoft.Management.Infrastructure.dll": { + "rid": "win7-x64", + "assetType": "runtime", + "assemblyVersion": "1.0.0.0", + "fileVersion": "10.0.16299.15" + }, + "runtimes/win7-x86/lib/netstandard1.6/Microsoft.Management.Infrastructure.Native.dll": { + "rid": "win7-x86", + "assetType": "runtime", + "assemblyVersion": "1.0.0.0", + "fileVersion": "10.0.16299.15" + }, + "runtimes/win7-x86/lib/netstandard1.6/Microsoft.Management.Infrastructure.dll": { + "rid": "win7-x86", + "assetType": "runtime", + "assemblyVersion": "1.0.0.0", + "fileVersion": "10.0.16299.15" + }, + "runtimes/win8-x64/lib/netstandard1.6/Microsoft.Management.Infrastructure.Native.dll": { + "rid": "win8-x64", + "assetType": "runtime", + "assemblyVersion": "1.0.0.0", + "fileVersion": "10.0.16299.15" + }, + "runtimes/win8-x64/lib/netstandard1.6/Microsoft.Management.Infrastructure.dll": { + "rid": "win8-x64", + "assetType": "runtime", + "assemblyVersion": "1.0.0.0", + "fileVersion": "10.0.16299.15" + }, + "runtimes/win8-x86/lib/netstandard1.6/Microsoft.Management.Infrastructure.Native.dll": { + "rid": "win8-x86", + "assetType": "runtime", + "assemblyVersion": "1.0.0.0", + "fileVersion": "10.0.16299.15" + }, + "runtimes/win8-x86/lib/netstandard1.6/Microsoft.Management.Infrastructure.dll": { + "rid": "win8-x86", + "assetType": "runtime", + "assemblyVersion": "1.0.0.0", + "fileVersion": "10.0.16299.15" + }, + "runtimes/win81-x64/lib/netstandard1.6/Microsoft.Management.Infrastructure.Native.dll": { + "rid": "win81-x64", + "assetType": "runtime", + "assemblyVersion": "1.0.0.0", + "fileVersion": "10.0.16299.15" + }, + "runtimes/win81-x64/lib/netstandard1.6/Microsoft.Management.Infrastructure.dll": { + "rid": "win81-x64", + "assetType": "runtime", + "assemblyVersion": "1.0.0.0", + "fileVersion": "10.0.16299.15" + }, + "runtimes/win81-x86/lib/netstandard1.6/Microsoft.Management.Infrastructure.Native.dll": { + "rid": "win81-x86", + "assetType": "runtime", + "assemblyVersion": "1.0.0.0", + "fileVersion": "10.0.16299.15" + }, + "runtimes/win81-x86/lib/netstandard1.6/Microsoft.Management.Infrastructure.dll": { + "rid": "win81-x86", + "assetType": "runtime", + "assemblyVersion": "1.0.0.0", + "fileVersion": "10.0.16299.15" + }, + "runtimes/win-arm/native/Microsoft.Management.Infrastructure.Native.Unmanaged.dll": { + "rid": "win-arm", + "assetType": "native", + "fileVersion": "10.0.16299.15" + }, + "runtimes/win-arm/native/mi.dll": { + "rid": "win-arm", + "assetType": "native", + "fileVersion": "10.0.16299.15" + }, + "runtimes/win-arm/native/miutils.dll": { + "rid": "win-arm", + "assetType": "native", + "fileVersion": "10.0.16299.15" + }, + "runtimes/win-arm64/native/Microsoft.Management.Infrastructure.Native.Unmanaged.dll": { + "rid": "win-arm64", + "assetType": "native", + "fileVersion": "10.0.16299.15" + }, + "runtimes/win-arm64/native/mi.dll": { + "rid": "win-arm64", + "assetType": "native", + "fileVersion": "10.0.16299.15" + }, + "runtimes/win-arm64/native/miutils.dll": { + "rid": "win-arm64", + "assetType": "native", + "fileVersion": "10.0.16299.15" + }, + "runtimes/win10-x64/native/Microsoft.Management.Infrastructure.Native.Unmanaged.dll": { + "rid": "win10-x64", + "assetType": "native", + "fileVersion": "10.0.14886.1000" + }, + "runtimes/win10-x64/native/mi.dll": { + "rid": "win10-x64", + "assetType": "native", + "fileVersion": "10.0.14886.1000" + }, + "runtimes/win10-x64/native/miutils.dll": { + "rid": "win10-x64", + "assetType": "native", + "fileVersion": "10.0.14886.1000" + }, + "runtimes/win10-x86/native/Microsoft.Management.Infrastructure.Native.Unmanaged.dll": { + "rid": "win10-x86", + "assetType": "native", + "fileVersion": "10.0.14394.1000" + }, + "runtimes/win10-x86/native/mi.dll": { + "rid": "win10-x86", + "assetType": "native", + "fileVersion": "10.0.14394.1000" + }, + "runtimes/win10-x86/native/miutils.dll": { + "rid": "win10-x86", + "assetType": "native", + "fileVersion": "10.0.14394.1000" + }, + "runtimes/win7-x64/native/Microsoft.Management.Infrastructure.Native.Unmanaged.dll": { + "rid": "win7-x64", + "assetType": "native", + "fileVersion": "10.0.14394.1000" + }, + "runtimes/win7-x64/native/mi.dll": { + "rid": "win7-x64", + "assetType": "native", + "fileVersion": "10.0.14394.1000" + }, + "runtimes/win7-x64/native/miutils.dll": { + "rid": "win7-x64", + "assetType": "native", + "fileVersion": "10.0.14394.1000" + }, + "runtimes/win7-x86/native/Microsoft.Management.Infrastructure.Native.Unmanaged.dll": { + "rid": "win7-x86", + "assetType": "native", + "fileVersion": "10.0.14394.1000" + }, + "runtimes/win7-x86/native/mi.dll": { + "rid": "win7-x86", + "assetType": "native", + "fileVersion": "10.0.14394.1000" + }, + "runtimes/win7-x86/native/miutils.dll": { + "rid": "win7-x86", + "assetType": "native", + "fileVersion": "10.0.14394.1000" + }, + "runtimes/win8-x64/native/Microsoft.Management.Infrastructure.Native.Unmanaged.dll": { + "rid": "win8-x64", + "assetType": "native", + "fileVersion": "10.0.14394.1000" + }, + "runtimes/win8-x64/native/mi.dll": { + "rid": "win8-x64", + "assetType": "native", + "fileVersion": "10.0.14394.1000" + }, + "runtimes/win8-x64/native/miutils.dll": { + "rid": "win8-x64", + "assetType": "native", + "fileVersion": "10.0.14394.1000" + }, + "runtimes/win8-x86/native/Microsoft.Management.Infrastructure.Native.Unmanaged.dll": { + "rid": "win8-x86", + "assetType": "native", + "fileVersion": "10.0.14394.1000" + }, + "runtimes/win8-x86/native/mi.dll": { + "rid": "win8-x86", + "assetType": "native", + "fileVersion": "10.0.14394.1000" + }, + "runtimes/win8-x86/native/miutils.dll": { + "rid": "win8-x86", + "assetType": "native", + "fileVersion": "10.0.14394.1000" + }, + "runtimes/win81-x64/native/Microsoft.Management.Infrastructure.Native.Unmanaged.dll": { + "rid": "win81-x64", + "assetType": "native", + "fileVersion": "10.0.14394.1000" + }, + "runtimes/win81-x64/native/mi.dll": { + "rid": "win81-x64", + "assetType": "native", + "fileVersion": "10.0.14394.1000" + }, + "runtimes/win81-x64/native/miutils.dll": { + "rid": "win81-x64", + "assetType": "native", + "fileVersion": "10.0.14394.1000" + }, + "runtimes/win81-x86/native/Microsoft.Management.Infrastructure.Native.Unmanaged.dll": { + "rid": "win81-x86", + "assetType": "native", + "fileVersion": "10.0.14394.1000" + }, + "runtimes/win81-x86/native/mi.dll": { + "rid": "win81-x86", + "assetType": "native", + "fileVersion": "10.0.14394.1000" + }, + "runtimes/win81-x86/native/miutils.dll": { + "rid": "win81-x86", + "assetType": "native", + "fileVersion": "10.0.14394.1000" + } + } + }, + "Microsoft.NETCore.Platforms/3.0.0": {}, + "Microsoft.NETCore.Targets/3.1.0": {}, + "Microsoft.PowerShell.CoreCLR.Eventing/6.2.7": { + "dependencies": { + "System.Security.Principal.Windows": "4.5.1" + }, + "runtimeTargets": { + "runtimes/linux-arm/lib/netcoreapp2.1/Microsoft.PowerShell.CoreCLR.Eventing.dll": { + "rid": "linux-arm", + "assetType": "runtime", + "assemblyVersion": "6.2.7.0", + "fileVersion": "6.2.7.0" + }, + "runtimes/linux-x64/lib/netcoreapp2.1/Microsoft.PowerShell.CoreCLR.Eventing.dll": { + "rid": "linux-x64", + "assetType": "runtime", + "assemblyVersion": "6.2.7.0", + "fileVersion": "0.0.0.0" + }, + "runtimes/osx/lib/netcoreapp2.1/Microsoft.PowerShell.CoreCLR.Eventing.dll": { + "rid": "osx", + "assetType": "runtime", + "assemblyVersion": "6.2.7.0", + "fileVersion": "0.0.0.0" + }, + "runtimes/win-arm/lib/netcoreapp2.1/Microsoft.PowerShell.CoreCLR.Eventing.dll": { + "rid": "win-arm", + "assetType": "runtime", + "assemblyVersion": "6.2.7.0", + "fileVersion": "6.2.7.0" + }, + "runtimes/win-arm64/lib/netcoreapp2.1/Microsoft.PowerShell.CoreCLR.Eventing.dll": { + "rid": "win-arm64", + "assetType": "runtime", + "assemblyVersion": "6.2.7.0", + "fileVersion": "6.2.7.0" + }, + "runtimes/win-x64/lib/netcoreapp2.1/Microsoft.PowerShell.CoreCLR.Eventing.dll": { + "rid": "win-x64", + "assetType": "runtime", + "assemblyVersion": "6.2.7.0", + "fileVersion": "6.2.7.0" + }, + "runtimes/win-x86/lib/netcoreapp2.1/Microsoft.PowerShell.CoreCLR.Eventing.dll": { + "rid": "win-x86", + "assetType": "runtime", + "assemblyVersion": "6.2.7.0", + "fileVersion": "6.2.7.0" + } + } + }, + "Microsoft.PowerShell.Native/6.2.0": { + "runtimeTargets": { + "runtimes/linux-arm/native/libpsl-native.so": { + "rid": "linux-arm", + "assetType": "native", + "fileVersion": "0.0.0.0" + }, + "runtimes/linux-arm64/native/libpsl-native.so": { + "rid": "linux-arm64", + "assetType": "native", + "fileVersion": "0.0.0.0" + }, + "runtimes/linux-musl-x64/native/libpsl-native.so": { + "rid": "linux-musl-x64", + "assetType": "native", + "fileVersion": "0.0.0.0" + }, + "runtimes/linux-x64/native/libmi.so": { + "rid": "linux-x64", + "assetType": "native", + "fileVersion": "0.0.0.0" + }, + "runtimes/linux-x64/native/libpsl-native.so": { + "rid": "linux-x64", + "assetType": "native", + "fileVersion": "0.0.0.0" + }, + "runtimes/linux-x64/native/libpsrpclient.so": { + "rid": "linux-x64", + "assetType": "native", + "fileVersion": "0.0.0.0" + }, + "runtimes/osx/native/libmi.dylib": { + "rid": "osx", + "assetType": "native", + "fileVersion": "0.0.0.0" + }, + "runtimes/osx/native/libpsl-native.dylib": { + "rid": "osx", + "assetType": "native", + "fileVersion": "0.0.0.0" + }, + "runtimes/osx/native/libpsrpclient.dylib": { + "rid": "osx", + "assetType": "native", + "fileVersion": "0.0.0.0" + }, + "runtimes/win-arm/native/PowerShell.Core.Instrumentation.dll": { + "rid": "win-arm", + "assetType": "native", + "fileVersion": "10.0.10011.16384" + }, + "runtimes/win-arm/native/pwrshplugin.dll": { + "rid": "win-arm", + "assetType": "native", + "fileVersion": "10.0.10011.16384" + }, + "runtimes/win-arm/native/pwrshplugin.pdb": { + "rid": "win-arm", + "assetType": "native", + "fileVersion": "0.0.0.0" + }, + "runtimes/win-arm64/native/PowerShell.Core.Instrumentation.dll": { + "rid": "win-arm64", + "assetType": "native", + "fileVersion": "10.0.10011.16384" + }, + "runtimes/win-arm64/native/pwrshplugin.dll": { + "rid": "win-arm64", + "assetType": "native", + "fileVersion": "10.0.10011.16384" + }, + "runtimes/win-arm64/native/pwrshplugin.pdb": { + "rid": "win-arm64", + "assetType": "native", + "fileVersion": "0.0.0.0" + }, + "runtimes/win-x64/native/PowerShell.Core.Instrumentation.dll": { + "rid": "win-x64", + "assetType": "native", + "fileVersion": "10.0.10011.16384" + }, + "runtimes/win-x64/native/pwrshplugin.dll": { + "rid": "win-x64", + "assetType": "native", + "fileVersion": "10.0.10011.16384" + }, + "runtimes/win-x64/native/pwrshplugin.pdb": { + "rid": "win-x64", + "assetType": "native", + "fileVersion": "0.0.0.0" + }, + "runtimes/win-x86/native/PowerShell.Core.Instrumentation.dll": { + "rid": "win-x86", + "assetType": "native", + "fileVersion": "10.0.10011.16384" + }, + "runtimes/win-x86/native/pwrshplugin.dll": { + "rid": "win-x86", + "assetType": "native", + "fileVersion": "10.0.10011.16384" + }, + "runtimes/win-x86/native/pwrshplugin.pdb": { + "rid": "win-x86", + "assetType": "native", + "fileVersion": "0.0.0.0" + } + } + }, + "Microsoft.Rest.ClientRuntime/2.3.21": { + "dependencies": { + "Newtonsoft.Json": "13.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Rest.ClientRuntime.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.3.21.0" + } + } + }, + "Microsoft.Rest.ClientRuntime.Azure/3.3.19": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.21", + "Newtonsoft.Json": "13.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Rest.ClientRuntime.Azure.dll": { + "assemblyVersion": "3.0.0.0", + "fileVersion": "3.3.18.0" + } + } + }, + "Microsoft.Teams.ConfigAPI.CmdletHostContract/3.1.1": { + "dependencies": { + "Newtonsoft.Json": "13.0.3", + "PowerShellStandard.Library": "5.1.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Teams.ConfigAPI.CmdletHostContract.dll": { + "assemblyVersion": "3.1.1.0", + "fileVersion": "3.1.1.0" + } + } + }, + "Microsoft.Teams.ConfigAPI.Cmdlets/7.612.1": {}, + "Microsoft.Teams.Policy.Administration/1.1.10": { + "runtime": { + "lib/netcoreapp3.1/Microsoft.Teams.Policy.Administration.Cmdlets.Core.dll": { + "assemblyVersion": "1.1.10.0", + "fileVersion": "1.1.10.0" + }, + "lib/netcoreapp3.1/Microsoft.Teams.Policy.Administration.Cmdlets.Providers.PolicyRp.dll": { + "assemblyVersion": "1.0.64.0", + "fileVersion": "1.0.64.0" + }, + "lib/netcoreapp3.1/Microsoft.Teams.Policy.Administration.Cmdlets.Providers.dll": { + "assemblyVersion": "1.0.64.0", + "fileVersion": "1.0.64.0" + }, + "lib/netcoreapp3.1/Microsoft.Teams.Policy.Administration.dll": { + "assemblyVersion": "1.1.10.0", + "fileVersion": "1.1.10.0" + }, + "lib/netcoreapp3.1/Newtonsoft.Json.dll": { + "assemblyVersion": "13.0.0.0", + "fileVersion": "13.0.3.27908" + }, + "lib/netcoreapp3.1/System.Management.Automation.dll": { + "assemblyVersion": "3.0.0.0", + "fileVersion": "5.1.1.0" + } + } + }, + "Microsoft.Teams.Policy.Administration.Cmdlets.OCE/0.0.11": { + "dependencies": { + "Microsoft.Teams.ConfigAPI.CmdletHostContract": "3.1.1", + "Microsoft.Teams.Policy.Administration.Configurations": "11.0.50", + "Newtonsoft.Json": "13.0.3", + "System.Net.Http": "4.3.4" + }, + "runtime": { + "lib/netcoreapp3.1/Microsoft.Teams.Policy.Administration.Cmdlets.OCE.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Microsoft.Teams.Policy.Administration.Configurations/11.0.50": {}, + "Microsoft.Teams.PowerShell.Connect/1.5.1": { + "dependencies": { + "Microsoft.Applications.Events.Server": "1.1.2.97", + "Microsoft.Ic3.TenantAdminApi.Common.Helper": "1.0.28", + "Microsoft.Identity.Client": "4.29.0", + "Microsoft.Identity.Client.Desktop": "4.29.0", + "Microsoft.Identity.Client.Extensions.Msal": "2.14.0", + "Microsoft.IdentityModel.JsonWebTokens": "6.8.0", + "Microsoft.Rest.ClientRuntime": "2.3.21", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Microsoft.Teams.ConfigAPI.CmdletHostContract": "3.1.1", + "Newtonsoft.Json": "13.0.3", + "OneCollectorChannel": "1.1.0.234", + "System.Management.Automation": "6.2.7", + "System.Net.Http": "4.3.4", + "System.Security.Cryptography.ProtectedData": "7.0.0" + }, + "runtime": { + "lib/netcoreapp3.1/Microsoft.TeamsCmdlets.PowerShell.Connect.dll": { + "assemblyVersion": "1.5.1.0", + "fileVersion": "1.5.1.0" + }, + "lib/netcoreapp3.1/Microsoft.Web.WebView2.Core.dll": { + "assemblyVersion": "1.0.705.50", + "fileVersion": "1.0.705.50" + }, + "lib/netcoreapp3.1/Microsoft.Web.WebView2.WinForms.dll": { + "assemblyVersion": "1.0.705.50", + "fileVersion": "1.0.705.50" + }, + "lib/netcoreapp3.1/Microsoft.Web.WebView2.Wpf.dll": { + "assemblyVersion": "1.0.705.50", + "fileVersion": "1.0.705.50" + }, + "lib/netcoreapp3.1/OneCollectorChannel.dll": { + "assemblyVersion": "1.1.0.234", + "fileVersion": "1.1.0.234" + }, + "lib/netcoreapp3.1/Polly.dll": { + "assemblyVersion": "7.0.0.0", + "fileVersion": "7.2.4.982" + }, + "lib/netcoreapp3.1/System.Management.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "4.6.26515.6" + }, + "lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.dll": { + "assemblyVersion": "4.0.6.0", + "fileVersion": "4.700.20.12001" + }, + "lib/netcoreapp3.1/System.Security.Cryptography.ProtectedData.dll": { + "assemblyVersion": "7.0.0.0", + "fileVersion": "7.0.22.51805" + } + } + }, + "Microsoft.Teams.PowerShell.TeamsCmdlets/1.2.18": { + "dependencies": { + "Microsoft.Teams.PowerShell.Connect": "1.5.1", + "Newtonsoft.Json": "13.0.3", + "Polly": "7.2.4", + "Polly.Contrib.WaitAndRetry": "1.1.1", + "System.Management.Automation": "6.2.7", + "System.Net.Http": "4.3.4" + }, + "runtime": { + "lib/netcoreapp3.1/Microsoft.Teams.PowerShell.TeamsCmdlets.dll": { + "assemblyVersion": "1.2.18.0", + "fileVersion": "1.2.18.0" + }, + "lib/netcoreapp3.1/Polly.Contrib.WaitAndRetry.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.1.1.0" + } + } + }, + "Microsoft.Web.WebView2/1.0.705.50": { + "runtimeTargets": { + "runtimes/win-arm/native/WebView2Loader.dll": { + "rid": "win-arm", + "assetType": "native", + "fileVersion": "1.0.705.50" + }, + "runtimes/win-x64/native/WebView2Loader.dll": { + "rid": "win-x64", + "assetType": "native", + "fileVersion": "1.0.705.50" + }, + "runtimes/win-x86/native/WebView2Loader.dll": { + "rid": "win-x86", + "assetType": "native", + "fileVersion": "1.0.705.50" + } + } + }, + "Microsoft.Win32.Primitives/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "Microsoft.NETCore.Targets": "3.1.0", + "System.Runtime": "4.3.0" + } + }, + "Microsoft.Win32.Registry/4.5.0": { + "dependencies": { + "System.Security.AccessControl": "4.5.0", + "System.Security.Principal.Windows": "4.5.1" + } + }, + "Microsoft.Win32.Registry.AccessControl/4.5.0": { + "dependencies": { + "Microsoft.Win32.Registry": "4.5.0", + "System.Security.AccessControl": "4.5.0" + } + }, + "Microsoft.Windows.SDK.Contracts/10.0.17763.1000": { + "dependencies": { + "System.Runtime.WindowsRuntime": "4.6.0", + "System.Runtime.WindowsRuntime.UI.Xaml": "4.6.0" + } + }, + "NETStandard.Library/1.6.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "Microsoft.Win32.Primitives": "4.3.0", + "System.AppContext": "4.3.0", + "System.Collections": "4.3.0", + "System.Collections.Concurrent": "4.3.0", + "System.Console": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tools": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Calendars": "4.3.0", + "System.IO": "4.3.0", + "System.IO.Compression": "4.3.0", + "System.IO.Compression.ZipFile": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Linq": "4.3.0", + "System.Linq.Expressions": "4.3.0", + "System.Net.Http": "4.3.4", + "System.Net.Primitives": "4.3.0", + "System.Net.Sockets": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.InteropServices.RuntimeInformation": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Security.Cryptography.X509Certificates": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.Timer": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0", + "System.Xml.XDocument": "4.3.0" + } + }, + "Newtonsoft.Json/13.0.3": {}, + "NuGet.Build.Tasks.Pack/5.2.0": {}, + "NuGet.CommandLine/5.11.6": {}, + "OneCollectorChannel/1.1.0.234": { + "dependencies": { + "Microsoft.ApplicationInsights": "2.9.1", + "Microsoft.Applications.Events.Server": "1.1.2.97" + } + }, + "Polly/7.2.4": {}, + "Polly.Contrib.WaitAndRetry/1.1.1": {}, + "PowerShellStandard.Library/5.1.0": {}, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "runtime.native.System/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "Microsoft.NETCore.Targets": "3.1.0" + } + }, + "runtime.native.System.IO.Compression/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "Microsoft.NETCore.Targets": "3.1.0" + } + }, + "runtime.native.System.Net.Http/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "Microsoft.NETCore.Targets": "3.1.0" + } + }, + "runtime.native.System.Security.Cryptography.Apple/4.3.0": { + "dependencies": { + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" + } + }, + "runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "dependencies": { + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" + } + }, + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple/4.3.0": {}, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "SQLite/3.13.0": { + "runtimeTargets": { + "runtimes/linux-x64/native/libsqlite3.so": { + "rid": "linux-x64", + "assetType": "native", + "fileVersion": "0.0.0.0" + }, + "runtimes/osx-x64/native/libsqlite3.dylib": { + "rid": "osx-x64", + "assetType": "native", + "fileVersion": "0.0.0.0" + }, + "runtimes/win7-x64/native/sqlite3.dll": { + "rid": "win7-x64", + "assetType": "native", + "fileVersion": "3.13.0.0" + }, + "runtimes/win7-x86/native/sqlite3.dll": { + "rid": "win7-x86", + "assetType": "native", + "fileVersion": "3.13.0.0" + } + } + }, + "System.AppContext/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Buffers/4.3.0": { + "dependencies": { + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.CodeDom/4.5.0": {}, + "System.Collections/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "Microsoft.NETCore.Targets": "3.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Collections.Concurrent/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Collections.Immutable/1.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.Linq": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.ComponentModel/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Configuration.ConfigurationManager/4.5.0": { + "dependencies": { + "System.Security.Cryptography.ProtectedData": "7.0.0", + "System.Security.Permissions": "4.5.0" + } + }, + "System.Console/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "Microsoft.NETCore.Targets": "3.1.0", + "System.IO": "4.3.0", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0" + } + }, + "System.Data.Common/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Diagnostics.Debug/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "Microsoft.NETCore.Targets": "3.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.DiagnosticSource/4.5.0": {}, + "System.Diagnostics.StackTrace/4.3.0": { + "dependencies": { + "System.IO.FileSystem": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Metadata": "1.4.1", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.Tools/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "Microsoft.NETCore.Targets": "3.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.Tracing/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "Microsoft.NETCore.Targets": "3.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.DirectoryServices/4.5.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "System.IO.FileSystem.AccessControl": "4.5.0", + "System.Security.AccessControl": "4.5.0", + "System.Security.Principal.Windows": "4.5.1" + } + }, + "System.Globalization/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "Microsoft.NETCore.Targets": "3.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Calendars/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "Microsoft.NETCore.Targets": "3.1.0", + "System.Globalization": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0" + } + }, + "System.IO/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "Microsoft.NETCore.Targets": "3.1.0", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.IO.Compression/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "System.Buffers": "4.3.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "runtime.native.System": "4.3.0", + "runtime.native.System.IO.Compression": "4.3.0" + } + }, + "System.IO.Compression.ZipFile/4.3.0": { + "dependencies": { + "System.Buffers": "4.3.0", + "System.IO": "4.3.0", + "System.IO.Compression": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.Encoding": "4.3.0" + } + }, + "System.IO.FileSystem/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "Microsoft.NETCore.Targets": "3.1.0", + "System.IO": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.IO.FileSystem.AccessControl/4.5.0": { + "dependencies": { + "System.Security.AccessControl": "4.5.0", + "System.Security.Principal.Windows": "4.5.1" + } + }, + "System.IO.FileSystem.Primitives/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Linq/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + } + }, + "System.Linq.Expressions/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Linq": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Emit.Lightweight": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Management/4.5.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "Microsoft.Win32.Registry": "4.5.0", + "System.CodeDom": "4.5.0" + }, + "runtimeTargets": { + "runtimes/win/lib/netcoreapp2.0/System.Management.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "4.0.0.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "System.Management.Automation/6.2.7": { + "dependencies": { + "Microsoft.Management.Infrastructure": "1.0.0", + "Microsoft.PowerShell.CoreCLR.Eventing": "6.2.7", + "Microsoft.PowerShell.Native": "6.2.0", + "Microsoft.Win32.Registry.AccessControl": "4.5.0", + "Newtonsoft.Json": "13.0.3", + "System.Configuration.ConfigurationManager": "4.5.0", + "System.DirectoryServices": "4.5.0", + "System.IO.FileSystem.AccessControl": "4.5.0", + "System.Management": "4.5.0", + "System.Runtime.CompilerServices.Unsafe": "4.7.1", + "System.Security.AccessControl": "4.5.0", + "System.Security.Cryptography.Pkcs": "4.5.2", + "System.Security.Permissions": "4.5.0", + "System.Text.Encoding.CodePages": "4.5.1" + }, + "runtimeTargets": { + "runtimes/linux-arm/lib/netcoreapp2.1/System.Management.Automation.dll": { + "rid": "linux-arm", + "assetType": "runtime", + "assemblyVersion": "6.2.7.0", + "fileVersion": "6.2.7.0" + }, + "runtimes/linux-x64/lib/netcoreapp2.1/System.Management.Automation.dll": { + "rid": "linux-x64", + "assetType": "runtime", + "assemblyVersion": "6.2.7.0", + "fileVersion": "0.0.0.0" + }, + "runtimes/osx/lib/netcoreapp2.1/System.Management.Automation.dll": { + "rid": "osx", + "assetType": "runtime", + "assemblyVersion": "6.2.7.0", + "fileVersion": "0.0.0.0" + }, + "runtimes/win-arm/lib/netcoreapp2.1/System.Management.Automation.dll": { + "rid": "win-arm", + "assetType": "runtime", + "assemblyVersion": "6.2.7.0", + "fileVersion": "6.2.7.0" + }, + "runtimes/win-arm64/lib/netcoreapp2.1/System.Management.Automation.dll": { + "rid": "win-arm64", + "assetType": "runtime", + "assemblyVersion": "6.2.7.0", + "fileVersion": "6.2.7.0" + }, + "runtimes/win-x64/lib/netcoreapp2.1/System.Management.Automation.dll": { + "rid": "win-x64", + "assetType": "runtime", + "assemblyVersion": "6.2.7.0", + "fileVersion": "6.2.7.0" + }, + "runtimes/win-x86/lib/netcoreapp2.1/System.Management.Automation.dll": { + "rid": "win-x86", + "assetType": "runtime", + "assemblyVersion": "6.2.7.0", + "fileVersion": "6.2.7.0" + } + } + }, + "System.Net.Http/4.3.4": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.DiagnosticSource": "4.5.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Extensions": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.OpenSsl": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Security.Cryptography.X509Certificates": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "runtime.native.System": "4.3.0", + "runtime.native.System.Net.Http": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" + } + }, + "System.Net.Primitives/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "Microsoft.NETCore.Targets": "3.1.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + } + }, + "System.Net.Requests/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Net.Http": "4.3.4", + "System.Net.Primitives": "4.3.0", + "System.Net.WebHeaderCollection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Net.Sockets/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "Microsoft.NETCore.Targets": "3.1.0", + "System.IO": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Net.WebHeaderCollection/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + } + }, + "System.ObjectModel/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Private.DataContractSerialization/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Collections.Concurrent": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Linq": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Emit.Lightweight": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Serialization.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0", + "System.Xml.XDocument": "4.3.0", + "System.Xml.XmlDocument": "4.3.0", + "System.Xml.XmlSerializer": "4.3.0" + } + }, + "System.Reflection/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "Microsoft.NETCore.Targets": "3.1.0", + "System.IO": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Emit/4.3.0": { + "dependencies": { + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Emit.ILGeneration/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Emit.Lightweight/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "Microsoft.NETCore.Targets": "3.1.0", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Metadata/1.4.1": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Collections.Immutable": "1.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.IO": "4.3.0", + "System.IO.Compression": "4.3.0", + "System.Linq": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Reflection.Primitives/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "Microsoft.NETCore.Targets": "3.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.TypeExtensions/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Resources.ResourceManager/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "Microsoft.NETCore.Targets": "3.1.0", + "System.Globalization": "4.3.0", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "Microsoft.NETCore.Targets": "3.1.0" + } + }, + "System.Runtime.CompilerServices.Unsafe/4.7.1": {}, + "System.Runtime.CompilerServices.VisualC/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.Extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "Microsoft.NETCore.Targets": "3.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.Handles/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "Microsoft.NETCore.Targets": "3.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.InteropServices/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "Microsoft.NETCore.Targets": "3.1.0", + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + } + }, + "System.Runtime.InteropServices.RuntimeInformation/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Threading": "4.3.0", + "runtime.native.System": "4.3.0" + } + }, + "System.Runtime.Numerics/4.3.0": { + "dependencies": { + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + } + }, + "System.Runtime.Serialization.Primitives/4.3.0": { + "dependencies": { + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.Serialization.Xml/4.3.0": { + "dependencies": { + "System.IO": "4.3.0", + "System.Private.DataContractSerialization": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Serialization.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0" + } + }, + "System.Runtime.WindowsRuntime/4.6.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0" + } + }, + "System.Runtime.WindowsRuntime.UI.Xaml/4.6.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "System.Runtime.WindowsRuntime": "4.6.0" + } + }, + "System.Security.AccessControl/4.5.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "System.Security.Principal.Windows": "4.5.1" + } + }, + "System.Security.Cryptography.Algorithms/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "System.Collections": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.Apple": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" + } + }, + "System.Security.Cryptography.Cng/4.5.0": {}, + "System.Security.Cryptography.Csp/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Security.Cryptography.Encoding/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "System.Collections": "4.3.0", + "System.Collections.Concurrent": "4.3.0", + "System.Linq": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" + } + }, + "System.Security.Cryptography.OpenSsl/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" + } + }, + "System.Security.Cryptography.Pkcs/4.5.2": { + "dependencies": { + "System.Security.Cryptography.Cng": "4.5.0" + } + }, + "System.Security.Cryptography.Primitives/4.3.0": { + "dependencies": { + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Security.Cryptography.ProtectedData/7.0.0": {}, + "System.Security.Cryptography.X509Certificates/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Calendars": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Cng": "4.5.0", + "System.Security.Cryptography.Csp": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.OpenSsl": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "runtime.native.System": "4.3.0", + "runtime.native.System.Net.Http": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" + } + }, + "System.Security.Permissions/4.5.0": { + "dependencies": { + "System.Security.AccessControl": "4.5.0" + } + }, + "System.Security.Principal.Windows/4.5.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0" + } + }, + "System.Security.SecureString/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Text.Encoding/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "Microsoft.NETCore.Targets": "3.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Text.Encoding.CodePages/4.5.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "System.Runtime.CompilerServices.Unsafe": "4.7.1" + } + }, + "System.Text.Encoding.Extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "Microsoft.NETCore.Targets": "3.1.0", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0" + } + }, + "System.Text.RegularExpressions/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Threading/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Threading.Tasks/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "Microsoft.NETCore.Targets": "3.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Threading.Tasks.Extensions/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Threading.Thread/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Threading.ThreadPool/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + } + }, + "System.Threading.Timer/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0", + "Microsoft.NETCore.Targets": "3.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Xml.ReaderWriter/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.Tasks.Extensions": "4.3.0" + } + }, + "System.Xml.XDocument/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tools": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0" + } + }, + "System.Xml.XmlDocument/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0" + } + }, + "System.Xml.XmlSerializer/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Linq": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0", + "System.Xml.XmlDocument": "4.3.0" + } + }, + "System.Xml.XPath/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0" + } + } + } + }, + "libraries": { + "Microsoft.Teams.PowerShell.Module/6.4.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Microsoft.ApplicationInsights/2.9.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gAC+bFCr10ckAdM6VJ+aL0yfYfbYuklukYJoMjaSCOVHH/h4Xr9SiyPq+Befk/yUSdSv7Fa3nl0ynLATKIwKng==", + "path": "microsoft.applicationinsights/2.9.1", + "hashPath": "microsoft.applicationinsights.2.9.1.nupkg.sha512" + }, + "Microsoft.Applications.Events.Server/1.1.2.97": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1PtLBJEGynJ2DZ5peVSdrZ4YzRUI0ZIIgYbqkI358Il2V5QR5KIZBxyuQ6X5JGyuOShRjWnPuucOqiVBbA/JNw==", + "path": "microsoft.applications.events.server/1.1.2.97", + "hashPath": "microsoft.applications.events.server.1.1.2.97.nupkg.sha512" + }, + "Microsoft.Azure.KeyVault.AzureServiceDeploy/3.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vxOHQm1jNDzTh3zZmzfCYx4y9efEHXAh0+IMymrNSY1dDZGietrpVYUkq9JM9ERfPpHCx2lavFuUxY70idtjmw==", + "path": "microsoft.azure.keyvault.azureservicedeploy/3.0.0", + "hashPath": "microsoft.azure.keyvault.azureservicedeploy.3.0.0.nupkg.sha512" + }, + "Microsoft.Azure.KeyVault.Core/3.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-2B7k5t61MWKs5rLaPqgGL+1OSegeqL7kSKXQ5bAHgeHxg5bwgnMSuRrPcx3fq8KqS8kny39/CCyJegI1VTomIQ==", + "path": "microsoft.azure.keyvault.core/3.0.0", + "hashPath": "microsoft.azure.keyvault.core.3.0.0.nupkg.sha512" + }, + "Microsoft.Azure.KeyVault.Cryptography/3.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-SJLhUSQnPW76R6ikMlwGyL1T8HyHLQWRzV8kodM0O01xJU2CEPvxbsTS7xg7mXZXSEhcROrxHzQRLr7YosiJVA==", + "path": "microsoft.azure.keyvault.cryptography/3.0.0", + "hashPath": "microsoft.azure.keyvault.cryptography.3.0.0.nupkg.sha512" + }, + "Microsoft.Azure.KeyVault.Jose/3.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VUjDq7RcWi+rhuLzFWrxXCXk3h1WbFZG73wWx/AjcqdaIZUJCKPsOXkGGGuBVT7/9ur8aID6naiC1t/RGxzVGA==", + "path": "microsoft.azure.keyvault.jose/3.0.0", + "hashPath": "microsoft.azure.keyvault.jose.3.0.0.nupkg.sha512" + }, + "Microsoft.CSharp/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kaj6Wb4qoMuH3HySFJhxwQfe8R/sJsNJnANrvv8WdFPMoNbKY5htfNscv+LHCu5ipz+49m2e+WQXpLXr9XYemQ==", + "path": "microsoft.csharp/4.5.0", + "hashPath": "microsoft.csharp.4.5.0.nupkg.sha512" + }, + "Microsoft.Data.Sqlite/1.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-EA/L0kQtkPm037kHyLtt/9dsB4ephlgmXgaQbW2qcb2jcW8R5RbfT9zh1j9amZIqFP3OwpnZ7kt7xTwC8z7M1A==", + "path": "microsoft.data.sqlite/1.1.1", + "hashPath": "microsoft.data.sqlite.1.1.1.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration/3.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Lu41BWNmwhKr6LgyQvcYBOge0pPvmiaK8R5UHXX4//wBhonJyWcT2OK1mqYfEM5G7pTf31fPrpIHOT6sN7EGOA==", + "path": "microsoft.extensions.configuration/3.1.0", + "hashPath": "microsoft.extensions.configuration.3.1.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.Abstractions/3.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ESz6bVoDQX7sgWdKHF6G9Pq672T8k+19AFb/txDXwdz7MoqaNQj2/in3agm/3qae9V+WvQZH86LLTNVo0it8vQ==", + "path": "microsoft.extensions.configuration.abstractions/3.1.0", + "hashPath": "microsoft.extensions.configuration.abstractions.3.1.0.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/1.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-sKsx2jEkabcI954cB6MoU2LUxv8YTByV8+ifqbFtIF8gFqPb4/CfPxwvxrYW+aXc4V44KKHOyeTDgyc4B7fjYg==", + "path": "microsoft.extensions.dependencyinjection.abstractions/1.1.1", + "hashPath": "microsoft.extensions.dependencyinjection.abstractions.1.1.1.nupkg.sha512" + }, + "Microsoft.Extensions.Logging/1.1.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-LydGeNbeOBTLt3qYz8L3wpRl4TIE6sLBTROiWlU5uckJOaTBCtOTonTbUWrdYEvjOEDFlKySsKUI7HmS7sjrrA==", + "path": "microsoft.extensions.logging/1.1.2", + "hashPath": "microsoft.extensions.logging.1.1.2.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.Abstractions/1.1.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-hbMEC7HYh2JJK0sSrMXFdOc0tjjRq8kDiSGzXh07AVbMnReLqWa6hA0QJx7umneMK7/9L3sKJnkB+RLGTagkOg==", + "path": "microsoft.extensions.logging.abstractions/1.1.2", + "hashPath": "microsoft.extensions.logging.abstractions.1.1.2.nupkg.sha512" + }, + "Microsoft.Extensions.Primitives/3.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-LEKAnX7lhUhSoIc2XraCTK3M4IU/LdVUzCe464Sa4+7F4ZJuXHHRzZli2mDbiT4xzAZhgqXbvfnb5+CNDcQFfg==", + "path": "microsoft.extensions.primitives/3.1.0", + "hashPath": "microsoft.extensions.primitives.3.1.0.nupkg.sha512" + }, + "Microsoft.Ic3.TenantAdminApi.Common.Helper/1.0.28": { + "type": "package", + "serviceable": true, + "sha512": "sha512-SFH/dfpb728GUh/U0vOvycwLhqyFLAJhrv7CfS8Gb7xAlDnEFGC2K3edL3tYvKdp3pjTxPlLYwE7LpQBgyYZPA==", + "path": "microsoft.ic3.tenantadminapi.common.helper/1.0.28", + "hashPath": "microsoft.ic3.tenantadminapi.common.helper.1.0.28.nupkg.sha512" + }, + "Microsoft.Identity.Client/4.29.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-dTgkuIH4ncheXnZ7BSQBR4urmDcFqPdPT34UPsezmUwE6Q4oWPtnYu+NNkZl8RdMClFnhStm/5F0br5o2nH6OQ==", + "path": "microsoft.identity.client/4.29.0", + "hashPath": "microsoft.identity.client.4.29.0.nupkg.sha512" + }, + "Microsoft.Identity.Client.Desktop/4.29.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-t5a3fMPgeD1wXEK+anN4IL07tPcaYA7iYI4EE6x21ebXywEZ2hmSN6RnWTjVYHSLIT/ZKqaaTLP5hGcSTz8upA==", + "path": "microsoft.identity.client.desktop/4.29.0", + "hashPath": "microsoft.identity.client.desktop.4.29.0.nupkg.sha512" + }, + "Microsoft.Identity.Client.Extensions.Msal/2.14.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-iBtfU0n39tz5T27k8rXLmJ5qQhaqz3NXENuGrZVrl9Ger7wpBioPyPV1YAl3S8PwC5ia+gHgt0QTezq+SE/pSg==", + "path": "microsoft.identity.client.extensions.msal/2.14.0", + "hashPath": "microsoft.identity.client.extensions.msal.2.14.0.nupkg.sha512" + }, + "Microsoft.IdentityModel.JsonWebTokens/6.8.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+7JIww64PkMt7NWFxoe4Y/joeF7TAtA/fQ0b2GFGcagzB59sKkTt/sMZWR6aSZht5YC7SdHi3W6yM1yylRGJCQ==", + "path": "microsoft.identitymodel.jsonwebtokens/6.8.0", + "hashPath": "microsoft.identitymodel.jsonwebtokens.6.8.0.nupkg.sha512" + }, + "Microsoft.IdentityModel.Logging/6.8.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Rfh/p4MaN4gkmhPxwbu8IjrmoDncGfHHPh1sTnc0AcM/Oc39/fzC9doKNWvUAjzFb8LqA6lgZyblTrIsX/wDXg==", + "path": "microsoft.identitymodel.logging/6.8.0", + "hashPath": "microsoft.identitymodel.logging.6.8.0.nupkg.sha512" + }, + "Microsoft.IdentityModel.Tokens/6.8.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gTqzsGcmD13HgtNePPcuVHZ/NXWmyV+InJgalW/FhWpII1D7V1k0obIseGlWMeA4G+tZfeGMfXr0klnWbMR/mQ==", + "path": "microsoft.identitymodel.tokens/6.8.0", + "hashPath": "microsoft.identitymodel.tokens.6.8.0.nupkg.sha512" + }, + "Microsoft.Management.Infrastructure/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-EhQ4sbjNu4rL39YVhRSKMzCaMNBSwSJi17t8LtAOW94WQTkhQCEhlMukFU2AtWOBW3zGIrvg85XRS+w0nuGxKw==", + "path": "microsoft.management.infrastructure/1.0.0", + "hashPath": "microsoft.management.infrastructure.1.0.0.nupkg.sha512" + }, + "Microsoft.NETCore.Platforms/3.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-TsETIgVJb/AKoYfSP+iCxkuly5d3inZjTdx/ItZLk2CxY85v8083OBS3uai84kK3/baLnS5/b5XGs6zR7SuuHQ==", + "path": "microsoft.netcore.platforms/3.0.0", + "hashPath": "microsoft.netcore.platforms.3.0.0.nupkg.sha512" + }, + "Microsoft.NETCore.Targets/3.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-IAFeJxHy2vlTm3mhiZVP/jKE5DImLUMQc3OV8z5G4ZBeYNAlPSwjC5V/Vx14GIJU6Osmhr+XPmtWW0cv5jSmTw==", + "path": "microsoft.netcore.targets/3.1.0", + "hashPath": "microsoft.netcore.targets.3.1.0.nupkg.sha512" + }, + "Microsoft.PowerShell.CoreCLR.Eventing/6.2.7": { + "type": "package", + "serviceable": true, + "sha512": "sha512-IV4UFD/ry5o7FcUjnCrgOoZtJ0XsfY7+nQR0VP3b5Zdpj3WDZRkxi3A5RQUKrCFxLK1zbNlC2nu1qufe3pEuCQ==", + "path": "microsoft.powershell.coreclr.eventing/6.2.7", + "hashPath": "microsoft.powershell.coreclr.eventing.6.2.7.nupkg.sha512" + }, + "Microsoft.PowerShell.Native/6.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5YPhSaW4j6R7oJ53RxOroB51k7zKBpi4owEKAY9rI8Cb+cGIIGN/37DoDOZfbKL4DNW0MeAchgNsAEML049y7Q==", + "path": "microsoft.powershell.native/6.2.0", + "hashPath": "microsoft.powershell.native.6.2.0.nupkg.sha512" + }, + "Microsoft.Rest.ClientRuntime/2.3.21": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KDYlgTyO693V6pi6SGk9eg+dDvKjuOgmkapbHdpnB1SmTPKpvWxVLIMyARJsCFLfB6axyURUJHOfvxBQ0yJKeg==", + "path": "microsoft.rest.clientruntime/2.3.21", + "hashPath": "microsoft.rest.clientruntime.2.3.21.nupkg.sha512" + }, + "Microsoft.Rest.ClientRuntime.Azure/3.3.19": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+NVBWvRXNwaAPTZUxjUlQggsrf3X0GbiRoxYfgc3kG9E55ZxZxvZPT3nIfC4DNqzGSXUEvmLbckdXgBBzGdUaA==", + "path": "microsoft.rest.clientruntime.azure/3.3.19", + "hashPath": "microsoft.rest.clientruntime.azure.3.3.19.nupkg.sha512" + }, + "Microsoft.Teams.ConfigAPI.CmdletHostContract/3.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Z8ozev0eHbKhcM+4DICyBj3BwA74U3uKic0RL5rwFxBO2SKZIbsRy2U13qRt70yIvGWwYiKgBdrXAIDgkvElYA==", + "path": "microsoft.teams.configapi.cmdlethostcontract/3.1.1", + "hashPath": "microsoft.teams.configapi.cmdlethostcontract.3.1.1.nupkg.sha512" + }, + "Microsoft.Teams.ConfigAPI.Cmdlets/7.612.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1FsCfoIN2+jNrzMXw/hGmIhkfz1QXFO7dxQef6AldlQKhrvGYv8uUtTuyVrF5eGOZVtEIDwxFSnlkvqN8q3GrA==", + "path": "microsoft.teams.configapi.cmdlets/7.612.1", + "hashPath": "microsoft.teams.configapi.cmdlets.7.612.1.nupkg.sha512" + }, + "Microsoft.Teams.Policy.Administration/1.1.10": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ME9dMqHIRxV38pJqU57nAw8JW2A3cLko/TnRTIexzAQDfqlTgCflMLSx3GslpnIufK4N+YPD4FQqv3cPVUsabw==", + "path": "microsoft.teams.policy.administration/1.1.10", + "hashPath": "microsoft.teams.policy.administration.1.1.10.nupkg.sha512" + }, + "Microsoft.Teams.Policy.Administration.Cmdlets.OCE/0.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-noE2lyRWO+Uneav8zD44prNJg5pddBQ1H5BdPpV4MRA8WXRzTrnxm8mSZOZp+BoF5JLVtLPlbq+tzLvUjYiZjw==", + "path": "microsoft.teams.policy.administration.cmdlets.oce/0.0.11", + "hashPath": "microsoft.teams.policy.administration.cmdlets.oce.0.0.11.nupkg.sha512" + }, + "Microsoft.Teams.Policy.Administration.Configurations/11.0.50": { + "type": "package", + "serviceable": true, + "sha512": "sha512-D2GNjugHelzZ2Ez4orqgCav3cQ7f25HdQYJGn6pe6x2qHAcEjLjJkaVs8diJzUfO/aguKf36BqH3oDdgwstGpw==", + "path": "microsoft.teams.policy.administration.configurations/11.0.50", + "hashPath": "microsoft.teams.policy.administration.configurations.11.0.50.nupkg.sha512" + }, + "Microsoft.Teams.PowerShell.Connect/1.5.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-P5na8n0F0H/VIWUQi8D0AHjCemRvrwP6u3MLoD/wyBJWCbydttcttsT2NZqaDaDk7OMPA4yEWGD+vBz1PNtbZg==", + "path": "microsoft.teams.powershell.connect/1.5.1", + "hashPath": "microsoft.teams.powershell.connect.1.5.1.nupkg.sha512" + }, + "Microsoft.Teams.PowerShell.TeamsCmdlets/1.2.18": { + "type": "package", + "serviceable": true, + "sha512": "sha512-S5KNflmrqMwHeouXGrddMd9FgIUMugQZ1157oELcQ8eK2zrkt6kD58WkGhwcduxCKrtqSaoDMUnsLkFt4Z9lqg==", + "path": "microsoft.teams.powershell.teamscmdlets/1.2.18", + "hashPath": "microsoft.teams.powershell.teamscmdlets.1.2.18.nupkg.sha512" + }, + "Microsoft.Web.WebView2/1.0.705.50": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YjqCZ+WqVNKgPX2j5p3onk+sM3fCidljozelDHApaC4r6/sVohFTyna4m2A3Z0ynCsMoR1xOI4VffW+JLSWEXw==", + "path": "microsoft.web.webview2/1.0.705.50", + "hashPath": "microsoft.web.webview2.1.0.705.50.nupkg.sha512" + }, + "Microsoft.Win32.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==", + "path": "microsoft.win32.primitives/4.3.0", + "hashPath": "microsoft.win32.primitives.4.3.0.nupkg.sha512" + }, + "Microsoft.Win32.Registry/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+FWlwd//+Tt56316p00hVePBCouXyEzT86Jb3+AuRotTND0IYn0OO3obs1gnQEs/txEnt+rF2JBGLItTG+Be6A==", + "path": "microsoft.win32.registry/4.5.0", + "hashPath": "microsoft.win32.registry.4.5.0.nupkg.sha512" + }, + "Microsoft.Win32.Registry.AccessControl/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-f2aT8NLc9DsB1VEaM4jlYF9DFLA12+ccmWzWA0HEVC3Vgac7tGLSgrU6jtUG+VO1/R5zA6AomQ2pKqJ+5SDWyQ==", + "path": "microsoft.win32.registry.accesscontrol/4.5.0", + "hashPath": "microsoft.win32.registry.accesscontrol.4.5.0.nupkg.sha512" + }, + "Microsoft.Windows.SDK.Contracts/10.0.17763.1000": { + "type": "package", + "serviceable": true, + "sha512": "sha512-D1VmIbDU1caa+xYy3Soyk1wwpaJqpBgvjFONd0yDkwEtF0ANIP08Y01pk06erPcYZzM9xO7/fkg2wge37lHpiA==", + "path": "microsoft.windows.sdk.contracts/10.0.17763.1000", + "hashPath": "microsoft.windows.sdk.contracts.10.0.17763.1000.nupkg.sha512" + }, + "NETStandard.Library/1.6.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==", + "path": "netstandard.library/1.6.1", + "hashPath": "netstandard.library.1.6.1.nupkg.sha512" + }, + "Newtonsoft.Json/13.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==", + "path": "newtonsoft.json/13.0.3", + "hashPath": "newtonsoft.json.13.0.3.nupkg.sha512" + }, + "NuGet.Build.Tasks.Pack/5.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jRE2Ya2cFTEu9XZ6rQtYjKE1a8q2KjCs0b8bd3cGlZ1cdgfZ6EgR2X0LZ/pCbN2WVcCRI7ISEIcqJ5Ji+Z1HMQ==", + "path": "nuget.build.tasks.pack/5.2.0", + "hashPath": "nuget.build.tasks.pack.5.2.0.nupkg.sha512" + }, + "NuGet.CommandLine/5.11.6": { + "type": "package", + "serviceable": true, + "sha512": "sha512-mNGA6kjtSqfKayS9WI9GZWYXvUI1d+34sNXoakImEt8wtXrRn9FNjWLGP4Q8Ik6R94FkVo18vQUtyD8fOWOZUQ==", + "path": "nuget.commandline/5.11.6", + "hashPath": "nuget.commandline.5.11.6.nupkg.sha512" + }, + "OneCollectorChannel/1.1.0.234": { + "type": "package", + "serviceable": true, + "sha512": "sha512-0PoHLy0O9VbBmXe/TPRXkIH1Qmv6kKs/X5ANLP0MHML/TcQAWHKAxhHdilVrKJEnGDyCgH2QKlcEykpHngxCnA==", + "path": "onecollectorchannel/1.1.0.234", + "hashPath": "onecollectorchannel.1.1.0.234.nupkg.sha512" + }, + "Polly/7.2.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bw00Ck5sh6ekduDE3mnCo1ohzuad946uslCDEENu3091+6UKnBuKLo4e+yaNcCzXxOZCXWY2gV4a35+K1d4LDA==", + "path": "polly/7.2.4", + "hashPath": "polly.7.2.4.nupkg.sha512" + }, + "Polly.Contrib.WaitAndRetry/1.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1MUQLiSo4KDkQe6nzQRhIU05lm9jlexX5BVsbuw0SL82ynZ+GzAHQxJVDPVBboxV37Po3SG077aX8DuSy8TkaA==", + "path": "polly.contrib.waitandretry/1.1.1", + "hashPath": "polly.contrib.waitandretry.1.1.1.nupkg.sha512" + }, + "PowerShellStandard.Library/5.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-iYaRvQsM1fow9h3uEmio+2m2VXfulgI16AYHaTZ8Sf7erGe27Qc8w/h6QL5UPuwv1aXR40QfzMEwcCeiYJp2cw==", + "path": "powershellstandard.library/5.1.0", + "hashPath": "powershellstandard.library.5.1.0.nupkg.sha512" + }, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7VSGO0URRKoMEAq0Sc9cRz8mb6zbyx/BZDEWhgPdzzpmFhkam3fJ1DAGWFXBI4nGlma+uPKpfuMQP5LXRnOH5g==", + "path": "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-0oAaTAm6e2oVH+/Zttt0cuhGaePQYKII1dY8iaqP7CvOpVKgLybKRFvQjXR2LtxXOXTVPNv14j0ot8uV+HrUmw==", + "path": "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-G24ibsCNi5Kbz0oXWynBoRgtGvsw5ZSVEWjv13/KiCAM8C6wz9zzcCniMeQFIkJ2tasjo2kXlvlBZhplL51kGg==", + "path": "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.native.System/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", + "path": "runtime.native.system/4.3.0", + "hashPath": "runtime.native.system.4.3.0.nupkg.sha512" + }, + "runtime.native.System.IO.Compression/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==", + "path": "runtime.native.system.io.compression/4.3.0", + "hashPath": "runtime.native.system.io.compression.4.3.0.nupkg.sha512" + }, + "runtime.native.System.Net.Http/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", + "path": "runtime.native.system.net.http/4.3.0", + "hashPath": "runtime.native.system.net.http.4.3.0.nupkg.sha512" + }, + "runtime.native.System.Security.Cryptography.Apple/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", + "path": "runtime.native.system.security.cryptography.apple/4.3.0", + "hashPath": "runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512" + }, + "runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-QR1OwtwehHxSeQvZKXe+iSd+d3XZNkEcuWMFYa2i0aG1l+lR739HPicKMlTbJst3spmeekDVBUS7SeS26s4U/g==", + "path": "runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-I+GNKGg2xCHueRd1m9PzeEW7WLbNNLznmTuEi8/vZX71HudUbx1UTwlGkiwMri7JLl8hGaIAWnA/GONhu+LOyQ==", + "path": "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1Z3TAq1ytS1IBRtPXJvEUZdVsfWfeNEhBkbiOCGEl9wwAfsjP2lz3ZFDx5tq8p60/EqbS0HItG5piHuB71RjoA==", + "path": "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==", + "path": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple/4.3.0", + "hashPath": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-6mU/cVmmHtQiDXhnzUImxIcDL48GbTk+TsptXyJA+MIOG9LRjPoAQC/qBFB7X+UNyK86bmvGwC8t+M66wsYC8w==", + "path": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vjwG0GGcTW/PPg6KVud8F9GLWYuAV1rrw1BKAqY0oh4jcUqg15oYF1+qkGR2x2ZHM4DQnWKQ7cJgYbfncz/lYg==", + "path": "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7KMFpTkHC/zoExs+PwP8jDCWcrK9H6L7soowT80CUx3e+nxP/AFnq0AQAW5W76z2WYbLAYCRyPfwYFG6zkvQRw==", + "path": "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xrlmRCnKZJLHxyyLIqkZjNXqgxnKdZxfItrPkjI+6pkRo5lHX8YvSZlWrSI5AVwLMi4HbNWP7064hcAWeZKp5w==", + "path": "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==", + "path": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "SQLite/3.13.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-MJfRiz2p6aMVOxrxGMdVzhpzI0oxTgZSwC8eVuOpV8L7yYaFUu8q/OFYwv9P0/aZ/pdEu24O6gma6wZJMTun9A==", + "path": "sqlite/3.13.0", + "hashPath": "sqlite.3.13.0.nupkg.sha512" + }, + "System.AppContext/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==", + "path": "system.appcontext/4.3.0", + "hashPath": "system.appcontext.4.3.0.nupkg.sha512" + }, + "System.Buffers/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ratu44uTIHgeBeI0dE8DWvmXVBSo4u7ozRZZHOMmK/JPpYyo0dAfgSiHlpiObMQ5lEtEyIXA40sKRYg5J6A8uQ==", + "path": "system.buffers/4.3.0", + "hashPath": "system.buffers.4.3.0.nupkg.sha512" + }, + "System.CodeDom/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gqpR1EeXOuzNQWL7rOzmtdIz3CaXVjSQCiaGOs2ivjPwynKSJYm39X81fdlp7WuojZs/Z5t1k5ni7HtKQurhjw==", + "path": "system.codedom/4.5.0", + "hashPath": "system.codedom.4.5.0.nupkg.sha512" + }, + "System.Collections/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", + "path": "system.collections/4.3.0", + "hashPath": "system.collections.4.3.0.nupkg.sha512" + }, + "System.Collections.Concurrent/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", + "path": "system.collections.concurrent/4.3.0", + "hashPath": "system.collections.concurrent.4.3.0.nupkg.sha512" + }, + "System.Collections.Immutable/1.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zukBRPUuNxwy9m4TGWLxKAnoiMc9+B+8VXeXVyPiBPvOd7yLgAlZ1DlsRWJjMx4VsvhhF2+6q6kO2GRbPja6hA==", + "path": "system.collections.immutable/1.3.0", + "hashPath": "system.collections.immutable.1.3.0.nupkg.sha512" + }, + "System.ComponentModel/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VyGn1jGRZVfxnh8EdvDCi71v3bMXrsu8aYJOwoV7SNDLVhiEqwP86pPMyRGsDsxhXAm2b3o9OIqeETfN5qfezw==", + "path": "system.componentmodel/4.3.0", + "hashPath": "system.componentmodel.4.3.0.nupkg.sha512" + }, + "System.Configuration.ConfigurationManager/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UIFvaFfuKhLr9u5tWMxmVoDPkFeD+Qv8gUuap4aZgVGYSYMdERck4OhLN/2gulAc0nYTEigWXSJNNWshrmxnng==", + "path": "system.configuration.configurationmanager/4.5.0", + "hashPath": "system.configuration.configurationmanager.4.5.0.nupkg.sha512" + }, + "System.Console/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==", + "path": "system.console/4.3.0", + "hashPath": "system.console.4.3.0.nupkg.sha512" + }, + "System.Data.Common/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-lm6E3T5u7BOuEH0u18JpbJHxBfOJPuCyl4Kg1RH10ktYLp5uEEE1xKrHW56/We4SnZpGAuCc9N0MJpSDhTHZGQ==", + "path": "system.data.common/4.3.0", + "hashPath": "system.data.common.4.3.0.nupkg.sha512" + }, + "System.Diagnostics.Debug/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", + "path": "system.diagnostics.debug/4.3.0", + "hashPath": "system.diagnostics.debug.4.3.0.nupkg.sha512" + }, + "System.Diagnostics.DiagnosticSource/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-eIHRELiYDQvsMToML81QFkXEEYXUSUT2F28t1SGrevWqP+epFdw80SyAXIKTXOHrIEXReFOEnEr7XlGiC2GgOg==", + "path": "system.diagnostics.diagnosticsource/4.5.0", + "hashPath": "system.diagnostics.diagnosticsource.4.5.0.nupkg.sha512" + }, + "System.Diagnostics.StackTrace/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BiHg0vgtd35/DM9jvtaC1eKRpWZxr0gcQd643ABG7GnvSlf5pOkY2uyd42mMOJoOmKvnpNj0F4tuoS1pacTwYw==", + "path": "system.diagnostics.stacktrace/4.3.0", + "hashPath": "system.diagnostics.stacktrace.4.3.0.nupkg.sha512" + }, + "System.Diagnostics.Tools/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==", + "path": "system.diagnostics.tools/4.3.0", + "hashPath": "system.diagnostics.tools.4.3.0.nupkg.sha512" + }, + "System.Diagnostics.Tracing/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", + "path": "system.diagnostics.tracing/4.3.0", + "hashPath": "system.diagnostics.tracing.4.3.0.nupkg.sha512" + }, + "System.DirectoryServices/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-6Uty9sMaeBG0/GIRTW4+DUTvuB/od5E6rY45JbEz1c2xMoPSA9GLov4KdiBEpjsEcsgORa6sC3vfh70tEJJaOw==", + "path": "system.directoryservices/4.5.0", + "hashPath": "system.directoryservices.4.5.0.nupkg.sha512" + }, + "System.Globalization/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", + "path": "system.globalization/4.3.0", + "hashPath": "system.globalization.4.3.0.nupkg.sha512" + }, + "System.Globalization.Calendars/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", + "path": "system.globalization.calendars/4.3.0", + "hashPath": "system.globalization.calendars.4.3.0.nupkg.sha512" + }, + "System.Globalization.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", + "path": "system.globalization.extensions/4.3.0", + "hashPath": "system.globalization.extensions.4.3.0.nupkg.sha512" + }, + "System.IO/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", + "path": "system.io/4.3.0", + "hashPath": "system.io.4.3.0.nupkg.sha512" + }, + "System.IO.Compression/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==", + "path": "system.io.compression/4.3.0", + "hashPath": "system.io.compression.4.3.0.nupkg.sha512" + }, + "System.IO.Compression.ZipFile/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==", + "path": "system.io.compression.zipfile/4.3.0", + "hashPath": "system.io.compression.zipfile.4.3.0.nupkg.sha512" + }, + "System.IO.FileSystem/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", + "path": "system.io.filesystem/4.3.0", + "hashPath": "system.io.filesystem.4.3.0.nupkg.sha512" + }, + "System.IO.FileSystem.AccessControl/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-TYe6xstoqT5MlTly0OtPU6u9zWuNScLVMEx6sTCjjx+Hqdp0wCXoG6fnzMpTPMQACXQzi9pd2N5Tloow+5jQdQ==", + "path": "system.io.filesystem.accesscontrol/4.5.0", + "hashPath": "system.io.filesystem.accesscontrol.4.5.0.nupkg.sha512" + }, + "System.IO.FileSystem.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", + "path": "system.io.filesystem.primitives/4.3.0", + "hashPath": "system.io.filesystem.primitives.4.3.0.nupkg.sha512" + }, + "System.Linq/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", + "path": "system.linq/4.3.0", + "hashPath": "system.linq.4.3.0.nupkg.sha512" + }, + "System.Linq.Expressions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==", + "path": "system.linq.expressions/4.3.0", + "hashPath": "system.linq.expressions.4.3.0.nupkg.sha512" + }, + "System.Management/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Z6ac0qPGr3yJtwZEX1SRkhwWa0Kf5NJxx7smLboYsGrApQFECNFdqhGy252T4lrZ5Nwzhd9VQiaifndR3bfHdg==", + "path": "system.management/4.5.0", + "hashPath": "system.management.4.5.0.nupkg.sha512" + }, + "System.Management.Automation/6.2.7": { + "type": "package", + "serviceable": true, + "sha512": "sha512-m2z9+qOpxcZrx+yMFbIQZnJ/OMLhEL2Z0IEGi5HHm7ODLnPwkWOfS/fZ25IHRY50HAX4cSygiall+tjJSiXILA==", + "path": "system.management.automation/6.2.7", + "hashPath": "system.management.automation.6.2.7.nupkg.sha512" + }, + "System.Net.Http/4.3.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==", + "path": "system.net.http/4.3.4", + "hashPath": "system.net.http.4.3.4.nupkg.sha512" + }, + "System.Net.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", + "path": "system.net.primitives/4.3.0", + "hashPath": "system.net.primitives.4.3.0.nupkg.sha512" + }, + "System.Net.Requests/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OZNUuAs0kDXUzm7U5NZ1ojVta5YFZmgT2yxBqsQ7Eseq5Ahz88LInGRuNLJ/NP2F8W1q7tse1pKDthj3reF5QA==", + "path": "system.net.requests/4.3.0", + "hashPath": "system.net.requests.4.3.0.nupkg.sha512" + }, + "System.Net.Sockets/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==", + "path": "system.net.sockets/4.3.0", + "hashPath": "system.net.sockets.4.3.0.nupkg.sha512" + }, + "System.Net.WebHeaderCollection/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-XZrXYG3c7QV/GpWeoaRC02rM6LH2JJetfVYskf35wdC/w2fFDFMphec4gmVH2dkll6abtW14u9Rt96pxd9YH2A==", + "path": "system.net.webheadercollection/4.3.0", + "hashPath": "system.net.webheadercollection.4.3.0.nupkg.sha512" + }, + "System.ObjectModel/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", + "path": "system.objectmodel/4.3.0", + "hashPath": "system.objectmodel.4.3.0.nupkg.sha512" + }, + "System.Private.DataContractSerialization/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-yDaJ2x3mMmjdZEDB4IbezSnCsnjQ4BxinKhRAaP6kEgL6Bb6jANWphs5SzyD8imqeC/3FxgsuXT6ykkiH1uUmA==", + "path": "system.private.datacontractserialization/4.3.0", + "hashPath": "system.private.datacontractserialization.4.3.0.nupkg.sha512" + }, + "System.Reflection/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", + "path": "system.reflection/4.3.0", + "hashPath": "system.reflection.4.3.0.nupkg.sha512" + }, + "System.Reflection.Emit/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==", + "path": "system.reflection.emit/4.3.0", + "hashPath": "system.reflection.emit.4.3.0.nupkg.sha512" + }, + "System.Reflection.Emit.ILGeneration/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==", + "path": "system.reflection.emit.ilgeneration/4.3.0", + "hashPath": "system.reflection.emit.ilgeneration.4.3.0.nupkg.sha512" + }, + "System.Reflection.Emit.Lightweight/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==", + "path": "system.reflection.emit.lightweight/4.3.0", + "hashPath": "system.reflection.emit.lightweight.4.3.0.nupkg.sha512" + }, + "System.Reflection.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==", + "path": "system.reflection.extensions/4.3.0", + "hashPath": "system.reflection.extensions.4.3.0.nupkg.sha512" + }, + "System.Reflection.Metadata/1.4.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tc2ZyJgweHCLci5oQGuhQn9TD0Ii9DReXkHtZm3aAGp8xe40rpRjiTbMXOtZU+fr0BOQ46goE9+qIqRGjR9wGg==", + "path": "system.reflection.metadata/1.4.1", + "hashPath": "system.reflection.metadata.1.4.1.nupkg.sha512" + }, + "System.Reflection.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", + "path": "system.reflection.primitives/4.3.0", + "hashPath": "system.reflection.primitives.4.3.0.nupkg.sha512" + }, + "System.Reflection.TypeExtensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==", + "path": "system.reflection.typeextensions/4.3.0", + "hashPath": "system.reflection.typeextensions.4.3.0.nupkg.sha512" + }, + "System.Resources.ResourceManager/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", + "path": "system.resources.resourcemanager/4.3.0", + "hashPath": "system.resources.resourcemanager.4.3.0.nupkg.sha512" + }, + "System.Runtime/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", + "path": "system.runtime/4.3.0", + "hashPath": "system.runtime.4.3.0.nupkg.sha512" + }, + "System.Runtime.CompilerServices.Unsafe/4.7.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zOHkQmzPCn5zm/BH+cxC1XbUS3P4Yoi3xzW7eRgVpDR2tPGSzyMZ17Ig1iRkfJuY0nhxkQQde8pgePNiA7z7TQ==", + "path": "system.runtime.compilerservices.unsafe/4.7.1", + "hashPath": "system.runtime.compilerservices.unsafe.4.7.1.nupkg.sha512" + }, + "System.Runtime.CompilerServices.VisualC/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/dcn1oXqK/p/VnTYWNSf4OXlFIfzCRE/kqWz4+/r5B2S4zlKifB1FqklEEYs5zmE1JE3syvrJ5U4syOwsDQZbA==", + "path": "system.runtime.compilerservices.visualc/4.3.0", + "hashPath": "system.runtime.compilerservices.visualc.4.3.0.nupkg.sha512" + }, + "System.Runtime.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", + "path": "system.runtime.extensions/4.3.0", + "hashPath": "system.runtime.extensions.4.3.0.nupkg.sha512" + }, + "System.Runtime.Handles/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", + "path": "system.runtime.handles/4.3.0", + "hashPath": "system.runtime.handles.4.3.0.nupkg.sha512" + }, + "System.Runtime.InteropServices/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", + "path": "system.runtime.interopservices/4.3.0", + "hashPath": "system.runtime.interopservices.4.3.0.nupkg.sha512" + }, + "System.Runtime.InteropServices.RuntimeInformation/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==", + "path": "system.runtime.interopservices.runtimeinformation/4.3.0", + "hashPath": "system.runtime.interopservices.runtimeinformation.4.3.0.nupkg.sha512" + }, + "System.Runtime.Numerics/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", + "path": "system.runtime.numerics/4.3.0", + "hashPath": "system.runtime.numerics.4.3.0.nupkg.sha512" + }, + "System.Runtime.Serialization.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Wz+0KOukJGAlXjtKr+5Xpuxf8+c8739RI1C+A2BoQZT+wMCCoMDDdO8/4IRHfaVINqL78GO8dW8G2lW/e45Mcw==", + "path": "system.runtime.serialization.primitives/4.3.0", + "hashPath": "system.runtime.serialization.primitives.4.3.0.nupkg.sha512" + }, + "System.Runtime.Serialization.Xml/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-nUQx/5OVgrqEba3+j7OdiofvVq9koWZAC7Z3xGI8IIViZqApWnZ5+lLcwYgTlbkobrl/Rat+Jb8GeD4WQESD2A==", + "path": "system.runtime.serialization.xml/4.3.0", + "hashPath": "system.runtime.serialization.xml.4.3.0.nupkg.sha512" + }, + "System.Runtime.WindowsRuntime/4.6.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-IWrs1TmbxP65ZZjIglNyvDkFNoV5q2Pofg5WO7I8RKQOpLdFprQSh3xesOoClBqR4JHr4nEB1Xk1MqLPW1jPuQ==", + "path": "system.runtime.windowsruntime/4.6.0", + "hashPath": "system.runtime.windowsruntime.4.6.0.nupkg.sha512" + }, + "System.Runtime.WindowsRuntime.UI.Xaml/4.6.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-r4tNw5v5kqRJ9HikWpcyNf3suGw7DjX93svj9iBjtdeLqL8jt9Z+7f+s4wrKZJr84u8IMsrIjt8K6jYvkRqMSg==", + "path": "system.runtime.windowsruntime.ui.xaml/4.6.0", + "hashPath": "system.runtime.windowsruntime.ui.xaml.4.6.0.nupkg.sha512" + }, + "System.Security.AccessControl/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vW8Eoq0TMyz5vAG/6ce483x/CP83fgm4SJe5P8Tb1tZaobcvPrbMEL7rhH1DRdrYbbb6F0vq3OlzmK0Pkwks5A==", + "path": "system.security.accesscontrol/4.5.0", + "hashPath": "system.security.accesscontrol.4.5.0.nupkg.sha512" + }, + "System.Security.Cryptography.Algorithms/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", + "path": "system.security.cryptography.algorithms/4.3.0", + "hashPath": "system.security.cryptography.algorithms.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Cng/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-WG3r7EyjUe9CMPFSs6bty5doUqT+q9pbI80hlNzo2SkPkZ4VTuZkGWjpp77JB8+uaL4DFPRdBsAY+DX3dBK92A==", + "path": "system.security.cryptography.cng/4.5.0", + "hashPath": "system.security.cryptography.cng.4.5.0.nupkg.sha512" + }, + "System.Security.Cryptography.Csp/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", + "path": "system.security.cryptography.csp/4.3.0", + "hashPath": "system.security.cryptography.csp.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Encoding/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", + "path": "system.security.cryptography.encoding/4.3.0", + "hashPath": "system.security.cryptography.encoding.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", + "path": "system.security.cryptography.openssl/4.3.0", + "hashPath": "system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Pkcs/4.5.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-lIo52x0AAsZs8r1L58lPXaqN6PP51Z/XJts0kZtbZRNYcMguupxqRGjvc/GoqSKTbYa+aBwbkT4xoqQ7EsfN0A==", + "path": "system.security.cryptography.pkcs/4.5.2", + "hashPath": "system.security.cryptography.pkcs.4.5.2.nupkg.sha512" + }, + "System.Security.Cryptography.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", + "path": "system.security.cryptography.primitives/4.3.0", + "hashPath": "system.security.cryptography.primitives.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.ProtectedData/7.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xSPiLNlHT6wAHtugASbKAJwV5GVqQK351crnILAucUioFqqieDN79evO1rku1ckt/GfjIn+b17UaSskoY03JuA==", + "path": "system.security.cryptography.protecteddata/7.0.0", + "hashPath": "system.security.cryptography.protecteddata.7.0.0.nupkg.sha512" + }, + "System.Security.Cryptography.X509Certificates/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", + "path": "system.security.cryptography.x509certificates/4.3.0", + "hashPath": "system.security.cryptography.x509certificates.4.3.0.nupkg.sha512" + }, + "System.Security.Permissions/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-9gdyuARhUR7H+p5CjyUB/zPk7/Xut3wUSP8NJQB6iZr8L3XUXTMdoLeVAg9N4rqF8oIpE7MpdqHdDHQ7XgJe0g==", + "path": "system.security.permissions/4.5.0", + "hashPath": "system.security.permissions.4.5.0.nupkg.sha512" + }, + "System.Security.Principal.Windows/4.5.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-L3R/xk1s+AJB/ZRrwXyjXMmKp+RNgLP92LSidWEM0iCouznJoiiBloDCxRTjmo8hTDAKSWaMrltsttUzg1RhjA==", + "path": "system.security.principal.windows/4.5.1", + "hashPath": "system.security.principal.windows.4.5.1.nupkg.sha512" + }, + "System.Security.SecureString/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-PnXp38O9q/2Oe4iZHMH60kinScv6QiiL2XH54Pj2t0Y6c2zKPEiAZsM/M3wBOHLNTBDFP0zfy13WN2M0qFz5jg==", + "path": "system.security.securestring/4.3.0", + "hashPath": "system.security.securestring.4.3.0.nupkg.sha512" + }, + "System.Text.Encoding/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", + "path": "system.text.encoding/4.3.0", + "hashPath": "system.text.encoding.4.3.0.nupkg.sha512" + }, + "System.Text.Encoding.CodePages/4.5.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4J2JQXbftjPMppIHJ7IC+VXQ9XfEagN92vZZNoG12i+zReYlim5dMoXFC1Zzg7tsnKDM7JPo5bYfFK4Jheq44w==", + "path": "system.text.encoding.codepages/4.5.1", + "hashPath": "system.text.encoding.codepages.4.5.1.nupkg.sha512" + }, + "System.Text.Encoding.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", + "path": "system.text.encoding.extensions/4.3.0", + "hashPath": "system.text.encoding.extensions.4.3.0.nupkg.sha512" + }, + "System.Text.RegularExpressions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==", + "path": "system.text.regularexpressions/4.3.0", + "hashPath": "system.text.regularexpressions.4.3.0.nupkg.sha512" + }, + "System.Threading/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", + "path": "system.threading/4.3.0", + "hashPath": "system.threading.4.3.0.nupkg.sha512" + }, + "System.Threading.Tasks/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", + "path": "system.threading.tasks/4.3.0", + "hashPath": "system.threading.tasks.4.3.0.nupkg.sha512" + }, + "System.Threading.Tasks.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-npvJkVKl5rKXrtl1Kkm6OhOUaYGEiF9wFbppFRWSMoApKzt2PiPHT2Bb8a5sAWxprvdOAtvaARS9QYMznEUtug==", + "path": "system.threading.tasks.extensions/4.3.0", + "hashPath": "system.threading.tasks.extensions.4.3.0.nupkg.sha512" + }, + "System.Threading.Thread/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "path": "system.threading.thread/4.3.0", + "hashPath": "system.threading.thread.4.3.0.nupkg.sha512" + }, + "System.Threading.ThreadPool/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-k/+g4b7vjdd4aix83sTgC9VG6oXYKAktSfNIJUNGxPEj7ryEOfzHHhfnmsZvjxawwcD9HyWXKCXmPjX8U4zeSw==", + "path": "system.threading.threadpool/4.3.0", + "hashPath": "system.threading.threadpool.4.3.0.nupkg.sha512" + }, + "System.Threading.Timer/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==", + "path": "system.threading.timer/4.3.0", + "hashPath": "system.threading.timer.4.3.0.nupkg.sha512" + }, + "System.Xml.ReaderWriter/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", + "path": "system.xml.readerwriter/4.3.0", + "hashPath": "system.xml.readerwriter.4.3.0.nupkg.sha512" + }, + "System.Xml.XDocument/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==", + "path": "system.xml.xdocument/4.3.0", + "hashPath": "system.xml.xdocument.4.3.0.nupkg.sha512" + }, + "System.Xml.XmlDocument/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-lJ8AxvkX7GQxpC6GFCeBj8ThYVyQczx2+f/cWHJU8tjS7YfI6Cv6bon70jVEgs2CiFbmmM8b9j1oZVx0dSI2Ww==", + "path": "system.xml.xmldocument/4.3.0", + "hashPath": "system.xml.xmldocument.4.3.0.nupkg.sha512" + }, + "System.Xml.XmlSerializer/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-MYoTCP7EZ98RrANESW05J5ZwskKDoN0AuZ06ZflnowE50LTpbR5yRg3tHckTVm5j/m47stuGgCrCHWePyHS70Q==", + "path": "system.xml.xmlserializer/4.3.0", + "hashPath": "system.xml.xmlserializer.4.3.0.nupkg.sha512" + }, + "System.Xml.XPath/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-v1JQ5SETnQusqmS3RwStF7vwQ3L02imIzl++sewmt23VGygix04pEH+FCj1yWb+z4GDzKiljr1W7Wfvrx0YwgA==", + "path": "system.xml.xpath/4.3.0", + "hashPath": "system.xml.xpath.4.3.0.nupkg.sha512" + } + } +} \ No newline at end of file diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Teams.PowerShell.Module.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Teams.PowerShell.Module.dll new file mode 100644 index 000000000000..7cc5b3332cf0 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Teams.PowerShell.Module.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Teams.PowerShell.Module.pdb b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Teams.PowerShell.Module.pdb new file mode 100644 index 000000000000..9929407b3863 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Teams.PowerShell.Module.pdb differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Teams.PowerShell.Module.xml b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Teams.PowerShell.Module.xml new file mode 100644 index 000000000000..9c5b7f84166a --- /dev/null +++ b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Teams.PowerShell.Module.xml @@ -0,0 +1,8 @@ + + + + Microsoft.Teams.PowerShell.Module + + + + diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Teams.PowerShell.TeamsCmdlets.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Teams.PowerShell.TeamsCmdlets.dll new file mode 100644 index 000000000000..0757328fb79e Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Teams.PowerShell.TeamsCmdlets.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.TeamsCmdlets.PowerShell.Connect.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.TeamsCmdlets.PowerShell.Connect.dll new file mode 100644 index 000000000000..3c946afe94a7 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.TeamsCmdlets.PowerShell.Connect.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Web.WebView2.Core.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Web.WebView2.Core.dll new file mode 100644 index 000000000000..9820cc62ebb7 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Web.WebView2.Core.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Web.WebView2.WinForms.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Web.WebView2.WinForms.dll new file mode 100644 index 000000000000..c8afb910a3ce Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Web.WebView2.WinForms.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Web.WebView2.Wpf.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Web.WebView2.Wpf.dll new file mode 100644 index 000000000000..5a80d69425fe Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Microsoft.Web.WebView2.Wpf.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Newtonsoft.Json.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Newtonsoft.Json.dll new file mode 100644 index 000000000000..d941cbc9dbe7 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Newtonsoft.Json.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/OneCollectorChannel.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/OneCollectorChannel.dll new file mode 100644 index 000000000000..67cdb09f50d9 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/OneCollectorChannel.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Polly.Contrib.WaitAndRetry.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Polly.Contrib.WaitAndRetry.dll new file mode 100644 index 000000000000..c113eaa01e4c Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Polly.Contrib.WaitAndRetry.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Polly.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Polly.dll new file mode 100644 index 000000000000..bc8aba6b8947 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/Polly.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/System.Management.Automation.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/System.Management.Automation.dll new file mode 100644 index 000000000000..820efb6a9ba8 Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/System.Management.Automation.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/System.Management.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/System.Management.dll new file mode 100644 index 000000000000..b6ba574dfc6e Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/System.Management.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.dll new file mode 100644 index 000000000000..3674c7bef36e Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.dll differ diff --git a/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/System.Security.Cryptography.ProtectedData.dll b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/System.Security.Cryptography.ProtectedData.dll new file mode 100644 index 000000000000..f7256d6f10bb Binary files /dev/null and b/Modules/MicrosoftTeams/6.4.0/netcoreapp3.1/System.Security.Cryptography.ProtectedData.dll differ diff --git a/Modules/PassPushPosh/0.2.3/PSGetModuleInfo.xml b/Modules/PassPushPosh/0.3.0/PSGetModuleInfo.xml similarity index 69% rename from Modules/PassPushPosh/0.2.3/PSGetModuleInfo.xml rename to Modules/PassPushPosh/0.3.0/PSGetModuleInfo.xml index 00cc59d45a7d..f18deba883e8 100644 --- a/Modules/PassPushPosh/0.2.3/PSGetModuleInfo.xml +++ b/Modules/PassPushPosh/0.3.0/PSGetModuleInfo.xml @@ -7,13 +7,13 @@ PassPushPosh - 0.2.3 + 0.3.0 Module - *PassPushPosh* is a PowerShell Module for interfacing with the Password Pusher secure password / string sharing application, primarily through pwpush.com. It supports creating, retrieving, and deleting anonymous and authenticated pushes, links in any supported language, and getting Push and Dashboard data for authenticated users._x000D__x000A__x000D__x000A_Cmdlets provide clear responses to errors, support additional messaging via -Debug and -Verbose, transaction testing via -Whatif and -Confirm, and in general try to be as "Powershell-y" as possible. + *PassPushPosh* is a PowerShell Module for interfacing with the Password Pusher secure password / string sharing application, primarily through pwpush.com. It supports creating, retrieving, and deleting anonymous and authenticated pushes and getting Push and Dashboard data for authenticated users._x000D__x000A__x000D__x000A_Cmdlets provide clear responses to errors, support additional messaging via -Debug and -Verbose, transaction testing via -Whatif and -Confirm, and in general try to be as "Powershell-y" as possible. Adam Burley AdamBurley Adam Burley, 2022 -
    2023-03-05T00:10:36-05:00
    +
    2024-07-24T01:39:52-04:00
    https://www.gnu.org/licenses/gpl-3.0.en.html @@ -42,19 +42,8 @@ - DscResource + Command - - - - - - Cmdlet - - - - Function - ConvertTo-PasswordPush @@ -70,16 +59,8 @@ - Workflow - - - - RoleCapability - - - - Command - + Function + ConvertTo-PasswordPush @@ -94,10 +75,29 @@ + + Cmdlet + + + + + + + RoleCapability + + + + DscResource + + + + Workflow + + - 0.2.3 - Bug fixing in New-Push. See PR #1_x000D__x000A_ 0.2.2 - Fixed issue with Get-Dashboard returning error referencing -JsonIsArray parameter_x000D__x000A_ General - Module is generally functional but has not been extensively bug-tested. Reccomend not implementing into a production environment at this time. + 0.3.0 - Remove route translations from URI segments for compatibility with PasswordPusher v1.42.0. See pglombardo/PasswordPusher/pull/2353_x000D__x000A_ 0.2.3 - Bug fixing in New-Push. See PR #1_x000D__x000A_ 0.2.2 - Fixed issue with Get-Dashboard returning error referencing -JsonIsArray parameter_x000D__x000A_ General - Module is generally functional but has not been extensively bug-tested. Reccomend not implementing into a production environment at this time. @@ -112,21 +112,21 @@ Adam Burley, 2022 - *PassPushPosh* is a PowerShell Module for interfacing with the Password Pusher secure password / string sharing application, primarily through pwpush.com. It supports creating, retrieving, and deleting anonymous and authenticated pushes, links in any supported language, and getting Push and Dashboard data for authenticated users._x000D__x000A__x000D__x000A_Cmdlets provide clear responses to errors, support additional messaging via -Debug and -Verbose, transaction testing via -Whatif and -Confirm, and in general try to be as "Powershell-y" as possible. + *PassPushPosh* is a PowerShell Module for interfacing with the Password Pusher secure password / string sharing application, primarily through pwpush.com. It supports creating, retrieving, and deleting anonymous and authenticated pushes and getting Push and Dashboard data for authenticated users._x000D__x000A__x000D__x000A_Cmdlets provide clear responses to errors, support additional messaging via -Debug and -Verbose, transaction testing via -Whatif and -Confirm, and in general try to be as "Powershell-y" as possible. False - 0.2.3 - Bug fixing in New-Push. See PR #1_x000D__x000A_ 0.2.2 - Fixed issue with Get-Dashboard returning error referencing -JsonIsArray parameter_x000D__x000A_ General - Module is generally functional but has not been extensively bug-tested. Reccomend not implementing into a production environment at this time. + 0.3.0 - Remove route translations from URI segments for compatibility with PasswordPusher v1.42.0. See pglombardo/PasswordPusher/pull/2353_x000D__x000A_ 0.2.3 - Bug fixing in New-Push. See PR #1_x000D__x000A_ 0.2.2 - Fixed issue with Get-Dashboard returning error referencing -JsonIsArray parameter_x000D__x000A_ General - Module is generally functional but has not been extensively bug-tested. Reccomend not implementing into a production environment at this time. True True - 44 - 76 - 15168 - 3/5/2023 12:10:36 AM -05:00 - 3/5/2023 12:10:36 AM -05:00 - 5/23/2024 10:57:25 AM -04:00 + 0 + 82 + 14562 + 7/24/2024 1:39:52 AM -04:00 + 7/24/2024 1:39:52 AM -04:00 + 7/24/2024 1:39:52 AM -04:00 PSEdition_Desktop PSEdition_Core Windows Linux MacOS Password PSModule PSFunction_ConvertTo-PasswordPush PSCommand_ConvertTo-PasswordPush PSFunction_Get-Dashboard PSCommand_Get-Dashboard PSFunction_Get-Push PSCommand_Get-Push PSFunction_Get-PushAuditLog PSCommand_Get-PushAuditLog PSFunction_Get-SecretLink PSCommand_Get-SecretLink PSFunction_Initialize-PassPushPosh PSCommand_Initialize-PassPushPosh PSFunction_New-PasswordPush PSCommand_New-PasswordPush PSFunction_New-Push PSCommand_New-Push PSFunction_Remove-Push PSCommand_Remove-Push PSIncludes_Function False - 2024-05-23T10:57:25Z - 0.2.3 + 2024-07-24T01:39:52Z + 0.3.0 Adam Burley false Module @@ -136,7 +136,7 @@ Burley.dev - C:\GitHub\CIPP Workspace\CIPP-API\Modules\PassPushPosh\0.2.3 + C:\GitHub\CIPP Workspace\CIPP-API\Modules\PassPushPosh\0.3.0
    diff --git a/Modules/PassPushPosh/0.2.3/PassPushPosh.psd1 b/Modules/PassPushPosh/0.3.0/PassPushPosh.psd1 similarity index 93% rename from Modules/PassPushPosh/0.2.3/PassPushPosh.psd1 rename to Modules/PassPushPosh/0.3.0/PassPushPosh.psd1 index 1c911df9d9de..0245ff599c4e 100644 --- a/Modules/PassPushPosh/0.2.3/PassPushPosh.psd1 +++ b/Modules/PassPushPosh/0.3.0/PassPushPosh.psd1 @@ -3,7 +3,7 @@ # # Generated by: Adam Burley # -# Generated on: 3/4/2023 +# Generated on: 7/23/2024 # @{ @@ -12,7 +12,7 @@ RootModule = 'PassPushPosh.psm1' # Version number of this module. -ModuleVersion = '0.2.3' +ModuleVersion = '0.3.0' # Supported PSEditions # CompatiblePSEditions = @() @@ -30,7 +30,7 @@ CompanyName = 'Burley.dev' Copyright = 'Adam Burley, 2022' # Description of the functionality provided by this module -Description = '*PassPushPosh* is a PowerShell Module for interfacing with the Password Pusher secure password / string sharing application, primarily through pwpush.com. It supports creating, retrieving, and deleting anonymous and authenticated pushes, links in any supported language, and getting Push and Dashboard data for authenticated users. +Description = '*PassPushPosh* is a PowerShell Module for interfacing with the Password Pusher secure password / string sharing application, primarily through pwpush.com. It supports creating, retrieving, and deleting anonymous and authenticated pushes and getting Push and Dashboard data for authenticated users. Cmdlets provide clear responses to errors, support additional messaging via -Debug and -Verbose, transaction testing via -Whatif and -Confirm, and in general try to be as "Powershell-y" as possible.' @@ -111,11 +111,11 @@ PrivateData = @{ # IconUri = '' # ReleaseNotes of this module - ReleaseNotes = @" + ReleaseNotes = ' + 0.3.0 - Remove route translations from URI segments for compatibility with PasswordPusher v1.42.0. See pglombardo/PasswordPusher/pull/2353 0.2.3 - Bug fixing in New-Push. See PR #1 0.2.2 - Fixed issue with Get-Dashboard returning error referencing -JsonIsArray parameter - General - Module is generally functional but has not been extensively bug-tested. Reccomend not implementing into a production environment at this time. -"@ + General - Module is generally functional but has not been extensively bug-tested. Reccomend not implementing into a production environment at this time.' # Prerelease string of this module # Prerelease = '' diff --git a/Modules/PassPushPosh/0.2.3/PassPushPosh.psm1 b/Modules/PassPushPosh/0.3.0/PassPushPosh.psm1 similarity index 90% rename from Modules/PassPushPosh/0.2.3/PassPushPosh.psm1 rename to Modules/PassPushPosh/0.3.0/PassPushPosh.psm1 index e159d6a80d3d..7f6363d3f47d 100644 --- a/Modules/PassPushPosh/0.2.3/PassPushPosh.psm1 +++ b/Modules/PassPushPosh/0.3.0/PassPushPosh.psm1 @@ -2,7 +2,6 @@ class PasswordPush { [string]$Payload [string] hidden $__UrlToken [string] hidden $__LinkBase - [string]$Language [bool]$RetrievalStep [bool]$IsExpired [bool]$IsDeleted @@ -48,23 +47,22 @@ class PasswordPush { $this.DateUpdated = $_j.updated_at $this.DateExpired = if ($_j.expired_on) { $_j.expired_on } else { [DateTime]0 } - $this.Language = $Global:PPPLanguage $this | Add-Member -Name 'UrlToken' -MemberType ScriptProperty -Value { return $this.__UrlToken } -SecondValue { $this.__UrlToken = $_ - $this.__LinkBase = "$Global:PPPBaseUrl/$($this.Language)/p/$($this.__UrlToken)" + $this.__LinkBase = "$Global:PPPBaseUrl/p/$($this.__UrlToken)" } $this.__UrlToken = $_j.url_token - $this.__LinkBase = "$Global:PPPBaseUrl/$($this.Language)/p/$($this.__UrlToken)" + $this.__LinkBase = "$Global:PPPBaseUrl/p/$($this.__UrlToken)" $this | Add-Member -Name 'LinkDirect' -MemberType ScriptProperty -Value { return $this.__LinkBase } -SecondValue { Write-Warning 'LinkDirect is a read-only calculated member.' - Write-Debug 'Link* members are calculated based on the Global BaseUrl and Language and Push Retrieval Step values' + Write-Debug 'Link* members are calculated based on the Global BaseUrl and Push Retrieval Step values' } $this | Add-Member -Name 'LinkRetrievalStep' -MemberType ScriptProperty -Value { return "$($this.__LinkBase)/r" } -SecondValue { Write-Warning 'LinkRetrievalStep is a read-only calculated member.' - Write-Debug 'Link* members are calculated based on the Global BaseUrl and Language and Push Retrieval Step values' + Write-Debug 'Link* members are calculated based on the Global BaseUrl and Push Retrieval Step values' } $this | Add-Member -Name 'Link' -MemberType ScriptProperty -Value { $_Link = if ($this.RetrievalStep) { $this.LinkRetrievalStep } else { $this.LinkDirect } @@ -72,7 +70,7 @@ class PasswordPush { return $_Link } -SecondValue { Write-Warning 'Link is a read-only calculated member.' - Write-Debug 'Link* members are calculated based on the Global BaseUrl and Language and Push Retrieval Step values' + Write-Debug 'Link* members are calculated based on the Global BaseUrl and Push Retrieval Step values' } } } @@ -84,7 +82,7 @@ function ConvertTo-PasswordPush { .DESCRIPTION Accepts a JSON string returned from the Password Pusher API and converts it to a [PasswordPush] object. - This allows calculated push retrieval URLs, language enumeration, and a more "PowerShell" experience. + This allows calculated push retrieval URLs and a more "PowerShell" experience. Generally you won't need to use this directly, it's automatically invoked within Register-Push and Request-Push. .INPUTS @@ -99,12 +97,12 @@ function ConvertTo-PasswordPush { PS> $myPush = Register-Push -Payload "This is my secret!" PS> $myPush.Link # The link parameter always presents the URL as it would appear with the same settings selected on pwpush.com - https://pwpush.com/en/p/rz6nryvl-d4 + https://pwpush.com/p/rz6nryvl-d4 .EXAMPLE # Manually invoking the API PS> $rawJson = Invoke-WebRequest ` - -Uri https://pwpush.com/en/p.json ` + -Uri https://pwpush.com/p.json ` -Method Post ` -Body '{"password": { "payload": "This is my secret!"}}' ` -ContentType 'application/json' | @@ -113,11 +111,10 @@ function ConvertTo-PasswordPush { {"expire_after_days":7,"expire_after_views":5,"expired":false,"url_token":"rz6nryvl-d4","created_at":"2022-11-18T14:16:29.821Z","updated_at":"2022-11-18T14:16:29.821Z","deleted":false,"deletable_by_viewer":true,"retrieval_step":false,"expired_on":null,"days_remaining":7,"views_remaining":5} PS> $rawJson | ConvertTo-PasswordPush UrlToken : rz6nryvl-d4 - LinkDirect : https://pwpush.com/en/p/rz6nryvl-d4 - LinkRetrievalStep : https://pwpush.com/en/p/rz6nryvl-d4/r - Link : https://pwpush.com/en/p/rz6nryvl-d4 + LinkDirect : https://pwpush.com/p/rz6nryvl-d4 + LinkRetrievalStep : https://pwpush.com/p/rz6nryvl-d4/r + Link : https://pwpush.com/p/rz6nryvl-d4 Payload : - Language : en RetrievalStep : False IsExpired : False IsDeleted : False @@ -462,16 +459,11 @@ function Get-SecretLink { .EXAMPLE Get-SecretLink -URLToken gzv65wiiuciy - https://pwpush.com/en/p/gzv65wiiuciy/r - - .EXAMPLE - # En France - PS > Get-SecretLink -URLToken gzv65wiiuciy -Language fr - https://pwpush.com/fr/p/gzv65wiiuciy/r + https://pwpush.com/p/gzv65wiiuciy/r .EXAMPLE Get-SecretLink -URLToken gzv65wiiuciy -Raw - { "url": "https://pwpush.com/es/p/0fkapnbo_pwp4gi8uy0/r" } + { "url": "https://pwpush.com/p/0fkapnbo_pwp4gi8uy0/r" } .LINK https://github.com/adamburley/PassPushPosh/blob/main/Docs/Get-SecretLink.md @@ -499,11 +491,6 @@ function Get-SecretLink { [ValidateLength(5, 256)] [string]$URLToken, - # Language for returned links. Defaults to system language, can be overridden here. - [Parameter()] - [string] - $Language = $Global:PPPLanguage, - # Return the raw response body from the API call [Parameter()] [switch] @@ -512,7 +499,6 @@ function Get-SecretLink { begin { Initialize-PassPushPosh -Verbose:$VerbosePreference -Debug:$DebugPreference } process { try { - if ($Language -ine 'en') { $uri += "?push_locale=$Language" } $iwrSplat = @{ 'Method' = 'Get' 'ContentType' = 'application/json' @@ -540,11 +526,10 @@ function Initialize-PassPushPosh { Initialize the PassPushPosh module .DESCRIPTION - Sets global variables to handle the server URL, headers (authentication), and language. + Sets global variables to handle the server URL and headers (authentication). Called automatically by module Functions if it is not called explicitly prior, so you don't actually need to call it unless you're going to use the authenticated API or alternate server, etc - Default parameters use the pwpush.com domain, anonymous authentication, and whatever language your computer - is set to. + Default parameters use the pwpush.com domain and anonymous authentication. .EXAMPLE # Initialize with default settings @@ -572,7 +557,6 @@ function Initialize-PassPushPosh { .NOTES All variables set by this function start with PPP. - PPPHeaders - - PPPLanguage - PPPUserAgent - PPPBaseUrl @@ -602,12 +586,6 @@ function Initialize-PassPushPosh { [ValidatePattern('^https?:\/\/[a-zA-Z0-9-_]+.[a-zA-Z0-9]+')] [string]$BaseUrl, - # Language to render resulting links in. Defaults to host OS language, or English if - # host OS language is not available - [Parameter()] - [string] - $Language, - # Set a specific user agent. Default user agent is a combination of the # module info, what your OS reports itself as, and a hash based on # your username + workstation or domain name. This way the UA can be @@ -642,40 +620,19 @@ function Initialize-PassPushPosh { } elseif ($Global:PPPHeaders) { # Remove if present - covers case where module is reinitialized from an authenticated to an anonymous session Remove-Variable -Scope Global -Name PPPHeaders -WhatIf:$false } - $availableLanguages = ('en','ca','cs','da','de','es','fi','fr','hu','it','nl','no','pl','pt-BR','sr','sv') - if (-not $Language) { - $Culture = Get-Culture - Write-Debug "Detected Culture: $($Culture.DisplayName)" - $matchedLanguage = $Culture.TwoLetterISOLanguageName, $Culture.IetfLanguageTag | - Foreach-Object { if ($_ -iin $availableLanguages) { $_ } } | - Select-Object -First 1 - if ($matchedLanguage) { - Write-Debug "Language is supported in Password Pusher." - $Language = $matchedLanguage - } else { Write-Warning "Detected language $($Culture.DisplayName) is not supported in PasswordPusher. Defaulting to English." } - } else { - if ($Language -iin $availableLanguages) { - Write-Debug "Language [$Language] is available in PasswordPusher." - } else - { - Write-Warning "Language [$Language] is not available in PasswordPusher. Defaulting to english." - $Language = 'en' - } - } if (-not $UserAgent) { $osVersion = [System.Environment]::OSVersion $userAtDomain = "{0}@{1}" -f [System.Environment]::UserName, [System.Environment]::UserDomainName $uAD64 = [Convert]::ToBase64String([System.Text.Encoding]::Unicode.GetBytes($userAtDomain)) Write-Debug "$userAtDomain transformed to $uAD64. First 20 characters $($uAD64.Substring(0,20))" - $UserAgent = "PassPushPosh/$((Get-Module -Name PassPushPosh).Version.ToString()) $Language $osVersion/$($uAD64.Substring(0,20))" + $UserAgent = "PassPushPosh/$((Get-Module -Name PassPushPosh).Version.ToString()) $osVersion/$($uAD64.Substring(0,20))" Write-Verbose "Generated user agent: $UserAgent" } else { Write-Verbose "Using specified user agent: $UserAgent" } Set-Variable -WhatIf:$false -Scope Global -Name PPPBaseURL -Value $BaseUrl.TrimEnd('/') - Set-Variable -WhatIf:$false -Scope Global -Name PPPLanguage -Value $Language Set-Variable -WhatIf:$false -Scope Global -Name PPPUserAgent -Value $UserAgent } } @@ -718,21 +675,21 @@ function New-Push { Create a new Push on the specified Password Pusher instance. The programmatic equivalent of going to pwpush.com and entering info. Returns [PasswordPush] object. Link member is a link created based on - 1-step setting and language specified, however both 1-step and direct links + 1-step setting however both 1-step and direct links are always provided at LinkRetrievalStep and LinkDirect. .EXAMPLE $myPush = New-Push "Here's my secret!" PS > $myPush | Select-Object Link, LinkRetrievalStep, LinkDirect - Link : https://pwpush.com/en/p/gzv65wiiuciy # Requested style - LinkRetrievalStep : https://pwpush.com/en/p/gzv65wiiuciy/r # 1-step - LinkDirect : https://pwpush.com/en/p/gzv65wiiuciy # Direct + Link : https://pwpush.com/p/gzv65wiiuciy # Requested style + LinkRetrievalStep : https://pwpush.com/p/gzv65wiiuciy/r # 1-step + LinkDirect : https://pwpush.com/p/gzv65wiiuciy # Direct .EXAMPLE "Super secret secret" | New-Push -RetrievalStep | Select-Object -ExpandProperty Link - https://pwpush.com/en/p/gzv65wiiuciy/r + https://pwpush.com/p/gzv65wiiuciy/r .EXAMPLE @@ -804,14 +761,6 @@ function New-Push { [switch] $RetrievalStep, - # Override Language. Useful if sending to someone who speaks a - # different language. You can change this after the fact by changing - # the URL by hand or by requesting a link for the given token from the - # preview helper endpoint ( See Request-SecretLink ) - [Parameter()] - [string] - $Language, - # Return the raw response body from the API call [Parameter()] [switch] @@ -857,8 +806,6 @@ function New-Push { $shouldString += ', with a direct link' $false } - if (-not $Language) { $Language = $Global:PPPLanguage } - $shouldString += ' in language "{0}"' -f $Language if ($VerbosePreference -eq [System.Management.Automation.ActionPreference]::Continue) { # Sanitize input so we're not logging or outputting the payload $vBody = $body.Clone() @@ -871,7 +818,7 @@ function New-Push { 'Method' = 'Post' 'ContentType' = 'application/json' 'Body' = ($body | ConvertTo-Json) - 'Uri' = "$Global:PPPBaseUrl/$Language/p.json" + 'Uri' = "$Global:PPPBaseUrl/p.json" 'UserAgent' = $Global:PPPUserAgent } if ($Global:PPPHeaders.'X-User-Token') { $iwrSplat['Headers'] = $Global:PPPHeaders } diff --git a/PublicScripts/function.json b/PublicScripts/function.json deleted file mode 100644 index 306b0c51e560..000000000000 --- a/PublicScripts/function.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "bindings": [ - { - "authLevel": "anonymous", - "type": "httpTrigger", - "direction": "in", - "name": "Request", - "methods": [ - "get", - "post" - ] - }, - { - "type": "http", - "direction": "out", - "name": "Response" - } - ] -} \ No newline at end of file diff --git a/PublicScripts/run.ps1 b/PublicScripts/run.ps1 deleted file mode 100644 index 0dca13ac3c97..000000000000 --- a/PublicScripts/run.ps1 +++ /dev/null @@ -1,38 +0,0 @@ -using namespace System.Net - -# Input bindings are passed in via param block. -param($Request, $TriggerMetadata) - -$APIName = $TriggerMetadata.FunctionName -Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug' - -# Write to the Azure Functions log stream. -Write-Host 'PowerShell HTTP trigger function processed a request.' - -$Table = Get-CippTable -TableName 'MaintenanceScripts' - -if (![string]::IsNullOrEmpty($Request.Query.Guid)) { - $Filter = "PartitionKey eq 'Maintenance' and RowKey eq '{0}'" -f $Request.Query.Guid - $ScriptRow = Get-CIPPAzDataTableEntity @Table -Filter $Filter - if ($ScriptRow) { - if ($ScriptRow.Timestamp.DateTime -lt (Get-Date).AddMinutes(-5)) { - $Body = 'Write-Host "Link expired"' - } - else { - $Body = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($ScriptRow.ScriptContent)) - } - Remove-AzDataTableEntity @Table -Entity $ScriptRow - } - else { - $Body = 'Write-Host "Invalid Script ID"' - } -} -else { - $Body = 'Write-Host "Script ID is required, generate a link from the Maintenance page"' -} - -# Associate values to output bindings by calling 'Push-OutputBinding'. -Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ - StatusCode = [HttpStatusCode]::OK - Body = $body - }) diff --git a/Scheduler_Billing/function.json b/Scheduler_Billing/function.json deleted file mode 100644 index d2e7f34face4..000000000000 --- a/Scheduler_Billing/function.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "bindings": [ - { - "name": "Timer", - "type": "timerTrigger", - "direction": "in", - "schedule": "0 0 0 * * *" - } - ] -} diff --git a/Scheduler_Billing/run.ps1 b/Scheduler_Billing/run.ps1 deleted file mode 100644 index 4c14defea81b..000000000000 --- a/Scheduler_Billing/run.ps1 +++ /dev/null @@ -1,22 +0,0 @@ -# Input bindings are passed in via param block. -param($Timer) - -# Get the current universal time in the default string format. -try { - Write-LogMessage -API "Scheduler_Billing" -tenant "none" -message "Starting billing processing." -sev Info - - $Table = Get-CIPPTable -TableName Extensionsconfig - $Configuration = (Get-CIPPAzDataTableEntity @Table).config | ConvertFrom-Json -Depth 10 - foreach ($ConfigItem in $Configuration.psobject.properties.name) { - switch ($ConfigItem) { - "Gradient" { - If ($Configuration.Gradient.enabled -and $Configuration.Gradient.BillingEnabled) { - New-GradientServiceSyncRun - } - } - } - } -} -catch { - Write-LogMessage -API "Scheduler_Billing" -tenant "none" -message "Could not start billing processing $($_.Exception.Message)" -sev Error -} \ No newline at end of file diff --git a/Scheduler_Extensions/function.json b/Scheduler_Extensions/function.json deleted file mode 100644 index c178a68af69f..000000000000 --- a/Scheduler_Extensions/function.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "bindings": [ - { - "name": "Timer", - "schedule": "0 0 */2 * * *", - "direction": "in", - "type": "timerTrigger" - }, - { - "name": "starter", - "type": "durableClient", - "direction": "in" - } - ] -} diff --git a/Scheduler_Extensions/run.ps1 b/Scheduler_Extensions/run.ps1 deleted file mode 100644 index 58e228ebbe1d..000000000000 --- a/Scheduler_Extensions/run.ps1 +++ /dev/null @@ -1,14 +0,0 @@ -using namespace System.Net - -param($Timer) - -$Table = Get-CIPPTable -TableName Extensionsconfig - -$Configuration = ((Get-AzDataTableEntity @Table).config | ConvertFrom-Json) - -Write-Host 'Started Scheduler for Extensions' - -# NinjaOne Extension -if ($Configuration.NinjaOne.Enabled -eq $True) { - Invoke-NinjaOneExtensionScheduler -} \ No newline at end of file diff --git a/Scheduler_GetQueue/function.json b/Scheduler_GetQueue/function.json deleted file mode 100644 index 56e4cf0cfda1..000000000000 --- a/Scheduler_GetQueue/function.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "bindings": [ - { - "name": "Timer", - "schedule": "0 0 * * * *", - "direction": "in", - "type": "timerTrigger" - }, - { - "name": "starter", - "type": "durableClient", - "direction": "in" - } - ] -} diff --git a/Scheduler_GetQueue/run.ps1 b/Scheduler_GetQueue/run.ps1 deleted file mode 100644 index 87d355d1476c..000000000000 --- a/Scheduler_GetQueue/run.ps1 +++ /dev/null @@ -1,52 +0,0 @@ -param($Timer) - -$Table = Get-CIPPTable -TableName SchedulerConfig -$Tenants = Get-CIPPAzDataTableEntity @Table | Where-Object -Property PartitionKey -NE 'WebhookAlert' - -$Tasks = foreach ($Tenant in $Tenants) { - if ($Tenant.tenant -ne 'AllTenants') { - [pscustomobject]@{ - Tenant = $Tenant.tenant - Tag = 'SingleTenant' - TenantID = $Tenant.tenantid - Type = $Tenant.type - RowKey = $Tenant.RowKey - } - } else { - Write-Information 'All tenants, doing them all' - $TenantList = Get-Tenants - foreach ($t in $TenantList) { - [pscustomobject]@{ - Tenant = $t.defaultDomainName - Tag = 'AllTenants' - TenantID = $t.customerId - Type = $Tenant.type - RowKey = $Tenant.RowKey - } - } - } -} - -$Queue = New-CippQueueEntry -Name 'Scheduler' -TotalTasks ($Tasks | Measure-Object).Count - -$Batch = foreach ($Task in $Tasks) { - [pscustomobject]@{ - Tenant = $task.tenant - Tenantid = $task.tenantid - Tag = $task.tag - Type = $task.type - QueueId = $Queue.RowKey - SchedulerRow = $Task.RowKey - QueueName = '{0} - {1}' -f $Task.Type, $task.tenant - FunctionName = "Scheduler$($Task.Type)" - } -} -$InputObject = [PSCustomObject]@{ - OrchestratorName = 'SchedulerOrchestrator' - Batch = @($Batch) - SkipLog = $true -} -#Write-Information ($InputObject | ConvertTo-Json) -$InstanceId = Start-NewOrchestration -FunctionName 'CIPPOrchestrator' -InputObject ($InputObject | ConvertTo-Json -Depth 5 -Compress) -Write-Information "Started orchestration with ID = '$InstanceId'" -#$Orchestrator = New-OrchestrationCheckStatusResponse -Request $Request -InstanceId $InstanceId \ No newline at end of file diff --git a/Scheduler_GetWebhooks/function.json b/Scheduler_GetWebhooks/function.json deleted file mode 100644 index f30537d11b34..000000000000 --- a/Scheduler_GetWebhooks/function.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "bindings": [ - { - "name": "Timer", - "schedule": "0 */15 * * * *", - "direction": "in", - "type": "timerTrigger" - }, - { - "name": "starter", - "type": "durableClient", - "direction": "in" - } - ] -} diff --git a/Scheduler_GetWebhooks/run.ps1 b/Scheduler_GetWebhooks/run.ps1 deleted file mode 100644 index 3eb4aaae42fd..000000000000 --- a/Scheduler_GetWebhooks/run.ps1 +++ /dev/null @@ -1,26 +0,0 @@ -param($Timer) - -try { - - $webhookTable = Get-CIPPTable -tablename webhookTable - $Webhooks = Get-CIPPAzDataTableEntity @webhookTable -Property RowKey - if (($Webhooks | Measure-Object).Count -eq 0) { - Write-Host 'No webhook subscriptions found. Exiting.' - return - } - Write-Host 'Processing webhooks' - - $InputObject = [PSCustomObject]@{ - OrchestratorName = 'WebhookOrchestrator' - QueueFunction = @{ - FunctionName = 'GetPendingWebhooks' - } - SkipLog = $true - } - Write-Host ($InputObject | ConvertTo-Json -Depth 5) - $InstanceId = Start-NewOrchestration -FunctionName 'CIPPOrchestrator' -InputObject ($InputObject | ConvertTo-Json -Depth 5 -Compress) - Write-Host "Started orchestration with ID = '$InstanceId'" -} catch { - Write-LogMessage -API 'Webhooks' -message 'Error processing webhooks' -sev Error -LogData (Get-CippException -Exception $_) - Write-Host ( 'Webhook error {0} line {1} - {2}' -f $_.InvocationInfo.ScriptName, $_.InvocationInfo.ScriptLineNumber, $_.Exception.Message) -} diff --git a/Scheduler_PollAuditLogs/run.ps1 b/Scheduler_PollAuditLogs/run.ps1 deleted file mode 100644 index 828cf3327c5e..000000000000 --- a/Scheduler_PollAuditLogs/run.ps1 +++ /dev/null @@ -1,34 +0,0 @@ -param($Timer) - -try { - $webhookTable = Get-CIPPTable -tablename webhookTable - $Webhooks = Get-CIPPAzDataTableEntity @webhookTable -Filter "Version eq '3'" | Where-Object { $_.Resource -match '^Audit' } - if (($Webhooks | Measure-Object).Count -eq 0) { - Write-Host 'No webhook subscriptions found. Exiting.' - return - } - - <#try { - $RunningQueue = Invoke-ListCippQueue | Where-Object { $_.Reference -eq 'AuditLogCollection' -and $_.Status -ne 'Completed' -and $_.Status -ne 'Failed' -and $_.Timestamp.DateTime.ToLocalTime() -lt (Get-Date).AddMinutes(-10) } - if ($RunningQueue) { - Write-Host 'Audit log collection already running' - return - } - } catch {}#> - - $StartTime = (Get-Date).AddMinutes(-30) - $EndTime = Get-Date - - $Queue = New-CippQueueEntry -Name 'Audit Log Collection' -Reference 'AuditLogCollection' -TotalTasks ($Webhooks | Sort-Object -Property PartitionKey -Unique | Measure-Object).Count - $Batch = $Webhooks | Sort-Object -Property PartitionKey -Unique | Select-Object @{Name = 'TenantFilter'; Expression = { $_.PartitionKey } }, @{Name = 'QueueId'; Expression = { $Queue.RowKey } }, @{Name = 'FunctionName'; Expression = { 'AuditLogTenant' } }, @{Name = 'StartTime'; Expression = { $StartTime } }, @{Name = 'EndTime'; Expression = { $EndTime } } - $InputObject = [PSCustomObject]@{ - OrchestratorName = 'AuditLogs' - Batch = @($Batch) - SkipLog = $true - } - $InstanceId = Start-NewOrchestration -FunctionName 'CIPPOrchestrator' -InputObject ($InputObject | ConvertTo-Json -Depth 5 -Compress) - Write-Host "Started orchestration with ID = '$InstanceId'" -} catch { - Write-LogMessage -API 'Webhooks' -message 'Error processing webhooks' -sev Error -LogData (Get-CippException -Exception $_) - Write-Host ( 'Webhook error {0} line {1} - {2}' -f $_.InvocationInfo.ScriptName, $_.InvocationInfo.ScriptLineNumber, $_.Exception.Message) -} diff --git a/Scheduler_RenewGraphSubscriptions/function.json b/Scheduler_RenewGraphSubscriptions/function.json deleted file mode 100644 index 114e4c0f7aab..000000000000 --- a/Scheduler_RenewGraphSubscriptions/function.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "bindings": [ - { - "name": "Timer", - "type": "timerTrigger", - "direction": "in", - "schedule": "0 10 * * * *" - } - ] -} diff --git a/Scheduler_RenewGraphSubscriptions/run.ps1 b/Scheduler_RenewGraphSubscriptions/run.ps1 deleted file mode 100644 index b688e87e8b17..000000000000 --- a/Scheduler_RenewGraphSubscriptions/run.ps1 +++ /dev/null @@ -1,10 +0,0 @@ -# Input bindings are passed in via param block. -param($Timer) - -# Get the current universal time in the default string format. -try { - Write-LogMessage -API "Scheduler_RenewGraphSubscriptions" -tenant "none" -message "Starting Graph Subscription Renewal" -sev Info - Invoke-CippGraphWebhookRenewal -} catch { - Write-LogMessage -API "Scheduler_RenewGraphSubscriptions" -tenant "none" -message "Failed to renew graph subscriptions" -sev Info -} \ No newline at end of file diff --git a/Scheduler_Standards/function.json b/Scheduler_Standards/function.json deleted file mode 100644 index e071591357a0..000000000000 --- a/Scheduler_Standards/function.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "bindings": [ - { - "name": "Timer", - "schedule": "0 0 */4 * * *", - "direction": "in", - "type": "timerTrigger" - }, - { - "name": "starter", - "type": "durableClient", - "direction": "in" - } - ] -} diff --git a/Scheduler_Standards/run.ps1 b/Scheduler_Standards/run.ps1 deleted file mode 100644 index 7466a60f5338..000000000000 --- a/Scheduler_Standards/run.ps1 +++ /dev/null @@ -1,6 +0,0 @@ -using namespace System.Net - -param($Timer) -Write-LogMessage -API 'Standards' -message 'Starting Standards Schedule' -sev Info -Invoke-CIPPStandardsRun -tenantfilter 'allTenants' -Write-LogMessage -API 'Standards' -message 'Launched all standard jobs' -sev Info \ No newline at end of file diff --git a/Scheduler_UserTasks/function.json b/Scheduler_UserTasks/function.json deleted file mode 100644 index 017acb166958..000000000000 --- a/Scheduler_UserTasks/function.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "bindings": [ - { - "name": "Timer", - "schedule": "0 */5 * * * *", - "direction": "in", - "type": "timerTrigger" - }, - { - "name": "starter", - "type": "durableClient", - "direction": "in" - } - ] -} diff --git a/Scheduler_UserTasks/run.ps1 b/Scheduler_UserTasks/run.ps1 deleted file mode 100644 index b5d5cdd874ca..000000000000 --- a/Scheduler_UserTasks/run.ps1 +++ /dev/null @@ -1,69 +0,0 @@ -param($Timer) - -$Table = Get-CippTable -tablename 'ScheduledTasks' -$Filter = "TaskState eq 'Planned' or TaskState eq 'Failed - Planned'" -$tasks = Get-CIPPAzDataTableEntity @Table -Filter $Filter -$Batch = [System.Collections.Generic.List[object]]::new() -foreach ($task in $tasks) { - $tenant = $task.Tenant - $currentUnixTime = [int64](([datetime]::UtcNow) - (Get-Date '1/1/1970')).TotalSeconds - if ($currentUnixTime -ge $task.ScheduledTime) { - try { - $null = Update-AzDataTableEntity @Table -Entity @{ - PartitionKey = $task.PartitionKey - RowKey = $task.RowKey - ExecutedTime = "$currentUnixTime" - TaskState = 'Running' - } - $task.Parameters = $task.Parameters | ConvertFrom-Json -AsHashtable - $task.AdditionalProperties = $task.AdditionalProperties | ConvertFrom-Json - - if (!$task.Parameters) { $task.Parameters = @{} } - $ScheduledCommand = [pscustomobject]@{ - Command = $task.Command - Parameters = $task.Parameters - TaskInfo = $task - FunctionName = 'ExecScheduledCommand' - } - - if ($task.Tenant -eq 'AllTenants') { - $AllTenantCommands = foreach ($Tenant in Get-Tenants) { - $NewParams = $task.Parameters.Clone() - $NewParams.TenantFilter = $Tenant.defaultDomainName - [pscustomobject]@{ - Command = $task.Command - Parameters = $NewParams - TaskInfo = $task - FunctionName = 'ExecScheduledCommand' - } - } - $Batch.AddRange($AllTenantCommands) - } else { - $ScheduledCommand.Parameters['TenantFilter'] = $task.Tenant - $Batch.Add($ScheduledCommand) - } - } catch { - $errorMessage = $_.Exception.Message - - $null = Update-AzDataTableEntity @Table -Entity @{ - PartitionKey = $task.PartitionKey - RowKey = $task.RowKey - Results = "$errorMessage" - ExecutedTime = "$currentUnixTime" - TaskState = 'Failed' - } - Write-LogMessage -API 'Scheduler_UserTasks' -tenant $tenant -message "Failed to execute task $($task.Name): $errorMessage" -sev Error - } - } -} -if (($Batch | Measure-Object).Count -gt 0) { - $InputObject = [PSCustomObject]@{ - OrchestratorName = 'UserTaskOrchestrator' - Batch = @($Batch) - SkipLog = $true - } - #Write-Host ($InputObject | ConvertTo-Json -Depth 10) - $InstanceId = Start-NewOrchestration -FunctionName 'CIPPOrchestrator' -InputObject ($InputObject | ConvertTo-Json -Depth 10 -Compress) - - Write-Host "Started orchestration with ID = '$InstanceId'" -} \ No newline at end of file diff --git a/SendStats/function.json b/SendStats/function.json deleted file mode 100644 index b47dd4f6ee24..000000000000 --- a/SendStats/function.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "bindings": [ - { - "name": "Timer", - "type": "timerTrigger", - "direction": "in", - "schedule": "0 0 0 * * *" - } - ] -} \ No newline at end of file diff --git a/SendStats/run.ps1 b/SendStats/run.ps1 deleted file mode 100644 index 2e30b113ab55..000000000000 --- a/SendStats/run.ps1 +++ /dev/null @@ -1,23 +0,0 @@ -# Input bindings are passed in via param block. -param($Timer) - -#These stats are sent to a central server to help us understand how many tenants are using the product, and how many are using the latest version, this information allows the CIPP team to make decisions about what features to support, and what features to deprecate. -#We will never ship any data that is related to your instance, all we care about is the number of tenants, and the version of the API you are running, and if you completed setup. - -if ($ENV:applicationid -ne 'LongApplicationID') { - $SetupComplete = $true -} -$TenantCount = (Get-Tenants).count - -Set-Location (Get-Item $PSScriptRoot).Parent.FullName -$APIVersion = Get-Content 'version_latest.txt' | Out-String - -$SendingObject = [PSCustomObject]@{ - rgid = $env:WEBSITE_SITE_NAME - SetupComplete = $SetupComplete - RunningVersionAPI = $APIVersion.trim() - CountOfTotalTenants = $tenantcount - uid = $env:TenantID -} | ConvertTo-Json - -Invoke-RestMethod -Uri 'https://management.cipp.app/api/stats' -Method POST -Body $SendingObject -ContentType 'application/json' \ No newline at end of file diff --git a/Tools/Clear-DevEnvironment.ps1 b/Tools/Clear-DevEnvironment.ps1 index a96f369dc04b..b0fb71e4dff0 100644 --- a/Tools/Clear-DevEnvironment.ps1 +++ b/Tools/Clear-DevEnvironment.ps1 @@ -1,4 +1,4 @@ -$EnvironmentVariables = @('TenantId', 'ApplicationId', 'ApplicationSecret', 'RefreshToken', 'AzureWebJobsStorage', 'PartnerTenantAvailable', 'SetFromProfile') +$EnvironmentVariables = @('TenantID', 'ApplicationID', 'ApplicationSecret', 'RefreshToken', 'AzureWebJobsStorage', 'PartnerTenantAvailable', 'SetFromProfile') ForEach ($Key in $EnvironmentVariables) { [Environment]::SetEnvironmentVariable($Key, $null) -} \ No newline at end of file +} diff --git a/Tools/Initialize-DevEnvironment.ps1 b/Tools/Initialize-DevEnvironment.ps1 index 8612e74156cf..4e72d4c9458b 100644 --- a/Tools/Initialize-DevEnvironment.ps1 +++ b/Tools/Initialize-DevEnvironment.ps1 @@ -1,17 +1,17 @@ $CippRoot = (Get-Item $PSScriptRoot).Parent.FullName ### Read the local.settings.json file and convert to a PowerShell object. -$CIPPSettings = Get-Content "$CippRoot\local.settings.json" | ConvertFrom-Json | Select-Object -ExpandProperty Values +$CIPPSettings = Get-Content (Join-Path $CippRoot "local.settings.json") | ConvertFrom-Json | Select-Object -ExpandProperty Values ### Loop through the settings and set environment variables for each. -$ValidKeys = @('TenantId', 'ApplicationId', 'ApplicationSecret', 'RefreshToken', 'AzureWebJobsStorage', 'PartnerTenantAvailable', 'SetFromProfile') +$ValidKeys = @('TenantID', 'ApplicationID', 'ApplicationSecret', 'RefreshToken', 'AzureWebJobsStorage', 'PartnerTenantAvailable', 'SetFromProfile') ForEach ($Key in $CIPPSettings.PSObject.Properties.Name) { if ($ValidKeys -Contains $Key) { [Environment]::SetEnvironmentVariable($Key, $CippSettings.$Key) } } -Import-Module "$CippRoot\Modules\AzBobbyTables" -Import-Module "$CippRoot\Modules\DNSHealth" -Import-Module "$CippRoot\Modules\CippCore" -Import-Module "$CippRoot\Modules\CippExtensions" +Import-Module ( Join-Path $CippRoot "Modules\AzBobbyTables" ) +Import-Module ( Join-Path $CippRoot "Modules\DNSHealth" ) +Import-Module ( Join-Path $CippRoot "Modules\CIPPCore" ) +Import-Module ( Join-Path $CippRoot "Modules\CippExtensions" ) Get-CIPPAuthentication diff --git a/Tools/Update-LicenseSKUFiles.ps1 b/Tools/Update-LicenseSKUFiles.ps1 new file mode 100644 index 000000000000..5d8e49a766d9 --- /dev/null +++ b/Tools/Update-LicenseSKUFiles.ps1 @@ -0,0 +1,53 @@ +<# +.SYNOPSIS +Updates license SKU files and JSON files in the CIPP project. + +.DESCRIPTION +This script downloads the latest license SKU CSV file from Microsoft and updates the ConversionTable.csv files with the latest license SKU data. It also updates the license SKU data in the CIPP repo JSON files. + +.PARAMETER None + +.EXAMPLE +Update-LicenseSKUFiles.ps1 + +This example runs the script to update the license SKU files and JSON files in the CIPP project. + +.NOTES +Date: 2024-09-02 +Version: 1.0 - Initial script + +Needs to be run from the "Tools" folder in the CIPP-API project. +#> + + +# TODO: Convert this to a GitHub Action + +# Download the latest license SKU CSV file from Microsoft. Saved to the TEMP folder to circumvent a bug where "???" is added to the first property name. +$licenseCsvURL = 'https://download.microsoft.com/download/e/3/e/e3e9faf2-f28b-490a-9ada-c6089a1fc5b0/Product%20names%20and%20service%20plan%20identifiers%20for%20licensing.csv' +$TempLicenseDataFile = "$ENV:TEMP\LicenseSKUs.csv" +Invoke-WebRequest -Uri $licenseCsvURL -OutFile $TempLicenseDataFile +$LicenseDataFile = Get-Item -Path $TempLicenseDataFile +$LicenseData = Import-Csv -Path $LicenseDataFile.FullName -Encoding utf8BOM +# Update ConversionTable.csv with the latest license SKU data +Set-Location $PSScriptRoot +Set-Location .. +$ConversionTableFiles = Get-ChildItem -Path *ConversionTable.csv -Recurse -File + +foreach ($File in $ConversionTableFiles) { + $LicenseData | Export-Csv -Path $File.FullName -NoTypeInformation -Force -Encoding utf8 -UseQuotes Never +} + + +# Update the license SKU data in the CIPP repo JSON files +Set-Location $PSScriptRoot +Set-Location .. +Set-Location .. +Set-Location CIPP\src\data +$LicenseJSONFiles = Get-ChildItem -Path *M365Licenses.json -File + +foreach ($File in $LicenseJSONFiles) { + ConvertTo-Json -InputObject $LicenseData -Depth 100 | Set-Content -Path $File.FullName -Encoding utf8 +} + +# Clean up the temporary license SKU CSV file +Remove-Item -Path $TempLicenseDataFile -Force diff --git a/Tools/Update-StandardsComments.ps1 b/Tools/Update-StandardsComments.ps1 index a4f6c6a0f082..c47bb4d4a6cb 100644 --- a/Tools/Update-StandardsComments.ps1 +++ b/Tools/Update-StandardsComments.ps1 @@ -1,110 +1,134 @@ -<# -.SYNOPSIS - This script updates the comment block in the CIPP standard files. - -.DESCRIPTION - The script reads the standards.json file and updates the comment block in the corresponding CIPP standard files. - It adds or modifies the comment block based on the properties defined in the standards.json file. - This is made to be able to generate the help documentation for the CIPP standards automatically. - -.INPUTS - None. You cannot pipe objects to this script. - -.OUTPUTS - None. The script modifies the CIPP standard files directly. - -.EXAMPLE - Update-StandardsComments.ps1 - - This example runs the script to update the comment block in the CIPP standard files. - - -#> -param ( - [switch]$WhatIf -) - -# Find the paths to the standards.json file based on the current script path -$StandardsJSONPath = Split-Path (Split-Path $PSScriptRoot) -$StandardsJSONPath = Resolve-Path "$StandardsJSONPath\*\src\data\standards.json" -$StandardsInfo = Get-Content -Path $StandardsJSONPath | ConvertFrom-Json -Depth 10 - -foreach ($Standard in $StandardsInfo) { - - # Calculate the standards file name and path - $StandardFileName = $Standard.name -replace 'standards.', 'Invoke-CIPPStandard' - $StandardsFilePath = Resolve-Path "$(Split-Path $PSScriptRoot)\Modules\CIPPCore\Public\Standards\$StandardFileName.ps1" - if (-not (Test-Path $StandardsFilePath)) { - Write-Host "No file found for standard $($Standard.name)" -ForegroundColor Yellow - continue - } - $Content = (Get-Content -Path $StandardsFilePath -Raw).TrimEnd() - - # Remove random newlines before the param block - $regexPattern = '#>\s*\r?\n\s*\r?\n\s*param' - $Content = $Content -replace $regexPattern, "#>`n`n param" - - # Regex to match the existing comment block - $Regex = '<#(.|\n)*?\.FUNCTIONALITY\s*Internal(.|\n)*?#>' - - if ($Content -match $Regex) { - $NewComment = [System.Collections.Generic.List[string]]::new() - # Add the initial scatic comments - $NewComment.Add("<#`r`n") - $NewComment.Add(" .FUNCTIONALITY`r`n") - $NewComment.Add(" Internal`r`n") - $NewComment.Add(" .COMPONENT`r`n") - $NewComment.Add(" (APIName) $($Standard.name -replace 'standards.', '')`r`n") - $NewComment.Add(" .SYNOPSIS`r`n") - $NewComment.Add(" (Label) $($Standard.label.ToString())`r`n") - $NewComment.Add(" .DESCRIPTION`r`n") - if ([string]::IsNullOrWhiteSpace($Standard.docsDescription)) { - $NewComment.Add(" (Helptext) $($Standard.helpText.ToString())`r`n") - $NewComment.Add(" (DocsDescription) $($Standard.helpText.ToString())`r`n") - } else { - $NewComment.Add(" (Helptext) $($Standard.helpText.ToString())`r`n") - $NewComment.Add(" (DocsDescription) $($Standard.docsDescription.ToString())`r`n") - } - $NewComment.Add(" .NOTES`r`n") - - # Loop through the rest of the properties of the standard and add them to the NOTES field - foreach ($Property in $Standard.PSObject.Properties) { - switch ($Property.Name) { - 'name' { continue } - 'impactColour' { continue } - 'docsDescription' { continue } - 'helpText' { continue } - 'label' { continue } - Default { - $NewComment.Add(" $($Property.Name.ToUpper())`r`n") - if ($Property.Value -is [System.Object[]]) { - foreach ($Value in $Property.Value) { - $NewComment.Add(" $(ConvertTo-Json -InputObject $Value -Depth 5 -Compress)`r`n") - } - continue - } - $NewComment.Add(" $($Property.Value.ToString())`r`n") - } - } - - } - - # Add header about how to update the comment block with this script - $NewComment.Add(" UPDATECOMMENTBLOCK`r`n") - $NewComment.Add(" Run the Tools\Update-StandardsComments.ps1 script to update this comment block`r`n") - # -Online help link - $NewComment.Add(" .LINK`r`n") - $NewComment.Add(" https://docs.cipp.app/user-documentation/tenant/standards/edit-standards`r`n") - $NewComment.Add(' #>') - - # Write the new comment block to the file - if ($WhatIf.IsPresent) { - Write-Host "Would update $StandardsFilePath with the following comment block:" - $NewComment - } else { - $Content -replace $Regex, $NewComment | Set-Content -Path $StandardsFilePath -Encoding utf8 - } - } else { - Write-Host "No comment block found in $StandardsFilePath" -ForegroundColor Yellow - } -} +<# +.SYNOPSIS + This script updates the comment block in the CIPP standard files. + +.DESCRIPTION + The script reads the standards.json file and updates the comment block in the corresponding CIPP standard files. + It adds or modifies the comment block based on the properties defined in the standards.json file. + This is made to be able to generate the help documentation for the CIPP standards automatically. + +.INPUTS + None. You cannot pipe objects to this script. + +.OUTPUTS + None. The script modifies the CIPP standard files directly. + +.NOTES + .FUNCTIONALITY Internal needs to be present in the comment block for the script, otherwise it will not be updated. + This is done as a safety measure to avoid updating the wrong files. + +.EXAMPLE + Update-StandardsComments.ps1 + + This example runs the script to update the comment block in the CIPP standard files. + +#> +param ( + [switch]$WhatIf +) + + +function EscapeMarkdown([object]$InputObject) { + # https://github.com/microsoft/FormatPowerShellToMarkdownTable/blob/master/src/FormatMarkdownTable/FormatMarkdownTable.psm1 + $Temp = '' + + if ($null -eq $InputObject) { + return '' + } elseif ($InputObject.GetType().BaseType -eq [System.Array]) { + $Temp = '{' + [System.String]::Join(', ', $InputObject) + '}' + } elseif ($InputObject.GetType() -eq [System.Collections.ArrayList] -or $InputObject.GetType().ToString().StartsWith('System.Collections.Generic.List')) { + $Temp = '{' + [System.String]::Join(', ', $InputObject.ToArray()) + '}' + } elseif (Get-Member -InputObject $InputObject -Name ToString -MemberType Method) { + $Temp = $InputObject.ToString() + } else { + $Temp = '' + } + + return $Temp.Replace('\', '\\').Replace('*', '\*').Replace('_', '\_').Replace("``", "\``").Replace('$', '\$').Replace('|', '\|').Replace('<', '\<').Replace('>', '\>').Replace([System.Environment]::NewLine, '
    ') +} + + +# Find the paths to the standards.json file based on the current script path +$StandardsJSONPath = Split-Path (Split-Path $PSScriptRoot) +$StandardsJSONPath = Resolve-Path "$StandardsJSONPath\*\src\data\standards.json" +$StandardsInfo = Get-Content -Path $StandardsJSONPath | ConvertFrom-Json -Depth 10 + +foreach ($Standard in $StandardsInfo) { + + # Calculate the standards file name and path + $StandardFileName = $Standard.name -replace 'standards.', 'Invoke-CIPPStandard' + $StandardsFilePath = Resolve-Path "$(Split-Path $PSScriptRoot)\Modules\CIPPCore\Public\Standards\$StandardFileName.ps1" + if (-not (Test-Path $StandardsFilePath)) { + Write-Host "No file found for standard $($Standard.name)" -ForegroundColor Yellow + continue + } + $Content = (Get-Content -Path $StandardsFilePath -Raw).TrimEnd() + "`r`n" + + # Remove random newlines before the param block + $regexPattern = '#>\s*\r?\n\s*\r?\n\s*param' + $Content = $Content -replace $regexPattern, "#>`r`n`r`n param" + + # Regex to match the existing comment block + $Regex = '<#(.|\n)*?\.FUNCTIONALITY\s*Internal(.|\n)*?#>' + + if ($Content -match $Regex) { + $NewComment = [System.Collections.Generic.List[string]]::new() + # Add the initial scatic comments + $NewComment.Add("<#`r`n") + $NewComment.Add(" .FUNCTIONALITY`r`n") + $NewComment.Add(" Internal`r`n") + $NewComment.Add(" .COMPONENT`r`n") + $NewComment.Add(" (APIName) $($Standard.name -replace 'standards.', '')`r`n") + $NewComment.Add(" .SYNOPSIS`r`n") + $NewComment.Add(" (Label) $($Standard.label.ToString())`r`n") + $NewComment.Add(" .DESCRIPTION`r`n") + if ([string]::IsNullOrWhiteSpace($Standard.docsDescription)) { + $NewComment.Add(" (Helptext) $($Standard.helpText.ToString())`r`n") + $NewComment.Add(" (DocsDescription) $(EscapeMarkdown($Standard.helpText.ToString()))`r`n") + } else { + $NewComment.Add(" (Helptext) $($Standard.helpText.ToString())`r`n") + $NewComment.Add(" (DocsDescription) $(EscapeMarkdown($Standard.docsDescription.ToString()))`r`n") + } + $NewComment.Add(" .NOTES`r`n") + + # Loop through the rest of the properties of the standard and add them to the NOTES field + foreach ($Property in $Standard.PSObject.Properties) { + switch ($Property.Name) { + 'name' { continue } + 'impactColour' { continue } + 'docsDescription' { continue } + 'helpText' { continue } + 'label' { continue } + Default { + $NewComment.Add(" $($Property.Name.ToUpper())`r`n") + if ($Property.Value -is [System.Object[]]) { + foreach ($Value in $Property.Value) { + $NewComment.Add(" $(ConvertTo-Json -InputObject $Value -Depth 5 -Compress)`r`n") + } + continue + } + $NewComment.Add(" $(EscapeMarkdown($Property.Value.ToString()))`r`n") + } + } + + } + + # Add header about how to update the comment block with this script + $NewComment.Add(" UPDATECOMMENTBLOCK`r`n") + $NewComment.Add(" Run the Tools\Update-StandardsComments.ps1 script to update this comment block`r`n") + # -Online help link + $NewComment.Add(" .LINK`r`n") + $NewComment.Add(" https://docs.cipp.app/user-documentation/tenant/standards/edit-standards`r`n") + $NewComment.Add(' #>') + + # Write the new comment block to the file + if ($WhatIf.IsPresent) { + Write-Host "Would update $StandardsFilePath with the following comment block:" + $NewComment + } else { + $Content -replace $Regex, $NewComment | Set-Content -Path $StandardsFilePath -Encoding utf8 -NoNewline + } + } else { + Write-Host "No comment block found in $StandardsFilePath" -ForegroundColor Yellow + } +} diff --git a/UpdatePermissions/function.json b/UpdatePermissions/function.json deleted file mode 100644 index 7e97fe568d29..000000000000 --- a/UpdatePermissions/function.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "bindings": [ - { - "name": "Timer", - "type": "timerTrigger", - "direction": "in", - "schedule": "0 0 0 * * *" - }, - { - "name": "starter", - "type": "durableClient", - "direction": "in" - } - ] -} diff --git a/UpdatePermissions/run.ps1 b/UpdatePermissions/run.ps1 deleted file mode 100644 index 00ea3b7e9ad2..000000000000 --- a/UpdatePermissions/run.ps1 +++ /dev/null @@ -1,17 +0,0 @@ -# Input bindings are passed in via param block. -param($Timer) - -try { - $Tenants = Get-Tenants -IncludeAll -TriggerRefresh | Where-Object { $_.customerId -ne $env:TenantId -and $_.Excluded -eq $false } - $Queue = New-CippQueueEntry -Name 'Update Permissions' -TotalTasks ($Tenants | Measure-Object).Count - $TenantBatch = $Tenants | Select-Object defaultDomainName, customerId, displayName, @{n = 'FunctionName'; exp = { 'UpdatePermissionsQueue' } }, @{n = 'QueueId'; exp = { $Queue.RowKey } } - - if (($Tenants | Measure-Object).Count -gt 0) { - $InputObject = [PSCustomObject]@{ - OrchestratorName = 'UpdatePermissionsOrchestrator' - Batch = @($TenantBatch) - } - $InstanceId = Start-NewOrchestration -FunctionName 'CIPPOrchestrator' -InputObject ($InputObject | ConvertTo-Json -Depth 5 -Compress) - Write-Host "Started permissions orchestration with ID = '$InstanceId'" - } -} catch {} \ No newline at end of file diff --git a/UpdateTokens/function.json b/UpdateTokens/function.json deleted file mode 100644 index 828a2484ee7d..000000000000 --- a/UpdateTokens/function.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "bindings": [ - { - "name": "Timer", - "type": "timerTrigger", - "direction": "in", - "schedule": "0 0 0 * * 0" - } - ] -} \ No newline at end of file diff --git a/UpdateTokens/run.ps1 b/UpdateTokens/run.ps1 deleted file mode 100644 index ed20d6a67fbf..000000000000 --- a/UpdateTokens/run.ps1 +++ /dev/null @@ -1,33 +0,0 @@ -# Input bindings are passed in via param block. -param($Timer) - -# Get the current universal time in the default string format. -$currentUTCtime = (Get-Date).ToUniversalTime() - -$Refreshtoken = (Get-GraphToken -ReturnRefresh $true).Refresh_token - -if ($env:AzureWebJobsStorage -eq 'UseDevelopmentStorage=true') { - $Table = Get-CIPPTable -tablename 'DevSecrets' - $Secret = Get-CIPPAzDataTableEntity @Table -Filter "PartitionKey eq 'Secret' and RowKey eq 'Secret'" - if ($Secret) { - $Secret.RefreshToken = $Refreshtoken - Add-AzDataTableEntity @Table -Entity $Secret - } else { - Write-LogMessage -message 'Could not update refresh token. Will try again in 7 days.' -sev 'CRITICAL' - } -} else { - if ($env:MSI_SECRET) { - Disable-AzContextAutosave -Scope Process | Out-Null - $AzSession = Connect-AzAccount -Identity - } - $KV = $ENV:WEBSITE_DEPLOYMENT_ID - if ($Refreshtoken) { - Set-AzKeyVaultSecret -VaultName $kv -Name 'RefreshToken' -SecretValue (ConvertTo-SecureString -String $Refreshtoken -AsPlainText -Force) - } else { - Write-LogMessage -message 'Could not update refresh token. Will try again in 7 days.' -sev 'CRITICAL' - } -} - -# Write an information log with the current time. -Write-Host "PowerShell timer trigger function ran! TIME: $currentUTCtime" - diff --git a/Z_CIPPQueueTrigger/function.json b/Z_CIPPQueueTrigger/function.json deleted file mode 100644 index 4d818463ea75..000000000000 --- a/Z_CIPPQueueTrigger/function.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "scriptFile": "../Modules/CippEntryPoints/CippEntryPoints.psm1", - "entryPoint": "Receive-CippQueueTrigger", - "bindings": [ - { - "name": "QueueItem", - "type": "queueTrigger", - "direction": "in", - "queueName": "CIPPGenericQueue" - }, - { - "type": "queue", - "direction": "out", - "name": "QueueItemOut", - "queueName": "CIPPGenericQueue" - } - ] -} diff --git a/host.json b/host.json index ca55c68073d2..4e9888399363 100644 --- a/host.json +++ b/host.json @@ -9,9 +9,6 @@ }, "functionTimeout": "00:10:00", "extensions": { - "queues": { - "maxDequeueCount": 1 - }, "durableTask": { "maxConcurrentActivityFunctions": 1, "maxConcurrentOrchestratorFunctions": 1 diff --git a/profile.ps1 b/profile.ps1 index f72dcd0c4c7d..173bc71ffb8c 100644 --- a/profile.ps1 +++ b/profile.ps1 @@ -13,7 +13,7 @@ # Remove this if you are not planning on using MSI or Azure PowerShell. # Import modules -@('CippCore', 'CippExtensions', 'Az.KeyVault', 'Az.Accounts') | ForEach-Object { +@('CIPPCore', 'CippExtensions', 'Az.KeyVault', 'Az.Accounts') | ForEach-Object { try { $Module = $_ Import-Module -Name $_ -ErrorAction Stop @@ -26,7 +26,7 @@ if ($env:ExternalDurablePowerShellSDK -eq $true) { try { Import-Module AzureFunctions.PowerShell.Durable.SDK -ErrorAction Stop - Write-Host 'External Durable SDK enabled' + Write-Information 'External Durable SDK enabled' } catch { Write-LogMessage -message 'Failed to import module - AzureFunctions.PowerShell.Durable.SDK' -LogData (Get-CippException -Exception $_) -Sev 'debug' $_.Exception.Message @@ -39,7 +39,7 @@ try { try { if (!$ENV:SetFromProfile) { - Write-Host "We're reloading from KV" + Write-Information "We're reloading from KV" $Auth = Get-CIPPAuthentication } } catch { @@ -49,16 +49,17 @@ try { Set-Location -Path $PSScriptRoot $CurrentVersion = (Get-Content .\version_latest.txt).trim() $Table = Get-CippTable -tablename 'Version' -$LastStartup = Get-CIPPAzDataTableEntity @Table -Filter "PartitionKey eq 'Version' and RowKey eq 'Version'" -if ($CurrentVersion -ne $LastStartup.Version) { - Write-Host "Version has changed from $($LastStartup.Version) to $CurrentVersion" +Write-Information "Function: $($env:WEBSITE_SITE_NAME) Version: $CurrentVersion" +$LastStartup = Get-CIPPAzDataTableEntity @Table -Filter "PartitionKey eq 'Version' and RowKey eq '$($env:WEBSITE_SITE_NAME)'" +if (!$LastStartup -or $CurrentVersion -ne $LastStartup.Version) { + Write-Information "Version has changed from $($LastStartup.Version ?? 'None') to $CurrentVersion" Clear-CippDurables if ($LastStartup) { $LastStartup.Version = $CurrentVersion } else { $LastStartup = [PSCustomObject]@{ PartitionKey = 'Version' - RowKey = 'Version' + RowKey = $env:WEBSITE_SITE_NAME Version = $CurrentVersion } } diff --git a/version_latest.txt b/version_latest.txt index 09b254e90c61..fa09f584d78e 100644 --- a/version_latest.txt +++ b/version_latest.txt @@ -1 +1 @@ -6.0.0 +6.5.2 \ No newline at end of file